@agentuity/cli 2.0.10 → 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 (353) 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.d.ts.map +1 -1
  66. package/dist/cmd/coder/create.js +18 -0
  67. package/dist/cmd/coder/create.js.map +1 -1
  68. package/dist/cmd/coder/index.d.ts.map +1 -1
  69. package/dist/cmd/coder/index.js +4 -0
  70. package/dist/cmd/coder/index.js.map +1 -1
  71. package/dist/cmd/coder/start.d.ts.map +1 -1
  72. package/dist/cmd/coder/start.js +49 -1
  73. package/dist/cmd/coder/start.js.map +1 -1
  74. package/dist/cmd/coder/update.d.ts.map +1 -1
  75. package/dist/cmd/coder/update.js +21 -1
  76. package/dist/cmd/coder/update.js.map +1 -1
  77. package/dist/cmd/coder/workspace/create.d.ts.map +1 -1
  78. package/dist/cmd/coder/workspace/create.js +17 -1
  79. package/dist/cmd/coder/workspace/create.js.map +1 -1
  80. package/dist/cmd/coder/workspace/list.js +2 -2
  81. package/dist/cmd/coder/workspace/list.js.map +1 -1
  82. package/dist/cmd/dev/index.d.ts +9 -0
  83. package/dist/cmd/dev/index.d.ts.map +1 -1
  84. package/dist/cmd/dev/index.js +127 -923
  85. package/dist/cmd/dev/index.js.map +1 -1
  86. package/dist/cmd/project/auth/shared.d.ts.map +1 -1
  87. package/dist/cmd/project/auth/shared.js +14 -38
  88. package/dist/cmd/project/auth/shared.js.map +1 -1
  89. package/dist/cmd/project/create.d.ts.map +1 -1
  90. package/dist/cmd/project/create.js +12 -19
  91. package/dist/cmd/project/create.js.map +1 -1
  92. package/dist/cmd/project/frameworks-ai-examples.d.ts +15 -0
  93. package/dist/cmd/project/frameworks-ai-examples.d.ts.map +1 -0
  94. package/dist/cmd/project/frameworks-ai-examples.js +160 -0
  95. package/dist/cmd/project/frameworks-ai-examples.js.map +1 -0
  96. package/dist/cmd/project/frameworks-landing-pages.d.ts +17 -0
  97. package/dist/cmd/project/frameworks-landing-pages.d.ts.map +1 -0
  98. package/dist/cmd/project/frameworks-landing-pages.js +242 -0
  99. package/dist/cmd/project/frameworks-landing-pages.js.map +1 -0
  100. package/dist/cmd/project/frameworks.d.ts +58 -0
  101. package/dist/cmd/project/frameworks.d.ts.map +1 -0
  102. package/dist/cmd/project/frameworks.js +152 -0
  103. package/dist/cmd/project/frameworks.js.map +1 -0
  104. package/dist/cmd/project/reconcile.d.ts.map +1 -1
  105. package/dist/cmd/project/reconcile.js +10 -23
  106. package/dist/cmd/project/reconcile.js.map +1 -1
  107. package/dist/cmd/project/remote-import.js +1 -1
  108. package/dist/cmd/project/scaffold.d.ts +58 -0
  109. package/dist/cmd/project/scaffold.d.ts.map +1 -0
  110. package/dist/cmd/project/scaffold.js +223 -0
  111. package/dist/cmd/project/scaffold.js.map +1 -0
  112. package/dist/cmd/project/template-flow.d.ts +8 -4
  113. package/dist/cmd/project/template-flow.d.ts.map +1 -1
  114. package/dist/cmd/project/template-flow.js +93 -144
  115. package/dist/cmd/project/template-flow.js.map +1 -1
  116. package/dist/deploy-metadata.d.ts +49 -0
  117. package/dist/deploy-metadata.d.ts.map +1 -0
  118. package/dist/deploy-metadata.js +183 -0
  119. package/dist/deploy-metadata.js.map +1 -0
  120. package/dist/index.d.ts +1 -1
  121. package/dist/index.d.ts.map +1 -1
  122. package/dist/index.js.map +1 -1
  123. package/dist/types.d.ts +25 -31
  124. package/dist/types.d.ts.map +1 -1
  125. package/dist/types.js.map +1 -1
  126. package/package.json +13 -8
  127. package/src/cmd/ai/prompt/index.ts +2 -7
  128. package/src/cmd/build/adapters/generic.ts +239 -0
  129. package/src/cmd/build/adapters/index.ts +30 -0
  130. package/src/cmd/build/adapters/nextjs.ts +146 -0
  131. package/src/cmd/build/adapters/static-server.ts +143 -0
  132. package/src/cmd/build/adapters/types.ts +93 -0
  133. package/src/cmd/build/detect/engine.ts +111 -0
  134. package/src/cmd/build/detect/frameworks.ts +335 -0
  135. package/src/cmd/build/detect/generic.ts +71 -0
  136. package/src/cmd/build/detect/index.ts +122 -0
  137. package/src/cmd/build/detect/types.ts +109 -0
  138. package/src/cmd/build/detect/util.ts +104 -0
  139. package/src/cmd/build/index.ts +64 -24
  140. package/src/cmd/build/package/index.ts +66 -0
  141. package/src/cmd/build/package/launch.ts +104 -0
  142. package/src/cmd/build/typecheck.ts +9 -0
  143. package/src/cmd/cloud/deploy.ts +86 -13
  144. package/src/cmd/coder/create.ts +24 -1
  145. package/src/cmd/coder/index.ts +4 -0
  146. package/src/cmd/coder/start.ts +60 -1
  147. package/src/cmd/coder/update.ts +18 -1
  148. package/src/cmd/coder/workspace/create.ts +20 -2
  149. package/src/cmd/coder/workspace/list.ts +2 -2
  150. package/src/cmd/dev/index.ts +155 -1059
  151. package/src/cmd/project/auth/shared.ts +14 -39
  152. package/src/cmd/project/create.ts +14 -19
  153. package/src/cmd/project/frameworks-ai-examples.ts +166 -0
  154. package/src/cmd/project/frameworks-landing-pages.ts +267 -0
  155. package/src/cmd/project/frameworks.ts +223 -0
  156. package/src/cmd/project/reconcile.ts +10 -22
  157. package/src/cmd/project/remote-import.ts +1 -1
  158. package/src/cmd/project/scaffold.ts +300 -0
  159. package/src/cmd/project/template-flow.ts +102 -156
  160. package/src/deploy-metadata.ts +253 -0
  161. package/src/index.ts +0 -2
  162. package/src/types.ts +0 -31
  163. package/dist/agents-docs.d.ts +0 -23
  164. package/dist/agents-docs.d.ts.map +0 -1
  165. package/dist/agents-docs.js +0 -56
  166. package/dist/agents-docs.js.map +0 -1
  167. package/dist/cmd/ai/prompt/agent.d.ts +0 -10
  168. package/dist/cmd/ai/prompt/agent.d.ts.map +0 -1
  169. package/dist/cmd/ai/prompt/agent.js +0 -28
  170. package/dist/cmd/ai/prompt/agent.js.map +0 -1
  171. package/dist/cmd/build/app-router-detector.d.ts +0 -39
  172. package/dist/cmd/build/app-router-detector.d.ts.map +0 -1
  173. package/dist/cmd/build/app-router-detector.js +0 -229
  174. package/dist/cmd/build/app-router-detector.js.map +0 -1
  175. package/dist/cmd/build/format-schema.d.ts +0 -6
  176. package/dist/cmd/build/format-schema.d.ts.map +0 -1
  177. package/dist/cmd/build/format-schema.js +0 -60
  178. package/dist/cmd/build/format-schema.js.map +0 -1
  179. package/dist/cmd/build/vite/agent-discovery.d.ts +0 -37
  180. package/dist/cmd/build/vite/agent-discovery.d.ts.map +0 -1
  181. package/dist/cmd/build/vite/agent-discovery.js +0 -263
  182. package/dist/cmd/build/vite/agent-discovery.js.map +0 -1
  183. package/dist/cmd/build/vite/beacon-plugin.d.ts +0 -19
  184. package/dist/cmd/build/vite/beacon-plugin.d.ts.map +0 -1
  185. package/dist/cmd/build/vite/beacon-plugin.js +0 -137
  186. package/dist/cmd/build/vite/beacon-plugin.js.map +0 -1
  187. package/dist/cmd/build/vite/browser-env-plugin.d.ts +0 -9
  188. package/dist/cmd/build/vite/browser-env-plugin.d.ts.map +0 -1
  189. package/dist/cmd/build/vite/browser-env-plugin.js +0 -28
  190. package/dist/cmd/build/vite/browser-env-plugin.js.map +0 -1
  191. package/dist/cmd/build/vite/bun-dev-server.d.ts +0 -67
  192. package/dist/cmd/build/vite/bun-dev-server.d.ts.map +0 -1
  193. package/dist/cmd/build/vite/bun-dev-server.js +0 -340
  194. package/dist/cmd/build/vite/bun-dev-server.js.map +0 -1
  195. package/dist/cmd/build/vite/bundle-files.d.ts +0 -12
  196. package/dist/cmd/build/vite/bundle-files.d.ts.map +0 -1
  197. package/dist/cmd/build/vite/bundle-files.js +0 -107
  198. package/dist/cmd/build/vite/bundle-files.js.map +0 -1
  199. package/dist/cmd/build/vite/config-loader.d.ts +0 -29
  200. package/dist/cmd/build/vite/config-loader.d.ts.map +0 -1
  201. package/dist/cmd/build/vite/config-loader.js +0 -57
  202. package/dist/cmd/build/vite/config-loader.js.map +0 -1
  203. package/dist/cmd/build/vite/db-rewrite.d.ts +0 -50
  204. package/dist/cmd/build/vite/db-rewrite.d.ts.map +0 -1
  205. package/dist/cmd/build/vite/db-rewrite.js +0 -169
  206. package/dist/cmd/build/vite/db-rewrite.js.map +0 -1
  207. package/dist/cmd/build/vite/docs-generator.d.ts +0 -13
  208. package/dist/cmd/build/vite/docs-generator.d.ts.map +0 -1
  209. package/dist/cmd/build/vite/docs-generator.js +0 -97
  210. package/dist/cmd/build/vite/docs-generator.js.map +0 -1
  211. package/dist/cmd/build/vite/env-types-generator.d.ts +0 -26
  212. package/dist/cmd/build/vite/env-types-generator.d.ts.map +0 -1
  213. package/dist/cmd/build/vite/env-types-generator.js +0 -110
  214. package/dist/cmd/build/vite/env-types-generator.js.map +0 -1
  215. package/dist/cmd/build/vite/index.d.ts +0 -3
  216. package/dist/cmd/build/vite/index.d.ts.map +0 -1
  217. package/dist/cmd/build/vite/index.js +0 -4
  218. package/dist/cmd/build/vite/index.js.map +0 -1
  219. package/dist/cmd/build/vite/lifecycle-generator.d.ts +0 -19
  220. package/dist/cmd/build/vite/lifecycle-generator.d.ts.map +0 -1
  221. package/dist/cmd/build/vite/lifecycle-generator.js +0 -328
  222. package/dist/cmd/build/vite/lifecycle-generator.js.map +0 -1
  223. package/dist/cmd/build/vite/metadata-generator.d.ts +0 -36
  224. package/dist/cmd/build/vite/metadata-generator.d.ts.map +0 -1
  225. package/dist/cmd/build/vite/metadata-generator.js +0 -575
  226. package/dist/cmd/build/vite/metadata-generator.js.map +0 -1
  227. package/dist/cmd/build/vite/prompt-generator.d.ts +0 -23
  228. package/dist/cmd/build/vite/prompt-generator.d.ts.map +0 -1
  229. package/dist/cmd/build/vite/prompt-generator.js +0 -123
  230. package/dist/cmd/build/vite/prompt-generator.js.map +0 -1
  231. package/dist/cmd/build/vite/public-asset-path-plugin.d.ts +0 -45
  232. package/dist/cmd/build/vite/public-asset-path-plugin.d.ts.map +0 -1
  233. package/dist/cmd/build/vite/public-asset-path-plugin.js +0 -166
  234. package/dist/cmd/build/vite/public-asset-path-plugin.js.map +0 -1
  235. package/dist/cmd/build/vite/route-discovery.d.ts +0 -64
  236. package/dist/cmd/build/vite/route-discovery.d.ts.map +0 -1
  237. package/dist/cmd/build/vite/route-discovery.js +0 -187
  238. package/dist/cmd/build/vite/route-discovery.js.map +0 -1
  239. package/dist/cmd/build/vite/server-bundler.d.ts +0 -20
  240. package/dist/cmd/build/vite/server-bundler.d.ts.map +0 -1
  241. package/dist/cmd/build/vite/server-bundler.js +0 -388
  242. package/dist/cmd/build/vite/server-bundler.js.map +0 -1
  243. package/dist/cmd/build/vite/static-renderer.d.ts +0 -26
  244. package/dist/cmd/build/vite/static-renderer.d.ts.map +0 -1
  245. package/dist/cmd/build/vite/static-renderer.js +0 -188
  246. package/dist/cmd/build/vite/static-renderer.js.map +0 -1
  247. package/dist/cmd/build/vite/tailwind-source-plugin.d.ts +0 -15
  248. package/dist/cmd/build/vite/tailwind-source-plugin.d.ts.map +0 -1
  249. package/dist/cmd/build/vite/tailwind-source-plugin.js +0 -61
  250. package/dist/cmd/build/vite/tailwind-source-plugin.js.map +0 -1
  251. package/dist/cmd/build/vite/vite-asset-server-config.d.ts +0 -24
  252. package/dist/cmd/build/vite/vite-asset-server-config.d.ts.map +0 -1
  253. package/dist/cmd/build/vite/vite-asset-server-config.js +0 -285
  254. package/dist/cmd/build/vite/vite-asset-server-config.js.map +0 -1
  255. package/dist/cmd/build/vite/vite-asset-server.d.ts +0 -30
  256. package/dist/cmd/build/vite/vite-asset-server.d.ts.map +0 -1
  257. package/dist/cmd/build/vite/vite-asset-server.js +0 -109
  258. package/dist/cmd/build/vite/vite-asset-server.js.map +0 -1
  259. package/dist/cmd/build/vite/vite-builder.d.ts +0 -59
  260. package/dist/cmd/build/vite/vite-builder.d.ts.map +0 -1
  261. package/dist/cmd/build/vite/vite-builder.js +0 -401
  262. package/dist/cmd/build/vite/vite-builder.js.map +0 -1
  263. package/dist/cmd/build/vite/workbench-generator.d.ts +0 -10
  264. package/dist/cmd/build/vite/workbench-generator.d.ts.map +0 -1
  265. package/dist/cmd/build/vite/workbench-generator.js +0 -135
  266. package/dist/cmd/build/vite/workbench-generator.js.map +0 -1
  267. package/dist/cmd/build/vite/ws-proxy.d.ts +0 -53
  268. package/dist/cmd/build/vite/ws-proxy.d.ts.map +0 -1
  269. package/dist/cmd/build/vite/ws-proxy.js +0 -95
  270. package/dist/cmd/build/vite/ws-proxy.js.map +0 -1
  271. package/dist/cmd/build/vite-bundler.d.ts +0 -29
  272. package/dist/cmd/build/vite-bundler.d.ts.map +0 -1
  273. package/dist/cmd/build/vite-bundler.js +0 -93
  274. package/dist/cmd/build/vite-bundler.js.map +0 -1
  275. package/dist/cmd/dev/agents.d.ts +0 -2
  276. package/dist/cmd/dev/agents.d.ts.map +0 -1
  277. package/dist/cmd/dev/agents.js +0 -123
  278. package/dist/cmd/dev/agents.js.map +0 -1
  279. package/dist/cmd/dev/api.d.ts +0 -20
  280. package/dist/cmd/dev/api.d.ts.map +0 -1
  281. package/dist/cmd/dev/api.js +0 -42
  282. package/dist/cmd/dev/api.js.map +0 -1
  283. package/dist/cmd/dev/dev-lock.d.ts +0 -62
  284. package/dist/cmd/dev/dev-lock.d.ts.map +0 -1
  285. package/dist/cmd/dev/dev-lock.js +0 -250
  286. package/dist/cmd/dev/dev-lock.js.map +0 -1
  287. package/dist/cmd/dev/download.d.ts +0 -11
  288. package/dist/cmd/dev/download.d.ts.map +0 -1
  289. package/dist/cmd/dev/download.js +0 -94
  290. package/dist/cmd/dev/download.js.map +0 -1
  291. package/dist/cmd/dev/file-watcher.d.ts +0 -24
  292. package/dist/cmd/dev/file-watcher.d.ts.map +0 -1
  293. package/dist/cmd/dev/file-watcher.js +0 -349
  294. package/dist/cmd/dev/file-watcher.js.map +0 -1
  295. package/dist/cmd/dev/process-manager.d.ts +0 -104
  296. package/dist/cmd/dev/process-manager.d.ts.map +0 -1
  297. package/dist/cmd/dev/process-manager.js +0 -204
  298. package/dist/cmd/dev/process-manager.js.map +0 -1
  299. package/dist/cmd/dev/sync.d.ts +0 -12
  300. package/dist/cmd/dev/sync.d.ts.map +0 -1
  301. package/dist/cmd/dev/sync.js +0 -227
  302. package/dist/cmd/dev/sync.js.map +0 -1
  303. package/dist/cmd/dev/templates.d.ts +0 -3
  304. package/dist/cmd/dev/templates.d.ts.map +0 -1
  305. package/dist/cmd/dev/templates.js +0 -58
  306. package/dist/cmd/dev/templates.js.map +0 -1
  307. package/dist/cmd/project/download.d.ts +0 -35
  308. package/dist/cmd/project/download.d.ts.map +0 -1
  309. package/dist/cmd/project/download.js +0 -403
  310. package/dist/cmd/project/download.js.map +0 -1
  311. package/dist/cmd/project/templates.d.ts +0 -9
  312. package/dist/cmd/project/templates.d.ts.map +0 -1
  313. package/dist/cmd/project/templates.js +0 -34
  314. package/dist/cmd/project/templates.js.map +0 -1
  315. package/src/agents-docs.ts +0 -86
  316. package/src/cmd/ai/prompt/agent.md +0 -305
  317. package/src/cmd/ai/prompt/agent.ts +0 -31
  318. package/src/cmd/build/app-router-detector.ts +0 -320
  319. package/src/cmd/build/format-schema.ts +0 -66
  320. package/src/cmd/build/vite/agent-discovery.ts +0 -380
  321. package/src/cmd/build/vite/beacon-plugin.ts +0 -164
  322. package/src/cmd/build/vite/browser-env-plugin.ts +0 -34
  323. package/src/cmd/build/vite/bun-dev-server.ts +0 -458
  324. package/src/cmd/build/vite/bundle-files.ts +0 -135
  325. package/src/cmd/build/vite/config-loader.ts +0 -76
  326. package/src/cmd/build/vite/db-rewrite.ts +0 -189
  327. package/src/cmd/build/vite/docs-generator.ts +0 -103
  328. package/src/cmd/build/vite/env-types-generator.ts +0 -145
  329. package/src/cmd/build/vite/index.ts +0 -3
  330. package/src/cmd/build/vite/lifecycle-generator.ts +0 -381
  331. package/src/cmd/build/vite/metadata-generator.ts +0 -713
  332. package/src/cmd/build/vite/prompt-generator.ts +0 -169
  333. package/src/cmd/build/vite/public-asset-path-plugin.ts +0 -209
  334. package/src/cmd/build/vite/route-discovery.ts +0 -271
  335. package/src/cmd/build/vite/server-bundler.ts +0 -481
  336. package/src/cmd/build/vite/static-renderer.ts +0 -239
  337. package/src/cmd/build/vite/tailwind-source-plugin.ts +0 -73
  338. package/src/cmd/build/vite/vite-asset-server-config.ts +0 -349
  339. package/src/cmd/build/vite/vite-asset-server.ts +0 -154
  340. package/src/cmd/build/vite/vite-builder.ts +0 -503
  341. package/src/cmd/build/vite/workbench-generator.ts +0 -152
  342. package/src/cmd/build/vite/ws-proxy.ts +0 -126
  343. package/src/cmd/build/vite-bundler.ts +0 -137
  344. package/src/cmd/dev/agents.ts +0 -140
  345. package/src/cmd/dev/api.ts +0 -65
  346. package/src/cmd/dev/dev-lock.ts +0 -332
  347. package/src/cmd/dev/download.ts +0 -117
  348. package/src/cmd/dev/file-watcher.ts +0 -423
  349. package/src/cmd/dev/process-manager.ts +0 -261
  350. package/src/cmd/dev/sync.ts +0 -411
  351. package/src/cmd/dev/templates.ts +0 -66
  352. package/src/cmd/project/download.ts +0 -505
  353. package/src/cmd/project/templates.ts +0 -56
@@ -1,505 +0,0 @@
1
- import {
2
- cpSync,
3
- createReadStream,
4
- existsSync,
5
- mkdirSync,
6
- mkdtempSync,
7
- readdirSync,
8
- renameSync,
9
- rmSync,
10
- } from 'node:fs';
11
- import { tmpdir } from 'node:os';
12
- import { join, resolve } from 'node:path';
13
- import { finished } from 'node:stream/promises';
14
- import { createGunzip } from 'node:zlib';
15
- import { type Logger, StructuredError } from '@agentuity/core';
16
- import { extract, type Headers } from 'tar-fs';
17
- import { writeAgentsDocs } from '../../agents-docs';
18
- import { downloadWithSpinner } from '../../download';
19
- import * as tui from '../../tui';
20
- import type { TemplateInfo } from './templates';
21
-
22
- const GITHUB_BRANCH = 'main';
23
- const BASE_TEMPLATE_DIR = '_base';
24
-
25
- interface DownloadOptions {
26
- dest: string;
27
- template: TemplateInfo;
28
- templateDir?: string;
29
- templateBranch?: string;
30
- logger: Logger;
31
- }
32
-
33
- interface SetupOptions {
34
- dest: string;
35
- projectName: string;
36
- dirName: string;
37
- noInstall: boolean;
38
- noBuild: boolean;
39
- logger: Logger;
40
- }
41
-
42
- const TemplateDirectoryNotFoundError = StructuredError('TemplateDirectoryNotFoundError')<{
43
- directory: string;
44
- }>();
45
-
46
- async function copyTemplateFiles(sourceDir: string, dest: string, skipGitignoreRename = false) {
47
- if (!existsSync(sourceDir)) {
48
- return; // Source directory doesn't exist, skip (overlay may be empty)
49
- }
50
-
51
- // Copy all files from source to dest (overlay wins on conflicts)
52
- const files = readdirSync(sourceDir);
53
- for (const file of files) {
54
- // Skip package.overlay.json - it's handled separately for merging
55
- if (file === 'package.overlay.json') {
56
- continue;
57
- }
58
- // Skip .gitkeep files - they're just placeholders for empty directories
59
- if (file === '.gitkeep') {
60
- continue;
61
- }
62
- cpSync(join(sourceDir, file), join(dest, file), { recursive: true });
63
- }
64
-
65
- // Rename gitignore -> .gitignore (only do this once, after all copies)
66
- if (!skipGitignoreRename) {
67
- const gi = join(dest, 'gitignore');
68
- if (existsSync(gi)) {
69
- renameSync(gi, join(dest, '.gitignore'));
70
- }
71
- }
72
- }
73
-
74
- async function mergePackageJson(dest: string, overlayDir: string) {
75
- const basePackagePath = join(dest, 'package.json');
76
- const overlayPackagePath = join(overlayDir, 'package.overlay.json');
77
-
78
- // If no overlay package.json exists, nothing to merge
79
- if (!existsSync(overlayPackagePath)) {
80
- return;
81
- }
82
-
83
- // Read base package.json
84
- const basePackage = JSON.parse(await Bun.file(basePackagePath).text());
85
-
86
- // Read overlay package.json
87
- const overlayPackage = JSON.parse(await Bun.file(overlayPackagePath).text());
88
-
89
- // Merge dependencies (overlay wins on conflicts)
90
- if (overlayPackage.dependencies) {
91
- basePackage.dependencies = {
92
- ...basePackage.dependencies,
93
- ...overlayPackage.dependencies,
94
- };
95
- }
96
-
97
- // Merge devDependencies (overlay wins on conflicts)
98
- if (overlayPackage.devDependencies) {
99
- basePackage.devDependencies = {
100
- ...basePackage.devDependencies,
101
- ...overlayPackage.devDependencies,
102
- };
103
- }
104
-
105
- // Merge scripts (overlay wins on conflicts)
106
- if (overlayPackage.scripts) {
107
- basePackage.scripts = {
108
- ...basePackage.scripts,
109
- ...overlayPackage.scripts,
110
- };
111
- }
112
-
113
- // Write merged package.json
114
- await Bun.write(basePackagePath, JSON.stringify(basePackage, null, '\t') + '\n');
115
- }
116
-
117
- async function _cleanup(sourceDir: string, dest: string) {
118
- if (!existsSync(sourceDir)) {
119
- throw new TemplateDirectoryNotFoundError({
120
- directory: sourceDir,
121
- message: `Template directory not found: ${sourceDir}`,
122
- });
123
- }
124
-
125
- await tui.spinner('📦 Copying template files...', async () => {
126
- // Copy all files from source to dest
127
- const files = readdirSync(sourceDir);
128
- for (const file of files) {
129
- cpSync(join(sourceDir, file), join(dest, file), { recursive: true });
130
- }
131
-
132
- // Rename gitignore -> .gitignore
133
- const gi = join(dest, 'gitignore');
134
- if (existsSync(gi)) {
135
- renameSync(gi, join(dest, '.gitignore'));
136
- }
137
- });
138
- }
139
-
140
- export async function downloadTemplate(options: DownloadOptions): Promise<void> {
141
- const { dest, template, templateDir, templateBranch, logger } = options;
142
-
143
- mkdirSync(dest, { recursive: true });
144
-
145
- // Copy from local directory if provided
146
- if (templateDir) {
147
- const baseDir = resolve(join(templateDir, BASE_TEMPLATE_DIR));
148
- const overlayDir = resolve(join(templateDir, template.directory));
149
-
150
- // Base template must exist
151
- if (!existsSync(baseDir)) {
152
- throw new TemplateDirectoryNotFoundError({
153
- directory: baseDir,
154
- message: `Base template directory not found: ${baseDir}`,
155
- });
156
- }
157
-
158
- // Overlay directory must exist (even if empty)
159
- if (!existsSync(overlayDir)) {
160
- throw new TemplateDirectoryNotFoundError({
161
- directory: overlayDir,
162
- message: `Template directory not found: ${overlayDir}`,
163
- });
164
- }
165
-
166
- await tui.spinner({
167
- type: 'progress',
168
- message: '📦 Copying template files...',
169
- clearOnSuccess: true,
170
- callback: async (progress) => {
171
- // Step 1: Copy base template files (skip gitignore rename for now)
172
- await copyTemplateFiles(baseDir, dest, true);
173
- progress(33);
174
-
175
- // Step 2: Copy overlay template files (overlay wins on conflicts)
176
- await copyTemplateFiles(overlayDir, dest, false);
177
- progress(66);
178
-
179
- // Step 3: Merge package.json with overlay dependencies
180
- await mergePackageJson(dest, overlayDir);
181
- progress(100);
182
- },
183
- });
184
-
185
- return;
186
- }
187
-
188
- // Download from GitHub
189
- const branch = templateBranch || GITHUB_BRANCH;
190
- const basePath = `templates/${BASE_TEMPLATE_DIR}`;
191
- const overlayPath = `templates/${template.directory}`;
192
- const url = `https://agentuity.sh/template/sdk/${branch}/tar.gz`;
193
- const tempDir = mkdtempSync(join(tmpdir(), 'agentuity-'));
194
- const tarballPath = join(tempDir, 'download.tar.gz');
195
-
196
- logger.debug('[download] URL: %s', url);
197
- logger.debug('[download] Branch: %s', branch);
198
- logger.debug('[download] Base path: %s', basePath);
199
- logger.debug('[download] Overlay path: %s', overlayPath);
200
- logger.debug('[download] Temp dir: %s', tempDir);
201
-
202
- try {
203
- // Step 1: Download tarball to temp file
204
- // We download to a file first rather than piping directly to tar-fs
205
- // because this avoids Bun/Node stream compatibility issues
206
- await downloadWithSpinner(
207
- {
208
- url,
209
- message: templateBranch
210
- ? `Downloading template files from branch ${branch}...`
211
- : 'Downloading template files...',
212
- },
213
- async (stream) => {
214
- // Collect all chunks from the download stream
215
- const chunks: Buffer[] = [];
216
- for await (const chunk of stream) {
217
- chunks.push(Buffer.from(chunk));
218
- }
219
- const buffer = Buffer.concat(chunks);
220
- await Bun.write(tarballPath, buffer);
221
-
222
- logger.debug('[download] Downloaded bytes: %dbytes', buffer.length);
223
- logger.debug('[download] Tarball path: %s', tarballPath);
224
- }
225
- );
226
-
227
- // Step 2: Extract tarball - extract both base and overlay templates
228
- // The tarball structure is: sdk-{branch}/templates/{template.directory}/...
229
- const baseExtractDir = join(tempDir, 'base');
230
- const overlayExtractDir = join(tempDir, 'overlay');
231
- mkdirSync(baseExtractDir, { recursive: true });
232
- mkdirSync(overlayExtractDir, { recursive: true });
233
-
234
- const basePrefix = `sdk-${branch}/${basePath}/`;
235
- const overlayPrefix = `sdk-${branch}/${overlayPath}/`;
236
- logger.debug('[extract] Base extract dir: %s', baseExtractDir);
237
- logger.debug('[extract] Overlay extract dir: %s', overlayExtractDir);
238
- logger.debug('[extract] Base prefix: %s', basePrefix);
239
- logger.debug('[extract] Overlay prefix: %s', overlayPrefix);
240
-
241
- // Track extraction stats for debugging
242
- let ignoredCount = 0;
243
- let baseExtractedCount = 0;
244
- let overlayExtractedCount = 0;
245
-
246
- // Track which entries we've mapped so we don't ignore them later
247
- // Note: tar-fs calls map BEFORE ignore (despite what docs say)
248
- const mappedEntries = new Set<string>();
249
-
250
- const extractor = extract(tempDir, {
251
- // map callback: called FIRST, allows modifying the entry before extraction
252
- // We extract base files to baseExtractDir and overlay files to overlayExtractDir
253
- map: (header: Headers) => {
254
- const originalName = header.name;
255
-
256
- // Check if this is a base template file
257
- if (header.name.startsWith(basePrefix) && header.name.length > basePrefix.length) {
258
- header.name = `base/${header.name.substring(basePrefix.length)}`;
259
- mappedEntries.add(header.name);
260
- logger.debug('[extract] MAP BASE: %s -> %s', originalName, header.name);
261
- baseExtractedCount++;
262
- }
263
- // Check if this is an overlay template file
264
- else if (
265
- header.name.startsWith(overlayPrefix) &&
266
- header.name.length > overlayPrefix.length
267
- ) {
268
- header.name = `overlay/${header.name.substring(overlayPrefix.length)}`;
269
- mappedEntries.add(header.name);
270
- logger.debug('[extract] MAP OVERLAY: %s -> %s', originalName, header.name);
271
- overlayExtractedCount++;
272
- }
273
-
274
- return header;
275
- },
276
- // ignore callback: called AFTER map, receives the MAPPED name
277
- // Return true to skip the entry, false to extract it
278
- ignore: (_name: string, header?: Headers) => {
279
- if (!header) {
280
- ignoredCount++;
281
- return true;
282
- }
283
-
284
- // If we already mapped this entry, don't ignore it
285
- if (mappedEntries.has(header.name)) {
286
- return false;
287
- }
288
-
289
- // Otherwise, ignore it
290
- logger.debug('[extract] IGNORE: %s', header.name);
291
- ignoredCount++;
292
- return true;
293
- },
294
- });
295
-
296
- // Pipe: tarball file -> gunzip -> tar extractor
297
- createReadStream(tarballPath).pipe(createGunzip()).pipe(extractor);
298
- await finished(extractor);
299
-
300
- logger.debug('[extract] Extraction complete');
301
- logger.debug('[extract] Ignored entries: %d', ignoredCount);
302
- logger.debug('[extract] Base extracted entries: %d', baseExtractedCount);
303
- logger.debug('[extract] Overlay extracted entries: %d', overlayExtractedCount);
304
-
305
- // Step 3: Copy base template files, then overlay template files
306
- await tui.spinner({
307
- type: 'progress',
308
- message: '📦 Copying template files...',
309
- clearOnSuccess: true,
310
- callback: async (progress) => {
311
- // Copy base template files (skip gitignore rename for now)
312
- await copyTemplateFiles(baseExtractDir, dest, true);
313
- progress(33);
314
-
315
- // Copy overlay template files (overlay wins on conflicts)
316
- await copyTemplateFiles(overlayExtractDir, dest, false);
317
- progress(66);
318
-
319
- // Merge package.json with overlay dependencies
320
- await mergePackageJson(dest, overlayExtractDir);
321
- progress(100);
322
- },
323
- });
324
- } finally {
325
- // Clean up temp directory
326
- logger.debug('[cleanup] Removing temp dir: %s', tempDir);
327
- rmSync(tempDir, { recursive: true, force: true });
328
- }
329
- }
330
-
331
- export async function setupProject(options: SetupOptions): Promise<{ success: boolean }> {
332
- const { dest, projectName, dirName, noInstall, noBuild, logger } = options;
333
- let hasError = false;
334
-
335
- // Replace {{PROJECT_NAME}} in files
336
- tui.info(`🔧 Setting up ${projectName}...`);
337
- await replaceInFiles(dest, projectName, dirName);
338
-
339
- // Install dependencies
340
- if (!noInstall) {
341
- const exitCode = await tui.runCommand({
342
- command: 'bun install',
343
- cwd: dest,
344
- cmd: ['bun', 'install'],
345
- clearOnSuccess: true,
346
- });
347
- if (exitCode !== 0) {
348
- logger.error('Failed to install dependencies');
349
- hasError = true;
350
- }
351
- }
352
-
353
- // Run optional template setup script if it exists
354
- // This allows templates to run custom setup logic after bun install
355
- const setupScriptPath = join(dest, '_setup.ts');
356
- if (existsSync(setupScriptPath)) {
357
- try {
358
- const exitCode = await tui.runCommand({
359
- command: 'bun _setup.ts',
360
- cwd: dest,
361
- cmd: ['bun', '_setup.ts'],
362
- clearOnSuccess: true,
363
- });
364
- if (exitCode !== 0) {
365
- logger.error('Template setup script failed');
366
- hasError = true;
367
- }
368
- } finally {
369
- // Always delete the setup script after running (or attempting to run)
370
- try {
371
- rmSync(setupScriptPath);
372
- } catch {
373
- // Ignore errors when deleting the setup script
374
- }
375
- }
376
- }
377
-
378
- // Build project
379
- if (!noBuild) {
380
- const exitCode = await tui.runCommand({
381
- command: 'bun run build --dev',
382
- cwd: dest,
383
- cmd: ['bun', 'run', 'build', '--dev'],
384
- clearOnSuccess: true,
385
- });
386
- if (exitCode !== 0) {
387
- logger.error('Failed to build project');
388
- hasError = true;
389
- }
390
- }
391
-
392
- // Generate and write AGENTS.md files for the CLI and source folders
393
- // Always overwrite during project setup to ensure fresh content
394
- await writeAgentsDocs(dest);
395
-
396
- return { success: !hasError };
397
- }
398
-
399
- interface InitGitRepoOptions {
400
- /** Project name (e.g. "My Agent") */
401
- projectName?: string;
402
- /** Where the template came from (e.g. "github.com/owner/repo" or "TypeScript / Hello World") */
403
- source?: string;
404
- /** Git commit author (e.g. { name: "app-slug[bot]", email: "id+slug[bot]@users.noreply.github.com" }) */
405
- author?: { name: string; email: string };
406
- }
407
-
408
- export async function initGitRepo(dest: string, options?: InitGitRepoOptions): Promise<void> {
409
- // Safety: refuse to init if .git already exists (prevents clobbering existing repos)
410
- if (existsSync(join(dest, '.git'))) {
411
- throw new Error(`Refusing to initialize git: "${dest}" already contains a .git directory.`);
412
- }
413
-
414
- // Initialize git repository if git is available
415
- // Check for real git (not macOS stub that triggers Xcode CLT popup)
416
- const { isGitAvailable, getDefaultBranch } = await import('../../git-helper');
417
- const gitAvailable = await isGitAvailable();
418
-
419
- if (gitAvailable) {
420
- // Get default branch from git config, fallback to 'main'
421
- const defaultBranch = (await getDefaultBranch()) || 'main';
422
-
423
- // Git is available, initialize repository
424
- await tui.runCommand({
425
- command: `git init -b ${defaultBranch}`,
426
- cwd: dest,
427
- cmd: ['git', 'init', '-b', defaultBranch],
428
- clearOnSuccess: true,
429
- });
430
-
431
- // Configure git user in CI/sandbox environments (where git config may not be set)
432
- if (process.env.CI || process.env.AGENTUITY_SANDBOX_ID) {
433
- const cfgEmail = options?.author?.email ?? 'bot@agentuity.com';
434
- const cfgName = options?.author?.name ?? 'Agentuity';
435
-
436
- await tui.runCommand({
437
- command: 'git config user.email',
438
- cwd: dest,
439
- cmd: ['git', 'config', 'user.email', cfgEmail],
440
- clearOnSuccess: true,
441
- });
442
-
443
- await tui.runCommand({
444
- command: 'git config user.name',
445
- cwd: dest,
446
- cmd: ['git', 'config', 'user.name', cfgName],
447
- clearOnSuccess: true,
448
- });
449
- }
450
-
451
- // Add all files
452
- await tui.runCommand({
453
- command: 'git add .',
454
- cwd: dest,
455
- cmd: ['git', 'add', '.'],
456
- clearOnSuccess: true,
457
- });
458
-
459
- const commitMessage = 'Initial Setup';
460
-
461
- // Create initial commit — authored by the GitHub App bot if available,
462
- // otherwise fallback to generic Agentuity identity
463
- const authorName = options?.author?.name ?? 'Agentuity';
464
- const authorEmail = options?.author?.email ?? 'bot@agentuity.com';
465
- const authorStr = `${authorName} <${authorEmail}>`;
466
-
467
- await tui.runCommand({
468
- command: 'git commit',
469
- cwd: dest,
470
- cmd: [
471
- 'git',
472
- '-c',
473
- 'commit.gpgsign=false',
474
- 'commit',
475
- `--author=${authorStr}`,
476
- '-m',
477
- commitMessage,
478
- ],
479
- env: {
480
- GIT_COMMITTER_NAME: authorName,
481
- GIT_COMMITTER_EMAIL: authorEmail,
482
- },
483
- clearOnSuccess: true,
484
- });
485
- }
486
- }
487
-
488
- async function replaceInFiles(dir: string, projectName: string, dirName: string): Promise<void> {
489
- const filesToReplace = ['package.json', 'README.md', 'AGENTS.md'];
490
-
491
- for (const file of filesToReplace) {
492
- const filePath = join(dir, file);
493
- const bunFile = Bun.file(filePath);
494
- if (await bunFile.exists()) {
495
- let content = await bunFile.text();
496
- // Replace human-readable name in most places
497
- content = content.replace(/\{\{PROJECT_NAME\}\}/g, projectName);
498
- // Replace with directory name for package.json "name" field (npm package name)
499
- if (file === 'package.json') {
500
- content = content.replace(/"name":\s*".*?"/, `"name": "${dirName}"`);
501
- }
502
- await Bun.write(filePath, content);
503
- }
504
- }
505
- }
@@ -1,56 +0,0 @@
1
- import { StructuredError, Logger } from '@agentuity/core';
2
-
3
- const GITHUB_BRANCH = 'main';
4
-
5
- export interface TemplateInfo {
6
- id: string;
7
- name: string;
8
- description: string;
9
- directory: string;
10
- }
11
-
12
- interface TemplatesManifest {
13
- templates: TemplateInfo[];
14
- }
15
-
16
- const TemplateMissingConfigurationError = StructuredError('TemplateMissingConfigurationError');
17
- const TemplateDownloadError = StructuredError('TemplateDownloadError')<{ status: number }>();
18
-
19
- export async function fetchTemplates(
20
- logger: Logger,
21
- localDir?: string,
22
- branch?: string
23
- ): Promise<TemplateInfo[]> {
24
- // Load from local directory if provided
25
- if (localDir) {
26
- const { join } = await import('node:path');
27
- const { resolve } = await import('node:path');
28
- const manifestPath = resolve(join(localDir, 'templates.json'));
29
- const file = Bun.file(manifestPath);
30
-
31
- if (!(await file.exists())) {
32
- throw new TemplateMissingConfigurationError({
33
- message: `templates.json not found at ${manifestPath}`,
34
- });
35
- }
36
-
37
- const manifest = (await file.json()) as TemplatesManifest;
38
- return manifest.templates;
39
- }
40
-
41
- // Fetch from GitHub
42
- const branchToUse = branch || GITHUB_BRANCH;
43
- const url = `https://agentuity.sh/template/sdk/${branchToUse}`;
44
-
45
- const response = await fetch(url);
46
- if (!response.ok) {
47
- logger.trace('error fetching template from %s. %s', url, await response.text());
48
- throw new TemplateDownloadError({
49
- status: response.status,
50
- message: `Failed to fetch templates: ${response.statusText}`,
51
- });
52
- }
53
-
54
- const manifest = (await response.json()) as TemplatesManifest;
55
- return manifest.templates;
56
- }