@agentuity/cli 0.0.94 → 0.0.96

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 (277) hide show
  1. package/AGENTS.md +54 -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/banner.js +1 -1
  7. package/dist/banner.js.map +1 -1
  8. package/dist/cli.d.ts.map +1 -1
  9. package/dist/cli.js +190 -27
  10. package/dist/cli.js.map +1 -1
  11. package/dist/cmd/auth/signup.js +1 -1
  12. package/dist/cmd/auth/signup.js.map +1 -1
  13. package/dist/cmd/build/ast.d.ts.map +1 -1
  14. package/dist/cmd/build/ast.js +7 -0
  15. package/dist/cmd/build/ast.js.map +1 -1
  16. package/dist/cmd/build/entry-generator.d.ts +20 -0
  17. package/dist/cmd/build/entry-generator.d.ts.map +1 -0
  18. package/dist/cmd/build/entry-generator.js +366 -0
  19. package/dist/cmd/build/entry-generator.js.map +1 -0
  20. package/dist/cmd/build/index.d.ts.map +1 -1
  21. package/dist/cmd/build/index.js +5 -23
  22. package/dist/cmd/build/index.js.map +1 -1
  23. package/dist/cmd/build/vite/agent-discovery.d.ts +33 -0
  24. package/dist/cmd/build/vite/agent-discovery.d.ts.map +1 -0
  25. package/dist/cmd/build/vite/agent-discovery.js +297 -0
  26. package/dist/cmd/build/vite/agent-discovery.js.map +1 -0
  27. package/dist/cmd/build/vite/browser-env-plugin.d.ts +9 -0
  28. package/dist/cmd/build/vite/browser-env-plugin.d.ts.map +1 -0
  29. package/dist/cmd/build/vite/browser-env-plugin.js +28 -0
  30. package/dist/cmd/build/vite/browser-env-plugin.js.map +1 -0
  31. package/dist/cmd/build/vite/bun-dev-server.d.ts +29 -0
  32. package/dist/cmd/build/vite/bun-dev-server.d.ts.map +1 -0
  33. package/dist/cmd/build/vite/bun-dev-server.js +54 -0
  34. package/dist/cmd/build/vite/bun-dev-server.js.map +1 -0
  35. package/dist/cmd/build/vite/config-loader.d.ts +23 -0
  36. package/dist/cmd/build/vite/config-loader.d.ts.map +1 -0
  37. package/dist/cmd/build/vite/config-loader.js +50 -0
  38. package/dist/cmd/build/vite/config-loader.js.map +1 -0
  39. package/dist/cmd/build/vite/index.d.ts +26 -0
  40. package/dist/cmd/build/vite/index.d.ts.map +1 -0
  41. package/dist/cmd/build/vite/index.js +127 -0
  42. package/dist/cmd/build/vite/index.js.map +1 -0
  43. package/dist/cmd/build/vite/lifecycle-generator.d.ts +11 -0
  44. package/dist/cmd/build/vite/lifecycle-generator.d.ts.map +1 -0
  45. package/dist/cmd/build/vite/lifecycle-generator.js +35 -0
  46. package/dist/cmd/build/vite/lifecycle-generator.js.map +1 -0
  47. package/dist/cmd/build/vite/metadata-generator.d.ts +32 -0
  48. package/dist/cmd/build/vite/metadata-generator.d.ts.map +1 -0
  49. package/dist/cmd/build/vite/metadata-generator.js +489 -0
  50. package/dist/cmd/build/vite/metadata-generator.js.map +1 -0
  51. package/dist/cmd/build/vite/patch-plugin.d.ts +21 -0
  52. package/dist/cmd/build/vite/patch-plugin.d.ts.map +1 -0
  53. package/dist/cmd/build/vite/patch-plugin.js +70 -0
  54. package/dist/cmd/build/vite/patch-plugin.js.map +1 -0
  55. package/dist/cmd/build/vite/registry-generator.d.ts +19 -0
  56. package/dist/cmd/build/vite/registry-generator.d.ts.map +1 -0
  57. package/dist/cmd/build/{route-registry.js → vite/registry-generator.js} +126 -48
  58. package/dist/cmd/build/vite/registry-generator.js.map +1 -0
  59. package/dist/cmd/build/vite/route-discovery.d.ts +58 -0
  60. package/dist/cmd/build/vite/route-discovery.d.ts.map +1 -0
  61. package/dist/cmd/build/vite/route-discovery.js +125 -0
  62. package/dist/cmd/build/vite/route-discovery.js.map +1 -0
  63. package/dist/cmd/build/vite/server-bundler.d.ts +16 -0
  64. package/dist/cmd/build/vite/server-bundler.d.ts.map +1 -0
  65. package/dist/cmd/build/vite/server-bundler.js +194 -0
  66. package/dist/cmd/build/vite/server-bundler.js.map +1 -0
  67. package/dist/cmd/build/vite/vite-asset-server-config.d.ts +19 -0
  68. package/dist/cmd/build/vite/vite-asset-server-config.d.ts.map +1 -0
  69. package/dist/cmd/build/vite/vite-asset-server-config.js +105 -0
  70. package/dist/cmd/build/vite/vite-asset-server-config.js.map +1 -0
  71. package/dist/cmd/build/vite/vite-asset-server.d.ts +23 -0
  72. package/dist/cmd/build/vite/vite-asset-server.d.ts.map +1 -0
  73. package/dist/cmd/build/vite/vite-asset-server.js +40 -0
  74. package/dist/cmd/build/vite/vite-asset-server.js.map +1 -0
  75. package/dist/cmd/build/vite/vite-builder.d.ts +44 -0
  76. package/dist/cmd/build/vite/vite-builder.d.ts.map +1 -0
  77. package/dist/cmd/build/vite/vite-builder.js +232 -0
  78. package/dist/cmd/build/vite/vite-builder.js.map +1 -0
  79. package/dist/cmd/build/vite/workbench-generator.d.ts +10 -0
  80. package/dist/cmd/build/vite/workbench-generator.d.ts.map +1 -0
  81. package/dist/cmd/build/vite/workbench-generator.js +135 -0
  82. package/dist/cmd/build/vite/workbench-generator.js.map +1 -0
  83. package/dist/cmd/build/vite-bundler.d.ts +23 -0
  84. package/dist/cmd/build/vite-bundler.d.ts.map +1 -0
  85. package/dist/cmd/build/vite-bundler.js +79 -0
  86. package/dist/cmd/build/vite-bundler.js.map +1 -0
  87. package/dist/cmd/cloud/agent/get.d.ts.map +1 -1
  88. package/dist/cmd/cloud/agent/get.js +1 -0
  89. package/dist/cmd/cloud/agent/get.js.map +1 -1
  90. package/dist/cmd/cloud/agent/list.d.ts.map +1 -1
  91. package/dist/cmd/cloud/agent/list.js +1 -0
  92. package/dist/cmd/cloud/agent/list.js.map +1 -1
  93. package/dist/cmd/cloud/db/get.d.ts.map +1 -1
  94. package/dist/cmd/cloud/db/get.js +1 -0
  95. package/dist/cmd/cloud/db/get.js.map +1 -1
  96. package/dist/cmd/cloud/db/list.d.ts.map +1 -1
  97. package/dist/cmd/cloud/db/list.js +1 -0
  98. package/dist/cmd/cloud/db/list.js.map +1 -1
  99. package/dist/cmd/cloud/deploy.d.ts.map +1 -1
  100. package/dist/cmd/cloud/deploy.js +152 -128
  101. package/dist/cmd/cloud/deploy.js.map +1 -1
  102. package/dist/cmd/cloud/deployment/list.d.ts.map +1 -1
  103. package/dist/cmd/cloud/deployment/list.js +4 -0
  104. package/dist/cmd/cloud/deployment/list.js.map +1 -1
  105. package/dist/cmd/cloud/env/list.d.ts.map +1 -1
  106. package/dist/cmd/cloud/env/list.js +1 -0
  107. package/dist/cmd/cloud/env/list.js.map +1 -1
  108. package/dist/cmd/cloud/keyvalue/get.d.ts.map +1 -1
  109. package/dist/cmd/cloud/keyvalue/get.js +1 -0
  110. package/dist/cmd/cloud/keyvalue/get.js.map +1 -1
  111. package/dist/cmd/cloud/keyvalue/keys.d.ts.map +1 -1
  112. package/dist/cmd/cloud/keyvalue/keys.js +1 -0
  113. package/dist/cmd/cloud/keyvalue/keys.js.map +1 -1
  114. package/dist/cmd/cloud/keyvalue/list-namespaces.d.ts.map +1 -1
  115. package/dist/cmd/cloud/keyvalue/list-namespaces.js +1 -0
  116. package/dist/cmd/cloud/keyvalue/list-namespaces.js.map +1 -1
  117. package/dist/cmd/cloud/keyvalue/stats.d.ts.map +1 -1
  118. package/dist/cmd/cloud/keyvalue/stats.js +1 -0
  119. package/dist/cmd/cloud/keyvalue/stats.js.map +1 -1
  120. package/dist/cmd/cloud/secret/list.d.ts.map +1 -1
  121. package/dist/cmd/cloud/secret/list.js +1 -0
  122. package/dist/cmd/cloud/secret/list.js.map +1 -1
  123. package/dist/cmd/cloud/session/list.d.ts.map +1 -1
  124. package/dist/cmd/cloud/session/list.js +4 -0
  125. package/dist/cmd/cloud/session/list.js.map +1 -1
  126. package/dist/cmd/cloud/storage/get.d.ts.map +1 -1
  127. package/dist/cmd/cloud/storage/get.js +1 -0
  128. package/dist/cmd/cloud/storage/get.js.map +1 -1
  129. package/dist/cmd/cloud/storage/list.d.ts.map +1 -1
  130. package/dist/cmd/cloud/storage/list.js +3 -0
  131. package/dist/cmd/cloud/storage/list.js.map +1 -1
  132. package/dist/cmd/cloud/stream/get.d.ts.map +1 -1
  133. package/dist/cmd/cloud/stream/get.js +1 -0
  134. package/dist/cmd/cloud/stream/get.js.map +1 -1
  135. package/dist/cmd/cloud/stream/list.d.ts.map +1 -1
  136. package/dist/cmd/cloud/stream/list.js +1 -0
  137. package/dist/cmd/cloud/stream/list.js.map +1 -1
  138. package/dist/cmd/cloud/vector/get.d.ts.map +1 -1
  139. package/dist/cmd/cloud/vector/get.js +1 -0
  140. package/dist/cmd/cloud/vector/get.js.map +1 -1
  141. package/dist/cmd/cloud/vector/search.d.ts.map +1 -1
  142. package/dist/cmd/cloud/vector/search.js +1 -0
  143. package/dist/cmd/cloud/vector/search.js.map +1 -1
  144. package/dist/cmd/dev/index.d.ts.map +1 -1
  145. package/dist/cmd/dev/index.js +291 -751
  146. package/dist/cmd/dev/index.js.map +1 -1
  147. package/dist/cmd/dev/sync.d.ts +1 -1
  148. package/dist/cmd/dev/sync.d.ts.map +1 -1
  149. package/dist/cmd/dev/sync.js +3 -0
  150. package/dist/cmd/dev/sync.js.map +1 -1
  151. package/dist/cmd/profile/show.d.ts.map +1 -1
  152. package/dist/cmd/profile/show.js +3 -4
  153. package/dist/cmd/profile/show.js.map +1 -1
  154. package/dist/cmd/project/create.d.ts.map +1 -1
  155. package/dist/cmd/project/create.js +3 -4
  156. package/dist/cmd/project/create.js.map +1 -1
  157. package/dist/cmd/project/list.d.ts.map +1 -1
  158. package/dist/cmd/project/list.js +1 -0
  159. package/dist/cmd/project/list.js.map +1 -1
  160. package/dist/cmd/project/show.d.ts.map +1 -1
  161. package/dist/cmd/project/show.js +1 -0
  162. package/dist/cmd/project/show.js.map +1 -1
  163. package/dist/cmd/upgrade/index.d.ts.map +1 -1
  164. package/dist/cmd/upgrade/index.js +5 -3
  165. package/dist/cmd/upgrade/index.js.map +1 -1
  166. package/dist/config.d.ts +1 -1
  167. package/dist/config.d.ts.map +1 -1
  168. package/dist/config.js +29 -11
  169. package/dist/config.js.map +1 -1
  170. package/dist/index.d.ts +1 -1
  171. package/dist/index.d.ts.map +1 -1
  172. package/dist/index.js.map +1 -1
  173. package/dist/runtime-bootstrap.d.ts +3 -2
  174. package/dist/runtime-bootstrap.d.ts.map +1 -1
  175. package/dist/runtime-bootstrap.js +7 -2
  176. package/dist/runtime-bootstrap.js.map +1 -1
  177. package/dist/schemas/deploy.d.ts +1 -1
  178. package/dist/types.d.ts +40 -1
  179. package/dist/types.d.ts.map +1 -1
  180. package/dist/types.js.map +1 -1
  181. package/dist/utils/bun-version-checker.d.ts +11 -0
  182. package/dist/utils/bun-version-checker.d.ts.map +1 -0
  183. package/dist/utils/bun-version-checker.js +56 -0
  184. package/dist/utils/bun-version-checker.js.map +1 -0
  185. package/dist/version-check.d.ts.map +1 -1
  186. package/dist/version-check.js +5 -2
  187. package/dist/version-check.js.map +1 -1
  188. package/package.json +10 -3
  189. package/src/auth.ts +9 -5
  190. package/src/banner.ts +1 -1
  191. package/src/cli.ts +228 -29
  192. package/src/cmd/auth/signup.ts +1 -1
  193. package/src/cmd/build/ast.ts +7 -0
  194. package/src/cmd/build/entry-generator.ts +404 -0
  195. package/src/cmd/build/index.ts +7 -28
  196. package/src/cmd/build/vite/agent-discovery.ts +467 -0
  197. package/src/cmd/build/vite/browser-env-plugin.ts +34 -0
  198. package/src/cmd/build/vite/bun-dev-server.ts +78 -0
  199. package/src/cmd/build/vite/config-loader.ts +70 -0
  200. package/src/cmd/build/vite/index.ts +166 -0
  201. package/src/cmd/build/vite/lifecycle-generator.ts +43 -0
  202. package/src/cmd/build/vite/metadata-generator.ts +602 -0
  203. package/src/cmd/build/vite/patch-plugin.ts +88 -0
  204. package/src/cmd/build/vite/registry-generator.ts +288 -0
  205. package/src/cmd/build/vite/route-discovery.ts +186 -0
  206. package/src/cmd/build/vite/server-bundler.ts +258 -0
  207. package/src/cmd/build/vite/vite-asset-server-config.ts +134 -0
  208. package/src/cmd/build/vite/vite-asset-server.ts +63 -0
  209. package/src/cmd/build/vite/vite-builder.ts +284 -0
  210. package/src/cmd/build/vite/workbench-generator.ts +152 -0
  211. package/src/cmd/build/vite-bundler.ts +110 -0
  212. package/src/cmd/cloud/agent/get.ts +2 -0
  213. package/src/cmd/cloud/agent/list.ts +1 -0
  214. package/src/cmd/cloud/db/get.ts +1 -0
  215. package/src/cmd/cloud/db/list.ts +1 -0
  216. package/src/cmd/cloud/deploy.ts +175 -144
  217. package/src/cmd/cloud/deployment/list.ts +4 -0
  218. package/src/cmd/cloud/env/list.ts +1 -0
  219. package/src/cmd/cloud/keyvalue/get.ts +1 -0
  220. package/src/cmd/cloud/keyvalue/keys.ts +1 -0
  221. package/src/cmd/cloud/keyvalue/list-namespaces.ts +1 -0
  222. package/src/cmd/cloud/keyvalue/stats.ts +2 -0
  223. package/src/cmd/cloud/secret/list.ts +1 -0
  224. package/src/cmd/cloud/session/list.ts +4 -0
  225. package/src/cmd/cloud/storage/get.ts +1 -0
  226. package/src/cmd/cloud/storage/list.ts +4 -0
  227. package/src/cmd/cloud/stream/get.ts +1 -0
  228. package/src/cmd/cloud/stream/list.ts +1 -0
  229. package/src/cmd/cloud/vector/get.ts +1 -0
  230. package/src/cmd/cloud/vector/search.ts +1 -0
  231. package/src/cmd/dev/index.ts +323 -914
  232. package/src/cmd/dev/sync.ts +5 -1
  233. package/src/cmd/profile/show.ts +3 -4
  234. package/src/cmd/project/create.ts +3 -4
  235. package/src/cmd/project/list.ts +1 -0
  236. package/src/cmd/project/show.ts +1 -0
  237. package/src/cmd/upgrade/index.ts +6 -3
  238. package/src/config.ts +31 -11
  239. package/src/index.ts +2 -0
  240. package/src/runtime-bootstrap.ts +8 -2
  241. package/src/types.ts +48 -1
  242. package/src/utils/bun-version-checker.ts +70 -0
  243. package/src/version-check.ts +6 -2
  244. package/dist/cmd/build/bundler.d.ts +0 -22
  245. package/dist/cmd/build/bundler.d.ts.map +0 -1
  246. package/dist/cmd/build/bundler.js +0 -766
  247. package/dist/cmd/build/bundler.js.map +0 -1
  248. package/dist/cmd/build/config-loader.d.ts +0 -16
  249. package/dist/cmd/build/config-loader.d.ts.map +0 -1
  250. package/dist/cmd/build/config-loader.js +0 -227
  251. package/dist/cmd/build/config-loader.js.map +0 -1
  252. package/dist/cmd/build/file.d.ts +0 -2
  253. package/dist/cmd/build/file.d.ts.map +0 -1
  254. package/dist/cmd/build/file.js +0 -10
  255. package/dist/cmd/build/file.js.map +0 -1
  256. package/dist/cmd/build/fix-duplicate-exports.d.ts +0 -2
  257. package/dist/cmd/build/fix-duplicate-exports.d.ts.map +0 -1
  258. package/dist/cmd/build/fix-duplicate-exports.js +0 -170
  259. package/dist/cmd/build/fix-duplicate-exports.js.map +0 -1
  260. package/dist/cmd/build/plugin.d.ts +0 -6
  261. package/dist/cmd/build/plugin.d.ts.map +0 -1
  262. package/dist/cmd/build/plugin.js +0 -645
  263. package/dist/cmd/build/plugin.js.map +0 -1
  264. package/dist/cmd/build/route-discovery.d.ts +0 -54
  265. package/dist/cmd/build/route-discovery.d.ts.map +0 -1
  266. package/dist/cmd/build/route-discovery.js +0 -148
  267. package/dist/cmd/build/route-discovery.js.map +0 -1
  268. package/dist/cmd/build/route-registry.d.ts +0 -38
  269. package/dist/cmd/build/route-registry.d.ts.map +0 -1
  270. package/dist/cmd/build/route-registry.js.map +0 -1
  271. package/src/cmd/build/bundler.ts +0 -927
  272. package/src/cmd/build/config-loader.ts +0 -268
  273. package/src/cmd/build/file.ts +0 -10
  274. package/src/cmd/build/fix-duplicate-exports.ts +0 -207
  275. package/src/cmd/build/plugin.ts +0 -782
  276. package/src/cmd/build/route-discovery.ts +0 -202
  277. package/src/cmd/build/route-registry.ts +0 -222
@@ -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":"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"}
@@ -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"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Config loader for agentuity.config.ts
3
+ */
4
+ import { join } from 'node:path';
5
+ /**
6
+ * Load agentuity.config.ts from the project root
7
+ * Returns null if the file doesn't exist or fails to load
8
+ */
9
+ export async function loadAgentuityConfig(rootDir, logger) {
10
+ const configPath = join(rootDir, 'agentuity.config.ts');
11
+ if (!(await Bun.file(configPath).exists())) {
12
+ logger.trace('No agentuity.config.ts found');
13
+ return null;
14
+ }
15
+ try {
16
+ const config = await import(configPath);
17
+ const userConfig = config.default;
18
+ if (!userConfig) {
19
+ logger.warn('agentuity.config.ts does not export a default configuration');
20
+ return null;
21
+ }
22
+ logger.trace('Loaded agentuity.config.ts');
23
+ return userConfig;
24
+ }
25
+ catch (error) {
26
+ logger.warn('Failed to load agentuity.config.ts:', error);
27
+ return null;
28
+ }
29
+ }
30
+ /**
31
+ * Get workbench configuration with defaults
32
+ * NOTE: Workbench is only available in dev mode
33
+ *
34
+ * Presence of workbench config implicitly enables it (no explicit 'enabled' flag needed)
35
+ * Missing workbench config implicitly disables it
36
+ */
37
+ export function getWorkbenchConfig(config, dev) {
38
+ const hasWorkbenchConfig = config?.workbench !== undefined;
39
+ // Workbench is enabled if:
40
+ // 1. In dev mode (never in production)
41
+ // 2. Config has a workbench object (presence implies enablement)
42
+ const enabled = dev && hasWorkbenchConfig;
43
+ const workbench = config?.workbench || {};
44
+ return {
45
+ enabled,
46
+ route: workbench.route ?? '/workbench',
47
+ headers: workbench.headers ?? {},
48
+ };
49
+ }
50
+ //# sourceMappingURL=config-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../../../src/cmd/build/vite/config-loader.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACxC,OAAe,EACf,MAAc;IAEd,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;IAExD,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;QACxC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAsC,CAAC;QAEjE,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;YAC3E,OAAO,IAAI,CAAC;QACb,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAC3C,OAAO,UAAU,CAAC;IACnB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CACjC,MAA8B,EAC9B,GAAY;IAMZ,MAAM,kBAAkB,GAAG,MAAM,EAAE,SAAS,KAAK,SAAS,CAAC;IAE3D,2BAA2B;IAC3B,uCAAuC;IACvC,iEAAiE;IACjE,MAAM,OAAO,GAAG,GAAG,IAAI,kBAAkB,CAAC;IAE1C,MAAM,SAAS,GAAG,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC;IAE1C,OAAO;QACN,OAAO;QACP,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,YAAY;QACtC,OAAO,EAAE,SAAS,CAAC,OAAO,IAAI,EAAE;KAChC,CAAC;AACH,CAAC"}
@@ -0,0 +1,26 @@
1
+ import type { Plugin } from 'vite';
2
+ import type { LogLevel } from '../../../types';
3
+ export { patchPlugin } from './patch-plugin';
4
+ export { browserEnvPlugin } from './browser-env-plugin';
5
+ export interface AgentuityPluginOptions {
6
+ dev?: boolean;
7
+ rootDir: string;
8
+ projectId?: string;
9
+ orgId?: string;
10
+ deploymentId?: string;
11
+ logLevel?: LogLevel;
12
+ }
13
+ /**
14
+ * Agentuity Vite Plugin
15
+ *
16
+ * Responsibilities:
17
+ * - Agent discovery via READ-ONLY AST analysis
18
+ * - Route discovery via READ-ONLY AST analysis
19
+ * - Registry generation (.agentuity/registry.generated.ts)
20
+ * - Lifecycle types generation (.agentuity/lifecycle.generated.d.ts)
21
+ * - Entry file generation (.agentuity/agentuity_app.generated.ts)
22
+ * - Virtual modules (virtual:agentuity/agents, virtual:agentuity/routes)
23
+ * - Metadata generation (agentuity.metadata.json)
24
+ */
25
+ export declare function agentuityPlugin(options: AgentuityPluginOptions): Plugin;
26
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cmd/build/vite/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAGnC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAU/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,MAAM,WAAW,sBAAsB;IACtC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,CAgIvE"}