gemi 0.157.0 → 0.160.1

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 (251) hide show
  1. package/dist/ai/Agent.d.ts +231 -55
  2. package/dist/ai/Agent.d.ts.map +1 -1
  3. package/dist/ai/AgentController.d.ts +45 -11
  4. package/dist/ai/AgentController.d.ts.map +1 -1
  5. package/dist/ai/eval/Eval.d.ts +15 -14
  6. package/dist/ai/eval/Eval.d.ts.map +1 -1
  7. package/dist/ai/generate.d.ts +165 -7
  8. package/dist/ai/generate.d.ts.map +1 -1
  9. package/dist/ai/index.d.ts +5 -5
  10. package/dist/ai/index.d.ts.map +1 -1
  11. package/dist/ai/index.js +11 -11
  12. package/dist/ai/index.js.map +4 -4
  13. package/dist/ai/usageMeter.d.ts +149 -6
  14. package/dist/ai/usageMeter.d.ts.map +1 -1
  15. package/dist/app/index.js +1 -1
  16. package/dist/bin/gemi.js +178 -121
  17. package/dist/bin/gemi.js.map +5 -4
  18. package/dist/bun/plugin.js +1 -1
  19. package/dist/bun/preload.js +1 -1
  20. package/dist/{chunk-0v3bca8k.js → chunk-0b8m1f07.js} +3 -3
  21. package/dist/{chunk-0v3bca8k.js.map → chunk-0b8m1f07.js.map} +1 -1
  22. package/dist/{chunk-zv9d6jkj.js → chunk-0gazmssx.js} +2 -2
  23. package/dist/{chunk-zv9d6jkj.js.map → chunk-0gazmssx.js.map} +1 -1
  24. package/dist/{chunk-xff7tkde.js → chunk-0qernzn1.js} +2 -2
  25. package/dist/{chunk-xff7tkde.js.map → chunk-0qernzn1.js.map} +1 -1
  26. package/dist/chunk-0qrbspbe.js +5 -0
  27. package/dist/{chunk-6np1r9gk.js.map → chunk-0qrbspbe.js.map} +1 -1
  28. package/dist/{chunk-517fjfme.js → chunk-0vb4j7cx.js} +3 -3
  29. package/dist/{chunk-517fjfme.js.map → chunk-0vb4j7cx.js.map} +1 -1
  30. package/dist/{chunk-0yjm936b.js → chunk-191gkynh.js} +3 -3
  31. package/dist/{chunk-0yjm936b.js.map → chunk-191gkynh.js.map} +1 -1
  32. package/dist/chunk-1xxh48bd.js +4 -0
  33. package/dist/{chunk-cmt3jw6j.js.map → chunk-1xxh48bd.js.map} +2 -2
  34. package/dist/chunk-27habdva.js +4 -0
  35. package/dist/{chunk-3ndc8adc.js.map → chunk-27habdva.js.map} +2 -2
  36. package/dist/{chunk-qvngsa1c.js → chunk-2ednvght.js} +2 -2
  37. package/dist/{chunk-qvngsa1c.js.map → chunk-2ednvght.js.map} +1 -1
  38. package/dist/chunk-3cvza61a.js +4 -0
  39. package/dist/{chunk-pw5h5935.js.map → chunk-3cvza61a.js.map} +2 -2
  40. package/dist/{chunk-1de3awrh.js → chunk-3d8jxky6.js} +3 -3
  41. package/dist/{chunk-1de3awrh.js.map → chunk-3d8jxky6.js.map} +1 -1
  42. package/dist/chunk-3vmc6adw.js +4 -0
  43. package/dist/{chunk-z7224rhm.js.map → chunk-3vmc6adw.js.map} +2 -2
  44. package/dist/chunk-44ensgdq.js +10 -0
  45. package/dist/{chunk-set6qmjw.js.map → chunk-44ensgdq.js.map} +3 -3
  46. package/dist/{chunk-7yww9aq7.js → chunk-4670xxae.js} +2 -2
  47. package/dist/{chunk-7yww9aq7.js.map → chunk-4670xxae.js.map} +1 -1
  48. package/dist/{chunk-xtqd9vpp.js → chunk-4vqnv41y.js} +2 -2
  49. package/dist/{chunk-xtqd9vpp.js.map → chunk-4vqnv41y.js.map} +1 -1
  50. package/dist/{chunk-exb35whf.js → chunk-4ye6p5yk.js} +2 -2
  51. package/dist/{chunk-exb35whf.js.map → chunk-4ye6p5yk.js.map} +1 -1
  52. package/dist/{chunk-9md6acv2.js → chunk-57qnqcrp.js} +1 -1
  53. package/dist/{chunk-zcg6m7gf.js → chunk-5c6dfy75.js} +2 -2
  54. package/dist/{chunk-zcg6m7gf.js.map → chunk-5c6dfy75.js.map} +1 -1
  55. package/dist/{chunk-t7yt8egz.js → chunk-5pc21syf.js} +3 -3
  56. package/dist/{chunk-t7yt8egz.js.map → chunk-5pc21syf.js.map} +1 -1
  57. package/dist/{chunk-5zxxd7qp.js → chunk-5qzxyj68.js} +1 -1
  58. package/dist/{chunk-pgdxqrjv.js → chunk-664ewdjv.js} +4 -4
  59. package/dist/{chunk-pgdxqrjv.js.map → chunk-664ewdjv.js.map} +2 -2
  60. package/dist/chunk-6d6p0q3p.js +5 -0
  61. package/dist/{chunk-7zy6nq9e.js.map → chunk-6d6p0q3p.js.map} +2 -2
  62. package/dist/{chunk-k1aw97dm.js → chunk-6ytezxzj.js} +2 -2
  63. package/dist/{chunk-78wht1ph.js.map → chunk-6ytezxzj.js.map} +1 -1
  64. package/dist/{chunk-00z7s34q.js → chunk-79nypedr.js} +2 -2
  65. package/dist/{chunk-00z7s34q.js.map → chunk-79nypedr.js.map} +1 -1
  66. package/dist/{chunk-4vnrnbn3.js → chunk-7bc9ypbk.js} +3 -3
  67. package/dist/{chunk-4vnrnbn3.js.map → chunk-7bc9ypbk.js.map} +1 -1
  68. package/dist/{chunk-wg0ttent.js → chunk-7rfw4h2x.js} +3 -3
  69. package/dist/{chunk-wg0ttent.js.map → chunk-7rfw4h2x.js.map} +1 -1
  70. package/dist/{chunk-rrz2ry81.js → chunk-8m3m5hcf.js} +2 -2
  71. package/dist/{chunk-rrz2ry81.js.map → chunk-8m3m5hcf.js.map} +1 -1
  72. package/dist/{chunk-aq5zx3vg.js → chunk-8tyw6faf.js} +2 -2
  73. package/dist/{chunk-aq5zx3vg.js.map → chunk-8tyw6faf.js.map} +1 -1
  74. package/dist/{chunk-p83cjehh.js → chunk-8z29qvvm.js} +3 -3
  75. package/dist/{chunk-p83cjehh.js.map → chunk-8z29qvvm.js.map} +1 -1
  76. package/dist/{chunk-dhq7zv0t.js → chunk-982x8jps.js} +2 -2
  77. package/dist/{chunk-dhq7zv0t.js.map → chunk-982x8jps.js.map} +1 -1
  78. package/dist/{chunk-38kjpa6q.js → chunk-98byy5m4.js} +1 -1
  79. package/dist/{chunk-986eh0n3.js → chunk-9983zmhx.js} +2 -2
  80. package/dist/{chunk-986eh0n3.js.map → chunk-9983zmhx.js.map} +1 -1
  81. package/dist/{chunk-r5y2khw4.js → chunk-9f2ps5v2.js} +2 -2
  82. package/dist/{chunk-r5y2khw4.js.map → chunk-9f2ps5v2.js.map} +1 -1
  83. package/dist/{chunk-q3e1bqrs.js → chunk-bfj2jafb.js} +3 -3
  84. package/dist/{chunk-q3e1bqrs.js.map → chunk-bfj2jafb.js.map} +1 -1
  85. package/dist/{chunk-0vc2akg0.js → chunk-bqxt1she.js} +1 -1
  86. package/dist/{chunk-159j20yr.js → chunk-bzcfw8qd.js} +2 -2
  87. package/dist/{chunk-159j20yr.js.map → chunk-bzcfw8qd.js.map} +1 -1
  88. package/dist/{chunk-jr9qerbr.js → chunk-cb873vjm.js} +2 -2
  89. package/dist/{chunk-jr9qerbr.js.map → chunk-cb873vjm.js.map} +1 -1
  90. package/dist/{chunk-x82f3q6a.js → chunk-cq16azbw.js} +4 -4
  91. package/dist/{chunk-x82f3q6a.js.map → chunk-cq16azbw.js.map} +1 -1
  92. package/dist/{chunk-72f6pbap.js → chunk-csvffxjh.js} +2 -2
  93. package/dist/{chunk-72f6pbap.js.map → chunk-csvffxjh.js.map} +1 -1
  94. package/dist/chunk-ctrmztan.js +4 -0
  95. package/dist/{chunk-42646nt7.js.map → chunk-ctrmztan.js.map} +2 -2
  96. package/dist/{chunk-4t2j3zcg.js → chunk-d249m2ct.js} +2 -2
  97. package/dist/{chunk-4t2j3zcg.js.map → chunk-d249m2ct.js.map} +2 -2
  98. package/dist/{chunk-h3gcxf2k.js → chunk-day21sfa.js} +3 -3
  99. package/dist/{chunk-h3gcxf2k.js.map → chunk-day21sfa.js.map} +1 -1
  100. package/dist/chunk-dvwfhc5n.js +117 -0
  101. package/dist/{chunk-t66ex43f.js.map → chunk-dvwfhc5n.js.map} +10 -9
  102. package/dist/{chunk-78wht1ph.js → chunk-egwz89ze.js} +2 -2
  103. package/dist/{chunk-k1aw97dm.js.map → chunk-egwz89ze.js.map} +1 -1
  104. package/dist/chunk-fcjjd162.js +4 -0
  105. package/dist/{chunk-jrv31jp9.js.map → chunk-fcjjd162.js.map} +2 -2
  106. package/dist/{chunk-rtv4ax8z.js → chunk-g71ppv6x.js} +2 -2
  107. package/dist/{chunk-rtv4ax8z.js.map → chunk-g71ppv6x.js.map} +1 -1
  108. package/dist/{chunk-56a3vnrj.js → chunk-gmeeyg19.js} +3 -3
  109. package/dist/{chunk-56a3vnrj.js.map → chunk-gmeeyg19.js.map} +1 -1
  110. package/dist/{chunk-yzsyg1f7.js → chunk-j144nwvh.js} +3 -3
  111. package/dist/{chunk-yzsyg1f7.js.map → chunk-j144nwvh.js.map} +1 -1
  112. package/dist/{chunk-q7k2hc45.js → chunk-jarsydtr.js} +3 -3
  113. package/dist/{chunk-q7k2hc45.js.map → chunk-jarsydtr.js.map} +1 -1
  114. package/dist/chunk-k43m5dvs.js +4 -0
  115. package/dist/{chunk-69c2s43a.js.map → chunk-k43m5dvs.js.map} +2 -2
  116. package/dist/chunk-kan3yz82.js +5 -0
  117. package/dist/{chunk-3t4nw1n2.js.map → chunk-kan3yz82.js.map} +2 -2
  118. package/dist/{chunk-ah2jy1vx.js → chunk-m4pkbndk.js} +2 -2
  119. package/dist/{chunk-ah2jy1vx.js.map → chunk-m4pkbndk.js.map} +1 -1
  120. package/dist/{chunk-fe12f946.js → chunk-m73mjzeh.js} +2 -2
  121. package/dist/{chunk-fe12f946.js.map → chunk-m73mjzeh.js.map} +1 -1
  122. package/dist/{chunk-9gt9qdge.js → chunk-m8a80sgn.js} +1 -1
  123. package/dist/chunk-mn9v157z.js +6 -0
  124. package/dist/{chunk-ks9t82g0.js.map → chunk-mn9v157z.js.map} +2 -2
  125. package/dist/{chunk-px3ctjxh.js → chunk-msxhf3m6.js} +2 -2
  126. package/dist/{chunk-px3ctjxh.js.map → chunk-msxhf3m6.js.map} +1 -1
  127. package/dist/chunk-p6nkfcn1.js +5 -0
  128. package/dist/{chunk-kwc68y45.js.map → chunk-p6nkfcn1.js.map} +2 -2
  129. package/dist/{chunk-ss3yn4g2.js → chunk-p9syxzxh.js} +3 -3
  130. package/dist/{chunk-ss3yn4g2.js.map → chunk-p9syxzxh.js.map} +1 -1
  131. package/dist/{chunk-yewj83ez.js → chunk-pyyhmeg1.js} +3 -3
  132. package/dist/{chunk-yewj83ez.js.map → chunk-pyyhmeg1.js.map} +1 -1
  133. package/dist/{chunk-nvhbkqmd.js → chunk-qbsk0jr8.js} +2 -2
  134. package/dist/{chunk-nvhbkqmd.js.map → chunk-qbsk0jr8.js.map} +1 -1
  135. package/dist/{chunk-g5d62d1n.js → chunk-qsbtqh47.js} +2 -2
  136. package/dist/{chunk-g5d62d1n.js.map → chunk-qsbtqh47.js.map} +1 -1
  137. package/dist/{chunk-wnjvfmqc.js → chunk-qz9n2e59.js} +3 -3
  138. package/dist/{chunk-wnjvfmqc.js.map → chunk-qz9n2e59.js.map} +1 -1
  139. package/dist/{chunk-qbvm5q1g.js → chunk-rq3wrwfa.js} +1 -1
  140. package/dist/{chunk-8eyxj78g.js → chunk-ryq2ezgt.js} +3 -3
  141. package/dist/{chunk-8eyxj78g.js.map → chunk-ryq2ezgt.js.map} +1 -1
  142. package/dist/{chunk-v10xzpqs.js → chunk-s0xwqcrf.js} +2 -2
  143. package/dist/{chunk-v10xzpqs.js.map → chunk-s0xwqcrf.js.map} +1 -1
  144. package/dist/{chunk-kbdt84xg.js → chunk-szdbsmq7.js} +2 -2
  145. package/dist/{chunk-kbdt84xg.js.map → chunk-szdbsmq7.js.map} +1 -1
  146. package/dist/{chunk-n95dppzm.js → chunk-tsbxdz4h.js} +2 -2
  147. package/dist/{chunk-n95dppzm.js.map → chunk-tsbxdz4h.js.map} +1 -1
  148. package/dist/chunk-ttvzfwqw.js +41 -0
  149. package/dist/chunk-ttvzfwqw.js.map +28 -0
  150. package/dist/chunk-v0gjdknx.js +4 -0
  151. package/dist/{chunk-7426gfgw.js.map → chunk-v0gjdknx.js.map} +2 -2
  152. package/dist/chunk-v8fx4vgq.js +4 -0
  153. package/dist/{chunk-zfbqgzwa.js.map → chunk-v8fx4vgq.js.map} +2 -2
  154. package/dist/{chunk-dce3w52r.js → chunk-vb73ddwz.js} +3 -3
  155. package/dist/{chunk-dce3w52r.js.map → chunk-vb73ddwz.js.map} +1 -1
  156. package/dist/{chunk-xyyq577r.js → chunk-w0rfypzx.js} +2 -2
  157. package/dist/{chunk-xyyq577r.js.map → chunk-w0rfypzx.js.map} +1 -1
  158. package/dist/{chunk-tr8se94g.js → chunk-weyv3zrt.js} +3 -3
  159. package/dist/{chunk-tr8se94g.js.map → chunk-weyv3zrt.js.map} +1 -1
  160. package/dist/{chunk-9kyfaeey.js → chunk-wtddr3vs.js} +2 -2
  161. package/dist/{chunk-9kyfaeey.js.map → chunk-wtddr3vs.js.map} +1 -1
  162. package/dist/{chunk-tzheb6ak.js → chunk-xp7x27n8.js} +3 -3
  163. package/dist/{chunk-tzheb6ak.js.map → chunk-xp7x27n8.js.map} +1 -1
  164. package/dist/{chunk-ycn7w2e9.js → chunk-yzw2tvqq.js} +2 -2
  165. package/dist/{chunk-ycn7w2e9.js.map → chunk-yzw2tvqq.js.map} +1 -1
  166. package/dist/{chunk-wbv6218d.js → chunk-zz2n9pa5.js} +3 -3
  167. package/dist/{chunk-wbv6218d.js.map → chunk-zz2n9pa5.js.map} +1 -1
  168. package/dist/client/index.js +1 -1
  169. package/dist/client/index.js.map +1 -1
  170. package/dist/config/index.js +1 -1
  171. package/dist/console/run.js +2 -2
  172. package/dist/console/run.js.map +1 -1
  173. package/dist/container/index.js +2 -2
  174. package/dist/container/index.js.map +1 -1
  175. package/dist/database/index.js +2 -2
  176. package/dist/database/index.js.map +1 -1
  177. package/dist/email/index.js +2 -2
  178. package/dist/email/index.js.map +1 -1
  179. package/dist/facades/index.js +2 -2
  180. package/dist/facades/index.js.map +1 -1
  181. package/dist/foundation/index.js +2 -2
  182. package/dist/foundation/index.js.map +1 -1
  183. package/dist/http/ApiRouter.d.ts.map +1 -1
  184. package/dist/http/McpRouter.d.ts +203 -6
  185. package/dist/http/McpRouter.d.ts.map +1 -1
  186. package/dist/http/index.d.ts +1 -1
  187. package/dist/http/index.d.ts.map +1 -1
  188. package/dist/http/index.js +2 -2
  189. package/dist/http/index.js.map +1 -1
  190. package/dist/i18n/dictionaryRuntime.js +2 -2
  191. package/dist/i18n/dictionaryRuntime.js.map +1 -1
  192. package/dist/i18n/index.js +2 -2
  193. package/dist/i18n/index.js.map +1 -1
  194. package/dist/kernel/index.js +2 -2
  195. package/dist/kernel/index.js.map +1 -1
  196. package/dist/orm/index.js +2 -2
  197. package/dist/orm/index.js.map +1 -1
  198. package/dist/probe/index.d.ts +79 -0
  199. package/dist/probe/index.d.ts.map +1 -0
  200. package/dist/probe/index.js +8 -0
  201. package/dist/probe/index.js.map +10 -0
  202. package/dist/server/index.js +2 -2
  203. package/dist/server/index.js.map +1 -1
  204. package/dist/services/image-optimization/ImageManager.d.ts +3 -0
  205. package/dist/services/image-optimization/ImageManager.d.ts.map +1 -1
  206. package/dist/services/image-optimization/config.d.ts +12 -0
  207. package/dist/services/image-optimization/config.d.ts.map +1 -1
  208. package/dist/services/image-optimization/fetchSourceImage.d.ts +37 -0
  209. package/dist/services/image-optimization/fetchSourceImage.d.ts.map +1 -0
  210. package/dist/services/index.d.ts +1 -1
  211. package/dist/services/index.d.ts.map +1 -1
  212. package/dist/services/index.js +9 -9
  213. package/dist/services/index.js.map +3 -3
  214. package/dist/services/mcp/McpRegistry.d.ts.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/services/rate-limiter/drivers/RedisRateLimiterDriver.d.ts +95 -13
  218. package/dist/services/rate-limiter/drivers/RedisRateLimiterDriver.d.ts.map +1 -1
  219. package/dist/services/router/ApiRouteDispatcher.d.ts +12 -0
  220. package/dist/services/router/ApiRouteDispatcher.d.ts.map +1 -1
  221. package/dist/services/router/createFlatApiRoutes.d.ts +10 -0
  222. package/dist/services/router/createFlatApiRoutes.d.ts.map +1 -1
  223. package/dist/stats/route-table.js +1 -1
  224. package/dist/support/index.js +2 -2
  225. package/dist/support/index.js.map +1 -1
  226. package/dist/vitest/index.js +1 -1
  227. package/package.json +2 -1
  228. package/dist/chunk-3ndc8adc.js +0 -4
  229. package/dist/chunk-3t4nw1n2.js +0 -5
  230. package/dist/chunk-42646nt7.js +0 -4
  231. package/dist/chunk-69c2s43a.js +0 -4
  232. package/dist/chunk-6np1r9gk.js +0 -5
  233. package/dist/chunk-7426gfgw.js +0 -4
  234. package/dist/chunk-7zy6nq9e.js +0 -5
  235. package/dist/chunk-cmt3jw6j.js +0 -4
  236. package/dist/chunk-jrv31jp9.js +0 -4
  237. package/dist/chunk-ks9t82g0.js +0 -6
  238. package/dist/chunk-kwc68y45.js +0 -5
  239. package/dist/chunk-pw5h5935.js +0 -4
  240. package/dist/chunk-set6qmjw.js +0 -10
  241. package/dist/chunk-t66ex43f.js +0 -117
  242. package/dist/chunk-xp5axyb5.js +0 -30
  243. package/dist/chunk-xp5axyb5.js.map +0 -28
  244. package/dist/chunk-z7224rhm.js +0 -4
  245. package/dist/chunk-zfbqgzwa.js +0 -4
  246. /package/dist/{chunk-9md6acv2.js.map → chunk-57qnqcrp.js.map} +0 -0
  247. /package/dist/{chunk-5zxxd7qp.js.map → chunk-5qzxyj68.js.map} +0 -0
  248. /package/dist/{chunk-38kjpa6q.js.map → chunk-98byy5m4.js.map} +0 -0
  249. /package/dist/{chunk-0vc2akg0.js.map → chunk-bqxt1she.js.map} +0 -0
  250. /package/dist/{chunk-9gt9qdge.js.map → chunk-m8a80sgn.js.map} +0 -0
  251. /package/dist/{chunk-qbvm5q1g.js.map → chunk-rq3wrwfa.js.map} +0 -0
@@ -1,6 +1,7 @@
1
1
  import type { AgentProvider } from "./AgentProvider";
2
2
  import type { GenerateImageParams, ImageInput, ImageModel } from "./ImageModel";
3
3
  import { type GenerateParams, type GenerateResult, type GenerateSuccess } from "./generate";
4
+ import { type UsageMeter, type UsageTotals } from "./usageMeter";
4
5
  import type { ErrorRedactor } from "./redact";
5
6
  import type { Infer, Schema } from "./Schema";
6
7
  import { type JobHandle, type RunJobs, type ToolJobs } from "./jobs/AgentJob";
@@ -36,10 +37,13 @@ import type { AgentError, AgentMessage, AgentStreamEvent, AgentStreamFrame, Clie
36
37
  * caller now says that directly. `AgentController` builds it from its request
37
38
  * in `context()`; a job builds it from its payload.
38
39
  *
39
- * ONE SHAPE FOR THE APP, NOT ONE PER AGENT. Tools are module-scope singletons
40
- * that any agent may mount, so there is no agent whose type a tool could be
41
- * checked against. A field only some runs have is optional, and the tool that
42
- * needs it checks.
40
+ * THE APP-WIDE DEFAULT, NOT THE ONLY SHAPE (#1019). This interface is what a
41
+ * tool's `ctx.context` is when the tool does not say otherwise, so an app that
42
+ * augments it keeps working unchanged. An agent can declare a context of its
43
+ * own instead: `Agent.withContext<Ctx>()` binds `Ctx` for its tools and the
44
+ * agent, the agent carries it (`ContextOf<A>`), and its controller's
45
+ * `context()` must return it. Typed that way, a field one agent needs is not
46
+ * an optional field every agent's tools have to check. See `withContext`.
43
47
  *
44
48
  * TRUSTED. Unlike `ctx.body`, nothing here came from the client unless the
45
49
  * caller put it there: it is what the server decided the run is for.
@@ -51,10 +55,10 @@ export interface AgentContext {
51
55
  * optional when it has none — so an app that never declares one is not made to
52
56
  * pass `{}`, and an app that does cannot start a run that forgets it.
53
57
  */
54
- type ContextParam = {} extends AgentContext ? {
55
- context?: AgentContext;
58
+ type ContextParam<Ctx = AgentContext> = {} extends Ctx ? {
59
+ context?: Ctx;
56
60
  } : {
57
- context: AgentContext;
61
+ context: Ctx;
58
62
  };
59
63
  /**
60
64
  * Everything a tool needs from the run it is part of.
@@ -65,15 +69,18 @@ type ContextParam = {} extends AgentContext ? {
65
69
  * as an argument instead: the tool stays a singleton and the context is per
66
70
  * call.
67
71
  */
68
- export interface ToolContext {
72
+ export interface ToolContext<Ctx = AgentContext> {
69
73
  /**
70
74
  * What the caller of `Agent.stream` handed the run. See `AgentContext`.
75
+ * Typed as the tool's own `Ctx` when it declares one (`withContext`), and as
76
+ * the app's `AgentContext` otherwise.
71
77
  *
72
- * The same object for every tool of the run and every sub-run started with
73
- * `ctx.runAgent` — a sub-agent acts for the same caller, so it is given the
74
- * same one. `{}` for a run started without one.
78
+ * The same object for every tool of the run, and for every sub-run started
79
+ * with `ctx.runAgent` that is not given a `context` of its own — a sub-agent
80
+ * acts for the same caller, so by default it is given the same one. `{}` for
81
+ * a run started without one.
75
82
  */
76
- context: AgentContext;
83
+ context: Ctx;
77
84
  /**
78
85
  * The app's own fields from the turn's request body — what `useChat`'s
79
86
  * `body` option sent, minus the keys the turn envelope owns.
@@ -210,7 +217,7 @@ export interface ToolContext {
210
217
  * makes; it is written here in plain words rather than solved with a
211
218
  * checkpoint API, because that is a much larger feature than this one.
212
219
  */
213
- runAgent<A extends AnyAgent>(agent: A, params?: RunAgentParams): Promise<NestedRunResult>;
220
+ runAgent<A extends AnyAgent>(agent: A, ...params: RunAgentArgs<Ctx, ContextOf<A>>): Promise<NestedRunResult>;
214
221
  /**
215
222
  * One model call with an output schema, from inside this tool: `generate`,
216
223
  * bound to the turn. For a typed answer that needs no tools — where a
@@ -244,10 +251,10 @@ export interface ToolContext {
244
251
  * unlike `runAgent` and `generateImage`, which replay from what they recorded
245
252
  * on the tool call. This records nothing, by design.
246
253
  */
247
- generate<O extends Schema<any>>(params: GenerateParams<O> & {
254
+ generate<O extends Schema<any>, R = Infer<O>>(params: GenerateParams<O, R> & {
248
255
  throwOnError: true;
249
- }): Promise<GenerateSuccess<Infer<O>>>;
250
- generate<O extends Schema<any>>(params: GenerateParams<O>): Promise<GenerateResult<Infer<O>>>;
256
+ }): Promise<GenerateSuccess<R>>;
257
+ generate<O extends Schema<any>, R = Infer<O>>(params: GenerateParams<O, R>): Promise<GenerateResult<R, Infer<O>>>;
251
258
  /**
252
259
  * Renders an image and parks it, in one step, wired into this tool call.
253
260
  *
@@ -303,6 +310,18 @@ export interface ToolContext {
303
310
  * memory in this conversation". See `ToolMemory`.
304
311
  */
305
312
  memory: ToolMemory;
313
+ /**
314
+ * The run's usage meter (#1021): every model call of the run, its tools'
315
+ * `generate`s and images and its sub-runs, each priced at its own model's
316
+ * prices (`Usage.configure`), plus costs added here.
317
+ *
318
+ * ctx.meter.add("browser", BROWSER_SESSION_COST);
319
+ *
320
+ * `add` counts for this run, the runs above it and any `Usage.meter` the
321
+ * run started in. `totals()` is what the run has spent so far; the final
322
+ * figures are on `result.metered`. See `UsageMeter`.
323
+ */
324
+ meter: UsageMeter;
306
325
  }
307
326
  /** What an image parked by a tool answers. See `ToolContext.generateImage`. */
308
327
  export type GeneratedAttachment = {
@@ -391,8 +410,29 @@ export interface ToolTurn {
391
410
  */
392
411
  readonly attachments: readonly string[];
393
412
  }
413
+ /**
414
+ * `ctx.runAgent`'s second argument: optional while this tool's context also
415
+ * satisfies the sub-agent's (the sub-run is handed the same one), and required,
416
+ * with a `context` of the sub-agent's type, when it does not.
417
+ */
418
+ export type RunAgentArgs<Parent, Sub> = [Parent] extends [Sub] ? [params?: RunAgentParams<Sub>] : [params: RunAgentParams<Sub> & {
419
+ context: Sub;
420
+ }];
394
421
  /** What `ctx.runAgent` is given. `messages` and `prompt` are alternatives. */
395
- export interface RunAgentParams {
422
+ export interface RunAgentParams<Ctx = AgentContext> {
423
+ /**
424
+ * The sub-run's context, in place of the parent's (#1019). Omitted, the
425
+ * sub-run is handed the parent run's own, which is what a sub-agent with the
426
+ * same context wants. Required by the types when the sub-agent declares a
427
+ * context the calling tool's does not satisfy (see `withContext`): build it
428
+ * from `ctx.context`, e.g. `{ pageId: ctx.context.pageId, draw: ... }`.
429
+ *
430
+ * Only the context changes: the sub-run still inherits the attachments,
431
+ * body, subject, memory scopes and signal, because it still acts for the
432
+ * same caller. On a replay after an escalation the tool body runs again and
433
+ * passes it again, so nothing about it is persisted.
434
+ */
435
+ context?: Ctx;
396
436
  /** Prior turns for the sub-agent. Starts empty when omitted. */
397
437
  messages?: AgentMessage[];
398
438
  /** Sugar for a single user turn — the common case, and the whole message
@@ -479,8 +519,8 @@ export declare class PendingEscalation extends Error {
479
519
  * What a per-run `inputSchema` is resolved from: the run's caller and the
480
520
  * app's request body, the same `context` and `body` its tools are given.
481
521
  */
482
- export interface ToolSchemaContext {
483
- context: AgentContext;
522
+ export interface ToolSchemaContext<Ctx = AgentContext> {
523
+ context: Ctx;
484
524
  /** CLIENT-CONTROLLED, exactly as `ToolContext.body` is. */
485
525
  body: Record<string, unknown>;
486
526
  runId: string;
@@ -503,14 +543,14 @@ export interface ToolSchemaContext {
503
543
  * A resolver that throws, or returns a non-object schema, fails the run with
504
544
  * `tool_error` before anything is sent to the provider.
505
545
  */
506
- export type ToolInputSchema<Input> = Schema<Input> | ((ctx: ToolSchemaContext) => Schema<Input> | Promise<Schema<Input>>);
546
+ export type ToolInputSchema<Input, Ctx = AgentContext> = Schema<Input> | ((ctx: ToolSchemaContext<Ctx>) => Schema<Input> | Promise<Schema<Input>>);
507
547
  /**
508
548
  * What a `requiresApproval` function is given beside the call's input: the
509
549
  * run's caller and request body, the same `context` and `body` the tool's
510
550
  * `execute` gets, and which call of the run this is.
511
551
  */
512
- export interface ToolApprovalContext {
513
- context: AgentContext;
552
+ export interface ToolApprovalContext<Ctx = AgentContext> {
553
+ context: Ctx;
514
554
  /** CLIENT-CONTROLLED, exactly as `ToolContext.body` is. */
515
555
  body: Record<string, unknown>;
516
556
  runId: string;
@@ -544,12 +584,12 @@ export interface ToolApprovalContext {
544
584
  * Answering a pending call does not call it again: the user was asked, and
545
585
  * their answer stands even if the setting changed in between.
546
586
  */
547
- export type ToolApproval<Input> = boolean | ((input: Input, ctx: ToolApprovalContext) => boolean | Promise<boolean>);
587
+ export type ToolApproval<Input, Ctx = AgentContext> = boolean | ((input: Input, ctx: ToolApprovalContext<Ctx>) => boolean | Promise<boolean>);
548
588
  /**
549
589
  * What an `endsRun` function is given beside the call's output: the call's
550
590
  * input, and the same run facts `requiresApproval`'s function gets.
551
591
  */
552
- export interface ToolEndsRunContext<Input = unknown> extends ToolApprovalContext {
592
+ export interface ToolEndsRunContext<Input = unknown, Ctx = AgentContext> extends ToolApprovalContext<Ctx> {
553
593
  /** The call's input, as the tool's `execute` received it. */
554
594
  input: Input;
555
595
  }
@@ -562,7 +602,7 @@ export interface ToolEndsRunContext<Input = unknown> extends ToolApprovalContext
562
602
  * run with that string as the closing text, `true` (or `""`) ends it with
563
603
  * none, and `false`, `null` or `undefined` carries on as usual.
564
604
  */
565
- export type ToolEndsRun<Input, Output> = boolean | ((output: Output, ctx: ToolEndsRunContext<Input>) => string | boolean | null | undefined | Promise<string | boolean | null | undefined>);
605
+ export type ToolEndsRun<Input, Output, Ctx = AgentContext> = boolean | ((output: Output, ctx: ToolEndsRunContext<Input, Ctx>) => string | boolean | null | undefined | Promise<string | boolean | null | undefined>);
566
606
  /**
567
607
  * A tool either resolves once, or yields progress and then returns.
568
608
  *
@@ -571,13 +611,13 @@ export type ToolEndsRun<Input, Output> = boolean | ((output: Output, ctx: ToolEn
571
611
  * seconds looks broken. Yields become `tool-progress` events; the return value
572
612
  * is the result the model sees.
573
613
  */
574
- export type ToolExecute<Input, Output, Progress = unknown> = (input: Input, ctx: ToolContext) => Promise<Output | JobHandle<Output>> | AsyncGenerator<Progress, Output | JobHandle<Output>, void>;
575
- type ToolDefinitionBase<Name extends string, Input, Output> = {
614
+ export type ToolExecute<Input, Output, Progress = unknown, Ctx = AgentContext> = (input: Input, ctx: ToolContext<Ctx>) => Promise<Output | JobHandle<Output>> | AsyncGenerator<Progress, Output | JobHandle<Output>, void>;
615
+ type ToolDefinitionBase<Name extends string, Input, Output, Ctx = AgentContext> = {
576
616
  name: Name;
577
617
  /** The model's only description of when to reach for this. */
578
618
  description: string;
579
619
  /** A schema, or a function resolving one per run. See `ToolInputSchema`. */
580
- inputSchema: ToolInputSchema<Input>;
620
+ inputSchema: ToolInputSchema<Input, Ctx>;
581
621
  /**
582
622
  * Optional for a server tool, required for a client one — there it is what
583
623
  * the answer is validated against before the model sees it, and what types
@@ -642,11 +682,11 @@ type ToolDefinitionBase<Name extends string, Input, Output> = {
642
682
  * reason there is no second endpoint — an approval is a question whose answer
643
683
  * happens to be yes or no.
644
684
  */
645
- export type ToolDefinition<Name extends string, Input, Output, Progress = never> = (ToolDefinitionBase<Name, Input, Output> & {
685
+ export type ToolDefinition<Name extends string, Input, Output, Progress = never, Ctx = AgentContext> = (ToolDefinitionBase<Name, Input, Output, Ctx> & {
646
686
  answeredBy?: "server";
647
- execute: ToolExecute<Input, Output, Progress>;
687
+ execute: ToolExecute<Input, Output, Progress, Ctx>;
648
688
  /** Ask the user first: always, never, or per call. See `ToolApproval`. */
649
- requiresApproval?: ToolApproval<Input>;
689
+ requiresApproval?: ToolApproval<Input, Ctx>;
650
690
  /**
651
691
  * Ends the run after a successful call of this tool, instead of asking
652
692
  * the model again (#974). For a tool whose result already is the answer:
@@ -671,8 +711,8 @@ export type ToolDefinition<Name extends string, Input, Output, Progress = never>
671
711
  * so a sub-agent's tool ends the sub-run, not its parent. A function that
672
712
  * throws is logged and read as "carry on". See `ToolEndsRun`.
673
713
  */
674
- endsRun?: ToolEndsRun<Input, Output>;
675
- }) | (ToolDefinitionBase<Name, Input, Output> & {
714
+ endsRun?: ToolEndsRun<Input, Output, Ctx>;
715
+ }) | (ToolDefinitionBase<Name, Input, Output, Ctx> & {
676
716
  answeredBy: "client";
677
717
  outputSchema: Schema<Output>;
678
718
  execute?: never;
@@ -681,6 +721,8 @@ export type ToolDefinition<Name extends string, Input, Output, Progress = never>
681
721
  /** Server tools only: a client's answer arrives on a later turn. */
682
722
  endsRun?: never;
683
723
  });
724
+ /** Phantom key of `AgentTool`'s context. Never set at runtime. */
725
+ declare const TOOL_CONTEXT: unique symbol;
684
726
  /**
685
727
  * `Progress` is inferred, never written down.
686
728
  *
@@ -697,11 +739,16 @@ export type ToolDefinition<Name extends string, Input, Output, Progress = never>
697
739
  * `AsyncGenerator<Progress, …>`, so a bound of `never` would make every
698
740
  * yielding tool fail the `Extract` in `ToolShapesOf` and silently vanish from
699
741
  * the shapes.
742
+ *
743
+ * `Ctx` is the context the tool reads as `ctx.context` (#1019): the app's
744
+ * `AgentContext` unless the tool says otherwise, with `withContext<Ctx>().tool`
745
+ * or an annotated `execute(input, ctx: ToolContext<Ctx>)`. An agent holding
746
+ * the tool has to supply it. See `ContextOf`.
700
747
  */
701
- export declare class AgentTool<Name extends string = string, Input = unknown, Output = unknown, Progress = never> {
748
+ export declare class AgentTool<Name extends string = string, Input = unknown, Output = unknown, Progress = never, Ctx = AgentContext> {
702
749
  readonly name: Name;
703
750
  readonly description: string;
704
- readonly inputSchema: ToolInputSchema<Input>;
751
+ readonly inputSchema: ToolInputSchema<Input, Ctx>;
705
752
  readonly outputSchema?: Schema<Output>;
706
753
  /**
707
754
  * Whether a call of this tool may ask the user first: `true` for
@@ -713,11 +760,11 @@ export declare class AgentTool<Name extends string = string, Input = unknown, Ou
713
760
  * The function form of `requiresApproval`, deciding per call. Absent for a
714
761
  * tool that always or never asks. See `ToolApproval`.
715
762
  */
716
- readonly approvalPredicate?: (input: Input, ctx: ToolApprovalContext) => boolean | Promise<boolean>;
763
+ readonly approvalPredicate?: (input: Input, ctx: ToolApprovalContext<Ctx>) => boolean | Promise<boolean>;
717
764
  readonly deferred: boolean;
718
765
  readonly answeredBy: "server" | "client";
719
766
  /** See `ToolDefinition.endsRun`. `undefined` for a tool that never ends the run. */
720
- readonly endsRun?: ToolEndsRun<Input, Output>;
767
+ readonly endsRun?: ToolEndsRun<Input, Output, Ctx>;
721
768
  /** See `ToolDefinition.timeoutMs`. `undefined` is no limit of its own. */
722
769
  readonly timeoutMs?: number;
723
770
  /** See `ToolDefinition.async`. `undefined` for a tool that cannot start a job. */
@@ -732,27 +779,36 @@ export declare class AgentTool<Name extends string = string, Input = unknown, Ou
732
779
  * avoids. Where a tool sits is a property of the agent, and it lives on the
733
780
  * agent's `ResolvedTool`.
734
781
  */
735
- readonly execute?: ToolExecute<Input, Output, Progress>;
782
+ readonly execute?: ToolExecute<Input, Output, Progress, Ctx>;
783
+ /**
784
+ * Phantom: the context the tool needs, in a position `ContextOf` can read it
785
+ * back from. A parameter, so a tool that needs less fits an agent that
786
+ * supplies more.
787
+ */
788
+ readonly [TOOL_CONTEXT]?: (context: Ctx) => void;
736
789
  private constructor();
737
790
  /**
738
791
  * `const` on the params is what preserves `name` as a literal, which is what
739
792
  * lets the browser discriminate a tool part by name.
740
793
  */
741
- static create<const Name extends string, Input, Output, Progress = never>(params: ToolDefinition<Name, Input, Output, Progress>): AgentTool<Name, Input, Output, Progress>;
794
+ static create<const Name extends string, Input, Output, Progress = never, Ctx = AgentContext>(params: ToolDefinition<Name, Input, Output, Progress, Ctx>): AgentTool<Name, Input, Output, Progress, Ctx>;
742
795
  /**
743
796
  * Sugar for the common client tool: the agent asks the user something and
744
797
  * waits. Equivalent to `answeredBy: "client"` with an input schema of one
745
798
  * prompt field.
799
+ *
800
+ * It reads no context (the browser answers it), so it needs none: `Ctx` is
801
+ * `unknown`, and it fits any agent.
746
802
  */
747
- static ask<const Name extends string, Output>(params: {
803
+ static ask<const Name extends string, Output, Ctx = unknown>(params: {
748
804
  name: Name;
749
805
  description: string;
750
806
  outputSchema: Schema<Output>;
751
807
  }): AgentTool<Name, {
752
808
  question: string;
753
- }, Output>;
809
+ }, Output, never, Ctx>;
754
810
  }
755
- export type AnyAgentTool = AgentTool<string, any, any, any>;
811
+ export type AnyAgentTool = AgentTool<string, any, any, any, any>;
756
812
  /**
757
813
  * A group of tools the model can search as a unit.
758
814
  *
@@ -816,7 +872,7 @@ export type ToolShapesOf<T extends readonly ToolEntry[]> = ShapesOf<NamedTools<E
816
872
  */
817
873
  type NamedTools<K> = K extends AnyAgentTool ? (string extends K["name"] ? never : K) : never;
818
874
  type ShapesOf<U extends AnyAgentTool> = {
819
- [K in U as K["name"]]: K extends AgentTool<any, infer I, infer O, infer P> ? {
875
+ [K in U as K["name"]]: K extends AgentTool<any, infer I, infer O, infer P, any> ? {
820
876
  input: I;
821
877
  output: O;
822
878
  progress: P;
@@ -883,7 +939,7 @@ export declare const SKILLS_NAMESPACE = "skills";
883
939
  * dropped, since there is nothing to turn off.
884
940
  */
885
941
  export type ReasoningEffort = "none" | "minimal" | "low" | "medium" | "high" | "xhigh" | "max" | (string & {});
886
- export interface CreateAgentParams<T extends readonly ToolEntry[], S extends readonly Skill[], O extends Schema<any> | undefined, M extends AgentMemoryOptions | false = false> {
942
+ export interface CreateAgentParams<T extends readonly ToolEntry[], S extends readonly Skill[], O extends Schema<any> | undefined, M extends AgentMemoryOptions | false = false, Ctx = AgentContext> {
887
943
  name: string;
888
944
  /** The system prompt. Per-request additions belong on the controller, which
889
945
  * has the request; this is the part that is the same for everyone. */
@@ -1003,7 +1059,7 @@ export interface CreateAgentParams<T extends readonly ToolEntry[], S extends rea
1003
1059
  * about to be sent (after `contextWindow`), and may answer other ones, or
1004
1060
  * other instructions, for that call alone. See `PrepareStep`.
1005
1061
  */
1006
- prepareStep?: PrepareStep;
1062
+ prepareStep?: PrepareStep<Ctx>;
1007
1063
  /**
1008
1064
  * Background jobs (#461). `contextBlock` bounds the `<jobs>` block the
1009
1065
  * controller adds to the system prompt on a thread with jobs: 20 by
@@ -1024,7 +1080,7 @@ export interface CreateAgentParams<T extends readonly ToolEntry[], S extends rea
1024
1080
  /**
1025
1081
  * What `prepareStep` is told before a model call.
1026
1082
  */
1027
- export type PrepareStepContext = {
1083
+ export type PrepareStepContext<Ctx = AgentContext> = {
1028
1084
  /** 1 for the run's first model call, 2 for the one after its tools ran, … */
1029
1085
  step: number;
1030
1086
  /**
@@ -1064,7 +1120,7 @@ export type PrepareStepContext = {
1064
1120
  agent: string;
1065
1121
  /** 0 for a run started at the top, 1 for a sub-run of one of its tools, … */
1066
1122
  depth: number;
1067
- context: AgentContext;
1123
+ context: Ctx;
1068
1124
  signal: AbortSignal;
1069
1125
  };
1070
1126
  /**
@@ -1103,7 +1159,7 @@ export type PrepareStepResult = {
1103
1159
  * per call, a summary in place of older turns, a note. Keep it deterministic
1104
1160
  * for the same history and the provider's prompt cache keeps working.
1105
1161
  */
1106
- export type PrepareStep = (ctx: PrepareStepContext) => PrepareStepResult | void | Promise<PrepareStepResult | void>;
1162
+ export type PrepareStep<Ctx = AgentContext> = (ctx: PrepareStepContext<Ctx>) => PrepareStepResult | void | Promise<PrepareStepResult | void>;
1107
1163
  /**
1108
1164
  * How long a run may take when its agent does not say. See
1109
1165
  * `CreateAgentParams.maxRunDurationMs`.
@@ -1114,8 +1170,8 @@ export declare const DEFAULT_MAX_RUN_DURATION_MS: number;
1114
1170
  * approval take the same path, because they are the same thing: the next turn
1115
1171
  * of a conversation.
1116
1172
  */
1117
- export type AgentStreamParams = AgentStreamParamsBase & ContextParam;
1118
- interface AgentStreamParamsBase {
1173
+ export type AgentStreamParams<Ctx = AgentContext> = AgentStreamParamsBase<Ctx> & ContextParam<Ctx>;
1174
+ interface AgentStreamParamsBase<Ctx = AgentContext> {
1119
1175
  /** Prior turns. The controller loads these from its store, or takes what the
1120
1176
  * client sent when running stateless. */
1121
1177
  messages: AgentMessage[];
@@ -1174,7 +1230,7 @@ interface AgentStreamParamsBase {
1174
1230
  * handed down to a sub-run. `AgentController` sets this from its
1175
1231
  * `prepareStep` method.
1176
1232
  */
1177
- prepareStep?: PrepareStep;
1233
+ prepareStep?: PrepareStep<Ctx>;
1178
1234
  /**
1179
1235
  * Where `contextWindow.compact` keeps this thread's summaries, unless the
1180
1236
  * window names its own `store`. `AgentController` passes its `AgentStore`
@@ -1355,6 +1411,14 @@ export type AgentRunResult<T extends ToolShapes, O> = {
1355
1411
  messages: AgentMessage<T, O>[];
1356
1412
  finishReason: FinishReason;
1357
1413
  usage: Usage;
1414
+ /**
1415
+ * What the run's meter counted (#1021): `usage` again, with costs, by model
1416
+ * and by label. Unlike `usage`, each model call is priced at its own
1417
+ * model's prices, so a run that drew images or ran a sub-agent on another
1418
+ * model is priced right. Always set by a run; optional so a result built by
1419
+ * hand (a stub, a replay) still typechecks.
1420
+ */
1421
+ metered?: UsageTotals;
1358
1422
  /** Set when the agent declares an `output` schema and the run finished. */
1359
1423
  output?: O;
1360
1424
  /**
@@ -1393,8 +1457,21 @@ export declare class AgentRunError extends Error {
1393
1457
  readonly toolCallId?: string;
1394
1458
  readonly runId: string;
1395
1459
  readonly result: AgentRunResult<ToolShapes, unknown>;
1460
+ /**
1461
+ * From `generate({ validate, throwOnError: true })` whose answers never
1462
+ * passed: the last one `validate` rejected, and its problems.
1463
+ */
1464
+ readonly rejected?: {
1465
+ output: unknown;
1466
+ problems: string[];
1467
+ };
1396
1468
  constructor(result: AgentRunResult<ToolShapes, unknown> & {
1397
1469
  error: AgentRunFailure;
1470
+ }, extra?: {
1471
+ rejected?: {
1472
+ output: unknown;
1473
+ problems: string[];
1474
+ };
1398
1475
  });
1399
1476
  }
1400
1477
  /**
@@ -1445,7 +1522,73 @@ export type AgentToolShapes<A extends AnyAgent> = ToolShapesWithMemory<A["tools"
1445
1522
  type ToolShapesWithMemory<T extends readonly ToolEntry[], M> = [M] extends [false] ? ToolShapesOf<T> : [M] extends [{
1446
1523
  tools: false;
1447
1524
  }] ? ToolShapesOf<T> : ToolShapesOf<T> & MemoryToolShapes;
1448
- export declare class Agent<T extends readonly ToolEntry[] = readonly ToolEntry[], S extends readonly Skill[] = readonly Skill[], O extends Schema<any> | undefined = undefined, M extends AgentMemoryOptions | false = false> {
1525
+ /** Phantom key of `Agent`'s context. Never set at runtime. */
1526
+ declare const AGENT_CONTEXT: unique symbol;
1527
+ /**
1528
+ * The context an agent's runs are given, which its controller's `context()`
1529
+ * returns and `agent.stream({ context })` takes (#1019).
1530
+ *
1531
+ * The `Ctx` the agent was made with by `withContext<Ctx>().agent(...)`, or,
1532
+ * for `Agent.create`, what its tools need (`ContextOfTools`). The app's
1533
+ * `AgentContext` for an agent whose tools declare nothing, which is every
1534
+ * agent written before typed contexts.
1535
+ */
1536
+ export type ContextOf<A> = A extends {
1537
+ readonly [AGENT_CONTEXT]?: (context: infer C) => void;
1538
+ } ? C : AgentContext;
1539
+ type ToolContextBox<E> = E extends {
1540
+ readonly [TOOL_CONTEXT]?: (context: infer C) => void;
1541
+ } ? 0 extends 1 & C ? never : {
1542
+ context: C;
1543
+ } : never;
1544
+ type UnionToIntersection<U> = (U extends unknown ? (u: U) => void : never) extends (i: infer I) => void ? I : never;
1545
+ /**
1546
+ * What the tools need together, `unknown` when that is nothing: no tools, a
1547
+ * question for the user (`AgentTool.ask`, which reads no context), or tools
1548
+ * typed `any`.
1549
+ */
1550
+ type ToolsNeed<T extends readonly ToolEntry[]> = [ToolContextBox<FlattenTools<T>>] extends [never] ? unknown : UnionToIntersection<ToolContextBox<FlattenTools<T>>> extends {
1551
+ context: infer C;
1552
+ } ? C : unknown;
1553
+ /**
1554
+ * What a list of tools needs from the run, together: the intersection of each
1555
+ * tool's context (namespaces flattened). A tool with no context of its own
1556
+ * needs the app's `AgentContext`, and a list that declares nothing needs just
1557
+ * that. An agent made by `Agent.create` gets this as its context.
1558
+ */
1559
+ export type ContextOfTools<T extends readonly ToolEntry[]> = unknown extends ToolsNeed<T> ? AgentContext : ToolsNeed<T>;
1560
+ /**
1561
+ * What `withContext` checks of an agent's tools: that `Ctx` gives each of them
1562
+ * what it reads. When it does not, the agent's params get a required member
1563
+ * whose name says so and whose type is what the tools need, which is where
1564
+ * the compiler's message points.
1565
+ */
1566
+ type ToolsFit<T extends readonly ToolEntry[], Ctx> = [Ctx] extends [ToolsNeed<T>] ? unknown : {
1567
+ "a tool of this agent needs more context than its Ctx": ToolsNeed<T>;
1568
+ };
1569
+ /**
1570
+ * `AgentTool.create`, `AgentTool.ask` and `Agent.create` with the context
1571
+ * bound: what `withContext<Ctx>()` answers. See `withContext`.
1572
+ */
1573
+ export interface AgentContextKit<Ctx> {
1574
+ /** `AgentTool.create`, whose `ctx.context` is `Ctx`. */
1575
+ tool<const Name extends string, Input, Output, Progress = never>(params: ToolDefinition<Name, Input, Output, Progress, Ctx>): AgentTool<Name, Input, Output, Progress, Ctx>;
1576
+ /** `AgentTool.ask`, typed for agents of this context. */
1577
+ ask<const Name extends string, Output>(params: {
1578
+ name: Name;
1579
+ description: string;
1580
+ outputSchema: Schema<Output>;
1581
+ }): AgentTool<Name, {
1582
+ question: string;
1583
+ }, Output, never, Ctx>;
1584
+ /**
1585
+ * `Agent.create`, for an agent whose runs are given `Ctx`. Each of its tools
1586
+ * must read no more than `Ctx` gives it: a tool made for another context is
1587
+ * a compile error here, not an `undefined` in its body.
1588
+ */
1589
+ agent<const T extends readonly ToolEntry[], const S extends readonly Skill[], O extends Schema<any> | undefined = undefined, const M extends AgentMemoryOptions | false = false>(params: CreateAgentParams<T, S, O, M, Ctx> & ToolsFit<T, Ctx>): Agent<T, S, O, M, Ctx>;
1590
+ }
1591
+ export declare class Agent<T extends readonly ToolEntry[] = readonly ToolEntry[], S extends readonly Skill[] = readonly Skill[], O extends Schema<any> | undefined = undefined, M extends AgentMemoryOptions | false = false, Ctx = ContextOfTools<T>> {
1449
1592
  readonly name: string;
1450
1593
  readonly tools: T;
1451
1594
  readonly skills: S;
@@ -1466,12 +1609,45 @@ export declare class Agent<T extends readonly ToolEntry[] = readonly ToolEntry[]
1466
1609
  /** See `CreateAgentParams.memory`. `undefined` for an agent without memory. */
1467
1610
  readonly memory: AgentMemoryOptions | undefined;
1468
1611
  readonly [AGENT_MEMORY]?: M;
1612
+ /** Phantom: the agent's context, for `ContextOf`. See `withContext`. */
1613
+ readonly [AGENT_CONTEXT]?: (context: Ctx) => void;
1469
1614
  private readonly config;
1470
1615
  private constructor();
1471
- static create<const T extends readonly ToolEntry[], const S extends readonly Skill[], O extends Schema<any> | undefined = undefined, const M extends AgentMemoryOptions | false = false>(params: CreateAgentParams<T, S, O, M>): Agent<T, S, O, M>;
1472
- stream(params: AgentStreamParams): AgentRun<ToolShapesWithMemory<T, M>, OutputOf<O>>;
1616
+ /**
1617
+ * Binds a context type for an agent and its tools (#1019): answers
1618
+ * `AgentTool.create`, `AgentTool.ask` and `Agent.create` whose `ctx.context`
1619
+ * is `Ctx`, so the agent declares what its runs need (data and functions)
1620
+ * and its controller's `context()` has to build exactly that.
1621
+ *
1622
+ * ```ts
1623
+ * type PageContext = { pageId: string; edit(instruction: string): Promise<string> };
1624
+ * const page = Agent.withContext<PageContext>();
1625
+ *
1626
+ * const editTool = page.tool({
1627
+ * name: "edit",
1628
+ * description: "Edit the page",
1629
+ * inputSchema: s.object({ instruction: s.string() }),
1630
+ * execute: ({ instruction }, ctx) => ctx.context.edit(instruction),
1631
+ * });
1632
+ * const pageAgent = page.agent({ name: "page", provider, tools: [editTool] });
1633
+ * ```
1634
+ *
1635
+ * A kit rather than `Agent.create<Ctx>(...)` because TypeScript cannot infer
1636
+ * some type arguments and take others: naming `Ctx` there would mean naming
1637
+ * the tool tuple too, or losing it, and with it the client's typed tool
1638
+ * parts. Nothing happens at runtime: the kit's functions are the ones it
1639
+ * names.
1640
+ */
1641
+ static withContext<Ctx>(): AgentContextKit<Ctx>;
1642
+ /**
1643
+ * The agent's context is what its tools need together (`ContextOfTools`):
1644
+ * the app's `AgentContext` while none declares one. `withContext` names it
1645
+ * instead.
1646
+ */
1647
+ static create<const T extends readonly ToolEntry[], const S extends readonly Skill[], O extends Schema<any> | undefined = undefined, const M extends AgentMemoryOptions | false = false>(params: CreateAgentParams<T, S, O, M, ContextOfTools<T>>): Agent<T, S, O, M, ContextOfTools<T>>;
1648
+ stream(params: AgentStreamParams<Ctx>): AgentRun<ToolShapesWithMemory<T, M>, OutputOf<O>>;
1473
1649
  }
1474
1650
  export type OutputOf<O> = O extends Schema<any> ? Infer<O> : never;
1475
- export type AnyAgent = Agent<any, any, any, any>;
1651
+ export type AnyAgent = Agent<any, any, any, any, any>;
1476
1652
  export { injectedMessageIds };
1477
1653
  //# sourceMappingURL=Agent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../ai/Agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../ai/Agent.ts"],"names":[],"mappings":"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"}