veryfront 0.1.111 → 0.1.113

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 (322) hide show
  1. package/esm/cli/auth/login.d.ts.map +1 -1
  2. package/esm/cli/auth/login.js +13 -0
  3. package/esm/cli/commands/analyze-chunks/command-help.d.ts.map +1 -1
  4. package/esm/cli/commands/analyze-chunks/command-help.js +1 -0
  5. package/esm/cli/commands/build/command-help.d.ts.map +1 -1
  6. package/esm/cli/commands/build/command-help.js +1 -0
  7. package/esm/cli/commands/build/command.d.ts.map +1 -1
  8. package/esm/cli/commands/build/command.js +47 -2
  9. package/esm/cli/commands/clean/command-help.d.ts.map +1 -1
  10. package/esm/cli/commands/clean/command-help.js +1 -0
  11. package/esm/cli/commands/completions/command-help.d.ts +3 -0
  12. package/esm/cli/commands/completions/command-help.d.ts.map +1 -0
  13. package/esm/cli/commands/completions/command-help.js +13 -0
  14. package/esm/cli/commands/completions/command.d.ts +28 -0
  15. package/esm/cli/commands/completions/command.d.ts.map +1 -0
  16. package/esm/cli/commands/completions/command.js +133 -0
  17. package/esm/cli/commands/completions/handler.d.ts +3 -0
  18. package/esm/cli/commands/completions/handler.d.ts.map +1 -0
  19. package/esm/cli/commands/completions/handler.js +20 -0
  20. package/esm/cli/commands/demo/command-help.d.ts.map +1 -1
  21. package/esm/cli/commands/demo/command-help.js +1 -0
  22. package/esm/cli/commands/deploy/command-help.d.ts.map +1 -1
  23. package/esm/cli/commands/deploy/command-help.js +1 -0
  24. package/esm/cli/commands/deploy/command.d.ts.map +1 -1
  25. package/esm/cli/commands/deploy/command.js +73 -1
  26. package/esm/cli/commands/dev/command-help.d.ts.map +1 -1
  27. package/esm/cli/commands/dev/command-help.js +1 -0
  28. package/esm/cli/commands/doctor/command-help.d.ts.map +1 -1
  29. package/esm/cli/commands/doctor/command-help.js +1 -0
  30. package/esm/cli/commands/files/command-help.d.ts.map +1 -1
  31. package/esm/cli/commands/files/command-help.js +1 -0
  32. package/esm/cli/commands/generate/command-help.d.ts.map +1 -1
  33. package/esm/cli/commands/generate/command-help.js +1 -0
  34. package/esm/cli/commands/init/command-help.d.ts.map +1 -1
  35. package/esm/cli/commands/init/command-help.js +1 -0
  36. package/esm/cli/commands/install/command-help.d.ts.map +1 -1
  37. package/esm/cli/commands/install/command-help.js +2 -0
  38. package/esm/cli/commands/issues/command-help.d.ts.map +1 -1
  39. package/esm/cli/commands/issues/command-help.js +1 -0
  40. package/esm/cli/commands/knowledge/command-help.d.ts.map +1 -1
  41. package/esm/cli/commands/knowledge/command-help.js +1 -0
  42. package/esm/cli/commands/lint/command-help.d.ts +3 -0
  43. package/esm/cli/commands/lint/command-help.d.ts.map +1 -0
  44. package/esm/cli/commands/lint/command-help.js +13 -0
  45. package/esm/cli/commands/lint/command.d.ts +24 -0
  46. package/esm/cli/commands/lint/command.d.ts.map +1 -0
  47. package/esm/cli/commands/lint/command.js +34 -0
  48. package/esm/cli/commands/lint/handler.d.ts +3 -0
  49. package/esm/cli/commands/lint/handler.d.ts.map +1 -0
  50. package/esm/cli/commands/lint/handler.js +33 -0
  51. package/esm/cli/commands/lock/command-help.d.ts.map +1 -1
  52. package/esm/cli/commands/lock/command-help.js +1 -0
  53. package/esm/cli/commands/login/command-help.d.ts.map +1 -1
  54. package/esm/cli/commands/login/command-help.js +1 -0
  55. package/esm/cli/commands/logout/command-help.d.ts.map +1 -1
  56. package/esm/cli/commands/logout/command-help.js +1 -0
  57. package/esm/cli/commands/mcp/command-help.d.ts.map +1 -1
  58. package/esm/cli/commands/mcp/command-help.js +1 -0
  59. package/esm/cli/commands/merge/command-help.d.ts.map +1 -1
  60. package/esm/cli/commands/merge/command-help.js +1 -0
  61. package/esm/cli/commands/pull/command-help.d.ts.map +1 -1
  62. package/esm/cli/commands/pull/command-help.js +1 -0
  63. package/esm/cli/commands/push/command-help.d.ts.map +1 -1
  64. package/esm/cli/commands/push/command-help.js +1 -0
  65. package/esm/cli/commands/routes/command-help.d.ts.map +1 -1
  66. package/esm/cli/commands/routes/command-help.js +1 -0
  67. package/esm/cli/commands/schema/command-help.d.ts +3 -0
  68. package/esm/cli/commands/schema/command-help.d.ts.map +1 -0
  69. package/esm/cli/commands/schema/command-help.js +15 -0
  70. package/esm/cli/commands/schema/command.d.ts +30 -0
  71. package/esm/cli/commands/schema/command.d.ts.map +1 -0
  72. package/esm/cli/commands/schema/command.js +39 -0
  73. package/esm/cli/commands/schema/handler.d.ts +3 -0
  74. package/esm/cli/commands/schema/handler.d.ts.map +1 -0
  75. package/esm/cli/commands/schema/handler.js +25 -0
  76. package/esm/cli/commands/serve/command-help.d.ts.map +1 -1
  77. package/esm/cli/commands/serve/command-help.js +1 -0
  78. package/esm/cli/commands/skills/command-help.d.ts +3 -0
  79. package/esm/cli/commands/skills/command-help.d.ts.map +1 -0
  80. package/esm/cli/commands/skills/command-help.js +21 -0
  81. package/esm/cli/commands/skills/command.d.ts +9 -0
  82. package/esm/cli/commands/skills/command.d.ts.map +1 -0
  83. package/esm/cli/commands/skills/command.js +17 -0
  84. package/esm/cli/commands/skills/create.d.ts +3 -0
  85. package/esm/cli/commands/skills/create.d.ts.map +1 -0
  86. package/esm/cli/commands/skills/create.js +65 -0
  87. package/esm/cli/commands/skills/handler.d.ts +3 -0
  88. package/esm/cli/commands/skills/handler.d.ts.map +1 -0
  89. package/esm/cli/commands/skills/handler.js +82 -0
  90. package/esm/cli/commands/skills/validate.d.ts +3 -0
  91. package/esm/cli/commands/skills/validate.d.ts.map +1 -0
  92. package/esm/cli/commands/skills/validate.js +91 -0
  93. package/esm/cli/commands/start/command-help.d.ts.map +1 -1
  94. package/esm/cli/commands/start/command-help.js +1 -0
  95. package/esm/cli/commands/studio/command-help.d.ts.map +1 -1
  96. package/esm/cli/commands/studio/command-help.js +1 -0
  97. package/esm/cli/commands/styles/command-help.d.ts.map +1 -1
  98. package/esm/cli/commands/styles/command-help.js +1 -0
  99. package/esm/cli/commands/task/command-help.d.ts.map +1 -1
  100. package/esm/cli/commands/task/command-help.js +1 -0
  101. package/esm/cli/commands/test/command-help.d.ts +3 -0
  102. package/esm/cli/commands/test/command-help.d.ts.map +1 -0
  103. package/esm/cli/commands/test/command-help.js +16 -0
  104. package/esm/cli/commands/test/command.d.ts +25 -0
  105. package/esm/cli/commands/test/command.d.ts.map +1 -0
  106. package/esm/cli/commands/test/command.js +68 -0
  107. package/esm/cli/commands/test/handler.d.ts +3 -0
  108. package/esm/cli/commands/test/handler.d.ts.map +1 -0
  109. package/esm/cli/commands/test/handler.js +61 -0
  110. package/esm/cli/commands/up/command-help.d.ts.map +1 -1
  111. package/esm/cli/commands/up/command-help.js +1 -0
  112. package/esm/cli/commands/uploads/command-help.d.ts.map +1 -1
  113. package/esm/cli/commands/uploads/command-help.js +1 -0
  114. package/esm/cli/commands/whoami/command-help.d.ts.map +1 -1
  115. package/esm/cli/commands/whoami/command-help.js +1 -0
  116. package/esm/cli/commands/workflow/command-help.d.ts.map +1 -1
  117. package/esm/cli/commands/workflow/command-help.js +1 -0
  118. package/esm/cli/help/command-definitions.d.ts.map +1 -1
  119. package/esm/cli/help/command-definitions.js +10 -0
  120. package/esm/cli/help/main-help.d.ts.map +1 -1
  121. package/esm/cli/help/main-help.js +38 -5
  122. package/esm/cli/help/types.d.ts +2 -0
  123. package/esm/cli/help/types.d.ts.map +1 -1
  124. package/esm/cli/mcp/advanced-tools.d.ts.map +1 -1
  125. package/esm/cli/mcp/advanced-tools.js +4 -0
  126. package/esm/cli/mcp/server.d.ts.map +1 -1
  127. package/esm/cli/mcp/server.js +68 -0
  128. package/esm/cli/mcp/standalone.d.ts +2 -0
  129. package/esm/cli/mcp/standalone.d.ts.map +1 -1
  130. package/esm/cli/mcp/standalone.js +117 -2
  131. package/esm/cli/mcp/tools/cicd-tools.d.ts +3 -0
  132. package/esm/cli/mcp/tools/cicd-tools.d.ts.map +1 -0
  133. package/esm/cli/mcp/tools/cicd-tools.js +75 -0
  134. package/esm/cli/mcp/tools/introspection-tools.d.ts +3 -0
  135. package/esm/cli/mcp/tools/introspection-tools.d.ts.map +1 -0
  136. package/esm/cli/mcp/tools/introspection-tools.js +38 -0
  137. package/esm/cli/router.d.ts.map +1 -1
  138. package/esm/cli/router.js +35 -1
  139. package/esm/cli/shared/args.d.ts +4 -0
  140. package/esm/cli/shared/args.d.ts.map +1 -1
  141. package/esm/cli/shared/args.js +2 -0
  142. package/esm/cli/shared/interactive.d.ts +13 -0
  143. package/esm/cli/shared/interactive.d.ts.map +1 -0
  144. package/esm/cli/shared/interactive.js +26 -0
  145. package/esm/cli/shared/json-output.d.ts +52 -0
  146. package/esm/cli/shared/json-output.d.ts.map +1 -0
  147. package/esm/cli/shared/json-output.js +58 -0
  148. package/esm/cli/shared/suggest.d.ts +8 -0
  149. package/esm/cli/shared/suggest.d.ts.map +1 -0
  150. package/esm/cli/shared/suggest.js +25 -0
  151. package/esm/cli/skills/core-skills.d.ts +9 -0
  152. package/esm/cli/skills/core-skills.d.ts.map +1 -0
  153. package/esm/cli/skills/core-skills.js +230 -0
  154. package/esm/cli/skills/loader.d.ts +13 -0
  155. package/esm/cli/skills/loader.d.ts.map +1 -0
  156. package/esm/cli/skills/loader.js +87 -0
  157. package/esm/cli/skills/types.d.ts +29 -0
  158. package/esm/cli/skills/types.d.ts.map +1 -0
  159. package/esm/cli/skills/types.js +25 -0
  160. package/esm/cli/utils/index.d.ts.map +1 -1
  161. package/esm/cli/utils/index.js +3 -0
  162. package/esm/deno.d.ts +2 -0
  163. package/esm/deno.js +3 -1
  164. package/esm/src/html/dev-scripts.d.ts.map +1 -1
  165. package/esm/src/html/dev-scripts.js +3 -2
  166. package/esm/src/html/html-injection.d.ts.map +1 -1
  167. package/esm/src/html/html-injection.js +2 -1
  168. package/esm/src/html/html-shell-generator.js +1 -1
  169. package/esm/src/html/hydration-script-builder/dev-client-renderer.d.ts.map +1 -1
  170. package/esm/src/html/hydration-script-builder/dev-client-renderer.js +2 -1
  171. package/esm/src/html/hydration-script-builder/dev-component-manifest.d.ts.map +1 -1
  172. package/esm/src/html/hydration-script-builder/dev-component-manifest.js +2 -1
  173. package/esm/src/html/hydration-script-builder/dev-error-logger.d.ts.map +1 -1
  174. package/esm/src/html/hydration-script-builder/dev-error-logger.js +2 -1
  175. package/esm/src/html/hydration-script-builder/dev-scripts.d.ts.map +1 -1
  176. package/esm/src/html/hydration-script-builder/dev-scripts.js +2 -1
  177. package/esm/src/html/hydration-script-builder/prod-hydration.d.ts.map +1 -1
  178. package/esm/src/html/hydration-script-builder/prod-hydration.js +2 -1
  179. package/esm/src/html/hydration-script-builder/prod-scripts.d.ts.map +1 -1
  180. package/esm/src/html/hydration-script-builder/prod-scripts.js +2 -1
  181. package/esm/src/html/styles-builder/dev-styles.d.ts.map +1 -1
  182. package/esm/src/html/styles-builder/dev-styles.js +2 -1
  183. package/esm/src/modules/react-loader/ssr-module-loader/http-bundle-helpers.d.ts +10 -0
  184. package/esm/src/modules/react-loader/ssr-module-loader/http-bundle-helpers.d.ts.map +1 -1
  185. package/esm/src/modules/react-loader/ssr-module-loader/http-bundle-helpers.js +53 -26
  186. package/esm/src/modules/react-loader/ssr-module-loader/loader.d.ts.map +1 -1
  187. package/esm/src/modules/react-loader/ssr-module-loader/loader.js +1 -1
  188. package/esm/src/modules/react-loader/ssr-module-loader/ssr-cache-manager.js +3 -3
  189. package/esm/src/rendering/orchestrator/html.d.ts.map +1 -1
  190. package/esm/src/rendering/orchestrator/html.js +94 -5
  191. package/esm/src/rendering/orchestrator/module-loader/index.d.ts.map +1 -1
  192. package/esm/src/rendering/orchestrator/module-loader/index.js +2 -2
  193. package/esm/src/rendering/rsc/client-boot.ts +30 -4
  194. package/esm/src/rendering/snippet-renderer.js +1 -1
  195. package/esm/src/security/http/response/security-handler.d.ts.map +1 -1
  196. package/esm/src/security/http/response/security-handler.js +3 -2
  197. package/esm/src/server/dev-server/error-overlay/html-template.d.ts +1 -1
  198. package/esm/src/server/dev-server/error-overlay/html-template.d.ts.map +1 -1
  199. package/esm/src/server/dev-server/error-overlay/html-template.js +4 -3
  200. package/esm/src/server/dev-server/error-overlay/overlay-renderer.d.ts +1 -1
  201. package/esm/src/server/dev-server/error-overlay/overlay-renderer.d.ts.map +1 -1
  202. package/esm/src/server/dev-server/error-overlay/overlay-renderer.js +2 -2
  203. package/esm/src/server/services/rendering/ssr.service.d.ts.map +1 -1
  204. package/esm/src/server/services/rendering/ssr.service.js +3 -3
  205. package/esm/src/server/services/rsc/endpoints/rsc-bundles.generated.d.ts.map +1 -1
  206. package/esm/src/server/services/rsc/endpoints/rsc-bundles.generated.js +1 -1
  207. package/esm/src/transforms/mdx/esm-module-loader/cache/index.d.ts +1 -1
  208. package/esm/src/transforms/mdx/esm-module-loader/cache/index.d.ts.map +1 -1
  209. package/esm/src/transforms/mdx/esm-module-loader/cache/index.js +10 -5
  210. package/esm/src/transforms/mdx/esm-module-loader/cache-format.d.ts +2 -2
  211. package/esm/src/transforms/mdx/esm-module-loader/cache-format.d.ts.map +1 -1
  212. package/esm/src/transforms/mdx/esm-module-loader/cache-format.js +13 -10
  213. package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/cache-keys.d.ts +2 -2
  214. package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/cache-keys.d.ts.map +1 -1
  215. package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/cache-keys.js +4 -4
  216. package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/framework-validator.d.ts +2 -3
  217. package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/framework-validator.d.ts.map +1 -1
  218. package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/framework-validator.js +71 -50
  219. package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/index.d.ts.map +1 -1
  220. package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/index.js +7 -5
  221. package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/module-cache.d.ts +1 -1
  222. package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/module-cache.d.ts.map +1 -1
  223. package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/module-cache.js +3 -2
  224. package/esm/src/utils/version.d.ts +1 -1
  225. package/esm/src/utils/version.js +1 -1
  226. package/package.json +1 -1
  227. package/src/cli/auth/login.ts +14 -0
  228. package/src/cli/commands/analyze-chunks/command-help.ts +1 -0
  229. package/src/cli/commands/build/command-help.ts +1 -0
  230. package/src/cli/commands/build/command.ts +47 -2
  231. package/src/cli/commands/clean/command-help.ts +1 -0
  232. package/src/cli/commands/completions/command-help.ts +15 -0
  233. package/src/cli/commands/completions/command.ts +163 -0
  234. package/src/cli/commands/completions/handler.ts +29 -0
  235. package/src/cli/commands/demo/command-help.ts +1 -0
  236. package/src/cli/commands/deploy/command-help.ts +1 -0
  237. package/src/cli/commands/deploy/command.ts +82 -1
  238. package/src/cli/commands/dev/command-help.ts +1 -0
  239. package/src/cli/commands/doctor/command-help.ts +1 -0
  240. package/src/cli/commands/files/command-help.ts +1 -0
  241. package/src/cli/commands/generate/command-help.ts +1 -0
  242. package/src/cli/commands/init/command-help.ts +1 -0
  243. package/src/cli/commands/install/command-help.ts +2 -0
  244. package/src/cli/commands/issues/command-help.ts +1 -0
  245. package/src/cli/commands/knowledge/command-help.ts +1 -0
  246. package/src/cli/commands/lint/command-help.ts +15 -0
  247. package/src/cli/commands/lint/command.ts +59 -0
  248. package/src/cli/commands/lint/handler.ts +36 -0
  249. package/src/cli/commands/lock/command-help.ts +1 -0
  250. package/src/cli/commands/login/command-help.ts +1 -0
  251. package/src/cli/commands/logout/command-help.ts +1 -0
  252. package/src/cli/commands/mcp/command-help.ts +1 -0
  253. package/src/cli/commands/merge/command-help.ts +1 -0
  254. package/src/cli/commands/pull/command-help.ts +1 -0
  255. package/src/cli/commands/push/command-help.ts +1 -0
  256. package/src/cli/commands/routes/command-help.ts +1 -0
  257. package/src/cli/commands/schema/command-help.ts +17 -0
  258. package/src/cli/commands/schema/command.ts +64 -0
  259. package/src/cli/commands/schema/handler.ts +32 -0
  260. package/src/cli/commands/serve/command-help.ts +1 -0
  261. package/src/cli/commands/skills/command-help.ts +23 -0
  262. package/src/cli/commands/skills/command.ts +23 -0
  263. package/src/cli/commands/skills/create.ts +87 -0
  264. package/src/cli/commands/skills/handler.ts +106 -0
  265. package/src/cli/commands/skills/validate.ts +110 -0
  266. package/src/cli/commands/start/command-help.ts +1 -0
  267. package/src/cli/commands/studio/command-help.ts +1 -0
  268. package/src/cli/commands/styles/command-help.ts +1 -0
  269. package/src/cli/commands/task/command-help.ts +1 -0
  270. package/src/cli/commands/test/command-help.ts +18 -0
  271. package/src/cli/commands/test/command.ts +90 -0
  272. package/src/cli/commands/test/handler.ts +70 -0
  273. package/src/cli/commands/up/command-help.ts +1 -0
  274. package/src/cli/commands/uploads/command-help.ts +1 -0
  275. package/src/cli/commands/whoami/command-help.ts +1 -0
  276. package/src/cli/commands/workflow/command-help.ts +1 -0
  277. package/src/cli/help/command-definitions.ts +10 -0
  278. package/src/cli/help/main-help.ts +48 -5
  279. package/src/cli/help/types.ts +9 -0
  280. package/src/cli/mcp/advanced-tools.ts +4 -0
  281. package/src/cli/mcp/server.ts +72 -0
  282. package/src/cli/mcp/standalone.ts +133 -1
  283. package/src/cli/mcp/tools/cicd-tools.ts +86 -0
  284. package/src/cli/mcp/tools/introspection-tools.ts +46 -0
  285. package/src/cli/router.ts +32 -1
  286. package/src/cli/shared/args.ts +2 -0
  287. package/src/cli/shared/interactive.ts +33 -0
  288. package/src/cli/shared/json-output.ts +96 -0
  289. package/src/cli/shared/suggest.ts +33 -0
  290. package/src/cli/skills/core-skills.ts +233 -0
  291. package/src/cli/skills/loader.ts +98 -0
  292. package/src/cli/skills/types.ts +39 -0
  293. package/src/cli/utils/index.ts +2 -0
  294. package/src/deno.js +3 -1
  295. package/src/src/html/dev-scripts.ts +4 -2
  296. package/src/src/html/html-injection.ts +2 -1
  297. package/src/src/html/html-shell-generator.ts +1 -1
  298. package/src/src/html/hydration-script-builder/dev-client-renderer.ts +2 -1
  299. package/src/src/html/hydration-script-builder/dev-component-manifest.ts +2 -1
  300. package/src/src/html/hydration-script-builder/dev-error-logger.ts +3 -1
  301. package/src/src/html/hydration-script-builder/dev-scripts.ts +2 -1
  302. package/src/src/html/hydration-script-builder/prod-hydration.ts +2 -1
  303. package/src/src/html/hydration-script-builder/prod-scripts.ts +2 -1
  304. package/src/src/html/styles-builder/dev-styles.ts +2 -1
  305. package/src/src/modules/react-loader/ssr-module-loader/http-bundle-helpers.ts +65 -31
  306. package/src/src/modules/react-loader/ssr-module-loader/loader.ts +1 -0
  307. package/src/src/modules/react-loader/ssr-module-loader/ssr-cache-manager.ts +4 -4
  308. package/src/src/rendering/orchestrator/html.ts +113 -4
  309. package/src/src/rendering/orchestrator/module-loader/index.ts +2 -1
  310. package/src/src/rendering/snippet-renderer.ts +1 -1
  311. package/src/src/security/http/response/security-handler.ts +3 -2
  312. package/src/src/server/dev-server/error-overlay/html-template.ts +4 -2
  313. package/src/src/server/dev-server/error-overlay/overlay-renderer.ts +2 -1
  314. package/src/src/server/services/rendering/ssr.service.ts +12 -7
  315. package/src/src/server/services/rsc/endpoints/rsc-bundles.generated.ts +1 -1
  316. package/src/src/transforms/mdx/esm-module-loader/cache/index.ts +15 -4
  317. package/src/src/transforms/mdx/esm-module-loader/cache-format.ts +24 -6
  318. package/src/src/transforms/mdx/esm-module-loader/module-fetcher/cache-keys.ts +10 -3
  319. package/src/src/transforms/mdx/esm-module-loader/module-fetcher/framework-validator.ts +98 -51
  320. package/src/src/transforms/mdx/esm-module-loader/module-fetcher/index.ts +20 -4
  321. package/src/src/transforms/mdx/esm-module-loader/module-fetcher/module-cache.ts +3 -1
  322. package/src/src/utils/version.ts +1 -1
@@ -8,7 +8,7 @@
8
8
  import { readTextFile } from "../../src/platform/index.js";
9
9
  import { DevServerClient } from "./dev-server-client.js";
10
10
  import { startStdioJsonRpc } from "./stdio.js";
11
- import { errorResponse, JSONRPCRequestSchema, parseError, PromptsGetParamsSchema, successResponse, ToolsCallParamsSchema, } from "./jsonrpc.js";
11
+ import { errorResponse, JSONRPCRequestSchema, parseError, PromptsGetParamsSchema, ResourcesReadParamsSchema, successResponse, ToolsCallParamsSchema, } from "./jsonrpc.js";
12
12
  const DEFAULT_DEV_PORT = 8080;
13
13
  const NOT_RUNNING_MSG = "Dev server not running. Start with: veryfront";
14
14
  export class StandaloneMCPServer {
@@ -52,7 +52,7 @@ export class StandaloneMCPServer {
52
52
  case "initialize":
53
53
  return Promise.resolve({
54
54
  protocolVersion: "2024-11-05",
55
- capabilities: { tools: {}, prompts: {} },
55
+ capabilities: { tools: {}, resources: {}, prompts: {} },
56
56
  serverInfo: { name: "veryfront-mcp", version: "1.0.0" },
57
57
  });
58
58
  case "notifications/initialized":
@@ -67,6 +67,10 @@ export class StandaloneMCPServer {
67
67
  });
68
68
  case "tools/call":
69
69
  return this.handleToolsCall(params);
70
+ case "resources/list":
71
+ return Promise.resolve(this.handleResourcesList());
72
+ case "resources/read":
73
+ return this.handleResourcesRead(params);
70
74
  case "prompts/list":
71
75
  return Promise.resolve(this.handlePromptsList());
72
76
  case "prompts/get":
@@ -83,6 +87,71 @@ export class StandaloneMCPServer {
83
87
  const result = await tool.execute(args ?? {});
84
88
  return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
85
89
  }
90
+ handleResourcesList() {
91
+ return {
92
+ resources: [
93
+ {
94
+ uri: "veryfront://schema",
95
+ name: "CLI Schema",
96
+ description: "Full CLI command schema for agent discovery",
97
+ mimeType: "application/json",
98
+ },
99
+ {
100
+ uri: "veryfront://agents-md",
101
+ name: "Root AGENTS.md",
102
+ description: "Agent onboarding documentation",
103
+ mimeType: "text/markdown",
104
+ },
105
+ {
106
+ uri: "veryfront://skills",
107
+ name: "Available Skills",
108
+ description: "List of all available agent skills",
109
+ mimeType: "application/json",
110
+ },
111
+ ],
112
+ };
113
+ }
114
+ async handleResourcesRead(params) {
115
+ const { uri } = ResourcesReadParamsSchema.parse(params);
116
+ if (uri === "veryfront://schema") {
117
+ const { generateSchema } = await import("../commands/schema/command.js");
118
+ return {
119
+ contents: [{
120
+ uri,
121
+ mimeType: "application/json",
122
+ text: JSON.stringify(generateSchema(), null, 2),
123
+ }],
124
+ };
125
+ }
126
+ if (uri === "veryfront://agents-md") {
127
+ try {
128
+ const agentsPath = new URL("../../AGENTS.md", globalThis[Symbol.for("import-meta-ponyfill-esmodule")](import.meta).url).pathname;
129
+ const content = await readTextFile(agentsPath);
130
+ return { contents: [{ uri, mimeType: "text/markdown", text: content }] };
131
+ }
132
+ catch {
133
+ return { contents: [{ uri, mimeType: "text/markdown", text: "AGENTS.md not found" }] };
134
+ }
135
+ }
136
+ if (uri === "veryfront://skills") {
137
+ const { listCoreSkills } = await import("../skills/loader.js");
138
+ const skills = await listCoreSkills();
139
+ const data = skills.map((s) => ({
140
+ name: s.manifest.name,
141
+ version: s.manifest.version,
142
+ description: s.manifest.description,
143
+ requires: s.manifest.requires,
144
+ }));
145
+ return {
146
+ contents: [{
147
+ uri,
148
+ mimeType: "application/json",
149
+ text: JSON.stringify(data, null, 2),
150
+ }],
151
+ };
152
+ }
153
+ throw new Error(`Unknown resource: ${uri}`);
154
+ }
86
155
  handlePromptsList() {
87
156
  return {
88
157
  prompts: [
@@ -123,6 +192,52 @@ export class StandaloneMCPServer {
123
192
  createTools() {
124
193
  const client = this.client;
125
194
  return [
195
+ {
196
+ name: "vf_get_schema",
197
+ description: "Get the CLI command schema for discovering available commands, arguments, and flags.",
198
+ inputSchema: {
199
+ type: "object",
200
+ properties: {
201
+ command: {
202
+ type: "string",
203
+ description: "Get schema for a specific command",
204
+ },
205
+ category: {
206
+ type: "string",
207
+ description: "Filter by category",
208
+ },
209
+ },
210
+ },
211
+ async execute(args) {
212
+ const { generateCommandSchema, generateSchema } = await import("../commands/schema/command.js");
213
+ if (args.command) {
214
+ return generateCommandSchema(args.command) ??
215
+ { error: `Unknown command: ${args.command}` };
216
+ }
217
+ return generateSchema(args.category);
218
+ },
219
+ },
220
+ {
221
+ name: "vf_get_project_info",
222
+ description: "Get project metadata including project slug, version, and environment.",
223
+ inputSchema: { type: "object", properties: {} },
224
+ async execute() {
225
+ const { VERSION } = await import("../utils/index.js");
226
+ try {
227
+ const { getEnvironmentConfig } = await import("../../src/config/index.js");
228
+ const config = getEnvironmentConfig();
229
+ return {
230
+ version: VERSION,
231
+ projectSlug: config.projectSlug ?? null,
232
+ nodeEnv: config.nodeEnv,
233
+ veryfrontEnv: config.veryfrontEnv,
234
+ };
235
+ }
236
+ catch {
237
+ return { version: VERSION };
238
+ }
239
+ },
240
+ },
126
241
  {
127
242
  name: "vf_get_errors",
128
243
  description: "Get live compile, runtime, bundle, and HMR errors from the dev server. Returns errors from the ErrorCollector with optional type filtering.",
@@ -0,0 +1,3 @@
1
+ import type { MCPTool } from "../../../src/mcp/index.js";
2
+ export declare const cicdTools: MCPTool[];
3
+ //# sourceMappingURL=cicd-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cicd-tools.d.ts","sourceRoot":"","sources":["../../../../src/cli/mcp/tools/cicd-tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AA+EzD,eAAO,MAAM,SAAS,EAAE,OAAO,EAK9B,CAAC"}
@@ -0,0 +1,75 @@
1
+ import { z } from "zod";
2
+ const getPipelineStatusInput = z.object({
3
+ projectSlug: z.string().describe("Project slug"),
4
+ environment: z.string().optional().default("production").describe("Target environment"),
5
+ });
6
+ const vfGetPipelineStatus = {
7
+ name: "vf_get_pipeline_status",
8
+ description: "Get the current build/deploy pipeline state for a project environment.",
9
+ inputSchema: getPipelineStatusInput,
10
+ execute: async (input) => {
11
+ return {
12
+ status: "not_implemented",
13
+ message: "CI/CD pipeline API not yet available. This tool requires backend support.",
14
+ projectSlug: input.projectSlug,
15
+ environment: input.environment,
16
+ };
17
+ },
18
+ };
19
+ const getDeployHistoryInput = z.object({
20
+ projectSlug: z.string().describe("Project slug"),
21
+ limit: z.number().optional().default(10).describe("Number of recent deployments to return"),
22
+ });
23
+ const vfGetDeployHistory = {
24
+ name: "vf_get_deploy_history",
25
+ description: "List recent deployments with status, version, URL, and timestamp.",
26
+ inputSchema: getDeployHistoryInput,
27
+ execute: async (input) => {
28
+ return {
29
+ status: "not_implemented",
30
+ message: "Deploy history API not yet available.",
31
+ projectSlug: input.projectSlug,
32
+ };
33
+ },
34
+ };
35
+ const getBuildLogsInput = z.object({
36
+ projectSlug: z.string().describe("Project slug"),
37
+ deployId: z.string().optional().describe("Specific deployment ID (latest if omitted)"),
38
+ });
39
+ const vfGetBuildLogs = {
40
+ name: "vf_get_build_logs",
41
+ description: "Get build logs from an active or recent build/deployment.",
42
+ inputSchema: getBuildLogsInput,
43
+ execute: async (input) => {
44
+ return {
45
+ status: "not_implemented",
46
+ message: "Build logs API not yet available.",
47
+ projectSlug: input.projectSlug,
48
+ };
49
+ },
50
+ };
51
+ const triggerDeployInput = z.object({
52
+ projectSlug: z.string().describe("Project slug"),
53
+ environment: z.string().optional().default("production").describe("Target environment"),
54
+ branch: z.string().optional().default("main").describe("Branch to deploy"),
55
+ });
56
+ const vfTriggerDeploy = {
57
+ name: "vf_trigger_deploy",
58
+ description: "Trigger a deployment to an environment. Returns a deployment ID for status tracking.",
59
+ inputSchema: triggerDeployInput,
60
+ execute: async (input) => {
61
+ return {
62
+ status: "not_implemented",
63
+ message: "Deploy trigger API not yet available.",
64
+ projectSlug: input.projectSlug,
65
+ environment: input.environment,
66
+ branch: input.branch,
67
+ };
68
+ },
69
+ };
70
+ export const cicdTools = [
71
+ vfGetPipelineStatus,
72
+ vfGetDeployHistory,
73
+ vfGetBuildLogs,
74
+ vfTriggerDeploy,
75
+ ];
@@ -0,0 +1,3 @@
1
+ import type { MCPTool } from "../../../src/mcp/index.js";
2
+ export declare const introspectionTools: MCPTool[];
3
+ //# sourceMappingURL=introspection-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"introspection-tools.d.ts","sourceRoot":"","sources":["../../../../src/cli/mcp/tools/introspection-tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAyCzD,eAAO,MAAM,kBAAkB,EAAE,OAAO,EAGvC,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { z } from "zod";
2
+ import { generateCommandSchema, generateSchema } from "../../commands/schema/command.js";
3
+ import { VERSION } from "../../utils/index.js";
4
+ const getSchemaInput = z.object({
5
+ command: z.string().optional().describe("Get schema for a specific command"),
6
+ category: z.string().optional().describe("Filter by category"),
7
+ });
8
+ const vfGetSchema = {
9
+ name: "vf_get_schema",
10
+ description: "Get the CLI command schema for discovering available commands, arguments, and flags.",
11
+ inputSchema: getSchemaInput,
12
+ execute: async (input) => {
13
+ if (input.command) {
14
+ return generateCommandSchema(input.command) ?? { error: `Unknown command: ${input.command}` };
15
+ }
16
+ return generateSchema(input.category);
17
+ },
18
+ };
19
+ const getProjectInfoInput = z.object({});
20
+ const vfGetProjectInfo = {
21
+ name: "vf_get_project_info",
22
+ description: "Get project metadata including project slug, version, and environment.",
23
+ inputSchema: getProjectInfoInput,
24
+ execute: async () => {
25
+ const { getEnvironmentConfig } = await import("../../../src/config/index.js");
26
+ const config = getEnvironmentConfig();
27
+ return {
28
+ version: VERSION,
29
+ projectSlug: config.projectSlug ?? null,
30
+ nodeEnv: config.nodeEnv,
31
+ veryfrontEnv: config.veryfrontEnv,
32
+ };
33
+ },
34
+ };
35
+ export const introspectionTools = [
36
+ vfGetSchema,
37
+ vfGetProjectInfo,
38
+ ];
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/cli/router.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAqCH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AA4DpD;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAwClE"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/cli/router.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA4CH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAiEpD;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CA2DlE"}
package/esm/cli/router.js CHANGED
@@ -33,11 +33,18 @@ import { handleUpCommand } from "./commands/up/index.js";
33
33
  import { handleTaskCommand } from "./commands/task/handler.js";
34
34
  import { handleWorkflowCommand } from "./commands/workflow/handler.js";
35
35
  import { handleWorkerCommand } from "./commands/worker/handler.js";
36
+ import { handleSchemaCommand } from "./commands/schema/handler.js";
37
+ import { handleTestCommand } from "./commands/test/handler.js";
38
+ import { handleLintCommand } from "./commands/lint/handler.js";
39
+ import { handleSkillsCommand } from "./commands/skills/handler.js";
40
+ import { handleCompletionsCommand } from "./commands/completions/handler.js";
36
41
  import { login, logout, whoami } from "./auth/index.js";
37
42
  import { parseLoginMethod } from "./auth/utils.js";
38
43
  import { showCommandHelp, showMainHelp } from "./help/index.js";
39
44
  import { setColorOverride } from "./ui/colors.js";
40
45
  import { exitProcess, setQuietMode, setVerboseMode } from "./utils/index.js";
46
+ import { setJsonMode, setOutputPath } from "./shared/json-output.js";
47
+ import { detectCI, setNonInteractive } from "./shared/interactive.js";
41
48
  /**
42
49
  * Command registry mapping command names to their handlers.
43
50
  * Aliases (e.g. "preview" → serve, "g" → generate) are duplicate entries.
@@ -83,6 +90,11 @@ const commands = {
83
90
  "task": handleTaskCommand,
84
91
  "workflow": handleWorkflowCommand,
85
92
  "worker": handleWorkerCommand,
93
+ "schema": handleSchemaCommand,
94
+ "test": handleTestCommand,
95
+ "lint": handleLintCommand,
96
+ "skills": handleSkillsCommand,
97
+ "completions": handleCompletionsCommand,
86
98
  };
87
99
  /**
88
100
  * Show help for a specific command or main help
@@ -109,6 +121,14 @@ export async function routeCommand(args) {
109
121
  setVerboseMode(true);
110
122
  else if (args.quiet || args.q)
111
123
  setQuietMode(true);
124
+ if (args.json || args.j)
125
+ setJsonMode(true);
126
+ if (typeof args.output === "string")
127
+ setOutputPath(args.output);
128
+ else if (typeof args.o === "string")
129
+ setOutputPath(args.o);
130
+ if (args.yes || args.y || detectCI())
131
+ setNonInteractive(true);
112
132
  if (args.version || args.v) {
113
133
  cliLogger.info(`Veryfront CLI v${VERSION}`);
114
134
  exitProcess(0);
@@ -128,8 +148,22 @@ export async function routeCommand(args) {
128
148
  }
129
149
  const handler = command ? commands[command] : undefined;
130
150
  if (command && !handler) {
151
+ const { suggestCommand } = await import("./shared/suggest.js");
152
+ const { COMMANDS } = await import("./help/command-definitions.js");
153
+ // Use canonical command names from help registry (excludes aliases like "g", "preview")
154
+ const canonicalNames = Object.keys(COMMANDS);
155
+ const suggestions = suggestCommand(command, canonicalNames);
131
156
  cliLogger.error(`Unknown command: ${command}\n`);
132
- showHelp();
157
+ if (suggestions.length > 0) {
158
+ cliLogger.info(` Did you mean?`);
159
+ for (const s of suggestions) {
160
+ const desc = COMMANDS[s]?.description ?? "";
161
+ cliLogger.info(` ${s} ${desc}`);
162
+ }
163
+ }
164
+ else {
165
+ showHelp();
166
+ }
133
167
  exitProcess(1);
134
168
  return;
135
169
  }
@@ -119,6 +119,10 @@ export declare const CommonArgs: {
119
119
  keys: string[];
120
120
  type: "string";
121
121
  };
122
+ json: {
123
+ keys: string[];
124
+ type: "boolean";
125
+ };
122
126
  };
123
127
  /** Parse raw CLI arguments into a structured `ParsedArgs` object with aliases. */
124
128
  export declare function parseCliArgs(args: string[]): ParsedArgs;
@@ -1 +1 @@
1
- {"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../../src/cli/shared/args.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,gFAAgF;AAChF,MAAM,MAAM,eAAe,CAAC,CAAC,IACzB;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,GACzC;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,IAAI,CAAC,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAA;CAAE,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,oEAAoE;IACpE,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,2EAA2E;IAC3E,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;IAChD,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI;KACrB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO;CACzB,CAAC;AAmBF;;GAEG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,OAAO,GACZ,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAclD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAC3B,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAChB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAWzB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAC/B,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EACpB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAChB,CAAC,IAAI,EAAE,UAAU,KAAK,eAAe,CAAC,CAAC,CAAC,CAQ1C;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,MAAM,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,eAAe,CAAC,CAAC,CAAC,EAChD,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,UAAU,GACf,CAAC,CAQH;AAED;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAYY,CAAC;AAqFpC,kFAAkF;AAClF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAevD"}
1
+ {"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../../src/cli/shared/args.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,gFAAgF;AAChF,MAAM,MAAM,eAAe,CAAC,CAAC,IACzB;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,GACzC;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,IAAI,CAAC,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAA;CAAE,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,oEAAoE;IACpE,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,2EAA2E;IAC3E,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;IAChD,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI;KACrB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO;CACzB,CAAC;AAmBF;;GAEG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,OAAO,GACZ,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAclD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAC3B,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAChB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAWzB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAC/B,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EACpB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAChB,CAAC,IAAI,EAAE,UAAU,KAAK,eAAe,CAAC,CAAC,CAAC,CAQ1C;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,MAAM,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,eAAe,CAAC,CAAC,CAAC,EAChD,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,UAAU,GACf,CAAC,CAQH;AAED;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAaY,CAAC;AAqFpC,kFAAkF;AAClF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAgBvD"}
@@ -111,6 +111,7 @@ export const CommonArgs = {
111
111
  into: { keys: ["into"], type: "string" },
112
112
  release: { keys: ["release"], type: "string" },
113
113
  output: { keys: ["output", "o"], type: "string" },
114
+ json: { keys: ["json", "j"], type: "boolean" },
114
115
  };
115
116
  // ── Raw CLI argument parsing ────────────────────────────────────────────
116
117
  // Low-level parser that converts process argv into a ParsedArgs object.
@@ -187,6 +188,7 @@ export function parseCliArgs(args) {
187
188
  s: "strict",
188
189
  t: "template",
189
190
  j: "json",
191
+ y: "yes",
190
192
  w: "with",
191
193
  m: "mode",
192
194
  },
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Interactive mode control for CLI
3
+ *
4
+ * Controls whether the CLI prompts for user input.
5
+ * Non-interactive mode is enabled by --yes flag or CI detection.
6
+ *
7
+ * @module cli/shared/interactive
8
+ */
9
+ export declare function setNonInteractive(enabled: boolean): void;
10
+ export declare function isInteractive(): boolean;
11
+ export declare function resetInteractiveMode(): void;
12
+ export declare function detectCI(): boolean;
13
+ //# sourceMappingURL=interactive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../../../src/cli/shared/interactive.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAExD;AAED,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AAID,wBAAgB,QAAQ,IAAI,OAAO,CAKlC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Interactive mode control for CLI
3
+ *
4
+ * Controls whether the CLI prompts for user input.
5
+ * Non-interactive mode is enabled by --yes flag or CI detection.
6
+ *
7
+ * @module cli/shared/interactive
8
+ */
9
+ import { getEnv } from "../../src/platform/index.js";
10
+ let _nonInteractive = false;
11
+ export function setNonInteractive(enabled) {
12
+ _nonInteractive = enabled;
13
+ }
14
+ export function isInteractive() {
15
+ return !_nonInteractive;
16
+ }
17
+ export function resetInteractiveMode() {
18
+ _nonInteractive = false;
19
+ }
20
+ const CI_ENV_VARS = ["CI", "GITHUB_ACTIONS", "GITLAB_CI", "JENKINS_URL", "CIRCLECI", "BUILDKITE"];
21
+ export function detectCI() {
22
+ return CI_ENV_VARS.some((v) => {
23
+ const val = getEnv(v);
24
+ return val !== undefined && val !== "" && val !== "0" && val !== "false";
25
+ });
26
+ }
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Shared JSON output utilities for CLI commands
3
+ *
4
+ * Provides consistent structured output for agent consumption.
5
+ * All commands use the same envelope format.
6
+ *
7
+ * @module cli/shared/json-output
8
+ */
9
+ export declare function setJsonMode(enabled: boolean): void;
10
+ export declare function isJsonMode(): boolean;
11
+ export declare function setOutputPath(path: string | null): void;
12
+ export declare function getOutputPath(): string | null;
13
+ export interface SuccessEnvelope<T = unknown> {
14
+ success: true;
15
+ command: string;
16
+ data: T;
17
+ timing?: {
18
+ duration_ms: number;
19
+ };
20
+ }
21
+ export interface ErrorEnvelope {
22
+ success: false;
23
+ command: string;
24
+ error: {
25
+ code: string;
26
+ slug: string;
27
+ message: string;
28
+ context?: Record<string, unknown>;
29
+ };
30
+ }
31
+ export type JsonEnvelope<T = unknown> = SuccessEnvelope<T> | ErrorEnvelope;
32
+ export declare function createSuccessEnvelope<T>(command: string, data: T, timing?: {
33
+ duration_ms: number;
34
+ }): SuccessEnvelope<T>;
35
+ export declare function createErrorEnvelope(command: string, error: {
36
+ code: string;
37
+ slug: string;
38
+ message: string;
39
+ context?: Record<string, unknown>;
40
+ }): ErrorEnvelope;
41
+ export declare function formatJsonOutput(envelope: JsonEnvelope): string;
42
+ /**
43
+ * Print JSON envelope to stdout.
44
+ * If --output was specified, also write to file.
45
+ */
46
+ export declare function outputJson(envelope: JsonEnvelope): Promise<void>;
47
+ /**
48
+ * Write a single NDJSON line to stdout.
49
+ * Used for streaming output from long-running commands.
50
+ */
51
+ export declare function streamJsonLine(event: Record<string, unknown>): void;
52
+ //# sourceMappingURL=json-output.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-output.d.ts","sourceRoot":"","sources":["../../../src/cli/shared/json-output.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAElD;AAED,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAEvD;AAED,wBAAgB,aAAa,IAAI,MAAM,GAAG,IAAI,CAE7C;AAED,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,OAAO;IAC1C,OAAO,EAAE,IAAI,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,CAAC,CAAC;IACR,MAAM,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CAClC;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,KAAK,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACnC,CAAC;CACH;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,GAAG,OAAO,IAAI,eAAe,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC;AAE3E,wBAAgB,qBAAqB,CAAC,CAAC,EACrC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,CAAC,EACP,MAAM,CAAC,EAAE;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,GAC/B,eAAe,CAAC,CAAC,CAAC,CAIpB;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GACxF,aAAa,CAEf;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAE/D;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAWtE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAEnE"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Shared JSON output utilities for CLI commands
3
+ *
4
+ * Provides consistent structured output for agent consumption.
5
+ * All commands use the same envelope format.
6
+ *
7
+ * @module cli/shared/json-output
8
+ */
9
+ /** Whether the current command should output JSON */
10
+ let _jsonMode = false;
11
+ /** Whether the current command should write output to a file */
12
+ let _outputPath = null;
13
+ export function setJsonMode(enabled) {
14
+ _jsonMode = enabled;
15
+ }
16
+ export function isJsonMode() {
17
+ return _jsonMode;
18
+ }
19
+ export function setOutputPath(path) {
20
+ _outputPath = path;
21
+ }
22
+ export function getOutputPath() {
23
+ return _outputPath;
24
+ }
25
+ export function createSuccessEnvelope(command, data, timing) {
26
+ const envelope = { success: true, command, data };
27
+ if (timing)
28
+ envelope.timing = timing;
29
+ return envelope;
30
+ }
31
+ export function createErrorEnvelope(command, error) {
32
+ return { success: false, command, error };
33
+ }
34
+ export function formatJsonOutput(envelope) {
35
+ return JSON.stringify(envelope, null, 2);
36
+ }
37
+ /**
38
+ * Print JSON envelope to stdout.
39
+ * If --output was specified, also write to file.
40
+ */
41
+ export async function outputJson(envelope) {
42
+ const json = formatJsonOutput(envelope);
43
+ console.log(json);
44
+ if (_outputPath) {
45
+ const { dirname } = await import("../../src/platform/compat/path/index.js");
46
+ const { createFileSystem } = await import("../../src/platform/index.js");
47
+ const fs = createFileSystem();
48
+ await fs.mkdir(dirname(_outputPath), { recursive: true });
49
+ await fs.writeTextFile(_outputPath, json);
50
+ }
51
+ }
52
+ /**
53
+ * Write a single NDJSON line to stdout.
54
+ * Used for streaming output from long-running commands.
55
+ */
56
+ export function streamJsonLine(event) {
57
+ console.log(JSON.stringify(event));
58
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Command suggestion via Levenshtein distance
3
+ *
4
+ * @module cli/shared/suggest
5
+ */
6
+ export declare function levenshtein(a: string, b: string): number;
7
+ export declare function suggestCommand(input: string, commands: string[], maxDistance?: number): string[];
8
+ //# sourceMappingURL=suggest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suggest.d.ts","sourceRoot":"","sources":["../../../src/cli/shared/suggest.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAcxD;AAED,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAAE,EAClB,WAAW,SAAI,GACd,MAAM,EAAE,CAMV"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Command suggestion via Levenshtein distance
3
+ *
4
+ * @module cli/shared/suggest
5
+ */
6
+ export function levenshtein(a, b) {
7
+ const matrix = [];
8
+ for (let i = 0; i <= a.length; i++)
9
+ matrix[i] = [i];
10
+ for (let j = 0; j <= b.length; j++)
11
+ matrix[0][j] = j;
12
+ for (let i = 1; i <= a.length; i++) {
13
+ for (let j = 1; j <= b.length; j++) {
14
+ matrix[i][j] = Math.min(matrix[i - 1][j] + 1, matrix[i][j - 1] + 1, matrix[i - 1][j - 1] + (a[i - 1] === b[j - 1] ? 0 : 1));
15
+ }
16
+ }
17
+ return matrix[a.length][b.length];
18
+ }
19
+ export function suggestCommand(input, commands, maxDistance = 2) {
20
+ return commands
21
+ .map((cmd) => ({ cmd, dist: levenshtein(input, cmd) }))
22
+ .filter(({ dist }) => dist <= maxDistance)
23
+ .sort((a, b) => a.dist - b.dist)
24
+ .map(({ cmd }) => cmd);
25
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Core skills embedded as data for compiled binary support.
3
+ *
4
+ * When running from source, the loader reads from cli/mcp/skills/.
5
+ * When compiled, this module provides the same data without filesystem access.
6
+ */
7
+ import type { LoadedSkill } from "./types.js";
8
+ export declare const CORE_SKILLS: LoadedSkill[];
9
+ //# sourceMappingURL=core-skills.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-skills.d.ts","sourceRoot":"","sources":["../../../src/cli/skills/core-skills.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,eAAO,MAAM,WAAW,EAAE,WAAW,EA+NpC,CAAC"}