@agentuity/cli 0.0.95 → 0.0.97

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 (267) hide show
  1. package/AGENTS.md +84 -0
  2. package/dist/auth.d.ts +1 -1
  3. package/dist/auth.d.ts.map +1 -1
  4. package/dist/auth.js +8 -5
  5. package/dist/auth.js.map +1 -1
  6. package/dist/cli.d.ts.map +1 -1
  7. package/dist/cli.js +190 -27
  8. package/dist/cli.js.map +1 -1
  9. package/dist/cmd/build/entry-generator.d.ts +20 -0
  10. package/dist/cmd/build/entry-generator.d.ts.map +1 -0
  11. package/dist/cmd/build/entry-generator.js +366 -0
  12. package/dist/cmd/build/entry-generator.js.map +1 -0
  13. package/dist/cmd/build/index.d.ts.map +1 -1
  14. package/dist/cmd/build/index.js +5 -23
  15. package/dist/cmd/build/index.js.map +1 -1
  16. package/dist/cmd/build/vite/agent-discovery.d.ts +33 -0
  17. package/dist/cmd/build/vite/agent-discovery.d.ts.map +1 -0
  18. package/dist/cmd/build/vite/agent-discovery.js +297 -0
  19. package/dist/cmd/build/vite/agent-discovery.js.map +1 -0
  20. package/dist/cmd/build/vite/browser-env-plugin.d.ts +9 -0
  21. package/dist/cmd/build/vite/browser-env-plugin.d.ts.map +1 -0
  22. package/dist/cmd/build/vite/browser-env-plugin.js +28 -0
  23. package/dist/cmd/build/vite/browser-env-plugin.js.map +1 -0
  24. package/dist/cmd/build/vite/bun-dev-server.d.ts +29 -0
  25. package/dist/cmd/build/vite/bun-dev-server.d.ts.map +1 -0
  26. package/dist/cmd/build/vite/bun-dev-server.js +54 -0
  27. package/dist/cmd/build/vite/bun-dev-server.js.map +1 -0
  28. package/dist/cmd/build/vite/config-loader.d.ts +23 -0
  29. package/dist/cmd/build/vite/config-loader.d.ts.map +1 -0
  30. package/dist/cmd/build/vite/config-loader.js +50 -0
  31. package/dist/cmd/build/vite/config-loader.js.map +1 -0
  32. package/dist/cmd/build/vite/index.d.ts +26 -0
  33. package/dist/cmd/build/vite/index.d.ts.map +1 -0
  34. package/dist/cmd/build/vite/index.js +127 -0
  35. package/dist/cmd/build/vite/index.js.map +1 -0
  36. package/dist/cmd/build/vite/lifecycle-generator.d.ts +11 -0
  37. package/dist/cmd/build/vite/lifecycle-generator.d.ts.map +1 -0
  38. package/dist/cmd/build/vite/lifecycle-generator.js +35 -0
  39. package/dist/cmd/build/vite/lifecycle-generator.js.map +1 -0
  40. package/dist/cmd/build/vite/metadata-generator.d.ts +32 -0
  41. package/dist/cmd/build/vite/metadata-generator.d.ts.map +1 -0
  42. package/dist/cmd/build/vite/metadata-generator.js +489 -0
  43. package/dist/cmd/build/vite/metadata-generator.js.map +1 -0
  44. package/dist/cmd/build/vite/patch-plugin.d.ts +21 -0
  45. package/dist/cmd/build/vite/patch-plugin.d.ts.map +1 -0
  46. package/dist/cmd/build/vite/patch-plugin.js +70 -0
  47. package/dist/cmd/build/vite/patch-plugin.js.map +1 -0
  48. package/dist/cmd/build/vite/registry-generator.d.ts +19 -0
  49. package/dist/cmd/build/vite/registry-generator.d.ts.map +1 -0
  50. package/dist/cmd/build/{route-registry.js → vite/registry-generator.js} +126 -48
  51. package/dist/cmd/build/vite/registry-generator.js.map +1 -0
  52. package/dist/cmd/build/vite/route-discovery.d.ts +58 -0
  53. package/dist/cmd/build/vite/route-discovery.d.ts.map +1 -0
  54. package/dist/cmd/build/vite/route-discovery.js +125 -0
  55. package/dist/cmd/build/vite/route-discovery.js.map +1 -0
  56. package/dist/cmd/build/vite/server-bundler.d.ts +16 -0
  57. package/dist/cmd/build/vite/server-bundler.d.ts.map +1 -0
  58. package/dist/cmd/build/vite/server-bundler.js +194 -0
  59. package/dist/cmd/build/vite/server-bundler.js.map +1 -0
  60. package/dist/cmd/build/vite/vite-asset-server-config.d.ts +19 -0
  61. package/dist/cmd/build/vite/vite-asset-server-config.d.ts.map +1 -0
  62. package/dist/cmd/build/vite/vite-asset-server-config.js +105 -0
  63. package/dist/cmd/build/vite/vite-asset-server-config.js.map +1 -0
  64. package/dist/cmd/build/vite/vite-asset-server.d.ts +23 -0
  65. package/dist/cmd/build/vite/vite-asset-server.d.ts.map +1 -0
  66. package/dist/cmd/build/vite/vite-asset-server.js +41 -0
  67. package/dist/cmd/build/vite/vite-asset-server.js.map +1 -0
  68. package/dist/cmd/build/vite/vite-builder.d.ts +44 -0
  69. package/dist/cmd/build/vite/vite-builder.d.ts.map +1 -0
  70. package/dist/cmd/build/vite/vite-builder.js +234 -0
  71. package/dist/cmd/build/vite/vite-builder.js.map +1 -0
  72. package/dist/cmd/build/vite/workbench-generator.d.ts +10 -0
  73. package/dist/cmd/build/vite/workbench-generator.d.ts.map +1 -0
  74. package/dist/cmd/build/vite/workbench-generator.js +135 -0
  75. package/dist/cmd/build/vite/workbench-generator.js.map +1 -0
  76. package/dist/cmd/build/vite-bundler.d.ts +23 -0
  77. package/dist/cmd/build/vite-bundler.d.ts.map +1 -0
  78. package/dist/cmd/build/vite-bundler.js +79 -0
  79. package/dist/cmd/build/vite-bundler.js.map +1 -0
  80. package/dist/cmd/cloud/agent/get.d.ts.map +1 -1
  81. package/dist/cmd/cloud/agent/get.js +1 -0
  82. package/dist/cmd/cloud/agent/get.js.map +1 -1
  83. package/dist/cmd/cloud/agent/list.d.ts.map +1 -1
  84. package/dist/cmd/cloud/agent/list.js +1 -0
  85. package/dist/cmd/cloud/agent/list.js.map +1 -1
  86. package/dist/cmd/cloud/db/get.d.ts.map +1 -1
  87. package/dist/cmd/cloud/db/get.js +1 -0
  88. package/dist/cmd/cloud/db/get.js.map +1 -1
  89. package/dist/cmd/cloud/db/list.d.ts.map +1 -1
  90. package/dist/cmd/cloud/db/list.js +1 -0
  91. package/dist/cmd/cloud/db/list.js.map +1 -1
  92. package/dist/cmd/cloud/deploy.d.ts.map +1 -1
  93. package/dist/cmd/cloud/deploy.js +152 -128
  94. package/dist/cmd/cloud/deploy.js.map +1 -1
  95. package/dist/cmd/cloud/deployment/list.d.ts.map +1 -1
  96. package/dist/cmd/cloud/deployment/list.js +4 -0
  97. package/dist/cmd/cloud/deployment/list.js.map +1 -1
  98. package/dist/cmd/cloud/env/list.d.ts.map +1 -1
  99. package/dist/cmd/cloud/env/list.js +1 -0
  100. package/dist/cmd/cloud/env/list.js.map +1 -1
  101. package/dist/cmd/cloud/keyvalue/get.d.ts.map +1 -1
  102. package/dist/cmd/cloud/keyvalue/get.js +1 -0
  103. package/dist/cmd/cloud/keyvalue/get.js.map +1 -1
  104. package/dist/cmd/cloud/keyvalue/keys.d.ts.map +1 -1
  105. package/dist/cmd/cloud/keyvalue/keys.js +1 -0
  106. package/dist/cmd/cloud/keyvalue/keys.js.map +1 -1
  107. package/dist/cmd/cloud/keyvalue/list-namespaces.d.ts.map +1 -1
  108. package/dist/cmd/cloud/keyvalue/list-namespaces.js +1 -0
  109. package/dist/cmd/cloud/keyvalue/list-namespaces.js.map +1 -1
  110. package/dist/cmd/cloud/keyvalue/stats.d.ts.map +1 -1
  111. package/dist/cmd/cloud/keyvalue/stats.js +1 -0
  112. package/dist/cmd/cloud/keyvalue/stats.js.map +1 -1
  113. package/dist/cmd/cloud/secret/list.d.ts.map +1 -1
  114. package/dist/cmd/cloud/secret/list.js +1 -0
  115. package/dist/cmd/cloud/secret/list.js.map +1 -1
  116. package/dist/cmd/cloud/session/list.d.ts.map +1 -1
  117. package/dist/cmd/cloud/session/list.js +4 -0
  118. package/dist/cmd/cloud/session/list.js.map +1 -1
  119. package/dist/cmd/cloud/storage/get.d.ts.map +1 -1
  120. package/dist/cmd/cloud/storage/get.js +1 -0
  121. package/dist/cmd/cloud/storage/get.js.map +1 -1
  122. package/dist/cmd/cloud/storage/list.d.ts.map +1 -1
  123. package/dist/cmd/cloud/storage/list.js +3 -0
  124. package/dist/cmd/cloud/storage/list.js.map +1 -1
  125. package/dist/cmd/cloud/stream/get.d.ts.map +1 -1
  126. package/dist/cmd/cloud/stream/get.js +1 -0
  127. package/dist/cmd/cloud/stream/get.js.map +1 -1
  128. package/dist/cmd/cloud/stream/list.d.ts.map +1 -1
  129. package/dist/cmd/cloud/stream/list.js +1 -0
  130. package/dist/cmd/cloud/stream/list.js.map +1 -1
  131. package/dist/cmd/cloud/vector/get.d.ts.map +1 -1
  132. package/dist/cmd/cloud/vector/get.js +1 -0
  133. package/dist/cmd/cloud/vector/get.js.map +1 -1
  134. package/dist/cmd/cloud/vector/search.d.ts.map +1 -1
  135. package/dist/cmd/cloud/vector/search.js +1 -0
  136. package/dist/cmd/cloud/vector/search.js.map +1 -1
  137. package/dist/cmd/dev/index.d.ts.map +1 -1
  138. package/dist/cmd/dev/index.js +289 -758
  139. package/dist/cmd/dev/index.js.map +1 -1
  140. package/dist/cmd/dev/sync.d.ts +1 -1
  141. package/dist/cmd/dev/sync.d.ts.map +1 -1
  142. package/dist/cmd/dev/sync.js +3 -0
  143. package/dist/cmd/dev/sync.js.map +1 -1
  144. package/dist/cmd/profile/show.d.ts.map +1 -1
  145. package/dist/cmd/profile/show.js +3 -4
  146. package/dist/cmd/profile/show.js.map +1 -1
  147. package/dist/cmd/project/create.d.ts.map +1 -1
  148. package/dist/cmd/project/create.js +3 -4
  149. package/dist/cmd/project/create.js.map +1 -1
  150. package/dist/cmd/project/list.d.ts.map +1 -1
  151. package/dist/cmd/project/list.js +1 -0
  152. package/dist/cmd/project/list.js.map +1 -1
  153. package/dist/cmd/project/show.d.ts.map +1 -1
  154. package/dist/cmd/project/show.js +1 -0
  155. package/dist/cmd/project/show.js.map +1 -1
  156. package/dist/cmd/upgrade/index.d.ts.map +1 -1
  157. package/dist/cmd/upgrade/index.js +43 -7
  158. package/dist/cmd/upgrade/index.js.map +1 -1
  159. package/dist/config.d.ts +1 -1
  160. package/dist/config.d.ts.map +1 -1
  161. package/dist/config.js +29 -11
  162. package/dist/config.js.map +1 -1
  163. package/dist/index.d.ts +1 -1
  164. package/dist/index.d.ts.map +1 -1
  165. package/dist/index.js.map +1 -1
  166. package/dist/runtime-bootstrap.d.ts +3 -2
  167. package/dist/runtime-bootstrap.d.ts.map +1 -1
  168. package/dist/runtime-bootstrap.js +7 -2
  169. package/dist/runtime-bootstrap.js.map +1 -1
  170. package/dist/schemas/deploy.d.ts +1 -1
  171. package/dist/types.d.ts +40 -1
  172. package/dist/types.d.ts.map +1 -1
  173. package/dist/types.js.map +1 -1
  174. package/dist/utils/bun-version-checker.d.ts +11 -0
  175. package/dist/utils/bun-version-checker.d.ts.map +1 -0
  176. package/dist/utils/bun-version-checker.js +56 -0
  177. package/dist/utils/bun-version-checker.js.map +1 -0
  178. package/dist/version-check.d.ts.map +1 -1
  179. package/dist/version-check.js +5 -2
  180. package/dist/version-check.js.map +1 -1
  181. package/package.json +11 -3
  182. package/src/auth.ts +9 -5
  183. package/src/cli.ts +228 -29
  184. package/src/cmd/build/entry-generator.ts +404 -0
  185. package/src/cmd/build/index.ts +7 -28
  186. package/src/cmd/build/vite/agent-discovery.ts +467 -0
  187. package/src/cmd/build/vite/browser-env-plugin.ts +34 -0
  188. package/src/cmd/build/vite/bun-dev-server.ts +78 -0
  189. package/src/cmd/build/vite/config-loader.ts +70 -0
  190. package/src/cmd/build/vite/index.ts +166 -0
  191. package/src/cmd/build/vite/lifecycle-generator.ts +43 -0
  192. package/src/cmd/build/vite/metadata-generator.ts +602 -0
  193. package/src/cmd/build/vite/patch-plugin.ts +88 -0
  194. package/src/cmd/build/vite/registry-generator.ts +288 -0
  195. package/src/cmd/build/vite/route-discovery.ts +186 -0
  196. package/src/cmd/build/vite/server-bundler.ts +258 -0
  197. package/src/cmd/build/vite/vite-asset-server-config.ts +134 -0
  198. package/src/cmd/build/vite/vite-asset-server.ts +66 -0
  199. package/src/cmd/build/vite/vite-builder.ts +288 -0
  200. package/src/cmd/build/vite/workbench-generator.ts +152 -0
  201. package/src/cmd/build/vite-bundler.ts +110 -0
  202. package/src/cmd/cloud/agent/get.ts +2 -0
  203. package/src/cmd/cloud/agent/list.ts +1 -0
  204. package/src/cmd/cloud/db/get.ts +1 -0
  205. package/src/cmd/cloud/db/list.ts +1 -0
  206. package/src/cmd/cloud/deploy.ts +175 -144
  207. package/src/cmd/cloud/deployment/list.ts +4 -0
  208. package/src/cmd/cloud/env/list.ts +1 -0
  209. package/src/cmd/cloud/keyvalue/get.ts +1 -0
  210. package/src/cmd/cloud/keyvalue/keys.ts +1 -0
  211. package/src/cmd/cloud/keyvalue/list-namespaces.ts +1 -0
  212. package/src/cmd/cloud/keyvalue/stats.ts +2 -0
  213. package/src/cmd/cloud/secret/list.ts +1 -0
  214. package/src/cmd/cloud/session/list.ts +4 -0
  215. package/src/cmd/cloud/storage/get.ts +1 -0
  216. package/src/cmd/cloud/storage/list.ts +4 -0
  217. package/src/cmd/cloud/stream/get.ts +1 -0
  218. package/src/cmd/cloud/stream/list.ts +1 -0
  219. package/src/cmd/cloud/vector/get.ts +1 -0
  220. package/src/cmd/cloud/vector/search.ts +1 -0
  221. package/src/cmd/dev/index.ts +319 -921
  222. package/src/cmd/dev/sync.ts +5 -1
  223. package/src/cmd/profile/show.ts +3 -4
  224. package/src/cmd/project/create.ts +3 -4
  225. package/src/cmd/project/list.ts +1 -0
  226. package/src/cmd/project/show.ts +1 -0
  227. package/src/cmd/upgrade/index.ts +52 -8
  228. package/src/config.ts +31 -11
  229. package/src/index.ts +2 -0
  230. package/src/runtime-bootstrap.ts +8 -2
  231. package/src/types.ts +48 -1
  232. package/src/utils/bun-version-checker.ts +70 -0
  233. package/src/version-check.ts +6 -2
  234. package/dist/cmd/build/bundler.d.ts +0 -28
  235. package/dist/cmd/build/bundler.d.ts.map +0 -1
  236. package/dist/cmd/build/bundler.js +0 -800
  237. package/dist/cmd/build/bundler.js.map +0 -1
  238. package/dist/cmd/build/config-loader.d.ts +0 -16
  239. package/dist/cmd/build/config-loader.d.ts.map +0 -1
  240. package/dist/cmd/build/config-loader.js +0 -227
  241. package/dist/cmd/build/config-loader.js.map +0 -1
  242. package/dist/cmd/build/file.d.ts +0 -2
  243. package/dist/cmd/build/file.d.ts.map +0 -1
  244. package/dist/cmd/build/file.js +0 -10
  245. package/dist/cmd/build/file.js.map +0 -1
  246. package/dist/cmd/build/fix-duplicate-exports.d.ts +0 -2
  247. package/dist/cmd/build/fix-duplicate-exports.d.ts.map +0 -1
  248. package/dist/cmd/build/fix-duplicate-exports.js +0 -170
  249. package/dist/cmd/build/fix-duplicate-exports.js.map +0 -1
  250. package/dist/cmd/build/plugin.d.ts +0 -6
  251. package/dist/cmd/build/plugin.d.ts.map +0 -1
  252. package/dist/cmd/build/plugin.js +0 -645
  253. package/dist/cmd/build/plugin.js.map +0 -1
  254. package/dist/cmd/build/route-discovery.d.ts +0 -54
  255. package/dist/cmd/build/route-discovery.d.ts.map +0 -1
  256. package/dist/cmd/build/route-discovery.js +0 -148
  257. package/dist/cmd/build/route-discovery.js.map +0 -1
  258. package/dist/cmd/build/route-registry.d.ts +0 -38
  259. package/dist/cmd/build/route-registry.d.ts.map +0 -1
  260. package/dist/cmd/build/route-registry.js.map +0 -1
  261. package/src/cmd/build/bundler.ts +0 -965
  262. package/src/cmd/build/config-loader.ts +0 -268
  263. package/src/cmd/build/file.ts +0 -10
  264. package/src/cmd/build/fix-duplicate-exports.ts +0 -207
  265. package/src/cmd/build/plugin.ts +0 -782
  266. package/src/cmd/build/route-discovery.ts +0 -202
  267. package/src/cmd/build/route-registry.ts +0 -222
@@ -1,8 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  import { resolve, join, relative } from 'node:path';
3
- import { getServiceUrls } from '@agentuity/server';
4
3
  import { createCommand } from '../../types';
5
- import { bundle } from './bundler';
4
+ import { viteBundle } from './vite-bundler';
6
5
  import * as tui from '../../tui';
7
6
  import { getCommand } from '../../command-prefix';
8
7
  import { ErrorCode } from '../../errors';
@@ -45,28 +44,12 @@ export const command = createCommand({
45
44
  const rel = outDir.startsWith(absoluteProjectDir)
46
45
  ? relative(absoluteProjectDir, outDir)
47
46
  : outDir;
48
- tui.info(`Bundling project at ${absoluteProjectDir} to ${rel}`);
49
- const env = new Map();
50
- if (project) {
51
- const serviceUrls = getServiceUrls(project.region);
52
- env.set('AGENTUITY_TRANSPORT_URL', serviceUrls.catalyst);
53
- env.set('AGENTUITY_CATALYST_URL', serviceUrls.catalyst);
54
- env.set('AGENTUITY_VECTOR_URL', serviceUrls.vector);
55
- env.set('AGENTUITY_KEYVALUE_URL', serviceUrls.keyvalue);
56
- env.set('AGENTUITY_STREAM_URL', serviceUrls.stream);
57
- env.set('AGENTUITY_CLOUD_ORG_ID', project.orgId);
58
- env.set('AGENTUITY_CLOUD_PROJECT_ID', project.projectId);
59
- env.set('AGENTUITY_REGION', project.region);
60
- }
61
- ctx.logger.trace('setting env to %s', env);
62
- await bundle({
47
+ tui.info(`Building project with Vite at ${absoluteProjectDir} to ${rel}`);
48
+ await viteBundle({
63
49
  rootDir: absoluteProjectDir,
64
50
  dev: opts.dev || false,
65
- outDir,
66
- project,
67
- orgId: project?.orgId,
68
51
  projectId: project?.projectId,
69
- env,
52
+ orgId: project?.orgId,
70
53
  region: project?.region ?? 'local',
71
54
  logger: ctx.logger,
72
55
  });
@@ -87,7 +70,6 @@ export const command = createCommand({
87
70
  if (!opts.dev && !opts.skipTypeCheck) {
88
71
  try {
89
72
  tui.info('Running type check...');
90
- const absoluteProjectDir = resolve(projectDir);
91
73
  const result = await Bun.$ `bunx tsc --noEmit --skipLibCheck`
92
74
  .cwd(absoluteProjectDir)
93
75
  .nothrow();
@@ -107,7 +89,7 @@ export const command = createCommand({
107
89
  tui.fatal('Unable to run TypeScript type checking. Ensure TypeScript is installed.');
108
90
  }
109
91
  }
110
- tui.success('Bundle complete');
92
+ tui.success('Build complete');
111
93
  return {
112
94
  success: true,
113
95
  bundlePath: outDir,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cmd/build/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cmd/build/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Agent Discovery - READ-ONLY AST analysis
3
+ *
4
+ * Discovers agents by scanning src/agent/**\/*.ts files
5
+ * Extracts metadata WITHOUT mutating source files
6
+ */
7
+ import type { Logger } from '../../../types';
8
+ export interface AgentMetadata {
9
+ filename: string;
10
+ name: string;
11
+ id: string;
12
+ agentId: string;
13
+ version: string;
14
+ description?: string;
15
+ inputSchemaCode?: string;
16
+ outputSchemaCode?: string;
17
+ evals?: EvalMetadata[];
18
+ }
19
+ export interface EvalMetadata {
20
+ id: string;
21
+ evalId: string;
22
+ name: string;
23
+ filename: string;
24
+ version: string;
25
+ description?: string;
26
+ agentIdentifier: string;
27
+ projectId: string;
28
+ }
29
+ /**
30
+ * Discover all agents in src/agent directory (READ-ONLY)
31
+ */
32
+ export declare function discoverAgents(srcDir: string, projectId: string, deploymentId: string, logger: Logger): Promise<AgentMetadata[]>;
33
+ //# sourceMappingURL=agent-discovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-discovery.d.ts","sourceRoot":"","sources":["../../../../src/cmd/build/vite/agent-discovery.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AA0C7C,MAAM,WAAW,aAAa;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CAClB;AAgUD;;GAEG;AACH,wBAAsB,cAAc,CACnC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,GACZ,OAAO,CAAC,aAAa,EAAE,CAAC,CAgE1B"}
@@ -0,0 +1,297 @@
1
+ /**
2
+ * Agent Discovery - READ-ONLY AST analysis
3
+ *
4
+ * Discovers agents by scanning src/agent/**\/*.ts files
5
+ * Extracts metadata WITHOUT mutating source files
6
+ */
7
+ import * as acornLoose from 'acorn-loose';
8
+ import { generate } from 'astring';
9
+ import { dirname, join, relative } from 'node:path';
10
+ import { existsSync } from 'node:fs';
11
+ import { formatSchemaCode } from '../format-schema';
12
+ /**
13
+ * Hash function for generating stable IDs
14
+ */
15
+ function hash(...val) {
16
+ const hasher = new Bun.CryptoHasher('sha256');
17
+ val.forEach((v) => hasher.update(v));
18
+ return hasher.digest().toHex();
19
+ }
20
+ function hashSHA1(...val) {
21
+ const hasher = new Bun.CryptoHasher('sha1');
22
+ val.forEach((v) => hasher.update(v));
23
+ return hasher.digest().toHex();
24
+ }
25
+ function getAgentId(projectId, deploymentId, filename, version) {
26
+ return `agentid_${hashSHA1(projectId, deploymentId, filename, version)}`;
27
+ }
28
+ function generateStableAgentId(projectId, name) {
29
+ return `agent_${hashSHA1(projectId, name)}`.substring(0, 64);
30
+ }
31
+ function getEvalId(projectId, deploymentId, filename, name, version) {
32
+ return `evalid_${hashSHA1(projectId, deploymentId, filename, name, version)}`;
33
+ }
34
+ function generateStableEvalId(projectId, agentId, name) {
35
+ return `eval_${hashSHA1(projectId, agentId, name)}`.substring(0, 64);
36
+ }
37
+ /**
38
+ * Extract schema code from createAgent call arguments
39
+ */
40
+ function extractSchemaCode(callargexp) {
41
+ let schemaObj;
42
+ // Find the schema property
43
+ for (const prop of callargexp.properties) {
44
+ if (prop.key.type === 'Identifier' && prop.key.name === 'schema') {
45
+ if (prop.value.type === 'ObjectExpression') {
46
+ schemaObj = prop.value;
47
+ break;
48
+ }
49
+ }
50
+ }
51
+ if (!schemaObj) {
52
+ return {};
53
+ }
54
+ let inputSchemaCode;
55
+ let outputSchemaCode;
56
+ // Extract input and output schema code
57
+ for (const prop of schemaObj.properties) {
58
+ if (prop.key.type === 'Identifier') {
59
+ if (prop.key.name === 'input' && prop.value) {
60
+ inputSchemaCode = formatSchemaCode(generate(prop.value));
61
+ }
62
+ else if (prop.key.name === 'output' && prop.value) {
63
+ outputSchemaCode = formatSchemaCode(generate(prop.value));
64
+ }
65
+ }
66
+ }
67
+ return { inputSchemaCode, outputSchemaCode };
68
+ }
69
+ /**
70
+ * Parse object expression to extract metadata
71
+ */
72
+ function parseObjectExpressionToMap(expr) {
73
+ const result = new Map();
74
+ for (const prop of expr.properties) {
75
+ if (prop.value.type === 'Literal') {
76
+ const value = prop.value;
77
+ result.set(prop.key.name, String(value.value));
78
+ }
79
+ }
80
+ return result;
81
+ }
82
+ /**
83
+ * Extract metadata from createAgent call (READ-ONLY)
84
+ */
85
+ function extractAgentMetadata(code, filename, projectId, deploymentId) {
86
+ const ast = acornLoose.parse(code, { ecmaVersion: 'latest', sourceType: 'module' });
87
+ // Calculate file version (hash of contents)
88
+ const version = hash(code);
89
+ // Find createAgent calls
90
+ for (const node of ast.body) {
91
+ if (node.type === 'ExportDefaultDeclaration') {
92
+ const declaration = node.declaration;
93
+ if (declaration.type === 'CallExpression') {
94
+ const callExpr = declaration;
95
+ if (callExpr.callee.type === 'Identifier' &&
96
+ callExpr.callee.name === 'createAgent' &&
97
+ callExpr.arguments.length >= 2) {
98
+ // First arg is agent name
99
+ const nameArg = callExpr.arguments[0];
100
+ const name = String(nameArg.value);
101
+ // Second arg is config object
102
+ const callargexp = callExpr.arguments[1];
103
+ // Extract schemas
104
+ const { inputSchemaCode, outputSchemaCode } = extractSchemaCode(callargexp);
105
+ // Extract description from either direct property or metadata object
106
+ let description;
107
+ for (const prop of callargexp.properties) {
108
+ // Check for direct description property
109
+ if (prop.key.name === 'description' && prop.value.type === 'Literal') {
110
+ description = String(prop.value.value);
111
+ break; // Direct description takes precedence
112
+ }
113
+ // Also check metadata.description for backwards compat
114
+ if (prop.key.name === 'metadata' && prop.value.type === 'ObjectExpression') {
115
+ const metadataMap = parseObjectExpressionToMap(prop.value);
116
+ if (!description) {
117
+ description = metadataMap.get('description');
118
+ }
119
+ break;
120
+ }
121
+ }
122
+ // Generate IDs
123
+ const id = getAgentId(projectId, deploymentId, filename, version);
124
+ const agentId = generateStableAgentId(projectId, name);
125
+ return {
126
+ filename,
127
+ name,
128
+ id,
129
+ agentId,
130
+ version,
131
+ description,
132
+ inputSchemaCode,
133
+ outputSchemaCode,
134
+ };
135
+ }
136
+ }
137
+ }
138
+ // Also check variable declarations (e.g., const agent = createAgent(...))
139
+ if (node.type === 'VariableDeclaration') {
140
+ const declarations = node
141
+ .declarations;
142
+ for (const decl of declarations) {
143
+ if (decl.init && decl.init.type === 'CallExpression') {
144
+ const callExpr = decl.init;
145
+ if (callExpr.callee.type === 'Identifier' &&
146
+ callExpr.callee.name === 'createAgent' &&
147
+ callExpr.arguments.length >= 2) {
148
+ const nameArg = callExpr.arguments[0];
149
+ const name = String(nameArg.value);
150
+ const callargexp = callExpr.arguments[1];
151
+ const { inputSchemaCode, outputSchemaCode } = extractSchemaCode(callargexp);
152
+ let description;
153
+ for (const prop of callargexp.properties) {
154
+ // Check for direct description property
155
+ if (prop.key.name === 'description' && prop.value.type === 'Literal') {
156
+ description = String(prop.value.value);
157
+ break; // Direct description takes precedence
158
+ }
159
+ // Also check metadata.description for backwards compat
160
+ if (prop.key.name === 'metadata' && prop.value.type === 'ObjectExpression') {
161
+ const metadataMap = parseObjectExpressionToMap(prop.value);
162
+ if (!description) {
163
+ description = metadataMap.get('description');
164
+ }
165
+ break;
166
+ }
167
+ }
168
+ const id = getAgentId(projectId, deploymentId, filename, version);
169
+ const agentId = generateStableAgentId(projectId, name);
170
+ return {
171
+ filename,
172
+ name,
173
+ id,
174
+ agentId,
175
+ version,
176
+ description,
177
+ inputSchemaCode,
178
+ outputSchemaCode,
179
+ };
180
+ }
181
+ }
182
+ }
183
+ }
184
+ }
185
+ return null;
186
+ }
187
+ /**
188
+ * Extract evals from eval.ts file (READ-ONLY)
189
+ */
190
+ async function extractEvalMetadata(evalsPath, agentId, projectId, deploymentId, logger) {
191
+ const evalsFile = Bun.file(evalsPath);
192
+ if (!(await evalsFile.exists())) {
193
+ return [];
194
+ }
195
+ try {
196
+ const evalsSource = await evalsFile.text();
197
+ const transpiler = new Bun.Transpiler({ loader: 'ts', target: 'bun' });
198
+ const evalsContents = transpiler.transformSync(evalsSource);
199
+ const version = hash(evalsContents);
200
+ const ast = acornLoose.parse(evalsContents, { ecmaVersion: 'latest', sourceType: 'module' });
201
+ const evals = [];
202
+ // Find createEval calls
203
+ for (const node of ast.body) {
204
+ if (node.type === 'ExportNamedDeclaration') {
205
+ const declaration = node.declaration;
206
+ if (declaration?.declarations) {
207
+ for (const decl of declaration.declarations) {
208
+ if (decl.init && decl.init.type === 'CallExpression') {
209
+ const callExpr = decl.init;
210
+ if (callExpr.callee.type === 'Identifier' &&
211
+ callExpr.callee.name === 'createEval' &&
212
+ callExpr.arguments.length >= 2) {
213
+ const nameArg = callExpr.arguments[0];
214
+ const evalName = String(nameArg.value);
215
+ const callargexp = callExpr.arguments[1];
216
+ let description;
217
+ for (const prop of callargexp.properties) {
218
+ if (prop.key.name === 'metadata' &&
219
+ prop.value.type === 'ObjectExpression') {
220
+ const metadataMap = parseObjectExpressionToMap(prop.value);
221
+ description = metadataMap.get('description');
222
+ break;
223
+ }
224
+ }
225
+ const id = getEvalId(projectId, deploymentId, evalsPath, evalName, version);
226
+ const evalId = generateStableEvalId(projectId, agentId, evalName);
227
+ evals.push({
228
+ id,
229
+ evalId,
230
+ name: evalName,
231
+ filename: evalsPath,
232
+ version,
233
+ description,
234
+ agentIdentifier: agentId,
235
+ projectId,
236
+ });
237
+ }
238
+ }
239
+ }
240
+ }
241
+ }
242
+ }
243
+ return evals;
244
+ }
245
+ catch (error) {
246
+ logger.warn(`Failed to parse evals from ${evalsPath}: ${error}`);
247
+ return [];
248
+ }
249
+ }
250
+ /**
251
+ * Discover all agents in src/agent directory (READ-ONLY)
252
+ */
253
+ export async function discoverAgents(srcDir, projectId, deploymentId, logger) {
254
+ const agentsDir = join(srcDir, 'agent');
255
+ const agents = [];
256
+ // Check if agent directory exists
257
+ if (!existsSync(agentsDir)) {
258
+ logger.trace('No agent directory found at %s', agentsDir);
259
+ return agents;
260
+ }
261
+ const transpiler = new Bun.Transpiler({ loader: 'ts', target: 'bun' });
262
+ // Scan all .ts files in agent directory
263
+ const glob = new Bun.Glob('**/*.ts');
264
+ for await (const file of glob.scan(agentsDir)) {
265
+ const filePath = join(agentsDir, file);
266
+ // Skip eval.ts files (processed separately)
267
+ if (file.endsWith('/eval.ts') || file === 'eval.ts') {
268
+ continue;
269
+ }
270
+ try {
271
+ const source = await Bun.file(filePath).text();
272
+ const contents = transpiler.transformSync(source);
273
+ // Use 'src/' prefix for consistency with bun bundler and registry imports
274
+ const rootDir = join(srcDir, '..');
275
+ const relativeFilename = relative(rootDir, filePath);
276
+ const agentMetadata = extractAgentMetadata(contents, relativeFilename, projectId, deploymentId);
277
+ if (agentMetadata) {
278
+ logger.trace('Discovered agent: %s at %s', agentMetadata.name, relativeFilename);
279
+ // Check for evals in same directory
280
+ const agentDir = dirname(filePath);
281
+ const evalsPath = join(agentDir, 'eval.ts');
282
+ const evals = await extractEvalMetadata(evalsPath, agentMetadata.agentId, projectId, deploymentId, logger);
283
+ if (evals.length > 0) {
284
+ agentMetadata.evals = evals;
285
+ logger.trace('Found %d eval(s) for agent %s', evals.length, agentMetadata.name);
286
+ }
287
+ agents.push(agentMetadata);
288
+ }
289
+ }
290
+ catch (error) {
291
+ logger.warn(`Failed to parse agent file ${filePath}: ${error}`);
292
+ }
293
+ }
294
+ logger.debug('Discovered %d agent(s)', agents.length);
295
+ return agents;
296
+ }
297
+ //# sourceMappingURL=agent-discovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-discovery.js","sourceRoot":"","sources":["../../../../src/cmd/build/vite/agent-discovery.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,UAAU,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAgEpD;;GAEG;AACH,SAAS,IAAI,CAAC,GAAG,GAAa;IAC7B,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC9C,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,OAAO,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;AAChC,CAAC;AAED,SAAS,QAAQ,CAAC,GAAG,GAAa;IACjC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC5C,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,OAAO,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;AAChC,CAAC;AAED,SAAS,UAAU,CAClB,SAAiB,EACjB,YAAoB,EACpB,QAAgB,EAChB,OAAe;IAEf,OAAO,WAAW,QAAQ,CAAC,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;AAC1E,CAAC;AAED,SAAS,qBAAqB,CAAC,SAAiB,EAAE,IAAY;IAC7D,OAAO,SAAS,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,SAAS,CACjB,SAAiB,EACjB,YAAoB,EACpB,QAAgB,EAChB,IAAY,EACZ,OAAe;IAEf,OAAO,UAAU,QAAQ,CAAC,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;AAC/E,CAAC;AAED,SAAS,oBAAoB,CAAC,SAAiB,EAAE,OAAe,EAAE,IAAY;IAC7E,OAAO,QAAQ,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACtE,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,UAA+B;IAIzD,IAAI,SAA0C,CAAC;IAE/C,2BAA2B;IAC3B,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;QAC1C,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClE,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBAC5C,SAAS,GAAG,IAAI,CAAC,KAA4B,CAAC;gBAC9C,MAAM;YACP,CAAC;QACF,CAAC;IACF,CAAC;IAED,IAAI,CAAC,SAAS,EAAE,CAAC;QAChB,OAAO,EAAE,CAAC;IACX,CAAC;IAED,IAAI,eAAmC,CAAC;IACxC,IAAI,gBAAoC,CAAC;IAEzC,uCAAuC;IACvC,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;QACzC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACpC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC7C,eAAe,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1D,CAAC;iBAAM,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACrD,gBAAgB,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAC3D,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,SAAS,0BAA0B,CAAC,IAAyB;IAC5D,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAmB,CAAC;YACvC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,CAAC;IACF,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAC5B,IAAY,EACZ,QAAgB,EAChB,SAAiB,EACjB,YAAoB;IAEpB,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;IAEpF,4CAA4C;IAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IAE3B,yBAAyB;IACzB,KAAK,MAAM,IAAI,IAAK,GAA2B,CAAC,IAAI,EAAE,CAAC;QACtD,IAAI,IAAI,CAAC,IAAI,KAAK,0BAA0B,EAAE,CAAC;YAC9C,MAAM,WAAW,GAAI,IAA4C,CAAC,WAAW,CAAC;YAE9E,IAAI,WAAW,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBAC3C,MAAM,QAAQ,GAAG,WAAgC,CAAC;gBAElD,IACC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY;oBACpC,QAAQ,CAAC,MAA4B,CAAC,IAAI,KAAK,aAAa;oBAC7D,QAAQ,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,EAC7B,CAAC;oBACF,0BAA0B;oBAC1B,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAe,CAAC;oBACpD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAEnC,8BAA8B;oBAC9B,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAwB,CAAC;oBAEhE,kBAAkB;oBAClB,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;oBAE5E,qEAAqE;oBACrE,IAAI,WAA+B,CAAC;oBACpC,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;wBAC1C,wCAAwC;wBACxC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;4BACtE,WAAW,GAAG,MAAM,CAAE,IAAI,CAAC,KAAoB,CAAC,KAAK,CAAC,CAAC;4BACvD,MAAM,CAAC,sCAAsC;wBAC9C,CAAC;wBACD,uDAAuD;wBACvD,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;4BAC5E,MAAM,WAAW,GAAG,0BAA0B,CAC7C,IAAI,CAAC,KAA4B,CACjC,CAAC;4BACF,IAAI,CAAC,WAAW,EAAE,CAAC;gCAClB,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;4BAC9C,CAAC;4BACD,MAAM;wBACP,CAAC;oBACF,CAAC;oBAED,eAAe;oBACf,MAAM,EAAE,GAAG,UAAU,CAAC,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;oBAClE,MAAM,OAAO,GAAG,qBAAqB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;oBAEvD,OAAO;wBACN,QAAQ;wBACR,IAAI;wBACJ,EAAE;wBACF,OAAO;wBACP,OAAO;wBACP,WAAW;wBACX,eAAe;wBACf,gBAAgB;qBAChB,CAAC;gBACH,CAAC;YACF,CAAC;QACF,CAAC;QAED,0EAA0E;QAC1E,IAAI,IAAI,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;YACzC,MAAM,YAAY,GAAI,IAA6D;iBACjF,YAAY,CAAC;YACf,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;gBACjC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;oBACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAyB,CAAC;oBAEhD,IACC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY;wBACpC,QAAQ,CAAC,MAA4B,CAAC,IAAI,KAAK,aAAa;wBAC7D,QAAQ,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,EAC7B,CAAC;wBACF,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAe,CAAC;wBACpD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;wBAEnC,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAwB,CAAC;wBAChE,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;wBAE5E,IAAI,WAA+B,CAAC;wBACpC,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;4BAC1C,wCAAwC;4BACxC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gCACtE,WAAW,GAAG,MAAM,CAAE,IAAI,CAAC,KAAoB,CAAC,KAAK,CAAC,CAAC;gCACvD,MAAM,CAAC,sCAAsC;4BAC9C,CAAC;4BACD,uDAAuD;4BACvD,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;gCAC5E,MAAM,WAAW,GAAG,0BAA0B,CAC7C,IAAI,CAAC,KAA4B,CACjC,CAAC;gCACF,IAAI,CAAC,WAAW,EAAE,CAAC;oCAClB,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gCAC9C,CAAC;gCACD,MAAM;4BACP,CAAC;wBACF,CAAC;wBAED,MAAM,EAAE,GAAG,UAAU,CAAC,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;wBAClE,MAAM,OAAO,GAAG,qBAAqB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;wBAEvD,OAAO;4BACN,QAAQ;4BACR,IAAI;4BACJ,EAAE;4BACF,OAAO;4BACP,OAAO;4BACP,WAAW;4BACX,eAAe;4BACf,gBAAgB;yBAChB,CAAC;oBACH,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,mBAAmB,CACjC,SAAiB,EACjB,OAAe,EACf,SAAiB,EACjB,YAAoB,EACpB,MAAc;IAEd,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtC,IAAI,CAAC,CAAC,MAAM,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,CAAC;IACX,CAAC;IAED,IAAI,CAAC;QACJ,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;QAC3C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QACvE,MAAM,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;QAEpC,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC7F,MAAM,KAAK,GAAmB,EAAE,CAAC;QAEjC,wBAAwB;QACxB,KAAK,MAAM,IAAI,IAAK,GAA2B,CAAC,IAAI,EAAE,CAAC;YACtD,IAAI,IAAI,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;gBAC5C,MAAM,WAAW,GAChB,IACA,CAAC,WAAW,CAAC;gBAEd,IAAI,WAAW,EAAE,YAAY,EAAE,CAAC;oBAC/B,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;wBAC7C,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;4BACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAyB,CAAC;4BAEhD,IACC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY;gCACpC,QAAQ,CAAC,MAA4B,CAAC,IAAI,KAAK,YAAY;gCAC5D,QAAQ,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,EAC7B,CAAC;gCACF,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAe,CAAC;gCACpD,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gCAEvC,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAwB,CAAC;gCAChE,IAAI,WAA+B,CAAC;gCAEpC,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;oCAC1C,IACC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU;wCAC5B,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,kBAAkB,EACrC,CAAC;wCACF,MAAM,WAAW,GAAG,0BAA0B,CAC7C,IAAI,CAAC,KAA4B,CACjC,CAAC;wCACF,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;wCAC7C,MAAM;oCACP,CAAC;gCACF,CAAC;gCAED,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;gCAC5E,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;gCAElE,KAAK,CAAC,IAAI,CAAC;oCACV,EAAE;oCACF,MAAM;oCACN,IAAI,EAAE,QAAQ;oCACd,QAAQ,EAAE,SAAS;oCACnB,OAAO;oCACP,WAAW;oCACX,eAAe,EAAE,OAAO;oCACxB,SAAS;iCACT,CAAC,CAAC;4BACJ,CAAC;wBACF,CAAC;oBACF,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;QAED,OAAO,KAAK,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,8BAA8B,SAAS,KAAK,KAAK,EAAE,CAAC,CAAC;QACjE,OAAO,EAAE,CAAC;IACX,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CACnC,MAAc,EACd,SAAiB,EACjB,YAAoB,EACpB,MAAc;IAEd,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,MAAM,MAAM,GAAoB,EAAE,CAAC;IAEnC,kCAAkC;IAClC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5B,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,SAAS,CAAC,CAAC;QAC1D,OAAO,MAAM,CAAC;IACf,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAEvE,wCAAwC;IACxC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACrC,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAEvC,4CAA4C;QAC5C,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrD,SAAS;QACV,CAAC;QAED,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/C,MAAM,QAAQ,GAAG,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAElD,0EAA0E;YAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACnC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACrD,MAAM,aAAa,GAAG,oBAAoB,CACzC,QAAQ,EACR,gBAAgB,EAChB,SAAS,EACT,YAAY,CACZ,CAAC;YAEF,IAAI,aAAa,EAAE,CAAC;gBACnB,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,aAAa,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;gBAEjF,oCAAoC;gBACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACnC,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;gBAC5C,MAAM,KAAK,GAAG,MAAM,mBAAmB,CACtC,SAAS,EACT,aAAa,CAAC,OAAO,EACrB,SAAS,EACT,YAAY,EACZ,MAAM,CACN,CAAC;gBAEF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtB,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC;oBAC5B,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;gBACjF,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC5B,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,8BAA8B,QAAQ,KAAK,KAAK,EAAE,CAAC,CAAC;QACjE,CAAC;IACF,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACtD,OAAO,MAAM,CAAC;AACf,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Vite plugin to shim process.env for browser code only
3
+ *
4
+ * Replaces process.env with import.meta.env ONLY in files under src/web
5
+ * to avoid breaking server-side code that needs real process.env
6
+ */
7
+ import type { Plugin } from 'vite';
8
+ export declare function browserEnvPlugin(): Plugin;
9
+ //# sourceMappingURL=browser-env-plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-env-plugin.d.ts","sourceRoot":"","sources":["../../../../src/cmd/build/vite/browser-env-plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,wBAAgB,gBAAgB,IAAI,MAAM,CAwBzC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Vite plugin to shim process.env for browser code only
3
+ *
4
+ * Replaces process.env with import.meta.env ONLY in files under src/web
5
+ * to avoid breaking server-side code that needs real process.env
6
+ */
7
+ export function browserEnvPlugin() {
8
+ return {
9
+ name: 'agentuity:browser-env',
10
+ enforce: 'pre',
11
+ transform(code, id) {
12
+ // Only transform files in src/web (browser code)
13
+ if (!id.includes('/src/web/') && !id.includes('\\src\\web\\')) {
14
+ return null;
15
+ }
16
+ // Replace process.env with import.meta.env for browser compatibility
17
+ const transformed = code.replace(/process\.env/g, 'import.meta.env');
18
+ if (transformed !== code) {
19
+ return {
20
+ code: transformed,
21
+ map: null,
22
+ };
23
+ }
24
+ return null;
25
+ },
26
+ };
27
+ }
28
+ //# sourceMappingURL=browser-env-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-env-plugin.js","sourceRoot":"","sources":["../../../../src/cmd/build/vite/browser-env-plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,UAAU,gBAAgB;IAC/B,OAAO;QACN,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE,KAAK;QAEd,SAAS,CAAC,IAAI,EAAE,EAAE;YACjB,iDAAiD;YACjD,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC/D,OAAO,IAAI,CAAC;YACb,CAAC;YAED,qEAAqE;YACrE,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;YAErE,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;gBAC1B,OAAO;oBACN,IAAI,EAAE,WAAW;oBACjB,GAAG,EAAE,IAAI;iBACT,CAAC;YACH,CAAC;YAED,OAAO,IAAI,CAAC;QACb,CAAC;KACD,CAAC;AACH,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Bun Dev Server
3
+ *
4
+ * Runs Bun server that handles ALL app logic (HTTP + WebSocket) and proxies
5
+ * frontend asset requests to Vite asset server for HMR support.
6
+ */
7
+ import type { Logger } from '../../../types';
8
+ export interface BunDevServerOptions {
9
+ rootDir: string;
10
+ port?: number;
11
+ projectId?: string;
12
+ orgId?: string;
13
+ deploymentId?: string;
14
+ logger: Logger;
15
+ }
16
+ export interface BunDevServerResult {
17
+ viteAssetServer: {
18
+ server: {
19
+ close: () => void | Promise<void>;
20
+ };
21
+ port: number;
22
+ };
23
+ bunServerPort: number;
24
+ }
25
+ /**
26
+ * Start Bun dev server with Vite asset server for HMR
27
+ */
28
+ export declare function startBunDevServer(options: BunDevServerOptions): Promise<BunDevServerResult>;
29
+ //# sourceMappingURL=bun-dev-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bun-dev-server.d.ts","sourceRoot":"","sources":["../../../../src/cmd/build/vite/bun-dev-server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAG7C,MAAM,WAAW,mBAAmB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IAClC,eAAe,EAAE;QAAE,MAAM,EAAE;YAAE,KAAK,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;SAAE,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACjF,aAAa,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAkDjG"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Bun Dev Server
3
+ *
4
+ * Runs Bun server that handles ALL app logic (HTTP + WebSocket) and proxies
5
+ * frontend asset requests to Vite asset server for HMR support.
6
+ */
7
+ import { startViteAssetServer } from './vite-asset-server';
8
+ /**
9
+ * Start Bun dev server with Vite asset server for HMR
10
+ */
11
+ export async function startBunDevServer(options) {
12
+ const { rootDir, port = 3500, projectId = '', deploymentId = '', logger } = options;
13
+ logger.debug('Starting Bun dev server with Vite asset server for HMR...');
14
+ // Generate workbench source files if enabled (dev mode)
15
+ const { loadAgentuityConfig, getWorkbenchConfig } = await import('./config-loader');
16
+ const config = await loadAgentuityConfig(rootDir, logger);
17
+ const workbenchConfig = getWorkbenchConfig(config, true); // dev mode
18
+ if (workbenchConfig.enabled) {
19
+ logger.debug('Workbench enabled (dev mode), generating source files...');
20
+ const { generateWorkbenchFiles } = await import('./workbench-generator');
21
+ await generateWorkbenchFiles(rootDir, projectId, workbenchConfig, logger);
22
+ }
23
+ // Step 1: Start Vite asset server FIRST and get its dynamic port
24
+ logger.info('🎨 Starting Vite asset server for HMR...');
25
+ const viteAssetServer = await startViteAssetServer({
26
+ rootDir,
27
+ logger,
28
+ workbenchPath: workbenchConfig.enabled ? workbenchConfig.route : undefined,
29
+ });
30
+ const vitePort = viteAssetServer.port;
31
+ // Step 2: Generate entry file with Vite port for asset proxying
32
+ logger.info('📝 Generating entry file with asset proxy configuration...');
33
+ const { generateEntryFile } = await import('../entry-generator');
34
+ await generateEntryFile({
35
+ rootDir,
36
+ projectId: projectId || '',
37
+ deploymentId: deploymentId || '',
38
+ logger,
39
+ mode: 'dev',
40
+ workbench: workbenchConfig.enabled ? workbenchConfig : undefined,
41
+ vitePort, // Pass Vite port for proxy routes
42
+ });
43
+ // Step 3: Load the generated app - this will start Bun.serve() internally
44
+ logger.info('📦 Loading generated app (Bun server will start)...');
45
+ const appPath = `${rootDir}/.agentuity/app.generated.ts`;
46
+ await import(appPath);
47
+ logger.info(`✅ Bun dev server started on http://127.0.0.1:${port}`);
48
+ logger.debug(`Asset requests (/@vite/*, /src/web/*, etc.) proxied to Vite:${vitePort}`);
49
+ return {
50
+ viteAssetServer,
51
+ bunServerPort: port,
52
+ };
53
+ }
54
+ //# sourceMappingURL=bun-dev-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bun-dev-server.js","sourceRoot":"","sources":["../../../../src/cmd/build/vite/bun-dev-server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAgB3D;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAA4B;IACnE,MAAM,EAAE,OAAO,EAAE,IAAI,GAAG,IAAI,EAAE,SAAS,GAAG,EAAE,EAAE,YAAY,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAEpF,MAAM,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAE1E,wDAAwD;IACxD,MAAM,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACpF,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1D,MAAM,eAAe,GAAG,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW;IAErE,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;QAC7B,MAAM,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;QACzE,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QACzE,MAAM,sBAAsB,CAAC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;IAC3E,CAAC;IAED,iEAAiE;IACjE,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;IACxD,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAAC;QAClD,OAAO;QACP,MAAM;QACN,aAAa,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;KAC1E,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC;IAEtC,gEAAgE;IAChE,MAAM,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;IAC1E,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACjE,MAAM,iBAAiB,CAAC;QACvB,OAAO;QACP,SAAS,EAAE,SAAS,IAAI,EAAE;QAC1B,YAAY,EAAE,YAAY,IAAI,EAAE;QAChC,MAAM;QACN,IAAI,EAAE,KAAK;QACX,SAAS,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS;QAChE,QAAQ,EAAE,kCAAkC;KAC5C,CAAC,CAAC;IAEH,0EAA0E;IAC1E,MAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;IACnE,MAAM,OAAO,GAAG,GAAG,OAAO,8BAA8B,CAAC;IACzD,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;IAEtB,MAAM,CAAC,IAAI,CAAC,gDAAgD,IAAI,EAAE,CAAC,CAAC;IACpE,MAAM,CAAC,KAAK,CAAC,+DAA+D,QAAQ,EAAE,CAAC,CAAC;IAExF,OAAO;QACN,eAAe;QACf,aAAa,EAAE,IAAI;KACnB,CAAC;AACH,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Config loader for agentuity.config.ts
3
+ */
4
+ import type { Logger } from '../../../types';
5
+ import type { AgentuityConfig } from '../../../types';
6
+ /**
7
+ * Load agentuity.config.ts from the project root
8
+ * Returns null if the file doesn't exist or fails to load
9
+ */
10
+ export declare function loadAgentuityConfig(rootDir: string, logger: Logger): Promise<AgentuityConfig | null>;
11
+ /**
12
+ * Get workbench configuration with defaults
13
+ * NOTE: Workbench is only available in dev mode
14
+ *
15
+ * Presence of workbench config implicitly enables it (no explicit 'enabled' flag needed)
16
+ * Missing workbench config implicitly disables it
17
+ */
18
+ export declare function getWorkbenchConfig(config: AgentuityConfig | null, dev: boolean): {
19
+ enabled: boolean;
20
+ route: string;
21
+ headers: Record<string, string>;
22
+ };
23
+ //# sourceMappingURL=config-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../../../src/cmd/build/vite/config-loader.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD;;;GAGG;AACH,wBAAsB,mBAAmB,CACxC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACZ,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAuBjC;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CACjC,MAAM,EAAE,eAAe,GAAG,IAAI,EAC9B,GAAG,EAAE,OAAO,GACV;IACF,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC,CAeA"}