@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 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cmd/ai/prompt/index.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,aAAa,sCAiBxB,CAAC;AAEH,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cmd/ai/prompt/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,aAAa,sCAaxB,CAAC;AAEH,eAAe,aAAa,CAAC"}
@@ -1,26 +1,21 @@
1
1
  import { createCommand } from '../../../types';
2
2
  import { llmSubcommand } from './llm';
3
3
  import { apiSubcommand } from './api';
4
- import { agentSubcommand } from './agent';
5
4
  import { webSubcommand } from './web';
6
5
  import { getCommand } from '../../../command-prefix';
7
6
  export const promptCommand = createCommand({
8
7
  name: 'prompt',
9
- description: 'Generate prompts for LLMs and agents',
8
+ description: 'Generate prompts for LLMs',
10
9
  tags: ['read-only', 'fast'],
11
10
  examples: [
12
11
  { command: getCommand('ai prompt llm'), description: 'Generate LLM-specific prompt' },
13
- {
14
- command: getCommand('ai prompt agent'),
15
- description: 'Generate LLM-specific prompt for Agents',
16
- },
17
12
  {
18
13
  command: getCommand('ai prompt api'),
19
14
  description: 'Generate LLM-specific prompt for APIs',
20
15
  },
21
16
  { command: getCommand('ai prompt web'), description: 'Generate LLM-specific prompt for Web' },
22
17
  ],
23
- subcommands: [agentSubcommand, webSubcommand, llmSubcommand, apiSubcommand],
18
+ subcommands: [webSubcommand, llmSubcommand, apiSubcommand],
24
19
  });
25
20
  export default promptCommand;
26
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cmd/ai/prompt/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAC;IAC1C,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,sCAAsC;IACnD,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE;QACT,EAAE,OAAO,EAAE,UAAU,CAAC,eAAe,CAAC,EAAE,WAAW,EAAE,8BAA8B,EAAE;QACrF;YACC,OAAO,EAAE,UAAU,CAAC,iBAAiB,CAAC;YACtC,WAAW,EAAE,yCAAyC;SACtD;QACD;YACC,OAAO,EAAE,UAAU,CAAC,eAAe,CAAC;YACpC,WAAW,EAAE,uCAAuC;SACpD;QACD,EAAE,OAAO,EAAE,UAAU,CAAC,eAAe,CAAC,EAAE,WAAW,EAAE,sCAAsC,EAAE;KAC7F;IACD,WAAW,EAAE,CAAC,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC;CAC3E,CAAC,CAAC;AAEH,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cmd/ai/prompt/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAC;IAC1C,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,2BAA2B;IACxC,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE;QACT,EAAE,OAAO,EAAE,UAAU,CAAC,eAAe,CAAC,EAAE,WAAW,EAAE,8BAA8B,EAAE;QACrF;YACC,OAAO,EAAE,UAAU,CAAC,eAAe,CAAC;YACpC,WAAW,EAAE,uCAAuC;SACpD;QACD,EAAE,OAAO,EAAE,UAAU,CAAC,eAAe,CAAC,EAAE,WAAW,EAAE,sCAAsC,EAAE;KAC7F;IACD,WAAW,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC;CAC1D,CAAC,CAAC;AAEH,eAAe,aAAa,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Generic build adapter.
3
+ *
4
+ * Handles any JS framework by:
5
+ * 1. Installing dependencies
6
+ * 2. Running the project's build script
7
+ * 3. Copying the build output to the output directory
8
+ *
9
+ * This is the fallback for frameworks without a specific adapter,
10
+ * and is also the base logic that specific adapters build on.
11
+ */
12
+ import type { BuildAdapter } from './types';
13
+ /**
14
+ * Install dependencies using the detected package manager.
15
+ */
16
+ export declare function installDependencies(projectDir: string, packageManager: string, logger: {
17
+ debug: (...args: unknown[]) => void;
18
+ }): Promise<void>;
19
+ /**
20
+ * Run the framework's build command.
21
+ */
22
+ export declare function runBuildCommand(projectDir: string, buildCommand: string, packageManager: string, buildEnv?: Record<string, string>, logger?: {
23
+ debug: (...args: unknown[]) => void;
24
+ }): Promise<{
25
+ stdout: string;
26
+ stderr: string;
27
+ }>;
28
+ export declare const genericAdapter: BuildAdapter;
29
+ //# sourceMappingURL=generic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generic.d.ts","sourceRoot":"","sources":["../../../../src/cmd/build/adapters/generic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAoC,MAAM,SAAS,CAAC;AAgC9E;;GAEG;AACH,wBAAsB,mBAAmB,CACxC,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE;IAAE,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;CAAE,GAC7C,OAAO,CAAC,IAAI,CAAC,CAyBf;AAED;;GAEG;AACH,wBAAsB,eAAe,CACpC,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,EACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACjC,MAAM,CAAC,EAAE;IAAE,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;CAAE,GAC9C,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAqB7C;AAED,eAAO,MAAM,cAAc,EAAE,YA8H5B,CAAC"}
@@ -0,0 +1,190 @@
1
+ /**
2
+ * Generic build adapter.
3
+ *
4
+ * Handles any JS framework by:
5
+ * 1. Installing dependencies
6
+ * 2. Running the project's build script
7
+ * 3. Copying the build output to the output directory
8
+ *
9
+ * This is the fallback for frameworks without a specific adapter,
10
+ * and is also the base logic that specific adapters build on.
11
+ */
12
+ import { basename, join, resolve, relative } from 'node:path';
13
+ import { cpSync, existsSync, mkdirSync, readdirSync } from 'node:fs';
14
+ import { getRunCommand } from '../detect/util';
15
+ /**
16
+ * Run a shell command and return exit code.
17
+ */
18
+ async function runCommand(cmd, cwd, env) {
19
+ const proc = Bun.spawn(cmd, {
20
+ cwd,
21
+ env: { ...process.env, ...env },
22
+ stdout: 'pipe',
23
+ stderr: 'pipe',
24
+ });
25
+ const [stdout, stderr] = await Promise.all([
26
+ new Response(proc.stdout).text(),
27
+ new Response(proc.stderr).text(),
28
+ ]);
29
+ await proc.exited;
30
+ return {
31
+ exitCode: proc.exitCode ?? 1,
32
+ stdout,
33
+ stderr,
34
+ };
35
+ }
36
+ /**
37
+ * Install dependencies using the detected package manager.
38
+ */
39
+ export async function installDependencies(projectDir, packageManager, logger) {
40
+ let cmd;
41
+ switch (packageManager) {
42
+ case 'bun':
43
+ cmd = ['bun', 'install'];
44
+ break;
45
+ case 'pnpm':
46
+ cmd = ['pnpm', 'install', '--frozen-lockfile'];
47
+ break;
48
+ case 'yarn':
49
+ cmd = ['yarn', 'install', '--frozen-lockfile'];
50
+ break;
51
+ default:
52
+ cmd = ['npm', 'ci'];
53
+ break;
54
+ }
55
+ logger.debug(`Installing dependencies with: ${cmd.join(' ')}`);
56
+ const result = await runCommand(cmd, projectDir);
57
+ if (result.exitCode !== 0) {
58
+ throw new Error(`Dependency installation failed (exit ${result.exitCode}):\n${result.stderr}`);
59
+ }
60
+ }
61
+ /**
62
+ * Run the framework's build command.
63
+ */
64
+ export async function runBuildCommand(projectDir, buildCommand, packageManager, buildEnv, logger) {
65
+ // If it's a package.json script name, use the package manager's run command
66
+ // If it contains spaces or special chars, it's likely a direct command
67
+ const isScriptName = /^[a-zA-Z0-9_:-]+$/.test(buildCommand);
68
+ let cmd;
69
+ if (isScriptName && buildCommand !== '__agentuity_internal__') {
70
+ const runCmd = getRunCommand(packageManager);
71
+ cmd = runCmd.split(' ').concat(buildCommand);
72
+ }
73
+ else {
74
+ cmd = ['sh', '-c', buildCommand];
75
+ }
76
+ logger?.debug(`Running build command: ${cmd.join(' ')}`);
77
+ const result = await runCommand(cmd, projectDir, buildEnv);
78
+ if (result.exitCode !== 0) {
79
+ throw new Error(`Build failed (exit ${result.exitCode}):\n${result.stderr || result.stdout}`);
80
+ }
81
+ return { stdout: result.stdout, stderr: result.stderr };
82
+ }
83
+ export const genericAdapter = {
84
+ name: 'generic',
85
+ async build(options) {
86
+ const { projectDir, framework, outputDir, logger } = options;
87
+ const started = Date.now();
88
+ const logs = [];
89
+ // Step 1: Install dependencies
90
+ logger.debug('Installing dependencies...');
91
+ const installStart = Date.now();
92
+ await installDependencies(projectDir, framework.packageManager, logger);
93
+ logs.push(`✓ Dependencies installed in ${Date.now() - installStart}ms`);
94
+ // Step 2: Run the build command
95
+ if (framework.buildCommand && framework.buildCommand !== '__agentuity_internal__') {
96
+ logger.debug(`Running build: ${framework.buildCommand}`);
97
+ const buildStart = Date.now();
98
+ await runBuildCommand(projectDir, framework.buildCommand, framework.packageManager, framework.buildEnv, logger);
99
+ logs.push(`✓ Build completed in ${Date.now() - buildStart}ms`);
100
+ }
101
+ // Step 3: Copy build output to output directory
102
+ const buildOutputPath = resolve(projectDir, framework.buildOutput);
103
+ const resolvedOutputDir = resolve(outputDir);
104
+ // Copy build output to the output directory when they differ.
105
+ // When buildOutput is '.' (project root), the output dir is a subdirectory
106
+ // of the source, so we iterate entries to avoid cpSync's self-copy check.
107
+ const shouldCopy = existsSync(buildOutputPath) && buildOutputPath !== resolvedOutputDir;
108
+ if (shouldCopy) {
109
+ logger.debug(`Copying build output from ${buildOutputPath} to ${resolvedOutputDir}`);
110
+ mkdirSync(resolvedOutputDir, { recursive: true });
111
+ // Skip directories that shouldn't be deployed
112
+ const skipEntries = new Set([
113
+ 'node_modules',
114
+ '.git',
115
+ '.env',
116
+ basename(resolvedOutputDir), // e.g., '.agentuity'
117
+ ]);
118
+ const entries = readdirSync(buildOutputPath);
119
+ for (const entry of entries) {
120
+ if (skipEntries.has(entry))
121
+ continue;
122
+ const srcPath = join(buildOutputPath, entry);
123
+ const dstPath = join(resolvedOutputDir, entry);
124
+ cpSync(srcPath, dstPath, { recursive: true });
125
+ }
126
+ }
127
+ else {
128
+ // Ensure output dir exists even when we skip the copy
129
+ mkdirSync(resolvedOutputDir, { recursive: true });
130
+ }
131
+ // Step 4: Determine start command — inject static file server if none exists
132
+ let { startCommand, serverEntry } = framework;
133
+ if (!startCommand) {
134
+ // No start command (static-only build) — inject a minimal file server
135
+ const { injectStaticServer } = await import('./static-server');
136
+ const injected = injectStaticServer(outputDir);
137
+ startCommand = injected.startCommand;
138
+ serverEntry = injected.serverEntry;
139
+ logs.push('✓ Injected static file server (no start script found)');
140
+ }
141
+ // Step 5: Copy package.json and node_modules for runtime
142
+ const pkgJsonSrc = join(projectDir, 'package.json');
143
+ const pkgJsonDst = join(outputDir, 'package.json');
144
+ if (existsSync(pkgJsonSrc) && !existsSync(pkgJsonDst)) {
145
+ cpSync(pkgJsonSrc, pkgJsonDst);
146
+ }
147
+ const nodeModulesSrc = join(projectDir, 'node_modules');
148
+ const nodeModulesDst = join(outputDir, 'node_modules');
149
+ if (existsSync(nodeModulesSrc) && !existsSync(nodeModulesDst)) {
150
+ logger.debug('Copying node_modules for runtime dependencies...');
151
+ cpSync(nodeModulesSrc, nodeModulesDst, { recursive: true });
152
+ }
153
+ // Step 6: Resolve static asset directory for CDN upload
154
+ // staticDir is relative to the project root (set by framework detection).
155
+ // If it matches buildOutput, the files are already in outputDir from the copy.
156
+ // Otherwise, copy the static assets into the output so deploy can find them.
157
+ let resolvedStaticDir;
158
+ if (framework.staticDir) {
159
+ const staticSrcPath = resolve(projectDir, framework.staticDir);
160
+ const buildOutputPath = resolve(projectDir, framework.buildOutput);
161
+ // Check if the static dir is inside the build output (already copied)
162
+ if (staticSrcPath.startsWith(buildOutputPath + '/') || staticSrcPath === buildOutputPath) {
163
+ // Static assets are within the copied build output
164
+ const relativeToOutput = relative(buildOutputPath, staticSrcPath);
165
+ resolvedStaticDir = relativeToOutput
166
+ ? join(resolvedOutputDir, relativeToOutput)
167
+ : resolvedOutputDir;
168
+ }
169
+ else if (existsSync(staticSrcPath)) {
170
+ // Static assets are outside the build output — copy them into the output
171
+ const staticDstPath = join(resolvedOutputDir, framework.staticDir);
172
+ logger.debug(`Copying static assets from ${staticSrcPath} to ${staticDstPath}`);
173
+ mkdirSync(staticDstPath, { recursive: true });
174
+ cpSync(staticSrcPath, staticDstPath, { recursive: true });
175
+ resolvedStaticDir = staticDstPath;
176
+ logs.push(`✓ Copied static assets from ${framework.staticDir}`);
177
+ }
178
+ }
179
+ return {
180
+ outputDir,
181
+ startCommand,
182
+ serverEntry,
183
+ staticDir: resolvedStaticDir && existsSync(resolvedStaticDir) ? resolvedStaticDir : undefined,
184
+ port: framework.port,
185
+ duration: Date.now() - started,
186
+ logs,
187
+ };
188
+ },
189
+ };
190
+ //# sourceMappingURL=generic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generic.js","sourceRoot":"","sources":["../../../../src/cmd/build/adapters/generic.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Build Adapter Registry
3
+ *
4
+ * Maps detected framework names to their build adapters.
5
+ * Specific adapters handle framework-specific concerns (e.g., Next.js standalone mode).
6
+ * Frameworks without a specific adapter fall through to the generic adapter.
7
+ */
8
+ import type { BuildAdapter } from './types';
9
+ /**
10
+ * Get the build adapter for a detected framework.
11
+ * Falls back to the generic adapter if no specific one exists.
12
+ */
13
+ export declare function getAdapter(frameworkName: string): BuildAdapter;
14
+ export type { BuildAdapter, BuildAdapterOptions, BuildResult } from './types';
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cmd/build/adapters/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAY5C;;;GAGG;AACH,wBAAgB,UAAU,CAAC,aAAa,EAAE,MAAM,GAAG,YAAY,CAE9D;AAGD,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Build Adapter Registry
3
+ *
4
+ * Maps detected framework names to their build adapters.
5
+ * Specific adapters handle framework-specific concerns (e.g., Next.js standalone mode).
6
+ * Frameworks without a specific adapter fall through to the generic adapter.
7
+ */
8
+ import { genericAdapter } from './generic';
9
+ import { nextjsAdapter } from './nextjs';
10
+ /**
11
+ * Registry of framework-specific build adapters.
12
+ * Frameworks not in this map use the generic adapter.
13
+ */
14
+ const adapters = {
15
+ nextjs: nextjsAdapter,
16
+ };
17
+ /**
18
+ * Get the build adapter for a detected framework.
19
+ * Falls back to the generic adapter if no specific one exists.
20
+ */
21
+ export function getAdapter(frameworkName) {
22
+ return adapters[frameworkName] ?? genericAdapter;
23
+ }
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cmd/build/adapters/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC;;;GAGG;AACH,MAAM,QAAQ,GAAiC;IAC9C,MAAM,EAAE,aAAa;CACrB,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,aAAqB;IAC/C,OAAO,QAAQ,CAAC,aAAa,CAAC,IAAI,cAAc,CAAC;AAClD,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Next.js build adapter.
3
+ *
4
+ * Handles Next.js-specific build concerns:
5
+ * 1. Ensures standalone output mode is configured
6
+ * 2. Copies the standalone directory + static assets to output
7
+ * 3. Sets up the correct start command
8
+ */
9
+ import type { BuildAdapter } from './types';
10
+ export declare const nextjsAdapter: BuildAdapter;
11
+ //# sourceMappingURL=nextjs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nextjs.d.ts","sourceRoot":"","sources":["../../../../src/cmd/build/adapters/nextjs.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAoC,MAAM,SAAS,CAAC;AAiB9E,eAAO,MAAM,aAAa,EAAE,YA0G3B,CAAC"}
@@ -0,0 +1,118 @@
1
+ /**
2
+ * Next.js build adapter.
3
+ *
4
+ * Handles Next.js-specific build concerns:
5
+ * 1. Ensures standalone output mode is configured
6
+ * 2. Copies the standalone directory + static assets to output
7
+ * 3. Sets up the correct start command
8
+ */
9
+ import { join } from 'node:path';
10
+ import { cpSync, existsSync, mkdirSync, readFileSync } from 'node:fs';
11
+ import { installDependencies, runBuildCommand } from './generic';
12
+ /**
13
+ * Ensure next.config has output: 'standalone'.
14
+ *
15
+ * Rather than modifying the user's config file, we set the NEXT_OUTPUT env var
16
+ * which can be read in next.config.js, or we check if standalone is already configured.
17
+ * As a fallback, we also set the experimental config via env.
18
+ */
19
+ function getNextBuildEnv() {
20
+ return {
21
+ // Signal to the build that we want standalone output
22
+ NEXT_PRIVATE_STANDALONE: 'true',
23
+ };
24
+ }
25
+ export const nextjsAdapter = {
26
+ name: 'nextjs',
27
+ async build(options) {
28
+ const { projectDir, framework, outputDir, logger } = options;
29
+ const started = Date.now();
30
+ const logs = [];
31
+ // Step 1: Install dependencies
32
+ logger.debug('Installing dependencies...');
33
+ const installStart = Date.now();
34
+ await installDependencies(projectDir, framework.packageManager, logger);
35
+ logs.push(`✓ Dependencies installed in ${Date.now() - installStart}ms`);
36
+ // Step 2: Check if standalone mode is configured
37
+ const nextConfigPath = await findNextConfig(projectDir);
38
+ let standaloneConfigured = false;
39
+ if (nextConfigPath) {
40
+ const content = readFileSync(nextConfigPath, 'utf-8');
41
+ standaloneConfigured =
42
+ content.includes("'standalone'") || content.includes('"standalone"');
43
+ }
44
+ if (!standaloneConfigured) {
45
+ logger.debug('Standalone output not detected in next.config — setting NEXT_PRIVATE_STANDALONE=true');
46
+ }
47
+ // Step 3: Run the build with standalone env
48
+ const buildEnv = {
49
+ ...framework.buildEnv,
50
+ ...getNextBuildEnv(),
51
+ };
52
+ logger.debug(`Running Next.js build: ${framework.buildCommand}`);
53
+ const buildStart = Date.now();
54
+ await runBuildCommand(projectDir, framework.buildCommand, framework.packageManager, buildEnv, logger);
55
+ logs.push(`✓ Next.js build completed in ${Date.now() - buildStart}ms`);
56
+ // Step 4: Package the standalone output
57
+ mkdirSync(outputDir, { recursive: true });
58
+ const standalonePath = join(projectDir, '.next', 'standalone');
59
+ const staticPath = join(projectDir, '.next', 'static');
60
+ const publicPath = join(projectDir, 'public');
61
+ if (existsSync(standalonePath)) {
62
+ // Copy standalone server
63
+ logger.debug('Copying standalone server...');
64
+ cpSync(standalonePath, outputDir, { recursive: true });
65
+ // Copy static assets into .next/static within the output
66
+ if (existsSync(staticPath)) {
67
+ const staticDst = join(outputDir, '.next', 'static');
68
+ mkdirSync(staticDst, { recursive: true });
69
+ cpSync(staticPath, staticDst, { recursive: true });
70
+ }
71
+ // Copy public assets
72
+ if (existsSync(publicPath)) {
73
+ const publicDst = join(outputDir, 'public');
74
+ mkdirSync(publicDst, { recursive: true });
75
+ cpSync(publicPath, publicDst, { recursive: true });
76
+ }
77
+ logs.push('✓ Standalone output packaged');
78
+ }
79
+ else {
80
+ // Fallback: copy the whole .next directory
81
+ logger.debug('No standalone output found — copying full .next directory');
82
+ const nextDst = join(outputDir, '.next');
83
+ cpSync(join(projectDir, '.next'), nextDst, { recursive: true });
84
+ // Copy package.json and node_modules
85
+ cpSync(join(projectDir, 'package.json'), join(outputDir, 'package.json'));
86
+ if (existsSync(join(projectDir, 'node_modules'))) {
87
+ cpSync(join(projectDir, 'node_modules'), join(outputDir, 'node_modules'), {
88
+ recursive: true,
89
+ });
90
+ }
91
+ logs.push('⚠ No standalone output — using full build (consider enabling standalone mode)');
92
+ }
93
+ // Determine start command based on what we have
94
+ const hasStandalone = existsSync(join(outputDir, 'server.js'));
95
+ const startCommand = hasStandalone ? 'node server.js' : 'node node_modules/.bin/next start';
96
+ return {
97
+ outputDir,
98
+ startCommand,
99
+ serverEntry: hasStandalone ? 'server.js' : undefined,
100
+ staticDir: existsSync(join(outputDir, '.next', 'static'))
101
+ ? join(outputDir, '.next', 'static')
102
+ : undefined,
103
+ port: framework.port ?? 3000,
104
+ duration: Date.now() - started,
105
+ logs,
106
+ };
107
+ },
108
+ };
109
+ async function findNextConfig(projectDir) {
110
+ const candidates = ['next.config.js', 'next.config.mjs', 'next.config.ts', 'next.config.cjs'];
111
+ for (const name of candidates) {
112
+ const path = join(projectDir, name);
113
+ if (existsSync(path))
114
+ return path;
115
+ }
116
+ return null;
117
+ }
118
+ //# sourceMappingURL=nextjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nextjs.js","sourceRoot":"","sources":["../../../../src/cmd/build/adapters/nextjs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Static file server injector.
3
+ *
4
+ * When a framework has no start command (e.g., static-only builds from
5
+ * Vite SPA, Gatsby, Eleventy), this module injects a minimal file server
6
+ * so there's always a valid start command in launch.json.
7
+ *
8
+ * The server is a small Node.js http script that:
9
+ * - Serves files from the build output directory
10
+ * - Returns index.html for non-file routes (SPA support)
11
+ * - Sets appropriate cache headers
12
+ */
13
+ /**
14
+ * Inject a static file server into the build output directory.
15
+ *
16
+ * @param outputDir - Absolute path to the build output
17
+ * @returns The start command for the injected server
18
+ */
19
+ export declare function injectStaticServer(outputDir: string): {
20
+ startCommand: string;
21
+ serverEntry: string;
22
+ };
23
+ //# sourceMappingURL=static-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static-server.d.ts","sourceRoot":"","sources":["../../../../src/cmd/build/adapters/static-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAiHH;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG;IACtD,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACpB,CASA"}
@@ -0,0 +1,137 @@
1
+ /**
2
+ * Static file server injector.
3
+ *
4
+ * When a framework has no start command (e.g., static-only builds from
5
+ * Vite SPA, Gatsby, Eleventy), this module injects a minimal file server
6
+ * so there's always a valid start command in launch.json.
7
+ *
8
+ * The server is a small Node.js http script that:
9
+ * - Serves files from the build output directory
10
+ * - Returns index.html for non-file routes (SPA support)
11
+ * - Sets appropriate cache headers
12
+ */
13
+ import { join } from 'node:path';
14
+ import { writeFileSync, mkdirSync } from 'node:fs';
15
+ /**
16
+ * The static server script, inlined as a string.
17
+ * Uses Bun.serve which is available in the deployment runtime.
18
+ * Falls back to a Node.js http server if Bun is not available.
19
+ */
20
+ const STATIC_SERVER_SCRIPT = `#!/usr/bin/env node
21
+ /**
22
+ * Minimal static file server — auto-generated by Agentuity build.
23
+ * Serves files from the current directory with SPA fallback.
24
+ */
25
+ const path = require('path');
26
+ const fs = require('fs');
27
+ const http = require('http');
28
+
29
+ const PORT = parseInt(process.env.PORT || '3000', 10);
30
+ const ROOT = __dirname;
31
+
32
+ const MIME_TYPES = {
33
+ '.html': 'text/html',
34
+ '.js': 'application/javascript',
35
+ '.css': 'text/css',
36
+ '.json': 'application/json',
37
+ '.png': 'image/png',
38
+ '.jpg': 'image/jpeg',
39
+ '.jpeg': 'image/jpeg',
40
+ '.gif': 'image/gif',
41
+ '.svg': 'image/svg+xml',
42
+ '.ico': 'image/x-icon',
43
+ '.webp': 'image/webp',
44
+ '.avif': 'image/avif',
45
+ '.woff': 'font/woff',
46
+ '.woff2': 'font/woff2',
47
+ '.ttf': 'font/ttf',
48
+ '.otf': 'font/otf',
49
+ '.map': 'application/json',
50
+ '.txt': 'text/plain',
51
+ '.xml': 'application/xml',
52
+ '.webmanifest': 'application/manifest+json',
53
+ };
54
+
55
+ function getMimeType(filePath) {
56
+ const ext = path.extname(filePath).toLowerCase();
57
+ return MIME_TYPES[ext] || 'application/octet-stream';
58
+ }
59
+
60
+ function isImmutableAsset(filePath) {
61
+ // Hashed assets from bundlers (e.g., main-abc123.js)
62
+ return /\\.[a-f0-9]{8,}\\./i.test(filePath);
63
+ }
64
+
65
+ const server = http.createServer((req, res) => {
66
+ const url = new URL(req.url, \`http://localhost:\${PORT}\`);
67
+ let filePath = path.join(ROOT, url.pathname);
68
+
69
+ // Security: prevent directory traversal
70
+ if (!filePath.startsWith(ROOT)) {
71
+ res.writeHead(403);
72
+ res.end('Forbidden');
73
+ return;
74
+ }
75
+
76
+ // Try to serve the exact file
77
+ if (fs.existsSync(filePath) && fs.statSync(filePath).isFile()) {
78
+ const content = fs.readFileSync(filePath);
79
+ const mime = getMimeType(filePath);
80
+ const headers = { 'Content-Type': mime };
81
+
82
+ // Immutable caching for hashed assets
83
+ if (isImmutableAsset(filePath)) {
84
+ headers['Cache-Control'] = 'public, max-age=31536000, immutable';
85
+ } else {
86
+ headers['Cache-Control'] = 'public, max-age=0, must-revalidate';
87
+ }
88
+
89
+ res.writeHead(200, headers);
90
+ res.end(content);
91
+ return;
92
+ }
93
+
94
+ // Try index.html in the directory
95
+ if (fs.existsSync(filePath) && fs.statSync(filePath).isDirectory()) {
96
+ const indexPath = path.join(filePath, 'index.html');
97
+ if (fs.existsSync(indexPath)) {
98
+ const content = fs.readFileSync(indexPath);
99
+ res.writeHead(200, { 'Content-Type': 'text/html', 'Cache-Control': 'public, max-age=0, must-revalidate' });
100
+ res.end(content);
101
+ return;
102
+ }
103
+ }
104
+
105
+ // SPA fallback: serve root index.html for non-file routes
106
+ const indexPath = path.join(ROOT, 'index.html');
107
+ if (fs.existsSync(indexPath)) {
108
+ const content = fs.readFileSync(indexPath);
109
+ res.writeHead(200, { 'Content-Type': 'text/html', 'Cache-Control': 'public, max-age=0, must-revalidate' });
110
+ res.end(content);
111
+ return;
112
+ }
113
+
114
+ res.writeHead(404);
115
+ res.end('Not Found');
116
+ });
117
+
118
+ server.listen(PORT, () => {
119
+ console.log(\`Static server listening on port \${PORT}\`);
120
+ });
121
+ `;
122
+ /**
123
+ * Inject a static file server into the build output directory.
124
+ *
125
+ * @param outputDir - Absolute path to the build output
126
+ * @returns The start command for the injected server
127
+ */
128
+ export function injectStaticServer(outputDir) {
129
+ mkdirSync(outputDir, { recursive: true });
130
+ const serverPath = join(outputDir, '_serve.js');
131
+ writeFileSync(serverPath, STATIC_SERVER_SCRIPT, 'utf-8');
132
+ return {
133
+ startCommand: 'node _serve.js',
134
+ serverEntry: '_serve.js',
135
+ };
136
+ }
137
+ //# sourceMappingURL=static-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static-server.js","sourceRoot":"","sources":["../../../../src/cmd/build/adapters/static-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEnD;;;;GAIG;AACH,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqG5B,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAInD,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAChD,aAAa,CAAC,UAAU,EAAE,oBAAoB,EAAE,OAAO,CAAC,CAAC;IAEzD,OAAO;QACN,YAAY,EAAE,gBAAgB;QAC9B,WAAW,EAAE,WAAW;KACxB,CAAC;AACH,CAAC"}