veryfront 0.1.501 → 0.1.503

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 (699) 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 +16 -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.map +1 -1
  214. package/esm/src/agent/hosted-chat-request-parser.js +7 -4
  215. package/esm/src/agent/hosted-chat-request.d.ts +291 -20
  216. package/esm/src/agent/hosted-chat-request.d.ts.map +1 -1
  217. package/esm/src/agent/hosted-chat-request.js +33 -31
  218. package/esm/src/agent/hosted-child-fork-step-message-preparation.d.ts.map +1 -1
  219. package/esm/src/agent/hosted-child-status.d.ts.map +1 -1
  220. package/esm/src/agent/hosted-child-status.js +2 -0
  221. package/esm/src/agent/hosted-child-tool-input.d.ts +21 -11
  222. package/esm/src/agent/hosted-child-tool-input.d.ts.map +1 -1
  223. package/esm/src/agent/hosted-child-tool-input.js +12 -10
  224. package/esm/src/agent/hosted-form-input-tool.d.ts +78 -86
  225. package/esm/src/agent/hosted-form-input-tool.d.ts.map +1 -1
  226. package/esm/src/agent/hosted-form-input-tool.js +10 -3
  227. package/esm/src/agent/human-input.d.ts +337 -277
  228. package/esm/src/agent/human-input.d.ts.map +1 -1
  229. package/esm/src/agent/human-input.js +88 -72
  230. package/esm/src/agent/index.d.ts +8 -7
  231. package/esm/src/agent/index.d.ts.map +1 -1
  232. package/esm/src/agent/index.js +8 -7
  233. package/esm/src/agent/input-request-protocol.d.ts +461 -1611
  234. package/esm/src/agent/input-request-protocol.d.ts.map +1 -1
  235. package/esm/src/agent/input-request-protocol.js +120 -107
  236. package/esm/src/agent/invoke-agent-child-runs.d.ts +109 -107
  237. package/esm/src/agent/invoke-agent-child-runs.d.ts.map +1 -1
  238. package/esm/src/agent/invoke-agent-child-runs.js +36 -29
  239. package/esm/src/agent/runtime-ag-ui-contract.d.ts +206 -206
  240. package/esm/src/agent/runtime-ag-ui-contract.d.ts.map +1 -1
  241. package/esm/src/agent/runtime-ag-ui-contract.js +96 -91
  242. package/esm/src/agent/runtime-agent-definition.d.ts +47 -24
  243. package/esm/src/agent/runtime-agent-definition.d.ts.map +1 -1
  244. package/esm/src/agent/runtime-agent-definition.js +26 -20
  245. package/esm/src/agent/runtime-agent-invocation-contract.d.ts +306 -168
  246. package/esm/src/agent/runtime-agent-invocation-contract.d.ts.map +1 -1
  247. package/esm/src/agent/runtime-agent-invocation-contract.js +116 -101
  248. package/esm/src/agent/runtime-builtin-skill-files.d.ts.map +1 -1
  249. package/esm/src/agent/runtime-builtin-skill-files.js +3 -2
  250. package/esm/src/agent/runtime-client-profile.d.ts +23 -32
  251. package/esm/src/agent/runtime-client-profile.d.ts.map +1 -1
  252. package/esm/src/agent/runtime-client-profile.js +29 -27
  253. package/esm/src/agent/runtime-load-skill-tool.d.ts +6 -7
  254. package/esm/src/agent/runtime-load-skill-tool.d.ts.map +1 -1
  255. package/esm/src/agent/runtime-load-skill-tool.js +7 -6
  256. package/esm/src/agent/runtime-project-files-client.d.ts +19 -10
  257. package/esm/src/agent/runtime-project-files-client.d.ts.map +1 -1
  258. package/esm/src/agent/runtime-project-files-client.js +33 -35
  259. package/esm/src/agent/runtime-skill-metadata.d.ts +6 -20
  260. package/esm/src/agent/runtime-skill-metadata.d.ts.map +1 -1
  261. package/esm/src/agent/runtime-skill-metadata.js +24 -18
  262. package/esm/src/agent/runtime-upload-url-client.d.ts.map +1 -1
  263. package/esm/src/agent/runtime-upload-url-client.js +19 -25
  264. package/esm/src/agent/schemas/agent.schema.d.ts +258 -307
  265. package/esm/src/agent/schemas/agent.schema.d.ts.map +1 -1
  266. package/esm/src/agent/schemas/agent.schema.js +105 -101
  267. package/esm/src/agent/schemas/index.d.ts +2 -2
  268. package/esm/src/agent/schemas/index.d.ts.map +1 -1
  269. package/esm/src/agent/schemas/index.js +2 -2
  270. package/esm/src/agent/schemas/tool.schema.d.ts +5 -5
  271. package/esm/src/agent/schemas/tool.schema.d.ts.map +1 -1
  272. package/esm/src/agent/schemas/tool.schema.js +4 -4
  273. package/esm/src/cache/schemas/cache-backend.schema.d.ts +15 -14
  274. package/esm/src/cache/schemas/cache-backend.schema.d.ts.map +1 -1
  275. package/esm/src/cache/schemas/cache-backend.schema.js +10 -7
  276. package/esm/src/cache/schemas/cache-key.schema.d.ts +12 -10
  277. package/esm/src/cache/schemas/cache-key.schema.d.ts.map +1 -1
  278. package/esm/src/cache/schemas/cache-key.schema.js +8 -6
  279. package/esm/src/channels/control-plane.d.ts +246 -156
  280. package/esm/src/channels/control-plane.d.ts.map +1 -1
  281. package/esm/src/channels/control-plane.js +80 -73
  282. package/esm/src/channels/invoke.d.ts +220 -134
  283. package/esm/src/channels/invoke.d.ts.map +1 -1
  284. package/esm/src/channels/invoke.js +105 -93
  285. package/esm/src/chat/ag-ui.d.ts +494 -273
  286. package/esm/src/chat/ag-ui.d.ts.map +1 -1
  287. package/esm/src/chat/ag-ui.js +164 -180
  288. package/esm/src/chat/conversation.d.ts +273 -183
  289. package/esm/src/chat/conversation.d.ts.map +1 -1
  290. package/esm/src/chat/conversation.js +97 -111
  291. package/esm/src/chat/types.d.ts +635 -14
  292. package/esm/src/chat/types.d.ts.map +1 -1
  293. package/esm/src/chat/types.js +146 -174
  294. package/esm/src/config/schemas/config.schema.d.ts +799 -395
  295. package/esm/src/config/schemas/config.schema.d.ts.map +1 -1
  296. package/esm/src/config/schemas/config.schema.js +300 -268
  297. package/esm/src/data/schemas/data.schema.d.ts +89 -48
  298. package/esm/src/data/schemas/data.schema.d.ts.map +1 -1
  299. package/esm/src/data/schemas/data.schema.js +36 -29
  300. package/esm/src/extensions/builtin-extensions.d.ts.map +1 -1
  301. package/esm/src/extensions/builtin-extensions.js +9 -0
  302. package/esm/src/extensions/schema/index.d.ts +1 -1
  303. package/esm/src/extensions/schema/index.d.ts.map +1 -1
  304. package/esm/src/extensions/schema/json-schema.d.ts +23 -0
  305. package/esm/src/extensions/schema/json-schema.d.ts.map +1 -0
  306. package/esm/src/extensions/schema/json-schema.js +8 -0
  307. package/esm/src/extensions/schema/schema-validator.d.ts +97 -4
  308. package/esm/src/extensions/schema/schema-validator.d.ts.map +1 -1
  309. package/esm/src/html/hydration-script-builder/hydration-data-generator.js +1 -1
  310. package/esm/src/html/schemas/html.schema.d.ts +107 -90
  311. package/esm/src/html/schemas/html.schema.d.ts.map +1 -1
  312. package/esm/src/html/schemas/html.schema.js +60 -52
  313. package/esm/src/html/utils.d.ts.map +1 -1
  314. package/esm/src/html/utils.js +1 -1
  315. package/esm/src/integrations/schema.d.ts +455 -433
  316. package/esm/src/integrations/schema.d.ts.map +1 -1
  317. package/esm/src/integrations/schema.js +105 -95
  318. package/esm/src/internal-agents/ag-ui-sse.d.ts.map +1 -1
  319. package/esm/src/internal-agents/ag-ui-sse.js +60 -82
  320. package/esm/src/internal-agents/control-plane-auth.d.ts +10 -10
  321. package/esm/src/internal-agents/control-plane-auth.d.ts.map +1 -1
  322. package/esm/src/internal-agents/run-stream.d.ts.map +1 -1
  323. package/esm/src/internal-agents/run-stream.js +3 -2
  324. package/esm/src/internal-agents/schema.d.ts +272 -281
  325. package/esm/src/internal-agents/schema.d.ts.map +1 -1
  326. package/esm/src/internal-agents/schema.js +55 -47
  327. package/esm/src/issues/core.d.ts.map +1 -1
  328. package/esm/src/issues/mcp.d.ts.map +1 -1
  329. package/esm/src/issues/mcp.js +47 -41
  330. package/esm/src/issues/schemas/index.d.ts +1 -1
  331. package/esm/src/issues/schemas/index.d.ts.map +1 -1
  332. package/esm/src/issues/schemas/index.js +1 -1
  333. package/esm/src/issues/schemas/issue.schema.d.ts +151 -116
  334. package/esm/src/issues/schemas/issue.schema.d.ts.map +1 -1
  335. package/esm/src/issues/schemas/issue.schema.js +64 -55
  336. package/esm/src/jobs/schemas.d.ts +1087 -658
  337. package/esm/src/jobs/schemas.d.ts.map +1 -1
  338. package/esm/src/jobs/schemas.js +244 -214
  339. package/esm/src/mcp/index.d.ts +6 -2
  340. package/esm/src/mcp/index.d.ts.map +1 -1
  341. package/esm/src/mcp/index.js +6 -2
  342. package/esm/src/mcp/schemas/index.d.ts +1 -1
  343. package/esm/src/mcp/schemas/index.d.ts.map +1 -1
  344. package/esm/src/mcp/schemas/index.js +1 -1
  345. package/esm/src/mcp/schemas/mcp.schema.d.ts +59 -31
  346. package/esm/src/mcp/schemas/mcp.schema.d.ts.map +1 -1
  347. package/esm/src/mcp/schemas/mcp.schema.js +28 -24
  348. package/esm/src/mcp/types.d.ts +2 -2
  349. package/esm/src/mcp/types.d.ts.map +1 -1
  350. package/esm/src/oauth/providers/atlassian.d.ts +36 -30
  351. package/esm/src/oauth/providers/atlassian.d.ts.map +1 -1
  352. package/esm/src/oauth/providers/common.d.ts +312 -260
  353. package/esm/src/oauth/providers/common.d.ts.map +1 -1
  354. package/esm/src/oauth/providers/google.d.ts +48 -40
  355. package/esm/src/oauth/providers/google.d.ts.map +1 -1
  356. package/esm/src/oauth/providers/microsoft.d.ts +48 -40
  357. package/esm/src/oauth/providers/microsoft.d.ts.map +1 -1
  358. package/esm/src/oauth/schemas/oauth.schema.d.ts +180 -92
  359. package/esm/src/oauth/schemas/oauth.schema.d.ts.map +1 -1
  360. package/esm/src/oauth/schemas/oauth.schema.js +67 -59
  361. package/esm/src/platform/adapters/fs/github/github-api-client.d.ts.map +1 -1
  362. package/esm/src/platform/adapters/fs/github/github-api-client.js +4 -4
  363. package/esm/src/platform/adapters/fs/github/index.d.ts +1 -1
  364. package/esm/src/platform/adapters/fs/github/index.d.ts.map +1 -1
  365. package/esm/src/platform/adapters/fs/github/index.js +1 -1
  366. package/esm/src/platform/adapters/fs/github/schemas/github-api.schema.d.ts +97 -140
  367. package/esm/src/platform/adapters/fs/github/schemas/github-api.schema.d.ts.map +1 -1
  368. package/esm/src/platform/adapters/fs/github/schemas/github-api.schema.js +40 -37
  369. package/esm/src/platform/adapters/fs/github/schemas/index.d.ts +1 -1
  370. package/esm/src/platform/adapters/fs/github/schemas/index.d.ts.map +1 -1
  371. package/esm/src/platform/adapters/fs/github/schemas/index.js +1 -1
  372. package/esm/src/platform/adapters/fs/veryfront/proxy-manager.d.ts.map +1 -1
  373. package/esm/src/platform/adapters/fs/veryfront/proxy-manager.js +7 -4
  374. package/esm/src/platform/adapters/fs/veryfront/schemas/index.d.ts +1 -1
  375. package/esm/src/platform/adapters/fs/veryfront/schemas/index.d.ts.map +1 -1
  376. package/esm/src/platform/adapters/fs/veryfront/schemas/index.js +1 -1
  377. package/esm/src/platform/adapters/fs/veryfront/schemas/proxy-manager.schema.d.ts +11 -11
  378. package/esm/src/platform/adapters/fs/veryfront/schemas/proxy-manager.schema.d.ts.map +1 -1
  379. package/esm/src/platform/adapters/fs/veryfront/schemas/proxy-manager.schema.js +10 -10
  380. package/esm/src/platform/adapters/fs/veryfront/stat-operations.d.ts.map +1 -1
  381. package/esm/src/platform/adapters/fs/veryfront/stat-operations.js +1 -0
  382. package/esm/src/platform/adapters/veryfront-api-client/client.d.ts +63 -63
  383. package/esm/src/platform/adapters/veryfront-api-client/index.d.ts +1 -1
  384. package/esm/src/platform/adapters/veryfront-api-client/index.d.ts.map +1 -1
  385. package/esm/src/platform/adapters/veryfront-api-client/index.js +1 -1
  386. package/esm/src/platform/adapters/veryfront-api-client/operations.d.ts.map +1 -1
  387. package/esm/src/platform/adapters/veryfront-api-client/operations.js +11 -21
  388. package/esm/src/platform/adapters/veryfront-api-client/schemas/api.schema.d.ts +444 -471
  389. package/esm/src/platform/adapters/veryfront-api-client/schemas/api.schema.d.ts.map +1 -1
  390. package/esm/src/platform/adapters/veryfront-api-client/schemas/api.schema.js +150 -122
  391. package/esm/src/platform/adapters/veryfront-api-client/schemas/index.d.ts +1 -1
  392. package/esm/src/platform/adapters/veryfront-api-client/schemas/index.d.ts.map +1 -1
  393. package/esm/src/platform/adapters/veryfront-api-client/schemas/index.js +1 -1
  394. package/esm/src/prompt/schemas/prompt.schema.d.ts +10 -9
  395. package/esm/src/prompt/schemas/prompt.schema.d.ts.map +1 -1
  396. package/esm/src/prompt/schemas/prompt.schema.js +8 -8
  397. package/esm/src/proxy/handler.d.ts.map +1 -1
  398. package/esm/src/proxy/handler.js +0 -1
  399. package/esm/src/repositories/schemas/repository.schema.d.ts +40 -25
  400. package/esm/src/repositories/schemas/repository.schema.d.ts.map +1 -1
  401. package/esm/src/repositories/schemas/repository.schema.js +23 -19
  402. package/esm/src/resource/index.d.ts +6 -2
  403. package/esm/src/resource/index.d.ts.map +1 -1
  404. package/esm/src/resource/index.js +6 -2
  405. package/esm/src/resource/schemas/index.d.ts +1 -1
  406. package/esm/src/resource/schemas/index.d.ts.map +1 -1
  407. package/esm/src/resource/schemas/index.js +1 -1
  408. package/esm/src/resource/schemas/resource.schema.d.ts +13 -16
  409. package/esm/src/resource/schemas/resource.schema.d.ts.map +1 -1
  410. package/esm/src/resource/schemas/resource.schema.js +9 -6
  411. package/esm/src/resource/types.d.ts +3 -3
  412. package/esm/src/resource/types.d.ts.map +1 -1
  413. package/esm/src/routing/api/openapi/types.d.ts +4 -4
  414. package/esm/src/routing/api/openapi/types.d.ts.map +1 -1
  415. package/esm/src/sandbox/hosted-tools.d.ts.map +1 -1
  416. package/esm/src/sandbox/hosted-tools.js +11 -13
  417. package/esm/src/schemas/common.d.ts +48 -28
  418. package/esm/src/schemas/common.d.ts.map +1 -1
  419. package/esm/src/schemas/common.js +67 -28
  420. package/esm/src/schemas/define.d.ts +3 -2
  421. package/esm/src/schemas/define.d.ts.map +1 -1
  422. package/esm/src/schemas/define.js +12 -6
  423. package/esm/src/schemas/index.d.ts +8 -4
  424. package/esm/src/schemas/index.d.ts.map +1 -1
  425. package/esm/src/schemas/index.js +8 -7
  426. package/esm/src/schemas/json-schema.d.ts +25 -0
  427. package/esm/src/schemas/json-schema.d.ts.map +1 -0
  428. package/esm/src/schemas/json-schema.js +27 -0
  429. package/esm/src/schemas/primitives.d.ts +34 -23
  430. package/esm/src/schemas/primitives.d.ts.map +1 -1
  431. package/esm/src/schemas/primitives.js +25 -18
  432. package/esm/src/security/input-validation/handler.d.ts +3 -3
  433. package/esm/src/security/input-validation/handler.d.ts.map +1 -1
  434. package/esm/src/security/input-validation/parsers.d.ts +4 -4
  435. package/esm/src/security/input-validation/parsers.d.ts.map +1 -1
  436. package/esm/src/security/input-validation/parsers.js +35 -45
  437. package/esm/src/server/bootstrap.js +2 -2
  438. package/esm/src/server/dev-ui/manifest.js +1 -1
  439. package/esm/src/server/handlers/dev/framework-candidates.generated.d.ts.map +1 -1
  440. package/esm/src/server/handlers/dev/framework-candidates.generated.js +1 -0
  441. package/esm/src/server/handlers/request/agent-run-cancel.handler.d.ts.map +1 -1
  442. package/esm/src/server/handlers/request/agent-run-cancel.handler.js +2 -3
  443. package/esm/src/server/handlers/request/agent-run-resume.handler.d.ts.map +1 -1
  444. package/esm/src/server/handlers/request/agent-run-resume.handler.js +4 -5
  445. package/esm/src/server/handlers/request/agent-stream.handler.d.ts.map +1 -1
  446. package/esm/src/server/handlers/request/agent-stream.handler.js +3 -4
  447. package/esm/src/server/handlers/request/internal-agents-list.handler.d.ts.map +1 -1
  448. package/esm/src/server/handlers/request/internal-agents-list.handler.js +2 -4
  449. package/esm/src/server/runtime-handler/environment-resolution.d.ts.map +1 -1
  450. package/esm/src/server/runtime-handler/environment-resolution.js +4 -5
  451. package/esm/src/server/runtime-handler/request-utils.d.ts.map +1 -1
  452. package/esm/src/server/runtime-handler/request-utils.js +1 -2
  453. package/esm/src/server/schemas/action.schema.d.ts +10 -6
  454. package/esm/src/server/schemas/action.schema.d.ts.map +1 -1
  455. package/esm/src/server/schemas/action.schema.js +7 -5
  456. package/esm/src/skill/tools.d.ts.map +1 -1
  457. package/esm/src/skill/tools.js +24 -21
  458. package/esm/src/tool/factory.d.ts +1 -1
  459. package/esm/src/tool/factory.d.ts.map +1 -1
  460. package/esm/src/tool/factory.js +12 -1
  461. package/esm/src/tool/host-tools.d.ts +1 -1
  462. package/esm/src/tool/host-tools.d.ts.map +1 -1
  463. package/esm/src/tool/host-tools.js +17 -3
  464. package/esm/src/tool/index.d.ts +9 -5
  465. package/esm/src/tool/index.d.ts.map +1 -1
  466. package/esm/src/tool/index.js +9 -5
  467. package/esm/src/tool/remote-source-tools.d.ts.map +1 -1
  468. package/esm/src/tool/remote-source-tools.js +9 -2
  469. package/esm/src/tool/schema/json-schema.d.ts +8 -15
  470. package/esm/src/tool/schema/json-schema.d.ts.map +1 -1
  471. package/esm/src/tool/schema/json-schema.js +7 -0
  472. package/esm/src/tool/schema/zod-json-schema.d.ts +33 -4
  473. package/esm/src/tool/schema/zod-json-schema.d.ts.map +1 -1
  474. package/esm/src/tool/schema/zod-json-schema.js +70 -159
  475. package/esm/src/tool/sleep.d.ts +21 -11
  476. package/esm/src/tool/sleep.d.ts.map +1 -1
  477. package/esm/src/tool/sleep.js +42 -4
  478. package/esm/src/tool/types.d.ts +12 -8
  479. package/esm/src/tool/types.d.ts.map +1 -1
  480. package/esm/src/transforms/npm-import-rewrites.d.ts +1 -1
  481. package/esm/src/transforms/npm-import-rewrites.d.ts.map +1 -1
  482. package/esm/src/transforms/npm-import-rewrites.js +1 -3
  483. package/esm/src/utils/version-constant.d.ts +1 -1
  484. package/esm/src/utils/version-constant.js +1 -1
  485. package/esm/src/workflow/api.d.ts +22 -22
  486. package/esm/src/workflow/blob/veryfront-cloud-storage.d.ts.map +1 -1
  487. package/esm/src/workflow/blob/veryfront-cloud-storage.js +37 -33
  488. package/esm/src/workflow/claude-code/tool.d.ts +37 -44
  489. package/esm/src/workflow/claude-code/tool.d.ts.map +1 -1
  490. package/esm/src/workflow/claude-code/tool.js +11 -19
  491. package/esm/src/workflow/dsl/workflow.d.ts +3 -3
  492. package/esm/src/workflow/dsl/workflow.d.ts.map +1 -1
  493. package/esm/src/workflow/schemas/index.d.ts +1 -1
  494. package/esm/src/workflow/schemas/index.d.ts.map +1 -1
  495. package/esm/src/workflow/schemas/index.js +1 -1
  496. package/esm/src/workflow/schemas/workflow.schema.d.ts +194 -177
  497. package/esm/src/workflow/schemas/workflow.schema.d.ts.map +1 -1
  498. package/esm/src/workflow/schemas/workflow.schema.js +101 -83
  499. package/esm/src/workflow/types.d.ts +3 -3
  500. package/esm/src/workflow/types.d.ts.map +1 -1
  501. package/package.json +4 -1
  502. package/src/cli/commands/analyze-chunks/handler.ts +9 -5
  503. package/src/cli/commands/build/handler.ts +20 -15
  504. package/src/cli/commands/clean/command.ts +1 -1
  505. package/src/cli/commands/clean/handler.ts +12 -8
  506. package/src/cli/commands/demo/handler.ts +12 -7
  507. package/src/cli/commands/deploy/command.ts +17 -12
  508. package/src/cli/commands/dev/handler.ts +11 -7
  509. package/src/cli/commands/doctor/handler.ts +8 -4
  510. package/src/cli/commands/files/command.ts +64 -44
  511. package/src/cli/commands/generate/handler.ts +9 -5
  512. package/src/cli/commands/generate/integration-generator-helpers.ts +4 -4
  513. package/src/cli/commands/generate/integration-generator.ts +8 -4
  514. package/src/cli/commands/install/detect.ts +1 -1
  515. package/src/cli/commands/install/handler.ts +10 -6
  516. package/src/cli/commands/install/install.ts +20 -12
  517. package/src/cli/commands/install/types.ts +58 -41
  518. package/src/cli/commands/install/uninstall.ts +6 -2
  519. package/src/cli/commands/knowledge/command.ts +60 -52
  520. package/src/cli/commands/lock/handler.ts +13 -9
  521. package/src/cli/commands/mcp/handler.ts +8 -4
  522. package/src/cli/commands/merge/command.ts +14 -9
  523. package/src/cli/commands/open/command.ts +12 -7
  524. package/src/cli/commands/pull/command.ts +20 -15
  525. package/src/cli/commands/push/command.ts +17 -12
  526. package/src/cli/commands/routes/handler.ts +9 -5
  527. package/src/cli/commands/schema/handler.ts +8 -4
  528. package/src/cli/commands/serve/handler.ts +15 -11
  529. package/src/cli/commands/start/handler.ts +11 -7
  530. package/src/cli/commands/studio/handler.ts +10 -6
  531. package/src/cli/commands/styles/command.ts +22 -17
  532. package/src/cli/commands/styles/handler.ts +12 -7
  533. package/src/cli/commands/task/handler.ts +12 -7
  534. package/src/cli/commands/test/handler.ts +9 -5
  535. package/src/cli/commands/up/command.ts +11 -6
  536. package/src/cli/commands/uploads/command.ts +72 -52
  537. package/src/cli/commands/worker/handler.ts +16 -11
  538. package/src/cli/commands/workflow/handler.ts +13 -8
  539. package/src/cli/mcp/jsonrpc.ts +32 -19
  540. package/src/cli/mcp/remote-file-tools.ts +134 -97
  541. package/src/cli/mcp/server.ts +2 -80
  542. package/src/cli/mcp/tools/bootstrap-tool.ts +11 -7
  543. package/src/cli/mcp/tools/build-tool.ts +32 -28
  544. package/src/cli/mcp/tools/catalog-tools.ts +53 -42
  545. package/src/cli/mcp/tools/context7-tools.ts +29 -25
  546. package/src/cli/mcp/tools/deploy-tool.ts +17 -13
  547. package/src/cli/mcp/tools/dev-tools.ts +90 -66
  548. package/src/cli/mcp/tools/introspection-tools.ts +8 -6
  549. package/src/cli/mcp/tools/project-tools.ts +45 -32
  550. package/src/cli/mcp/tools/run-lint-tool.ts +11 -7
  551. package/src/cli/mcp/tools/run-tests-tool.ts +17 -13
  552. package/src/cli/mcp/tools/scaffold-tools.ts +43 -36
  553. package/src/cli/mcp/tools/skill-tools.ts +17 -12
  554. package/src/cli/mcp/tools.ts +65 -51
  555. package/src/cli/shared/args.ts +12 -9
  556. package/src/cli/shared/config.ts +32 -22
  557. package/src/cli/shared/project-source-context.ts +1 -1
  558. package/src/cli/shared/types.ts +5 -3
  559. package/src/cli/skills/types.ts +29 -24
  560. package/src/cli/templates/manifest.js +211 -211
  561. package/src/deno.js +10 -4
  562. package/src/extensions/ext-zod/src/adapter.ts +238 -0
  563. package/src/extensions/ext-zod/src/index.ts +36 -0
  564. package/src/extensions/ext-zod/src/json-schema.ts +311 -0
  565. package/src/src/agent/ag-ui-detached-start.ts +44 -21
  566. package/src/src/agent/ag-ui-forwarded-context.ts +6 -4
  567. package/src/src/agent/ag-ui-handler.ts +7 -3
  568. package/src/src/agent/ag-ui-host-support.ts +84 -66
  569. package/src/src/agent/ag-ui-request-shared.ts +16 -2
  570. package/src/src/agent/ag-ui-run-control.ts +26 -15
  571. package/src/src/agent/ag-ui-runtime-handler.ts +7 -3
  572. package/src/src/agent/ag-ui-sse-parser.ts +306 -0
  573. package/src/src/agent/ag-ui-tool-shared.ts +5 -2
  574. package/src/src/agent/chat-handler.ts +89 -67
  575. package/src/src/agent/composition/composition.ts +2 -2
  576. package/src/src/agent/conversation-bootstrap.ts +38 -17
  577. package/src/src/agent/conversation-hosted-lifecycle.ts +12 -10
  578. package/src/src/agent/conversation-run-events.ts +13 -5
  579. package/src/src/agent/default-hosted-invoke-agent-tool.ts +19 -8
  580. package/src/src/agent/durable.ts +186 -144
  581. package/src/src/agent/hosted-ag-ui-chat-request.ts +26 -16
  582. package/src/src/agent/hosted-agent-service-routes.ts +4 -3
  583. package/src/src/agent/hosted-chat-request-parser.ts +8 -4
  584. package/src/src/agent/hosted-chat-request.ts +46 -32
  585. package/src/src/agent/hosted-child-fork-step-message-preparation.ts +3 -1
  586. package/src/src/agent/hosted-child-status.ts +8 -1
  587. package/src/src/agent/hosted-child-tool-input.ts +27 -19
  588. package/src/src/agent/hosted-durable-child-fork-execution.ts +3 -3
  589. package/src/src/agent/hosted-form-input-tool.ts +15 -5
  590. package/src/src/agent/human-input.ts +129 -92
  591. package/src/src/agent/index.ts +38 -20
  592. package/src/src/agent/input-request-protocol.ts +193 -124
  593. package/src/src/agent/invoke-agent-child-runs.ts +64 -44
  594. package/src/src/agent/runtime-ag-ui-contract.ts +159 -123
  595. package/src/src/agent/runtime-agent-definition.ts +45 -24
  596. package/src/src/agent/runtime-agent-invocation-contract.ts +241 -174
  597. package/src/src/agent/runtime-builtin-skill-files.ts +3 -2
  598. package/src/src/agent/runtime-client-profile.ts +51 -34
  599. package/src/src/agent/runtime-load-skill-tool.ts +19 -12
  600. package/src/src/agent/runtime-project-files-client.ts +51 -39
  601. package/src/src/agent/runtime-skill-metadata.ts +41 -24
  602. package/src/src/agent/runtime-upload-url-client.ts +24 -24
  603. package/src/src/agent/schemas/agent.schema.ts +179 -142
  604. package/src/src/agent/schemas/index.ts +15 -15
  605. package/src/src/agent/schemas/tool.schema.ts +8 -5
  606. package/src/src/cache/schemas/cache-backend.schema.ts +18 -9
  607. package/src/src/cache/schemas/cache-key.schema.ts +13 -7
  608. package/src/src/channels/control-plane.ts +132 -96
  609. package/src/src/channels/invoke.ts +165 -120
  610. package/src/src/chat/ag-ui.ts +229 -225
  611. package/src/src/chat/conversation.ts +121 -124
  612. package/src/src/chat/types.ts +230 -205
  613. package/src/src/config/schemas/config.schema.ts +653 -610
  614. package/src/src/data/schemas/data.schema.ts +62 -39
  615. package/src/src/extensions/builtin-extensions.ts +9 -0
  616. package/src/src/extensions/schema/index.ts +3 -0
  617. package/src/src/extensions/schema/json-schema.ts +23 -0
  618. package/src/src/extensions/schema/schema-validator.ts +105 -6
  619. package/src/src/html/html-shell-generator.ts +1 -1
  620. package/src/src/html/hydration-script-builder/hydration-data-generator.ts +2 -2
  621. package/src/src/html/schemas/html.schema.ts +81 -65
  622. package/src/src/html/utils.ts +4 -1
  623. package/src/src/integrations/schema.ts +140 -111
  624. package/src/src/internal-agents/ag-ui-sse.ts +85 -83
  625. package/src/src/internal-agents/run-stream.ts +4 -2
  626. package/src/src/internal-agents/schema.ts +120 -89
  627. package/src/src/issues/core.ts +3 -1
  628. package/src/src/issues/mcp.ts +81 -58
  629. package/src/src/issues/schemas/index.ts +11 -0
  630. package/src/src/issues/schemas/issue.schema.ts +99 -73
  631. package/src/src/jobs/jobs-client.ts +4 -4
  632. package/src/src/jobs/schemas.ts +414 -297
  633. package/src/src/mcp/index.ts +6 -2
  634. package/src/src/mcp/schemas/index.ts +3 -0
  635. package/src/src/mcp/schemas/mcp.schema.ts +45 -29
  636. package/src/src/mcp/types.ts +2 -3
  637. package/src/src/oauth/schemas/oauth.schema.ts +96 -70
  638. package/src/src/platform/adapters/fs/github/github-api-client.ts +6 -6
  639. package/src/src/platform/adapters/fs/github/index.ts +5 -5
  640. package/src/src/platform/adapters/fs/github/schemas/github-api.schema.ts +58 -42
  641. package/src/src/platform/adapters/fs/github/schemas/index.ts +5 -5
  642. package/src/src/platform/adapters/fs/veryfront/proxy-manager.ts +9 -5
  643. package/src/src/platform/adapters/fs/veryfront/schemas/index.ts +1 -1
  644. package/src/src/platform/adapters/fs/veryfront/schemas/proxy-manager.schema.ts +14 -11
  645. package/src/src/platform/adapters/fs/veryfront/stat-operations.ts +1 -0
  646. package/src/src/platform/adapters/veryfront-api-client/index.ts +17 -16
  647. package/src/src/platform/adapters/veryfront-api-client/operations.ts +20 -31
  648. package/src/src/platform/adapters/veryfront-api-client/schemas/api.schema.ts +231 -150
  649. package/src/src/platform/adapters/veryfront-api-client/schemas/index.ts +17 -16
  650. package/src/src/prompt/schemas/prompt.schema.ts +13 -10
  651. package/src/src/proxy/handler.ts +0 -1
  652. package/src/src/rendering/orchestrator/html-project-css.ts +1 -1
  653. package/src/src/rendering/renderer.ts +2 -2
  654. package/src/src/repositories/schemas/repository.schema.ts +36 -22
  655. package/src/src/resource/index.ts +6 -2
  656. package/src/src/resource/schemas/index.ts +2 -0
  657. package/src/src/resource/schemas/resource.schema.ts +17 -8
  658. package/src/src/resource/types.ts +3 -3
  659. package/src/src/routing/api/openapi/types.ts +5 -5
  660. package/src/src/sandbox/hosted-tools.ts +17 -13
  661. package/src/src/schemas/common.ts +83 -31
  662. package/src/src/schemas/define.ts +13 -6
  663. package/src/src/schemas/index.ts +29 -17
  664. package/src/src/schemas/json-schema.ts +33 -0
  665. package/src/src/schemas/primitives.ts +71 -35
  666. package/src/src/security/http/config.ts +1 -1
  667. package/src/src/security/input-validation/handler.ts +3 -3
  668. package/src/src/security/input-validation/parsers.ts +40 -45
  669. package/src/src/server/bootstrap.ts +3 -3
  670. package/src/src/server/dev-ui/manifest.js +1 -1
  671. package/src/src/server/handlers/dev/framework-candidates.generated.ts +1 -0
  672. package/src/src/server/handlers/request/agent-run-cancel.handler.ts +2 -6
  673. package/src/src/server/handlers/request/agent-run-resume.handler.ts +4 -9
  674. package/src/src/server/handlers/request/agent-stream.handler.ts +2 -4
  675. package/src/src/server/handlers/request/internal-agents-list.handler.ts +2 -5
  676. package/src/src/server/runtime-handler/environment-resolution.ts +4 -5
  677. package/src/src/server/runtime-handler/request-utils.ts +1 -2
  678. package/src/src/server/schemas/action.schema.ts +12 -6
  679. package/src/src/skill/tools.ts +37 -25
  680. package/src/src/tool/factory.ts +23 -5
  681. package/src/src/tool/host-tools.ts +16 -6
  682. package/src/src/tool/index.ts +9 -5
  683. package/src/src/tool/remote-source-tools.ts +10 -2
  684. package/src/src/tool/schema/json-schema.ts +9 -15
  685. package/src/src/tool/schema/zod-json-schema.ts +75 -209
  686. package/src/src/tool/sleep.ts +55 -7
  687. package/src/src/tool/types.ts +12 -8
  688. package/src/src/transforms/npm-import-rewrites.ts +1 -3
  689. package/src/src/utils/version-constant.ts +1 -1
  690. package/src/src/workflow/blob/veryfront-cloud-storage.ts +53 -39
  691. package/src/src/workflow/claude-code/tool.ts +29 -38
  692. package/src/src/workflow/dsl/workflow.ts +3 -3
  693. package/src/src/workflow/schemas/index.ts +17 -0
  694. package/src/src/workflow/schemas/workflow.schema.ts +183 -123
  695. package/src/src/workflow/types.ts +3 -3
  696. package/esm/src/schemas/zod-adapter.d.ts +0 -25
  697. package/esm/src/schemas/zod-adapter.d.ts.map +0 -1
  698. package/esm/src/schemas/zod-adapter.js +0 -120
  699. package/src/src/schemas/zod-adapter.ts +0 -180
@@ -1,18 +1,23 @@
1
- import { z } from "zod";
1
+ import { defineSchema } from "../../../src/schemas/index.js";
2
+ import type { InferSchema } from "../../../src/extensions/schema/index.js";
2
3
  import { createArgParser, parseArgsOrThrow } from "../../shared/args.js";
3
4
  import type { ParsedArgs } from "../../shared/types.js";
4
5
 
5
- const WorkerArgsSchema = z.object({
6
- redisUrl: z.string().default("redis://localhost:6379"),
7
- concurrency: z.number().default(3),
8
- pollInterval: z.number().default(5000),
9
- stalledThreshold: z.number().default(60000),
10
- executor: z.enum(["process", "k8s"]).default("process"),
11
- entrypoint: z.string().optional(),
12
- debug: z.boolean().default(false),
13
- });
6
+ const getWorkerArgsSchema = defineSchema((v) =>
7
+ v.object({
8
+ redisUrl: v.string().default("redis://localhost:6379"),
9
+ concurrency: v.number().default(3),
10
+ pollInterval: v.number().default(5000),
11
+ stalledThreshold: v.number().default(60000),
12
+ executor: v.enum(["process", "k8s"]).default("process"),
13
+ entrypoint: v.string().optional(),
14
+ debug: v.boolean().default(false),
15
+ })
16
+ );
17
+
18
+ const WorkerArgsSchema = getWorkerArgsSchema();
14
19
 
15
- export type WorkerArgs = z.infer<typeof WorkerArgsSchema>;
20
+ export type WorkerArgs = InferSchema<ReturnType<typeof getWorkerArgsSchema>>;
16
21
 
17
22
  export const parseWorkerArgs = createArgParser(WorkerArgsSchema, {
18
23
  redisUrl: { keys: ["redis-url", "redis"], type: "string" },
@@ -1,15 +1,20 @@
1
- import { z } from "zod";
1
+ import { defineSchema } from "../../../src/schemas/index.js";
2
+ import type { InferSchema } from "../../../src/extensions/schema/index.js";
2
3
  import { createArgParser, parseArgsOrThrow } from "../../shared/args.js";
3
4
  import type { ParsedArgs } from "../../shared/types.js";
4
5
 
5
- const WorkflowArgsSchema = z.object({
6
- action: z.enum(["run"]),
7
- name: z.string(),
8
- input: z.string().optional(),
9
- debug: z.boolean().default(false),
10
- });
6
+ const getWorkflowArgsSchema = defineSchema((v) =>
7
+ v.object({
8
+ action: v.enum(["run"]),
9
+ name: v.string(),
10
+ input: v.string().optional(),
11
+ debug: v.boolean().default(false),
12
+ })
13
+ );
14
+
15
+ const WorkflowArgsSchema = getWorkflowArgsSchema();
11
16
 
12
- export type WorkflowArgs = z.infer<typeof WorkflowArgsSchema>;
17
+ export type WorkflowArgs = InferSchema<ReturnType<typeof getWorkflowArgsSchema>>;
13
18
 
14
19
  export const parseWorkflowArgs = createArgParser(WorkflowArgsSchema, {
15
20
  action: { keys: ["action"], type: "string", positional: 0 },
@@ -4,19 +4,23 @@
4
4
  * @module cli/mcp/jsonrpc
5
5
  */
6
6
 
7
- import { z } from "zod";
7
+ import { defineSchema } from "../../src/schemas/index.js";
8
+ import type { InferSchema } from "../../src/extensions/schema/index.js";
8
9
 
9
10
  /**
10
11
  * JSON-RPC 2.0 request (validated at runtime for external input)
11
12
  */
12
- export const JSONRPCRequestSchema = z.object({
13
- jsonrpc: z.literal("2.0"),
14
- id: z.union([z.string(), z.number()]).optional(),
15
- method: z.string(),
16
- params: z.unknown().optional(),
17
- });
18
-
19
- export type JSONRPCRequest = z.infer<typeof JSONRPCRequestSchema>;
13
+ export const getJSONRPCRequestSchema = defineSchema((v) =>
14
+ v.object({
15
+ jsonrpc: v.literal("2.0"),
16
+ id: v.union([v.string(), v.number()]).optional(),
17
+ method: v.string(),
18
+ params: v.unknown().optional(),
19
+ })
20
+ );
21
+ export const JSONRPCRequestSchema = getJSONRPCRequestSchema();
22
+
23
+ export type JSONRPCRequest = InferSchema<ReturnType<typeof getJSONRPCRequestSchema>>;
20
24
 
21
25
  /**
22
26
  * JSON-RPC 2.0 response
@@ -153,21 +157,30 @@ export function buildInitializeResult(
153
157
  /**
154
158
  * Validate and extract tools/call params
155
159
  */
156
- export const ToolsCallParamsSchema = z.object({
157
- name: z.string(),
158
- arguments: z.record(z.string(), z.unknown()).optional(),
159
- });
160
+ export const getToolsCallParamsSchema = defineSchema((v) =>
161
+ v.object({
162
+ name: v.string(),
163
+ arguments: v.record(v.string(), v.unknown()).optional(),
164
+ })
165
+ );
166
+ export const ToolsCallParamsSchema = getToolsCallParamsSchema();
160
167
 
161
168
  /**
162
169
  * Validate and extract prompts/get params
163
170
  */
164
- export const PromptsGetParamsSchema = z.object({
165
- name: z.string(),
166
- });
171
+ export const getPromptsGetParamsSchema = defineSchema((v) =>
172
+ v.object({
173
+ name: v.string(),
174
+ })
175
+ );
176
+ export const PromptsGetParamsSchema = getPromptsGetParamsSchema();
167
177
 
168
178
  /**
169
179
  * Validate and extract resources/read params
170
180
  */
171
- export const ResourcesReadParamsSchema = z.object({
172
- uri: z.string(),
173
- });
181
+ export const getResourcesReadParamsSchema = defineSchema((v) =>
182
+ v.object({
183
+ uri: v.string(),
184
+ })
185
+ );
186
+ export const ResourcesReadParamsSchema = getResourcesReadParamsSchema();
@@ -9,7 +9,8 @@
9
9
  * API Base: Configurable via VERYFRONT_API_BASE_URL (default: https://api.veryfront.com)
10
10
  */
11
11
 
12
- import { z } from "zod";
12
+ import { defineSchema } from "../../src/schemas/index.js";
13
+ import type { InferSchema } from "../../src/extensions/schema/index.js";
13
14
  import type { MCPTool } from "./tools.js";
14
15
  import { getEnvironmentConfig } from "../../src/config/index.js";
15
16
  import { withSpan } from "../../src/observability/tracing/otlp-setup.js";
@@ -165,16 +166,19 @@ async function createProjectWithRetry(
165
166
  // Tool: vf_remote_list_files
166
167
  // ============================================================================
167
168
 
168
- const remoteListFilesInput = z.object({
169
- project: z.string().describe("Project slug or ID"),
170
- branch: z.string().optional().describe("Branch name (omit for main branch)"),
171
- pattern: z.string().optional().describe("File pattern filter (e.g., *.tsx, pages/*)"),
172
- limit: z.number().optional().default(50).describe(
173
- "Maximum number of files to return (default: 50)",
174
- ),
175
- });
169
+ const getRemoteListFilesInput = defineSchema((v) =>
170
+ v.object({
171
+ project: v.string().describe("Project slug or ID"),
172
+ branch: v.string().optional().describe("Branch name (omit for main branch)"),
173
+ pattern: v.string().optional().describe("File pattern filter (e.g., *.tsx, pages/*)"),
174
+ limit: v.number().optional().default(50).describe(
175
+ "Maximum number of files to return (default: 50)",
176
+ ),
177
+ })
178
+ );
179
+ const remoteListFilesInput = getRemoteListFilesInput();
176
180
 
177
- type RemoteListFilesInput = z.infer<typeof remoteListFilesInput>;
181
+ type RemoteListFilesInput = InferSchema<ReturnType<typeof getRemoteListFilesInput>>;
178
182
 
179
183
  interface RemoteListFilesOutput {
180
184
  success: boolean;
@@ -220,13 +224,16 @@ export const vfRemoteListFiles: MCPTool<RemoteListFilesInput, RemoteListFilesOut
220
224
  // Tool: vf_remote_get_file
221
225
  // ============================================================================
222
226
 
223
- const remoteGetFileInput = z.object({
224
- project: z.string().describe("Project slug or ID"),
225
- path: z.string().describe("File path (e.g., pages/index.mdx, app/page.tsx)"),
226
- branch: z.string().optional().describe("Branch name (omit for main branch)"),
227
- });
227
+ const getRemoteGetFileInput = defineSchema((v) =>
228
+ v.object({
229
+ project: v.string().describe("Project slug or ID"),
230
+ path: v.string().describe("File path (e.g., pages/index.mdx, app/page.tsx)"),
231
+ branch: v.string().optional().describe("Branch name (omit for main branch)"),
232
+ })
233
+ );
234
+ const remoteGetFileInput = getRemoteGetFileInput();
228
235
 
229
- type RemoteGetFileInput = z.infer<typeof remoteGetFileInput>;
236
+ type RemoteGetFileInput = InferSchema<ReturnType<typeof getRemoteGetFileInput>>;
230
237
 
231
238
  interface RemoteGetFileOutput {
232
239
  success: boolean;
@@ -265,14 +272,17 @@ export const vfRemoteGetFile: MCPTool<RemoteGetFileInput, RemoteGetFileOutput> =
265
272
  // Tool: vf_remote_update_file
266
273
  // ============================================================================
267
274
 
268
- const remoteUpdateFileInput = z.object({
269
- project: z.string().describe("Project slug or ID"),
270
- path: z.string().describe("File path (e.g., pages/index.mdx)"),
271
- content: z.string().describe("New file content"),
272
- branch: z.string().optional().describe("Branch name (omit for main branch)"),
273
- });
275
+ const getRemoteUpdateFileInput = defineSchema((v) =>
276
+ v.object({
277
+ project: v.string().describe("Project slug or ID"),
278
+ path: v.string().describe("File path (e.g., pages/index.mdx)"),
279
+ content: v.string().describe("New file content"),
280
+ branch: v.string().optional().describe("Branch name (omit for main branch)"),
281
+ })
282
+ );
283
+ const remoteUpdateFileInput = getRemoteUpdateFileInput();
274
284
 
275
- type RemoteUpdateFileInput = z.infer<typeof remoteUpdateFileInput>;
285
+ type RemoteUpdateFileInput = InferSchema<ReturnType<typeof getRemoteUpdateFileInput>>;
276
286
 
277
287
  interface RemoteUpdateFileOutput {
278
288
  success: boolean;
@@ -320,13 +330,16 @@ export const vfRemoteUpdateFile: MCPTool<RemoteUpdateFileInput, RemoteUpdateFile
320
330
  // Tool: vf_remote_delete_file
321
331
  // ============================================================================
322
332
 
323
- const remoteDeleteFileInput = z.object({
324
- project: z.string().describe("Project slug or ID"),
325
- path: z.string().describe("File path to delete"),
326
- branch: z.string().optional().describe("Branch name (omit for main branch)"),
327
- });
333
+ const getRemoteDeleteFileInput = defineSchema((v) =>
334
+ v.object({
335
+ project: v.string().describe("Project slug or ID"),
336
+ path: v.string().describe("File path to delete"),
337
+ branch: v.string().optional().describe("Branch name (omit for main branch)"),
338
+ })
339
+ );
340
+ const remoteDeleteFileInput = getRemoteDeleteFileInput();
328
341
 
329
- type RemoteDeleteFileInput = z.infer<typeof remoteDeleteFileInput>;
342
+ type RemoteDeleteFileInput = InferSchema<ReturnType<typeof getRemoteDeleteFileInput>>;
330
343
 
331
344
  interface RemoteDeleteFileOutput {
332
345
  success: boolean;
@@ -358,17 +371,20 @@ export const vfRemoteDeleteFile: MCPTool<RemoteDeleteFileInput, RemoteDeleteFile
358
371
  // Tool: vf_remote_search_files
359
372
  // ============================================================================
360
373
 
361
- const remoteSearchFilesInput = z.object({
362
- project: z.string().describe("Project slug or ID"),
363
- query: z.string().describe("Search query (text or regex pattern)"),
364
- pattern: z.string().optional().describe("File pattern filter (e.g., *.tsx)"),
365
- is_regex: z.boolean().optional().describe("Treat query as regex (default: false)"),
366
- case_sensitive: z.boolean().optional().describe("Case sensitive search (default: false)"),
367
- max_results: z.number().optional().default(50).describe("Maximum results (default: 50)"),
368
- branch: z.string().optional().describe("Branch name (omit for main branch)"),
369
- });
370
-
371
- type RemoteSearchFilesInput = z.infer<typeof remoteSearchFilesInput>;
374
+ const getRemoteSearchFilesInput = defineSchema((v) =>
375
+ v.object({
376
+ project: v.string().describe("Project slug or ID"),
377
+ query: v.string().describe("Search query (text or regex pattern)"),
378
+ pattern: v.string().optional().describe("File pattern filter (e.g., *.tsx)"),
379
+ is_regex: v.boolean().optional().describe("Treat query as regex (default: false)"),
380
+ case_sensitive: v.boolean().optional().describe("Case sensitive search (default: false)"),
381
+ max_results: v.number().optional().default(50).describe("Maximum results (default: 50)"),
382
+ branch: v.string().optional().describe("Branch name (omit for main branch)"),
383
+ })
384
+ );
385
+ const remoteSearchFilesInput = getRemoteSearchFilesInput();
386
+
387
+ type RemoteSearchFilesInput = InferSchema<ReturnType<typeof getRemoteSearchFilesInput>>;
372
388
 
373
389
  interface RemoteSearchFilesOutput {
374
390
  success: boolean;
@@ -415,14 +431,17 @@ export const vfRemoteSearchFiles: MCPTool<RemoteSearchFilesInput, RemoteSearchFi
415
431
  // Tool: vf_remote_move_file
416
432
  // ============================================================================
417
433
 
418
- const remoteMoveFileInput = z.object({
419
- project: z.string().describe("Project slug or ID"),
420
- source_path: z.string().describe("Current file path"),
421
- destination_path: z.string().describe("New file path"),
422
- branch: z.string().optional().describe("Branch name (omit for main branch)"),
423
- });
434
+ const getRemoteMoveFileInput = defineSchema((v) =>
435
+ v.object({
436
+ project: v.string().describe("Project slug or ID"),
437
+ source_path: v.string().describe("Current file path"),
438
+ destination_path: v.string().describe("New file path"),
439
+ branch: v.string().optional().describe("Branch name (omit for main branch)"),
440
+ })
441
+ );
442
+ const remoteMoveFileInput = getRemoteMoveFileInput();
424
443
 
425
- type RemoteMoveFileInput = z.infer<typeof remoteMoveFileInput>;
444
+ type RemoteMoveFileInput = InferSchema<ReturnType<typeof getRemoteMoveFileInput>>;
426
445
 
427
446
  interface RemoteMoveFileOutput {
428
447
  success: boolean;
@@ -468,15 +487,18 @@ export const vfRemoteMoveFile: MCPTool<RemoteMoveFileInput, RemoteMoveFileOutput
468
487
  // Tool: vf_remote_list_branches
469
488
  // ============================================================================
470
489
 
471
- const remoteListBranchesInput = z.object({
472
- project: z.string().describe("Project slug or ID"),
473
- search: z.string().optional().describe("Search filter for branch name"),
474
- status: z.enum(["active", "merged", "all"]).optional().default("all").describe(
475
- "Filter by branch status (default: all)",
476
- ),
477
- });
490
+ const getRemoteListBranchesInput = defineSchema((v) =>
491
+ v.object({
492
+ project: v.string().describe("Project slug or ID"),
493
+ search: v.string().optional().describe("Search filter for branch name"),
494
+ status: v.enum(["active", "merged", "all"]).optional().default("all").describe(
495
+ "Filter by branch status (default: all)",
496
+ ),
497
+ })
498
+ );
499
+ const remoteListBranchesInput = getRemoteListBranchesInput();
478
500
 
479
- type RemoteListBranchesInput = z.infer<typeof remoteListBranchesInput>;
501
+ type RemoteListBranchesInput = InferSchema<ReturnType<typeof getRemoteListBranchesInput>>;
480
502
 
481
503
  interface RemoteListBranchesOutput {
482
504
  success: boolean;
@@ -507,15 +529,18 @@ export const vfRemoteListBranches: MCPTool<RemoteListBranchesInput, RemoteListBr
507
529
  // Tool: vf_remote_create_branch
508
530
  // ============================================================================
509
531
 
510
- const remoteCreateBranchInput = z.object({
511
- project: z.string().describe("Project slug or ID"),
512
- name: z.string().describe("Branch name"),
513
- base_branch_id: z.string().optional().describe(
514
- "Base branch ID to create from (omit for main branch)",
515
- ),
516
- });
532
+ const getRemoteCreateBranchInput = defineSchema((v) =>
533
+ v.object({
534
+ project: v.string().describe("Project slug or ID"),
535
+ name: v.string().describe("Branch name"),
536
+ base_branch_id: v.string().optional().describe(
537
+ "Base branch ID to create from (omit for main branch)",
538
+ ),
539
+ })
540
+ );
541
+ const remoteCreateBranchInput = getRemoteCreateBranchInput();
517
542
 
518
- type RemoteCreateBranchInput = z.infer<typeof remoteCreateBranchInput>;
543
+ type RemoteCreateBranchInput = InferSchema<ReturnType<typeof getRemoteCreateBranchInput>>;
519
544
 
520
545
  interface RemoteCreateBranchOutput {
521
546
  success: boolean;
@@ -544,15 +569,18 @@ export const vfRemoteCreateBranch: MCPTool<RemoteCreateBranchInput, RemoteCreate
544
569
  // Tool: vf_remote_merge_branch
545
570
  // ============================================================================
546
571
 
547
- const remoteMergeBranchInput = z.object({
548
- project: z.string().describe("Project slug or ID"),
549
- branch_id: z.string().describe("Branch ID to merge"),
550
- target_branch_id: z.string().optional().describe(
551
- "Target branch ID to merge into (omit to merge into main)",
552
- ),
553
- });
572
+ const getRemoteMergeBranchInput = defineSchema((v) =>
573
+ v.object({
574
+ project: v.string().describe("Project slug or ID"),
575
+ branch_id: v.string().describe("Branch ID to merge"),
576
+ target_branch_id: v.string().optional().describe(
577
+ "Target branch ID to merge into (omit to merge into main)",
578
+ ),
579
+ })
580
+ );
581
+ const remoteMergeBranchInput = getRemoteMergeBranchInput();
554
582
 
555
- type RemoteMergeBranchInput = z.infer<typeof remoteMergeBranchInput>;
583
+ type RemoteMergeBranchInput = InferSchema<ReturnType<typeof getRemoteMergeBranchInput>>;
556
584
 
557
585
  interface RemoteMergeBranchOutput {
558
586
  success: boolean;
@@ -597,12 +625,15 @@ export const vfRemoteMergeBranch: MCPTool<RemoteMergeBranchInput, RemoteMergeBra
597
625
  // Tool: vf_remote_delete_branch
598
626
  // ============================================================================
599
627
 
600
- const remoteDeleteBranchInput = z.object({
601
- project: z.string().describe("Project slug or ID"),
602
- branch_id: z.string().describe("Branch ID to delete"),
603
- });
628
+ const getRemoteDeleteBranchInput = defineSchema((v) =>
629
+ v.object({
630
+ project: v.string().describe("Project slug or ID"),
631
+ branch_id: v.string().describe("Branch ID to delete"),
632
+ })
633
+ );
634
+ const remoteDeleteBranchInput = getRemoteDeleteBranchInput();
604
635
 
605
- type RemoteDeleteBranchInput = z.infer<typeof remoteDeleteBranchInput>;
636
+ type RemoteDeleteBranchInput = InferSchema<ReturnType<typeof getRemoteDeleteBranchInput>>;
606
637
 
607
638
  interface RemoteDeleteBranchOutput {
608
639
  success: boolean;
@@ -635,17 +666,20 @@ export const vfRemoteDeleteBranch: MCPTool<RemoteDeleteBranchInput, RemoteDelete
635
666
  // Tool: vf_remote_create_project
636
667
  // ============================================================================
637
668
 
638
- const remoteCreateProjectInput = z.object({
639
- slug: z.string().describe(
640
- "Project slug (lowercase letters, numbers, hyphens only). A random suffix is appended if the slug is already taken.",
641
- ),
642
- templateSlug: z.string().optional().describe(
643
- "Template project slug to fork from (e.g., 'blank', 'ai-agent', 'docs-agent')",
644
- ),
645
- is_public: z.boolean().optional().describe("Whether the project is public (default: false)"),
646
- });
669
+ const getRemoteCreateProjectInput = defineSchema((v) =>
670
+ v.object({
671
+ slug: v.string().describe(
672
+ "Project slug (lowercase letters, numbers, hyphens only). A random suffix is appended if the slug is already taken.",
673
+ ),
674
+ templateSlug: v.string().optional().describe(
675
+ "Template project slug to fork from (e.g., 'blank', 'ai-agent', 'docs-agent')",
676
+ ),
677
+ is_public: v.boolean().optional().describe("Whether the project is public (default: false)"),
678
+ })
679
+ );
680
+ const remoteCreateProjectInput = getRemoteCreateProjectInput();
647
681
 
648
- type RemoteCreateProjectInput = z.infer<typeof remoteCreateProjectInput>;
682
+ type RemoteCreateProjectInput = InferSchema<ReturnType<typeof getRemoteCreateProjectInput>>;
649
683
 
650
684
  interface RemoteCreateProjectOutput {
651
685
  success: boolean;
@@ -674,17 +708,20 @@ export const vfRemoteCreateProject: MCPTool<RemoteCreateProjectInput, RemoteCrea
674
708
  // Tool: vf_remote_clone_project
675
709
  // ============================================================================
676
710
 
677
- const remoteCloneProjectInput = z.object({
678
- source_project: z.string().describe("Source project slug or ID to clone from"),
679
- target_slug: z.string().describe(
680
- "Slug for the new project (lowercase letters, numbers, hyphens only). A random suffix is appended if the slug is already taken.",
681
- ),
682
- file_pattern: z.string().optional().describe(
683
- "Optional file pattern to filter which files to clone (e.g., '*.tsx')",
684
- ),
685
- });
686
-
687
- type RemoteCloneProjectInput = z.infer<typeof remoteCloneProjectInput>;
711
+ const getRemoteCloneProjectInput = defineSchema((v) =>
712
+ v.object({
713
+ source_project: v.string().describe("Source project slug or ID to clone from"),
714
+ target_slug: v.string().describe(
715
+ "Slug for the new project (lowercase letters, numbers, hyphens only). A random suffix is appended if the slug is already taken.",
716
+ ),
717
+ file_pattern: v.string().optional().describe(
718
+ "Optional file pattern to filter which files to clone (e.g., '*.tsx')",
719
+ ),
720
+ })
721
+ );
722
+ const remoteCloneProjectInput = getRemoteCloneProjectInput();
723
+
724
+ type RemoteCloneProjectInput = InferSchema<ReturnType<typeof getRemoteCloneProjectInput>>;
688
725
 
689
726
  interface RemoteCloneProjectOutput {
690
727
  success: boolean;
@@ -13,6 +13,7 @@ import { withSpan } from "../../src/observability/tracing/otlp-setup.js";
13
13
  import { createIssuesManager } from "../../src/issues/index.js";
14
14
  import type { ToolListEntry } from "../../src/mcp/index.js";
15
15
  import { getErrorCollector, getLogBuffer } from "../../src/observability/index.js";
16
+ import { zodToJsonSchema } from "../../src/tool/schema/index.js";
16
17
  import { allTools, getTool, setServerStartTime } from "./tools.js";
17
18
  import { startStdioJsonRpc } from "./stdio.js";
18
19
  import {
@@ -29,21 +30,6 @@ import {
29
30
  ToolsCallParamsSchema,
30
31
  } from "./jsonrpc.js";
31
32
 
32
- /** Minimal shape of a Zod schema's internal _def for JSON Schema conversion */
33
- interface ZodDef {
34
- description?: string;
35
- typeName?: string;
36
- shape?: () => Record<string, unknown>;
37
- type?: unknown;
38
- values?: unknown[];
39
- innerType?: unknown;
40
- defaultValue?: () => unknown;
41
- value?: unknown;
42
- options?: unknown[];
43
- valueType?: unknown;
44
- keyType?: unknown;
45
- }
46
-
47
33
  export interface MCPServerConfig {
48
34
  /** Enable stdio transport (for Claude Code, Cursor, etc.) */
49
35
  stdio?: boolean;
@@ -221,7 +207,7 @@ export class MCPDevServer {
221
207
  const entry: ToolListEntry = {
222
208
  name: tool.name,
223
209
  description: tool.description,
224
- inputSchema: this.zodToJsonSchema(tool.inputSchema),
210
+ inputSchema: zodToJsonSchema(tool.inputSchema) as Record<string, unknown>,
225
211
  };
226
212
  if (tool.title) entry.title = tool.title;
227
213
  if (tool.annotations) entry.annotations = tool.annotations;
@@ -533,70 +519,6 @@ export class MCPDevServer {
533
519
  { "mcp.prompt.name": name },
534
520
  );
535
521
  }
536
-
537
- private zodToJsonSchema(schema: unknown): Record<string, unknown> {
538
- const def = (schema as { _def?: ZodDef } | null)?._def;
539
- if (!def) return { type: "object", properties: {} };
540
-
541
- const desc = def.description ? { description: def.description } : {};
542
-
543
- switch (def.typeName) {
544
- case "ZodObject": {
545
- const shape = def.shape?.() ?? {};
546
- const properties: Record<string, unknown> = {};
547
- const required: string[] = [];
548
-
549
- for (const [key, value] of Object.entries(shape)) {
550
- const fieldDef = (value as { _def?: ZodDef } | null)?._def;
551
- const fieldSchema = this.zodToJsonSchema(value);
552
-
553
- if (fieldDef?.description) fieldSchema.description = fieldDef.description;
554
- properties[key] = fieldSchema;
555
-
556
- if (fieldDef?.typeName !== "ZodOptional" && fieldDef?.typeName !== "ZodDefault") {
557
- required.push(key);
558
- }
559
- }
560
-
561
- return { type: "object", properties, ...(required.length ? { required } : {}) };
562
- }
563
- case "ZodString":
564
- return { type: "string", ...desc };
565
- case "ZodNumber":
566
- return { type: "number", ...desc };
567
- case "ZodBoolean":
568
- return { type: "boolean", ...desc };
569
- case "ZodArray":
570
- return { type: "array", items: this.zodToJsonSchema(def.type), ...desc };
571
- case "ZodEnum":
572
- return { type: "string", enum: def.values, ...desc };
573
- case "ZodOptional":
574
- return this.zodToJsonSchema(def.innerType);
575
- case "ZodDefault": {
576
- const inner = this.zodToJsonSchema(def.innerType);
577
- inner.default = def.defaultValue?.();
578
- return inner;
579
- }
580
- case "ZodNullable": {
581
- const inner = this.zodToJsonSchema(def.innerType);
582
- return { ...inner, nullable: true };
583
- }
584
- case "ZodLiteral":
585
- return { const: def.value, ...desc };
586
- case "ZodUnion": {
587
- const options = (def.options ?? []).map((o: unknown) => this.zodToJsonSchema(o));
588
- return { anyOf: options, ...desc };
589
- }
590
- case "ZodRecord":
591
- return {
592
- type: "object",
593
- additionalProperties: this.zodToJsonSchema(def.valueType),
594
- ...desc,
595
- };
596
- default:
597
- return { type: "object" };
598
- }
599
- }
600
522
  }
601
523
 
602
524
  export function createMCPServer(config: MCPServerConfig): MCPDevServer {
@@ -5,19 +5,23 @@
5
5
  * project context, coding conventions, current errors, and server status.
6
6
  */
7
7
 
8
- import { z } from "zod";
8
+ import { defineSchema } from "../../../src/schemas/index.js";
9
+ import type { InferSchema } from "../../../src/extensions/schema/index.js";
9
10
  import type { MCPTool } from "../../../src/mcp/index.js";
10
11
  import { type DevError, getErrorCollector } from "../../../src/observability/index.js";
11
12
  import { vfGetProjectContext } from "./project-tools.js";
12
13
  import { vfGetConventions } from "./scaffold-tools.js";
13
14
 
14
- const bootstrapInput = z.object({
15
- projectPath: z.string().optional().describe(
16
- "Project directory (defaults to current working directory)",
17
- ),
18
- });
15
+ const getBootstrapInput = defineSchema((v) =>
16
+ v.object({
17
+ projectPath: v.string().optional().describe(
18
+ "Project directory (defaults to current working directory)",
19
+ ),
20
+ })
21
+ );
22
+ const bootstrapInput = getBootstrapInput();
19
23
 
20
- type BootstrapInput = z.infer<typeof bootstrapInput>;
24
+ type BootstrapInput = InferSchema<ReturnType<typeof getBootstrapInput>>;
21
25
 
22
26
  interface BootstrapResult {
23
27
  project: Awaited<ReturnType<typeof vfGetProjectContext.execute>>;