@agentuity/cli 0.0.100 → 0.0.102

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 (264) hide show
  1. package/AGENTS.md +19 -188
  2. package/bin/cli.ts +13 -6
  3. package/dist/api.d.ts +1 -0
  4. package/dist/api.d.ts.map +1 -1
  5. package/dist/api.js +1 -1
  6. package/dist/api.js.map +1 -1
  7. package/dist/cli.d.ts.map +1 -1
  8. package/dist/cli.js +41 -12
  9. package/dist/cli.js.map +1 -1
  10. package/dist/cmd/ai/index.d.ts.map +1 -1
  11. package/dist/cmd/ai/index.js +6 -1
  12. package/dist/cmd/ai/index.js.map +1 -1
  13. package/dist/cmd/ai/prompt/agent.d.ts +7 -0
  14. package/dist/cmd/ai/prompt/agent.d.ts.map +1 -1
  15. package/dist/cmd/ai/prompt/agent.js +12 -323
  16. package/dist/cmd/ai/prompt/agent.js.map +1 -1
  17. package/dist/cmd/ai/prompt/api.d.ts +7 -0
  18. package/dist/cmd/ai/prompt/api.d.ts.map +1 -1
  19. package/dist/cmd/ai/prompt/api.js +12 -260
  20. package/dist/cmd/ai/prompt/api.js.map +1 -1
  21. package/dist/cmd/ai/prompt/version.d.ts +35 -0
  22. package/dist/cmd/ai/prompt/version.d.ts.map +1 -0
  23. package/dist/cmd/ai/prompt/version.js +55 -0
  24. package/dist/cmd/ai/prompt/version.js.map +1 -0
  25. package/dist/cmd/ai/prompt/web.d.ts +7 -0
  26. package/dist/cmd/ai/prompt/web.d.ts.map +1 -1
  27. package/dist/cmd/ai/prompt/web.js +12 -283
  28. package/dist/cmd/ai/prompt/web.js.map +1 -1
  29. package/dist/cmd/ai/skills/generate.d.ts +3 -0
  30. package/dist/cmd/ai/skills/generate.d.ts.map +1 -0
  31. package/dist/cmd/ai/skills/generate.js +65 -0
  32. package/dist/cmd/ai/skills/generate.js.map +1 -0
  33. package/dist/cmd/ai/skills/generator.d.ts +4 -0
  34. package/dist/cmd/ai/skills/generator.d.ts.map +1 -0
  35. package/dist/cmd/ai/skills/generator.js +402 -0
  36. package/dist/cmd/ai/skills/generator.js.map +1 -0
  37. package/dist/cmd/ai/skills/index.d.ts +4 -0
  38. package/dist/cmd/ai/skills/index.d.ts.map +1 -0
  39. package/dist/cmd/ai/skills/index.js +21 -0
  40. package/dist/cmd/ai/skills/index.js.map +1 -0
  41. package/dist/cmd/auth/signup.d.ts.map +1 -1
  42. package/dist/cmd/auth/signup.js +1 -0
  43. package/dist/cmd/auth/signup.js.map +1 -1
  44. package/dist/cmd/build/ast.d.ts +2 -1
  45. package/dist/cmd/build/ast.d.ts.map +1 -1
  46. package/dist/cmd/build/ast.js +135 -47
  47. package/dist/cmd/build/ast.js.map +1 -1
  48. package/dist/cmd/build/entry-generator.d.ts.map +1 -1
  49. package/dist/cmd/build/entry-generator.js +255 -188
  50. package/dist/cmd/build/entry-generator.js.map +1 -1
  51. package/dist/cmd/build/vite/agent-discovery.d.ts.map +1 -1
  52. package/dist/cmd/build/vite/agent-discovery.js +103 -45
  53. package/dist/cmd/build/vite/agent-discovery.js.map +1 -1
  54. package/dist/cmd/build/vite/bun-dev-server.d.ts +7 -1
  55. package/dist/cmd/build/vite/bun-dev-server.d.ts.map +1 -1
  56. package/dist/cmd/build/vite/bun-dev-server.js +52 -26
  57. package/dist/cmd/build/vite/bun-dev-server.js.map +1 -1
  58. package/dist/cmd/build/vite/docs-generator.d.ts +13 -0
  59. package/dist/cmd/build/vite/docs-generator.d.ts.map +1 -0
  60. package/dist/cmd/build/vite/docs-generator.js +81 -0
  61. package/dist/cmd/build/vite/docs-generator.js.map +1 -0
  62. package/dist/cmd/build/vite/index.d.ts +3 -3
  63. package/dist/cmd/build/vite/index.d.ts.map +1 -1
  64. package/dist/cmd/build/vite/index.js +9 -7
  65. package/dist/cmd/build/vite/index.js.map +1 -1
  66. package/dist/cmd/build/vite/lifecycle-generator.d.ts +1 -1
  67. package/dist/cmd/build/vite/lifecycle-generator.d.ts.map +1 -1
  68. package/dist/cmd/build/vite/lifecycle-generator.js +19 -5
  69. package/dist/cmd/build/vite/lifecycle-generator.js.map +1 -1
  70. package/dist/cmd/build/vite/metadata-generator.d.ts.map +1 -1
  71. package/dist/cmd/build/vite/metadata-generator.js +203 -7
  72. package/dist/cmd/build/vite/metadata-generator.js.map +1 -1
  73. package/dist/cmd/build/vite/prompt-generator.d.ts +23 -0
  74. package/dist/cmd/build/vite/prompt-generator.d.ts.map +1 -0
  75. package/dist/cmd/build/vite/prompt-generator.js +123 -0
  76. package/dist/cmd/build/vite/prompt-generator.js.map +1 -0
  77. package/dist/cmd/build/vite/registry-generator.d.ts +3 -3
  78. package/dist/cmd/build/vite/registry-generator.d.ts.map +1 -1
  79. package/dist/cmd/build/vite/registry-generator.js +644 -103
  80. package/dist/cmd/build/vite/registry-generator.js.map +1 -1
  81. package/dist/cmd/build/vite/route-discovery.d.ts +4 -0
  82. package/dist/cmd/build/vite/route-discovery.d.ts.map +1 -1
  83. package/dist/cmd/build/vite/route-discovery.js.map +1 -1
  84. package/dist/cmd/build/vite/server-bundler.d.ts +4 -0
  85. package/dist/cmd/build/vite/server-bundler.d.ts.map +1 -1
  86. package/dist/cmd/build/vite/server-bundler.js +63 -17
  87. package/dist/cmd/build/vite/server-bundler.js.map +1 -1
  88. package/dist/cmd/build/vite/vite-asset-server-config.d.ts.map +1 -1
  89. package/dist/cmd/build/vite/vite-asset-server-config.js +4 -0
  90. package/dist/cmd/build/vite/vite-asset-server-config.js.map +1 -1
  91. package/dist/cmd/build/vite/vite-builder.d.ts +1 -1
  92. package/dist/cmd/build/vite/vite-builder.d.ts.map +1 -1
  93. package/dist/cmd/build/vite/vite-builder.js +118 -96
  94. package/dist/cmd/build/vite/vite-builder.js.map +1 -1
  95. package/dist/cmd/build/vite-bundler.js +6 -6
  96. package/dist/cmd/build/vite-bundler.js.map +1 -1
  97. package/dist/cmd/cloud/deploy.d.ts.map +1 -1
  98. package/dist/cmd/cloud/deploy.js +89 -32
  99. package/dist/cmd/cloud/deploy.js.map +1 -1
  100. package/dist/cmd/cloud/keyvalue/create-namespace.d.ts.map +1 -1
  101. package/dist/cmd/cloud/keyvalue/create-namespace.js +3 -1
  102. package/dist/cmd/cloud/keyvalue/create-namespace.js.map +1 -1
  103. package/dist/cmd/cloud/keyvalue/delete-namespace.d.ts.map +1 -1
  104. package/dist/cmd/cloud/keyvalue/delete-namespace.js +3 -1
  105. package/dist/cmd/cloud/keyvalue/delete-namespace.js.map +1 -1
  106. package/dist/cmd/cloud/keyvalue/delete.d.ts.map +1 -1
  107. package/dist/cmd/cloud/keyvalue/delete.js +3 -1
  108. package/dist/cmd/cloud/keyvalue/delete.js.map +1 -1
  109. package/dist/cmd/cloud/keyvalue/set.d.ts.map +1 -1
  110. package/dist/cmd/cloud/keyvalue/set.js +4 -2
  111. package/dist/cmd/cloud/keyvalue/set.js.map +1 -1
  112. package/dist/cmd/cloud/stream/get.d.ts.map +1 -1
  113. package/dist/cmd/cloud/stream/get.js +2 -13
  114. package/dist/cmd/cloud/stream/get.js.map +1 -1
  115. package/dist/cmd/cloud/vector/delete-namespace.d.ts +3 -0
  116. package/dist/cmd/cloud/vector/delete-namespace.d.ts.map +1 -0
  117. package/dist/cmd/cloud/vector/delete-namespace.js +77 -0
  118. package/dist/cmd/cloud/vector/delete-namespace.js.map +1 -0
  119. package/dist/cmd/cloud/vector/index.d.ts.map +1 -1
  120. package/dist/cmd/cloud/vector/index.js +21 -4
  121. package/dist/cmd/cloud/vector/index.js.map +1 -1
  122. package/dist/cmd/cloud/vector/list-namespaces.d.ts +3 -0
  123. package/dist/cmd/cloud/vector/list-namespaces.d.ts.map +1 -0
  124. package/dist/cmd/cloud/vector/list-namespaces.js +42 -0
  125. package/dist/cmd/cloud/vector/list-namespaces.js.map +1 -0
  126. package/dist/cmd/cloud/vector/stats.d.ts +3 -0
  127. package/dist/cmd/cloud/vector/stats.d.ts.map +1 -0
  128. package/dist/cmd/cloud/vector/stats.js +142 -0
  129. package/dist/cmd/cloud/vector/stats.js.map +1 -0
  130. package/dist/cmd/cloud/vector/upsert.d.ts +3 -0
  131. package/dist/cmd/cloud/vector/upsert.d.ts.map +1 -0
  132. package/dist/cmd/cloud/vector/upsert.js +192 -0
  133. package/dist/cmd/cloud/vector/upsert.js.map +1 -0
  134. package/dist/cmd/dev/file-watcher.d.ts.map +1 -1
  135. package/dist/cmd/dev/file-watcher.js +94 -33
  136. package/dist/cmd/dev/file-watcher.js.map +1 -1
  137. package/dist/cmd/dev/index.d.ts.map +1 -1
  138. package/dist/cmd/dev/index.js +298 -61
  139. package/dist/cmd/dev/index.js.map +1 -1
  140. package/dist/cmd/dev/skills.d.ts +10 -0
  141. package/dist/cmd/dev/skills.d.ts.map +1 -0
  142. package/dist/cmd/dev/skills.js +57 -0
  143. package/dist/cmd/dev/skills.js.map +1 -0
  144. package/dist/cmd/dev/sync.d.ts.map +1 -1
  145. package/dist/cmd/dev/sync.js +19 -3
  146. package/dist/cmd/dev/sync.js.map +1 -1
  147. package/dist/cmd/index.d.ts.map +1 -1
  148. package/dist/cmd/index.js +1 -0
  149. package/dist/cmd/index.js.map +1 -1
  150. package/dist/cmd/project/create.d.ts.map +1 -1
  151. package/dist/cmd/project/create.js +3 -0
  152. package/dist/cmd/project/create.js.map +1 -1
  153. package/dist/cmd/project/template-flow.d.ts +1 -0
  154. package/dist/cmd/project/template-flow.d.ts.map +1 -1
  155. package/dist/cmd/project/template-flow.js +30 -5
  156. package/dist/cmd/project/template-flow.js.map +1 -1
  157. package/dist/cmd/setup/index.d.ts.map +1 -1
  158. package/dist/cmd/setup/index.js +1 -0
  159. package/dist/cmd/setup/index.js.map +1 -1
  160. package/dist/cmd/upgrade/index.d.ts +15 -0
  161. package/dist/cmd/upgrade/index.d.ts.map +1 -1
  162. package/dist/cmd/upgrade/index.js +59 -4
  163. package/dist/cmd/upgrade/index.js.map +1 -1
  164. package/dist/config.d.ts.map +1 -1
  165. package/dist/config.js +8 -0
  166. package/dist/config.js.map +1 -1
  167. package/dist/domain.d.ts +45 -0
  168. package/dist/domain.d.ts.map +1 -0
  169. package/dist/domain.js +200 -0
  170. package/dist/domain.js.map +1 -0
  171. package/dist/index.d.ts +0 -1
  172. package/dist/index.d.ts.map +1 -1
  173. package/dist/index.js +0 -1
  174. package/dist/index.js.map +1 -1
  175. package/dist/schema-generator.d.ts +2 -0
  176. package/dist/schema-generator.d.ts.map +1 -1
  177. package/dist/schema-generator.js +18 -0
  178. package/dist/schema-generator.js.map +1 -1
  179. package/dist/steps.d.ts +1 -1
  180. package/dist/steps.d.ts.map +1 -1
  181. package/dist/steps.js +16 -5
  182. package/dist/steps.js.map +1 -1
  183. package/dist/tui/prompt.d.ts +1 -2
  184. package/dist/tui/prompt.d.ts.map +1 -1
  185. package/dist/tui/prompt.js +8 -4
  186. package/dist/tui/prompt.js.map +1 -1
  187. package/dist/tui.d.ts +16 -0
  188. package/dist/tui.d.ts.map +1 -1
  189. package/dist/tui.js +23 -2
  190. package/dist/tui.js.map +1 -1
  191. package/dist/types.d.ts +9 -2
  192. package/dist/types.d.ts.map +1 -1
  193. package/dist/types.js +3 -3
  194. package/dist/types.js.map +1 -1
  195. package/package.json +5 -8
  196. package/src/api.ts +1 -1
  197. package/src/cli.ts +47 -12
  198. package/src/cmd/ai/index.ts +6 -1
  199. package/src/cmd/ai/prompt/agent.md +306 -0
  200. package/src/cmd/ai/prompt/agent.ts +12 -322
  201. package/src/cmd/ai/prompt/api.md +360 -0
  202. package/src/cmd/ai/prompt/api.ts +13 -260
  203. package/src/cmd/ai/prompt/version.ts +61 -0
  204. package/src/cmd/ai/prompt/web.md +509 -0
  205. package/src/cmd/ai/prompt/web.ts +12 -282
  206. package/src/cmd/ai/skills/generate.ts +75 -0
  207. package/src/cmd/ai/skills/generator.ts +519 -0
  208. package/src/cmd/ai/skills/index.ts +23 -0
  209. package/src/cmd/auth/signup.ts +1 -0
  210. package/src/cmd/build/ast.ts +161 -48
  211. package/src/cmd/build/entry-generator.ts +258 -187
  212. package/src/cmd/build/vite/agent-discovery.ts +151 -58
  213. package/src/cmd/build/vite/bun-dev-server.ts +57 -27
  214. package/src/cmd/build/vite/docs-generator.ts +87 -0
  215. package/src/cmd/build/vite/index.ts +9 -7
  216. package/src/cmd/build/vite/lifecycle-generator.ts +19 -5
  217. package/src/cmd/build/vite/metadata-generator.ts +251 -7
  218. package/src/cmd/build/vite/prompt-generator.ts +169 -0
  219. package/src/cmd/build/vite/registry-generator.ts +750 -108
  220. package/src/cmd/build/vite/route-discovery.ts +4 -0
  221. package/src/cmd/build/vite/server-bundler.ts +73 -23
  222. package/src/cmd/build/vite/vite-asset-server-config.ts +5 -0
  223. package/src/cmd/build/vite/vite-builder.ts +134 -100
  224. package/src/cmd/build/vite-bundler.ts +6 -6
  225. package/src/cmd/cloud/deploy.ts +114 -36
  226. package/src/cmd/cloud/keyvalue/create-namespace.ts +3 -1
  227. package/src/cmd/cloud/keyvalue/delete-namespace.ts +3 -1
  228. package/src/cmd/cloud/keyvalue/delete.ts +3 -1
  229. package/src/cmd/cloud/keyvalue/set.ts +4 -2
  230. package/src/cmd/cloud/stream/get.ts +2 -9
  231. package/src/cmd/cloud/vector/delete-namespace.ts +89 -0
  232. package/src/cmd/cloud/vector/index.ts +21 -4
  233. package/src/cmd/cloud/vector/list-namespaces.ts +46 -0
  234. package/src/cmd/cloud/vector/stats.ts +160 -0
  235. package/src/cmd/cloud/vector/upsert.ts +216 -0
  236. package/src/cmd/dev/file-watcher.ts +109 -34
  237. package/src/cmd/dev/index.ts +364 -60
  238. package/src/cmd/dev/skills.ts +82 -0
  239. package/src/cmd/dev/sync.ts +41 -6
  240. package/src/cmd/index.ts +1 -0
  241. package/src/cmd/project/create.ts +3 -0
  242. package/src/cmd/project/template-flow.ts +37 -5
  243. package/src/cmd/setup/index.ts +1 -0
  244. package/src/cmd/upgrade/index.ts +68 -4
  245. package/src/config.ts +9 -0
  246. package/src/domain.ts +273 -0
  247. package/src/index.ts +0 -5
  248. package/src/runtime-bootstrap.md +1 -1
  249. package/src/schema-generator.ts +23 -0
  250. package/src/steps.ts +16 -5
  251. package/src/tui/prompt.ts +11 -5
  252. package/src/tui.ts +21 -2
  253. package/src/types/md.d.ts +8 -0
  254. package/src/types.ts +12 -3
  255. package/dist/cmd/cloud/domain.d.ts +0 -17
  256. package/dist/cmd/cloud/domain.d.ts.map +0 -1
  257. package/dist/cmd/cloud/domain.js +0 -79
  258. package/dist/cmd/cloud/domain.js.map +0 -1
  259. package/dist/runtime-bootstrap.d.ts +0 -56
  260. package/dist/runtime-bootstrap.d.ts.map +0 -1
  261. package/dist/runtime-bootstrap.js +0 -95
  262. package/dist/runtime-bootstrap.js.map +0 -1
  263. package/src/cmd/cloud/domain.ts +0 -100
  264. package/src/runtime-bootstrap.ts +0 -131
@@ -4,38 +4,76 @@
4
4
  * Utilities for running Vite builds (client, server, workbench)
5
5
  */
6
6
  import { join } from 'node:path';
7
+ import { existsSync, renameSync, rmSync } from 'node:fs';
7
8
  import { browserEnvPlugin } from './browser-env-plugin';
9
+ /**
10
+ * Vite plugin to flatten the output structure for index.html
11
+ *
12
+ * When root is set to the project root (for TanStack Router compatibility),
13
+ * Vite outputs index.html to .agentuity/client/src/web/index.html instead of
14
+ * .agentuity/client/index.html. This plugin moves it to the expected location.
15
+ */
16
+ function flattenHtmlOutputPlugin(outDir) {
17
+ return {
18
+ name: 'agentuity:flatten-html-output',
19
+ apply: 'build',
20
+ closeBundle() {
21
+ const nestedHtmlPath = join(outDir, 'src', 'web', 'index.html');
22
+ const targetHtmlPath = join(outDir, 'index.html');
23
+ if (existsSync(nestedHtmlPath)) {
24
+ renameSync(nestedHtmlPath, targetHtmlPath);
25
+ // Clean up empty src/web directory structure
26
+ const srcWebDir = join(outDir, 'src', 'web');
27
+ const srcDir = join(outDir, 'src');
28
+ try {
29
+ rmSync(srcWebDir, { recursive: true, force: true });
30
+ rmSync(srcDir, { recursive: true, force: true });
31
+ }
32
+ catch {
33
+ // Ignore cleanup errors
34
+ }
35
+ }
36
+ },
37
+ };
38
+ }
8
39
  /**
9
40
  * Run a Vite build for the specified mode
10
- * Generates vite config in .agentuity/.vite/ and uses it
41
+ * Uses inline Vite config (customizable via agentuity.config.ts)
11
42
  */
12
43
  export async function runViteBuild(options) {
13
44
  const { rootDir, mode, dev = false, projectId = '', deploymentId = '', logger } = options;
14
45
  logger.debug(`Running Vite build for mode: ${mode}`);
15
46
  // For server mode, use Bun.build (preserves process.env at runtime)
16
47
  if (mode === 'server') {
17
- try {
18
- // First, generate the entry file
19
- const { generateEntryFile } = await import('../entry-generator');
20
- await generateEntryFile({
21
- rootDir,
22
- projectId,
23
- deploymentId: deploymentId || '',
24
- logger,
25
- mode: dev ? 'dev' : 'prod',
26
- });
27
- // Then, build with Bun.build
28
- const { installExternalsAndBuild } = await import('./server-bundler');
29
- await installExternalsAndBuild({
30
- rootDir,
31
- dev,
32
- logger,
33
- });
34
- }
35
- catch (error) {
36
- logger.error('server-bundler import or execution failed: %s', error);
37
- throw error;
48
+ const srcDir = join(rootDir, 'src');
49
+ // Generate documentation files (if they don't exist)
50
+ const { generateDocumentation } = await import('./docs-generator');
51
+ await generateDocumentation(srcDir, logger);
52
+ // Generate/update prompt files in dev mode only (non-blocking)
53
+ if (dev) {
54
+ import('./prompt-generator')
55
+ .then(({ generatePromptFiles }) => generatePromptFiles(srcDir, logger))
56
+ .catch((err) => logger.warn('Failed to generate prompt files: %s', err.message));
38
57
  }
58
+ // Generate lifecycle types (if setup() exists)
59
+ const { generateLifecycleTypes } = await import('./lifecycle-generator');
60
+ await generateLifecycleTypes(rootDir, srcDir, logger);
61
+ // Then, generate the entry file
62
+ const { generateEntryFile } = await import('../entry-generator');
63
+ await generateEntryFile({
64
+ rootDir,
65
+ projectId,
66
+ deploymentId: deploymentId || '',
67
+ logger,
68
+ mode: dev ? 'dev' : 'prod',
69
+ });
70
+ // Finally, build with Bun.build
71
+ const { installExternalsAndBuild } = await import('./server-bundler');
72
+ await installExternalsAndBuild({
73
+ rootDir,
74
+ dev,
75
+ logger,
76
+ });
39
77
  return;
40
78
  }
41
79
  // Dynamically import vite and react plugin
@@ -50,7 +88,8 @@ export async function runViteBuild(options) {
50
88
  // Use workbench config passed from runAllBuilds
51
89
  const { workbenchEnabled = false, workbenchRoute = '/workbench' } = options;
52
90
  // Load custom user plugins from agentuity.config.ts if it exists
53
- const plugins = [react(), browserEnvPlugin()];
91
+ const clientOutDir = join(rootDir, '.agentuity/client');
92
+ const plugins = [react(), browserEnvPlugin(), flattenHtmlOutputPlugin(clientOutDir)];
54
93
  const { loadAgentuityConfig } = await import('./config-loader');
55
94
  const userConfig = await loadAgentuityConfig(rootDir, logger);
56
95
  const userPlugins = userConfig?.plugins || [];
@@ -64,12 +103,16 @@ export async function runViteBuild(options) {
64
103
  logger.debug('Loaded %d custom define(s) from agentuity.config.ts', Object.keys(userDefine).length);
65
104
  }
66
105
  // Determine CDN base URL for production builds
106
+ // Use CDN for all non-dev builds with a deploymentId (including local region)
67
107
  const isLocalRegion = options.region === 'local';
68
- const cdnBaseUrl = !dev && deploymentId && !isLocalRegion
69
- ? `https://static.agentuity.com/${deploymentId}/client/`
70
- : undefined;
108
+ const cdnDomain = isLocalRegion
109
+ ? 'localstack-static-assets.t3.storage.dev'
110
+ : 'static.agentuity.com';
111
+ const cdnBaseUrl = !dev && deploymentId ? `https://${cdnDomain}/${deploymentId}/client/` : undefined;
71
112
  viteConfig = {
72
- root: join(rootDir, 'src', 'web'), // Set web dir as root
113
+ // Use project root as Vite root so plugins (e.g., TanStack Router) resolve paths
114
+ // from the repo root, matching where agentuity.config.ts is located
115
+ root: rootDir,
73
116
  plugins,
74
117
  envPrefix: ['VITE_', 'AGENTUITY_PUBLIC_', 'PUBLIC_'],
75
118
  publicDir: join(rootDir, 'src', 'web', 'public'),
@@ -84,7 +127,7 @@ export async function runViteBuild(options) {
84
127
  : 'undefined',
85
128
  },
86
129
  build: {
87
- outDir: join(rootDir, '.agentuity/client'),
130
+ outDir: clientOutDir,
88
131
  rollupOptions: {
89
132
  input: htmlPath,
90
133
  },
@@ -131,19 +174,13 @@ export async function runViteBuild(options) {
131
174
  throw new Error(`Unknown build mode: ${mode}`);
132
175
  }
133
176
  // Build with Vite
134
- try {
135
- // Force the build to use the correct mode
136
- const buildMode = dev ? 'development' : 'production';
137
- await viteBuild({
138
- ...viteConfig,
139
- mode: buildMode,
140
- });
141
- logger.debug(`Vite build complete for mode: ${mode}`);
142
- }
143
- catch (error) {
144
- logger.error(`Vite build failed for mode ${mode}:`, error);
145
- throw error;
146
- }
177
+ // Force the build to use the correct mode
178
+ const buildMode = dev ? 'development' : 'production';
179
+ await viteBuild({
180
+ ...viteConfig,
181
+ mode: buildMode,
182
+ });
183
+ logger.debug(`Vite build complete for mode: ${mode}`);
147
184
  }
148
185
  /**
149
186
  * Run all builds in sequence: client -> workbench (if enabled) -> server
@@ -165,74 +202,59 @@ export async function runAllBuilds(options) {
165
202
  const { generateWorkbenchFiles } = await import('./workbench-generator');
166
203
  await generateWorkbenchFiles(rootDir, projectId, workbenchConfig, logger);
167
204
  }
205
+ // 1. Discover agents and routes BEFORE builds
206
+ logger.debug('Discovering agents and routes...');
207
+ const { generateAgentRegistry, generateRouteRegistry } = await import('./registry-generator');
208
+ const { discoverAgents } = await import('./agent-discovery');
209
+ const { discoverRoutes } = await import('./route-discovery');
210
+ const srcDir = join(rootDir, 'src');
211
+ const agentMetadata = await discoverAgents(srcDir, projectId, options.deploymentId || '', logger);
212
+ const { routes, routeInfoList } = await discoverRoutes(srcDir, projectId, options.deploymentId || '', logger);
213
+ // Generate agent and route registries for type augmentation BEFORE builds
214
+ // (TypeScript needs these files to exist during type checking)
215
+ generateAgentRegistry(srcDir, agentMetadata);
216
+ generateRouteRegistry(srcDir, routeInfoList);
217
+ logger.debug('Agent and route registries generated');
168
218
  // Check if web frontend exists
169
219
  const hasWebFrontend = await Bun.file(join(rootDir, 'src', 'web', 'index.html')).exists();
170
- // 1. Build client (only if web frontend exists)
220
+ // 2. Build client (only if web frontend exists)
171
221
  if (hasWebFrontend) {
172
222
  logger.debug('Building client assets...');
173
- try {
174
- const started = Date.now();
175
- await runViteBuild({
176
- ...options,
177
- mode: 'client',
178
- workbenchEnabled: workbenchConfig.enabled,
179
- workbenchRoute: workbenchConfig.route,
180
- });
181
- result.client.included = true;
182
- result.client.duration = Date.now() - started;
183
- }
184
- catch (error) {
185
- logger.error('Client build failed:', error);
186
- throw error;
187
- }
223
+ const started = Date.now();
224
+ await runViteBuild({
225
+ ...options,
226
+ mode: 'client',
227
+ workbenchEnabled: workbenchConfig.enabled,
228
+ workbenchRoute: workbenchConfig.route,
229
+ });
230
+ result.client.included = true;
231
+ result.client.duration = Date.now() - started;
188
232
  }
189
233
  else {
190
234
  logger.debug('Skipping client build - no src/web/index.html found');
191
235
  }
192
- // 2. Build workbench (if enabled in config)
236
+ // 3. Build workbench (if enabled in config)
193
237
  if (workbenchConfig.enabled) {
194
238
  logger.debug('Building workbench assets...');
195
- try {
196
- const started = Date.now();
197
- await runViteBuild({
198
- ...options,
199
- mode: 'workbench',
200
- workbenchRoute: workbenchConfig.route,
201
- workbenchEnabled: true,
202
- });
203
- result.workbench.included = true;
204
- result.workbench.duration = Date.now() - started;
205
- }
206
- catch (error) {
207
- logger.error('Workbench build failed:', error);
208
- throw error;
209
- }
210
- }
211
- // 3. Build server
212
- logger.debug('Building server...');
213
- try {
214
239
  const started = Date.now();
215
- await runViteBuild({ ...options, mode: 'server' });
216
- result.server.included = true;
217
- result.server.duration = Date.now() - started;
218
- }
219
- catch (error) {
220
- logger.error('Server build failed:', error);
221
- throw error;
240
+ await runViteBuild({
241
+ ...options,
242
+ mode: 'workbench',
243
+ workbenchRoute: workbenchConfig.route,
244
+ workbenchEnabled: true,
245
+ });
246
+ result.workbench.included = true;
247
+ result.workbench.duration = Date.now() - started;
222
248
  }
223
- // 4. Generate registry and metadata (after all builds complete)
224
- logger.debug('Generating agent registry and metadata...');
249
+ // 4. Build server
250
+ logger.debug('Building server...');
251
+ const serverStarted = Date.now();
252
+ await runViteBuild({ ...options, mode: 'server' });
253
+ result.server.included = true;
254
+ result.server.duration = Date.now() - serverStarted;
255
+ // 5. Generate metadata (after all builds complete)
256
+ logger.debug('Generating metadata...');
225
257
  const { generateMetadata, writeMetadataFile } = await import('./metadata-generator');
226
- const { generateAgentRegistry, generateRouteRegistry } = await import('./registry-generator');
227
- const { discoverAgents } = await import('./agent-discovery');
228
- const { discoverRoutes } = await import('./route-discovery');
229
- const srcDir = join(rootDir, 'src');
230
- const agentMetadata = await discoverAgents(srcDir, projectId, options.deploymentId || '', logger);
231
- const { routes, routeInfoList } = await discoverRoutes(srcDir, projectId, options.deploymentId || '', logger);
232
- // Generate agent and route registries for type augmentation
233
- generateAgentRegistry(srcDir, agentMetadata);
234
- generateRouteRegistry(srcDir, routeInfoList);
235
- logger.debug('Agent and route registries generated');
236
258
  // Generate metadata
237
259
  const metadata = await generateMetadata({
238
260
  rootDir,
@@ -1 +1 @@
1
- {"version":3,"file":"vite-builder.js","sourceRoot":"","sources":["../../../../src/cmd/build/vite/vite-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vite-builder.js","sourceRoot":"","sources":["../../../../src/cmd/build/vite/vite-builder.ts"],"names":[],"mappings":"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"}
@@ -46,8 +46,8 @@ export async function viteBundle(options) {
46
46
  });
47
47
  }
48
48
  try {
49
- // Run all Vite builds (client -> workbench -> server)
50
- logger.debug('Starting Vite builds...');
49
+ // Run all builds (client -> workbench -> server)
50
+ logger.debug('Starting builds...');
51
51
  const result = await runAllBuilds({
52
52
  rootDir,
53
53
  dev: options.dev || false, // Pass through dev flag for development builds
@@ -59,15 +59,15 @@ export async function viteBundle(options) {
59
59
  logger,
60
60
  });
61
61
  if (result.client.included) {
62
- output.push(tui.muted(`✓ Client Built in ${result.client.duration}ms`));
62
+ output.push(tui.muted(`✓ Client built in ${result.client.duration}ms`));
63
63
  }
64
64
  if (result.workbench.included) {
65
- output.push(tui.muted(`✓ Workbench Built in ${result.workbench.duration}ms`));
65
+ output.push(tui.muted(`✓ Workbench built in ${result.workbench.duration}ms`));
66
66
  }
67
67
  if (result.server.included) {
68
- output.push(tui.muted(`✓ Server Built in ${result.server.duration}ms`));
68
+ output.push(tui.muted(`✓ Server built in ${result.server.duration}ms`));
69
69
  }
70
- logger.debug('Vite builds complete');
70
+ logger.debug('All builds complete');
71
71
  return { output };
72
72
  }
73
73
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"vite-bundler.js","sourceRoot":"","sources":["../../../src/cmd/build/vite-bundler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vite-bundler.js","sourceRoot":"","sources":["../../../src/cmd/build/vite-bundler.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/cmd/cloud/deploy.ts"],"names":[],"mappings":"AAmEA,eAAO,MAAM,gBAAgB,sCAgkB3B,CAAC"}
1
+ {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/cmd/cloud/deploy.ts"],"names":[],"mappings":"AAqEA,eAAO,MAAM,gBAAgB,sCA4oB3B,CAAC"}
@@ -6,9 +6,10 @@ import { tmpdir } from 'node:os';
6
6
  import { StructuredError } from '@agentuity/core';
7
7
  import { isRunningFromExecutable } from '../upgrade';
8
8
  import { createSubcommand } from '../../types';
9
+ import { getUserAgent } from '../../api';
9
10
  import * as tui from '../../tui';
10
- import { saveProjectDir, getDefaultConfigDir } from '../../config';
11
- import { runSteps, stepSuccess, stepSkipped, stepError, } from '../../steps';
11
+ import { saveProjectDir, getDefaultConfigDir, loadProjectSDKKey } from '../../config';
12
+ import { runSteps, stepSuccess, stepSkipped, stepError, pauseStepUI, } from '../../steps';
12
13
  import { viteBundle } from '../build/vite-bundler';
13
14
  import { loadBuildMetadata, getStreamURL } from '../../config';
14
15
  import { projectEnvUpdate, projectDeploymentCreate, projectDeploymentUpdate, projectDeploymentComplete, projectDeploymentStatus, getAppBaseURL, } from '@agentuity/server';
@@ -16,7 +17,7 @@ import { findEnvFile, readEnvFile, filterAgentuitySdkKeys, splitEnvAndSecrets, }
16
17
  import { zipDir } from '../../utils/zip';
17
18
  import { encryptFIPSKEMDEMStream } from '../../crypto/box';
18
19
  import { getCommand } from '../../command-prefix';
19
- import { checkCustomDomainForDNS } from './domain';
20
+ import * as domain from '../../domain';
20
21
  import { DeployOptionsSchema } from '../../schemas/deploy';
21
22
  import { ErrorCode } from '../../errors';
22
23
  const DeploymentCancelledError = StructuredError('DeploymentCancelled', 'Deployment cancelled by user');
@@ -73,26 +74,53 @@ export const deploySubcommand = createSubcommand({
73
74
  let complete;
74
75
  let statusResult;
75
76
  const logs = [];
77
+ // Check for pre-created deployment from CI/Nova
78
+ const deploymentEnv = process.env.AGENTUITY_DEPLOYMENT;
79
+ let useExistingDeployment = false;
80
+ if (deploymentEnv) {
81
+ const ExistingDeploymentSchema = z.object({
82
+ id: z.string(),
83
+ orgId: z.string(),
84
+ publicKey: z.string(),
85
+ });
86
+ try {
87
+ const parsed = JSON.parse(deploymentEnv);
88
+ const result = ExistingDeploymentSchema.safeParse(parsed);
89
+ if (result.success) {
90
+ deployment = result.data;
91
+ useExistingDeployment = true;
92
+ logger.info(`Using existing deployment: ${result.data.id}`);
93
+ }
94
+ else {
95
+ const errors = result.error.issues.map((i) => `${i.path.join('.')}: ${i.message}`).join(', ');
96
+ logger.warn(`Invalid AGENTUITY_DEPLOYMENT schema: ${errors}`);
97
+ }
98
+ }
99
+ catch (err) {
100
+ logger.warn(`Failed to parse AGENTUITY_DEPLOYMENT: ${err instanceof Error ? err.message : String(err)}`);
101
+ }
102
+ }
103
+ const sdkKey = await loadProjectSDKKey(ctx.logger, ctx.projectDir);
104
+ // Ensure SDK key is present before proceeding
105
+ if (!sdkKey) {
106
+ ctx.logger.fatal('SDK key not found. Run "agentuity auth login" to authenticate or set AGENTUITY_SDK_KEY environment variable.');
107
+ }
76
108
  try {
77
109
  await saveProjectDir(projectDir);
78
110
  await runSteps([
79
111
  !project.deployment?.domains?.length
80
112
  ? null
81
113
  : {
82
- label: `Validate Custom Domain${project.deployment.domains.length > 1 ? `s: ${project.deployment.domains.join(', ')}` : `: ${project.deployment.domains[0]}`}`,
114
+ label: `Validate Custom ${tui.plural(project.deployment.domains.length, 'Domain', 'Domains')}`,
83
115
  run: async () => {
84
116
  if (project.deployment?.domains?.length) {
85
- const result = await checkCustomDomainForDNS(project.projectId, project.deployment.domains, config);
86
- for (const r of result) {
87
- if (r.success) {
88
- continue;
89
- }
90
- if (r.message) {
91
- return stepError(r.message);
92
- }
93
- return stepError('unknown dns error'); // shouldn't get here
117
+ try {
118
+ await domain.promptForDNS(project.projectId, project.deployment.domains, config, () => pauseStepUI(true));
119
+ return stepSuccess();
120
+ }
121
+ catch (ex) {
122
+ return stepError(String(ex), ex);
94
123
  }
95
- return stepSuccess();
96
124
  }
97
125
  return stepSkipped();
98
126
  },
@@ -132,6 +160,9 @@ export const deploySubcommand = createSubcommand({
132
160
  {
133
161
  label: 'Create Deployment',
134
162
  run: async () => {
163
+ if (useExistingDeployment && deployment) {
164
+ return stepSkipped('using existing deployment');
165
+ }
135
166
  try {
136
167
  deployment = await projectDeploymentCreate(apiClient, project.projectId, project.deployment);
137
168
  return stepSuccess();
@@ -186,10 +217,6 @@ export const deploySubcommand = createSubcommand({
186
217
  const deploymentZip = join(tmpdir(), `${deployment.id}.zip`);
187
218
  await zipDir(join(projectDir, '.agentuity'), deploymentZip, {
188
219
  filter: (_filename, relative) => {
189
- // Exclude Vite-specific build artifacts
190
- if (relative.endsWith('.generated.ts')) {
191
- return false;
192
- }
193
220
  if (relative.startsWith('.vite/')) {
194
221
  return false;
195
222
  }
@@ -271,15 +298,16 @@ export const deploySubcommand = createSubcommand({
271
298
  await Bun.file(deploymentZip).delete();
272
299
  }
273
300
  progress(80);
301
+ let bytes = 0;
274
302
  if (build?.assets) {
275
303
  ctx.logger.trace(`Uploading ${build.assets.length} assets`);
276
304
  if (!instructions.assets) {
277
305
  return stepError('server did not provide asset upload URLs; upload aborted');
278
306
  }
279
307
  // Workaround for Bun crash in compiled executables (https://github.com/agentuity/sdk/issues/191)
280
- // Use limited concurrency (2 at a time) for executables to avoid parallel fetch crash
308
+ // Use limited concurrency (1 at a time) for executables to avoid parallel fetch crash
281
309
  const isExecutable = isRunningFromExecutable();
282
- const concurrency = isExecutable ? 2 : build.assets.length;
310
+ const concurrency = isExecutable ? 1 : Math.min(4, build.assets.length);
283
311
  if (isExecutable) {
284
312
  ctx.logger.trace(`Running from executable - using limited concurrency (${concurrency} uploads at a time)`);
285
313
  }
@@ -293,14 +321,28 @@ export const deploySubcommand = createSubcommand({
293
321
  return stepError(`server did not provide upload URL for asset "${asset.filename}"; upload aborted`);
294
322
  }
295
323
  // Asset filename already includes the subdirectory (e.g., "client/assets/main-abc123.js")
296
- const file = Bun.file(join(projectDir, '.agentuity', asset.filename));
324
+ const filePath = join(projectDir, '.agentuity', asset.filename);
325
+ const headers = {
326
+ 'Content-Type': asset.contentType,
327
+ };
328
+ bytes += asset.size;
329
+ let body;
330
+ if (asset.contentEncoding === 'gzip') {
331
+ const file = Bun.file(filePath);
332
+ const ab = await file.arrayBuffer();
333
+ const gzipped = Bun.gzipSync(new Uint8Array(ab));
334
+ headers['Content-Encoding'] = 'gzip';
335
+ body = gzipped;
336
+ ctx.logger.trace(`Compressing ${asset.filename} (${asset.size} -> ${gzipped.byteLength} bytes)`);
337
+ }
338
+ else {
339
+ body = Bun.file(filePath);
340
+ }
297
341
  promises.push(fetch(assetUrl, {
298
342
  method: 'PUT',
299
343
  duplex: 'half',
300
- headers: {
301
- 'Content-Type': asset.contentType,
302
- },
303
- body: file,
344
+ headers,
345
+ body,
304
346
  }));
305
347
  }
306
348
  const resps = await Promise.all(promises);
@@ -314,7 +356,12 @@ export const deploySubcommand = createSubcommand({
314
356
  progress(95);
315
357
  }
316
358
  progress(100);
317
- return stepSuccess();
359
+ const output = build?.assets.length
360
+ ? [
361
+ tui.muted(`✓ Uploaded ${build.assets.length} ${tui.plural(build.assets.length, 'asset', 'assets')} (${tui.formatBytes(bytes)}) to CDN`),
362
+ ]
363
+ : undefined;
364
+ return stepSuccess(output);
318
365
  },
319
366
  },
320
367
  {
@@ -327,7 +374,7 @@ export const deploySubcommand = createSubcommand({
327
374
  return stepSuccess();
328
375
  },
329
376
  },
330
- ].filter(Boolean), options.logLevel);
377
+ ].filter(Boolean), useExistingDeployment ? 'debug' : options.logLevel);
331
378
  if (!deployment) {
332
379
  return {
333
380
  success: false,
@@ -364,6 +411,10 @@ export const deploySubcommand = createSubcommand({
364
411
  logger.debug('fetching stream: %s/%s', streamsUrl, streamId);
365
412
  const resp = await fetch(`${streamsUrl}/${streamId}`, {
366
413
  signal: logStreamController.signal,
414
+ headers: {
415
+ Authorization: `Bearer ${sdkKey}`,
416
+ 'User-Agent': getUserAgent(),
417
+ },
367
418
  });
368
419
  if (!resp.ok || !resp.body) {
369
420
  ctx.logger.trace(`Failed to connect to warmup log stream: ${resp.status}`);
@@ -503,17 +554,23 @@ export const deploySubcommand = createSubcommand({
503
554
  const dashboard = `${appUrl}/r/${deployment.id}`;
504
555
  // Show deployment URLs
505
556
  if (complete?.publicUrls) {
557
+ const lines = [];
506
558
  if (complete.publicUrls.custom?.length) {
507
559
  for (const url of complete.publicUrls.custom) {
508
- tui.arrow(tui.bold(tui.padRight('Deployment URL:', 17)) + tui.link(url));
560
+ lines.push(`${tui.ICONS.arrow} ${tui.bold(tui.padRight('Deployment:', 12)) + tui.link(url)}`);
509
561
  }
510
562
  }
511
563
  else {
512
- tui.arrow(tui.bold(tui.padRight('Deployment URL:', 17)) +
513
- tui.link(complete.publicUrls.deployment));
514
- tui.arrow(tui.bold(tui.padRight('Project URL:', 17)) + tui.link(complete.publicUrls.latest));
515
- tui.arrow(tui.bold(tui.padRight('Dashboard URL:', 17)) + tui.link(dashboard));
564
+ lines.push(`${tui.ICONS.arrow} ${tui.bold(tui.padRight('Deployment:', 12)) +
565
+ tui.link(complete.publicUrls.deployment)}`);
566
+ lines.push(`${tui.ICONS.arrow} ${tui.bold(tui.padRight('Project:', 12)) + tui.link(complete.publicUrls.latest)}`);
516
567
  }
568
+ lines.push(`${tui.ICONS.arrow} ${tui.bold(tui.padRight('Dashboard:', 12)) + tui.link(dashboard)}`);
569
+ tui.banner(`Deployment: ${tui.colorPrimary(deployment.id)}`, lines.join('\n'), {
570
+ centerTitle: false,
571
+ topSpacer: false,
572
+ bottomSpacer: false,
573
+ });
517
574
  }
518
575
  return {
519
576
  success: true,