experimental-a2 0.16.0 → 0.17.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 (334) hide show
  1. package/CHANGELOG.md +360 -0
  2. package/dist/{actor-ohPC-81x.d.ts → actor-DBbe5xeE.d.ts} +21 -11
  3. package/dist/actor-DBbe5xeE.d.ts.map +1 -0
  4. package/dist/actor-client.d.ts +2 -5
  5. package/dist/actor-client.d.ts.map +1 -1
  6. package/dist/actor-client.js +13 -4
  7. package/dist/actor-client.js.map +1 -1
  8. package/dist/actor-react.d.ts +5 -3
  9. package/dist/actor-react.d.ts.map +1 -1
  10. package/dist/actor-react.js +20 -10
  11. package/dist/actor-react.js.map +1 -1
  12. package/dist/{actor-shared-B5tJfzt-.js → actor-shared-t7w8xIKP.js} +12 -7
  13. package/dist/actor-shared-t7w8xIKP.js.map +1 -0
  14. package/dist/actor.d.ts +1 -1
  15. package/dist/actor.js +42 -23
  16. package/dist/actor.js.map +1 -1
  17. package/dist/{ai-CrLYwNEx.js → ai-UrWfKeuv.js} +966 -541
  18. package/dist/ai-UrWfKeuv.js.map +1 -0
  19. package/dist/ai-client.d.ts +27 -0
  20. package/dist/ai-client.d.ts.map +1 -0
  21. package/dist/ai-client.js +29 -0
  22. package/dist/ai-client.js.map +1 -0
  23. package/dist/ai-react.d.ts +96 -0
  24. package/dist/ai-react.d.ts.map +1 -0
  25. package/dist/ai-react.js +142 -0
  26. package/dist/ai-react.js.map +1 -0
  27. package/dist/ai-server.browser.js +2 -2
  28. package/dist/ai-server.browser.js.map +1 -1
  29. package/dist/ai-server.d.ts +80 -36
  30. package/dist/ai-server.d.ts.map +1 -1
  31. package/dist/ai-server.js +466 -265
  32. package/dist/ai-server.js.map +1 -1
  33. package/dist/{ai-HJ9fHfYI.d.ts → ai-vpGtcaCB.d.ts} +115 -101
  34. package/dist/ai-vpGtcaCB.d.ts.map +1 -0
  35. package/dist/ai.d.ts +2 -2
  36. package/dist/ai.js +2 -2
  37. package/dist/{client-BYzHjkwU.js → client-COaiaDub.js} +447 -80
  38. package/dist/client-COaiaDub.js.map +1 -0
  39. package/dist/{client-CzyacQpJ.d.ts → client-qRnRUzBS.d.ts} +14 -13
  40. package/dist/client-qRnRUzBS.d.ts.map +1 -0
  41. package/dist/client.d.ts +4 -2
  42. package/dist/client.js +1 -1
  43. package/dist/{contract-CKRg_E4q.js → contract-BYKASlCV.js} +12 -21
  44. package/dist/contract-BYKASlCV.js.map +1 -0
  45. package/dist/{idempotent-replay-DVOlyYbx.js → idempotent-replay-JdgMQRRm.js} +2 -2
  46. package/dist/{idempotent-replay-DVOlyYbx.js.map → idempotent-replay-JdgMQRRm.js.map} +1 -1
  47. package/dist/index.d.ts +6 -5
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +4 -3
  50. package/dist/{errors-DvhSXnxk.d.ts → initial-snapshot-BrLso5x_.d.ts} +7 -3
  51. package/dist/initial-snapshot-BrLso5x_.d.ts.map +1 -0
  52. package/dist/{internal-Dq2qYxou.js → internal-CbVvEwad.js} +23 -2
  53. package/dist/internal-CbVvEwad.js.map +1 -0
  54. package/dist/otel.d.ts +1 -1
  55. package/dist/react-BbJ-g6Uu.d.ts +86 -0
  56. package/dist/react-BbJ-g6Uu.d.ts.map +1 -0
  57. package/dist/react.d.ts +2 -122
  58. package/dist/react.js +107 -100
  59. package/dist/react.js.map +1 -1
  60. package/dist/reducer-BAXc8JyF.js +87 -0
  61. package/dist/reducer-BAXc8JyF.js.map +1 -0
  62. package/dist/{reducer-otzHjuJj.d.ts → reducer-BYu6DT7h.d.ts} +45 -29
  63. package/dist/reducer-BYu6DT7h.d.ts.map +1 -0
  64. package/dist/reducer-runtime-DQwz_J59.js +28 -0
  65. package/dist/reducer-runtime-DQwz_J59.js.map +1 -0
  66. package/dist/scheduler-qstash.d.ts +3 -3
  67. package/dist/scheduler-qstash.d.ts.map +1 -1
  68. package/dist/scheduler-qstash.js +33 -10
  69. package/dist/scheduler-qstash.js.map +1 -1
  70. package/dist/{scheduler-task-BpzhPnRS.js → scheduler-task-X1SToDjP.js} +18 -3
  71. package/dist/scheduler-task-X1SToDjP.js.map +1 -0
  72. package/dist/scheduler-vercel.d.ts +4 -9
  73. package/dist/scheduler-vercel.d.ts.map +1 -1
  74. package/dist/scheduler-vercel.js +25 -44
  75. package/dist/scheduler-vercel.js.map +1 -1
  76. package/dist/{server-DbD7IJVK.d.ts → server-CGM8WzRG.d.ts} +87 -26
  77. package/dist/server-CGM8WzRG.d.ts.map +1 -0
  78. package/dist/{server-BD5ckxZb.js → server-Rj64fNvX.js} +854 -202
  79. package/dist/server-Rj64fNvX.js.map +1 -0
  80. package/dist/server.d.ts +4 -4
  81. package/dist/server.js +2 -2
  82. package/dist/{errors-DCk6ch5n.js → session-clear-DGI4jTQ5.js} +17 -2
  83. package/dist/session-clear-DGI4jTQ5.js.map +1 -0
  84. package/dist/session-clear-Dshpuhff.d.ts +12 -0
  85. package/dist/session-clear-Dshpuhff.d.ts.map +1 -0
  86. package/dist/{store-DyZM6fS5.d.ts → store-Gpkq7WBo.d.ts} +44 -3
  87. package/dist/store-Gpkq7WBo.d.ts.map +1 -0
  88. package/dist/store-N8PXxDAS.js.map +1 -1
  89. package/dist/store-memory.d.ts +1 -1
  90. package/dist/store-memory.d.ts.map +1 -1
  91. package/dist/store-memory.js +182 -69
  92. package/dist/store-memory.js.map +1 -1
  93. package/dist/{store-polling-CmxUbV93.js → store-polling-4_y8lETm.js} +21 -4
  94. package/dist/store-polling-4_y8lETm.js.map +1 -0
  95. package/dist/store-postgres.d.ts +1 -1
  96. package/dist/store-postgres.d.ts.map +1 -1
  97. package/dist/store-postgres.js +399 -108
  98. package/dist/store-postgres.js.map +1 -1
  99. package/dist/{store-presence-polling-C7-XZyW9.js → store-presence-polling-Q1C-k2dd.js} +3 -3
  100. package/dist/{store-presence-polling-C7-XZyW9.js.map → store-presence-polling-Q1C-k2dd.js.map} +1 -1
  101. package/dist/store-redis-http.d.ts +1 -1
  102. package/dist/store-redis-http.d.ts.map +1 -1
  103. package/dist/store-redis-http.js +293 -11
  104. package/dist/store-redis-http.js.map +1 -1
  105. package/dist/store-redis-notify-tqWNnMRu.js +2374 -0
  106. package/dist/store-redis-notify-tqWNnMRu.js.map +1 -0
  107. package/dist/store-redis.d.ts +1 -1
  108. package/dist/store-redis.d.ts.map +1 -1
  109. package/dist/store-redis.js +11 -11
  110. package/dist/store-redis.js.map +1 -1
  111. package/dist/store-sqlite.d.ts +1 -1
  112. package/dist/store-sqlite.d.ts.map +1 -1
  113. package/dist/store-sqlite.js +166 -32
  114. package/dist/store-sqlite.js.map +1 -1
  115. package/dist/stream-buffer-Cx7AAPGq.js +23 -0
  116. package/dist/stream-buffer-Cx7AAPGq.js.map +1 -0
  117. package/dist/{telemetry-B5jzpy6y.d.ts → telemetry-cZH-cibj.d.ts} +2 -2
  118. package/dist/telemetry-cZH-cibj.d.ts.map +1 -0
  119. package/dist/{wire-BO5wWCb1.js → wire-DjfHOvdW.js} +132 -10
  120. package/dist/wire-DjfHOvdW.js.map +1 -0
  121. package/docs/01-quickstart.mdx +2 -2
  122. package/docs/actors/01-introduction.mdx +4 -0
  123. package/docs/actors/04-routes.mdx +14 -1
  124. package/docs/concepts/01-contracts.mdx +95 -0
  125. package/docs/concepts/04-state.mdx +3 -3
  126. package/docs/guides/01-timers.mdx +22 -14
  127. package/docs/guides/02-cancellation.mdx +1 -1
  128. package/docs/guides/03-react.mdx +268 -328
  129. package/docs/guides/04-local-first.mdx +32 -73
  130. package/docs/guides/05-production.mdx +40 -27
  131. package/docs/guides/06-ai-agents.mdx +680 -580
  132. package/docs/guides/09-presence.mdx +3 -7
  133. package/docs/guides/10-transports.mdx +5 -5
  134. package/docs/index.mdx +10 -18
  135. package/docs/reference/01-api.mdx +662 -195
  136. package/docs/reference/02-errors.mdx +2 -1
  137. package/examples/playground/DEPLOY.md +52 -6
  138. package/examples/playground/app/a0/[appId]/loading.tsx +16 -0
  139. package/examples/playground/app/a0/[appId]/page.tsx +48 -0
  140. package/examples/playground/app/a0/a0.css +818 -0
  141. package/examples/playground/app/a0/app-list.tsx +211 -0
  142. package/examples/playground/app/a0/app-view.tsx +55 -0
  143. package/examples/playground/app/a0/apps/[appId]/preview/route.ts +27 -0
  144. package/examples/playground/app/a0/apps/[appId]/route.ts +23 -0
  145. package/examples/playground/app/a0/apps.test.ts +116 -0
  146. package/examples/playground/app/a0/apps.ts +87 -0
  147. package/examples/playground/app/a0/chat.tsx +364 -0
  148. package/examples/playground/app/a0/columns.tsx +109 -0
  149. package/examples/playground/app/a0/context-menu.tsx +116 -0
  150. package/examples/playground/app/a0/cookies.ts +46 -0
  151. package/examples/playground/app/a0/crash-on-request.ts +72 -0
  152. package/examples/playground/app/a0/crashes/route.ts +3 -0
  153. package/examples/playground/app/a0/crashes.test.ts +33 -0
  154. package/examples/playground/app/a0/crashes.ts +28 -0
  155. package/examples/playground/app/a0/devtools.tsx +164 -0
  156. package/examples/playground/app/a0/events/route.ts +6 -0
  157. package/examples/playground/app/a0/flags.ts +30 -0
  158. package/examples/playground/app/a0/layout.tsx +38 -0
  159. package/examples/playground/app/a0/list/route.ts +10 -0
  160. package/examples/playground/app/a0/model.test.ts +56 -0
  161. package/examples/playground/app/a0/model.ts +58 -0
  162. package/examples/playground/app/a0/page.tsx +14 -0
  163. package/examples/playground/app/a0/preview-pane.tsx +145 -0
  164. package/examples/playground/app/a0/preview.test.ts +53 -0
  165. package/examples/playground/app/a0/preview.ts +26 -0
  166. package/examples/playground/app/a0/sandbox-log.ts +69 -0
  167. package/examples/playground/app/a0/sandbox.ts +191 -0
  168. package/examples/playground/app/a0/sandboxes/scheduler/route.ts +6 -0
  169. package/examples/playground/app/a0/scheduler/route.ts +7 -0
  170. package/examples/playground/app/a0/server.ts +158 -0
  171. package/examples/playground/app/a0/session.ts +47 -0
  172. package/examples/playground/app/a0/shell.tsx +150 -0
  173. package/examples/playground/app/a0/short/events/route.ts +9 -0
  174. package/examples/playground/app/a0/splitter.tsx +120 -0
  175. package/examples/playground/app/agent/[agentId]/agent-client.tsx +144 -174
  176. package/examples/playground/app/agent/[agentId]/command-receipt.test.tsx +65 -0
  177. package/examples/playground/app/agent/[agentId]/command-receipt.tsx +27 -0
  178. package/examples/playground/app/agent/[agentId]/compaction-event.tsx +25 -24
  179. package/examples/playground/app/agent/[agentId]/compaction-panel.test.tsx +119 -0
  180. package/examples/playground/app/agent/[agentId]/compaction-panel.tsx +208 -165
  181. package/examples/playground/app/agent/[agentId]/page.tsx +2 -16
  182. package/examples/playground/app/agent/events/route.ts +5 -2
  183. package/examples/playground/app/agent/ingress.test.ts +98 -0
  184. package/examples/playground/app/agent/model-input.test.tsx +58 -0
  185. package/examples/playground/app/agent/model-input.tsx +115 -0
  186. package/examples/playground/app/agent/model.test.ts +73 -0
  187. package/examples/playground/app/agent/model.ts +58 -26
  188. package/examples/playground/app/agent/new-agent-session.tsx +37 -19
  189. package/examples/playground/app/agent/page.tsx +4 -4
  190. package/examples/playground/app/agent/server.ts +15 -14
  191. package/examples/playground/app/agent/session.ts +5 -6
  192. package/examples/playground/app/agent/telemetry.test.ts +168 -0
  193. package/examples/playground/app/agent/telemetry.ts +30 -0
  194. package/examples/playground/app/agent/trace.test.ts +23 -0
  195. package/examples/playground/app/agent/trace.ts +18 -0
  196. package/examples/playground/app/canvas/[canvasId]/canvas-client.tsx +11 -11
  197. package/examples/playground/app/canvas/[canvasId]/page.tsx +1 -2
  198. package/examples/playground/app/canvas/[canvasId]/session.ts +2 -2
  199. package/examples/playground/app/canvas/model.ts +53 -53
  200. package/examples/playground/app/chat/[chatId]/agent-state.test.ts +176 -0
  201. package/examples/playground/app/chat/[chatId]/agent-stream-drawer.tsx +16 -1
  202. package/examples/playground/app/chat/[chatId]/chat-client.tsx +55 -77
  203. package/examples/playground/app/chat/[chatId]/chat-view.ts +37 -3
  204. package/examples/playground/app/chat/[chatId]/page.tsx +7 -15
  205. package/examples/playground/app/chat/[chatId]/session.ts +2 -19
  206. package/examples/playground/app/chat/agent/route.ts +9 -0
  207. package/examples/playground/app/chat/model.test.ts +46 -119
  208. package/examples/playground/app/chat/model.ts +82 -128
  209. package/examples/playground/app/chat/scheduler/route.ts +2 -2
  210. package/examples/playground/app/chat/server.test.ts +108 -0
  211. package/examples/playground/app/chat/server.ts +69 -73
  212. package/examples/playground/app/components/activity-feed.tsx +30 -1
  213. package/examples/playground/app/components/activity-history.test.tsx +35 -0
  214. package/examples/playground/app/components/demo-icons.tsx +89 -0
  215. package/examples/playground/app/components/demos.tsx +33 -0
  216. package/examples/playground/app/components/fast-link.test.tsx +58 -0
  217. package/examples/playground/app/components/fast-link.tsx +55 -0
  218. package/examples/playground/app/components/site-header.tsx +96 -0
  219. package/examples/playground/app/counter/counter-client.tsx +3 -3
  220. package/examples/playground/app/counter/model.test.ts +3 -3
  221. package/examples/playground/app/counter/model.ts +11 -21
  222. package/examples/playground/app/counter/page.tsx +2 -15
  223. package/examples/playground/app/counter/session.ts +2 -2
  224. package/examples/playground/app/documents/[documentId]/code-editor.tsx +12 -1
  225. package/examples/playground/app/documents/[documentId]/document-client.tsx +10 -11
  226. package/examples/playground/app/documents/[documentId]/page.tsx +1 -2
  227. package/examples/playground/app/documents/[documentId]/session.ts +2 -2
  228. package/examples/playground/app/documents/model.ts +27 -27
  229. package/examples/playground/app/globals.css +420 -207
  230. package/examples/playground/app/initial-state.test.tsx +54 -0
  231. package/examples/playground/app/layout.tsx +7 -23
  232. package/examples/playground/app/orders/[orderId]/page.tsx +1 -2
  233. package/examples/playground/app/orders/[orderId]/session.ts +2 -2
  234. package/examples/playground/app/orders/model.ts +49 -49
  235. package/examples/playground/app/page.tsx +13 -102
  236. package/examples/playground/app/recovery/[recoveryId]/page.tsx +1 -2
  237. package/examples/playground/app/recovery/[recoveryId]/session.ts +2 -2
  238. package/examples/playground/app/recovery/model.ts +30 -30
  239. package/examples/playground/instrumentation.ts +5 -0
  240. package/examples/playground/package.json +10 -2
  241. package/examples/playground/scripts/a0-template.ts +77 -0
  242. package/examples/playground/vercel.json +18 -0
  243. package/package.json +3 -1
  244. package/src/actor-client.ts +16 -4
  245. package/src/actor-react.ts +25 -11
  246. package/src/actor-shared.ts +21 -6
  247. package/src/actor.ts +76 -31
  248. package/src/ai-agent-actions.ts +219 -0
  249. package/src/ai-agent.ts +2343 -0
  250. package/src/ai-app-state.ts +91 -0
  251. package/src/ai-client-state.ts +39 -2
  252. package/src/ai-client.ts +62 -0
  253. package/src/ai-context-schema.ts +25 -5
  254. package/src/ai-context.ts +90 -40
  255. package/src/ai-control-server.ts +94 -55
  256. package/src/ai-control.ts +2 -0
  257. package/src/ai-coordinator.ts +23 -22
  258. package/src/ai-message-base.ts +209 -0
  259. package/src/ai-message-projection.ts +382 -58
  260. package/src/ai-progress-batches.ts +26 -0
  261. package/src/ai-projector.ts +95 -14
  262. package/src/ai-react.ts +146 -0
  263. package/src/ai-server.browser.ts +2 -2
  264. package/src/ai-server.ts +20 -1951
  265. package/src/ai-stored-state.ts +48 -163
  266. package/src/ai.ts +343 -276
  267. package/src/bootstrap-stream.ts +72 -0
  268. package/src/bounded-cache.ts +55 -0
  269. package/src/client-render-session.ts +49 -0
  270. package/src/client.ts +688 -151
  271. package/src/contract.ts +92 -42
  272. package/src/deterministic-id.ts +37 -0
  273. package/src/equal-json.ts +32 -0
  274. package/src/errors.ts +13 -1
  275. package/src/index.ts +5 -1
  276. package/src/initial-snapshot.ts +39 -0
  277. package/src/internal.ts +45 -0
  278. package/src/postgres-notification-scope.ts +14 -3
  279. package/src/react.ts +171 -206
  280. package/src/redis-http-reply.ts +256 -0
  281. package/src/redis-http-stream.ts +73 -0
  282. package/src/redis-http-subscriptions.ts +13 -5
  283. package/src/reducer-runtime.ts +52 -0
  284. package/src/reducer.ts +92 -10
  285. package/src/scheduler-qstash.ts +49 -20
  286. package/src/scheduler-task.ts +34 -2
  287. package/src/scheduler-vercel.ts +32 -84
  288. package/src/server-fetch.ts +139 -35
  289. package/src/server.ts +957 -237
  290. package/src/session-clear.ts +23 -0
  291. package/src/session-socket.ts +154 -49
  292. package/src/sse.ts +71 -4
  293. package/src/store-memory.ts +220 -78
  294. package/src/store-polling.ts +18 -4
  295. package/src/store-postgres.ts +461 -114
  296. package/src/store-redis-core.ts +1260 -434
  297. package/src/store-redis-http.ts +18 -2
  298. package/src/store-redis-notify.ts +260 -85
  299. package/src/store-redis.ts +19 -9
  300. package/src/store-sqlite.ts +259 -45
  301. package/src/store.ts +46 -1
  302. package/src/stream-buffer.ts +43 -0
  303. package/src/telemetry.ts +13 -1
  304. package/src/wire.ts +241 -13
  305. package/dist/actor-ohPC-81x.d.ts.map +0 -1
  306. package/dist/actor-shared-B5tJfzt-.js.map +0 -1
  307. package/dist/ai-CrLYwNEx.js.map +0 -1
  308. package/dist/ai-HJ9fHfYI.d.ts.map +0 -1
  309. package/dist/client-BYzHjkwU.js.map +0 -1
  310. package/dist/client-CzyacQpJ.d.ts.map +0 -1
  311. package/dist/contract-CKRg_E4q.js.map +0 -1
  312. package/dist/errors-DCk6ch5n.js.map +0 -1
  313. package/dist/errors-DvhSXnxk.d.ts.map +0 -1
  314. package/dist/internal-Dq2qYxou.js.map +0 -1
  315. package/dist/react.d.ts.map +0 -1
  316. package/dist/reducer-DEMjEY_O.js +0 -29
  317. package/dist/reducer-DEMjEY_O.js.map +0 -1
  318. package/dist/reducer-otzHjuJj.d.ts.map +0 -1
  319. package/dist/scheduler-task-BpzhPnRS.js.map +0 -1
  320. package/dist/server-BD5ckxZb.js.map +0 -1
  321. package/dist/server-DbD7IJVK.d.ts.map +0 -1
  322. package/dist/store-DyZM6fS5.d.ts.map +0 -1
  323. package/dist/store-polling-CmxUbV93.js.map +0 -1
  324. package/dist/store-redis-notify-BVLUfI3j.js +0 -1583
  325. package/dist/store-redis-notify-BVLUfI3j.js.map +0 -1
  326. package/dist/telemetry-B5jzpy6y.d.ts.map +0 -1
  327. package/dist/validate-XKT4FSNn.js +0 -30
  328. package/dist/validate-XKT4FSNn.js.map +0 -1
  329. package/dist/wire-BO5wWCb1.js.map +0 -1
  330. package/examples/playground/app/agent/[agentId]/compaction/route.ts +0 -14
  331. package/examples/playground/app/agent/compaction-settings.test.ts +0 -144
  332. package/examples/playground/app/agent/compaction-settings.ts +0 -49
  333. package/examples/playground/app/agent/compaction-timeline.test.ts +0 -377
  334. package/examples/playground/app/agent/compaction-timeline.ts +0 -208
@@ -1,6 +1,26 @@
1
- import { h as StandardSchemaV1, i as Contract, s as EventDefs, t as Reducer } from "./reducer-otzHjuJj.js";
2
- import { s as HandlerContext } from "./server-DbD7IJVK.js";
3
- import { FinishReason, JSONValue, LanguageModelUsage, UIMessage, UIMessage as UIMessage$1, UIMessageChunk, UIMessageChunk as UIMessageChunk$1 } from "ai";
1
+ import { c as ContractEvent, s as Contract, t as Reducer, u as EventDefs, v as StandardSchemaV1 } from "./reducer-BYu6DT7h.js";
2
+ import { s as HandlerContext } from "./server-CGM8WzRG.js";
3
+ import { FinishReason, JSONValue as JSONValue$1, LanguageModelCallOptions, LanguageModelUsage, UIMessage, UIMessage as UIMessage$1, UIMessageChunk, UIMessageChunk as UIMessageChunk$1 } from "ai";
4
+ //#region src/ai-message-base.d.ts
5
+ type FieldUndo = {
6
+ value?: unknown;
7
+ } | {
8
+ remove: true;
9
+ } | {
10
+ length: number;
11
+ };
12
+ type FieldsUndo = Record<string, FieldUndo>;
13
+ type PartUndo = {
14
+ value: UIMessage["parts"][number];
15
+ } | {
16
+ fields: FieldsUndo;
17
+ };
18
+ type MessageBase = {
19
+ partCount: number;
20
+ fields?: FieldsUndo;
21
+ parts?: Record<string, PartUndo>;
22
+ };
23
+ //#endregion
4
24
  //#region src/ai-control.d.ts
5
25
  type InboxItem<M extends UIMessage = UIMessage> = {
6
26
  id: string;
@@ -122,7 +142,7 @@ type ControlCommit = {
122
142
  //#endregion
123
143
  //#region src/ai-client-state.d.ts
124
144
  type QueueCommand<M extends UIMessage> = Extract<ControlCommand<M>, {
125
- action: "send" | "edit" | "move" | "remove" | "send-now" | "steer" | "pause" | "resume";
145
+ action: "send" | "edit" | "move" | "remove" | "send-now" | "steer" | "pause" | "resume" | "stop";
126
146
  }>;
127
147
  type PendingQueueCommand<M extends UIMessage> = {
128
148
  commandId: string;
@@ -161,56 +181,37 @@ type ProgressBatches = {
161
181
  };
162
182
  //#endregion
163
183
  //#region src/ai-message-projection.d.ts
164
- type MessageProjection<M extends UIMessage> = Omit<ActiveGenerationProjection<M>, "baseTools">;
165
- //#endregion
166
- //#region src/ai-stored-state.d.ts
167
- type Value = null | boolean | number | string | Value[] | {
168
- [key: string]: Value;
169
- };
170
- type Payload = {
171
- value?: unknown;
172
- };
173
- type Undo = {
174
- value: Value;
175
- } | {
176
- length: number;
177
- items: Record<string, Undo>;
178
- } | {
179
- fields: Record<string, Undo>;
180
- remove: string[];
181
- };
182
- type Projection = {
183
- fields: Value;
184
- hasMessage: boolean;
185
- message?: Undo;
186
- tools?: Undo;
187
- };
188
- type AIStoredState = {
189
- version: 2;
190
- fields: Value;
191
- projection: Projection | null;
192
- values: Payload[];
193
- };
194
- type AIStoredView = {
195
- messages: UIMessage[];
196
- activeProjection: (MessageProjection<UIMessage> & {
197
- baseTools?: AIState["tools"];
198
- }) | null;
199
- tools?: AIState["tools"];
200
- usage?: AIState["usage"];
201
- };
202
- declare const aiStateReducer: unique symbol;
203
- type AIStoredReducer<D extends EventDefs, S extends AIStoredView> = Reducer<D, AIStoredState, Record<never, never>, S> & {
204
- readonly [aiStateReducer]: Reducer<D, S>;
205
- view(state: AIStoredState): S;
206
- fromView(state: S): AIStoredState;
207
- };
184
+ declare const isCompactionPart: (part: {
185
+ type: string;
186
+ }) => part is CompactionPart;
208
187
  //#endregion
209
188
  //#region src/ai.d.ts
210
189
  type AgentStatus = "idle" | "generating" | "waiting" | "failed" | "closed" | "paused";
211
190
  type GenerationReason = "message" | "tool" | "input" | "retry" | "resume";
191
+ type ReasoningLevel = NonNullable<LanguageModelCallOptions["reasoning"]>;
192
+ declare const reasoningLevels: readonly ReasoningLevel[];
193
+ type CompactionPartData = {
194
+ status: "running" | "completed" | "failed" | "interrupted";
195
+ inputTokens?: number;
196
+ thresholdTokens?: number;
197
+ summary?: string;
198
+ usage?: LanguageModelUsage;
199
+ };
200
+ /** The transcript part A2 adds to a response where its context was compacted. */
201
+ type CompactionPart = {
202
+ type: "data-a2-compaction";
203
+ id: string;
204
+ data: CompactionPartData;
205
+ };
206
+ /**
207
+ * A transcript message: `M` plus the compaction part A2 adds, so
208
+ * `isCompactionPart` narrows even when `M` declares its own data parts.
209
+ */
210
+ type TranscriptMessage<M extends UIMessage$1> = Omit<M, "parts"> & {
211
+ parts: Array<M["parts"][number] | CompactionPart>;
212
+ };
212
213
  type SessionCreatedPayload = {
213
- metadata?: JSONValue;
214
+ metadata?: JSONValue$1;
214
215
  };
215
216
  type SessionClosedPayload = {
216
217
  reason?: string;
@@ -258,15 +259,13 @@ type GenerationStartedPayload = {
258
259
  generationId: string;
259
260
  responseMessageId: string;
260
261
  attempt: number;
261
- model: string;
262
+ /** Absent when the attempt failed before its model resolved. */
263
+ model?: string;
262
264
  promptThroughIndex?: number;
263
265
  };
264
266
  type GenerationProgressPayload = {
265
- requestId: string;
266
- messageId: string;
267
- generationId: string;
268
- responseMessageId: string;
269
- sequence: number;
267
+ /** Log index of the generation's `ai.generation.started`. */
268
+ startIndex: number;
270
269
  chunks: UIMessageChunk$1[];
271
270
  };
272
271
  type GenerationCompletedPayload = {
@@ -343,7 +342,7 @@ type InputRequestedPayload = {
343
342
  generationId: string;
344
343
  inputId: string;
345
344
  name: string;
346
- question?: JSONValue;
345
+ question?: JSONValue$1;
347
346
  };
348
347
  type InputRespondedPayload = {
349
348
  requestId: string;
@@ -351,7 +350,7 @@ type InputRespondedPayload = {
351
350
  generationId: string;
352
351
  inputId: string;
353
352
  name: string;
354
- value: JSONValue;
353
+ value: JSONValue$1;
355
354
  };
356
355
  type ModelLimits = {
357
356
  contextWindow: number;
@@ -421,19 +420,22 @@ type AIEventDefs<M extends UIMessage$1 = UIMessage$1> = {
421
420
  "ai.model.metadata.requested": StandardSchemaV1<ModelMetadataRequestedPayload>;
422
421
  "ai.model.metadata.resolved": StandardSchemaV1<ModelMetadataResolvedPayload>;
423
422
  };
424
- type ActiveGeneration = GenerationStartedPayload;
425
- type ActiveGenerationProjection<M extends UIMessage$1 = UIMessage$1> = {
423
+ type ActiveGeneration = GenerationStartedPayload & {
424
+ /** Log index of this generation's `ai.generation.started`. */
425
+ startIndex: number;
426
+ };
427
+ type ActiveGenerationProjection = {
426
428
  generationId: string;
427
429
  responseMessageId: string;
428
430
  /** Log index of the completed model step while its response remains interruptible. */
429
431
  completionIndex?: number;
430
- baseMessage?: M;
432
+ base?: MessageBase;
431
433
  promptThroughIndex?: number;
432
434
  cursor?: {
433
435
  throughIndex: number;
434
436
  stream: UIMessageCursor;
435
437
  } | null;
436
- baseCompaction?: CompactionState<M> | null;
438
+ baseCompaction?: CompactionState | null;
437
439
  batches: ProgressBatches;
438
440
  baseTools: ToolActivity[];
439
441
  toolEvents: Array<{
@@ -463,27 +465,19 @@ type ToolActivity = {
463
465
  generationId: string;
464
466
  toolCallId: string;
465
467
  toolName?: string;
466
- input?: unknown;
467
- rawInput?: unknown;
468
- output?: unknown;
469
468
  error?: string;
470
469
  preliminary?: boolean;
471
470
  phase?: "input" | "execution";
472
471
  dynamic?: boolean;
473
472
  providerExecuted?: boolean;
474
- callProviderMetadata?: unknown;
475
- resultProviderMetadata?: unknown;
476
- toolMetadata?: unknown;
477
473
  title?: string;
478
474
  status: "running" | "completed" | "failed" | "denied";
479
475
  };
480
- type CompactionState<M extends UIMessage$1> = {
476
+ type CompactionState = {
481
477
  status: "running" | "completed";
482
478
  generationId: string;
483
479
  throughMessageId: string;
484
480
  throughIndex?: number;
485
- messages?: M[];
486
- retainedMessageIds?: string[];
487
481
  summary?: string;
488
482
  usage?: LanguageModelUsage;
489
483
  };
@@ -503,43 +497,68 @@ type AIState<M extends UIMessage$1 = UIMessage$1> = {
503
497
  pausedGenerationIds?: Record<string, true>;
504
498
  session: {
505
499
  created: boolean;
506
- metadata?: JSONValue;
500
+ metadata?: JSONValue$1;
507
501
  };
508
- messages: M[];
502
+ messages: TranscriptMessage<M>[];
509
503
  status: AgentStatus;
510
504
  activeGeneration: ActiveGeneration | null;
511
505
  activeRequestId: string | null;
512
506
  activeRequestReason: GenerationReason | null;
513
507
  activeRequestSourceGenerationId: string | null;
514
508
  activeResponseMessageId: string | null;
515
- activeProjection: ActiveGenerationProjection<M> | null;
509
+ activeProjection: ActiveGenerationProjection | null;
516
510
  responseOwners: Record<string, Pick<GenerationStartedPayload, "generationId" | "requestId" | "attempt">>;
517
511
  terminalRequestIds?: Record<string, true>;
518
512
  terminalGenerations?: Record<string, "completed" | "failed" | "interrupted" | "superseded">;
519
513
  pendingApprovals: PendingApproval[];
520
514
  pendingInputs: PendingInput[];
521
515
  tools: ToolActivity[];
522
- compaction: CompactionState<M> | null;
516
+ compaction: CompactionState | null;
523
517
  modelMetadata: Record<string, ModelMetadataState>;
524
518
  usage: GenerationUsage[];
525
519
  error: string | null;
526
520
  };
527
- type AgentDefinition<M extends UIMessage$1 = UIMessage$1, D extends EventDefs = AIEventDefs<M>> = {
528
- readonly contract: Contract<D>;
529
- readonly reducer: AIStoredReducer<D, AIState<M>>;
530
- };
521
+ /** The `UIMessage` type a contract's `ai.message.created` schema carries. */
522
+ type AIMessageOf<D> = D extends {
523
+ readonly "ai.message.created": infer S extends StandardSchemaV1;
524
+ } ? StandardSchemaV1.InferOutput<S> extends MessageCreatedPayload<infer M extends UIMessage$1> ? M : UIMessage$1 : UIMessage$1;
525
+ /** What `agentContract()` returns: the AI protocol, with `X` as application state. */
526
+ type AgentContract<M extends UIMessage$1 = UIMessage$1, D extends EventDefs = AIEventDefs<M>, X extends object = Record<never, never>> = Contract<D, Record<never, never>, AgentReducer<M, D, X>>;
531
527
  type AgentToolEventDefs = EventDefs & Pick<AIEventDefs, "ai.tool.execution.requested">;
532
528
  /** The durable handler context supplied when A2 executes a local AI tool. */
533
529
  type AgentToolContext<D extends AgentToolEventDefs> = HandlerContext<D, "ai.tool.execution.requested">;
534
- type AgentOptions<M extends UIMessage$1, E extends EventDefs> = {
530
+ /** Application state folded after the AI protocol, on the server and in clients. */
531
+ /** Rejects application state keys that would shadow `AIState`'s. */
532
+ type OwnKeys<X> = { [K in Extract<keyof X, keyof AIState>]: never; };
533
+ /** Rejects a stateless application reducer, whose name would not be built in. */
534
+ type NonEmpty<X> = keyof X extends never ? never : unknown;
535
+ /**
536
+ * The reducer `agentContract()` builds. Without application state it carries
537
+ * the built-in name, which is what lets the contract-free client fold it.
538
+ * `~appState` is type-only, absent at runtime: it carries the application
539
+ * state's type to `agent()`, and marks the reducer as `agentContract()`'s.
540
+ */
541
+ type AgentReducer<M extends UIMessage$1, D extends EventDefs, X extends object> = (keyof X extends never ? Reducer<D, AIState<M>> & {
542
+ readonly name: typeof AI_STATE_REDUCER;
543
+ } : Reducer<D, AIState<M> & X>) & {
544
+ readonly "~appState": X;
545
+ };
546
+ type AgentContractOptions<M extends UIMessage$1, E extends EventDefs, X extends object> = {
535
547
  name: string;
536
548
  events?: E;
537
549
  /** Optional stricter schema for custom UIMessage metadata/data/tool types. */
538
550
  messageSchema?: StandardSchemaV1<M>;
539
- /** Snapshot identity. Bump when application-level projection semantics change. */
540
- reducerName?: string;
551
+ /**
552
+ * Application state, folded from events beside `AIState` and merged into
553
+ * it. `fold` sees only this state, never the transcript.
554
+ */
555
+ reducer?: {
556
+ /** Snapshot identity of the application state. Rename it when `fold` changes. */
557
+ name: string;
558
+ initialState: X & OwnKeys<X> & NonEmpty<X>;
559
+ fold: (state: NoInfer<X>, event: ContractEvent<AIEventDefs<M> & NoInfer<E>>) => NoInfer<X>;
560
+ };
541
561
  };
542
- type AIMessageFrom<D extends EventDefs> = D extends Record<"ai.message.created", infer S extends StandardSchemaV1> ? StandardSchemaV1.InferOutput<S> extends MessageCreatedPayload<infer M extends UIMessage$1> ? M : UIMessage$1 : UIMessage$1;
543
562
  declare function createEvents<M extends UIMessage$1 = UIMessage$1>(options?: {
544
563
  messageSchema?: StandardSchemaV1<M>;
545
564
  }): AIEventDefs<M>;
@@ -556,14 +575,7 @@ declare function deriveUIMessages<M extends UIMessage$1 = UIMessage$1>(history:
556
575
  type: string;
557
576
  payload: unknown;
558
577
  index: number;
559
- }[]): M[];
560
- /** Build the standard AI state projection for any contract containing the protocol. */
561
- declare function createReducer<D extends EventDefs>(options: {
562
- contract: Contract<D>;
563
- name?: string;
564
- fold?: Reducer<D, AIState<AIMessageFrom<D>>>["fold"];
565
- stateSchema?: StandardSchemaV1<unknown, AIState<AIMessageFrom<D>>>;
566
- }): AIStoredReducer<D, AIState<AIMessageFrom<D>>>;
578
+ }[]): TranscriptMessage<M>[];
567
579
  type CommandInput<C> = {
568
580
  type: "ai.control.requested";
569
581
  payload: C;
@@ -622,18 +634,20 @@ declare const inputs: AIInputs;
622
634
  * Read the durable handler context ambient to the current AI tool
623
635
  * execution. A2 runs each local tool's `execute` inside this scope, so
624
636
  * plain AI SDK `tool()` definitions reach their `event`, `attempt`,
625
- * `session`, and `signal` without an A2-specific wrapper. The agent (or
626
- * contract) argument carries the event types and is verified against
627
- * the executing server's contract.
637
+ * `session`, and `signal` without an A2-specific wrapper. Pass the
638
+ * agent's contract to type application events; it is verified against
639
+ * the executing agent.
628
640
  */
629
- declare function handlerContext<D extends AgentToolEventDefs>(agentOrContract: Contract<D> | {
630
- readonly contract: Contract<D>;
631
- }): AgentToolContext<D>;
641
+ declare function handlerContext<D extends AgentToolEventDefs = AIEventDefs>(contract?: Contract<D>): AgentToolContext<D>;
642
+ /** The built-in AI reducer's name, and so its checkpoint identity. */
643
+ declare const AI_STATE_REDUCER = "a2.ai.state.v26";
632
644
  /**
633
- * Define an agent: built-in AI protocol + application events and one state
634
- * reducer. The result is isomorphic.
645
+ * The built-in AI protocol plus application events, as a core contract whose
646
+ * reducer folds `AIState`. Isomorphic: share it when a client needs
647
+ * application events or extended state; otherwise `agent({ name })` on the
648
+ * server builds one and clients use the built-in protocol.
635
649
  */
636
- declare function agent<M extends UIMessage$1 = UIMessage$1, E extends EventDefs = Record<never, never>>(options: AgentOptions<M, E>): AgentDefinition<M, AIEventDefs<M> & E>;
650
+ declare function agentContract<M extends UIMessage$1 = UIMessage$1, E extends EventDefs = Record<never, never>, X extends object = Record<never, never>>(options: AgentContractOptions<M, E, X>): AgentContract<M, AIEventDefs<M> & E, X>;
637
651
  //#endregion
638
- export { reduceAIState as $, MessageInterruptedPayload as A, SessionCreatedPayload as B, GenerationUsage as C, LanguageModelUsage as D, JSONValue as E, PendingApproval as F, UIMessageChunk$1 as G, ToolCalledPayload as H, PendingInput as I, createReducer as J, agent as K, RetryGenerationOptions as L, ModelMetadataRequestedPayload as M, ModelMetadataResolvedPayload as N, MessageCompletedPayload as O, ModelMetadataState as P, inputs as Q, RetryRequestedPayload as R, GenerationStartedPayload as S, InputRespondedPayload as T, ToolResultPayload as U, ToolActivity as V, UIMessage$1 as W, events as X, deriveUIMessages as Y, handlerContext as Z, GenerationCompletedPayload as _, ActiveGenerationProjection as a, ControlReceipt as at, GenerationReason as b, AgentStatus as c, ApprovalRequestedPayload as d, AIStoredReducer as et, ApprovalRespondedPayload as f, FinishReason as g, CompactionState as h, ActiveGeneration as i, ControlCommand as it, ModelLimits as j, MessageCreatedPayload as k, AgentToolContext as l, CompactionRequestedPayload as m, AIInputs as n, PendingQueueCommand as nt, AgentDefinition as o, InboxItem as ot, CompactionCompletedPayload as p, createEvents as q, AIState as r, ActiveTurn as rt, AgentOptions as s, AIEventDefs as t, AIStoredState as tt, AgentToolEventDefs as u, GenerationFailedPayload as v, InputRequestedPayload as w, GenerationRequestedPayload as x, GenerationProgressPayload as y, SessionClosedPayload as z };
639
- //# sourceMappingURL=ai-HJ9fHfYI.d.ts.map
652
+ export { agentContract as $, InputRespondedPayload as A, PendingApproval as B, GenerationFailedPayload as C, GenerationStartedPayload as D, GenerationRequestedPayload as E, MessageInterruptedPayload as F, SessionClosedPayload as G, ReasoningLevel as H, ModelLimits as I, ToolCalledPayload as J, SessionCreatedPayload as K, ModelMetadataRequestedPayload as L, LanguageModelUsage as M, MessageCompletedPayload as N, GenerationUsage as O, MessageCreatedPayload as P, UIMessageChunk$1 as Q, ModelMetadataResolvedPayload as R, GenerationCompletedPayload as S, GenerationReason as T, RetryGenerationOptions as U, PendingInput as V, RetryRequestedPayload as W, TranscriptMessage as X, ToolResultPayload as Y, UIMessage$1 as Z, CompactionPart as _, AI_STATE_REDUCER as a, reasoningLevels as at, CompactionState as b, AgentContract as c, PendingQueueCommand as ct, AgentStatus as d, ControlReceipt as dt, createEvents as et, AgentToolContext as f, InboxItem as ft, CompactionCompletedPayload as g, ApprovalRespondedPayload as h, AIState as i, inputs as it, JSONValue$1 as j, InputRequestedPayload as k, AgentContractOptions as l, ActiveTurn as lt, ApprovalRequestedPayload as m, AIInputs as n, events as nt, ActiveGeneration as o, reduceAIState as ot, AgentToolEventDefs as p, ToolActivity as q, AIMessageOf as r, handlerContext as rt, ActiveGenerationProjection as s, isCompactionPart as st, AIEventDefs as t, deriveUIMessages as tt, AgentReducer as u, ControlCommand as ut, CompactionPartData as v, GenerationProgressPayload as w, FinishReason as x, CompactionRequestedPayload as y, ModelMetadataState as z };
653
+ //# sourceMappingURL=ai-vpGtcaCB.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-vpGtcaCB.d.ts","names":[],"sources":["../src/ai-message-base.ts","../src/ai-control.ts","../src/ai-client-state.ts","../src/ai-projector.ts","../src/ai-progress-batches.ts","../src/ai-message-projection.ts","../src/ai.ts"],"mappings":";;;;KAGK;EAAc;;EAAsB;;EAAmB;;KACvD,aAAa,eAAe;KAC5B;EAAa,OAAO;;EAAiC,QAAQ;;KAEtD;EACV;EACA,SAAS;EACT,QAAQ,eAAe;;;;KCIb,UAAU,UAAU,YAAY;EAC1C;EACA,SAAS;EACT;EACA;;KAGU,eAAe,UAAU,YAAY;EAC3C;EAAgB,SAAS;EAAG;;EAC5B;EAAgB,SAAS;;EACzB;EAAgB;EAAiB;;EACjC;EAAkB;;EAElB;EACA;EACA;EACA;;EAEA;EAAgB;EAAgB;;EAChC;EAAiB;EAAgB,SAAS;EAAG;;EAC7C;EAAiB;;EACjB;;EACA;EAAuB,QAAQ;;EAC/B;EAAoB,UAAU;;EAC9B;EAAiB,UAAU;;EAC3B;EAAyB,SAAS;;EAClC;EAAiB,SAAS;;EAC1B;EAAqB,SAAS;;KAExB;EACV;EACA;EACA;EACA;;KAUU,WAAW,UAAU,YAAY;EAC3C;EACA,OAAO,UAAU;EACjB;;KA+BU;EAAa;EAAc;EAAY;;KACvC;EACV;EACA;EACA;EACA;EACA;EACA;EACA,QAAQ;;KAGE;EACV;EACA;EACA,MAAM;EACN,YAAY;;KAYF;EACV;EACA;EACA;EACA;IAAW;IAAe;IAAqB;;EAC/C;IAAS;IAAc;;;KAGb;EACV,SAAS;EACT;IACE;IACA;IACA,OAAO;IACP;IACA;IACA;IACA,eAAe;IACf;IACA;;;;;KCjIQ,aAAa,UAAU,aAAa,QAC9C,eAAe;EAEb;;KAYQ,oBAAoB,UAAU;EACxC;EACA,SAAS,aAAa;;;;KCfnB;EACH;EACA;EACA;EACA;EACA;EACA;EACA;;KAwJU;EACV,MAAM;EACN,WAAW;EACX,OAAO,eAAe;;;;KChJZ;EAAkB;EAAe,QAAQ;;KAChD,aAAa;EAAoB,MAAM;EAAY,OAAO;;KAEnD;EACV;EACA,MAAM;EACN,QAAQ,MAAM;;;;cCmgBH,mBAAoB;EAC/B;MACE,QAAQ;;;KCtcA;KAGA;KAEA,iBAAiB,YAAY;cAE5B,0BAA0B;KAU3B;EACV;EACA;EACA;EACA;EACA,QAAQ;;;KAIE;EACV;EACA;EACA,MAAM;;;;;;KASI,kBAAkB,UAAU,eAAa,KAAK;EACxD,OAAO,MAAM,qBAAqB;;KAGxB;EAA0B,WAAW;;KACrC;EAAyB;;KACzB,sBAAsB,UAAU;EAC1C,SAAS;;EAET;;KAEU;EAA4B;;KACnC;EACH;EACA;;EAEA;;KAEU,4BAA4B;EAEhC;EAAsB;;EACtB;EAAmB;;KAEf;EACV;IAAY;IAAgB;;EAC5B;EACA,QAAQ;EACR;EACA;;KAEU;EACV;EACA;EACA;;KAEU,wBAAwB;KACxB;EACV;EACA;EACA;EACA;EACA;;EAEA;EACA;;KAEU;;EAEV;EACA,QAAQ;;KAEE;EACV;EACA;EACA;EACA;EACA,eAAe;EACf,QAAQ;EACR;;KAEU;EACV;EACA;EACA;EACA;EACA;;EAEA;EACA;;KAEU;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;KAEU;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;KAEU;EACV;EACA;EACA;EACA;EACA;EACA;EACA;;KAEU;EACV;EACA;EACA;EACA;EACA;EACA;;KAEU;EACV;EACA;EACA;EACA;EACA;EACA,WAAW;;KAED;EACV;EACA;EACA;EACA;EACA;EACA,OAAO;;KAEG;EACV;EACA;;KAEU;EAAkC;;KAClC;EACV;EACA,QAAQ;;KAEE;EACN;;EACA;EAAoB,QAAQ;;EAC5B;;KAEM;EACV;EACA;EACA;EACA;EACA;EACA;;KAEU,2BAA2B,UAAU;EAC/C;EACA;EACA;EACA,UAAU;EACV;EACA;EACA,QAAQ;;KAGE,YAAY,UAAU,cAAY;EAC5C,wBAAwB,iBAAiB,eAAe;EACxD,wBAAwB,iBAAiB;EACzC,sBAAsB,iBAAiB;EACvC,oBAAoB,iBAAiB;EACrC,+BAA+B,iBAAiB;EAChD,wBAAwB;IACtB;IACA;;EAEF,sBAAsB,iBAAiB;EACvC,qBAAqB,iBAAiB;EACtC,sBAAsB,iBAAiB,sBAAsB;EAC7D,wBAAwB,iBAAiB;EACzC,0BAA0B,iBAAiB;EAC3C,2BAA2B,iBAAiB;EAC5C,sBAAsB,iBAAiB;EACvC,yB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"}
package/dist/ai.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { $ as reduceAIState, A as MessageInterruptedPayload, B as SessionCreatedPayload, C as GenerationUsage, D as LanguageModelUsage, E as JSONValue, F as PendingApproval, G as UIMessageChunk, H as ToolCalledPayload, I as PendingInput, J as createReducer, K as agent, L as RetryGenerationOptions, M as ModelMetadataRequestedPayload, N as ModelMetadataResolvedPayload, O as MessageCompletedPayload, P as ModelMetadataState, Q as inputs, R as RetryRequestedPayload, S as GenerationStartedPayload, T as InputRespondedPayload, U as ToolResultPayload, V as ToolActivity, W as UIMessage, X as events, Y as deriveUIMessages, Z as handlerContext, _ as GenerationCompletedPayload, a as ActiveGenerationProjection, at as ControlReceipt, b as GenerationReason, c as AgentStatus, d as ApprovalRequestedPayload, et as AIStoredReducer, f as ApprovalRespondedPayload, g as FinishReason, h as CompactionState, i as ActiveGeneration, it as ControlCommand, j as ModelLimits, k as MessageCreatedPayload, l as AgentToolContext, m as CompactionRequestedPayload, n as AIInputs, nt as PendingQueueCommand, o as AgentDefinition, ot as InboxItem, p as CompactionCompletedPayload, q as createEvents, r as AIState, rt as ActiveTurn, s as AgentOptions, t as AIEventDefs, tt as AIStoredState, u as AgentToolEventDefs, v as GenerationFailedPayload, w as InputRequestedPayload, x as GenerationRequestedPayload, y as GenerationProgressPayload, z as SessionClosedPayload } from "./ai-HJ9fHfYI.js";
2
- export { AIEventDefs, AIInputs, AIState, type AIStoredReducer, type AIStoredState, ActiveGeneration, ActiveGenerationProjection, type ActiveTurn, AgentDefinition, AgentOptions, AgentStatus, AgentToolContext, AgentToolEventDefs, ApprovalRequestedPayload, ApprovalRespondedPayload, CompactionCompletedPayload, CompactionRequestedPayload, CompactionState, type ControlCommand, type ControlReceipt, type FinishReason, GenerationCompletedPayload, GenerationFailedPayload, GenerationProgressPayload, GenerationReason, GenerationRequestedPayload, GenerationStartedPayload, GenerationUsage, type InboxItem, InputRequestedPayload, InputRespondedPayload, type JSONValue, type LanguageModelUsage, MessageCompletedPayload, MessageCreatedPayload, MessageInterruptedPayload, ModelLimits, ModelMetadataRequestedPayload, ModelMetadataResolvedPayload, ModelMetadataState, PendingApproval, PendingInput, type PendingQueueCommand, RetryGenerationOptions, RetryRequestedPayload, SessionClosedPayload, SessionCreatedPayload, ToolActivity, ToolCalledPayload, ToolResultPayload, type UIMessage, type UIMessageChunk, agent, createEvents, createReducer, deriveUIMessages, events, handlerContext, inputs, reduceAIState };
1
+ import { $ as agentContract, A as InputRespondedPayload, B as PendingApproval, C as GenerationFailedPayload, D as GenerationStartedPayload, E as GenerationRequestedPayload, F as MessageInterruptedPayload, G as SessionClosedPayload, H as ReasoningLevel, I as ModelLimits, J as ToolCalledPayload, K as SessionCreatedPayload, L as ModelMetadataRequestedPayload, M as LanguageModelUsage, N as MessageCompletedPayload, O as GenerationUsage, P as MessageCreatedPayload, Q as UIMessageChunk, R as ModelMetadataResolvedPayload, S as GenerationCompletedPayload, T as GenerationReason, U as RetryGenerationOptions, V as PendingInput, W as RetryRequestedPayload, X as TranscriptMessage, Y as ToolResultPayload, Z as UIMessage, _ as CompactionPart, a as AI_STATE_REDUCER, at as reasoningLevels, b as CompactionState, c as AgentContract, ct as PendingQueueCommand, d as AgentStatus, dt as ControlReceipt, et as createEvents, f as AgentToolContext, ft as InboxItem, g as CompactionCompletedPayload, h as ApprovalRespondedPayload, i as AIState, it as inputs, j as JSONValue, k as InputRequestedPayload, l as AgentContractOptions, lt as ActiveTurn, m as ApprovalRequestedPayload, n as AIInputs, nt as events, o as ActiveGeneration, ot as reduceAIState, p as AgentToolEventDefs, q as ToolActivity, r as AIMessageOf, rt as handlerContext, s as ActiveGenerationProjection, st as isCompactionPart, t as AIEventDefs, tt as deriveUIMessages, u as AgentReducer, ut as ControlCommand, v as CompactionPartData, w as GenerationProgressPayload, x as FinishReason, y as CompactionRequestedPayload, z as ModelMetadataState } from "./ai-vpGtcaCB.js";
2
+ export { AIEventDefs, AIInputs, AIMessageOf, AIState, AI_STATE_REDUCER, ActiveGeneration, ActiveGenerationProjection, type ActiveTurn, AgentContract, AgentContractOptions, AgentReducer, AgentStatus, AgentToolContext, AgentToolEventDefs, ApprovalRequestedPayload, ApprovalRespondedPayload, CompactionCompletedPayload, CompactionPart, CompactionPartData, CompactionRequestedPayload, CompactionState, type ControlCommand, type ControlReceipt, type FinishReason, GenerationCompletedPayload, GenerationFailedPayload, GenerationProgressPayload, GenerationReason, GenerationRequestedPayload, GenerationStartedPayload, GenerationUsage, type InboxItem, InputRequestedPayload, InputRespondedPayload, type JSONValue, type LanguageModelUsage, MessageCompletedPayload, MessageCreatedPayload, MessageInterruptedPayload, ModelLimits, ModelMetadataRequestedPayload, ModelMetadataResolvedPayload, ModelMetadataState, PendingApproval, PendingInput, type PendingQueueCommand, ReasoningLevel, RetryGenerationOptions, RetryRequestedPayload, SessionClosedPayload, SessionCreatedPayload, ToolActivity, ToolCalledPayload, ToolResultPayload, TranscriptMessage, type UIMessage, type UIMessageChunk, agentContract, createEvents, deriveUIMessages, events, handlerContext, inputs, isCompactionPart, reasoningLevels, reduceAIState };
package/dist/ai.js CHANGED
@@ -1,2 +1,2 @@
1
- import { a as events, c as reduceAIState, i as deriveUIMessages, n as createEvents, o as handlerContext, r as createReducer, s as inputs, t as agent } from "./ai-CrLYwNEx.js";
2
- export { agent, createEvents, createReducer, deriveUIMessages, events, handlerContext, inputs, reduceAIState };
1
+ import { a as events, c as reasoningLevels, i as deriveUIMessages, l as reduceAIState, n as agentContract, o as handlerContext, r as createEvents, s as inputs, t as AI_STATE_REDUCER, x as isCompactionPart } from "./ai-UrWfKeuv.js";
2
+ export { AI_STATE_REDUCER, agentContract, createEvents, deriveUIMessages, events, handlerContext, inputs, isCompactionPart, reasoningLevels, reduceAIState };