@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,332 +0,0 @@
1
- /**
2
- * Dev Lock Manager
3
- *
4
- * Manages a lockfile to track the dev server process and its children.
5
- * On startup, detects and cleans up stale processes from previous sessions.
6
- * Ensures proper cleanup on all exit paths.
7
- */
8
-
9
- import { join, dirname } from 'node:path';
10
- import { randomUUID } from 'node:crypto';
11
- import { existsSync, unlinkSync } from 'node:fs';
12
- import { promises as fs } from 'node:fs';
13
-
14
- interface LoggerLike {
15
- debug: (msg: string, ...args: unknown[]) => void;
16
- warn: (msg: string, ...args: unknown[]) => void;
17
- error: (msg: string, ...args: unknown[]) => void;
18
- }
19
-
20
- /**
21
- * Lockfile format for tracking dev server processes
22
- */
23
- export interface DevLockFileV1 {
24
- version: 1;
25
- projectRoot: string;
26
- mainPid: number;
27
- instanceId: string;
28
- createdAt: string;
29
- updatedAt: string;
30
- ports: {
31
- bun?: number;
32
- vite?: number;
33
- gravity?: number;
34
- };
35
- children: Array<{
36
- pid: number;
37
- type: 'gravity' | 'vite' | 'other';
38
- description?: string;
39
- }>;
40
- }
41
-
42
- export interface DevLockManager {
43
- state: DevLockFileV1;
44
- registerChild: (info: {
45
- pid: number;
46
- type: 'gravity' | 'vite' | 'other';
47
- description?: string;
48
- }) => Promise<void>;
49
- updatePorts: (ports: Partial<DevLockFileV1['ports']>) => Promise<void>;
50
- release: () => Promise<void>;
51
- }
52
-
53
- function getLockPath(rootDir: string): string {
54
- return join(rootDir, '.agentuity', 'devserver.lock');
55
- }
56
-
57
- /**
58
- * Check if a process with the given PID exists
59
- */
60
- function pidExists(pid: number): boolean {
61
- if (!Number.isInteger(pid) || pid <= 0) return false;
62
- try {
63
- process.kill(pid, 0);
64
- return true;
65
- } catch (err: unknown) {
66
- const error = err as NodeJS.ErrnoException;
67
- if (error.code === 'ESRCH' || error.code === 'EINVAL') return false;
68
- // EPERM means it exists but we can't signal it
69
- return error.code === 'EPERM';
70
- }
71
- }
72
-
73
- /**
74
- * Kill a process by PID with SIGTERM, then SIGKILL if still alive
75
- */
76
- async function killPid(pid: number, logger: LoggerLike): Promise<void> {
77
- if (!pidExists(pid)) return;
78
-
79
- try {
80
- process.kill(pid, 'SIGTERM');
81
- logger.debug('Sent SIGTERM to pid %d', pid);
82
- } catch (err: unknown) {
83
- const error = err as NodeJS.ErrnoException;
84
- if (error.code === 'ESRCH') return;
85
- logger.debug('Error sending SIGTERM to pid %d: %s', pid, error.message);
86
- }
87
-
88
- // Give it a moment to exit gracefully
89
- await new Promise((r) => setTimeout(r, 500));
90
-
91
- if (!pidExists(pid)) return;
92
-
93
- // Force kill
94
- try {
95
- process.kill(pid, 'SIGKILL');
96
- logger.debug('Sent SIGKILL to pid %d', pid);
97
- } catch (err: unknown) {
98
- const error = err as NodeJS.ErrnoException;
99
- if (error.code !== 'ESRCH') {
100
- logger.debug('Error sending SIGKILL to pid %d: %s', pid, error.message);
101
- }
102
- }
103
-
104
- // Wait for process to fully terminate
105
- await new Promise((r) => setTimeout(r, 100));
106
- }
107
-
108
- /**
109
- * Read an existing lockfile (if any)
110
- */
111
- async function readLock(lockPath: string, logger: LoggerLike): Promise<DevLockFileV1 | null> {
112
- if (!existsSync(lockPath)) return null;
113
- try {
114
- const raw = await fs.readFile(lockPath, 'utf8');
115
- const parsed = JSON.parse(raw);
116
- if (parsed && parsed.version === 1) return parsed as DevLockFileV1;
117
- } catch (err) {
118
- logger.warn('Failed to read/parse devserver.lock: %s', err);
119
- }
120
- return null;
121
- }
122
-
123
- /**
124
- * Remove lockfile if it exists
125
- */
126
- async function removeLock(lockPath: string, logger: LoggerLike): Promise<void> {
127
- try {
128
- await fs.unlink(lockPath);
129
- logger.debug('Removed devserver.lock');
130
- } catch (err: unknown) {
131
- const error = err as NodeJS.ErrnoException;
132
- if (error.code !== 'ENOENT') {
133
- logger.debug('Failed to remove devserver.lock: %s', error.message);
134
- }
135
- }
136
- }
137
-
138
- /**
139
- * Check if a port is in use by attempting to connect to it.
140
- * Uses GET instead of HEAD since some servers return 405 for HEAD requests.
141
- * Any response (including errors like 404, 500) means the port is in use.
142
- */
143
- async function isPortResponding(port: number): Promise<boolean> {
144
- try {
145
- const response = await fetch(`http://127.0.0.1:${port}/`, {
146
- method: 'GET',
147
- signal: AbortSignal.timeout(500),
148
- });
149
- // Consume body to avoid memory leaks
150
- await response.text().catch(() => {});
151
- return true;
152
- } catch (err: unknown) {
153
- // Connection refused (ECONNREFUSED) means nothing is listening
154
- // Other errors (timeout, reset) might indicate a busy port
155
- const error = err as Error & { cause?: { code?: string } };
156
- const code = error.cause?.code;
157
- if (code === 'ECONNREFUSED' || code === 'ECONNRESET') {
158
- return false;
159
- }
160
- // For other errors (like timeout), assume port might be in use but unresponsive
161
- return false;
162
- }
163
- }
164
-
165
- /**
166
- * Kill processes referenced by a stale lock, then remove the lock
167
- */
168
- async function cleanupStaleLock(
169
- rootDir: string,
170
- lock: DevLockFileV1,
171
- logger: LoggerLike
172
- ): Promise<void> {
173
- const lockPath = getLockPath(rootDir);
174
- logger.debug(
175
- 'Cleaning up stale devserver.lock (pid=%d, instance=%s)',
176
- lock.mainPid,
177
- lock.instanceId
178
- );
179
-
180
- // Collect all PIDs to kill (children first, then main)
181
- const childPids: number[] = [];
182
- for (const child of lock.children ?? []) {
183
- if (child.pid && child.pid !== lock.mainPid && child.pid !== process.pid) {
184
- childPids.push(child.pid);
185
- }
186
- }
187
-
188
- // Kill children first
189
- for (const pid of childPids) {
190
- await killPid(pid, logger);
191
- }
192
-
193
- // Kill main process if it's not us
194
- if (lock.mainPid !== process.pid) {
195
- await killPid(lock.mainPid, logger);
196
- }
197
-
198
- // Remove the stale lockfile
199
- await removeLock(lockPath, logger);
200
- }
201
-
202
- /**
203
- * Ensure there is no conflicting dev server for this project
204
- * Always cleans up any existing lock and kills associated processes
205
- */
206
- async function ensureNoActiveDevForProject(
207
- rootDir: string,
208
- _port: number,
209
- logger: LoggerLike
210
- ): Promise<void> {
211
- const lockPath = getLockPath(rootDir);
212
- const existing = await readLock(lockPath, logger);
213
- if (!existing) return;
214
-
215
- const now = Date.now();
216
- const createdAt = Date.parse(existing.createdAt || '');
217
- const ageMs = Number.isFinite(createdAt) ? now - createdAt : Infinity;
218
-
219
- const mainAlive = pidExists(existing.mainPid);
220
-
221
- // Check if the recorded Bun port is still responding
222
- let bunPortInUse = false;
223
- if (existing.ports?.bun) {
224
- bunPortInUse = await isPortResponding(existing.ports.bun);
225
- }
226
-
227
- logger.debug(
228
- 'Found existing lock (pid=%d, mainAlive=%s, bunPortInUse=%s, age=%dms) - cleaning up',
229
- existing.mainPid,
230
- mainAlive,
231
- bunPortInUse,
232
- ageMs
233
- );
234
-
235
- await cleanupStaleLock(rootDir, existing, logger);
236
- }
237
-
238
- /**
239
- * Initialize a new lock for the current dev run
240
- * This should be called after ensureNoActiveDevForProject has possibly cleaned stale state
241
- */
242
- async function initDevLock(
243
- rootDir: string,
244
- port: number,
245
- logger: LoggerLike
246
- ): Promise<DevLockManager> {
247
- const lockPath = getLockPath(rootDir);
248
- await fs.mkdir(dirname(lockPath), { recursive: true });
249
-
250
- const state: DevLockFileV1 = {
251
- version: 1,
252
- projectRoot: rootDir,
253
- mainPid: process.pid,
254
- instanceId: randomUUID(),
255
- createdAt: new Date().toISOString(),
256
- updatedAt: new Date().toISOString(),
257
- ports: { bun: port },
258
- children: [],
259
- };
260
-
261
- const writeLock = async () => {
262
- state.updatedAt = new Date().toISOString();
263
- await fs.writeFile(lockPath, JSON.stringify(state, null, 2), { encoding: 'utf8' });
264
- };
265
-
266
- await writeLock();
267
- logger.debug('Created devserver.lock (pid=%d, instance=%s)', state.mainPid, state.instanceId);
268
-
269
- const manager: DevLockManager = {
270
- state,
271
-
272
- async registerChild(child) {
273
- if (!child.pid) return;
274
- // Avoid duplicates
275
- if (state.children.some((c) => c.pid === child.pid)) return;
276
- state.children.push(child);
277
- await writeLock();
278
- logger.debug('Registered child process (pid=%d, type=%s)', child.pid, child.type);
279
- },
280
-
281
- async updatePorts(ports) {
282
- state.ports = { ...state.ports, ...ports };
283
- await writeLock();
284
- },
285
-
286
- async release() {
287
- await removeLock(lockPath, logger);
288
- },
289
- };
290
-
291
- return manager;
292
- }
293
-
294
- /**
295
- * Main entry point for dev lock management
296
- * Call this early in the dev command to:
297
- * 1. Clean up any stale processes from previous sessions
298
- * 2. Create a new lockfile for this session
299
- */
300
- export async function prepareDevLock(
301
- rootDir: string,
302
- port: number,
303
- logger: LoggerLike
304
- ): Promise<DevLockManager> {
305
- await ensureNoActiveDevForProject(rootDir, port, logger);
306
- return initDevLock(rootDir, port, logger);
307
- }
308
-
309
- /**
310
- * Utility to kill all processes in a lockfile by path
311
- * Useful for emergency cleanup without creating a new lock
312
- */
313
- export async function cleanupLockfile(rootDir: string, logger: LoggerLike): Promise<void> {
314
- const lockPath = getLockPath(rootDir);
315
- const existing = await readLock(lockPath, logger);
316
- if (existing) {
317
- await cleanupStaleLock(rootDir, existing, logger);
318
- }
319
- }
320
-
321
- /**
322
- * Synchronous lockfile removal for use in process.on('exit') handlers
323
- * Does not kill processes - just removes the file
324
- */
325
- export function releaseLockSync(rootDir: string): void {
326
- const lockPath = getLockPath(rootDir);
327
- try {
328
- unlinkSync(lockPath);
329
- } catch {
330
- // Ignore errors - file may already be gone
331
- }
332
- }
@@ -1,117 +0,0 @@
1
- import { randomUUID } from 'node:crypto';
2
- import { mkdirSync, rmSync, writeFileSync } from 'node:fs';
3
- import { tmpdir, platform } from 'node:os';
4
- import { join, dirname } from 'node:path';
5
- import * as tar from 'tar';
6
- import { StructuredError } from '@agentuity/core';
7
- import { spinner } from '../../tui';
8
-
9
- interface GravityClient {
10
- filename: string;
11
- version: string;
12
- }
13
-
14
- const GravityVersionError = StructuredError('GravityVersionError')<{
15
- status: number;
16
- statusText: string;
17
- }>();
18
- const GravityDownloadError = StructuredError('GravityDownloadError')<{
19
- status: number;
20
- statusText: string;
21
- }>();
22
- const GravityExtractionError = StructuredError('GravityExtractionError')<{
23
- path: string;
24
- }>();
25
-
26
- function getBaseURL(): string {
27
- return process.env.AGENTUITY_SH_URL || 'https://agentuity.sh';
28
- }
29
-
30
- /**
31
- *
32
- * @returns full path to the downloaded file
33
- */
34
- export async function download(gravityDir: string): Promise<GravityClient> {
35
- const baseURL = getBaseURL();
36
-
37
- // Step 1: Get the latest version from agentuity.sh
38
- const tag = (await spinner({
39
- message: 'Checking Agentuity Gravity',
40
- callback: async () => {
41
- const resp = await fetch(`${baseURL}/release/gravity/version`, {
42
- signal: AbortSignal.timeout(10_000),
43
- });
44
- if (!resp.ok) {
45
- throw new GravityVersionError({
46
- status: resp.status,
47
- statusText: resp.statusText,
48
- });
49
- }
50
- const text = (await resp.text()).trim();
51
- return text.startsWith('v') ? text : `v${text}`;
52
- },
53
- clearOnSuccess: true,
54
- })) as string;
55
-
56
- const version = tag.startsWith('v') ? tag.slice(1) : tag;
57
- const releaseFilename = join(gravityDir, version, 'gravity');
58
-
59
- // Step 2: Check if already downloaded
60
- if (await Bun.file(releaseFilename).exists()) {
61
- return { filename: releaseFilename, version };
62
- }
63
-
64
- // Step 3: Download the binary from agentuity.sh
65
- const os = platform();
66
- let arch: string = process.arch;
67
- if (arch === 'x64') {
68
- arch = 'x86_64';
69
- }
70
-
71
- const tmpFile = join(tmpdir(), `${randomUUID()}.tar.gz`);
72
-
73
- try {
74
- await spinner({
75
- message: `Downloading Gravity ${version}`,
76
- callback: async () => {
77
- const resp = await fetch(`${baseURL}/release/gravity/${tag}/${os}/${arch}`, {
78
- signal: AbortSignal.timeout(60_000),
79
- });
80
- if (!resp.ok) {
81
- throw new GravityDownloadError({
82
- status: resp.status,
83
- statusText: resp.statusText,
84
- });
85
- }
86
- const buffer = await resp.arrayBuffer();
87
- writeFileSync(tmpFile, Buffer.from(buffer));
88
- },
89
- clearOnSuccess: true,
90
- });
91
-
92
- // Step 4: Extract the tarball
93
- await spinner({
94
- message: 'Extracting release',
95
- callback: async () => {
96
- const downloadDir = dirname(releaseFilename);
97
- if (!(await Bun.file(downloadDir).exists())) {
98
- mkdirSync(downloadDir, { recursive: true });
99
- }
100
- await tar.x({ file: tmpFile, cwd: downloadDir, chmod: true });
101
- },
102
- clearOnSuccess: true,
103
- });
104
- } finally {
105
- // Clean up temp file regardless of success or failure
106
- if (await Bun.file(tmpFile).exists()) {
107
- rmSync(tmpFile);
108
- }
109
- }
110
-
111
- // Step 5: Verify the binary was extracted
112
- if (!(await Bun.file(releaseFilename).exists())) {
113
- throw new GravityExtractionError({ path: releaseFilename });
114
- }
115
-
116
- return { filename: releaseFilename, version };
117
- }