@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
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import type { Plugin } from 'vite';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
import { createLogger } from '@agentuity/server';
|
|
4
|
+
import type { LogLevel } from '../../../types';
|
|
5
|
+
import { discoverAgents, type AgentMetadata } from './agent-discovery';
|
|
6
|
+
import { discoverRoutes, type RouteMetadata, type RouteInfo } from './route-discovery';
|
|
7
|
+
import { generateAgentRegistry, generateRouteRegistry } from './registry-generator';
|
|
8
|
+
import { generateLifecycleTypes } from './lifecycle-generator';
|
|
9
|
+
import { generateMetadata, writeMetadataFile, generateRouteMapping } from './metadata-generator';
|
|
10
|
+
import { generateEntryFile } from '../entry-generator';
|
|
11
|
+
import { loadAgentuityConfig, getWorkbenchConfig } from './config-loader';
|
|
12
|
+
|
|
13
|
+
// Re-export plugins
|
|
14
|
+
export { patchPlugin } from './patch-plugin';
|
|
15
|
+
export { browserEnvPlugin } from './browser-env-plugin';
|
|
16
|
+
|
|
17
|
+
export interface AgentuityPluginOptions {
|
|
18
|
+
dev?: boolean;
|
|
19
|
+
rootDir: string;
|
|
20
|
+
projectId?: string;
|
|
21
|
+
orgId?: string;
|
|
22
|
+
deploymentId?: string;
|
|
23
|
+
logLevel?: LogLevel;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Agentuity Vite Plugin
|
|
28
|
+
*
|
|
29
|
+
* Responsibilities:
|
|
30
|
+
* - Agent discovery via READ-ONLY AST analysis
|
|
31
|
+
* - Route discovery via READ-ONLY AST analysis
|
|
32
|
+
* - Registry generation (.agentuity/registry.generated.ts)
|
|
33
|
+
* - Lifecycle types generation (.agentuity/lifecycle.generated.d.ts)
|
|
34
|
+
* - Entry file generation (.agentuity/agentuity_app.generated.ts)
|
|
35
|
+
* - Virtual modules (virtual:agentuity/agents, virtual:agentuity/routes)
|
|
36
|
+
* - Metadata generation (agentuity.metadata.json)
|
|
37
|
+
*/
|
|
38
|
+
export function agentuityPlugin(options: AgentuityPluginOptions): Plugin {
|
|
39
|
+
const {
|
|
40
|
+
dev = false,
|
|
41
|
+
rootDir,
|
|
42
|
+
projectId = '',
|
|
43
|
+
orgId = '',
|
|
44
|
+
deploymentId = '',
|
|
45
|
+
logLevel = 'info',
|
|
46
|
+
} = options;
|
|
47
|
+
const logger = createLogger(logLevel);
|
|
48
|
+
const srcDir = join(rootDir, 'src');
|
|
49
|
+
|
|
50
|
+
// Store discovered metadata
|
|
51
|
+
let agents: AgentMetadata[] = [];
|
|
52
|
+
let routes: RouteMetadata[] = [];
|
|
53
|
+
let routeInfoList: RouteInfo[] = [];
|
|
54
|
+
|
|
55
|
+
logger.trace('Initializing Agentuity Vite plugin', { dev, rootDir, projectId, deploymentId });
|
|
56
|
+
|
|
57
|
+
return {
|
|
58
|
+
name: 'agentuity',
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Discovery phase - runs at build start
|
|
62
|
+
* READ-ONLY AST analysis to discover agents and routes
|
|
63
|
+
*/
|
|
64
|
+
async buildStart() {
|
|
65
|
+
logger.trace('buildStart: Discovering agents and routes');
|
|
66
|
+
|
|
67
|
+
// Load agentuity.config.ts for entry file generation
|
|
68
|
+
const config = await loadAgentuityConfig(rootDir, logger);
|
|
69
|
+
const workbenchConfig = getWorkbenchConfig(config, dev);
|
|
70
|
+
|
|
71
|
+
// Note: Workbench files are generated in runAllBuilds() BEFORE builds start (dev mode only)
|
|
72
|
+
// We just need the config here for entry file generation
|
|
73
|
+
|
|
74
|
+
// Discover agents (read-only)
|
|
75
|
+
agents = await discoverAgents(srcDir, projectId, deploymentId, logger);
|
|
76
|
+
|
|
77
|
+
// Discover routes (read-only)
|
|
78
|
+
const routeDiscovery = await discoverRoutes(srcDir, projectId, deploymentId, logger);
|
|
79
|
+
routes = routeDiscovery.routes;
|
|
80
|
+
routeInfoList = routeDiscovery.routeInfoList;
|
|
81
|
+
|
|
82
|
+
// Generate registries
|
|
83
|
+
if (agents.length > 0) {
|
|
84
|
+
generateAgentRegistry(srcDir, agents);
|
|
85
|
+
logger.trace('Generated agent registry with %d agent(s)', agents.length);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
if (routeInfoList.length > 0) {
|
|
89
|
+
generateRouteRegistry(srcDir, routeInfoList);
|
|
90
|
+
logger.trace('Generated route registry with %d route(s)', routeInfoList.length);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
// Generate lifecycle types
|
|
94
|
+
await generateLifecycleTypes(rootDir, srcDir, logger);
|
|
95
|
+
|
|
96
|
+
// Generate entry file (pass workbench config for route mounting)
|
|
97
|
+
await generateEntryFile({
|
|
98
|
+
rootDir,
|
|
99
|
+
projectId,
|
|
100
|
+
deploymentId,
|
|
101
|
+
logger,
|
|
102
|
+
mode: dev ? 'dev' : 'prod',
|
|
103
|
+
workbench: workbenchConfig.enabled ? workbenchConfig : undefined,
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
logger.trace('buildStart: Discovery complete');
|
|
107
|
+
},
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Virtual module resolution
|
|
111
|
+
* Provides virtual:agentuity/agents and virtual:agentuity/routes
|
|
112
|
+
*/
|
|
113
|
+
resolveId(id) {
|
|
114
|
+
if (id === 'virtual:agentuity/agents') {
|
|
115
|
+
return '\0virtual:agentuity/agents';
|
|
116
|
+
}
|
|
117
|
+
if (id === 'virtual:agentuity/routes') {
|
|
118
|
+
return '\0virtual:agentuity/routes';
|
|
119
|
+
}
|
|
120
|
+
return null;
|
|
121
|
+
},
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* Load virtual modules
|
|
125
|
+
* Returns code for virtual modules
|
|
126
|
+
*/
|
|
127
|
+
load(id) {
|
|
128
|
+
if (id === '\0virtual:agentuity/agents') {
|
|
129
|
+
// Re-export from generated registry
|
|
130
|
+
return `export { agentRegistry } from '../.agentuity/registry.generated.js';`;
|
|
131
|
+
}
|
|
132
|
+
if (id === '\0virtual:agentuity/routes') {
|
|
133
|
+
// Re-export from generated route registry
|
|
134
|
+
return `export { routeRegistry } from '../.agentuity/routes.generated.js';`;
|
|
135
|
+
}
|
|
136
|
+
return null;
|
|
137
|
+
},
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Write metadata after bundle is complete
|
|
141
|
+
*/
|
|
142
|
+
async writeBundle() {
|
|
143
|
+
logger.trace('writeBundle: Writing agentuity.metadata.json');
|
|
144
|
+
|
|
145
|
+
// Generate metadata from discovered agents and routes
|
|
146
|
+
const metadata = await generateMetadata({
|
|
147
|
+
rootDir,
|
|
148
|
+
projectId,
|
|
149
|
+
orgId,
|
|
150
|
+
deploymentId,
|
|
151
|
+
agents,
|
|
152
|
+
routes,
|
|
153
|
+
dev,
|
|
154
|
+
logger,
|
|
155
|
+
});
|
|
156
|
+
|
|
157
|
+
// Write metadata file
|
|
158
|
+
writeMetadataFile(rootDir, metadata, dev, logger);
|
|
159
|
+
|
|
160
|
+
// Generate route mapping file
|
|
161
|
+
generateRouteMapping(rootDir, routes, dev, logger);
|
|
162
|
+
|
|
163
|
+
logger.trace('writeBundle: Complete');
|
|
164
|
+
},
|
|
165
|
+
};
|
|
166
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lifecycle Types Generator
|
|
3
|
+
*
|
|
4
|
+
* Generates .agentuity/lifecycle.generated.d.ts by analyzing app.ts for setup() function
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { join } from 'node:path';
|
|
8
|
+
import { generateLifecycleTypes as generateLifecycleTypesFromAST } from '../ast';
|
|
9
|
+
import type { Logger } from '../../../types';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Setup lifecycle types by analyzing app.ts for setup() function
|
|
13
|
+
*/
|
|
14
|
+
export async function generateLifecycleTypes(
|
|
15
|
+
rootDir: string,
|
|
16
|
+
srcDir: string,
|
|
17
|
+
logger: Logger
|
|
18
|
+
): Promise<boolean> {
|
|
19
|
+
const outDir = join(rootDir, '.agentuity');
|
|
20
|
+
|
|
21
|
+
// Look for app.ts in both root and src directories
|
|
22
|
+
const rootAppFile = join(rootDir, 'app.ts');
|
|
23
|
+
const srcAppFile = join(srcDir, 'app.ts');
|
|
24
|
+
|
|
25
|
+
let appFile = '';
|
|
26
|
+
if (await Bun.file(rootAppFile).exists()) {
|
|
27
|
+
appFile = rootAppFile;
|
|
28
|
+
} else if (await Bun.file(srcAppFile).exists()) {
|
|
29
|
+
appFile = srcAppFile;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
if (!appFile || !(await Bun.file(appFile).exists())) {
|
|
33
|
+
logger.trace('No app.ts found for lifecycle types generation');
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
try {
|
|
38
|
+
return await generateLifecycleTypesFromAST(rootDir, outDir, appFile);
|
|
39
|
+
} catch (error) {
|
|
40
|
+
logger.error('Failed to generate lifecycle types:', error);
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
}
|