veryfront 0.1.502 → 0.1.504

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 (704) hide show
  1. package/esm/cli/commands/analyze-chunks/handler.d.ts +4 -4
  2. package/esm/cli/commands/analyze-chunks/handler.d.ts.map +1 -1
  3. package/esm/cli/commands/analyze-chunks/handler.js +6 -5
  4. package/esm/cli/commands/build/handler.d.ts +39 -27
  5. package/esm/cli/commands/build/handler.d.ts.map +1 -1
  6. package/esm/cli/commands/build/handler.js +15 -14
  7. package/esm/cli/commands/clean/command.js +1 -1
  8. package/esm/cli/commands/clean/handler.d.ts.map +1 -1
  9. package/esm/cli/commands/clean/handler.js +9 -8
  10. package/esm/cli/commands/demo/handler.d.ts +5 -5
  11. package/esm/cli/commands/demo/handler.d.ts.map +1 -1
  12. package/esm/cli/commands/demo/handler.js +7 -6
  13. package/esm/cli/commands/deploy/command.d.ts +30 -19
  14. package/esm/cli/commands/deploy/command.d.ts.map +1 -1
  15. package/esm/cli/commands/deploy/command.js +11 -10
  16. package/esm/cli/commands/dev/handler.d.ts +6 -6
  17. package/esm/cli/commands/dev/handler.d.ts.map +1 -1
  18. package/esm/cli/commands/dev/handler.js +8 -7
  19. package/esm/cli/commands/doctor/handler.d.ts +3 -3
  20. package/esm/cli/commands/doctor/handler.d.ts.map +1 -1
  21. package/esm/cli/commands/doctor/handler.js +5 -4
  22. package/esm/cli/commands/files/command.d.ts +38 -36
  23. package/esm/cli/commands/files/command.d.ts.map +1 -1
  24. package/esm/cli/commands/files/command.js +35 -31
  25. package/esm/cli/commands/generate/handler.d.ts +4 -4
  26. package/esm/cli/commands/generate/handler.d.ts.map +1 -1
  27. package/esm/cli/commands/generate/handler.js +6 -5
  28. package/esm/cli/commands/generate/integration-generator-helpers.js +4 -4
  29. package/esm/cli/commands/generate/integration-generator.js +8 -4
  30. package/esm/cli/commands/install/handler.d.ts +5 -5
  31. package/esm/cli/commands/install/handler.d.ts.map +1 -1
  32. package/esm/cli/commands/install/handler.js +7 -6
  33. package/esm/cli/commands/install/install.d.ts.map +1 -1
  34. package/esm/cli/commands/install/install.js +7 -4
  35. package/esm/cli/commands/install/types.d.ts +52 -43
  36. package/esm/cli/commands/install/types.d.ts.map +1 -1
  37. package/esm/cli/commands/install/types.js +26 -21
  38. package/esm/cli/commands/install/uninstall.d.ts.map +1 -1
  39. package/esm/cli/commands/install/uninstall.js +4 -2
  40. package/esm/cli/commands/knowledge/command.d.ts +19 -17
  41. package/esm/cli/commands/knowledge/command.d.ts.map +1 -1
  42. package/esm/cli/commands/knowledge/command.js +21 -20
  43. package/esm/cli/commands/lock/handler.d.ts.map +1 -1
  44. package/esm/cli/commands/lock/handler.js +10 -9
  45. package/esm/cli/commands/mcp/handler.d.ts +3 -3
  46. package/esm/cli/commands/mcp/handler.d.ts.map +1 -1
  47. package/esm/cli/commands/mcp/handler.js +5 -4
  48. package/esm/cli/commands/merge/command.d.ts +21 -15
  49. package/esm/cli/commands/merge/command.d.ts.map +1 -1
  50. package/esm/cli/commands/merge/command.js +9 -8
  51. package/esm/cli/commands/open/command.d.ts +17 -12
  52. package/esm/cli/commands/open/command.d.ts.map +1 -1
  53. package/esm/cli/commands/open/command.js +7 -6
  54. package/esm/cli/commands/pull/command.d.ts +36 -25
  55. package/esm/cli/commands/pull/command.d.ts.map +1 -1
  56. package/esm/cli/commands/pull/command.js +14 -13
  57. package/esm/cli/commands/push/command.d.ts +27 -19
  58. package/esm/cli/commands/push/command.d.ts.map +1 -1
  59. package/esm/cli/commands/push/command.js +11 -10
  60. package/esm/cli/commands/routes/handler.d.ts +4 -4
  61. package/esm/cli/commands/routes/handler.d.ts.map +1 -1
  62. package/esm/cli/commands/routes/handler.js +6 -5
  63. package/esm/cli/commands/schema/handler.d.ts.map +1 -1
  64. package/esm/cli/commands/schema/handler.js +5 -4
  65. package/esm/cli/commands/serve/handler.d.ts +9 -9
  66. package/esm/cli/commands/serve/handler.d.ts.map +1 -1
  67. package/esm/cli/commands/serve/handler.js +10 -9
  68. package/esm/cli/commands/start/handler.d.ts +6 -6
  69. package/esm/cli/commands/start/handler.d.ts.map +1 -1
  70. package/esm/cli/commands/start/handler.js +8 -7
  71. package/esm/cli/commands/studio/handler.d.ts +5 -5
  72. package/esm/cli/commands/studio/handler.d.ts.map +1 -1
  73. package/esm/cli/commands/studio/handler.js +7 -6
  74. package/esm/cli/commands/styles/command.d.ts.map +1 -1
  75. package/esm/cli/commands/styles/command.js +9 -8
  76. package/esm/cli/commands/styles/handler.d.ts +12 -12
  77. package/esm/cli/commands/styles/handler.d.ts.map +1 -1
  78. package/esm/cli/commands/styles/handler.js +7 -6
  79. package/esm/cli/commands/task/handler.d.ts +12 -12
  80. package/esm/cli/commands/task/handler.d.ts.map +1 -1
  81. package/esm/cli/commands/task/handler.js +7 -6
  82. package/esm/cli/commands/test/handler.d.ts.map +1 -1
  83. package/esm/cli/commands/test/handler.js +6 -5
  84. package/esm/cli/commands/up/command.d.ts +14 -10
  85. package/esm/cli/commands/up/command.d.ts.map +1 -1
  86. package/esm/cli/commands/up/command.js +6 -5
  87. package/esm/cli/commands/uploads/command.d.ts +43 -41
  88. package/esm/cli/commands/uploads/command.d.ts.map +1 -1
  89. package/esm/cli/commands/uploads/command.js +40 -36
  90. package/esm/cli/commands/worker/handler.d.ts +20 -23
  91. package/esm/cli/commands/worker/handler.d.ts.map +1 -1
  92. package/esm/cli/commands/worker/handler.js +11 -10
  93. package/esm/cli/commands/workflow/handler.d.ts +14 -16
  94. package/esm/cli/commands/workflow/handler.d.ts.map +1 -1
  95. package/esm/cli/commands/workflow/handler.js +8 -7
  96. package/esm/cli/mcp/jsonrpc.d.ts +34 -18
  97. package/esm/cli/mcp/jsonrpc.d.ts.map +1 -1
  98. package/esm/cli/mcp/jsonrpc.js +21 -17
  99. package/esm/cli/mcp/remote-file-tools.d.ts +79 -83
  100. package/esm/cli/mcp/remote-file-tools.d.ts.map +1 -1
  101. package/esm/cli/mcp/remote-file-tools.js +79 -67
  102. package/esm/cli/mcp/server.d.ts +0 -1
  103. package/esm/cli/mcp/server.d.ts.map +1 -1
  104. package/esm/cli/mcp/server.js +2 -60
  105. package/esm/cli/mcp/tools/bootstrap-tool.d.ts +5 -5
  106. package/esm/cli/mcp/tools/bootstrap-tool.d.ts.map +1 -1
  107. package/esm/cli/mcp/tools/bootstrap-tool.js +5 -4
  108. package/esm/cli/mcp/tools/build-tool.d.ts +9 -9
  109. package/esm/cli/mcp/tools/build-tool.d.ts.map +1 -1
  110. package/esm/cli/mcp/tools/build-tool.js +9 -8
  111. package/esm/cli/mcp/tools/catalog-tools.d.ts +18 -33
  112. package/esm/cli/mcp/tools/catalog-tools.d.ts.map +1 -1
  113. package/esm/cli/mcp/tools/catalog-tools.js +19 -14
  114. package/esm/cli/mcp/tools/context7-tools.d.ts.map +1 -1
  115. package/esm/cli/mcp/tools/context7-tools.js +9 -9
  116. package/esm/cli/mcp/tools/deploy-tool.d.ts +7 -7
  117. package/esm/cli/mcp/tools/deploy-tool.d.ts.map +1 -1
  118. package/esm/cli/mcp/tools/deploy-tool.js +7 -6
  119. package/esm/cli/mcp/tools/dev-tools.d.ts +31 -35
  120. package/esm/cli/mcp/tools/dev-tools.d.ts.map +1 -1
  121. package/esm/cli/mcp/tools/dev-tools.js +31 -25
  122. package/esm/cli/mcp/tools/introspection-tools.d.ts.map +1 -1
  123. package/esm/cli/mcp/tools/introspection-tools.js +6 -6
  124. package/esm/cli/mcp/tools/project-tools.d.ts +20 -25
  125. package/esm/cli/mcp/tools/project-tools.d.ts.map +1 -1
  126. package/esm/cli/mcp/tools/project-tools.js +20 -16
  127. package/esm/cli/mcp/tools/run-lint-tool.d.ts +5 -5
  128. package/esm/cli/mcp/tools/run-lint-tool.d.ts.map +1 -1
  129. package/esm/cli/mcp/tools/run-lint-tool.js +5 -4
  130. package/esm/cli/mcp/tools/run-tests-tool.d.ts +7 -7
  131. package/esm/cli/mcp/tools/run-tests-tool.d.ts.map +1 -1
  132. package/esm/cli/mcp/tools/run-tests-tool.js +7 -6
  133. package/esm/cli/mcp/tools/scaffold-tools.d.ts +12 -33
  134. package/esm/cli/mcp/tools/scaffold-tools.d.ts.map +1 -1
  135. package/esm/cli/mcp/tools/scaffold-tools.js +23 -21
  136. package/esm/cli/mcp/tools/skill-tools.d.ts +10 -10
  137. package/esm/cli/mcp/tools/skill-tools.d.ts.map +1 -1
  138. package/esm/cli/mcp/tools/skill-tools.js +8 -8
  139. package/esm/cli/mcp/tools.d.ts +27 -48
  140. package/esm/cli/mcp/tools.d.ts.map +1 -1
  141. package/esm/cli/mcp/tools.js +26 -21
  142. package/esm/cli/shared/args.d.ts +11 -8
  143. package/esm/cli/shared/args.d.ts.map +1 -1
  144. package/esm/cli/shared/args.js +9 -6
  145. package/esm/cli/shared/config.d.ts +38 -20
  146. package/esm/cli/shared/config.d.ts.map +1 -1
  147. package/esm/cli/shared/config.js +20 -17
  148. package/esm/cli/shared/types.d.ts +4 -7
  149. package/esm/cli/shared/types.d.ts.map +1 -1
  150. package/esm/cli/shared/types.js +3 -2
  151. package/esm/cli/skills/types.d.ts +30 -16
  152. package/esm/cli/skills/types.d.ts.map +1 -1
  153. package/esm/cli/skills/types.js +17 -15
  154. package/esm/cli/templates/manifest.js +211 -211
  155. package/esm/deno.d.ts +5 -0
  156. package/esm/deno.js +10 -4
  157. package/esm/extensions/ext-zod/src/adapter.d.ts +22 -0
  158. package/esm/extensions/ext-zod/src/adapter.d.ts.map +1 -0
  159. package/esm/extensions/ext-zod/src/adapter.js +159 -0
  160. package/esm/extensions/ext-zod/src/index.d.ts +19 -0
  161. package/esm/extensions/ext-zod/src/index.d.ts.map +1 -0
  162. package/esm/extensions/ext-zod/src/index.js +32 -0
  163. package/esm/extensions/ext-zod/src/json-schema.d.ts +15 -0
  164. package/esm/extensions/ext-zod/src/json-schema.d.ts.map +1 -0
  165. package/esm/extensions/ext-zod/src/json-schema.js +247 -0
  166. package/esm/src/agent/ag-ui-detached-start.d.ts +97 -50
  167. package/esm/src/agent/ag-ui-detached-start.d.ts.map +1 -1
  168. package/esm/src/agent/ag-ui-detached-start.js +26 -17
  169. package/esm/src/agent/ag-ui-forwarded-context.d.ts +3 -3
  170. package/esm/src/agent/ag-ui-forwarded-context.d.ts.map +1 -1
  171. package/esm/src/agent/ag-ui-forwarded-context.js +3 -2
  172. package/esm/src/agent/ag-ui-handler.d.ts.map +1 -1
  173. package/esm/src/agent/ag-ui-handler.js +5 -3
  174. package/esm/src/agent/ag-ui-host-support.d.ts +119 -65
  175. package/esm/src/agent/ag-ui-host-support.d.ts.map +1 -1
  176. package/esm/src/agent/ag-ui-host-support.js +48 -42
  177. package/esm/src/agent/ag-ui-request-shared.d.ts.map +1 -1
  178. package/esm/src/agent/ag-ui-request-shared.js +11 -2
  179. package/esm/src/agent/ag-ui-run-control.d.ts +15 -8
  180. package/esm/src/agent/ag-ui-run-control.d.ts.map +1 -1
  181. package/esm/src/agent/ag-ui-run-control.js +18 -13
  182. package/esm/src/agent/ag-ui-runtime-handler.d.ts.map +1 -1
  183. package/esm/src/agent/ag-ui-runtime-handler.js +5 -3
  184. package/esm/src/agent/ag-ui-sse-parser.d.ts +57 -0
  185. package/esm/src/agent/ag-ui-sse-parser.d.ts.map +1 -0
  186. package/esm/src/agent/ag-ui-sse-parser.js +227 -0
  187. package/esm/src/agent/ag-ui-tool-shared.d.ts.map +1 -1
  188. package/esm/src/agent/ag-ui-tool-shared.js +3 -2
  189. package/esm/src/agent/chat-handler.d.ts.map +1 -1
  190. package/esm/src/agent/chat-handler.js +58 -57
  191. package/esm/src/agent/composition/composition.js +2 -2
  192. package/esm/src/agent/conversation-bootstrap.d.ts +13 -16
  193. package/esm/src/agent/conversation-bootstrap.d.ts.map +1 -1
  194. package/esm/src/agent/conversation-bootstrap.js +19 -12
  195. package/esm/src/agent/conversation-hosted-lifecycle.d.ts.map +1 -1
  196. package/esm/src/agent/conversation-run-context.d.ts +1 -10
  197. package/esm/src/agent/conversation-run-context.d.ts.map +1 -1
  198. package/esm/src/agent/conversation-run-events.d.ts +9 -5
  199. package/esm/src/agent/conversation-run-events.d.ts.map +1 -1
  200. package/esm/src/agent/conversation-run-events.js +6 -4
  201. package/esm/src/agent/default-hosted-invoke-agent-tool.d.ts +37 -16
  202. package/esm/src/agent/default-hosted-invoke-agent-tool.d.ts.map +1 -1
  203. package/esm/src/agent/default-hosted-invoke-agent-tool.js +10 -5
  204. package/esm/src/agent/durable.d.ts +70 -129
  205. package/esm/src/agent/durable.d.ts.map +1 -1
  206. package/esm/src/agent/durable.js +107 -109
  207. package/esm/src/agent/hosted-ag-ui-chat-request.d.ts +29 -11
  208. package/esm/src/agent/hosted-ag-ui-chat-request.d.ts.map +1 -1
  209. package/esm/src/agent/hosted-ag-ui-chat-request.js +17 -15
  210. package/esm/src/agent/hosted-agent-service-config.d.ts +6 -6
  211. package/esm/src/agent/hosted-agent-service-routes.d.ts.map +1 -1
  212. package/esm/src/agent/hosted-agent-service-routes.js +4 -3
  213. package/esm/src/agent/hosted-chat-request-parser.d.ts +2 -0
  214. package/esm/src/agent/hosted-chat-request-parser.d.ts.map +1 -1
  215. package/esm/src/agent/hosted-chat-request-parser.js +9 -4
  216. package/esm/src/agent/hosted-chat-request.d.ts +291 -20
  217. package/esm/src/agent/hosted-chat-request.d.ts.map +1 -1
  218. package/esm/src/agent/hosted-chat-request.js +33 -31
  219. package/esm/src/agent/hosted-child-fork-step-message-preparation.d.ts.map +1 -1
  220. package/esm/src/agent/hosted-child-status.d.ts.map +1 -1
  221. package/esm/src/agent/hosted-child-status.js +2 -0
  222. package/esm/src/agent/hosted-child-tool-input.d.ts +21 -11
  223. package/esm/src/agent/hosted-child-tool-input.d.ts.map +1 -1
  224. package/esm/src/agent/hosted-child-tool-input.js +12 -10
  225. package/esm/src/agent/hosted-form-input-tool.d.ts +78 -86
  226. package/esm/src/agent/hosted-form-input-tool.d.ts.map +1 -1
  227. package/esm/src/agent/hosted-form-input-tool.js +10 -3
  228. package/esm/src/agent/human-input.d.ts +337 -277
  229. package/esm/src/agent/human-input.d.ts.map +1 -1
  230. package/esm/src/agent/human-input.js +88 -72
  231. package/esm/src/agent/index.d.ts +8 -7
  232. package/esm/src/agent/index.d.ts.map +1 -1
  233. package/esm/src/agent/index.js +8 -7
  234. package/esm/src/agent/input-request-protocol.d.ts +461 -1611
  235. package/esm/src/agent/input-request-protocol.d.ts.map +1 -1
  236. package/esm/src/agent/input-request-protocol.js +120 -107
  237. package/esm/src/agent/invoke-agent-child-runs.d.ts +109 -107
  238. package/esm/src/agent/invoke-agent-child-runs.d.ts.map +1 -1
  239. package/esm/src/agent/invoke-agent-child-runs.js +36 -29
  240. package/esm/src/agent/runtime-ag-ui-contract.d.ts +206 -206
  241. package/esm/src/agent/runtime-ag-ui-contract.d.ts.map +1 -1
  242. package/esm/src/agent/runtime-ag-ui-contract.js +96 -91
  243. package/esm/src/agent/runtime-agent-definition.d.ts +47 -24
  244. package/esm/src/agent/runtime-agent-definition.d.ts.map +1 -1
  245. package/esm/src/agent/runtime-agent-definition.js +26 -20
  246. package/esm/src/agent/runtime-agent-invocation-contract.d.ts +306 -168
  247. package/esm/src/agent/runtime-agent-invocation-contract.d.ts.map +1 -1
  248. package/esm/src/agent/runtime-agent-invocation-contract.js +116 -101
  249. package/esm/src/agent/runtime-client-profile.d.ts +23 -32
  250. package/esm/src/agent/runtime-client-profile.d.ts.map +1 -1
  251. package/esm/src/agent/runtime-client-profile.js +29 -27
  252. package/esm/src/agent/runtime-load-skill-tool.d.ts +6 -7
  253. package/esm/src/agent/runtime-load-skill-tool.d.ts.map +1 -1
  254. package/esm/src/agent/runtime-load-skill-tool.js +7 -6
  255. package/esm/src/agent/runtime-project-files-client.d.ts +19 -10
  256. package/esm/src/agent/runtime-project-files-client.d.ts.map +1 -1
  257. package/esm/src/agent/runtime-project-files-client.js +33 -35
  258. package/esm/src/agent/runtime-skill-metadata.d.ts +6 -20
  259. package/esm/src/agent/runtime-skill-metadata.d.ts.map +1 -1
  260. package/esm/src/agent/runtime-skill-metadata.js +24 -18
  261. package/esm/src/agent/runtime-upload-url-client.d.ts.map +1 -1
  262. package/esm/src/agent/runtime-upload-url-client.js +19 -25
  263. package/esm/src/agent/schemas/agent.schema.d.ts +258 -307
  264. package/esm/src/agent/schemas/agent.schema.d.ts.map +1 -1
  265. package/esm/src/agent/schemas/agent.schema.js +105 -101
  266. package/esm/src/agent/schemas/index.d.ts +2 -2
  267. package/esm/src/agent/schemas/index.d.ts.map +1 -1
  268. package/esm/src/agent/schemas/index.js +2 -2
  269. package/esm/src/agent/schemas/tool.schema.d.ts +5 -5
  270. package/esm/src/agent/schemas/tool.schema.d.ts.map +1 -1
  271. package/esm/src/agent/schemas/tool.schema.js +4 -4
  272. package/esm/src/agent/veryfront-cloud-agent-service.d.ts.map +1 -1
  273. package/esm/src/agent/veryfront-cloud-agent-service.js +30 -7
  274. package/esm/src/cache/schemas/cache-backend.schema.d.ts +15 -14
  275. package/esm/src/cache/schemas/cache-backend.schema.d.ts.map +1 -1
  276. package/esm/src/cache/schemas/cache-backend.schema.js +10 -7
  277. package/esm/src/cache/schemas/cache-key.schema.d.ts +12 -10
  278. package/esm/src/cache/schemas/cache-key.schema.d.ts.map +1 -1
  279. package/esm/src/cache/schemas/cache-key.schema.js +8 -6
  280. package/esm/src/channels/control-plane.d.ts +246 -156
  281. package/esm/src/channels/control-plane.d.ts.map +1 -1
  282. package/esm/src/channels/control-plane.js +80 -73
  283. package/esm/src/channels/invoke.d.ts +220 -134
  284. package/esm/src/channels/invoke.d.ts.map +1 -1
  285. package/esm/src/channels/invoke.js +105 -93
  286. package/esm/src/chat/ag-ui.d.ts +494 -273
  287. package/esm/src/chat/ag-ui.d.ts.map +1 -1
  288. package/esm/src/chat/ag-ui.js +164 -180
  289. package/esm/src/chat/conversation.d.ts +273 -183
  290. package/esm/src/chat/conversation.d.ts.map +1 -1
  291. package/esm/src/chat/conversation.js +97 -111
  292. package/esm/src/chat/types.d.ts +635 -14
  293. package/esm/src/chat/types.d.ts.map +1 -1
  294. package/esm/src/chat/types.js +146 -174
  295. package/esm/src/config/schemas/config.schema.d.ts +799 -395
  296. package/esm/src/config/schemas/config.schema.d.ts.map +1 -1
  297. package/esm/src/config/schemas/config.schema.js +300 -268
  298. package/esm/src/data/schemas/data.schema.d.ts +89 -48
  299. package/esm/src/data/schemas/data.schema.d.ts.map +1 -1
  300. package/esm/src/data/schemas/data.schema.js +36 -29
  301. package/esm/src/extensions/builtin-extensions.d.ts.map +1 -1
  302. package/esm/src/extensions/builtin-extensions.js +9 -0
  303. package/esm/src/extensions/schema/index.d.ts +1 -1
  304. package/esm/src/extensions/schema/index.d.ts.map +1 -1
  305. package/esm/src/extensions/schema/json-schema.d.ts +23 -0
  306. package/esm/src/extensions/schema/json-schema.d.ts.map +1 -0
  307. package/esm/src/extensions/schema/json-schema.js +8 -0
  308. package/esm/src/extensions/schema/schema-validator.d.ts +97 -4
  309. package/esm/src/extensions/schema/schema-validator.d.ts.map +1 -1
  310. package/esm/src/html/hydration-script-builder/hydration-data-generator.js +1 -1
  311. package/esm/src/html/schemas/html.schema.d.ts +107 -90
  312. package/esm/src/html/schemas/html.schema.d.ts.map +1 -1
  313. package/esm/src/html/schemas/html.schema.js +60 -52
  314. package/esm/src/html/utils.d.ts.map +1 -1
  315. package/esm/src/html/utils.js +1 -1
  316. package/esm/src/integrations/schema.d.ts +455 -433
  317. package/esm/src/integrations/schema.d.ts.map +1 -1
  318. package/esm/src/integrations/schema.js +105 -95
  319. package/esm/src/internal-agents/ag-ui-sse.d.ts.map +1 -1
  320. package/esm/src/internal-agents/ag-ui-sse.js +60 -82
  321. package/esm/src/internal-agents/control-plane-auth.d.ts +10 -10
  322. package/esm/src/internal-agents/control-plane-auth.d.ts.map +1 -1
  323. package/esm/src/internal-agents/run-stream.d.ts.map +1 -1
  324. package/esm/src/internal-agents/run-stream.js +3 -2
  325. package/esm/src/internal-agents/schema.d.ts +272 -281
  326. package/esm/src/internal-agents/schema.d.ts.map +1 -1
  327. package/esm/src/internal-agents/schema.js +55 -47
  328. package/esm/src/issues/core.d.ts.map +1 -1
  329. package/esm/src/issues/mcp.d.ts.map +1 -1
  330. package/esm/src/issues/mcp.js +47 -41
  331. package/esm/src/issues/schemas/index.d.ts +1 -1
  332. package/esm/src/issues/schemas/index.d.ts.map +1 -1
  333. package/esm/src/issues/schemas/index.js +1 -1
  334. package/esm/src/issues/schemas/issue.schema.d.ts +151 -116
  335. package/esm/src/issues/schemas/issue.schema.d.ts.map +1 -1
  336. package/esm/src/issues/schemas/issue.schema.js +64 -55
  337. package/esm/src/jobs/schemas.d.ts +1087 -658
  338. package/esm/src/jobs/schemas.d.ts.map +1 -1
  339. package/esm/src/jobs/schemas.js +244 -214
  340. package/esm/src/mcp/index.d.ts +6 -2
  341. package/esm/src/mcp/index.d.ts.map +1 -1
  342. package/esm/src/mcp/index.js +6 -2
  343. package/esm/src/mcp/schemas/index.d.ts +1 -1
  344. package/esm/src/mcp/schemas/index.d.ts.map +1 -1
  345. package/esm/src/mcp/schemas/index.js +1 -1
  346. package/esm/src/mcp/schemas/mcp.schema.d.ts +59 -31
  347. package/esm/src/mcp/schemas/mcp.schema.d.ts.map +1 -1
  348. package/esm/src/mcp/schemas/mcp.schema.js +28 -24
  349. package/esm/src/mcp/types.d.ts +2 -2
  350. package/esm/src/mcp/types.d.ts.map +1 -1
  351. package/esm/src/oauth/providers/atlassian.d.ts +36 -30
  352. package/esm/src/oauth/providers/atlassian.d.ts.map +1 -1
  353. package/esm/src/oauth/providers/common.d.ts +312 -260
  354. package/esm/src/oauth/providers/common.d.ts.map +1 -1
  355. package/esm/src/oauth/providers/google.d.ts +48 -40
  356. package/esm/src/oauth/providers/google.d.ts.map +1 -1
  357. package/esm/src/oauth/providers/microsoft.d.ts +48 -40
  358. package/esm/src/oauth/providers/microsoft.d.ts.map +1 -1
  359. package/esm/src/oauth/schemas/oauth.schema.d.ts +180 -92
  360. package/esm/src/oauth/schemas/oauth.schema.d.ts.map +1 -1
  361. package/esm/src/oauth/schemas/oauth.schema.js +67 -59
  362. package/esm/src/platform/adapters/fs/github/github-api-client.d.ts.map +1 -1
  363. package/esm/src/platform/adapters/fs/github/github-api-client.js +4 -4
  364. package/esm/src/platform/adapters/fs/github/index.d.ts +1 -1
  365. package/esm/src/platform/adapters/fs/github/index.d.ts.map +1 -1
  366. package/esm/src/platform/adapters/fs/github/index.js +1 -1
  367. package/esm/src/platform/adapters/fs/github/schemas/github-api.schema.d.ts +97 -140
  368. package/esm/src/platform/adapters/fs/github/schemas/github-api.schema.d.ts.map +1 -1
  369. package/esm/src/platform/adapters/fs/github/schemas/github-api.schema.js +40 -37
  370. package/esm/src/platform/adapters/fs/github/schemas/index.d.ts +1 -1
  371. package/esm/src/platform/adapters/fs/github/schemas/index.d.ts.map +1 -1
  372. package/esm/src/platform/adapters/fs/github/schemas/index.js +1 -1
  373. package/esm/src/platform/adapters/fs/veryfront/proxy-manager.d.ts.map +1 -1
  374. package/esm/src/platform/adapters/fs/veryfront/proxy-manager.js +7 -4
  375. package/esm/src/platform/adapters/fs/veryfront/schemas/index.d.ts +1 -1
  376. package/esm/src/platform/adapters/fs/veryfront/schemas/index.d.ts.map +1 -1
  377. package/esm/src/platform/adapters/fs/veryfront/schemas/index.js +1 -1
  378. package/esm/src/platform/adapters/fs/veryfront/schemas/proxy-manager.schema.d.ts +11 -11
  379. package/esm/src/platform/adapters/fs/veryfront/schemas/proxy-manager.schema.d.ts.map +1 -1
  380. package/esm/src/platform/adapters/fs/veryfront/schemas/proxy-manager.schema.js +10 -10
  381. package/esm/src/platform/adapters/fs/veryfront/stat-operations.d.ts.map +1 -1
  382. package/esm/src/platform/adapters/fs/veryfront/stat-operations.js +1 -0
  383. package/esm/src/platform/adapters/veryfront-api-client/client.d.ts +63 -63
  384. package/esm/src/platform/adapters/veryfront-api-client/index.d.ts +1 -1
  385. package/esm/src/platform/adapters/veryfront-api-client/index.d.ts.map +1 -1
  386. package/esm/src/platform/adapters/veryfront-api-client/index.js +1 -1
  387. package/esm/src/platform/adapters/veryfront-api-client/operations.d.ts.map +1 -1
  388. package/esm/src/platform/adapters/veryfront-api-client/operations.js +11 -21
  389. package/esm/src/platform/adapters/veryfront-api-client/schemas/api.schema.d.ts +444 -471
  390. package/esm/src/platform/adapters/veryfront-api-client/schemas/api.schema.d.ts.map +1 -1
  391. package/esm/src/platform/adapters/veryfront-api-client/schemas/api.schema.js +150 -122
  392. package/esm/src/platform/adapters/veryfront-api-client/schemas/index.d.ts +1 -1
  393. package/esm/src/platform/adapters/veryfront-api-client/schemas/index.d.ts.map +1 -1
  394. package/esm/src/platform/adapters/veryfront-api-client/schemas/index.js +1 -1
  395. package/esm/src/prompt/schemas/prompt.schema.d.ts +10 -9
  396. package/esm/src/prompt/schemas/prompt.schema.d.ts.map +1 -1
  397. package/esm/src/prompt/schemas/prompt.schema.js +8 -8
  398. package/esm/src/proxy/handler.d.ts.map +1 -1
  399. package/esm/src/proxy/handler.js +0 -1
  400. package/esm/src/repositories/schemas/repository.schema.d.ts +40 -25
  401. package/esm/src/repositories/schemas/repository.schema.d.ts.map +1 -1
  402. package/esm/src/repositories/schemas/repository.schema.js +23 -19
  403. package/esm/src/resource/index.d.ts +6 -2
  404. package/esm/src/resource/index.d.ts.map +1 -1
  405. package/esm/src/resource/index.js +6 -2
  406. package/esm/src/resource/schemas/index.d.ts +1 -1
  407. package/esm/src/resource/schemas/index.d.ts.map +1 -1
  408. package/esm/src/resource/schemas/index.js +1 -1
  409. package/esm/src/resource/schemas/resource.schema.d.ts +13 -16
  410. package/esm/src/resource/schemas/resource.schema.d.ts.map +1 -1
  411. package/esm/src/resource/schemas/resource.schema.js +9 -6
  412. package/esm/src/resource/types.d.ts +3 -3
  413. package/esm/src/resource/types.d.ts.map +1 -1
  414. package/esm/src/routing/api/openapi/types.d.ts +4 -4
  415. package/esm/src/routing/api/openapi/types.d.ts.map +1 -1
  416. package/esm/src/sandbox/hosted-tools.d.ts.map +1 -1
  417. package/esm/src/sandbox/hosted-tools.js +11 -13
  418. package/esm/src/schemas/common.d.ts +48 -28
  419. package/esm/src/schemas/common.d.ts.map +1 -1
  420. package/esm/src/schemas/common.js +67 -28
  421. package/esm/src/schemas/define.d.ts +3 -2
  422. package/esm/src/schemas/define.d.ts.map +1 -1
  423. package/esm/src/schemas/define.js +12 -6
  424. package/esm/src/schemas/index.d.ts +8 -4
  425. package/esm/src/schemas/index.d.ts.map +1 -1
  426. package/esm/src/schemas/index.js +8 -7
  427. package/esm/src/schemas/json-schema.d.ts +25 -0
  428. package/esm/src/schemas/json-schema.d.ts.map +1 -0
  429. package/esm/src/schemas/json-schema.js +27 -0
  430. package/esm/src/schemas/primitives.d.ts +34 -23
  431. package/esm/src/schemas/primitives.d.ts.map +1 -1
  432. package/esm/src/schemas/primitives.js +25 -18
  433. package/esm/src/security/input-validation/handler.d.ts +3 -3
  434. package/esm/src/security/input-validation/handler.d.ts.map +1 -1
  435. package/esm/src/security/input-validation/parsers.d.ts +4 -4
  436. package/esm/src/security/input-validation/parsers.d.ts.map +1 -1
  437. package/esm/src/security/input-validation/parsers.js +35 -45
  438. package/esm/src/server/bootstrap.js +2 -2
  439. package/esm/src/server/dev-ui/manifest.js +1 -1
  440. package/esm/src/server/handlers/dev/framework-candidates.generated.d.ts.map +1 -1
  441. package/esm/src/server/handlers/dev/framework-candidates.generated.js +1 -0
  442. package/esm/src/server/handlers/request/agent-run-cancel.handler.d.ts.map +1 -1
  443. package/esm/src/server/handlers/request/agent-run-cancel.handler.js +2 -3
  444. package/esm/src/server/handlers/request/agent-run-resume.handler.d.ts.map +1 -1
  445. package/esm/src/server/handlers/request/agent-run-resume.handler.js +4 -5
  446. package/esm/src/server/handlers/request/agent-stream.handler.d.ts.map +1 -1
  447. package/esm/src/server/handlers/request/agent-stream.handler.js +3 -4
  448. package/esm/src/server/handlers/request/internal-agents-list.handler.d.ts.map +1 -1
  449. package/esm/src/server/handlers/request/internal-agents-list.handler.js +2 -4
  450. package/esm/src/server/runtime-handler/environment-resolution.d.ts.map +1 -1
  451. package/esm/src/server/runtime-handler/environment-resolution.js +4 -5
  452. package/esm/src/server/runtime-handler/request-utils.d.ts.map +1 -1
  453. package/esm/src/server/runtime-handler/request-utils.js +1 -2
  454. package/esm/src/server/schemas/action.schema.d.ts +10 -6
  455. package/esm/src/server/schemas/action.schema.d.ts.map +1 -1
  456. package/esm/src/server/schemas/action.schema.js +7 -5
  457. package/esm/src/skill/tools.d.ts.map +1 -1
  458. package/esm/src/skill/tools.js +24 -21
  459. package/esm/src/tool/factory.d.ts +1 -1
  460. package/esm/src/tool/factory.d.ts.map +1 -1
  461. package/esm/src/tool/factory.js +12 -1
  462. package/esm/src/tool/host-tools.d.ts +1 -1
  463. package/esm/src/tool/host-tools.d.ts.map +1 -1
  464. package/esm/src/tool/host-tools.js +17 -3
  465. package/esm/src/tool/index.d.ts +9 -5
  466. package/esm/src/tool/index.d.ts.map +1 -1
  467. package/esm/src/tool/index.js +9 -5
  468. package/esm/src/tool/remote-source-tools.d.ts.map +1 -1
  469. package/esm/src/tool/remote-source-tools.js +9 -2
  470. package/esm/src/tool/schema/json-schema.d.ts +8 -15
  471. package/esm/src/tool/schema/json-schema.d.ts.map +1 -1
  472. package/esm/src/tool/schema/json-schema.js +7 -0
  473. package/esm/src/tool/schema/zod-json-schema.d.ts +33 -4
  474. package/esm/src/tool/schema/zod-json-schema.d.ts.map +1 -1
  475. package/esm/src/tool/schema/zod-json-schema.js +70 -159
  476. package/esm/src/tool/sleep.d.ts +21 -11
  477. package/esm/src/tool/sleep.d.ts.map +1 -1
  478. package/esm/src/tool/sleep.js +42 -4
  479. package/esm/src/tool/types.d.ts +12 -8
  480. package/esm/src/tool/types.d.ts.map +1 -1
  481. package/esm/src/transforms/npm-import-rewrites.d.ts +1 -1
  482. package/esm/src/transforms/npm-import-rewrites.d.ts.map +1 -1
  483. package/esm/src/transforms/npm-import-rewrites.js +1 -3
  484. package/esm/src/utils/version-constant.d.ts +1 -1
  485. package/esm/src/utils/version-constant.js +1 -1
  486. package/esm/src/workflow/api.d.ts +22 -22
  487. package/esm/src/workflow/blob/veryfront-cloud-storage.d.ts.map +1 -1
  488. package/esm/src/workflow/blob/veryfront-cloud-storage.js +37 -33
  489. package/esm/src/workflow/claude-code/tool.d.ts +37 -44
  490. package/esm/src/workflow/claude-code/tool.d.ts.map +1 -1
  491. package/esm/src/workflow/claude-code/tool.js +11 -19
  492. package/esm/src/workflow/dsl/workflow.d.ts +3 -3
  493. package/esm/src/workflow/dsl/workflow.d.ts.map +1 -1
  494. package/esm/src/workflow/schemas/index.d.ts +1 -1
  495. package/esm/src/workflow/schemas/index.d.ts.map +1 -1
  496. package/esm/src/workflow/schemas/index.js +1 -1
  497. package/esm/src/workflow/schemas/workflow.schema.d.ts +194 -177
  498. package/esm/src/workflow/schemas/workflow.schema.d.ts.map +1 -1
  499. package/esm/src/workflow/schemas/workflow.schema.js +101 -83
  500. package/esm/src/workflow/types.d.ts +3 -3
  501. package/esm/src/workflow/types.d.ts.map +1 -1
  502. package/package.json +4 -1
  503. package/src/cli/commands/analyze-chunks/handler.ts +9 -5
  504. package/src/cli/commands/build/handler.ts +20 -15
  505. package/src/cli/commands/clean/command.ts +1 -1
  506. package/src/cli/commands/clean/handler.ts +12 -8
  507. package/src/cli/commands/demo/handler.ts +12 -7
  508. package/src/cli/commands/deploy/command.ts +17 -12
  509. package/src/cli/commands/dev/handler.ts +11 -7
  510. package/src/cli/commands/doctor/handler.ts +8 -4
  511. package/src/cli/commands/files/command.ts +64 -44
  512. package/src/cli/commands/generate/handler.ts +9 -5
  513. package/src/cli/commands/generate/integration-generator-helpers.ts +4 -4
  514. package/src/cli/commands/generate/integration-generator.ts +8 -4
  515. package/src/cli/commands/install/detect.ts +1 -1
  516. package/src/cli/commands/install/handler.ts +10 -6
  517. package/src/cli/commands/install/install.ts +20 -12
  518. package/src/cli/commands/install/types.ts +58 -41
  519. package/src/cli/commands/install/uninstall.ts +6 -2
  520. package/src/cli/commands/knowledge/command.ts +60 -52
  521. package/src/cli/commands/lock/handler.ts +13 -9
  522. package/src/cli/commands/mcp/handler.ts +8 -4
  523. package/src/cli/commands/merge/command.ts +14 -9
  524. package/src/cli/commands/open/command.ts +12 -7
  525. package/src/cli/commands/pull/command.ts +20 -15
  526. package/src/cli/commands/push/command.ts +17 -12
  527. package/src/cli/commands/routes/handler.ts +9 -5
  528. package/src/cli/commands/schema/handler.ts +8 -4
  529. package/src/cli/commands/serve/handler.ts +15 -11
  530. package/src/cli/commands/start/handler.ts +11 -7
  531. package/src/cli/commands/studio/handler.ts +10 -6
  532. package/src/cli/commands/styles/command.ts +22 -17
  533. package/src/cli/commands/styles/handler.ts +12 -7
  534. package/src/cli/commands/task/handler.ts +12 -7
  535. package/src/cli/commands/test/handler.ts +9 -5
  536. package/src/cli/commands/up/command.ts +11 -6
  537. package/src/cli/commands/uploads/command.ts +72 -52
  538. package/src/cli/commands/worker/handler.ts +16 -11
  539. package/src/cli/commands/workflow/handler.ts +13 -8
  540. package/src/cli/mcp/jsonrpc.ts +32 -19
  541. package/src/cli/mcp/remote-file-tools.ts +134 -97
  542. package/src/cli/mcp/server.ts +2 -80
  543. package/src/cli/mcp/tools/bootstrap-tool.ts +11 -7
  544. package/src/cli/mcp/tools/build-tool.ts +32 -28
  545. package/src/cli/mcp/tools/catalog-tools.ts +53 -42
  546. package/src/cli/mcp/tools/context7-tools.ts +29 -25
  547. package/src/cli/mcp/tools/deploy-tool.ts +17 -13
  548. package/src/cli/mcp/tools/dev-tools.ts +90 -66
  549. package/src/cli/mcp/tools/introspection-tools.ts +8 -6
  550. package/src/cli/mcp/tools/project-tools.ts +45 -32
  551. package/src/cli/mcp/tools/run-lint-tool.ts +11 -7
  552. package/src/cli/mcp/tools/run-tests-tool.ts +17 -13
  553. package/src/cli/mcp/tools/scaffold-tools.ts +43 -36
  554. package/src/cli/mcp/tools/skill-tools.ts +17 -12
  555. package/src/cli/mcp/tools.ts +65 -51
  556. package/src/cli/shared/args.ts +12 -9
  557. package/src/cli/shared/config.ts +32 -22
  558. package/src/cli/shared/project-source-context.ts +1 -1
  559. package/src/cli/shared/types.ts +5 -3
  560. package/src/cli/skills/types.ts +29 -24
  561. package/src/cli/templates/manifest.js +211 -211
  562. package/src/deno.js +10 -4
  563. package/src/deps/esm.sh/@types/react-dom@19.2.3/client.d.ts +1 -1
  564. package/src/deps/esm.sh/@types/{react@19.2.14 → react@19.2.3}/global.d.ts +0 -1
  565. package/src/deps/esm.sh/@types/{react@19.2.14 → react@19.2.3}/index.d.ts +24 -93
  566. package/src/deps/esm.sh/react-dom@19.2.4/client.d.ts +1 -1
  567. package/src/extensions/ext-zod/src/adapter.ts +238 -0
  568. package/src/extensions/ext-zod/src/index.ts +36 -0
  569. package/src/extensions/ext-zod/src/json-schema.ts +311 -0
  570. package/src/src/agent/ag-ui-detached-start.ts +44 -21
  571. package/src/src/agent/ag-ui-forwarded-context.ts +6 -4
  572. package/src/src/agent/ag-ui-handler.ts +7 -3
  573. package/src/src/agent/ag-ui-host-support.ts +84 -66
  574. package/src/src/agent/ag-ui-request-shared.ts +16 -2
  575. package/src/src/agent/ag-ui-run-control.ts +26 -15
  576. package/src/src/agent/ag-ui-runtime-handler.ts +7 -3
  577. package/src/src/agent/ag-ui-sse-parser.ts +306 -0
  578. package/src/src/agent/ag-ui-tool-shared.ts +5 -2
  579. package/src/src/agent/chat-handler.ts +89 -67
  580. package/src/src/agent/composition/composition.ts +2 -2
  581. package/src/src/agent/conversation-bootstrap.ts +38 -17
  582. package/src/src/agent/conversation-hosted-lifecycle.ts +12 -10
  583. package/src/src/agent/conversation-run-events.ts +13 -5
  584. package/src/src/agent/default-hosted-invoke-agent-tool.ts +19 -8
  585. package/src/src/agent/durable.ts +186 -144
  586. package/src/src/agent/hosted-ag-ui-chat-request.ts +27 -16
  587. package/src/src/agent/hosted-agent-service-routes.ts +4 -3
  588. package/src/src/agent/hosted-chat-request-parser.ts +12 -4
  589. package/src/src/agent/hosted-chat-request.ts +46 -32
  590. package/src/src/agent/hosted-child-fork-step-message-preparation.ts +3 -1
  591. package/src/src/agent/hosted-child-status.ts +8 -1
  592. package/src/src/agent/hosted-child-tool-input.ts +27 -19
  593. package/src/src/agent/hosted-durable-child-fork-execution.ts +3 -3
  594. package/src/src/agent/hosted-form-input-tool.ts +15 -5
  595. package/src/src/agent/human-input.ts +129 -92
  596. package/src/src/agent/index.ts +38 -20
  597. package/src/src/agent/input-request-protocol.ts +193 -124
  598. package/src/src/agent/invoke-agent-child-runs.ts +64 -44
  599. package/src/src/agent/runtime-ag-ui-contract.ts +159 -123
  600. package/src/src/agent/runtime-agent-definition.ts +45 -24
  601. package/src/src/agent/runtime-agent-invocation-contract.ts +241 -174
  602. package/src/src/agent/runtime-client-profile.ts +51 -34
  603. package/src/src/agent/runtime-load-skill-tool.ts +19 -12
  604. package/src/src/agent/runtime-project-files-client.ts +51 -39
  605. package/src/src/agent/runtime-skill-metadata.ts +41 -24
  606. package/src/src/agent/runtime-upload-url-client.ts +24 -24
  607. package/src/src/agent/schemas/agent.schema.ts +179 -142
  608. package/src/src/agent/schemas/index.ts +15 -15
  609. package/src/src/agent/schemas/tool.schema.ts +8 -5
  610. package/src/src/agent/veryfront-cloud-agent-service.ts +40 -6
  611. package/src/src/cache/schemas/cache-backend.schema.ts +18 -9
  612. package/src/src/cache/schemas/cache-key.schema.ts +13 -7
  613. package/src/src/channels/control-plane.ts +132 -96
  614. package/src/src/channels/invoke.ts +165 -120
  615. package/src/src/chat/ag-ui.ts +229 -225
  616. package/src/src/chat/conversation.ts +121 -124
  617. package/src/src/chat/types.ts +230 -205
  618. package/src/src/config/schemas/config.schema.ts +653 -610
  619. package/src/src/data/schemas/data.schema.ts +62 -39
  620. package/src/src/extensions/builtin-extensions.ts +9 -0
  621. package/src/src/extensions/schema/index.ts +3 -0
  622. package/src/src/extensions/schema/json-schema.ts +23 -0
  623. package/src/src/extensions/schema/schema-validator.ts +105 -6
  624. package/src/src/html/html-shell-generator.ts +1 -1
  625. package/src/src/html/hydration-script-builder/hydration-data-generator.ts +2 -2
  626. package/src/src/html/schemas/html.schema.ts +81 -65
  627. package/src/src/html/utils.ts +4 -1
  628. package/src/src/integrations/schema.ts +140 -111
  629. package/src/src/internal-agents/ag-ui-sse.ts +85 -83
  630. package/src/src/internal-agents/run-stream.ts +4 -2
  631. package/src/src/internal-agents/schema.ts +120 -89
  632. package/src/src/issues/core.ts +3 -1
  633. package/src/src/issues/mcp.ts +81 -58
  634. package/src/src/issues/schemas/index.ts +11 -0
  635. package/src/src/issues/schemas/issue.schema.ts +99 -73
  636. package/src/src/jobs/jobs-client.ts +4 -4
  637. package/src/src/jobs/schemas.ts +414 -297
  638. package/src/src/mcp/index.ts +6 -2
  639. package/src/src/mcp/schemas/index.ts +3 -0
  640. package/src/src/mcp/schemas/mcp.schema.ts +45 -29
  641. package/src/src/mcp/types.ts +2 -3
  642. package/src/src/oauth/schemas/oauth.schema.ts +96 -70
  643. package/src/src/platform/adapters/fs/github/github-api-client.ts +6 -6
  644. package/src/src/platform/adapters/fs/github/index.ts +5 -5
  645. package/src/src/platform/adapters/fs/github/schemas/github-api.schema.ts +58 -42
  646. package/src/src/platform/adapters/fs/github/schemas/index.ts +5 -5
  647. package/src/src/platform/adapters/fs/veryfront/proxy-manager.ts +9 -5
  648. package/src/src/platform/adapters/fs/veryfront/schemas/index.ts +1 -1
  649. package/src/src/platform/adapters/fs/veryfront/schemas/proxy-manager.schema.ts +14 -11
  650. package/src/src/platform/adapters/fs/veryfront/stat-operations.ts +1 -0
  651. package/src/src/platform/adapters/veryfront-api-client/index.ts +17 -16
  652. package/src/src/platform/adapters/veryfront-api-client/operations.ts +20 -31
  653. package/src/src/platform/adapters/veryfront-api-client/schemas/api.schema.ts +231 -150
  654. package/src/src/platform/adapters/veryfront-api-client/schemas/index.ts +17 -16
  655. package/src/src/prompt/schemas/prompt.schema.ts +13 -10
  656. package/src/src/proxy/handler.ts +0 -1
  657. package/src/src/rendering/orchestrator/html-project-css.ts +1 -1
  658. package/src/src/rendering/renderer.ts +2 -2
  659. package/src/src/repositories/schemas/repository.schema.ts +36 -22
  660. package/src/src/resource/index.ts +6 -2
  661. package/src/src/resource/schemas/index.ts +2 -0
  662. package/src/src/resource/schemas/resource.schema.ts +17 -8
  663. package/src/src/resource/types.ts +3 -3
  664. package/src/src/routing/api/openapi/types.ts +5 -5
  665. package/src/src/sandbox/hosted-tools.ts +17 -13
  666. package/src/src/schemas/common.ts +83 -31
  667. package/src/src/schemas/define.ts +13 -6
  668. package/src/src/schemas/index.ts +29 -17
  669. package/src/src/schemas/json-schema.ts +33 -0
  670. package/src/src/schemas/primitives.ts +71 -35
  671. package/src/src/security/http/config.ts +1 -1
  672. package/src/src/security/input-validation/handler.ts +3 -3
  673. package/src/src/security/input-validation/parsers.ts +40 -45
  674. package/src/src/server/bootstrap.ts +3 -3
  675. package/src/src/server/dev-ui/manifest.js +1 -1
  676. package/src/src/server/handlers/dev/framework-candidates.generated.ts +1 -0
  677. package/src/src/server/handlers/request/agent-run-cancel.handler.ts +2 -6
  678. package/src/src/server/handlers/request/agent-run-resume.handler.ts +4 -9
  679. package/src/src/server/handlers/request/agent-stream.handler.ts +2 -4
  680. package/src/src/server/handlers/request/internal-agents-list.handler.ts +2 -5
  681. package/src/src/server/runtime-handler/environment-resolution.ts +4 -5
  682. package/src/src/server/runtime-handler/request-utils.ts +1 -2
  683. package/src/src/server/schemas/action.schema.ts +12 -6
  684. package/src/src/skill/tools.ts +37 -25
  685. package/src/src/tool/factory.ts +23 -5
  686. package/src/src/tool/host-tools.ts +16 -6
  687. package/src/src/tool/index.ts +9 -5
  688. package/src/src/tool/remote-source-tools.ts +10 -2
  689. package/src/src/tool/schema/json-schema.ts +9 -15
  690. package/src/src/tool/schema/zod-json-schema.ts +75 -209
  691. package/src/src/tool/sleep.ts +55 -7
  692. package/src/src/tool/types.ts +12 -8
  693. package/src/src/transforms/npm-import-rewrites.ts +1 -3
  694. package/src/src/utils/version-constant.ts +1 -1
  695. package/src/src/workflow/blob/veryfront-cloud-storage.ts +53 -39
  696. package/src/src/workflow/claude-code/tool.ts +29 -38
  697. package/src/src/workflow/dsl/workflow.ts +3 -3
  698. package/src/src/workflow/schemas/index.ts +17 -0
  699. package/src/src/workflow/schemas/workflow.schema.ts +183 -123
  700. package/src/src/workflow/types.ts +3 -3
  701. package/esm/src/schemas/zod-adapter.d.ts +0 -25
  702. package/esm/src/schemas/zod-adapter.d.ts.map +0 -1
  703. package/esm/src/schemas/zod-adapter.js +0 -120
  704. package/src/src/schemas/zod-adapter.ts +0 -180
@@ -1,4 +1,5 @@
1
- import { z } from "zod";
1
+ import { defineSchema } from "../schemas/index.js";
2
+ import type { InferSchema } from "../extensions/schema/index.js";
2
3
  import { extractRequest } from "./ag-ui-request-shared.js";
3
4
  import {
4
5
  RunNotActiveError,
@@ -7,19 +8,24 @@ import {
7
8
  WaitNotPendingError,
8
9
  } from "./runtime/resume-session.js";
9
10
 
10
- const RESUME_PATH_REGEX = /^\/api\/ag-ui\/runs\/([^/]+)\/resume$/;
11
- const CANCEL_PATH_REGEX = /^\/api\/ag-ui\/runs\/([^/]+)$/;
11
+ const RESUME_PATH_REGEX = /^\/api\/runs\/([^/]+)\/resume$/;
12
+ const CANCEL_PATH_REGEX = /^\/api\/runs\/([^/]+)$/;
12
13
 
13
- export const AgUiResumeSignalSchema = z.discriminatedUnion("type", [
14
- z.object({
15
- type: z.literal("tool_result"),
16
- toolCallId: z.string().min(1).max(128),
17
- result: z.unknown(),
18
- isError: z.boolean().optional().default(false),
19
- }),
20
- ]);
14
+ export const getAgUiResumeSignalSchema = defineSchema((v) =>
15
+ v.discriminatedUnion("type", [
16
+ v.object({
17
+ type: v.literal("tool_result"),
18
+ toolCallId: v.string().min(1).max(128),
19
+ result: v.unknown(),
20
+ isError: v.boolean().optional().default(false),
21
+ }),
22
+ ])
23
+ );
21
24
 
22
- export type AgUiResumeSignal = z.infer<typeof AgUiResumeSignalSchema>;
25
+ /** @deprecated Use getAgUiResumeSignalSchema() */
26
+ export const AgUiResumeSignalSchema = getAgUiResumeSignalSchema();
27
+
28
+ export type AgUiResumeSignal = InferSchema<ReturnType<typeof getAgUiResumeSignalSchema>>;
23
29
 
24
30
  type ResumeValue = {
25
31
  result: unknown;
@@ -67,7 +73,7 @@ export function createAgUiResumeHandler(
67
73
  }
68
74
 
69
75
  try {
70
- const parsed = AgUiResumeSignalSchema.parse(await request.json());
76
+ const parsed = getAgUiResumeSignalSchema().parse(await request.json());
71
77
  const outcome = options.sessionManager.submitSignal(runId, {
72
78
  waitKey: parsed.toolCallId,
73
79
  value: {
@@ -78,11 +84,16 @@ export function createAgUiResumeHandler(
78
84
 
79
85
  return Response.json(outcome, { status: 200 });
80
86
  } catch (error) {
81
- if (error instanceof z.ZodError) {
87
+ if (
88
+ error instanceof Error &&
89
+ "issues" in error &&
90
+ Array.isArray((error as Record<string, unknown>).issues)
91
+ ) {
92
+ const issues = (error as { issues: Array<{ path: unknown[]; message: string }> }).issues;
82
93
  return Response.json(
83
94
  {
84
95
  error: "Invalid AG-UI resume request",
85
- details: error.issues.map((issue) => ({
96
+ details: issues.map((issue) => ({
86
97
  path: issue.path,
87
98
  message: issue.message,
88
99
  })),
@@ -1,4 +1,3 @@
1
- import { z } from "zod";
2
1
  import { isResponseLike } from "./response-like.js";
3
2
  import {
4
3
  AgentRuntime,
@@ -482,11 +481,16 @@ export function createAgUiRuntimeHandler(
482
481
 
483
482
  throw new Error("createAgUiRuntimeHandler configuration became invalid during execution.");
484
483
  } catch (error) {
485
- if (error instanceof z.ZodError) {
484
+ if (
485
+ error instanceof Error &&
486
+ "issues" in error &&
487
+ Array.isArray((error as Record<string, unknown>).issues)
488
+ ) {
489
+ const issues = (error as { issues: Array<{ path: unknown[]; message: string }> }).issues;
486
490
  return Response.json(
487
491
  {
488
492
  error: "Invalid AG-UI runtime request",
489
- details: error.issues.map((issue) => ({
493
+ details: issues.map((issue) => ({
490
494
  path: issue.path,
491
495
  message: issue.message,
492
496
  })),
@@ -0,0 +1,306 @@
1
+ import { isRecord } from "../chat/conversation.js";
2
+ import { safeJsonParse } from "../chat/provider-errors.js";
3
+
4
+ /** AG-UI runtime event type constants normalized from browser-wire SSE events. */
5
+ export const agUiSseEventTypes = {
6
+ custom: "CUSTOM",
7
+ textMessageStart: "TEXT_MESSAGE_START",
8
+ textMessageContent: "TEXT_MESSAGE_CONTENT",
9
+ textMessageEnd: "TEXT_MESSAGE_END",
10
+ reasoningMessageStart: "REASONING_MESSAGE_START",
11
+ reasoningMessageContent: "REASONING_MESSAGE_CONTENT",
12
+ reasoningMessageEnd: "REASONING_MESSAGE_END",
13
+ toolCallStart: "TOOL_CALL_START",
14
+ toolCallArgs: "TOOL_CALL_ARGS",
15
+ toolCallEnd: "TOOL_CALL_END",
16
+ toolCallResult: "TOOL_CALL_RESULT",
17
+ runStarted: "RUN_STARTED",
18
+ stateSnapshot: "STATE_SNAPSHOT",
19
+ messagesSnapshot: "MESSAGES_SNAPSHOT",
20
+ stepStarted: "STEP_STARTED",
21
+ stepFinished: "STEP_FINISHED",
22
+ runError: "RUN_ERROR",
23
+ runFinished: "RUN_FINISHED",
24
+ } as const;
25
+
26
+ /** Normalized AG-UI runtime event type value. */
27
+ export type AgUiSseEventType = (typeof agUiSseEventTypes)[keyof typeof agUiSseEventTypes];
28
+
29
+ /** Parsed AG-UI SSE response summary for evals, canaries, and host tests. */
30
+ export interface ParsedAgUiSseRun {
31
+ responseStatus: number;
32
+ events: Array<Record<string, unknown>>;
33
+ eventTypes: string[];
34
+ toolStarts: string[];
35
+ toolArgs: string[];
36
+ text: string;
37
+ runError: string | null;
38
+ }
39
+
40
+ /** Progress snapshot emitted while parsing an AG-UI SSE response. */
41
+ export interface AgUiSseProgressSnapshot {
42
+ eventCount: number;
43
+ lastEventType: string | null;
44
+ lastToolCallName: string | null;
45
+ toolStarts: string[];
46
+ textLength: number;
47
+ }
48
+
49
+ /** Options for `parseAgUiSseResponse()`. */
50
+ export interface ParseAgUiSseResponseOptions {
51
+ onProgress?: (snapshot: AgUiSseProgressSnapshot) => void;
52
+ progressThrottleMs?: number;
53
+ }
54
+
55
+ /** Stringify an AG-UI SSE event or fallback value for diagnostics. */
56
+ export function stringifyAgUiSseEvent(value: unknown): string {
57
+ return JSON.stringify(value) ?? String(value);
58
+ }
59
+
60
+ /** Return a string field from a parsed AG-UI SSE event record. */
61
+ export function getAgUiSseStringField(record: Record<string, unknown>, key: string): string | null {
62
+ const value = record[key];
63
+ return typeof value === "string" ? value : null;
64
+ }
65
+
66
+ /** Filter parsed AG-UI SSE events by normalized event type. */
67
+ export function getAgUiSseEventsOfType(
68
+ events: Array<Record<string, unknown>>,
69
+ eventType: string,
70
+ ): Array<Record<string, unknown>> {
71
+ return events.filter((event) => getAgUiSseStringField(event, "type") === eventType);
72
+ }
73
+
74
+ /** Build a compact ordered event-type signature for regression checks. */
75
+ export function buildAgUiSseTraceSignature(eventTypes: string[]): string {
76
+ return eventTypes.join(" > ");
77
+ }
78
+
79
+ function serializeToolResult(value: unknown): string {
80
+ if (typeof value === "string") {
81
+ return value;
82
+ }
83
+
84
+ try {
85
+ return JSON.stringify(value ?? null);
86
+ } catch {
87
+ return String(value);
88
+ }
89
+ }
90
+
91
+ function createEmptyParsedRun(responseStatus: number): ParsedAgUiSseRun {
92
+ return {
93
+ responseStatus,
94
+ events: [],
95
+ eventTypes: [],
96
+ toolStarts: [],
97
+ toolArgs: [],
98
+ text: "",
99
+ runError: null,
100
+ };
101
+ }
102
+
103
+ function createProgressSnapshot(run: ParsedAgUiSseRun): AgUiSseProgressSnapshot {
104
+ const lastEvent = run.events.at(-1);
105
+ const lastToolStart = [...run.events]
106
+ .reverse()
107
+ .find((event) => getAgUiSseStringField(event, "type") === agUiSseEventTypes.toolCallStart);
108
+
109
+ return {
110
+ eventCount: run.events.length,
111
+ lastEventType: lastEvent ? getAgUiSseStringField(lastEvent, "type") : null,
112
+ lastToolCallName: lastToolStart ? getAgUiSseStringField(lastToolStart, "toolCallName") : null,
113
+ toolStarts: [...run.toolStarts],
114
+ textLength: run.text.length,
115
+ };
116
+ }
117
+
118
+ function applyParsedEvent(run: ParsedAgUiSseRun, event: Record<string, unknown>) {
119
+ run.events.push(event);
120
+
121
+ const type = getAgUiSseStringField(event, "type");
122
+ if (type) {
123
+ run.eventTypes.push(type);
124
+ }
125
+
126
+ if (type === agUiSseEventTypes.toolCallStart) {
127
+ const toolCallName = getAgUiSseStringField(event, "toolCallName");
128
+ if (toolCallName) {
129
+ run.toolStarts.push(toolCallName);
130
+ }
131
+ }
132
+
133
+ if (type === agUiSseEventTypes.toolCallArgs) {
134
+ const delta = getAgUiSseStringField(event, "delta");
135
+ if (delta) {
136
+ run.toolArgs.push(delta);
137
+ }
138
+ }
139
+
140
+ if (type === agUiSseEventTypes.textMessageContent) {
141
+ const delta = getAgUiSseStringField(event, "delta");
142
+ if (delta) {
143
+ run.text += delta;
144
+ }
145
+ }
146
+ }
147
+
148
+ function coerceBrowserWireEvent(
149
+ eventName: string,
150
+ payload: Record<string, unknown>,
151
+ ): Record<string, unknown> {
152
+ switch (eventName) {
153
+ case "RunStarted":
154
+ return { type: agUiSseEventTypes.runStarted, ...payload };
155
+ case "StateSnapshot":
156
+ return { type: agUiSseEventTypes.stateSnapshot, ...payload };
157
+ case "MessagesSnapshot":
158
+ return { type: agUiSseEventTypes.messagesSnapshot, ...payload };
159
+ case "TextMessageStart":
160
+ return { type: agUiSseEventTypes.textMessageStart, ...payload };
161
+ case "TextMessageContent":
162
+ return { type: agUiSseEventTypes.textMessageContent, ...payload };
163
+ case "TextMessageEnd":
164
+ return { type: agUiSseEventTypes.textMessageEnd, ...payload };
165
+ case "ReasoningMessageStart":
166
+ return { type: agUiSseEventTypes.reasoningMessageStart, ...payload };
167
+ case "ReasoningMessageContent":
168
+ return { type: agUiSseEventTypes.reasoningMessageContent, ...payload };
169
+ case "ReasoningMessageEnd":
170
+ return { type: agUiSseEventTypes.reasoningMessageEnd, ...payload };
171
+ case "StepStarted":
172
+ return { type: agUiSseEventTypes.stepStarted, ...payload };
173
+ case "StepFinished":
174
+ return { type: agUiSseEventTypes.stepFinished, ...payload };
175
+ case "ToolCallStart":
176
+ return { type: agUiSseEventTypes.toolCallStart, ...payload };
177
+ case "ToolCallArgs":
178
+ return { type: agUiSseEventTypes.toolCallArgs, ...payload };
179
+ case "ToolCallEnd":
180
+ return { type: agUiSseEventTypes.toolCallEnd, ...payload };
181
+ case "ToolCallResult":
182
+ return {
183
+ type: agUiSseEventTypes.toolCallResult,
184
+ ...payload,
185
+ ...(payload.result !== undefined ? { content: serializeToolResult(payload.result) } : {}),
186
+ };
187
+ case "Custom":
188
+ return { type: agUiSseEventTypes.custom, ...payload };
189
+ case "RunError":
190
+ return { type: agUiSseEventTypes.runError, ...payload };
191
+ case "RunFinished":
192
+ return { type: agUiSseEventTypes.runFinished, ...payload };
193
+ default:
194
+ return { type: eventName, ...payload };
195
+ }
196
+ }
197
+
198
+ function normalizeParsedEvent(
199
+ payload: Record<string, unknown>,
200
+ eventName: string | null,
201
+ ): Record<string, unknown> | null {
202
+ if (typeof payload.type === "string") {
203
+ return payload;
204
+ }
205
+
206
+ if (!eventName) {
207
+ return null;
208
+ }
209
+
210
+ return coerceBrowserWireEvent(eventName, payload);
211
+ }
212
+
213
+ function consumeSseBuffer(
214
+ run: ParsedAgUiSseRun,
215
+ buffer: string,
216
+ options: ParseAgUiSseResponseOptions,
217
+ state: { lastProgressAt: number; progressThrottleMs: number },
218
+ ): string {
219
+ let nextBuffer = buffer;
220
+ let separatorIndex = nextBuffer.indexOf("\n\n");
221
+
222
+ while (separatorIndex !== -1) {
223
+ const entry = nextBuffer.slice(0, separatorIndex).trim();
224
+ nextBuffer = nextBuffer.slice(separatorIndex + 2);
225
+ const eventName = entry
226
+ .split("\n")
227
+ .flatMap((line) =>
228
+ line.startsWith("event:") ? [line.slice("event:".length).trimStart()] : []
229
+ )[0] ?? null;
230
+
231
+ const data = entry
232
+ .split("\n")
233
+ .flatMap((line) => line.startsWith("data:") ? [line.slice("data:".length).trimStart()] : [])
234
+ .join("\n");
235
+
236
+ if (data.length > 0 && data !== "[DONE]") {
237
+ const parsed = safeJsonParse(data);
238
+ if (parsed.ok && isRecord(parsed.value)) {
239
+ const normalizedEvent = normalizeParsedEvent(parsed.value, eventName);
240
+ if (normalizedEvent) {
241
+ applyParsedEvent(run, normalizedEvent);
242
+ const now = Date.now();
243
+ if (options.onProgress && now - state.lastProgressAt >= state.progressThrottleMs) {
244
+ options.onProgress(createProgressSnapshot(run));
245
+ state.lastProgressAt = now;
246
+ }
247
+ }
248
+ }
249
+ }
250
+
251
+ separatorIndex = nextBuffer.indexOf("\n\n");
252
+ }
253
+
254
+ return nextBuffer;
255
+ }
256
+
257
+ /** Parse an AG-UI SSE `Response` into normalized events, text, tool starts, and terminal error state. */
258
+ export async function parseAgUiSseResponse(
259
+ response: Response,
260
+ options: ParseAgUiSseResponseOptions = {},
261
+ ): Promise<ParsedAgUiSseRun> {
262
+ const run = createEmptyParsedRun(response.status);
263
+ const decoder = new TextDecoder();
264
+ const rawChunks: string[] = [];
265
+ const state = { lastProgressAt: 0, progressThrottleMs: options.progressThrottleMs ?? 15_000 };
266
+
267
+ if (!response.body) {
268
+ const body = await response.text();
269
+ rawChunks.push(body);
270
+ } else {
271
+ const reader = response.body.getReader();
272
+ let buffer = "";
273
+
274
+ while (true) {
275
+ const result = await reader.read();
276
+ if (result.done) {
277
+ const tail = decoder.decode();
278
+ if (tail.length > 0) {
279
+ rawChunks.push(tail);
280
+ buffer += tail;
281
+ }
282
+ break;
283
+ }
284
+
285
+ const decoded = decoder.decode(result.value, { stream: true });
286
+ rawChunks.push(decoded);
287
+ buffer += decoded;
288
+ buffer = consumeSseBuffer(run, buffer, options, state);
289
+ }
290
+ }
291
+
292
+ if (options.onProgress) {
293
+ options.onProgress(createProgressSnapshot(run));
294
+ }
295
+
296
+ run.text = run.text.trim();
297
+
298
+ const runErrorEvent = getAgUiSseEventsOfType(run.events, agUiSseEventTypes.runError)[0];
299
+ run.runError = runErrorEvent && typeof runErrorEvent.message === "string"
300
+ ? runErrorEvent.message
301
+ : response.ok
302
+ ? null
303
+ : rawChunks.join("").trim() || `${response.status}`;
304
+
305
+ return run;
306
+ }
@@ -1,4 +1,5 @@
1
- import { z } from "zod";
1
+ import { defineSchema } from "../schemas/index.js";
2
+ import type { Schema } from "../extensions/schema/index.js";
2
3
  import { SKILL_TOOL_IDS } from "../skill/types.js";
3
4
  import { toolRegistry } from "../tool/registry.js";
4
5
  import type { Tool } from "../tool/types.js";
@@ -7,6 +8,8 @@ import type { Agent } from "./types.js";
7
8
 
8
9
  export type AgUiResumeValue = { result: unknown; isError: boolean };
9
10
 
11
+ const getAnyObjectSchema = defineSchema((v) => v.record(v.string(), v.unknown()));
12
+
10
13
  export interface AgUiInjectedToolLike {
11
14
  name: string;
12
15
  description?: string;
@@ -22,7 +25,7 @@ export function createInjectedAgUiTool(
22
25
  id: tool.name,
23
26
  type: "function",
24
27
  description: tool.description ?? tool.name,
25
- inputSchema: z.record(z.string(), z.unknown()),
28
+ inputSchema: getAnyObjectSchema() as Schema<Record<string, unknown>>,
26
29
  inputSchemaJson: (tool.parameters ??
27
30
  { type: "object", properties: {}, additionalProperties: true }) as Tool["inputSchemaJson"],
28
31
  execute: async (_input, context) => {
@@ -1,4 +1,5 @@
1
- import { z } from "zod";
1
+ import { defineSchema } from "../schemas/index.js";
2
+ import type { InferSchema } from "../extensions/schema/index.js";
2
3
  import { isResponseLike } from "./response-like.js";
3
4
  import { getAgent } from "./composition/index.js";
4
5
  import type { Message } from "./types.js";
@@ -13,72 +14,88 @@ const MAX_TEXT_PART_LENGTH = 10_000;
13
14
  const MAX_MESSAGES_PER_REQUEST = 100;
14
15
 
15
16
  // ---------------------------------------------------------------------------
16
- // Zod schemas for validating parts-based chat UI messages
17
+ // Schemas for validating parts-based chat UI messages
17
18
  // ---------------------------------------------------------------------------
18
19
 
19
- const textPartSchema = z.object({
20
- type: z.literal("text"),
21
- text: z.string().max(MAX_TEXT_PART_LENGTH),
22
- state: z.string().optional(),
23
- });
24
-
25
- const toolCallPartSchema = z.object({
26
- type: z.literal("tool-call"),
27
- toolCallId: z.string(),
28
- toolName: z.string(),
29
- args: z.unknown(),
30
- });
31
-
32
- const toolResultPartSchema = z.object({
33
- type: z.literal("tool-result"),
34
- toolCallId: z.string(),
35
- result: z.unknown(),
36
- });
37
-
38
- const dynamicToolPartSchema = z
39
- .object({
40
- type: z.string().startsWith("tool-"),
41
- toolCallId: z.string(),
42
- toolName: z.string(),
43
- state: z.string().optional(),
44
- input: z.unknown().optional(),
45
- output: z.unknown().optional(),
20
+ const getTextPartSchema = defineSchema((v) =>
21
+ v.object({
22
+ type: v.literal("text"),
23
+ text: v.string().max(MAX_TEXT_PART_LENGTH),
24
+ state: v.string().optional(),
46
25
  })
47
- .passthrough();
48
-
49
- const stepPartSchema = z.object({
50
- type: z.enum(["step-start", "step-end"]),
51
- stepIndex: z.number().optional(),
52
- }).passthrough();
53
-
54
- const reasoningPartSchema = z.object({
55
- type: z.literal("reasoning"),
56
- text: z.string(),
57
- state: z.string().optional(),
58
- }).passthrough();
59
-
60
- const partSchema = z.union([
61
- textPartSchema,
62
- toolCallPartSchema,
63
- toolResultPartSchema,
64
- dynamicToolPartSchema,
65
- stepPartSchema,
66
- reasoningPartSchema,
67
- ]);
68
-
69
- const messageSchema = z.object({
70
- id: z.string().optional(),
71
- role: z.enum(["user", "assistant", "system", "tool"]),
72
- parts: z.array(partSchema).min(1),
73
- });
74
-
75
- const chatRequestSchema = z.object({
76
- messages: z.array(messageSchema).min(1).max(MAX_MESSAGES_PER_REQUEST),
77
- model: z.string().optional(),
78
- });
79
-
80
- type ParsedMessage = z.infer<typeof messageSchema>;
81
- type ParsedTextPart = z.infer<typeof textPartSchema>;
26
+ );
27
+
28
+ const getToolCallPartSchema = defineSchema((v) =>
29
+ v.object({
30
+ type: v.literal("tool-call"),
31
+ toolCallId: v.string(),
32
+ toolName: v.string(),
33
+ args: v.unknown(),
34
+ })
35
+ );
36
+
37
+ const getToolResultPartSchema = defineSchema((v) =>
38
+ v.object({
39
+ type: v.literal("tool-result"),
40
+ toolCallId: v.string(),
41
+ result: v.unknown(),
42
+ })
43
+ );
44
+
45
+ const getDynamicToolPartSchema = defineSchema((v) =>
46
+ v.object({
47
+ type: v.string(),
48
+ toolCallId: v.string(),
49
+ toolName: v.string(),
50
+ state: v.string().optional(),
51
+ input: v.unknown().optional(),
52
+ output: v.unknown().optional(),
53
+ }).passthrough()
54
+ );
55
+
56
+ const getStepPartSchema = defineSchema((v) =>
57
+ v.object({
58
+ type: v.enum(["step-start", "step-end"]),
59
+ stepIndex: v.number().optional(),
60
+ }).passthrough()
61
+ );
62
+
63
+ const getReasoningPartSchema = defineSchema((v) =>
64
+ v.object({
65
+ type: v.literal("reasoning"),
66
+ text: v.string(),
67
+ state: v.string().optional(),
68
+ }).passthrough()
69
+ );
70
+
71
+ const getPartSchema = defineSchema((v) =>
72
+ v.union([
73
+ getTextPartSchema(),
74
+ getToolCallPartSchema(),
75
+ getToolResultPartSchema(),
76
+ getDynamicToolPartSchema(),
77
+ getStepPartSchema(),
78
+ getReasoningPartSchema(),
79
+ ])
80
+ );
81
+
82
+ const getMessageSchema = defineSchema((v) =>
83
+ v.object({
84
+ id: v.string().optional(),
85
+ role: v.enum(["user", "assistant", "system", "tool"]),
86
+ parts: v.array(getPartSchema()).min(1),
87
+ })
88
+ );
89
+
90
+ const getChatRequestSchema = defineSchema((v) =>
91
+ v.object({
92
+ messages: v.array(getMessageSchema()).min(1).max(MAX_MESSAGES_PER_REQUEST),
93
+ model: v.string().optional(),
94
+ })
95
+ );
96
+
97
+ type ParsedMessage = InferSchema<ReturnType<typeof getMessageSchema>>;
98
+ type ParsedTextPart = InferSchema<ReturnType<typeof getTextPartSchema>>;
82
99
 
83
100
  // ---------------------------------------------------------------------------
84
101
  // Message transformation
@@ -414,7 +431,7 @@ export function createChatHandler(
414
431
 
415
432
  try {
416
433
  const body = await request.json();
417
- const { messages: rawMessages, model: requestModel } = chatRequestSchema.parse(body);
434
+ const { messages: rawMessages, model: requestModel } = getChatRequestSchema().parse(body);
418
435
 
419
436
  const context = typeof options?.context === "function"
420
437
  ? await options.context(request)
@@ -446,11 +463,16 @@ export function createChatHandler(
446
463
 
447
464
  return result.toDataStreamResponse();
448
465
  } catch (error) {
449
- if (error instanceof z.ZodError) {
466
+ if (
467
+ error instanceof Error &&
468
+ "issues" in error &&
469
+ Array.isArray((error as Record<string, unknown>).issues)
470
+ ) {
471
+ const issues = (error as { issues: Array<{ path: unknown[]; message: string }> }).issues;
450
472
  return Response.json(
451
473
  {
452
474
  error: "Invalid request",
453
- details: error.issues.map((e) => ({ path: e.path, message: e.message })),
475
+ details: issues.map((e) => ({ path: e.path, message: e.message })),
454
476
  },
455
477
  { status: 400 },
456
478
  );
@@ -14,14 +14,14 @@ import type { Tool } from "../../tool/index.js";
14
14
  import { setActiveSpanAttributes, withSpan } from "../../observability/tracing/otlp-setup.js";
15
15
  import { ScopedRegistryFacade } from "../../registry/scoped-registry-facade.js";
16
16
  import { ProjectScopedRegistryManager } from "../../registry/project-scoped-registry-manager.js";
17
- import { AgentToolInputSchema } from "../schemas/index.js";
17
+ import { getAgentToolInputSchema } from "../schemas/index.js";
18
18
 
19
19
  export function agentAsTool(agent: Agent, description: string): Tool {
20
20
  return {
21
21
  id: `agent_${agent.id}`,
22
22
  type: "function",
23
23
  description,
24
- inputSchema: AgentToolInputSchema,
24
+ inputSchema: getAgentToolInputSchema(),
25
25
  execute({ input }) {
26
26
  return withSpan(
27
27
  "agent.composition.agentAsTool.execute",