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
package/esm/deno.d.ts CHANGED
@@ -262,9 +262,13 @@ declare namespace _default {
262
262
  "@babel/parser": string;
263
263
  "gray-matter": string;
264
264
  zod: string;
265
+ mdast: string;
266
+ hast: string;
267
+ unist: string;
265
268
  unified: string;
266
269
  "class-variance-authority": string;
267
270
  "tailwind-merge": string;
271
+ "veryfront/schemas": string;
268
272
  "veryfront/chat/conversation": string;
269
273
  "veryfront/chat/message-prep": string;
270
274
  "veryfront/chat/final-step-fallback": string;
@@ -316,6 +320,7 @@ declare namespace _default {
316
320
  "docs:validate": string;
317
321
  "docs:verify-npm": string;
318
322
  "docs:check-links": string;
323
+ "lint:ban-zod": string;
319
324
  "lint:ban-console": string;
320
325
  "lint:ban-deep-imports": string;
321
326
  "lint:imports": string;
package/esm/deno.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export default {
2
2
  "name": "veryfront",
3
- "version": "0.1.501",
3
+ "version": "0.1.503",
4
4
  "license": "Apache-2.0",
5
5
  "nodeModulesDir": "auto",
6
6
  "workspace": [
@@ -15,7 +15,8 @@ export default {
15
15
  "./extensions/ext-node-compatibility",
16
16
  "./extensions/ext-parser-babel",
17
17
  "./extensions/ext-tracing-opentelemetry",
18
- "./extensions/ext-transform-mdx"
18
+ "./extensions/ext-transform-mdx",
19
+ "./extensions/ext-zod"
19
20
  ],
20
21
  "exclude": [
21
22
  "npm/",
@@ -286,9 +287,13 @@ export default {
286
287
  "@babel/parser": "npm:@babel/parser@7.29.2",
287
288
  "gray-matter": "npm:gray-matter@4.0.3",
288
289
  "zod": "npm:zod@4.3.6",
290
+ "mdast": "npm:@types/mdast@4.0.3",
291
+ "hast": "npm:@types/hast@3.0.3",
292
+ "unist": "npm:@types/unist@3.0.2",
289
293
  "unified": "npm:unified@11.0.5",
290
294
  "class-variance-authority": "npm:class-variance-authority@0.7.1",
291
295
  "tailwind-merge": "npm:tailwind-merge@3.5.0",
296
+ "veryfront/schemas": "./src/schemas/index.ts",
292
297
  "veryfront/chat/conversation": "./src/chat/conversation.ts",
293
298
  "veryfront/chat/message-prep": "./src/chat/message-prep.ts",
294
299
  "veryfront/chat/final-step-fallback": "./src/chat/final-step-fallback.ts",
@@ -341,13 +346,14 @@ export default {
341
346
  "fmt": "deno fmt src/ cli/",
342
347
  "fmt:check": "deno fmt --check src/ cli/",
343
348
  "typecheck": "deno task generate && deno check src/index.ts cli/main.ts src/server/index.ts src/routing/api/index.ts src/rendering/index.ts src/platform/index.ts src/platform/adapters/index.ts src/build/index.ts src/build/production-build/index.ts src/transforms/index.ts src/config/index.ts src/utils/index.ts src/data/index.ts src/security/index.ts src/middleware/index.ts src/server/handlers/dev/index.ts src/server/handlers/request/api/index.ts src/rendering/cache/index.ts src/rendering/cache/stores/index.ts src/rendering/rsc/actions/index.ts src/html/index.ts src/modules/index.ts src/proxy/main.ts src/chat/index.ts src/markdown/index.ts src/mdx/index.ts src/fs/index.ts src/oauth/index.ts src/agent/index.ts src/agent/agent-service-route-export.check.ts src/tool/index.ts src/workflow/index.ts src/prompt/index.ts src/resource/index.ts src/jobs/index.ts src/mcp/index.ts src/provider/index.ts",
344
- "verify": "deno task generate && deno fmt --check src/ cli/ && DENO_NO_PACKAGE_JSON=1 deno lint src/ cli/ && deno task lint:style && deno task lint:cli-boundary && deno task lint:wildcard-exports && deno task lint:barrel-jsdoc && deno task docs:validate && deno task typecheck && deno task test && deno task test:e2e:binary",
345
- "verify:quick": "deno task generate && deno fmt --check src/ cli/ && DENO_NO_PACKAGE_JSON=1 deno lint src/ cli/ && deno task lint:style && deno task lint:cli-boundary && deno task lint:wildcard-exports && deno task lint:barrel-jsdoc && deno task docs:validate && deno task typecheck",
349
+ "verify": "deno task generate && deno fmt --check src/ cli/ && DENO_NO_PACKAGE_JSON=1 deno lint src/ cli/ && deno task lint:style && deno task lint:cli-boundary && deno task lint:wildcard-exports && deno task lint:barrel-jsdoc && deno task lint:ban-zod && deno task docs:validate && deno task typecheck && deno task test && deno task test:e2e:binary",
350
+ "verify:quick": "deno task generate && deno fmt --check src/ cli/ && DENO_NO_PACKAGE_JSON=1 deno lint src/ cli/ && deno task lint:style && deno task lint:cli-boundary && deno task lint:wildcard-exports && deno task lint:barrel-jsdoc && deno task lint:ban-zod && deno task docs:validate && deno task typecheck",
346
351
  "docs": "rm -rf docs/reference && deno run --allow-read --allow-write --allow-run scripts/docs/generate-api-reference.ts",
347
352
  "docs:copy": "rm -rf ../../docs/docs/code/reference && cp -r docs/reference/ ../../docs/docs/code/reference/",
348
353
  "docs:validate": "deno run --allow-read scripts/docs/validate-api-reference.ts",
349
354
  "docs:verify-npm": "node scripts/docs/verify-npm-exports.mjs && node scripts/docs/verify-npm-node.mjs",
350
355
  "docs:check-links": "deno run -A scripts/lint/check-doc-links.ts",
356
+ "lint:ban-zod": "deno run --allow-read scripts/lint/ban-zod-imports.ts",
351
357
  "lint:ban-console": "deno run --allow-read scripts/lint/ban-console.ts",
352
358
  "lint:ban-deep-imports": "deno run --allow-read scripts/lint/ban-deep-imports.ts",
353
359
  "lint:imports": "deno run --allow-read scripts/lint/no-cross-boundary-relative-imports.ts",
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Zod-backed `SchemaValidator` adapter.
3
+ *
4
+ * The default implementation of the `SchemaValidator` contract. It thinly
5
+ * wraps zod so that core modules can declare schemas through the
6
+ * extension-neutral DSL while still getting zod's runtime behavior.
7
+ *
8
+ * The entire zod surface used by the contract is confined to this file.
9
+ *
10
+ * @module extensions/ext-zod/adapter
11
+ */
12
+ import type { SchemaValidator } from "../../../src/extensions/schema/index.js";
13
+ /**
14
+ * Build a zod-backed `SchemaValidator` instance.
15
+ *
16
+ * Stateless — safe to call once at extension setup and pass the returned
17
+ * value to `ctx.provide("SchemaValidator", …)`. Tests that need to register
18
+ * the validator without going through full extension bootstrap can call this
19
+ * factory directly.
20
+ */
21
+ export declare function createZodAdapter(): SchemaValidator;
22
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../src/extensions/ext-zod/src/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAKV,eAAe,EAIhB,MAAM,yCAAyC,CAAC;AAiHjD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,IAAI,eAAe,CA8FlD"}
@@ -0,0 +1,159 @@
1
+ /**
2
+ * Zod-backed `SchemaValidator` adapter.
3
+ *
4
+ * The default implementation of the `SchemaValidator` contract. It thinly
5
+ * wraps zod so that core modules can declare schemas through the
6
+ * extension-neutral DSL while still getting zod's runtime behavior.
7
+ *
8
+ * The entire zod surface used by the contract is confined to this file.
9
+ *
10
+ * @module extensions/ext-zod/adapter
11
+ */
12
+ import { z } from "zod";
13
+ import { isOptionalSchema, zodToJsonSchema } from "./json-schema.js";
14
+ /** Unwrap our opaque Schema<T> back to the underlying zod schema. */
15
+ function toZod(schema) {
16
+ return schema.__zod;
17
+ }
18
+ /** Wrap a zod schema as an opaque Schema<T> with chainables routed through zod. */
19
+ function wrap(zs) {
20
+ // The wrapper fakes the full Schema<T> surface; unsupported chainables on
21
+ // unsuitable kinds (e.g. calling `.email()` on a number) throw at runtime
22
+ // just like zod would.
23
+ // deno-lint-ignore no-explicit-any -- safe within this adapter
24
+ const anyZs = zs;
25
+ const s = {
26
+ _output: undefined,
27
+ optional: () => wrap(zs.optional()),
28
+ nullable: () => wrap(zs.nullable()),
29
+ nullish: () => wrap(zs.nullish()),
30
+ default: (value) => wrap(anyZs.default(value)),
31
+ describe: (description) => wrap(zs.describe(description)),
32
+ refine: (check, message) => wrap(zs.refine(check, message)),
33
+ superRefine: (check) => wrap(
34
+ // zod v4's `RefinementCtx` extends `ParsePayload` (`{ value, issues }`)
35
+ // and exposes `addIssue(string | $ZodSuperRefineIssue)`. We bridge to
36
+ // our path-aware `RefinementCtx` shape: we don't have a stable `path`
37
+ // from the zod side here (path tracking is per-issue, not per-ctx),
38
+ // so we emit `[]` and let callers pass their own `path` through
39
+ // `addIssue({ path })`.
40
+ anyZs.superRefine((value, zodCtx) => {
41
+ const ctx = {
42
+ path: [],
43
+ addIssue: (issue) => zodCtx.addIssue({
44
+ // String literal "custom" replaces the deprecated
45
+ // z.ZodIssueCode.custom enum (zod v4 prefers raw codes).
46
+ code: issue.code ?? "custom",
47
+ message: issue.message,
48
+ path: issue.path,
49
+ }),
50
+ };
51
+ check(value, ctx);
52
+ })),
53
+ transform: (fn) => wrap(zs.transform(fn)),
54
+ strict: () => wrap(anyZs.strict()),
55
+ strip: () => wrap(anyZs.strip()),
56
+ passthrough: () => wrap(anyZs.passthrough()),
57
+ partial: () => wrap(anyZs.partial()),
58
+ extend: (shape) => {
59
+ const zodShape = toZodShape(shape);
60
+ return wrap(anyZs.extend(zodShape));
61
+ },
62
+ merge: (other) => wrap(anyZs.merge(toZod(other))),
63
+ omit: (keys) => wrap(anyZs.omit(keys)),
64
+ pick: (keys) => wrap(anyZs.pick(keys)),
65
+ min: (value, message) => wrap(anyZs.min(value, message)),
66
+ max: (value, message) => wrap(anyZs.max(value, message)),
67
+ int: (message) => wrap(anyZs.int(message)),
68
+ positive: (message) => wrap(anyZs.positive(message)),
69
+ nonnegative: (message) => wrap(anyZs.nonnegative(message)),
70
+ regex: (pattern, message) => wrap(anyZs.regex(pattern, message)),
71
+ email: (message) => wrap(anyZs.email(message)),
72
+ url: (message) => wrap(anyZs.url(message)),
73
+ uuid: (message) => wrap(anyZs.uuid(message)),
74
+ datetime: (message) => wrap(anyZs.datetime(message)),
75
+ pipe: (next) => wrap(zs.pipe(toZod(next))),
76
+ parse: (data) => zs.parse(data),
77
+ safeParse: (data) => {
78
+ const res = zs.safeParse(data);
79
+ if (res.success)
80
+ return { success: true, data: res.data };
81
+ const issues = res.error.issues.map((issue) => ({
82
+ path: issue.path,
83
+ message: issue.message,
84
+ code: issue.code,
85
+ }));
86
+ return { success: false, issues, error: res.error };
87
+ },
88
+ };
89
+ // Attach the underlying zod schema for adapter round-trips without
90
+ // widening the public Schema<T> surface.
91
+ s.__zod = zs;
92
+ return s;
93
+ }
94
+ function toZodShape(shape) {
95
+ const out = {};
96
+ for (const [key, value] of Object.entries(shape)) {
97
+ out[key] = toZod(value);
98
+ }
99
+ return out;
100
+ }
101
+ const coerce = {
102
+ string: () => wrap(z.coerce.string()),
103
+ number: () => wrap(z.coerce.number()),
104
+ boolean: () => wrap(z.coerce.boolean()),
105
+ date: () => wrap(z.coerce.date()),
106
+ };
107
+ /**
108
+ * Build a zod-backed `SchemaValidator` instance.
109
+ *
110
+ * Stateless — safe to call once at extension setup and pass the returned
111
+ * value to `ctx.provide("SchemaValidator", …)`. Tests that need to register
112
+ * the validator without going through full extension bootstrap can call this
113
+ * factory directly.
114
+ */
115
+ export function createZodAdapter() {
116
+ return {
117
+ string: () => wrap(z.string()),
118
+ number: () => wrap(z.number()),
119
+ boolean: () => wrap(z.boolean()),
120
+ date: () => wrap(z.date()),
121
+ null: () => wrap(z.null()),
122
+ unknown: () => wrap(z.unknown()),
123
+ bigint: () => wrap(z.bigint()),
124
+ // deno-lint-ignore no-explicit-any -- contract mirrors zod's `any` constructor
125
+ any: () => wrap(z.any()),
126
+ function: () =>
127
+ // zod 4's z.function() is callable without args/returns and produces a
128
+ // schema accepting any function. We wrap it as Schema<AnyFunction>.
129
+ wrap(z.function()),
130
+ object: (shape) => wrap(z.object(toZodShape(shape))),
131
+ array: (element) => wrap(z.array(toZod(element))),
132
+ tuple: (items) => {
133
+ const zodItems = items.map((s) => toZod(s));
134
+ return wrap(z.tuple(zodItems));
135
+ },
136
+ record: (keys, values) => wrap(z.record(toZod(keys), toZod(values))),
137
+ union: (schemas) => {
138
+ const zodSchemas = schemas.map((s) => toZod(s));
139
+ return wrap(z.union(zodSchemas));
140
+ },
141
+ discriminatedUnion: (discriminator, schemas) => {
142
+ const zodSchemas = schemas.map((s) => toZod(s));
143
+ return wrap(z.discriminatedUnion(discriminator, zodSchemas));
144
+ },
145
+ literal: (value) => wrap(z.literal(value)),
146
+ enum: (values) => wrap(z.enum(values)),
147
+ lazy: (factory) => wrap(z.lazy(() => toZod(factory()))),
148
+ instanceof: (ctor) =>
149
+ // zod 4's z.instanceof expects `typeof Class` (z.core.util.Class). Our
150
+ // contract uses a slimmer `new`-able shape; bridge with a single cast
151
+ // through unknown.
152
+ wrap(z.instanceof(ctor)),
153
+ custom: (check, message) => wrap(z.custom(check, message)),
154
+ coerce,
155
+ validate: (schema, data) => schema.safeParse(data),
156
+ toJsonSchema: (schema) => zodToJsonSchema(toZod(schema)),
157
+ isOptional: (schema) => isOptionalSchema(toZod(schema)),
158
+ };
159
+ }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * ext-zod — SchemaValidator implementation backed by zod.
3
+ *
4
+ * Provides the `SchemaValidator` contract via a zod-backed adapter. Core
5
+ * modules declare schemas through `defineSchema((v) => …)` (in
6
+ * `src/schemas/define.ts`); the lazy factory resolves this contract on first
7
+ * use and the adapter routes calls into zod.
8
+ *
9
+ * Registered automatically by `createBuiltinExtensions()`. Tests that need
10
+ * the adapter without going through full extension bootstrap can import
11
+ * `createZodAdapter` directly from this module's `./adapter.ts`.
12
+ *
13
+ * @module extensions/ext-zod
14
+ */
15
+ import type { ExtensionFactory } from "../../../src/extensions/index.js";
16
+ declare const extZod: ExtensionFactory;
17
+ export default extZod;
18
+ export { createZodAdapter } from "./adapter.js";
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/extensions/ext-zod/src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAGzE,QAAA,MAAM,MAAM,EAAE,gBAcb,CAAC;AAEF,eAAe,MAAM,CAAC;AACtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * ext-zod — SchemaValidator implementation backed by zod.
3
+ *
4
+ * Provides the `SchemaValidator` contract via a zod-backed adapter. Core
5
+ * modules declare schemas through `defineSchema((v) => …)` (in
6
+ * `src/schemas/define.ts`); the lazy factory resolves this contract on first
7
+ * use and the adapter routes calls into zod.
8
+ *
9
+ * Registered automatically by `createBuiltinExtensions()`. Tests that need
10
+ * the adapter without going through full extension bootstrap can import
11
+ * `createZodAdapter` directly from this module's `./adapter.ts`.
12
+ *
13
+ * @module extensions/ext-zod
14
+ */
15
+ import { createZodAdapter } from "./adapter.js";
16
+ const extZod = () => {
17
+ const impl = createZodAdapter();
18
+ return {
19
+ name: "ext-zod",
20
+ version: "0.1.0",
21
+ capabilities: [{ type: "contract", name: "SchemaValidator" }],
22
+ setup(ctx) {
23
+ ctx.provide("SchemaValidator", impl);
24
+ ctx.logger.info("[ext-zod] SchemaValidator registered");
25
+ },
26
+ teardown() {
27
+ // No resources to release.
28
+ },
29
+ };
30
+ };
31
+ export default extZod;
32
+ export { createZodAdapter } from "./adapter.js";
@@ -0,0 +1,15 @@
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
+ import type { z } from "zod";
12
+ import type { JsonSchema } from "../../../src/extensions/schema/index.js";
13
+ export declare function zodToJsonSchema(schema: z.ZodTypeAny): JsonSchema;
14
+ export declare function isOptionalSchema(schema: z.ZodTypeAny): boolean;
15
+ //# sourceMappingURL=json-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-schema.d.ts","sourceRoot":"","sources":["../../../../src/extensions/ext-zod/src/json-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAC;AAgD1E,wBAAgB,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,GAAG,UAAU,CAEhE;AAgBD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,GAAG,OAAO,CAE9D"}
@@ -0,0 +1,247 @@
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
+ const LITERAL_TYPE_MAP = {
12
+ string: "string",
13
+ number: "number",
14
+ boolean: "boolean",
15
+ };
16
+ function getLiteralType(value) {
17
+ return LITERAL_TYPE_MAP[typeof value];
18
+ }
19
+ function getDef(schema) {
20
+ return schema._def;
21
+ }
22
+ /** Get the internal type tag from a zod schema (_def.typeName in v3, _def.type in v4). */
23
+ function getTypeTag(schema) {
24
+ const def = getDef(schema);
25
+ return def.typeName ?? def.type;
26
+ }
27
+ export function zodToJsonSchema(schema) {
28
+ return convertSchema(schema, { seen: new WeakSet() });
29
+ }
30
+ function convertSchema(schema, context) {
31
+ // Guard against invalid schemas (can happen with different zod instances in npm bundle)
32
+ if (!schema || typeof schema !== "object" || !("_def" in schema)) {
33
+ throw new Error("Invalid Zod schema: missing _def property");
34
+ }
35
+ const { schema: unwrapped, nullable } = unwrapSchema(schema);
36
+ const json = convert(unwrapped, context);
37
+ const description = getDescription(schema) ?? getDescription(unwrapped);
38
+ if (description && json.description === undefined)
39
+ json.description = description;
40
+ return nullable ? { anyOf: [json, { type: "null" }] } : json;
41
+ }
42
+ export function isOptionalSchema(schema) {
43
+ return unwrapSchema(schema).optional || hasDefaultSchema(schema);
44
+ }
45
+ function convert(schema, context) {
46
+ if (context.seen.has(schema))
47
+ return {};
48
+ context.seen.add(schema);
49
+ try {
50
+ return convertInner(schema, context);
51
+ }
52
+ finally {
53
+ context.seen.delete(schema);
54
+ }
55
+ }
56
+ function convertInner(schema, context) {
57
+ const tag = getTypeTag(schema);
58
+ const def = getDef(schema);
59
+ switch (tag) {
60
+ case "ZodString":
61
+ case "string":
62
+ return { type: "string" };
63
+ case "ZodNumber":
64
+ case "number":
65
+ return { type: "number" };
66
+ case "ZodBoolean":
67
+ case "boolean":
68
+ return { type: "boolean" };
69
+ case "ZodBigInt":
70
+ case "bigint":
71
+ return { type: "integer" };
72
+ case "ZodLiteral":
73
+ case "literal": {
74
+ // v3: _def.value, v4: _def.values (array of accepted values)
75
+ const literal = def.value ?? (Array.isArray(def.values) ? def.values[0] : def.values);
76
+ return { const: literal, type: getLiteralType(literal) };
77
+ }
78
+ case "ZodEnum":
79
+ case "ZodNativeEnum":
80
+ case "enum": {
81
+ // v3: _def.values (array), v4: _def.entries (object {key: value})
82
+ const values = def.values ?? (def.entries ? Object.values(def.entries) : []);
83
+ if (Array.isArray(values)) {
84
+ return { type: "string", enum: values };
85
+ }
86
+ // Native enum: filter out reverse-mapped numeric keys
87
+ return {
88
+ enum: Object.values(values).filter((value) => typeof value !== "number"),
89
+ };
90
+ }
91
+ case "ZodObject":
92
+ case "object": {
93
+ const shape = typeof def.shape === "function" ? def.shape() : def.shape;
94
+ const properties = {};
95
+ const required = [];
96
+ for (const [key, value] of Object.entries(shape ?? {})) {
97
+ const zodSchema = value;
98
+ properties[key] = convertSchema(zodSchema, context);
99
+ if (!isOptionalSchema(zodSchema))
100
+ required.push(key);
101
+ }
102
+ const json = { type: "object", properties };
103
+ if (required.length)
104
+ json.required = required;
105
+ const additionalProperties = getObjectAdditionalProperties(def, context);
106
+ if (additionalProperties !== undefined)
107
+ json.additionalProperties = additionalProperties;
108
+ return json;
109
+ }
110
+ case "ZodArray":
111
+ case "array": {
112
+ // v3: _def.type (item schema), v4: _def.element (item schema)
113
+ const itemType = def.element ?? def.type;
114
+ if (!itemType || typeof itemType === "string")
115
+ return { type: "array" };
116
+ return { type: "array", items: convertSchema(itemType, context) };
117
+ }
118
+ case "ZodTuple":
119
+ case "tuple": {
120
+ const items = def.items ?? [];
121
+ return {
122
+ type: "array",
123
+ prefixItems: items.map((item) => convertSchema(item, context)),
124
+ minItems: items.length,
125
+ maxItems: items.length,
126
+ };
127
+ }
128
+ case "ZodUnion":
129
+ case "ZodDiscriminatedUnion":
130
+ case "union": {
131
+ const options = def.options ?? [];
132
+ const optionArray = options instanceof Map ? Array.from(options.values()) : options;
133
+ return { anyOf: optionArray.map((option) => convertSchema(option, context)) };
134
+ }
135
+ case "ZodRecord":
136
+ case "record": {
137
+ const valueSchema = def.valueType ?? def.element;
138
+ if (!valueSchema)
139
+ return { type: "object" };
140
+ return { type: "object", additionalProperties: convertSchema(valueSchema, context) };
141
+ }
142
+ case "ZodDefault":
143
+ case "default": {
144
+ const innerType = def.innerType ?? def.schema;
145
+ if (!innerType)
146
+ return { type: "object" };
147
+ const inner = convertSchema(innerType, context);
148
+ const defaultValue = typeof def.defaultValue === "function"
149
+ ? def.defaultValue()
150
+ : def.defaultValue;
151
+ if (typeof inner === "object" && !("anyOf" in inner) && defaultValue !== undefined) {
152
+ inner.default = defaultValue;
153
+ }
154
+ return inner;
155
+ }
156
+ case "ZodLazy":
157
+ case "lazy":
158
+ return def.getter ? convert(def.getter(), context) : { type: "object" };
159
+ case "ZodEffects":
160
+ case "pipe": {
161
+ // v3: ZodEffects wraps schema in _def.schema
162
+ // v4: pipe wraps in _def.in (input schema)
163
+ const innerSchema = def.schema ?? def.in;
164
+ return innerSchema ? convert(innerSchema, context) : { type: "object" };
165
+ }
166
+ default:
167
+ return { type: "object" };
168
+ }
169
+ }
170
+ function getObjectAdditionalProperties(def, context) {
171
+ if (def.unknownKeys === "passthrough")
172
+ return true;
173
+ if (def.unknownKeys === "strict")
174
+ return false;
175
+ if (def.unknownKeys === "strip")
176
+ return undefined;
177
+ if (!def.catchall)
178
+ return undefined;
179
+ const catchallTag = getTypeTag(def.catchall);
180
+ if (catchallTag === "unknown" || catchallTag === "ZodUnknown")
181
+ return true;
182
+ if (catchallTag === "never" || catchallTag === "ZodNever")
183
+ return false;
184
+ return convertSchema(def.catchall, context);
185
+ }
186
+ function unwrapSchema(schema) {
187
+ let current = schema;
188
+ let nullable = false;
189
+ let optional = false;
190
+ while (true) {
191
+ const tag = getTypeTag(current);
192
+ const def = getDef(current);
193
+ switch (tag) {
194
+ case "ZodNullable":
195
+ case "nullable":
196
+ nullable = true;
197
+ current = (def.innerType ?? def.schema);
198
+ break;
199
+ case "ZodOptional":
200
+ case "optional":
201
+ optional = true;
202
+ current = (def.innerType ?? def.schema);
203
+ break;
204
+ case "ZodEffects":
205
+ case "pipe":
206
+ current = def.schema ?? def.in ?? current;
207
+ if (current === schema)
208
+ return { schema: current, nullable, optional };
209
+ break;
210
+ default:
211
+ return { schema: current, nullable, optional };
212
+ }
213
+ }
214
+ }
215
+ function hasDefaultSchema(schema) {
216
+ let current = schema;
217
+ while (true) {
218
+ const tag = getTypeTag(current);
219
+ const def = getDef(current);
220
+ switch (tag) {
221
+ case "ZodDefault":
222
+ case "default":
223
+ return true;
224
+ case "ZodNullable":
225
+ case "nullable":
226
+ case "ZodOptional":
227
+ case "optional":
228
+ case "ZodEffects":
229
+ case "pipe": {
230
+ const inner = def.innerType ?? def.schema ?? def.in;
231
+ if (!inner || inner === current)
232
+ return false;
233
+ current = inner;
234
+ break;
235
+ }
236
+ default:
237
+ return false;
238
+ }
239
+ }
240
+ }
241
+ function getDescription(schema) {
242
+ const direct = schema.description;
243
+ if (typeof direct === "string")
244
+ return direct;
245
+ const defDescription = getDef(schema).description;
246
+ return typeof defDescription === "string" ? defDescription : undefined;
247
+ }