@agentuity/cli 0.0.95 → 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.
- package/AGENTS.md +54 -0
- package/dist/auth.d.ts +1 -1
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +8 -5
- package/dist/auth.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +190 -27
- package/dist/cli.js.map +1 -1
- package/dist/cmd/build/entry-generator.d.ts +20 -0
- package/dist/cmd/build/entry-generator.d.ts.map +1 -0
- package/dist/cmd/build/entry-generator.js +366 -0
- package/dist/cmd/build/entry-generator.js.map +1 -0
- package/dist/cmd/build/index.d.ts.map +1 -1
- package/dist/cmd/build/index.js +5 -23
- package/dist/cmd/build/index.js.map +1 -1
- package/dist/cmd/build/vite/agent-discovery.d.ts +33 -0
- package/dist/cmd/build/vite/agent-discovery.d.ts.map +1 -0
- package/dist/cmd/build/vite/agent-discovery.js +297 -0
- package/dist/cmd/build/vite/agent-discovery.js.map +1 -0
- package/dist/cmd/build/vite/browser-env-plugin.d.ts +9 -0
- package/dist/cmd/build/vite/browser-env-plugin.d.ts.map +1 -0
- package/dist/cmd/build/vite/browser-env-plugin.js +28 -0
- package/dist/cmd/build/vite/browser-env-plugin.js.map +1 -0
- package/dist/cmd/build/vite/bun-dev-server.d.ts +29 -0
- package/dist/cmd/build/vite/bun-dev-server.d.ts.map +1 -0
- package/dist/cmd/build/vite/bun-dev-server.js +54 -0
- package/dist/cmd/build/vite/bun-dev-server.js.map +1 -0
- package/dist/cmd/build/vite/config-loader.d.ts +23 -0
- package/dist/cmd/build/vite/config-loader.d.ts.map +1 -0
- package/dist/cmd/build/vite/config-loader.js +50 -0
- package/dist/cmd/build/vite/config-loader.js.map +1 -0
- package/dist/cmd/build/vite/index.d.ts +26 -0
- package/dist/cmd/build/vite/index.d.ts.map +1 -0
- package/dist/cmd/build/vite/index.js +127 -0
- package/dist/cmd/build/vite/index.js.map +1 -0
- package/dist/cmd/build/vite/lifecycle-generator.d.ts +11 -0
- package/dist/cmd/build/vite/lifecycle-generator.d.ts.map +1 -0
- package/dist/cmd/build/vite/lifecycle-generator.js +35 -0
- package/dist/cmd/build/vite/lifecycle-generator.js.map +1 -0
- package/dist/cmd/build/vite/metadata-generator.d.ts +32 -0
- package/dist/cmd/build/vite/metadata-generator.d.ts.map +1 -0
- package/dist/cmd/build/vite/metadata-generator.js +489 -0
- package/dist/cmd/build/vite/metadata-generator.js.map +1 -0
- package/dist/cmd/build/vite/patch-plugin.d.ts +21 -0
- package/dist/cmd/build/vite/patch-plugin.d.ts.map +1 -0
- package/dist/cmd/build/vite/patch-plugin.js +70 -0
- package/dist/cmd/build/vite/patch-plugin.js.map +1 -0
- package/dist/cmd/build/vite/registry-generator.d.ts +19 -0
- package/dist/cmd/build/vite/registry-generator.d.ts.map +1 -0
- package/dist/cmd/build/{route-registry.js → vite/registry-generator.js} +126 -48
- package/dist/cmd/build/vite/registry-generator.js.map +1 -0
- package/dist/cmd/build/vite/route-discovery.d.ts +58 -0
- package/dist/cmd/build/vite/route-discovery.d.ts.map +1 -0
- package/dist/cmd/build/vite/route-discovery.js +125 -0
- package/dist/cmd/build/vite/route-discovery.js.map +1 -0
- package/dist/cmd/build/vite/server-bundler.d.ts +16 -0
- package/dist/cmd/build/vite/server-bundler.d.ts.map +1 -0
- package/dist/cmd/build/vite/server-bundler.js +194 -0
- package/dist/cmd/build/vite/server-bundler.js.map +1 -0
- package/dist/cmd/build/vite/vite-asset-server-config.d.ts +19 -0
- package/dist/cmd/build/vite/vite-asset-server-config.d.ts.map +1 -0
- package/dist/cmd/build/vite/vite-asset-server-config.js +105 -0
- package/dist/cmd/build/vite/vite-asset-server-config.js.map +1 -0
- package/dist/cmd/build/vite/vite-asset-server.d.ts +23 -0
- package/dist/cmd/build/vite/vite-asset-server.d.ts.map +1 -0
- package/dist/cmd/build/vite/vite-asset-server.js +40 -0
- package/dist/cmd/build/vite/vite-asset-server.js.map +1 -0
- package/dist/cmd/build/vite/vite-builder.d.ts +44 -0
- package/dist/cmd/build/vite/vite-builder.d.ts.map +1 -0
- package/dist/cmd/build/vite/vite-builder.js +232 -0
- package/dist/cmd/build/vite/vite-builder.js.map +1 -0
- package/dist/cmd/build/vite/workbench-generator.d.ts +10 -0
- package/dist/cmd/build/vite/workbench-generator.d.ts.map +1 -0
- package/dist/cmd/build/vite/workbench-generator.js +135 -0
- package/dist/cmd/build/vite/workbench-generator.js.map +1 -0
- package/dist/cmd/build/vite-bundler.d.ts +23 -0
- package/dist/cmd/build/vite-bundler.d.ts.map +1 -0
- package/dist/cmd/build/vite-bundler.js +79 -0
- package/dist/cmd/build/vite-bundler.js.map +1 -0
- package/dist/cmd/cloud/agent/get.d.ts.map +1 -1
- package/dist/cmd/cloud/agent/get.js +1 -0
- package/dist/cmd/cloud/agent/get.js.map +1 -1
- package/dist/cmd/cloud/agent/list.d.ts.map +1 -1
- package/dist/cmd/cloud/agent/list.js +1 -0
- package/dist/cmd/cloud/agent/list.js.map +1 -1
- package/dist/cmd/cloud/db/get.d.ts.map +1 -1
- package/dist/cmd/cloud/db/get.js +1 -0
- package/dist/cmd/cloud/db/get.js.map +1 -1
- package/dist/cmd/cloud/db/list.d.ts.map +1 -1
- package/dist/cmd/cloud/db/list.js +1 -0
- package/dist/cmd/cloud/db/list.js.map +1 -1
- package/dist/cmd/cloud/deploy.d.ts.map +1 -1
- package/dist/cmd/cloud/deploy.js +152 -128
- package/dist/cmd/cloud/deploy.js.map +1 -1
- package/dist/cmd/cloud/deployment/list.d.ts.map +1 -1
- package/dist/cmd/cloud/deployment/list.js +4 -0
- package/dist/cmd/cloud/deployment/list.js.map +1 -1
- package/dist/cmd/cloud/env/list.d.ts.map +1 -1
- package/dist/cmd/cloud/env/list.js +1 -0
- package/dist/cmd/cloud/env/list.js.map +1 -1
- package/dist/cmd/cloud/keyvalue/get.d.ts.map +1 -1
- package/dist/cmd/cloud/keyvalue/get.js +1 -0
- package/dist/cmd/cloud/keyvalue/get.js.map +1 -1
- package/dist/cmd/cloud/keyvalue/keys.d.ts.map +1 -1
- package/dist/cmd/cloud/keyvalue/keys.js +1 -0
- package/dist/cmd/cloud/keyvalue/keys.js.map +1 -1
- package/dist/cmd/cloud/keyvalue/list-namespaces.d.ts.map +1 -1
- package/dist/cmd/cloud/keyvalue/list-namespaces.js +1 -0
- package/dist/cmd/cloud/keyvalue/list-namespaces.js.map +1 -1
- package/dist/cmd/cloud/keyvalue/stats.d.ts.map +1 -1
- package/dist/cmd/cloud/keyvalue/stats.js +1 -0
- package/dist/cmd/cloud/keyvalue/stats.js.map +1 -1
- package/dist/cmd/cloud/secret/list.d.ts.map +1 -1
- package/dist/cmd/cloud/secret/list.js +1 -0
- package/dist/cmd/cloud/secret/list.js.map +1 -1
- package/dist/cmd/cloud/session/list.d.ts.map +1 -1
- package/dist/cmd/cloud/session/list.js +4 -0
- package/dist/cmd/cloud/session/list.js.map +1 -1
- package/dist/cmd/cloud/storage/get.d.ts.map +1 -1
- package/dist/cmd/cloud/storage/get.js +1 -0
- package/dist/cmd/cloud/storage/get.js.map +1 -1
- package/dist/cmd/cloud/storage/list.d.ts.map +1 -1
- package/dist/cmd/cloud/storage/list.js +3 -0
- package/dist/cmd/cloud/storage/list.js.map +1 -1
- package/dist/cmd/cloud/stream/get.d.ts.map +1 -1
- package/dist/cmd/cloud/stream/get.js +1 -0
- package/dist/cmd/cloud/stream/get.js.map +1 -1
- package/dist/cmd/cloud/stream/list.d.ts.map +1 -1
- package/dist/cmd/cloud/stream/list.js +1 -0
- package/dist/cmd/cloud/stream/list.js.map +1 -1
- package/dist/cmd/cloud/vector/get.d.ts.map +1 -1
- package/dist/cmd/cloud/vector/get.js +1 -0
- package/dist/cmd/cloud/vector/get.js.map +1 -1
- package/dist/cmd/cloud/vector/search.d.ts.map +1 -1
- package/dist/cmd/cloud/vector/search.js +1 -0
- package/dist/cmd/cloud/vector/search.js.map +1 -1
- package/dist/cmd/dev/index.d.ts.map +1 -1
- package/dist/cmd/dev/index.js +289 -758
- package/dist/cmd/dev/index.js.map +1 -1
- package/dist/cmd/dev/sync.d.ts +1 -1
- package/dist/cmd/dev/sync.d.ts.map +1 -1
- package/dist/cmd/dev/sync.js +3 -0
- package/dist/cmd/dev/sync.js.map +1 -1
- package/dist/cmd/profile/show.d.ts.map +1 -1
- package/dist/cmd/profile/show.js +3 -4
- package/dist/cmd/profile/show.js.map +1 -1
- package/dist/cmd/project/create.d.ts.map +1 -1
- package/dist/cmd/project/create.js +3 -4
- package/dist/cmd/project/create.js.map +1 -1
- package/dist/cmd/project/list.d.ts.map +1 -1
- package/dist/cmd/project/list.js +1 -0
- package/dist/cmd/project/list.js.map +1 -1
- package/dist/cmd/project/show.d.ts.map +1 -1
- package/dist/cmd/project/show.js +1 -0
- package/dist/cmd/project/show.js.map +1 -1
- package/dist/cmd/upgrade/index.d.ts.map +1 -1
- package/dist/cmd/upgrade/index.js +5 -3
- package/dist/cmd/upgrade/index.js.map +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +29 -11
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/runtime-bootstrap.d.ts +3 -2
- package/dist/runtime-bootstrap.d.ts.map +1 -1
- package/dist/runtime-bootstrap.js +7 -2
- package/dist/runtime-bootstrap.js.map +1 -1
- package/dist/schemas/deploy.d.ts +1 -1
- package/dist/types.d.ts +40 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/bun-version-checker.d.ts +11 -0
- package/dist/utils/bun-version-checker.d.ts.map +1 -0
- package/dist/utils/bun-version-checker.js +56 -0
- package/dist/utils/bun-version-checker.js.map +1 -0
- package/dist/version-check.d.ts.map +1 -1
- package/dist/version-check.js +5 -2
- package/dist/version-check.js.map +1 -1
- package/package.json +10 -3
- package/src/auth.ts +9 -5
- package/src/cli.ts +228 -29
- package/src/cmd/build/entry-generator.ts +404 -0
- package/src/cmd/build/index.ts +7 -28
- package/src/cmd/build/vite/agent-discovery.ts +467 -0
- package/src/cmd/build/vite/browser-env-plugin.ts +34 -0
- package/src/cmd/build/vite/bun-dev-server.ts +78 -0
- package/src/cmd/build/vite/config-loader.ts +70 -0
- package/src/cmd/build/vite/index.ts +166 -0
- package/src/cmd/build/vite/lifecycle-generator.ts +43 -0
- package/src/cmd/build/vite/metadata-generator.ts +602 -0
- package/src/cmd/build/vite/patch-plugin.ts +88 -0
- package/src/cmd/build/vite/registry-generator.ts +288 -0
- package/src/cmd/build/vite/route-discovery.ts +186 -0
- package/src/cmd/build/vite/server-bundler.ts +258 -0
- package/src/cmd/build/vite/vite-asset-server-config.ts +134 -0
- package/src/cmd/build/vite/vite-asset-server.ts +63 -0
- package/src/cmd/build/vite/vite-builder.ts +284 -0
- package/src/cmd/build/vite/workbench-generator.ts +152 -0
- package/src/cmd/build/vite-bundler.ts +110 -0
- package/src/cmd/cloud/agent/get.ts +2 -0
- package/src/cmd/cloud/agent/list.ts +1 -0
- package/src/cmd/cloud/db/get.ts +1 -0
- package/src/cmd/cloud/db/list.ts +1 -0
- package/src/cmd/cloud/deploy.ts +175 -144
- package/src/cmd/cloud/deployment/list.ts +4 -0
- package/src/cmd/cloud/env/list.ts +1 -0
- package/src/cmd/cloud/keyvalue/get.ts +1 -0
- package/src/cmd/cloud/keyvalue/keys.ts +1 -0
- package/src/cmd/cloud/keyvalue/list-namespaces.ts +1 -0
- package/src/cmd/cloud/keyvalue/stats.ts +2 -0
- package/src/cmd/cloud/secret/list.ts +1 -0
- package/src/cmd/cloud/session/list.ts +4 -0
- package/src/cmd/cloud/storage/get.ts +1 -0
- package/src/cmd/cloud/storage/list.ts +4 -0
- package/src/cmd/cloud/stream/get.ts +1 -0
- package/src/cmd/cloud/stream/list.ts +1 -0
- package/src/cmd/cloud/vector/get.ts +1 -0
- package/src/cmd/cloud/vector/search.ts +1 -0
- package/src/cmd/dev/index.ts +319 -921
- package/src/cmd/dev/sync.ts +5 -1
- package/src/cmd/profile/show.ts +3 -4
- package/src/cmd/project/create.ts +3 -4
- package/src/cmd/project/list.ts +1 -0
- package/src/cmd/project/show.ts +1 -0
- package/src/cmd/upgrade/index.ts +6 -3
- package/src/config.ts +31 -11
- package/src/index.ts +2 -0
- package/src/runtime-bootstrap.ts +8 -2
- package/src/types.ts +48 -1
- package/src/utils/bun-version-checker.ts +70 -0
- package/src/version-check.ts +6 -2
- package/dist/cmd/build/bundler.d.ts +0 -28
- package/dist/cmd/build/bundler.d.ts.map +0 -1
- package/dist/cmd/build/bundler.js +0 -800
- package/dist/cmd/build/bundler.js.map +0 -1
- package/dist/cmd/build/config-loader.d.ts +0 -16
- package/dist/cmd/build/config-loader.d.ts.map +0 -1
- package/dist/cmd/build/config-loader.js +0 -227
- package/dist/cmd/build/config-loader.js.map +0 -1
- package/dist/cmd/build/file.d.ts +0 -2
- package/dist/cmd/build/file.d.ts.map +0 -1
- package/dist/cmd/build/file.js +0 -10
- package/dist/cmd/build/file.js.map +0 -1
- package/dist/cmd/build/fix-duplicate-exports.d.ts +0 -2
- package/dist/cmd/build/fix-duplicate-exports.d.ts.map +0 -1
- package/dist/cmd/build/fix-duplicate-exports.js +0 -170
- package/dist/cmd/build/fix-duplicate-exports.js.map +0 -1
- package/dist/cmd/build/plugin.d.ts +0 -6
- package/dist/cmd/build/plugin.d.ts.map +0 -1
- package/dist/cmd/build/plugin.js +0 -645
- package/dist/cmd/build/plugin.js.map +0 -1
- package/dist/cmd/build/route-discovery.d.ts +0 -54
- package/dist/cmd/build/route-discovery.d.ts.map +0 -1
- package/dist/cmd/build/route-discovery.js +0 -148
- package/dist/cmd/build/route-discovery.js.map +0 -1
- package/dist/cmd/build/route-registry.d.ts +0 -38
- package/dist/cmd/build/route-registry.d.ts.map +0 -1
- package/dist/cmd/build/route-registry.js.map +0 -1
- package/src/cmd/build/bundler.ts +0 -965
- package/src/cmd/build/config-loader.ts +0 -268
- package/src/cmd/build/file.ts +0 -10
- package/src/cmd/build/fix-duplicate-exports.ts +0 -207
- package/src/cmd/build/plugin.ts +0 -782
- package/src/cmd/build/route-discovery.ts +0 -202
- package/src/cmd/build/route-registry.ts +0 -222
package/dist/cmd/build/index.js
CHANGED
|
@@ -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 {
|
|
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(`
|
|
49
|
-
|
|
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
|
-
|
|
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('
|
|
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":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,
|
|
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":"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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"}
|