@agentuity/cli 1.0.59 → 2.0.0-beta.1
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/bin/cli.ts +2 -3
- package/dist/cmd/build/app-config-extractor.d.ts +27 -0
- package/dist/cmd/build/app-config-extractor.d.ts.map +1 -0
- package/dist/cmd/build/app-config-extractor.js +152 -0
- package/dist/cmd/build/app-config-extractor.js.map +1 -0
- package/dist/cmd/build/app-router-detector.d.ts +2 -5
- package/dist/cmd/build/app-router-detector.d.ts.map +1 -1
- package/dist/cmd/build/app-router-detector.js +130 -154
- package/dist/cmd/build/app-router-detector.js.map +1 -1
- package/dist/cmd/build/ci.d.ts.map +1 -1
- package/dist/cmd/build/ci.js +5 -21
- package/dist/cmd/build/ci.js.map +1 -1
- package/dist/cmd/build/ids.d.ts +11 -0
- package/dist/cmd/build/ids.d.ts.map +1 -0
- package/dist/cmd/build/ids.js +18 -0
- package/dist/cmd/build/ids.js.map +1 -0
- package/dist/cmd/build/index.d.ts.map +1 -1
- package/dist/cmd/build/index.js +8 -0
- package/dist/cmd/build/index.js.map +1 -1
- package/dist/cmd/build/vite/agent-discovery.d.ts +8 -4
- package/dist/cmd/build/vite/agent-discovery.d.ts.map +1 -1
- package/dist/cmd/build/vite/agent-discovery.js +166 -487
- package/dist/cmd/build/vite/agent-discovery.js.map +1 -1
- package/dist/cmd/build/vite/bun-dev-server.d.ts +43 -14
- package/dist/cmd/build/vite/bun-dev-server.d.ts.map +1 -1
- package/dist/cmd/build/vite/bun-dev-server.js +290 -129
- package/dist/cmd/build/vite/bun-dev-server.js.map +1 -1
- package/dist/cmd/build/vite/config-loader.d.ts +15 -20
- package/dist/cmd/build/vite/config-loader.d.ts.map +1 -1
- package/dist/cmd/build/vite/config-loader.js +41 -74
- package/dist/cmd/build/vite/config-loader.js.map +1 -1
- package/dist/cmd/build/vite/docs-generator.d.ts.map +1 -1
- package/dist/cmd/build/vite/docs-generator.js +0 -2
- package/dist/cmd/build/vite/docs-generator.js.map +1 -1
- package/dist/cmd/build/vite/index.d.ts.map +1 -1
- package/dist/cmd/build/vite/index.js +0 -36
- package/dist/cmd/build/vite/index.js.map +1 -1
- package/dist/cmd/build/vite/lifecycle-generator.d.ts +10 -2
- package/dist/cmd/build/vite/lifecycle-generator.d.ts.map +1 -1
- package/dist/cmd/build/vite/lifecycle-generator.js +302 -23
- package/dist/cmd/build/vite/lifecycle-generator.js.map +1 -1
- package/dist/cmd/build/vite/route-discovery.d.ts +11 -38
- package/dist/cmd/build/vite/route-discovery.d.ts.map +1 -1
- package/dist/cmd/build/vite/route-discovery.js +97 -177
- package/dist/cmd/build/vite/route-discovery.js.map +1 -1
- package/dist/cmd/build/vite/server-bundler.js +1 -1
- package/dist/cmd/build/vite/server-bundler.js.map +1 -1
- package/dist/cmd/build/vite/static-renderer.d.ts +0 -2
- package/dist/cmd/build/vite/static-renderer.d.ts.map +1 -1
- package/dist/cmd/build/vite/static-renderer.js +19 -13
- package/dist/cmd/build/vite/static-renderer.js.map +1 -1
- package/dist/cmd/build/vite/vite-asset-server-config.d.ts +6 -3
- package/dist/cmd/build/vite/vite-asset-server-config.d.ts.map +1 -1
- package/dist/cmd/build/vite/vite-asset-server-config.js +175 -69
- package/dist/cmd/build/vite/vite-asset-server-config.js.map +1 -1
- package/dist/cmd/build/vite/vite-asset-server.d.ts +8 -3
- package/dist/cmd/build/vite/vite-asset-server.d.ts.map +1 -1
- package/dist/cmd/build/vite/vite-asset-server.js +14 -13
- package/dist/cmd/build/vite/vite-asset-server.js.map +1 -1
- package/dist/cmd/build/vite/vite-builder.d.ts.map +1 -1
- package/dist/cmd/build/vite/vite-builder.js +42 -190
- package/dist/cmd/build/vite/vite-builder.js.map +1 -1
- package/dist/cmd/build/vite/ws-proxy.d.ts +53 -0
- package/dist/cmd/build/vite/ws-proxy.d.ts.map +1 -0
- package/dist/cmd/build/vite/ws-proxy.js +95 -0
- package/dist/cmd/build/vite/ws-proxy.js.map +1 -0
- package/dist/cmd/build/vite-bundler.d.ts.map +1 -1
- package/dist/cmd/build/vite-bundler.js +0 -3
- package/dist/cmd/build/vite-bundler.js.map +1 -1
- package/dist/cmd/cloud/deploy-fork.d.ts.map +1 -1
- package/dist/cmd/cloud/deploy-fork.js +15 -36
- package/dist/cmd/cloud/deploy-fork.js.map +1 -1
- package/dist/cmd/cloud/sandbox/exec.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/exec.js +28 -86
- package/dist/cmd/cloud/sandbox/exec.js.map +1 -1
- package/dist/cmd/cloud/sandbox/run.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/run.js +2 -9
- package/dist/cmd/cloud/sandbox/run.js.map +1 -1
- package/dist/cmd/cloud/sandbox/snapshot/build.js +2 -2
- package/dist/cmd/cloud/sandbox/snapshot/build.js.map +1 -1
- package/dist/cmd/coder/hub-url.d.ts.map +1 -1
- package/dist/cmd/coder/hub-url.js +1 -3
- package/dist/cmd/coder/hub-url.js.map +1 -1
- package/dist/cmd/coder/start.js +6 -6
- package/dist/cmd/coder/start.js.map +1 -1
- package/dist/cmd/coder/tui-init.d.ts +2 -2
- package/dist/cmd/coder/tui-init.js +2 -2
- package/dist/cmd/coder/tui-init.js.map +1 -1
- package/dist/cmd/dev/file-watcher.d.ts.map +1 -1
- package/dist/cmd/dev/file-watcher.js +2 -8
- package/dist/cmd/dev/file-watcher.js.map +1 -1
- package/dist/cmd/dev/index.d.ts.map +1 -1
- package/dist/cmd/dev/index.js +432 -752
- package/dist/cmd/dev/index.js.map +1 -1
- package/dist/cmd/dev/process-manager.d.ts +104 -0
- package/dist/cmd/dev/process-manager.d.ts.map +1 -0
- package/dist/cmd/dev/process-manager.js +204 -0
- package/dist/cmd/dev/process-manager.js.map +1 -0
- package/dist/errors.d.ts +10 -24
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +12 -42
- package/dist/errors.js.map +1 -1
- package/dist/schema-generator.d.ts.map +1 -1
- package/dist/schema-generator.js +12 -2
- package/dist/schema-generator.js.map +1 -1
- package/dist/tui.d.ts.map +1 -1
- package/dist/tui.js +5 -19
- package/dist/tui.js.map +1 -1
- package/dist/utils/version-mismatch.d.ts +39 -0
- package/dist/utils/version-mismatch.d.ts.map +1 -0
- package/dist/utils/version-mismatch.js +161 -0
- package/dist/utils/version-mismatch.js.map +1 -0
- package/package.json +6 -6
- package/src/cmd/ai/prompt/agent.md +0 -1
- package/src/cmd/ai/prompt/api.md +0 -7
- package/src/cmd/ai/prompt/web.md +51 -213
- package/src/cmd/build/app-config-extractor.ts +186 -0
- package/src/cmd/build/app-router-detector.ts +152 -182
- package/src/cmd/build/ci.ts +5 -21
- package/src/cmd/build/ids.ts +19 -0
- package/src/cmd/build/index.ts +10 -0
- package/src/cmd/build/vite/agent-discovery.ts +208 -679
- package/src/cmd/build/vite/bun-dev-server.ts +383 -146
- package/src/cmd/build/vite/config-loader.ts +45 -77
- package/src/cmd/build/vite/docs-generator.ts +0 -2
- package/src/cmd/build/vite/index.ts +1 -42
- package/src/cmd/build/vite/lifecycle-generator.ts +345 -21
- package/src/cmd/build/vite/route-discovery.ts +116 -274
- package/src/cmd/build/vite/server-bundler.ts +1 -1
- package/src/cmd/build/vite/static-renderer.ts +23 -15
- package/src/cmd/build/vite/vite-asset-server-config.ts +200 -70
- package/src/cmd/build/vite/vite-asset-server.ts +25 -15
- package/src/cmd/build/vite/vite-builder.ts +49 -220
- package/src/cmd/build/vite/ws-proxy.ts +126 -0
- package/src/cmd/build/vite-bundler.ts +0 -4
- package/src/cmd/cloud/deploy-fork.ts +16 -39
- package/src/cmd/cloud/sandbox/exec.ts +23 -130
- package/src/cmd/cloud/sandbox/run.ts +2 -9
- package/src/cmd/cloud/sandbox/snapshot/build.ts +2 -2
- package/src/cmd/coder/hub-url.ts +1 -3
- package/src/cmd/coder/start.ts +6 -6
- package/src/cmd/coder/tui-init.ts +4 -4
- package/src/cmd/dev/file-watcher.ts +2 -9
- package/src/cmd/dev/index.ts +476 -859
- package/src/cmd/dev/process-manager.ts +261 -0
- package/src/errors.ts +12 -44
- package/src/schema-generator.ts +12 -2
- package/src/tui.ts +5 -18
- package/src/utils/version-mismatch.ts +204 -0
- package/dist/cmd/build/ast.d.ts +0 -78
- package/dist/cmd/build/ast.d.ts.map +0 -1
- package/dist/cmd/build/ast.js +0 -2703
- package/dist/cmd/build/ast.js.map +0 -1
- package/dist/cmd/build/entry-generator.d.ts +0 -25
- package/dist/cmd/build/entry-generator.d.ts.map +0 -1
- package/dist/cmd/build/entry-generator.js +0 -695
- package/dist/cmd/build/entry-generator.js.map +0 -1
- package/dist/cmd/build/vite/api-mount-path.d.ts +0 -61
- package/dist/cmd/build/vite/api-mount-path.d.ts.map +0 -1
- package/dist/cmd/build/vite/api-mount-path.js +0 -83
- package/dist/cmd/build/vite/api-mount-path.js.map +0 -1
- package/dist/cmd/build/vite/registry-generator.d.ts +0 -19
- package/dist/cmd/build/vite/registry-generator.d.ts.map +0 -1
- package/dist/cmd/build/vite/registry-generator.js +0 -1108
- package/dist/cmd/build/vite/registry-generator.js.map +0 -1
- package/dist/cmd/build/webanalytics-generator.d.ts +0 -16
- package/dist/cmd/build/webanalytics-generator.d.ts.map +0 -1
- package/dist/cmd/build/webanalytics-generator.js +0 -178
- package/dist/cmd/build/webanalytics-generator.js.map +0 -1
- package/dist/cmd/build/workbench.d.ts +0 -7
- package/dist/cmd/build/workbench.d.ts.map +0 -1
- package/dist/cmd/build/workbench.js +0 -55
- package/dist/cmd/build/workbench.js.map +0 -1
- package/dist/utils/route-migration.d.ts +0 -62
- package/dist/utils/route-migration.d.ts.map +0 -1
- package/dist/utils/route-migration.js +0 -630
- package/dist/utils/route-migration.js.map +0 -1
- package/dist/utils/stream-capture.d.ts +0 -9
- package/dist/utils/stream-capture.d.ts.map +0 -1
- package/dist/utils/stream-capture.js +0 -34
- package/dist/utils/stream-capture.js.map +0 -1
- package/src/cmd/build/ast.ts +0 -3529
- package/src/cmd/build/entry-generator.ts +0 -760
- package/src/cmd/build/vite/api-mount-path.ts +0 -87
- package/src/cmd/build/vite/registry-generator.ts +0 -1267
- package/src/cmd/build/webanalytics-generator.ts +0 -197
- package/src/cmd/build/workbench.ts +0 -58
- package/src/utils/route-migration.ts +0 -757
- package/src/utils/stream-capture.ts +0 -39
|
@@ -1,35 +1,137 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Vite
|
|
2
|
+
* Vite Dev Server Configuration
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Vite is the primary dev server — serves frontend assets natively and proxies
|
|
5
|
+
* API/WebSocket requests to the Bun backend server.
|
|
6
6
|
*/
|
|
7
|
-
var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
|
|
8
|
-
if (typeof path === "string" && /^\.\.?\//.test(path)) {
|
|
9
|
-
return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
|
|
10
|
-
return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
|
|
11
|
-
});
|
|
12
|
-
}
|
|
13
|
-
return path;
|
|
14
|
-
};
|
|
15
7
|
import { join } from 'node:path';
|
|
16
|
-
import {
|
|
8
|
+
import { existsSync } from 'node:fs';
|
|
9
|
+
/**
|
|
10
|
+
* Vite plugin that injects analytics scripts in dev mode.
|
|
11
|
+
*
|
|
12
|
+
* In production the beacon plugin handles this at build time. In dev mode
|
|
13
|
+
* the analytics config + session + beacon scripts are served by the Bun
|
|
14
|
+
* backend at /_agentuity/webanalytics/* routes, but we need to inject the
|
|
15
|
+
* `<script>` tags into the HTML so the browser loads them.
|
|
16
|
+
*/
|
|
17
|
+
function devAnalyticsPlugin() {
|
|
18
|
+
return {
|
|
19
|
+
name: 'agentuity:dev-analytics',
|
|
20
|
+
transformIndexHtml: {
|
|
21
|
+
order: 'pre',
|
|
22
|
+
handler(html) {
|
|
23
|
+
// Default analytics config — matches resolveAnalyticsConfig(undefined) in runtime
|
|
24
|
+
const config = {
|
|
25
|
+
enabled: true,
|
|
26
|
+
trackClicks: true,
|
|
27
|
+
trackScroll: true,
|
|
28
|
+
trackOutboundLinks: true,
|
|
29
|
+
trackForms: false,
|
|
30
|
+
trackWebVitals: true,
|
|
31
|
+
trackErrors: true,
|
|
32
|
+
trackSPANavigation: true,
|
|
33
|
+
isDevmode: true,
|
|
34
|
+
};
|
|
35
|
+
const injection = `<script>window.__AGENTUITY_ANALYTICS__=${JSON.stringify(config)};</script>` +
|
|
36
|
+
'<script src="/_agentuity/webanalytics/session.js" async></script>' +
|
|
37
|
+
'<script src="/_agentuity/webanalytics/analytics.js"></script>';
|
|
38
|
+
if (html.includes('</head>')) {
|
|
39
|
+
return html.replace('</head>', `${injection}</head>`);
|
|
40
|
+
}
|
|
41
|
+
return html;
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Vite plugin that serves src/web/index.html as the SPA fallback.
|
|
48
|
+
*
|
|
49
|
+
* Vite's built-in SPA fallback only serves index.html from the project root.
|
|
50
|
+
* Since Agentuity apps keep their HTML entry at src/web/index.html, we need
|
|
51
|
+
* this plugin to rewrite the URL so Vite's built-in transform pipeline
|
|
52
|
+
* (including React Fast Refresh injection) processes it correctly.
|
|
53
|
+
*/
|
|
54
|
+
function spaFallbackPlugin(rootDir, routePaths, workbenchPath) {
|
|
55
|
+
const htmlPath = join(rootDir, 'src', 'web', 'index.html');
|
|
56
|
+
const hasHtml = existsSync(htmlPath);
|
|
57
|
+
return {
|
|
58
|
+
name: 'agentuity:spa-fallback',
|
|
59
|
+
configureServer(server) {
|
|
60
|
+
if (!hasHtml)
|
|
61
|
+
return;
|
|
62
|
+
server.middlewares.use(async (req, res, next) => {
|
|
63
|
+
// Only handle GET/HEAD navigation requests
|
|
64
|
+
if (req.method !== 'GET' && req.method !== 'HEAD')
|
|
65
|
+
return next();
|
|
66
|
+
const url = req.url || '/';
|
|
67
|
+
const pathname = url.split('?')[0] || '/';
|
|
68
|
+
const accept = req.headers.accept || '';
|
|
69
|
+
const secFetchDest = req.headers['sec-fetch-dest'] || '';
|
|
70
|
+
// For robustness, treat unknown GET/HEAD routes as potential SPA navigations.
|
|
71
|
+
// We still avoid intercepting assets/backend paths via the filters below.
|
|
72
|
+
// (This also makes non-browser readiness probes like fetch('/streams') work.)
|
|
73
|
+
const isDocumentRequest = secFetchDest === 'document' || accept.includes('text/html');
|
|
74
|
+
// Skip file requests (have an extension)
|
|
75
|
+
if (pathname !== '/' && /\.[a-zA-Z0-9]+$/.test(pathname))
|
|
76
|
+
return next();
|
|
77
|
+
// For non-document requests, only allow root path fallback.
|
|
78
|
+
// (e.g. don't turn module/script fetches into HTML accidentally)
|
|
79
|
+
if (!isDocumentRequest && pathname === '/') {
|
|
80
|
+
// allow root fallback for simple probes
|
|
81
|
+
}
|
|
82
|
+
// Skip Vite/module/internal asset paths
|
|
83
|
+
if (pathname.startsWith('/@vite') ||
|
|
84
|
+
pathname.startsWith('/@react-refresh') ||
|
|
85
|
+
pathname.startsWith('/@id/') ||
|
|
86
|
+
pathname.startsWith('/@fs/') ||
|
|
87
|
+
pathname.startsWith('/node_modules/') ||
|
|
88
|
+
pathname.startsWith('/src/') ||
|
|
89
|
+
(pathname.startsWith('/@') && !pathname.startsWith('/_agentuity'))) {
|
|
90
|
+
return next();
|
|
91
|
+
}
|
|
92
|
+
// Skip paths that are proxied to the Bun backend
|
|
93
|
+
if (pathname.startsWith('/_agentuity') ||
|
|
94
|
+
pathname.startsWith('/_health') ||
|
|
95
|
+
pathname.startsWith('/_idle')) {
|
|
96
|
+
return next();
|
|
97
|
+
}
|
|
98
|
+
// Skip workbench path (served by Bun)
|
|
99
|
+
if (workbenchPath &&
|
|
100
|
+
(pathname === workbenchPath || pathname.startsWith(workbenchPath + '/'))) {
|
|
101
|
+
return next();
|
|
102
|
+
}
|
|
103
|
+
for (const rp of routePaths) {
|
|
104
|
+
if (pathname === rp || pathname.startsWith(rp + '/'))
|
|
105
|
+
return next();
|
|
106
|
+
}
|
|
107
|
+
// If this isn't clearly a document navigation, still allow SPA fallback
|
|
108
|
+
// for extensionless client-side routes like /streams, /rpc, /webrtc.
|
|
109
|
+
// We already excluded backend paths and asset/module paths above.
|
|
110
|
+
try {
|
|
111
|
+
let html = await Bun.file(htmlPath).text();
|
|
112
|
+
// Match old devHtmlHandler behavior from the generated Bun entry:
|
|
113
|
+
// rewrite relative paths so the app works from / and client-side routes.
|
|
114
|
+
html = html
|
|
115
|
+
.replace(/src="\.\//g, 'src="/src/web/')
|
|
116
|
+
.replace(/href="\.\//g, 'href="/src/web/');
|
|
117
|
+
// Let Vite inject HMR client, React refresh preamble, etc.
|
|
118
|
+
html = await server.transformIndexHtml(url, html, req.originalUrl);
|
|
119
|
+
res.statusCode = 200;
|
|
120
|
+
res.setHeader('Content-Type', 'text/html; charset=utf-8');
|
|
121
|
+
res.end(html);
|
|
122
|
+
}
|
|
123
|
+
catch (error) {
|
|
124
|
+
next(error);
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
},
|
|
128
|
+
};
|
|
129
|
+
}
|
|
17
130
|
/**
|
|
18
131
|
* Generate Vite config for asset-only server (HMR + React transformation)
|
|
19
132
|
*/
|
|
20
133
|
export async function generateAssetServerConfig(options) {
|
|
21
|
-
const { rootDir, logger, workbenchPath, port } = options;
|
|
22
|
-
// Load custom user config for define values and plugins
|
|
23
|
-
const { loadAgentuityConfig } = await import('./config-loader');
|
|
24
|
-
const userConfig = await loadAgentuityConfig(rootDir, logger);
|
|
25
|
-
const userDefine = userConfig?.define || {};
|
|
26
|
-
const userPlugins = userConfig?.plugins || [];
|
|
27
|
-
if (Object.keys(userDefine).length > 0) {
|
|
28
|
-
logger.debug('Loaded %d custom define(s) from agentuity.config.ts', Object.keys(userDefine).length);
|
|
29
|
-
}
|
|
30
|
-
if (userPlugins.length > 0) {
|
|
31
|
-
logger.debug('Loaded %d custom plugin(s) from agentuity.config.ts', userPlugins.length);
|
|
32
|
-
}
|
|
134
|
+
const { rootDir, logger, workbenchPath, port, backendPort, routePaths = ['/api'] } = options;
|
|
33
135
|
// Load path aliases from tsconfig.json if available
|
|
34
136
|
const tsconfigPath = join(rootDir, 'tsconfig.json');
|
|
35
137
|
let alias = {};
|
|
@@ -59,81 +161,85 @@ export async function generateAssetServerConfig(options) {
|
|
|
59
161
|
publicDir: join(rootDir, 'src', 'web', 'public'),
|
|
60
162
|
resolve: {
|
|
61
163
|
alias,
|
|
62
|
-
// Deduplicate React to prevent multiple instances
|
|
164
|
+
// Deduplicate React to prevent multiple instances (if used)
|
|
63
165
|
dedupe: ['react', 'react-dom', 'react/jsx-runtime', 'react/jsx-dev-runtime'],
|
|
64
166
|
},
|
|
65
|
-
// Pre-bundle dependencies to avoid
|
|
167
|
+
// Pre-bundle dependencies to avoid issues with pre-built packages
|
|
66
168
|
// Only include @agentuity/workbench if workbench is enabled
|
|
67
169
|
optimizeDeps: {
|
|
68
|
-
include: workbenchPath
|
|
69
|
-
? ['@agentuity/workbench', '@agentuity/core', '@agentuity/react']
|
|
70
|
-
: ['@agentuity/core', '@agentuity/react'],
|
|
170
|
+
include: workbenchPath ? ['@agentuity/workbench', '@agentuity/core'] : ['@agentuity/core'],
|
|
71
171
|
},
|
|
72
172
|
// Only allow frontend env vars (server uses process.env)
|
|
73
173
|
envPrefix: ['VITE_', 'AGENTUITY_PUBLIC_', 'PUBLIC_'],
|
|
74
174
|
server: {
|
|
75
|
-
//
|
|
175
|
+
// Vite is the primary dev server — listens on the user-facing port
|
|
76
176
|
port,
|
|
77
177
|
strictPort: true, // Port is pre-verified as available by findAvailablePort()
|
|
78
178
|
host: '127.0.0.1',
|
|
79
|
-
//
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
179
|
+
// Proxy backend routes to Bun server (HTTP only).
|
|
180
|
+
// WebSocket upgrades are handled by the front-door TCP proxy (ws-proxy.ts)
|
|
181
|
+
// which routes them directly to the Bun backend, bypassing Vite entirely.
|
|
182
|
+
// This avoids Bun's broken node:http upgrade socket implementation.
|
|
183
|
+
proxy: {
|
|
184
|
+
// User-defined route mounts (from createApp({ router }))
|
|
185
|
+
...Object.fromEntries(routePaths.map((routePath) => [
|
|
186
|
+
routePath,
|
|
187
|
+
{
|
|
188
|
+
target: `http://127.0.0.1:${backendPort}`,
|
|
189
|
+
changeOrigin: true,
|
|
190
|
+
},
|
|
191
|
+
])),
|
|
192
|
+
// Agentuity system routes (workbench API, health, analytics, etc.)
|
|
193
|
+
'/_agentuity': {
|
|
194
|
+
target: `http://127.0.0.1:${backendPort}`,
|
|
195
|
+
changeOrigin: true,
|
|
196
|
+
},
|
|
197
|
+
// Workbench UI route (served by Bun, references /@fs/* paths handled by Vite)
|
|
198
|
+
...(workbenchPath
|
|
199
|
+
? {
|
|
200
|
+
[workbenchPath]: {
|
|
201
|
+
target: `http://127.0.0.1:${backendPort}`,
|
|
202
|
+
changeOrigin: true,
|
|
203
|
+
},
|
|
204
|
+
}
|
|
205
|
+
: {}),
|
|
206
|
+
// Legacy health check routes
|
|
207
|
+
'/_health': {
|
|
208
|
+
target: `http://127.0.0.1:${backendPort}`,
|
|
209
|
+
changeOrigin: true,
|
|
210
|
+
},
|
|
211
|
+
'/_idle': {
|
|
212
|
+
target: `http://127.0.0.1:${backendPort}`,
|
|
213
|
+
changeOrigin: true,
|
|
214
|
+
},
|
|
91
215
|
},
|
|
92
|
-
//
|
|
216
|
+
// HMR works natively — Vite is the primary server, no proxy needed
|
|
217
|
+
// Auto-detect host/protocol from page origin for tunnel support
|
|
218
|
+
hmr: true,
|
|
219
|
+
// Don't open browser automatically
|
|
93
220
|
open: false,
|
|
94
221
|
},
|
|
95
222
|
// Define environment variables for browser
|
|
96
223
|
define: {
|
|
97
|
-
// Merge user-defined constants first
|
|
98
|
-
...userDefine,
|
|
99
|
-
// Then add default defines (these will override any user-defined protected keys)
|
|
100
224
|
...(workbenchPath
|
|
101
225
|
? { 'import.meta.env.AGENTUITY_PUBLIC_WORKBENCH_PATH': JSON.stringify(workbenchPath) }
|
|
102
226
|
: {}),
|
|
103
227
|
'import.meta.env.AGENTUITY_PUBLIC_HAS_SDK_KEY': JSON.stringify(process.env.AGENTUITY_SDK_KEY ? 'true' : 'false'),
|
|
104
228
|
'process.env.NODE_ENV': JSON.stringify('development'),
|
|
105
229
|
},
|
|
106
|
-
//
|
|
107
|
-
// Try project's node_modules first, fall back to CLI's bundled version
|
|
230
|
+
// Agentuity-specific plugins (Vite loads user plugins from vite.config.ts automatically)
|
|
108
231
|
plugins: await (async () => {
|
|
109
232
|
const { browserEnvPlugin } = await import('./browser-env-plugin');
|
|
110
|
-
const { tailwindSourcePlugin } = await import('./tailwind-source-plugin');
|
|
111
233
|
const { publicAssetPathPlugin } = await import('./public-asset-path-plugin');
|
|
112
|
-
const { hasFrameworkPlugin } = await import('./config-loader');
|
|
113
|
-
// Auto-add React plugin if no framework plugin is present (backwards compatibility)
|
|
114
|
-
const resolvedUserPlugins = [...userPlugins];
|
|
115
|
-
if (resolvedUserPlugins.length === 0 || !hasFrameworkPlugin(resolvedUserPlugins)) {
|
|
116
|
-
logger.debug('No framework plugin found in agentuity.config.ts plugins, adding React automatically for dev server');
|
|
117
|
-
const projectRequire = createRequire(join(rootDir, 'package.json'));
|
|
118
|
-
let reactPluginPath = '@vitejs/plugin-react';
|
|
119
|
-
try {
|
|
120
|
-
reactPluginPath = projectRequire.resolve('@vitejs/plugin-react');
|
|
121
|
-
}
|
|
122
|
-
catch {
|
|
123
|
-
// Project doesn't have @vitejs/plugin-react, use CLI's bundled version
|
|
124
|
-
}
|
|
125
|
-
const reactModule = await import(__rewriteRelativeImportExtension(reactPluginPath));
|
|
126
|
-
resolvedUserPlugins.unshift(reactModule.default());
|
|
127
|
-
}
|
|
128
234
|
return [
|
|
129
|
-
// Fix Tailwind oxide scanner hang in containers
|
|
130
|
-
tailwindSourcePlugin(),
|
|
131
|
-
// User-defined plugins from agentuity.config.ts (framework plugin + extras)
|
|
132
|
-
...resolvedUserPlugins,
|
|
133
235
|
// Browser env plugin to map process.env to import.meta.env
|
|
134
236
|
browserEnvPlugin(),
|
|
135
237
|
// Warn about incorrect public asset paths in dev mode
|
|
136
238
|
publicAssetPathPlugin({ warnInDev: true }),
|
|
239
|
+
// Inject analytics scripts in dev HTML
|
|
240
|
+
devAnalyticsPlugin(),
|
|
241
|
+
// SPA fallback: serve src/web/index.html for navigation requests
|
|
242
|
+
spaFallbackPlugin(rootDir, routePaths, workbenchPath),
|
|
137
243
|
];
|
|
138
244
|
})(),
|
|
139
245
|
// Suppress build-related options (this is dev-only)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-asset-server-config.js","sourceRoot":"","sources":["../../../../src/cmd/build/vite/vite-asset-server-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG
|
|
1
|
+
{"version":3,"file":"vite-asset-server-config.js","sourceRoot":"","sources":["../../../../src/cmd/build/vite/vite-asset-server-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Vite
|
|
2
|
+
* Vite Dev Server (Primary)
|
|
3
3
|
*
|
|
4
|
-
* Starts
|
|
5
|
-
*
|
|
4
|
+
* Starts Vite as the primary dev server on the user-facing port.
|
|
5
|
+
* Serves frontend assets natively and proxies API/WebSocket requests
|
|
6
|
+
* to the Bun backend server.
|
|
6
7
|
*/
|
|
7
8
|
import type { ViteDevServer } from 'vite';
|
|
8
9
|
import type { Logger } from '../../../types';
|
|
@@ -14,6 +15,10 @@ export interface StartViteAssetServerOptions {
|
|
|
14
15
|
rootDir: string;
|
|
15
16
|
logger: Logger;
|
|
16
17
|
workbenchPath?: string;
|
|
18
|
+
port?: number;
|
|
19
|
+
backendPort: number;
|
|
20
|
+
/** User-defined route mount paths from createApp({ router }) */
|
|
21
|
+
routePaths?: string[];
|
|
17
22
|
}
|
|
18
23
|
/**
|
|
19
24
|
* Start Vite asset server on a dynamically-chosen port
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-asset-server.d.ts","sourceRoot":"","sources":["../../../../src/cmd/build/vite/vite-asset-server.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"vite-asset-server.d.ts","sourceRoot":"","sources":["../../../../src/cmd/build/vite/vite-asset-server.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAG7C,MAAM,WAAW,qBAAqB;IACrC,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,2BAA2B;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAwCD;;;GAGG;AACH,wBAAsB,oBAAoB,CACzC,OAAO,EAAE,2BAA2B,GAClC,OAAO,CAAC,qBAAqB,CAAC,CA2EhC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Vite
|
|
2
|
+
* Vite Dev Server (Primary)
|
|
3
3
|
*
|
|
4
|
-
* Starts
|
|
5
|
-
*
|
|
4
|
+
* Starts Vite as the primary dev server on the user-facing port.
|
|
5
|
+
* Serves frontend assets natively and proxies API/WebSocket requests
|
|
6
|
+
* to the Bun backend server.
|
|
6
7
|
*/
|
|
7
8
|
var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
|
|
8
9
|
if (typeof path === "string" && /^\.\.?\//.test(path)) {
|
|
@@ -51,21 +52,21 @@ async function findAvailablePort(preferredPort, host = '127.0.0.1', maxAttempts
|
|
|
51
52
|
* Returns the server instance and the actual port number
|
|
52
53
|
*/
|
|
53
54
|
export async function startViteAssetServer(options) {
|
|
54
|
-
const { rootDir, logger, workbenchPath } = options;
|
|
55
|
-
logger.debug('Starting Vite
|
|
56
|
-
// Find an available port
|
|
57
|
-
// This avoids relying on Vite's strictPort:false fallback which can fail
|
|
58
|
-
const preferredPort = 5173;
|
|
55
|
+
const { rootDir, logger, workbenchPath, port: preferredPort = 3500, backendPort, routePaths, } = options;
|
|
56
|
+
logger.debug('Starting Vite dev server (primary, proxying backend on port %d)...', backendPort);
|
|
57
|
+
// Find an available port for the user-facing Vite server
|
|
59
58
|
const availablePort = await findAvailablePort(preferredPort, '127.0.0.1');
|
|
60
59
|
if (availablePort !== preferredPort) {
|
|
61
|
-
logger.info(`Port ${preferredPort} is in use, using port ${availablePort} for Vite
|
|
60
|
+
logger.info(`Port ${preferredPort} is in use, using port ${availablePort} for Vite dev server`);
|
|
62
61
|
}
|
|
63
|
-
// Generate
|
|
62
|
+
// Generate config with proxy to Bun backend
|
|
64
63
|
const config = await generateAssetServerConfig({
|
|
65
64
|
rootDir,
|
|
66
65
|
logger,
|
|
67
66
|
workbenchPath,
|
|
68
67
|
port: availablePort,
|
|
68
|
+
backendPort,
|
|
69
|
+
routePaths,
|
|
69
70
|
});
|
|
70
71
|
// Dynamically import vite from the project's node_modules
|
|
71
72
|
// This ensures we resolve from the target project directory, not the CWD
|
|
@@ -99,9 +100,9 @@ export async function startViteAssetServer(options) {
|
|
|
99
100
|
}
|
|
100
101
|
// Port was pre-verified and strictPort:true ensures Vite uses exactly this port
|
|
101
102
|
const actualPort = availablePort;
|
|
102
|
-
logger.
|
|
103
|
-
logger.debug(`
|
|
104
|
-
logger.debug(`
|
|
103
|
+
logger.debug(`Vite dev server running on port ${actualPort} (primary)`);
|
|
104
|
+
logger.debug(`Frontend: HMR, React transformation, source maps (native)`);
|
|
105
|
+
logger.debug(`Backend: proxying to Bun on port ${backendPort}`);
|
|
105
106
|
return { server, port: actualPort };
|
|
106
107
|
}
|
|
107
108
|
//# sourceMappingURL=vite-asset-server.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-asset-server.js","sourceRoot":"","sources":["../../../../src/cmd/build/vite/vite-asset-server.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"vite-asset-server.js","sourceRoot":"","sources":["../../../../src/cmd/build/vite/vite-asset-server.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;;;;;;;;;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,IAAI,eAAe,EAAE,MAAM,UAAU,CAAC;AAG3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAiBvE;;GAEG;AACH,SAAS,eAAe,CAAC,IAAY,EAAE,IAAY;IAClD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9B,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;YACzB,OAAO,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE;YAC9B,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;gBACjB,OAAO,CAAC,IAAI,CAAC,CAAC;YACf,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,iBAAiB,CAC/B,aAAqB,EACrB,OAAe,WAAW,EAC1B,cAAsB,EAAE;IAExB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;QACxD,MAAM,IAAI,GAAG,aAAa,GAAG,OAAO,CAAC;QACrC,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACpD,IAAI,SAAS,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IACD,MAAM,IAAI,KAAK,CACd,0CAA0C,WAAW,2BAA2B,aAAa,EAAE,CAC/F,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACzC,OAAoC;IAEpC,MAAM,EACL,OAAO,EACP,MAAM,EACN,aAAa,EACb,IAAI,EAAE,aAAa,GAAG,IAAI,EAC1B,WAAW,EACX,UAAU,GACV,GAAG,OAAO,CAAC;IAEZ,MAAM,CAAC,KAAK,CAAC,oEAAoE,EAAE,WAAW,CAAC,CAAC;IAEhG,yDAAyD;IACzD,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAE1E,IAAI,aAAa,KAAK,aAAa,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CACV,QAAQ,aAAa,0BAA0B,aAAa,sBAAsB,CAClF,CAAC;IACH,CAAC;IAED,4CAA4C;IAC5C,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAAC;QAC9C,OAAO;QACP,MAAM;QACN,aAAa;QACb,IAAI,EAAE,aAAa;QACnB,WAAW;QACX,UAAU;KACV,CAAC,CAAC;IAEH,0DAA0D;IAC1D,yEAAyE;IACzE,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;IACpE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,kCAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,EAAC,CAAC;IAEtE,iCAAiC;IACjC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;IAE1C,gDAAgD;IAChD,MAAM,kBAAkB,GAAG,KAAK,CAAC,CAAC,aAAa;IAE/C,IAAI,CAAC;QACJ,MAAM,OAAO,CAAC,IAAI,CAAC;YAClB,MAAM,CAAC,MAAM,EAAE;YACf,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;gBAChC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;oBACjC,MAAM,CACL,IAAI,KAAK,CACR,4CAA4C,kBAAkB,GAAG,IAAI,GAAG,CACxE,CACD,CAAC;gBACH,CAAC,EAAE,kBAAkB,CAAC,CAAC;gBACvB,uEAAuE;gBACvE,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;YACrE,CAAC,CAAC;SACF,CAAC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,yCAAyC;QACzC,IAAI,CAAC;YACJ,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC;QAAC,MAAM,CAAC;YACR,sBAAsB;QACvB,CAAC;QACD,MAAM,KAAK,CAAC;IACb,CAAC;IAED,gFAAgF;IAChF,MAAM,UAAU,GAAG,aAAa,CAAC;IAEjC,MAAM,CAAC,KAAK,CAAC,mCAAmC,UAAU,YAAY,CAAC,CAAC;IACxE,MAAM,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAC1E,MAAM,CAAC,KAAK,CAAC,oCAAoC,WAAW,EAAE,CAAC,CAAC;IAEhE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AACrC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-builder.d.ts","sourceRoot":"","sources":["../../../../src/cmd/build/vite/vite-builder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"vite-builder.d.ts","sourceRoot":"","sources":["../../../../src/cmd/build/vite/vite-builder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAElE,MAAM,WAAW,gBAAgB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC;IACxC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,0EAA0E;IAC1E,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,aAAa,CAAC;IAClC,qFAAqF;IACrF,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,wDAAwD;IACxD,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,sFAAsF;IACtF,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqH3E;AAED,UAAU,WAAW;IACpB,SAAS,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACnD,MAAM,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,MAAM,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,MAAM,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAChE;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAwIhG"}
|