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
@@ -0,0 +1,311 @@
1
+ /**
2
+ * Zod-to-JSON-Schema converter used by the `SchemaValidator` adapter.
3
+ *
4
+ * Operates directly on zod's internal `_def` shape (covers both v3 and v4)
5
+ * because zod ships no first-class JSON-Schema export. Confined to
6
+ * `extensions/ext-zod/` so the rest of the codebase never has to import zod
7
+ * to learn what a tool's input schema looks like.
8
+ *
9
+ * @module extensions/ext-zod/json-schema
10
+ */
11
+
12
+ import type { z } from "zod";
13
+ import type { JsonSchema } from "../../../src/extensions/schema/index.js";
14
+
15
+ /** Zod internal _def shape — covers fields from both v3 and v4. */
16
+ interface ZodDef {
17
+ typeName?: string; // v3
18
+ type?: string; // v4
19
+ value?: unknown; // v3 literal
20
+ values?: unknown; // v3 enum / v4 literal
21
+ entries?: Record<string, unknown>; // v4 enum
22
+ description?: string; // v3 description metadata
23
+ shape?: (() => Record<string, z.ZodTypeAny>) | Record<string, z.ZodTypeAny>;
24
+ element?: z.ZodTypeAny; // v4 array/record
25
+ items?: z.ZodTypeAny[]; // tuple
26
+ options?: z.ZodTypeAny[] | Map<string, z.ZodTypeAny>; // union
27
+ valueType?: z.ZodTypeAny; // record
28
+ catchall?: z.ZodTypeAny; // object unknown-key policy / catchall
29
+ unknownKeys?: "strip" | "passthrough" | "strict"; // v3 object unknown-key policy
30
+ innerType?: z.ZodTypeAny; // optional/nullable/default (v3)
31
+ schema?: z.ZodTypeAny; // effects/optional/nullable (v3/v4)
32
+ in?: z.ZodTypeAny; // pipe input (v4)
33
+ getter?: () => z.ZodTypeAny; // lazy
34
+ defaultValue?: (() => unknown) | unknown;
35
+ }
36
+
37
+ interface ConversionContext {
38
+ seen: WeakSet<object>;
39
+ }
40
+
41
+ const LITERAL_TYPE_MAP: Record<string, "string" | "number" | "boolean"> = {
42
+ string: "string",
43
+ number: "number",
44
+ boolean: "boolean",
45
+ };
46
+
47
+ function getLiteralType(value: unknown): "string" | "number" | "boolean" | undefined {
48
+ return LITERAL_TYPE_MAP[typeof value];
49
+ }
50
+
51
+ function getDef(schema: z.ZodTypeAny): ZodDef {
52
+ return schema._def as ZodDef;
53
+ }
54
+
55
+ /** Get the internal type tag from a zod schema (_def.typeName in v3, _def.type in v4). */
56
+ function getTypeTag(schema: z.ZodTypeAny): string | undefined {
57
+ const def = getDef(schema);
58
+ return def.typeName ?? def.type;
59
+ }
60
+
61
+ export function zodToJsonSchema(schema: z.ZodTypeAny): JsonSchema {
62
+ return convertSchema(schema, { seen: new WeakSet() });
63
+ }
64
+
65
+ function convertSchema(schema: z.ZodTypeAny, context: ConversionContext): JsonSchema {
66
+ // Guard against invalid schemas (can happen with different zod instances in npm bundle)
67
+ if (!schema || typeof schema !== "object" || !("_def" in schema)) {
68
+ throw new Error("Invalid Zod schema: missing _def property");
69
+ }
70
+
71
+ const { schema: unwrapped, nullable } = unwrapSchema(schema);
72
+ const json = convert(unwrapped, context);
73
+ const description = getDescription(schema) ?? getDescription(unwrapped);
74
+ if (description && json.description === undefined) json.description = description;
75
+
76
+ return nullable ? { anyOf: [json, { type: "null" }] } : json;
77
+ }
78
+
79
+ export function isOptionalSchema(schema: z.ZodTypeAny): boolean {
80
+ return unwrapSchema(schema).optional || hasDefaultSchema(schema);
81
+ }
82
+
83
+ function convert(schema: z.ZodTypeAny, context: ConversionContext): JsonSchema {
84
+ if (context.seen.has(schema)) return {};
85
+ context.seen.add(schema);
86
+
87
+ try {
88
+ return convertInner(schema, context);
89
+ } finally {
90
+ context.seen.delete(schema);
91
+ }
92
+ }
93
+
94
+ function convertInner(schema: z.ZodTypeAny, context: ConversionContext): JsonSchema {
95
+ const tag = getTypeTag(schema);
96
+ const def = getDef(schema);
97
+
98
+ switch (tag) {
99
+ case "ZodString":
100
+ case "string":
101
+ return { type: "string" };
102
+
103
+ case "ZodNumber":
104
+ case "number":
105
+ return { type: "number" };
106
+
107
+ case "ZodBoolean":
108
+ case "boolean":
109
+ return { type: "boolean" };
110
+
111
+ case "ZodBigInt":
112
+ case "bigint":
113
+ return { type: "integer" };
114
+
115
+ case "ZodLiteral":
116
+ case "literal": {
117
+ // v3: _def.value, v4: _def.values (array of accepted values)
118
+ const literal = def.value ?? (Array.isArray(def.values) ? def.values[0] : def.values);
119
+ return { const: literal, type: getLiteralType(literal) };
120
+ }
121
+
122
+ case "ZodEnum":
123
+ case "ZodNativeEnum":
124
+ case "enum": {
125
+ // v3: _def.values (array), v4: _def.entries (object {key: value})
126
+ const values = def.values ?? (def.entries ? Object.values(def.entries) : []);
127
+ if (Array.isArray(values)) {
128
+ return { type: "string", enum: values };
129
+ }
130
+ // Native enum: filter out reverse-mapped numeric keys
131
+ return {
132
+ enum: Object.values(values).filter((value) => typeof value !== "number"),
133
+ };
134
+ }
135
+
136
+ case "ZodObject":
137
+ case "object": {
138
+ const shape = typeof def.shape === "function" ? def.shape() : def.shape;
139
+ const properties: Record<string, JsonSchema> = {};
140
+ const required: string[] = [];
141
+
142
+ for (const [key, value] of Object.entries(shape ?? {})) {
143
+ const zodSchema = value as z.ZodTypeAny;
144
+ properties[key] = convertSchema(zodSchema, context);
145
+ if (!isOptionalSchema(zodSchema)) required.push(key);
146
+ }
147
+
148
+ const json: JsonSchema = { type: "object", properties };
149
+ if (required.length) json.required = required;
150
+ const additionalProperties = getObjectAdditionalProperties(def, context);
151
+ if (additionalProperties !== undefined) json.additionalProperties = additionalProperties;
152
+
153
+ return json;
154
+ }
155
+
156
+ case "ZodArray":
157
+ case "array": {
158
+ // v3: _def.type (item schema), v4: _def.element (item schema)
159
+ const itemType = def.element ?? (def.type as unknown as z.ZodTypeAny | undefined);
160
+ if (!itemType || typeof itemType === "string") return { type: "array" };
161
+ return { type: "array", items: convertSchema(itemType, context) };
162
+ }
163
+
164
+ case "ZodTuple":
165
+ case "tuple": {
166
+ const items = def.items ?? [];
167
+ return {
168
+ type: "array",
169
+ prefixItems: items.map((item: z.ZodTypeAny) => convertSchema(item, context)),
170
+ minItems: items.length,
171
+ maxItems: items.length,
172
+ };
173
+ }
174
+
175
+ case "ZodUnion":
176
+ case "ZodDiscriminatedUnion":
177
+ case "union": {
178
+ const options = def.options ?? [];
179
+ const optionArray = options instanceof Map ? Array.from(options.values()) : options;
180
+ return { anyOf: optionArray.map((option: z.ZodTypeAny) => convertSchema(option, context)) };
181
+ }
182
+
183
+ case "ZodRecord":
184
+ case "record": {
185
+ const valueSchema = def.valueType ?? def.element;
186
+ if (!valueSchema) return { type: "object" };
187
+ return { type: "object", additionalProperties: convertSchema(valueSchema, context) };
188
+ }
189
+
190
+ case "ZodDefault":
191
+ case "default": {
192
+ const innerType = def.innerType ?? def.schema;
193
+ if (!innerType) return { type: "object" };
194
+ const inner = convertSchema(innerType, context);
195
+ const defaultValue = typeof def.defaultValue === "function"
196
+ ? def.defaultValue()
197
+ : def.defaultValue;
198
+
199
+ if (typeof inner === "object" && !("anyOf" in inner) && defaultValue !== undefined) {
200
+ inner.default = defaultValue;
201
+ }
202
+
203
+ return inner;
204
+ }
205
+
206
+ case "ZodLazy":
207
+ case "lazy":
208
+ return def.getter ? convert(def.getter(), context) : { type: "object" };
209
+
210
+ case "ZodEffects":
211
+ case "pipe": {
212
+ // v3: ZodEffects wraps schema in _def.schema
213
+ // v4: pipe wraps in _def.in (input schema)
214
+ const innerSchema = def.schema ?? def.in;
215
+ return innerSchema ? convert(innerSchema, context) : { type: "object" };
216
+ }
217
+
218
+ default:
219
+ return { type: "object" };
220
+ }
221
+ }
222
+
223
+ function getObjectAdditionalProperties(
224
+ def: ZodDef,
225
+ context: ConversionContext,
226
+ ): boolean | JsonSchema | undefined {
227
+ if (def.unknownKeys === "passthrough") return true;
228
+ if (def.unknownKeys === "strict") return false;
229
+ if (def.unknownKeys === "strip") return undefined;
230
+
231
+ if (!def.catchall) return undefined;
232
+
233
+ const catchallTag = getTypeTag(def.catchall);
234
+ if (catchallTag === "unknown" || catchallTag === "ZodUnknown") return true;
235
+ if (catchallTag === "never" || catchallTag === "ZodNever") return false;
236
+ return convertSchema(def.catchall, context);
237
+ }
238
+
239
+ function unwrapSchema(
240
+ schema: z.ZodTypeAny,
241
+ ): { schema: z.ZodTypeAny; nullable: boolean; optional: boolean } {
242
+ let current: z.ZodTypeAny = schema;
243
+ let nullable = false;
244
+ let optional = false;
245
+
246
+ while (true) {
247
+ const tag = getTypeTag(current);
248
+ const def = getDef(current);
249
+
250
+ switch (tag) {
251
+ case "ZodNullable":
252
+ case "nullable":
253
+ nullable = true;
254
+ current = (def.innerType ?? def.schema)!;
255
+ break;
256
+
257
+ case "ZodOptional":
258
+ case "optional":
259
+ optional = true;
260
+ current = (def.innerType ?? def.schema)!;
261
+ break;
262
+
263
+ case "ZodEffects":
264
+ case "pipe":
265
+ current = def.schema ?? def.in ?? current;
266
+ if (current === schema) return { schema: current, nullable, optional };
267
+ break;
268
+
269
+ default:
270
+ return { schema: current, nullable, optional };
271
+ }
272
+ }
273
+ }
274
+
275
+ function hasDefaultSchema(schema: z.ZodTypeAny): boolean {
276
+ let current: z.ZodTypeAny = schema;
277
+
278
+ while (true) {
279
+ const tag = getTypeTag(current);
280
+ const def = getDef(current);
281
+
282
+ switch (tag) {
283
+ case "ZodDefault":
284
+ case "default":
285
+ return true;
286
+
287
+ case "ZodNullable":
288
+ case "nullable":
289
+ case "ZodOptional":
290
+ case "optional":
291
+ case "ZodEffects":
292
+ case "pipe": {
293
+ const inner = def.innerType ?? def.schema ?? def.in;
294
+ if (!inner || inner === current) return false;
295
+ current = inner;
296
+ break;
297
+ }
298
+
299
+ default:
300
+ return false;
301
+ }
302
+ }
303
+ }
304
+
305
+ function getDescription(schema: z.ZodTypeAny): string | undefined {
306
+ const direct = (schema as { description?: unknown }).description;
307
+ if (typeof direct === "string") return direct;
308
+
309
+ const defDescription = getDef(schema).description;
310
+ return typeof defDescription === "string" ? defDescription : undefined;
311
+ }
@@ -1,8 +1,9 @@
1
1
  import * as dntShim from "../../_dnt.shims.js";
2
- import { z } from "zod";
2
+ import { defineSchema } from "../schemas/index.js";
3
+ import type { InferSchema } from "../extensions/schema/index.js";
3
4
  import { INVALID_ARGUMENT } from "../errors/index.js";
4
5
  import { streamDataStreamEvents } from "./data-stream.js";
5
- import { AgUiRequestSchema, normalizeAgUiMessages } from "./ag-ui-host-support.js";
6
+ import { getAgUiRequestSchema, normalizeAgUiMessages } from "./ag-ui-host-support.js";
6
7
  import { extractRequest } from "./ag-ui-request-shared.js";
7
8
  import { type AgUiResumeValue, buildMergedAgUiTools } from "./ag-ui-tool-shared.js";
8
9
  import {
@@ -14,7 +15,9 @@ import type { Agent } from "./types.js";
14
15
  import type { ChatUiMessage, MessageMetadata } from "../chat/types.js";
15
16
 
16
17
  const AGENT_ID_PATTERN = /^[a-zA-Z0-9_-]+$/;
17
- const AG_UI_DETACHED_RUN_ID_SCHEMA = z.string().min(1).max(128).regex(AGENT_ID_PATTERN);
18
+ const getAgUiDetachedRunIdSchema = defineSchema((v) =>
19
+ v.string().min(1).max(128).regex(AGENT_ID_PATTERN)
20
+ );
18
21
 
19
22
  type AgUiContextValue =
20
23
  | Record<string, unknown>
@@ -69,20 +72,33 @@ async function drainRuntimeStream(
69
72
  }
70
73
  }
71
74
 
72
- export const AgUiDetachedStartRequestSchema = AgUiRequestSchema.extend({
73
- threadId: z.string().uuid(),
74
- runId: AG_UI_DETACHED_RUN_ID_SCHEMA,
75
- });
76
-
77
- export const AgUiDetachedStartAcceptedSchema = z.object({
78
- accepted: z.literal(true),
79
- duplicate: z.boolean(),
80
- runId: AG_UI_DETACHED_RUN_ID_SCHEMA,
81
- threadId: z.string().uuid(),
82
- });
83
-
84
- export type AgUiDetachedStartRequest = z.infer<typeof AgUiDetachedStartRequestSchema>;
85
- export type AgUiDetachedStartAccepted = z.infer<typeof AgUiDetachedStartAcceptedSchema>;
75
+ export const getAgUiDetachedStartRequestSchema = defineSchema((v) =>
76
+ getAgUiRequestSchema().extend({
77
+ threadId: v.string().uuid(),
78
+ runId: getAgUiDetachedRunIdSchema(),
79
+ })
80
+ );
81
+
82
+ export const getAgUiDetachedStartAcceptedSchema = defineSchema((v) =>
83
+ v.object({
84
+ accepted: v.literal(true),
85
+ duplicate: v.boolean(),
86
+ runId: getAgUiDetachedRunIdSchema(),
87
+ threadId: v.string().uuid(),
88
+ })
89
+ );
90
+
91
+ /** @deprecated Use getAgUiDetachedStartRequestSchema() */
92
+ export const AgUiDetachedStartRequestSchema = getAgUiDetachedStartRequestSchema();
93
+ /** @deprecated Use getAgUiDetachedStartAcceptedSchema() */
94
+ export const AgUiDetachedStartAcceptedSchema = getAgUiDetachedStartAcceptedSchema();
95
+
96
+ export type AgUiDetachedStartRequest = InferSchema<
97
+ ReturnType<typeof getAgUiDetachedStartRequestSchema>
98
+ >;
99
+ export type AgUiDetachedStartAccepted = InferSchema<
100
+ ReturnType<typeof getAgUiDetachedStartAcceptedSchema>
101
+ >;
86
102
 
87
103
  function toDetachedAgUiMessageMetadata(
88
104
  metadata: MessageMetadata | undefined,
@@ -121,7 +137,9 @@ export function buildDetachedAgUiStartRequest(input: {
121
137
  forwardedProps?: Record<string, unknown>;
122
138
  createThreadId?: () => string;
123
139
  }): AgUiDetachedStartRequest {
124
- const effectiveThreadId = z.string().uuid().safeParse(input.threadId).success
140
+ const isValidUuid = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i
141
+ .test(input.threadId);
142
+ const effectiveThreadId = isValidUuid
125
143
  ? input.threadId
126
144
  : (input.createThreadId?.() ?? dntShim.crypto.randomUUID());
127
145
  const effectiveMessages: AgUiDetachedStartRequest["messages"] = input.messages.length > 0
@@ -371,18 +389,23 @@ export function createAgUiDetachedStartHandler(
371
389
  const request = extractRequest(requestOrCtx);
372
390
 
373
391
  try {
374
- const parsed = AgUiDetachedStartRequestSchema.parse(await request.json());
392
+ const parsed = getAgUiDetachedStartRequestSchema().parse(await request.json());
375
393
  return await executeAgUiDetachedStart(options, {
376
394
  request: parsed,
377
395
  rawRequest: request,
378
396
  requestOrCtx,
379
397
  });
380
398
  } catch (error) {
381
- if (error instanceof z.ZodError) {
399
+ if (
400
+ error instanceof Error &&
401
+ "issues" in error &&
402
+ Array.isArray((error as Record<string, unknown>).issues)
403
+ ) {
404
+ const issues = (error as { issues: Array<{ path: unknown[]; message: string }> }).issues;
382
405
  return Response.json(
383
406
  {
384
407
  error: "Invalid AG-UI detached start request",
385
- details: error.issues.map((issue) => ({
408
+ details: issues.map((issue) => ({
386
409
  path: issue.path,
387
410
  message: issue.message,
388
411
  })),
@@ -1,8 +1,9 @@
1
- import { z } from "zod";
1
+ import { defineSchema } from "../schemas/index.js";
2
+ import type { Schema } from "../extensions/schema/index.js";
2
3
  import type { AgUiRuntimeRequest } from "./runtime-ag-ui-contract.js";
3
4
 
4
5
  export type AgUiForwardedConfigOptions<TConfig> = {
5
- schema: z.ZodType<TConfig>;
6
+ schema: Schema<TConfig>;
6
7
  namespace?: string;
7
8
  };
8
9
 
@@ -53,7 +54,7 @@ export function parseAgUiContextBoolean(raw: string | undefined): boolean | unde
53
54
 
54
55
  export function parseAgUiContextSchema<TValue>(
55
56
  raw: string | undefined,
56
- schema: z.ZodType<TValue>,
57
+ schema: Schema<TValue>,
57
58
  ): TValue | undefined {
58
59
  const parsed = parseAgUiContextJsonValue(raw);
59
60
  const result = schema.safeParse(parsed);
@@ -64,7 +65,8 @@ export function deriveAgUiForwardedConfig<TConfig>(
64
65
  input: Pick<AgUiRuntimeRequest, "forwardedProps">,
65
66
  options: AgUiForwardedConfigOptions<TConfig>,
66
67
  ): TConfig | undefined {
67
- const forwardedProps = z.record(z.string(), z.unknown()).safeParse(input.forwardedProps);
68
+ const getRecordSchema = defineSchema((v) => v.record(v.string(), v.unknown()));
69
+ const forwardedProps = getRecordSchema().safeParse(input.forwardedProps);
68
70
  if (!forwardedProps.success) {
69
71
  return undefined;
70
72
  }
@@ -1,5 +1,4 @@
1
1
  import * as dntShim from "../../_dnt.shims.js";
2
- import { z } from "zod";
3
2
  import { isResponseLike } from "./response-like.js";
4
3
  import { getAgent } from "./composition/index.js";
5
4
  import type { Agent } from "./types.js";
@@ -360,11 +359,16 @@ export function createAgUiHandler(
360
359
 
361
360
  return await createAgUiDirectStreamResponse(agent, parsed, context);
362
361
  } catch (error) {
363
- if (error instanceof z.ZodError) {
362
+ if (
363
+ error instanceof Error &&
364
+ "issues" in error &&
365
+ Array.isArray((error as Record<string, unknown>).issues)
366
+ ) {
367
+ const issues = (error as { issues: Array<{ path: unknown[]; message: string }> }).issues;
364
368
  return Response.json(
365
369
  {
366
370
  error: "Invalid AG-UI request",
367
- details: error.issues.map((issue) => ({
371
+ details: issues.map((issue) => ({
368
372
  path: issue.path,
369
373
  message: issue.message,
370
374
  })),
@@ -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 { formatAgUiEvent } from "../internal-agents/ag-ui-sse.js";
3
4
  import type { Message } from "./types.js";
4
5
  import { parseAgUiJsonRequestOrError } from "./ag-ui-request-shared.js";
@@ -30,70 +31,87 @@ function isRecord(value: unknown): value is Record<string, unknown> {
30
31
  return typeof value === "object" && value !== null && !Array.isArray(value);
31
32
  }
32
33
 
33
- const AgUiRunIdSchema = z.string().min(1).max(128).regex(AGENT_ID_PATTERN);
34
-
35
- export const AgUiInjectedToolSchema = z.object({
36
- name: z.string().min(1).max(128),
37
- description: z.string().max(1024).optional(),
38
- parameters: z.record(z.string(), z.unknown()).optional().refine(
39
- (value) => value === undefined || isWithinJsonSizeLimit(value, MAX_TOOL_PARAMETERS_BYTES),
40
- { message: "Tool parameters must be less than 16 KB" },
41
- ),
42
- });
43
-
44
- export const AgUiContextItemSchema = z.discriminatedUnion("type", [
45
- z.object({
46
- type: z.literal("text"),
47
- title: z.string().max(256).optional(),
48
- text: z.string().max(MAX_CONTEXT_ITEM_BYTES),
49
- }),
50
- z.object({
51
- type: z.literal("json"),
52
- title: z.string().max(256).optional(),
53
- data: z.record(z.string(), z.unknown()).refine(
54
- (value) => isWithinJsonSizeLimit(value, MAX_CONTEXT_ITEM_BYTES),
55
- { message: "JSON context item must be less than 16 KB" },
34
+ const getAgUiRunIdSchema = defineSchema((v) => v.string().min(1).max(128).regex(AGENT_ID_PATTERN));
35
+
36
+ export const getAgUiInjectedToolSchema = defineSchema((v) =>
37
+ v.object({
38
+ name: v.string().min(1).max(128),
39
+ description: v.string().max(1024).optional(),
40
+ parameters: v.record(v.string(), v.unknown()).optional().refine(
41
+ (value) => value === undefined || isWithinJsonSizeLimit(value, MAX_TOOL_PARAMETERS_BYTES),
42
+ { message: "Tool parameters must be less than 16 KB" },
43
+ ),
44
+ })
45
+ );
46
+
47
+ export const getAgUiContextItemSchema = defineSchema((v) =>
48
+ v.discriminatedUnion("type", [
49
+ v.object({
50
+ type: v.literal("text"),
51
+ title: v.string().max(256).optional(),
52
+ text: v.string().max(MAX_CONTEXT_ITEM_BYTES),
53
+ }),
54
+ v.object({
55
+ type: v.literal("json"),
56
+ title: v.string().max(256).optional(),
57
+ data: v.record(v.string(), v.unknown()).refine(
58
+ (value) => isWithinJsonSizeLimit(value, MAX_CONTEXT_ITEM_BYTES),
59
+ { message: "JSON context item must be less than 16 KB" },
60
+ ),
61
+ }),
62
+ v.object({
63
+ type: v.literal("resource"),
64
+ title: v.string().max(256).optional(),
65
+ uri: v.string().max(2048),
66
+ mimeType: v.string().max(256).optional(),
67
+ text: v.string().max(MAX_CONTEXT_ITEM_BYTES).optional(),
68
+ }),
69
+ ])
70
+ );
71
+
72
+ const getAgUiMessagePartSchema = defineSchema((v) =>
73
+ v.object({ type: v.string().min(1) }).passthrough()
74
+ );
75
+
76
+ const getAgUiMessageSchema = defineSchema((v) =>
77
+ v.object({
78
+ id: v.string().min(1),
79
+ role: v.enum(["user", "assistant", "system", "tool"]),
80
+ parts: v.array(getAgUiMessagePartSchema()).default([]),
81
+ metadata: v.record(v.string(), v.unknown()).optional(),
82
+ createdAt: v.string().optional(),
83
+ })
84
+ );
85
+
86
+ export const getAgUiRequestSchema = defineSchema((v) =>
87
+ v.object({
88
+ threadId: v.string().uuid().optional(),
89
+ runId: getAgUiRunIdSchema().optional(),
90
+ messages: v.array(getAgUiMessageSchema()).min(1).max(MAX_MESSAGES_PER_REQUEST),
91
+ tools: v.array(getAgUiInjectedToolSchema()).max(50).default([]),
92
+ context: v.array(getAgUiContextItemSchema()).max(10).default([]).refine(
93
+ (value) => isWithinJsonSizeLimit(value, MAX_CONTEXT_TOTAL_BYTES),
94
+ { message: "context must be less than 64 KB total" },
95
+ ),
96
+ forwardedProps: v.record(v.string(), v.unknown()).optional().refine(
97
+ (value) => value === undefined || isWithinJsonSizeLimit(value, MAX_FORWARDED_PROPS_BYTES),
98
+ { message: "forwardedProps must be less than 64 KB" },
56
99
  ),
57
- }),
58
- z.object({
59
- type: z.literal("resource"),
60
- title: z.string().max(256).optional(),
61
- uri: z.string().max(2048),
62
- mimeType: z.string().max(256).optional(),
63
- text: z.string().max(MAX_CONTEXT_ITEM_BYTES).optional(),
64
- }),
65
- ]);
66
-
67
- const AgUiMessagePartSchema = z.object({ type: z.string().min(1) }).passthrough();
68
-
69
- const AgUiMessageSchema = z.object({
70
- id: z.string().min(1),
71
- role: z.enum(["user", "assistant", "system", "tool"]),
72
- parts: z.array(AgUiMessagePartSchema).default([]),
73
- metadata: z.record(z.string(), z.unknown()).optional(),
74
- createdAt: z.string().optional(),
75
- });
76
-
77
- export const AgUiRequestSchema = z.object({
78
- threadId: z.string().uuid().optional(),
79
- runId: AgUiRunIdSchema.optional(),
80
- messages: z.array(AgUiMessageSchema).min(1).max(MAX_MESSAGES_PER_REQUEST),
81
- tools: z.array(AgUiInjectedToolSchema).max(50).default([]),
82
- context: z.array(AgUiContextItemSchema).max(10).default([]).refine(
83
- (value) => isWithinJsonSizeLimit(value, MAX_CONTEXT_TOTAL_BYTES),
84
- { message: "context must be less than 64 KB total" },
85
- ),
86
- forwardedProps: z.record(z.string(), z.unknown()).optional().refine(
87
- (value) => value === undefined || isWithinJsonSizeLimit(value, MAX_FORWARDED_PROPS_BYTES),
88
- { message: "forwardedProps must be less than 64 KB" },
89
- ),
90
- model: z.string().optional(),
91
- maxOutputTokens: z.number().int().positive().optional(),
92
- });
93
-
94
- export type AgUiInjectedTool = z.infer<typeof AgUiInjectedToolSchema>;
95
- export type AgUiContextItem = z.infer<typeof AgUiContextItemSchema>;
96
- export type AgUiRequest = z.infer<typeof AgUiRequestSchema>;
100
+ model: v.string().optional(),
101
+ maxOutputTokens: v.number().int().positive().optional(),
102
+ })
103
+ );
104
+
105
+ /** @deprecated Use getAgUiInjectedToolSchema() */
106
+ export const AgUiInjectedToolSchema = getAgUiInjectedToolSchema();
107
+ /** @deprecated Use getAgUiContextItemSchema() */
108
+ export const AgUiContextItemSchema = getAgUiContextItemSchema();
109
+ /** @deprecated Use getAgUiRequestSchema() */
110
+ export const AgUiRequestSchema = getAgUiRequestSchema();
111
+
112
+ export type AgUiInjectedTool = InferSchema<ReturnType<typeof getAgUiInjectedToolSchema>>;
113
+ export type AgUiContextItem = InferSchema<ReturnType<typeof getAgUiContextItemSchema>>;
114
+ export type AgUiRequest = InferSchema<ReturnType<typeof getAgUiRequestSchema>>;
97
115
 
98
116
  function normalizeToolArgs(part: Record<string, unknown>): Record<string, unknown> {
99
117
  if (isRecord(part.args)) return part.args;
@@ -168,7 +186,7 @@ function normalizeMessagePart(part: Record<string, unknown>): Message["parts"][n
168
186
  }
169
187
 
170
188
  export async function parseAgUiRequest(request: Request): Promise<AgUiRequest> {
171
- return AgUiRequestSchema.parse(await request.json());
189
+ return getAgUiRequestSchema().parse(await request.json());
172
190
  }
173
191
 
174
192
  export async function parseAgUiRequestOrError(
@@ -189,7 +207,7 @@ export function normalizeAgUiMessages(messages: AgUiRequest["messages"]): Messag
189
207
  .filter((part): part is Message["parts"][number] => part !== null),
190
208
  ...(message.createdAt ? { timestamp: Date.parse(message.createdAt) || undefined } : {}),
191
209
  ...(message.metadata ? { metadata: message.metadata } : {}),
192
- }));
210
+ })) as any;
193
211
  }
194
212
 
195
213
  export function createAgUiRunErrorEvent(message: string, code?: string): AgUiSseEvent {
@@ -1,6 +1,20 @@
1
- import { z } from "zod";
2
1
  import { INVALID_ARGUMENT } from "../errors/index.js";
3
2
 
3
+ /**
4
+ * Detects a validation error thrown by a `Schema.parse()` call. Works with
5
+ * both the contract-DSL adapter (ext-zod wraps `ZodError` and sets `issues`)
6
+ * and raw zod errors.
7
+ */
8
+ function isSchemaValidationError(
9
+ error: unknown,
10
+ ): error is Error & { issues: ReadonlyArray<{ path: (string | number)[]; message: string }> } {
11
+ return (
12
+ error instanceof Error &&
13
+ "issues" in error &&
14
+ Array.isArray((error as Record<string, unknown>).issues)
15
+ );
16
+ }
17
+
4
18
  export function isRequest(value: unknown): value is Request {
5
19
  return (
6
20
  typeof value === "object" &&
@@ -34,7 +48,7 @@ export async function parseAgUiJsonRequestOrError<T>(
34
48
  try {
35
49
  return await parseRequest();
36
50
  } catch (error) {
37
- if (error instanceof z.ZodError) {
51
+ if (isSchemaValidationError(error)) {
38
52
  return Response.json(
39
53
  {
40
54
  error: errorLabel,