@agentuity/cli 2.0.11 → 3.0.0-alpha.0

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 (339) hide show
  1. package/dist/cmd/ai/prompt/index.d.ts.map +1 -1
  2. package/dist/cmd/ai/prompt/index.js +2 -7
  3. package/dist/cmd/ai/prompt/index.js.map +1 -1
  4. package/dist/cmd/build/adapters/generic.d.ts +29 -0
  5. package/dist/cmd/build/adapters/generic.d.ts.map +1 -0
  6. package/dist/cmd/build/adapters/generic.js +190 -0
  7. package/dist/cmd/build/adapters/generic.js.map +1 -0
  8. package/dist/cmd/build/adapters/index.d.ts +15 -0
  9. package/dist/cmd/build/adapters/index.d.ts.map +1 -0
  10. package/dist/cmd/build/adapters/index.js +24 -0
  11. package/dist/cmd/build/adapters/index.js.map +1 -0
  12. package/dist/cmd/build/adapters/nextjs.d.ts +11 -0
  13. package/dist/cmd/build/adapters/nextjs.d.ts.map +1 -0
  14. package/dist/cmd/build/adapters/nextjs.js +118 -0
  15. package/dist/cmd/build/adapters/nextjs.js.map +1 -0
  16. package/dist/cmd/build/adapters/static-server.d.ts +23 -0
  17. package/dist/cmd/build/adapters/static-server.d.ts.map +1 -0
  18. package/dist/cmd/build/adapters/static-server.js +137 -0
  19. package/dist/cmd/build/adapters/static-server.js.map +1 -0
  20. package/dist/cmd/build/adapters/types.d.ts +71 -0
  21. package/dist/cmd/build/adapters/types.d.ts.map +1 -0
  22. package/dist/cmd/build/adapters/types.js +8 -0
  23. package/dist/cmd/build/adapters/types.js.map +1 -0
  24. package/dist/cmd/build/detect/engine.d.ts +24 -0
  25. package/dist/cmd/build/detect/engine.d.ts.map +1 -0
  26. package/dist/cmd/build/detect/engine.js +91 -0
  27. package/dist/cmd/build/detect/engine.js.map +1 -0
  28. package/dist/cmd/build/detect/frameworks.d.ts +66 -0
  29. package/dist/cmd/build/detect/frameworks.d.ts.map +1 -0
  30. package/dist/cmd/build/detect/frameworks.js +278 -0
  31. package/dist/cmd/build/detect/frameworks.js.map +1 -0
  32. package/dist/cmd/build/detect/generic.d.ts +13 -0
  33. package/dist/cmd/build/detect/generic.d.ts.map +1 -0
  34. package/dist/cmd/build/detect/generic.js +62 -0
  35. package/dist/cmd/build/detect/generic.js.map +1 -0
  36. package/dist/cmd/build/detect/index.d.ts +27 -0
  37. package/dist/cmd/build/detect/index.d.ts.map +1 -0
  38. package/dist/cmd/build/detect/index.js +76 -0
  39. package/dist/cmd/build/detect/index.js.map +1 -0
  40. package/dist/cmd/build/detect/types.d.ts +91 -0
  41. package/dist/cmd/build/detect/types.d.ts.map +1 -0
  42. package/dist/cmd/build/detect/types.js +9 -0
  43. package/dist/cmd/build/detect/types.js.map +1 -0
  44. package/dist/cmd/build/detect/util.d.ts +41 -0
  45. package/dist/cmd/build/detect/util.d.ts.map +1 -0
  46. package/dist/cmd/build/detect/util.js +101 -0
  47. package/dist/cmd/build/detect/util.js.map +1 -0
  48. package/dist/cmd/build/index.d.ts.map +1 -1
  49. package/dist/cmd/build/index.js +49 -22
  50. package/dist/cmd/build/index.js.map +1 -1
  51. package/dist/cmd/build/package/index.d.ts +30 -0
  52. package/dist/cmd/build/package/index.d.ts.map +1 -0
  53. package/dist/cmd/build/package/index.js +39 -0
  54. package/dist/cmd/build/package/index.js.map +1 -0
  55. package/dist/cmd/build/package/launch.d.ts +56 -0
  56. package/dist/cmd/build/package/launch.d.ts.map +1 -0
  57. package/dist/cmd/build/package/launch.js +56 -0
  58. package/dist/cmd/build/package/launch.js.map +1 -0
  59. package/dist/cmd/build/typecheck.d.ts.map +1 -1
  60. package/dist/cmd/build/typecheck.js +8 -0
  61. package/dist/cmd/build/typecheck.js.map +1 -1
  62. package/dist/cmd/cloud/deploy.d.ts.map +1 -1
  63. package/dist/cmd/cloud/deploy.js +63 -13
  64. package/dist/cmd/cloud/deploy.js.map +1 -1
  65. package/dist/cmd/coder/create.js +7 -7
  66. package/dist/cmd/coder/create.js.map +1 -1
  67. package/dist/cmd/coder/update.js +8 -8
  68. package/dist/cmd/coder/update.js.map +1 -1
  69. package/dist/cmd/coder/workspace/create.js +9 -9
  70. package/dist/cmd/coder/workspace/create.js.map +1 -1
  71. package/dist/cmd/dev/index.d.ts +9 -0
  72. package/dist/cmd/dev/index.d.ts.map +1 -1
  73. package/dist/cmd/dev/index.js +127 -923
  74. package/dist/cmd/dev/index.js.map +1 -1
  75. package/dist/cmd/project/auth/shared.d.ts.map +1 -1
  76. package/dist/cmd/project/auth/shared.js +14 -38
  77. package/dist/cmd/project/auth/shared.js.map +1 -1
  78. package/dist/cmd/project/create.d.ts.map +1 -1
  79. package/dist/cmd/project/create.js +12 -19
  80. package/dist/cmd/project/create.js.map +1 -1
  81. package/dist/cmd/project/frameworks-ai-examples.d.ts +15 -0
  82. package/dist/cmd/project/frameworks-ai-examples.d.ts.map +1 -0
  83. package/dist/cmd/project/frameworks-ai-examples.js +160 -0
  84. package/dist/cmd/project/frameworks-ai-examples.js.map +1 -0
  85. package/dist/cmd/project/frameworks-landing-pages.d.ts +17 -0
  86. package/dist/cmd/project/frameworks-landing-pages.d.ts.map +1 -0
  87. package/dist/cmd/project/frameworks-landing-pages.js +242 -0
  88. package/dist/cmd/project/frameworks-landing-pages.js.map +1 -0
  89. package/dist/cmd/project/frameworks.d.ts +58 -0
  90. package/dist/cmd/project/frameworks.d.ts.map +1 -0
  91. package/dist/cmd/project/frameworks.js +152 -0
  92. package/dist/cmd/project/frameworks.js.map +1 -0
  93. package/dist/cmd/project/reconcile.d.ts.map +1 -1
  94. package/dist/cmd/project/reconcile.js +10 -23
  95. package/dist/cmd/project/reconcile.js.map +1 -1
  96. package/dist/cmd/project/remote-import.js +1 -1
  97. package/dist/cmd/project/scaffold.d.ts +58 -0
  98. package/dist/cmd/project/scaffold.d.ts.map +1 -0
  99. package/dist/cmd/project/scaffold.js +223 -0
  100. package/dist/cmd/project/scaffold.js.map +1 -0
  101. package/dist/cmd/project/template-flow.d.ts +8 -4
  102. package/dist/cmd/project/template-flow.d.ts.map +1 -1
  103. package/dist/cmd/project/template-flow.js +93 -144
  104. package/dist/cmd/project/template-flow.js.map +1 -1
  105. package/dist/deploy-metadata.d.ts +49 -0
  106. package/dist/deploy-metadata.d.ts.map +1 -0
  107. package/dist/deploy-metadata.js +183 -0
  108. package/dist/deploy-metadata.js.map +1 -0
  109. package/dist/index.d.ts +1 -1
  110. package/dist/index.d.ts.map +1 -1
  111. package/dist/index.js.map +1 -1
  112. package/dist/types.d.ts +24 -30
  113. package/dist/types.d.ts.map +1 -1
  114. package/dist/types.js.map +1 -1
  115. package/package.json +13 -8
  116. package/src/cmd/ai/prompt/index.ts +2 -7
  117. package/src/cmd/build/adapters/generic.ts +239 -0
  118. package/src/cmd/build/adapters/index.ts +30 -0
  119. package/src/cmd/build/adapters/nextjs.ts +146 -0
  120. package/src/cmd/build/adapters/static-server.ts +143 -0
  121. package/src/cmd/build/adapters/types.ts +93 -0
  122. package/src/cmd/build/detect/engine.ts +111 -0
  123. package/src/cmd/build/detect/frameworks.ts +335 -0
  124. package/src/cmd/build/detect/generic.ts +71 -0
  125. package/src/cmd/build/detect/index.ts +122 -0
  126. package/src/cmd/build/detect/types.ts +109 -0
  127. package/src/cmd/build/detect/util.ts +104 -0
  128. package/src/cmd/build/index.ts +64 -24
  129. package/src/cmd/build/package/index.ts +66 -0
  130. package/src/cmd/build/package/launch.ts +104 -0
  131. package/src/cmd/build/typecheck.ts +9 -0
  132. package/src/cmd/cloud/deploy.ts +86 -13
  133. package/src/cmd/coder/create.ts +8 -8
  134. package/src/cmd/coder/update.ts +7 -7
  135. package/src/cmd/coder/workspace/create.ts +10 -10
  136. package/src/cmd/dev/index.ts +155 -1059
  137. package/src/cmd/project/auth/shared.ts +14 -39
  138. package/src/cmd/project/create.ts +14 -19
  139. package/src/cmd/project/frameworks-ai-examples.ts +166 -0
  140. package/src/cmd/project/frameworks-landing-pages.ts +267 -0
  141. package/src/cmd/project/frameworks.ts +223 -0
  142. package/src/cmd/project/reconcile.ts +10 -22
  143. package/src/cmd/project/remote-import.ts +1 -1
  144. package/src/cmd/project/scaffold.ts +300 -0
  145. package/src/cmd/project/template-flow.ts +102 -156
  146. package/src/deploy-metadata.ts +253 -0
  147. package/src/index.ts +0 -2
  148. package/src/types.ts +0 -31
  149. package/dist/agents-docs.d.ts +0 -23
  150. package/dist/agents-docs.d.ts.map +0 -1
  151. package/dist/agents-docs.js +0 -56
  152. package/dist/agents-docs.js.map +0 -1
  153. package/dist/cmd/ai/prompt/agent.d.ts +0 -10
  154. package/dist/cmd/ai/prompt/agent.d.ts.map +0 -1
  155. package/dist/cmd/ai/prompt/agent.js +0 -28
  156. package/dist/cmd/ai/prompt/agent.js.map +0 -1
  157. package/dist/cmd/build/app-router-detector.d.ts +0 -39
  158. package/dist/cmd/build/app-router-detector.d.ts.map +0 -1
  159. package/dist/cmd/build/app-router-detector.js +0 -229
  160. package/dist/cmd/build/app-router-detector.js.map +0 -1
  161. package/dist/cmd/build/format-schema.d.ts +0 -6
  162. package/dist/cmd/build/format-schema.d.ts.map +0 -1
  163. package/dist/cmd/build/format-schema.js +0 -60
  164. package/dist/cmd/build/format-schema.js.map +0 -1
  165. package/dist/cmd/build/vite/agent-discovery.d.ts +0 -37
  166. package/dist/cmd/build/vite/agent-discovery.d.ts.map +0 -1
  167. package/dist/cmd/build/vite/agent-discovery.js +0 -263
  168. package/dist/cmd/build/vite/agent-discovery.js.map +0 -1
  169. package/dist/cmd/build/vite/beacon-plugin.d.ts +0 -19
  170. package/dist/cmd/build/vite/beacon-plugin.d.ts.map +0 -1
  171. package/dist/cmd/build/vite/beacon-plugin.js +0 -137
  172. package/dist/cmd/build/vite/beacon-plugin.js.map +0 -1
  173. package/dist/cmd/build/vite/browser-env-plugin.d.ts +0 -9
  174. package/dist/cmd/build/vite/browser-env-plugin.d.ts.map +0 -1
  175. package/dist/cmd/build/vite/browser-env-plugin.js +0 -28
  176. package/dist/cmd/build/vite/browser-env-plugin.js.map +0 -1
  177. package/dist/cmd/build/vite/bun-dev-server.d.ts +0 -67
  178. package/dist/cmd/build/vite/bun-dev-server.d.ts.map +0 -1
  179. package/dist/cmd/build/vite/bun-dev-server.js +0 -340
  180. package/dist/cmd/build/vite/bun-dev-server.js.map +0 -1
  181. package/dist/cmd/build/vite/bundle-files.d.ts +0 -12
  182. package/dist/cmd/build/vite/bundle-files.d.ts.map +0 -1
  183. package/dist/cmd/build/vite/bundle-files.js +0 -107
  184. package/dist/cmd/build/vite/bundle-files.js.map +0 -1
  185. package/dist/cmd/build/vite/config-loader.d.ts +0 -29
  186. package/dist/cmd/build/vite/config-loader.d.ts.map +0 -1
  187. package/dist/cmd/build/vite/config-loader.js +0 -57
  188. package/dist/cmd/build/vite/config-loader.js.map +0 -1
  189. package/dist/cmd/build/vite/db-rewrite.d.ts +0 -50
  190. package/dist/cmd/build/vite/db-rewrite.d.ts.map +0 -1
  191. package/dist/cmd/build/vite/db-rewrite.js +0 -169
  192. package/dist/cmd/build/vite/db-rewrite.js.map +0 -1
  193. package/dist/cmd/build/vite/docs-generator.d.ts +0 -13
  194. package/dist/cmd/build/vite/docs-generator.d.ts.map +0 -1
  195. package/dist/cmd/build/vite/docs-generator.js +0 -97
  196. package/dist/cmd/build/vite/docs-generator.js.map +0 -1
  197. package/dist/cmd/build/vite/env-types-generator.d.ts +0 -26
  198. package/dist/cmd/build/vite/env-types-generator.d.ts.map +0 -1
  199. package/dist/cmd/build/vite/env-types-generator.js +0 -110
  200. package/dist/cmd/build/vite/env-types-generator.js.map +0 -1
  201. package/dist/cmd/build/vite/index.d.ts +0 -3
  202. package/dist/cmd/build/vite/index.d.ts.map +0 -1
  203. package/dist/cmd/build/vite/index.js +0 -4
  204. package/dist/cmd/build/vite/index.js.map +0 -1
  205. package/dist/cmd/build/vite/lifecycle-generator.d.ts +0 -19
  206. package/dist/cmd/build/vite/lifecycle-generator.d.ts.map +0 -1
  207. package/dist/cmd/build/vite/lifecycle-generator.js +0 -328
  208. package/dist/cmd/build/vite/lifecycle-generator.js.map +0 -1
  209. package/dist/cmd/build/vite/metadata-generator.d.ts +0 -36
  210. package/dist/cmd/build/vite/metadata-generator.d.ts.map +0 -1
  211. package/dist/cmd/build/vite/metadata-generator.js +0 -575
  212. package/dist/cmd/build/vite/metadata-generator.js.map +0 -1
  213. package/dist/cmd/build/vite/prompt-generator.d.ts +0 -23
  214. package/dist/cmd/build/vite/prompt-generator.d.ts.map +0 -1
  215. package/dist/cmd/build/vite/prompt-generator.js +0 -123
  216. package/dist/cmd/build/vite/prompt-generator.js.map +0 -1
  217. package/dist/cmd/build/vite/public-asset-path-plugin.d.ts +0 -45
  218. package/dist/cmd/build/vite/public-asset-path-plugin.d.ts.map +0 -1
  219. package/dist/cmd/build/vite/public-asset-path-plugin.js +0 -166
  220. package/dist/cmd/build/vite/public-asset-path-plugin.js.map +0 -1
  221. package/dist/cmd/build/vite/route-discovery.d.ts +0 -64
  222. package/dist/cmd/build/vite/route-discovery.d.ts.map +0 -1
  223. package/dist/cmd/build/vite/route-discovery.js +0 -187
  224. package/dist/cmd/build/vite/route-discovery.js.map +0 -1
  225. package/dist/cmd/build/vite/server-bundler.d.ts +0 -20
  226. package/dist/cmd/build/vite/server-bundler.d.ts.map +0 -1
  227. package/dist/cmd/build/vite/server-bundler.js +0 -388
  228. package/dist/cmd/build/vite/server-bundler.js.map +0 -1
  229. package/dist/cmd/build/vite/static-renderer.d.ts +0 -26
  230. package/dist/cmd/build/vite/static-renderer.d.ts.map +0 -1
  231. package/dist/cmd/build/vite/static-renderer.js +0 -188
  232. package/dist/cmd/build/vite/static-renderer.js.map +0 -1
  233. package/dist/cmd/build/vite/tailwind-source-plugin.d.ts +0 -15
  234. package/dist/cmd/build/vite/tailwind-source-plugin.d.ts.map +0 -1
  235. package/dist/cmd/build/vite/tailwind-source-plugin.js +0 -61
  236. package/dist/cmd/build/vite/tailwind-source-plugin.js.map +0 -1
  237. package/dist/cmd/build/vite/vite-asset-server-config.d.ts +0 -24
  238. package/dist/cmd/build/vite/vite-asset-server-config.d.ts.map +0 -1
  239. package/dist/cmd/build/vite/vite-asset-server-config.js +0 -285
  240. package/dist/cmd/build/vite/vite-asset-server-config.js.map +0 -1
  241. package/dist/cmd/build/vite/vite-asset-server.d.ts +0 -30
  242. package/dist/cmd/build/vite/vite-asset-server.d.ts.map +0 -1
  243. package/dist/cmd/build/vite/vite-asset-server.js +0 -109
  244. package/dist/cmd/build/vite/vite-asset-server.js.map +0 -1
  245. package/dist/cmd/build/vite/vite-builder.d.ts +0 -59
  246. package/dist/cmd/build/vite/vite-builder.d.ts.map +0 -1
  247. package/dist/cmd/build/vite/vite-builder.js +0 -401
  248. package/dist/cmd/build/vite/vite-builder.js.map +0 -1
  249. package/dist/cmd/build/vite/workbench-generator.d.ts +0 -10
  250. package/dist/cmd/build/vite/workbench-generator.d.ts.map +0 -1
  251. package/dist/cmd/build/vite/workbench-generator.js +0 -135
  252. package/dist/cmd/build/vite/workbench-generator.js.map +0 -1
  253. package/dist/cmd/build/vite/ws-proxy.d.ts +0 -53
  254. package/dist/cmd/build/vite/ws-proxy.d.ts.map +0 -1
  255. package/dist/cmd/build/vite/ws-proxy.js +0 -95
  256. package/dist/cmd/build/vite/ws-proxy.js.map +0 -1
  257. package/dist/cmd/build/vite-bundler.d.ts +0 -29
  258. package/dist/cmd/build/vite-bundler.d.ts.map +0 -1
  259. package/dist/cmd/build/vite-bundler.js +0 -93
  260. package/dist/cmd/build/vite-bundler.js.map +0 -1
  261. package/dist/cmd/dev/agents.d.ts +0 -2
  262. package/dist/cmd/dev/agents.d.ts.map +0 -1
  263. package/dist/cmd/dev/agents.js +0 -123
  264. package/dist/cmd/dev/agents.js.map +0 -1
  265. package/dist/cmd/dev/api.d.ts +0 -20
  266. package/dist/cmd/dev/api.d.ts.map +0 -1
  267. package/dist/cmd/dev/api.js +0 -42
  268. package/dist/cmd/dev/api.js.map +0 -1
  269. package/dist/cmd/dev/dev-lock.d.ts +0 -62
  270. package/dist/cmd/dev/dev-lock.d.ts.map +0 -1
  271. package/dist/cmd/dev/dev-lock.js +0 -250
  272. package/dist/cmd/dev/dev-lock.js.map +0 -1
  273. package/dist/cmd/dev/download.d.ts +0 -11
  274. package/dist/cmd/dev/download.d.ts.map +0 -1
  275. package/dist/cmd/dev/download.js +0 -94
  276. package/dist/cmd/dev/download.js.map +0 -1
  277. package/dist/cmd/dev/file-watcher.d.ts +0 -24
  278. package/dist/cmd/dev/file-watcher.d.ts.map +0 -1
  279. package/dist/cmd/dev/file-watcher.js +0 -349
  280. package/dist/cmd/dev/file-watcher.js.map +0 -1
  281. package/dist/cmd/dev/process-manager.d.ts +0 -104
  282. package/dist/cmd/dev/process-manager.d.ts.map +0 -1
  283. package/dist/cmd/dev/process-manager.js +0 -204
  284. package/dist/cmd/dev/process-manager.js.map +0 -1
  285. package/dist/cmd/dev/sync.d.ts +0 -12
  286. package/dist/cmd/dev/sync.d.ts.map +0 -1
  287. package/dist/cmd/dev/sync.js +0 -227
  288. package/dist/cmd/dev/sync.js.map +0 -1
  289. package/dist/cmd/dev/templates.d.ts +0 -3
  290. package/dist/cmd/dev/templates.d.ts.map +0 -1
  291. package/dist/cmd/dev/templates.js +0 -58
  292. package/dist/cmd/dev/templates.js.map +0 -1
  293. package/dist/cmd/project/download.d.ts +0 -35
  294. package/dist/cmd/project/download.d.ts.map +0 -1
  295. package/dist/cmd/project/download.js +0 -403
  296. package/dist/cmd/project/download.js.map +0 -1
  297. package/dist/cmd/project/templates.d.ts +0 -9
  298. package/dist/cmd/project/templates.d.ts.map +0 -1
  299. package/dist/cmd/project/templates.js +0 -34
  300. package/dist/cmd/project/templates.js.map +0 -1
  301. package/src/agents-docs.ts +0 -86
  302. package/src/cmd/ai/prompt/agent.md +0 -305
  303. package/src/cmd/ai/prompt/agent.ts +0 -31
  304. package/src/cmd/build/app-router-detector.ts +0 -320
  305. package/src/cmd/build/format-schema.ts +0 -66
  306. package/src/cmd/build/vite/agent-discovery.ts +0 -380
  307. package/src/cmd/build/vite/beacon-plugin.ts +0 -164
  308. package/src/cmd/build/vite/browser-env-plugin.ts +0 -34
  309. package/src/cmd/build/vite/bun-dev-server.ts +0 -458
  310. package/src/cmd/build/vite/bundle-files.ts +0 -135
  311. package/src/cmd/build/vite/config-loader.ts +0 -76
  312. package/src/cmd/build/vite/db-rewrite.ts +0 -189
  313. package/src/cmd/build/vite/docs-generator.ts +0 -103
  314. package/src/cmd/build/vite/env-types-generator.ts +0 -145
  315. package/src/cmd/build/vite/index.ts +0 -3
  316. package/src/cmd/build/vite/lifecycle-generator.ts +0 -381
  317. package/src/cmd/build/vite/metadata-generator.ts +0 -713
  318. package/src/cmd/build/vite/prompt-generator.ts +0 -169
  319. package/src/cmd/build/vite/public-asset-path-plugin.ts +0 -209
  320. package/src/cmd/build/vite/route-discovery.ts +0 -271
  321. package/src/cmd/build/vite/server-bundler.ts +0 -481
  322. package/src/cmd/build/vite/static-renderer.ts +0 -239
  323. package/src/cmd/build/vite/tailwind-source-plugin.ts +0 -73
  324. package/src/cmd/build/vite/vite-asset-server-config.ts +0 -349
  325. package/src/cmd/build/vite/vite-asset-server.ts +0 -154
  326. package/src/cmd/build/vite/vite-builder.ts +0 -503
  327. package/src/cmd/build/vite/workbench-generator.ts +0 -152
  328. package/src/cmd/build/vite/ws-proxy.ts +0 -126
  329. package/src/cmd/build/vite-bundler.ts +0 -137
  330. package/src/cmd/dev/agents.ts +0 -140
  331. package/src/cmd/dev/api.ts +0 -65
  332. package/src/cmd/dev/dev-lock.ts +0 -332
  333. package/src/cmd/dev/download.ts +0 -117
  334. package/src/cmd/dev/file-watcher.ts +0 -423
  335. package/src/cmd/dev/process-manager.ts +0 -261
  336. package/src/cmd/dev/sync.ts +0 -411
  337. package/src/cmd/dev/templates.ts +0 -66
  338. package/src/cmd/project/download.ts +0 -505
  339. package/src/cmd/project/templates.ts +0 -56
@@ -1,411 +0,0 @@
1
- import { z } from 'zod';
2
- import type { Logger, BuildMetadata } from '../../types';
3
- import type { APIClient } from '../../api';
4
-
5
- interface AgentSyncPayload {
6
- id: string;
7
- name: string;
8
- agentId: string;
9
- description?: string;
10
- version: string;
11
- filename: string;
12
- projectId: string;
13
- }
14
-
15
- interface EvalSyncPayload {
16
- id: string;
17
- name: string;
18
- identifier: string;
19
- description?: string;
20
- version: string;
21
- filename: string;
22
- projectId: string;
23
- agentIdentifier: string;
24
- }
25
-
26
- interface IDevmodeSyncService {
27
- sync(
28
- currentMetadata: BuildMetadata,
29
- previousMetadata: BuildMetadata | undefined,
30
- projectId: string,
31
- deploymentId: string
32
- ): Promise<void>;
33
- }
34
-
35
- // Shared diff logic for agents
36
- function getAgentsToSync(
37
- currentAgents: BuildMetadata['agents'],
38
- previousAgentIds: Set<string>,
39
- projectId: string,
40
- logger: Logger
41
- ): { create: AgentSyncPayload[]; delete: string[] } {
42
- const agentsToCreate: AgentSyncPayload[] = [];
43
- const currentAgentIds = new Set<string>();
44
-
45
- for (const agent of currentAgents || []) {
46
- currentAgentIds.add(agent.id);
47
- // If ID is not in previous, add to create
48
- if (!previousAgentIds.has(agent.id)) {
49
- logger.debug(
50
- '[CLI AGENT SYNC] Preparing to create: id="%s", name="%s"',
51
- agent.id,
52
- agent.name
53
- );
54
-
55
- agentsToCreate.push({
56
- id: agent.id,
57
- name: agent.name,
58
- agentId: agent.agentId,
59
- description: agent.description,
60
- version: agent.version,
61
- filename: agent.filename,
62
- projectId,
63
- });
64
- }
65
- }
66
-
67
- // If ID is in previous but not in current, add to delete
68
- const agentsToDelete: string[] = [];
69
- for (const previousId of previousAgentIds) {
70
- if (!currentAgentIds.has(previousId)) {
71
- logger.debug('[CLI AGENT SYNC] Preparing to delete: id="%s"', previousId);
72
- agentsToDelete.push(previousId);
73
- }
74
- }
75
-
76
- return { create: agentsToCreate, delete: agentsToDelete };
77
- }
78
-
79
- // Shared diff logic for evals
80
- function getEvalsToSync(
81
- currentMetadata: BuildMetadata,
82
- previousEvalIds: Set<string>,
83
- projectId: string,
84
- logger: Logger
85
- ): { create: EvalSyncPayload[]; delete: string[] } {
86
- const evalsToCreate: EvalSyncPayload[] = [];
87
- const currentEvalIds = new Set<string>();
88
-
89
- for (const agent of currentMetadata.agents || []) {
90
- if (agent.evals) {
91
- for (const evalItem of agent.evals) {
92
- currentEvalIds.add(evalItem.id);
93
- // If ID is not in previous, add to create
94
- if (!previousEvalIds.has(evalItem.id)) {
95
- logger.debug(
96
- '[CLI EVAL SYNC] Preparing to create: id="%s", name="%s"',
97
- evalItem.id,
98
- evalItem.name
99
- );
100
-
101
- evalsToCreate.push({
102
- ...evalItem,
103
- identifier: evalItem.identifier,
104
- projectId,
105
- agentIdentifier: agent.agentId,
106
- });
107
- }
108
- }
109
- }
110
- }
111
-
112
- // If ID is in previous but not in current, add to delete
113
- const evalsToDelete: string[] = [];
114
- for (const previousId of previousEvalIds) {
115
- if (!currentEvalIds.has(previousId)) {
116
- logger.debug('[CLI EVAL SYNC] Preparing to delete: id="%s"', previousId);
117
- evalsToDelete.push(previousId);
118
- }
119
- }
120
-
121
- return { create: evalsToCreate, delete: evalsToDelete };
122
- }
123
-
124
- class DevmodeSyncService implements IDevmodeSyncService {
125
- constructor(
126
- private logger: Logger,
127
- private apiClient: APIClient
128
- ) {}
129
-
130
- async sync(
131
- currentMetadata: BuildMetadata,
132
- previousMetadata: BuildMetadata | undefined,
133
- projectId: string,
134
- deploymentId: string
135
- ): Promise<void> {
136
- this.logger.debug(
137
- '[CLI SYNC] sync() called with projectId=%s, deploymentId=%s',
138
- projectId,
139
- deploymentId
140
- );
141
- this.logger.debug(
142
- '[CLI SYNC] currentMetadata has %d agents',
143
- currentMetadata.agents?.length ?? 0
144
- );
145
-
146
- // Build previous agent IDs set
147
- const previousAgentIds = new Set<string>();
148
- if (previousMetadata) {
149
- this.logger.debug(
150
- '[CLI SYNC] Previous metadata found with %d agent(s)',
151
- previousMetadata.agents?.length ?? 0
152
- );
153
- for (const agent of previousMetadata.agents || []) {
154
- previousAgentIds.add(agent.id);
155
- }
156
- } else {
157
- this.logger.debug('[CLI SYNC] No previous metadata, all agents will be treated as new');
158
- }
159
-
160
- // Build previous eval IDs set
161
- const previousEvalIds = new Set<string>();
162
- if (previousMetadata) {
163
- let prevEvalCount = 0;
164
- for (const agent of previousMetadata.agents || []) {
165
- if (agent.evals) {
166
- for (const evalItem of agent.evals) {
167
- previousEvalIds.add(evalItem.id);
168
- prevEvalCount++;
169
- }
170
- }
171
- }
172
- this.logger.debug('Previous metadata found with %d evaluations', prevEvalCount);
173
- } else {
174
- this.logger.debug('No previous metadata, all evals will be treated as new');
175
- }
176
-
177
- const currentAgents = currentMetadata.agents || [];
178
- this.logger.debug('Processing %d current agent(s)', currentAgents.length);
179
-
180
- let currentEvalCount = 0;
181
- for (const agent of currentMetadata.agents || []) {
182
- if (agent.evals) {
183
- currentEvalCount += agent.evals.length;
184
- this.logger.debug(
185
- '[CLI EVAL SYNC] Agent "%s" has %d evaluations',
186
- agent.name,
187
- agent.evals.length
188
- );
189
- for (const evalItem of agent.evals) {
190
- this.logger.debug(
191
- '[CLI EVAL SYNC] - %s (id: %s, identifier: %s)',
192
- evalItem.name,
193
- evalItem.id,
194
- evalItem.identifier
195
- );
196
- }
197
- }
198
- }
199
- this.logger.debug('[CLI EVAL SYNC] Total current evaluations: %d', currentEvalCount);
200
-
201
- // Get agents and evals to sync using shared diff logic
202
- const { create: agentsToCreate, delete: agentsToDelete } = getAgentsToSync(
203
- currentAgents,
204
- previousAgentIds,
205
- projectId,
206
- this.logger
207
- );
208
- const { create: evalsToCreate, delete: evalsToDelete } = getEvalsToSync(
209
- currentMetadata,
210
- previousEvalIds,
211
- projectId,
212
- this.logger
213
- );
214
-
215
- if (agentsToCreate.length > 0 || agentsToDelete.length > 0) {
216
- this.logger.debug(
217
- 'Bulk syncing %d agent(s) to create, %d agent(s) to delete',
218
- agentsToCreate.length,
219
- agentsToDelete.length
220
- );
221
- }
222
- this.logger.debug(
223
- '[CLI EVAL SYNC] Evals to sync: %d to create, %d to delete',
224
- evalsToCreate.length,
225
- evalsToDelete.length
226
- );
227
-
228
- // Sync both in parallel
229
- try {
230
- await Promise.all([
231
- this.syncAgents(agentsToCreate, agentsToDelete, deploymentId),
232
- this.syncEvals(evalsToCreate, evalsToDelete, deploymentId),
233
- ]);
234
-
235
- if (agentsToCreate.length > 0 || agentsToDelete.length > 0) {
236
- this.logger.debug(
237
- 'Successfully bulk synced %d agent(s) to create, %d agent(s) to delete',
238
- agentsToCreate.length,
239
- agentsToDelete.length
240
- );
241
- }
242
- if (evalsToCreate.length > 0 || evalsToDelete.length > 0) {
243
- this.logger.debug(
244
- 'Successfully bulk synced %d evaluations to create, %d evaluations to delete',
245
- evalsToCreate.length,
246
- evalsToDelete.length
247
- );
248
- }
249
- } catch (error) {
250
- this.logger.error('Failed to bulk sync agents/evals: %s', error);
251
- if (error instanceof Error) {
252
- this.logger.error('Error details: %s', error.message);
253
- }
254
- throw error;
255
- }
256
- }
257
-
258
- private async syncAgents(
259
- agents: AgentSyncPayload[],
260
- agentsToDelete: string[],
261
- deploymentId: string
262
- ): Promise<void> {
263
- if (agents.length === 0 && agentsToDelete.length === 0) {
264
- return;
265
- }
266
-
267
- const payload = {
268
- create: agents,
269
- delete: agentsToDelete,
270
- deploymentId,
271
- };
272
- this.logger.trace(
273
- '[CLI AGENT SYNC] Sending payload to POST /cli/devmode/agent: %s',
274
- JSON.stringify(payload, null, 2)
275
- );
276
-
277
- await this.apiClient.post('/cli/devmode/agent', payload, z.object({ success: z.boolean() }));
278
- }
279
-
280
- private async syncEvals(
281
- evals: EvalSyncPayload[],
282
- evalsToDelete: string[],
283
- deploymentId: string
284
- ): Promise<void> {
285
- if (evals.length === 0 && evalsToDelete.length === 0) {
286
- return;
287
- }
288
-
289
- const payload = {
290
- deploymentId,
291
- create: evals,
292
- delete: evalsToDelete,
293
- };
294
-
295
- this.logger.debug(
296
- '[CLI EVAL SYNC] Sending payload to POST /cli/devmode/eval: %s',
297
- JSON.stringify(payload, null, 2)
298
- );
299
-
300
- try {
301
- await this.apiClient.post(
302
- '/cli/devmode/eval',
303
- payload,
304
- z.object({ success: z.boolean() })
305
- );
306
- } catch (error) {
307
- this.logger.error('[CLI EVAL SYNC] Sync failed: %s', error);
308
- throw error;
309
- }
310
- }
311
- }
312
-
313
- class MockDevmodeSyncService implements IDevmodeSyncService {
314
- constructor(private logger: Logger) {}
315
-
316
- async sync(
317
- currentMetadata: BuildMetadata,
318
- previousMetadata: BuildMetadata | undefined,
319
- projectId: string,
320
- deploymentId: string
321
- ): Promise<void> {
322
- // Build previous agent IDs set
323
- this.logger.debug('Mock syncing agents and evals for deploymentId: %s', deploymentId);
324
- const previousAgentIds = new Set<string>();
325
- if (previousMetadata) {
326
- for (const agent of previousMetadata.agents || []) {
327
- previousAgentIds.add(agent.id);
328
- }
329
- }
330
-
331
- // Build previous eval IDs set
332
- const previousEvalIds = new Set<string>();
333
- if (previousMetadata) {
334
- for (const agent of previousMetadata.agents || []) {
335
- if (agent.evals) {
336
- for (const evalItem of agent.evals) {
337
- previousEvalIds.add(evalItem.id);
338
- }
339
- }
340
- }
341
- }
342
-
343
- // Get agents and evals to sync using shared diff logic
344
- const { create: agentsToCreate, delete: agentsToDelete } = getAgentsToSync(
345
- currentMetadata.agents,
346
- previousAgentIds,
347
- projectId,
348
- this.logger
349
- );
350
- const { create: evalsToCreate, delete: evalsToDelete } = getEvalsToSync(
351
- currentMetadata,
352
- previousEvalIds,
353
- projectId,
354
- this.logger
355
- );
356
-
357
- // Log the requests that would be made
358
- if (agentsToCreate.length > 0 || agentsToDelete.length > 0) {
359
- this.logger.debug(
360
- '[MOCK] Would make request: POST /cli/devmode/agent with %d agent(s) to create, %d agent(s) to delete',
361
- agentsToCreate.length,
362
- agentsToDelete.length
363
- );
364
- this.logger.debug(
365
- '[MOCK] Request payload: %s',
366
- JSON.stringify({ create: agentsToCreate, delete: agentsToDelete }, null, 2)
367
- );
368
- }
369
-
370
- if (evalsToCreate.length > 0 || evalsToDelete.length > 0) {
371
- this.logger.debug(
372
- '[MOCK] Would make request: POST /cli/devmode/eval with %d evaluations to create, %d evaluations to delete',
373
- evalsToCreate.length,
374
- evalsToDelete.length
375
- );
376
- this.logger.debug(
377
- '[MOCK] Request payload: %s',
378
- JSON.stringify({ create: evalsToCreate, delete: evalsToDelete }, null, 2)
379
- );
380
- }
381
-
382
- if (
383
- agentsToCreate.length === 0 &&
384
- agentsToDelete.length === 0 &&
385
- evalsToCreate.length === 0 &&
386
- evalsToDelete.length === 0
387
- ) {
388
- this.logger.debug('[MOCK] No requests would be made (no changes detected)');
389
- }
390
- }
391
- }
392
-
393
- export function createDevmodeSyncService({
394
- logger,
395
- apiClient,
396
- mock = false,
397
- }: {
398
- logger: Logger;
399
- apiClient: APIClient | null;
400
- mock?: boolean;
401
- }): IDevmodeSyncService {
402
- if (mock) {
403
- return new MockDevmodeSyncService(logger);
404
- }
405
-
406
- if (!apiClient) {
407
- throw new Error('apiClient is required when not in mock mode');
408
- }
409
-
410
- return new DevmodeSyncService(logger, apiClient);
411
- }
@@ -1,66 +0,0 @@
1
- /* eslint-disable no-control-regex */
2
- import { writeFileSync } from 'node:fs';
3
- import { basename, join } from 'node:path';
4
- import { toPascalCase } from '../../utils/string';
5
-
6
- const newAgentTemplate = (name: string) => `import { createAgent } from '@agentuity/runtime';
7
- import { s } from '@agentuity/schema';
8
-
9
- export default createAgent('${name}', {
10
- description: 'Add your agent description here',
11
- schema: {
12
- input: s.string(),
13
- output: s.string(),
14
- },
15
- handler: async (_c, input) => {
16
- // TODO: add your code here
17
- return input;
18
- },
19
- });
20
- `;
21
-
22
- const newRouteTemplate = () => {
23
- return `import { createRouter } from '@agentuity/runtime';
24
-
25
- const router = createRouter();
26
-
27
- router.get('/', async (c) => {
28
- // TODO: add your code here - this returns a static 'hi' greeting
29
- return c.text('hi');
30
- });
31
-
32
- export default router;
33
- `;
34
- };
35
-
36
- const invalidDirRegex = /[<>:"/\\|?*]/;
37
-
38
- const invalidControlChars = /[\u0000-\u001F]/;
39
- const reservedWindowsNames = /^(con|prn|aux|nul|com[1-9]|lpt[1-9])$/i;
40
- const invalidTrailing = /[. ]$/;
41
-
42
- function isValidDirectoryName(name: string): boolean {
43
- return (
44
- !invalidDirRegex.test(name) &&
45
- !invalidControlChars.test(name) &&
46
- !reservedWindowsNames.test(name) &&
47
- !invalidTrailing.test(name)
48
- );
49
- }
50
-
51
- export function createAgentTemplates(dir: string) {
52
- const name = basename(dir);
53
- if (!isValidDirectoryName(name)) {
54
- return;
55
- }
56
- const agentName = toPascalCase(name);
57
- writeFileSync(join(dir, 'index.ts'), newAgentTemplate(agentName));
58
- }
59
-
60
- export function createAPITemplates(dir: string) {
61
- const name = basename(dir);
62
- if (!isValidDirectoryName(name)) {
63
- return;
64
- }
65
- writeFileSync(join(dir, 'index.ts'), newRouteTemplate());
66
- }