rivet-design 0.5.10 → 0.5.13
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/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +111 -33
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +174 -56
- package/dist/mcp/server.js.map +1 -1
- package/dist/proxy-middleware/proxy-config.d.ts +1 -1
- package/dist/proxy-middleware/proxy-config.d.ts.map +1 -1
- package/dist/proxy-middleware/proxy-config.js +7 -12
- package/dist/proxy-middleware/proxy-config.js.map +1 -1
- package/dist/server.d.ts +2 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +8 -4
- package/dist/server.js.map +1 -1
- package/dist/services/AuthService.d.ts +9 -2
- package/dist/services/AuthService.d.ts.map +1 -1
- package/dist/services/AuthService.js +52 -2
- package/dist/services/AuthService.js.map +1 -1
- package/dist/services/ProjectDetectionService.d.ts +9 -2
- package/dist/services/ProjectDetectionService.d.ts.map +1 -1
- package/dist/services/ProjectDetectionService.js +82 -19
- package/dist/services/ProjectDetectionService.js.map +1 -1
- package/dist/services/TelemetryService.js +1 -1
- package/dist/services/TelemetryService.js.map +1 -1
- package/dist/types/change-request-types.d.ts +2 -0
- package/dist/types/change-request-types.d.ts.map +1 -1
- package/dist/utils/portUtils.d.ts +11 -0
- package/dist/utils/portUtils.d.ts.map +1 -0
- package/dist/utils/portUtils.js +60 -0
- package/dist/utils/portUtils.js.map +1 -0
- package/dist/utils/skills/claude-skill.d.ts +3 -3
- package/dist/utils/skills/claude-skill.d.ts.map +1 -1
- package/dist/utils/skills/claude-skill.js +3 -8
- package/dist/utils/skills/claude-skill.js.map +1 -1
- package/dist/utils/skills/cursor-rules.d.ts +1 -1
- package/dist/utils/skills/cursor-rules.d.ts.map +1 -1
- package/dist/utils/skills/cursor-rules.js +2 -7
- package/dist/utils/skills/cursor-rules.js.map +1 -1
- package/package.json +3 -3
- package/src/ui/dist/assets/main-BDHMbFy-.css +1 -0
- package/src/ui/dist/assets/{main-ByiTFNzD.js → main-DhJDeAnr.js} +36 -34
- package/src/ui/dist/index.html +2 -2
- package/src/ui/dist/assets/main-Bbs1ywL7.css +0 -1
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAsBA,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,YAAY,OAAO,CAAC;AACjC,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAEtC,eAAO,MAAM,IAAI,GACf,OAAM,MAAM,EAA0B,KACrC,OAAO,CAAC,IAAI,CAkSd,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -50,6 +50,7 @@ const AuthService_1 = require("./services/AuthService");
|
|
|
50
50
|
const ConfigManager_1 = require("./services/ConfigManager");
|
|
51
51
|
const TelemetryService_1 = require("./services/TelemetryService");
|
|
52
52
|
const skillWriter_1 = require("./utils/skillWriter");
|
|
53
|
+
const portUtils_1 = require("./utils/portUtils");
|
|
53
54
|
const log = (0, index_core_1.createLogger)('RivetCLI');
|
|
54
55
|
exports.DEFAULT_PORT = 4000;
|
|
55
56
|
exports.DEFAULT_USER_PORT = 3000;
|
|
@@ -130,7 +131,6 @@ const main = async (args = process.argv.slice(2)) => {
|
|
|
130
131
|
}
|
|
131
132
|
const projectDetection = new index_core_1.ProjectDetectionService();
|
|
132
133
|
const projectPath = process.cwd();
|
|
133
|
-
const rivetPort = exports.DEFAULT_PORT;
|
|
134
134
|
let project;
|
|
135
135
|
let userDevServerPort;
|
|
136
136
|
try {
|
|
@@ -139,17 +139,37 @@ const main = async (args = process.argv.slice(2)) => {
|
|
|
139
139
|
userDevServerPort = options.userPort || project.devServerPort;
|
|
140
140
|
}
|
|
141
141
|
catch (error) {
|
|
142
|
-
//
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
142
|
+
// If user provided an explicit port, we don't need detection to succeed
|
|
143
|
+
if (options.userPort) {
|
|
144
|
+
userDevServerPort = options.userPort;
|
|
145
|
+
project = {
|
|
146
|
+
id: path_1.default.basename(projectPath),
|
|
147
|
+
framework: (options.framework || 'nextjs'),
|
|
148
|
+
path: projectPath,
|
|
149
|
+
devServerPort: options.userPort,
|
|
150
|
+
status: 'detected',
|
|
151
|
+
packageManager: 'npm', // Fallback
|
|
152
|
+
};
|
|
147
153
|
}
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
154
|
+
else {
|
|
155
|
+
// Check if this is a "no dev server" error
|
|
156
|
+
const isNoServerError = error instanceof Error &&
|
|
157
|
+
error.message.includes('No running dev server');
|
|
158
|
+
if (!isNoServerError) {
|
|
159
|
+
throw error;
|
|
160
|
+
}
|
|
161
|
+
// No dev server detected - tell user to start it
|
|
162
|
+
log.error('❌ No dev server detected.');
|
|
163
|
+
log.error(' Please start your dev server first (e.g., npm run dev), then run rivet again.');
|
|
164
|
+
process.exit(1);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
if (userDevServerPort === undefined) {
|
|
168
|
+
log.error('❌ Could not determine dev server port.');
|
|
151
169
|
process.exit(1);
|
|
152
170
|
}
|
|
171
|
+
// Pick Rivet port as late as possible to avoid another process binding it first (e.g. when desktop spawns CLI).
|
|
172
|
+
let rivetPort = options.rivetPort ?? (await (0, portUtils_1.findAvailablePort)(exports.DEFAULT_PORT));
|
|
153
173
|
// Track session start
|
|
154
174
|
telemetry.trackSessionStart({
|
|
155
175
|
framework: project.framework,
|
|
@@ -158,34 +178,83 @@ const main = async (args = process.argv.slice(2)) => {
|
|
|
158
178
|
debugMode: options.debug,
|
|
159
179
|
});
|
|
160
180
|
log.debug(`📡 Connecting to project dev server on port ${userDevServerPort}${options.userPort ? ' (user-specified)' : ' (detected)'}`);
|
|
161
|
-
// Start server
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
181
|
+
// Start server; on EADDRINUSE retry with next available port (handles race when desktop or another instance binds first).
|
|
182
|
+
let serverStarted = false;
|
|
183
|
+
let retries = 0;
|
|
184
|
+
const maxRetries = 5;
|
|
185
|
+
while (!serverStarted && retries < maxRetries) {
|
|
186
|
+
const startServerOptions = {
|
|
187
|
+
userPort: userDevServerPort,
|
|
188
|
+
userHost: project.devServerHost,
|
|
189
|
+
framework: project.framework,
|
|
190
|
+
telemetry,
|
|
191
|
+
projectPath,
|
|
192
|
+
staticEntry: project.entryPoint,
|
|
193
|
+
styleFramework: options.styleFramework,
|
|
194
|
+
tailwindConfig: options.tailwindConfig,
|
|
195
|
+
rivetPort,
|
|
196
|
+
skipProcessHandlers: retries > 0,
|
|
197
|
+
};
|
|
198
|
+
try {
|
|
199
|
+
await (0, server_1.startServer)(startServerOptions);
|
|
200
|
+
serverStarted = true;
|
|
201
|
+
}
|
|
202
|
+
catch (err) {
|
|
203
|
+
const code = err?.code;
|
|
204
|
+
if (code === 'EADDRINUSE' && !options.rivetPort) {
|
|
205
|
+
retries++;
|
|
206
|
+
rivetPort = await (0, portUtils_1.findAvailablePort)(rivetPort + 1);
|
|
207
|
+
log.debug(`Port in use, retrying with port ${rivetPort} (attempt ${retries}/${maxRetries})`);
|
|
208
|
+
}
|
|
209
|
+
else {
|
|
210
|
+
throw err;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
if (!serverStarted) {
|
|
215
|
+
log.error(`❌ Could not start Rivet server after ${maxRetries} attempts.`);
|
|
216
|
+
process.exit(1);
|
|
217
|
+
}
|
|
171
218
|
log.info(`✅ Rivet server started on http://localhost:${rivetPort}`);
|
|
172
|
-
// Check authentication
|
|
219
|
+
// Check authentication: try CI email sign-in if env set, otherwise OAuth
|
|
173
220
|
const configManager = (0, ConfigManager_1.getConfigManager)();
|
|
174
221
|
let didAuthenticate = false;
|
|
175
222
|
if (!configManager.isAuthenticated()) {
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
const
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
223
|
+
const e2eEmail = process.env.RIVET_E2E_EMAIL || process.env.RIVET_TEST_EMAIL;
|
|
224
|
+
const e2ePassword = process.env.RIVET_E2E_PASSWORD || process.env.RIVET_TEST_PASSWORD;
|
|
225
|
+
const proxyUrl = process.env.RIVET_PROXY_URL || configManager.getProxyUrl();
|
|
226
|
+
if (e2eEmail && e2ePassword) {
|
|
227
|
+
const authService = new AuthService_1.AuthService(proxyUrl);
|
|
228
|
+
const loginResult = await authService.loginWithEmailPassword(e2eEmail, e2ePassword);
|
|
229
|
+
if (!loginResult.success) {
|
|
230
|
+
log.error('CI sign-in failed:', loginResult.error || loginResult.message);
|
|
231
|
+
process.exit(1);
|
|
232
|
+
}
|
|
233
|
+
console.log(`\n✅ Signed in as ${loginResult.user?.email} (CI)`);
|
|
234
|
+
if (loginResult.profile) {
|
|
235
|
+
console.log(`💰 Balance: $${loginResult.profile.remaining_spend_usd.toFixed(2)}`);
|
|
236
|
+
}
|
|
237
|
+
didAuthenticate = true;
|
|
183
238
|
}
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
239
|
+
if (!didAuthenticate) {
|
|
240
|
+
if (process.env.CI === 'true') {
|
|
241
|
+
console.log('\n❌ E2E auth required: set RIVET_E2E_EMAIL and RIVET_E2E_PASSWORD (or RIVET_TEST_EMAIL and RIVET_TEST_PASSWORD) in repo secrets. Must be e2etest@gmail.com.');
|
|
242
|
+
process.exit(1);
|
|
243
|
+
}
|
|
244
|
+
console.log('\n🔐 Authentication required');
|
|
245
|
+
console.log('Opening browser for Google login...\n');
|
|
246
|
+
const authService = new AuthService_1.AuthService();
|
|
247
|
+
const loginResult = await authService.loginWithGoogle(`http://localhost:${rivetPort}`);
|
|
248
|
+
if (!loginResult.success) {
|
|
249
|
+
console.log(`\n❌ Authentication failed: ${loginResult.error || loginResult.message}`);
|
|
250
|
+
process.exit(1);
|
|
251
|
+
}
|
|
252
|
+
console.log(`\n✅ Authenticated as ${loginResult.user?.email}`);
|
|
253
|
+
if (loginResult.profile) {
|
|
254
|
+
console.log(`💰 Balance: $${loginResult.profile.remaining_spend_usd.toFixed(2)}`);
|
|
255
|
+
}
|
|
256
|
+
didAuthenticate = true;
|
|
187
257
|
}
|
|
188
|
-
didAuthenticate = true;
|
|
189
258
|
}
|
|
190
259
|
// Open browser to Rivet UI (only if we didn't just authenticate, since OAuth already opened it)
|
|
191
260
|
if (!didAuthenticate && !options.noBrowser) {
|
|
@@ -234,6 +303,13 @@ const parseArgs = (args) => {
|
|
|
234
303
|
options.userPort = Number(userPortValue);
|
|
235
304
|
}
|
|
236
305
|
break;
|
|
306
|
+
case '--rivet-port':
|
|
307
|
+
// eslint-disable-next-line no-case-declarations
|
|
308
|
+
const rivetPortValue = args[++i];
|
|
309
|
+
if (rivetPortValue && !isNaN(Number(rivetPortValue))) {
|
|
310
|
+
options.rivetPort = Number(rivetPortValue);
|
|
311
|
+
}
|
|
312
|
+
break;
|
|
237
313
|
case '-d':
|
|
238
314
|
case '--debug':
|
|
239
315
|
options.debug = true;
|
|
@@ -297,6 +373,7 @@ OPTIONS:
|
|
|
297
373
|
-h, --help Show this help message
|
|
298
374
|
-v, --version Show version number
|
|
299
375
|
--user-port PORT Port where your dev server is running (default: 3000)
|
|
376
|
+
--rivet-port PORT Port for Rivet server (default: 4000, or next free if in use)
|
|
300
377
|
-d, --debug Enable debug logging
|
|
301
378
|
--no-telemetry Disable anonymous usage analytics (default: enabled)
|
|
302
379
|
--no-browser Don't automatically open browser (default: enabled)
|
|
@@ -307,8 +384,9 @@ OPTIONS:
|
|
|
307
384
|
--tailwind-config PATH Path to Tailwind config file (e.g., landing/tailwind.config.ts)
|
|
308
385
|
|
|
309
386
|
EXAMPLES:
|
|
310
|
-
rivet # Start Rivet
|
|
311
|
-
rivet --user-port 5173
|
|
387
|
+
rivet # Start Rivet (port auto-selected), connect to dev server on port 3000
|
|
388
|
+
rivet --user-port 5173 # Connect to Vite dev server on port 5173
|
|
389
|
+
rivet --rivet-port 4000 # Use port 4000 for Rivet (fails if in use)
|
|
312
390
|
rivet --framework static # Serve static HTML from ./index.html
|
|
313
391
|
rivet --framework static --entry dist/ # Serve static files from ./dist/ directory
|
|
314
392
|
rivet install claude # Configure Rivet as a Claude Code MCP server
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AA4FA,eAAO,MAAM,cAAc,GAAU,YAAY,MAAM,KAAG,OAAO,CAAC,IAAI,CAwiBrE,CAAC"}
|
package/dist/mcp/server.js
CHANGED
|
@@ -7,7 +7,6 @@ exports.startMCPServer = void 0;
|
|
|
7
7
|
const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
|
|
8
8
|
const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
|
|
9
9
|
const v3_1 = require("zod/v3");
|
|
10
|
-
const net_1 = __importDefault(require("net"));
|
|
11
10
|
const index_core_1 = require("../index-core");
|
|
12
11
|
const SessionBridgeService_1 = require("../services/SessionBridgeService");
|
|
13
12
|
const server_1 = require("../server");
|
|
@@ -15,6 +14,8 @@ const TelemetryService_1 = require("../services/TelemetryService");
|
|
|
15
14
|
const open_1 = __importDefault(require("open"));
|
|
16
15
|
const index_1 = require("../index");
|
|
17
16
|
const skillWriter_1 = require("../utils/skillWriter");
|
|
17
|
+
const portUtils_1 = require("../utils/portUtils");
|
|
18
|
+
const child_process_1 = require("child_process");
|
|
18
19
|
const log = (0, index_core_1.createLogger)('MCPServer');
|
|
19
20
|
// Dev server command + default port per framework
|
|
20
21
|
const FRAMEWORK_DEV_CONFIG = {
|
|
@@ -25,19 +26,41 @@ const FRAMEWORK_DEV_CONFIG = {
|
|
|
25
26
|
svelte: { devCommand: 'dev', defaultPort: 5173 },
|
|
26
27
|
static: { devCommand: '', defaultPort: 0 },
|
|
27
28
|
};
|
|
28
|
-
/**
|
|
29
|
-
function
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
29
|
+
/** Build the shell command to start the user's dev server on a specific port. */
|
|
30
|
+
function buildDevServerCommand(framework, packageManager, devCommand, port) {
|
|
31
|
+
// CRA uses PORT env var instead of a CLI flag
|
|
32
|
+
if (framework === 'cra') {
|
|
33
|
+
const args = packageManager === 'npm' ? ['run', devCommand] : [devCommand];
|
|
34
|
+
return { cmd: packageManager, args, env: { PORT: String(port) } };
|
|
35
|
+
}
|
|
36
|
+
// All others (Next.js, Vite, Remix, Svelte) accept --port
|
|
37
|
+
if (packageManager === 'npm') {
|
|
38
|
+
return {
|
|
39
|
+
cmd: 'npm',
|
|
40
|
+
args: ['run', devCommand, '--', '--port', String(port)],
|
|
41
|
+
env: {},
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
if (packageManager === 'yarn') {
|
|
45
|
+
return { cmd: 'yarn', args: [devCommand, '--port', String(port)], env: {} };
|
|
46
|
+
}
|
|
47
|
+
return { cmd: 'pnpm', args: [devCommand, '--port', String(port)], env: {} };
|
|
48
|
+
}
|
|
49
|
+
/** Poll until the port responds to HTTP or the timeout is reached. */
|
|
50
|
+
async function waitForPort(port, host, timeoutMs = 60_000) {
|
|
51
|
+
const deadline = Date.now() + timeoutMs;
|
|
52
|
+
while (Date.now() < deadline) {
|
|
53
|
+
try {
|
|
54
|
+
await fetch(`http://${host}:${port}`, {
|
|
55
|
+
signal: AbortSignal.timeout(1000),
|
|
56
|
+
});
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
await new Promise((r) => setTimeout(r, 500));
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return false;
|
|
41
64
|
}
|
|
42
65
|
/**
|
|
43
66
|
* Starts the Rivet MCP server on stdio transport.
|
|
@@ -60,6 +83,8 @@ const startMCPServer = async (mcpEditor) => {
|
|
|
60
83
|
// Track the Express server
|
|
61
84
|
let serverHandle = null;
|
|
62
85
|
let sessionStartedAt = null;
|
|
86
|
+
// Track a dev server we auto-started so we can kill it on close
|
|
87
|
+
let devServerProcess = null;
|
|
63
88
|
// Flush telemetry before process exits
|
|
64
89
|
const shutdown = async () => {
|
|
65
90
|
await telemetry.shutdown();
|
|
@@ -84,14 +109,14 @@ const startMCPServer = async (mcpEditor) => {
|
|
|
84
109
|
.string()
|
|
85
110
|
.describe('Path to the project directory. Defaults to current working directory.')
|
|
86
111
|
.optional(),
|
|
87
|
-
port: v3_1.z
|
|
88
|
-
.number()
|
|
89
|
-
.describe('Port the dev server is running on. Use the detectedPort from detect_project.')
|
|
90
|
-
.optional(),
|
|
91
112
|
framework: v3_1.z
|
|
92
113
|
.string()
|
|
93
114
|
.describe('Project framework. Use the framework value from detect_project.')
|
|
94
115
|
.optional(),
|
|
116
|
+
startPort: v3_1.z
|
|
117
|
+
.number()
|
|
118
|
+
.describe('Preferred starting port for the dev server. Rivet will find the next free port at or above this value. Falls back to the framework default if omitted.')
|
|
119
|
+
.optional(),
|
|
95
120
|
};
|
|
96
121
|
const sessionIdArgs = {
|
|
97
122
|
sessionId: v3_1.z
|
|
@@ -137,10 +162,6 @@ const startMCPServer = async (mcpEditor) => {
|
|
|
137
162
|
devCommand: 'dev',
|
|
138
163
|
defaultPort: 3000,
|
|
139
164
|
};
|
|
140
|
-
// Scan for a running dev server on any common port — don't assume the default
|
|
141
|
-
const runningServer = framework !== 'static' ? await detection.findRunningDevServer() : null;
|
|
142
|
-
const detectedPort = runningServer?.port ?? null;
|
|
143
|
-
const portActive = detectedPort !== null || framework === 'static';
|
|
144
165
|
return {
|
|
145
166
|
content: [
|
|
146
167
|
{
|
|
@@ -150,8 +171,6 @@ const startMCPServer = async (mcpEditor) => {
|
|
|
150
171
|
packageManager,
|
|
151
172
|
devCommand: devConfig.devCommand,
|
|
152
173
|
defaultPort: devConfig.defaultPort,
|
|
153
|
-
detectedPort,
|
|
154
|
-
portActive,
|
|
155
174
|
projectPath,
|
|
156
175
|
startCommand: devConfig.devCommand
|
|
157
176
|
? `${packageManager} run ${devConfig.devCommand}`
|
|
@@ -161,7 +180,7 @@ const startMCPServer = async (mcpEditor) => {
|
|
|
161
180
|
],
|
|
162
181
|
};
|
|
163
182
|
});
|
|
164
|
-
mcp.tool('open_visual_editor', "Start a Rivet visual editing session. Always call detect_project first
|
|
183
|
+
mcp.tool('open_visual_editor', "Start a Rivet visual editing session. Always call detect_project first to get the framework. Rivet will automatically start the dev server on a free port. Opens the browser with Rivet's visual editor. After calling this, use watch_for_changes in a loop to receive changes as the user works.", openEditorArgs, async (args) => {
|
|
165
184
|
if (bridge.isActive()) {
|
|
166
185
|
return {
|
|
167
186
|
content: [
|
|
@@ -178,48 +197,133 @@ const startMCPServer = async (mcpEditor) => {
|
|
|
178
197
|
}
|
|
179
198
|
const projectPath = args.projectPath || process.cwd();
|
|
180
199
|
const framework = args.framework ?? 'nextjs';
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
text: JSON.stringify({
|
|
188
|
-
error: 'port is required',
|
|
189
|
-
suggestion: 'Call detect_project first, then pass detectedPort and framework as arguments.',
|
|
190
|
-
}),
|
|
191
|
-
},
|
|
192
|
-
],
|
|
193
|
-
isError: true,
|
|
200
|
+
let devServerPort = 0;
|
|
201
|
+
const devServerHost = 'localhost';
|
|
202
|
+
if (framework !== 'static') {
|
|
203
|
+
const frameworkConfig = FRAMEWORK_DEV_CONFIG[framework] ?? {
|
|
204
|
+
devCommand: 'dev',
|
|
205
|
+
defaultPort: 3000,
|
|
194
206
|
};
|
|
207
|
+
if (!frameworkConfig.devCommand) {
|
|
208
|
+
return {
|
|
209
|
+
content: [
|
|
210
|
+
{
|
|
211
|
+
type: 'text',
|
|
212
|
+
text: JSON.stringify({
|
|
213
|
+
error: 'Cannot auto-start: no dev command configured for this framework.',
|
|
214
|
+
suggestion: 'Start the dev server manually, then call open_visual_editor again.',
|
|
215
|
+
}),
|
|
216
|
+
},
|
|
217
|
+
],
|
|
218
|
+
isError: true,
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
const detection = new index_core_1.ProjectDetectionService();
|
|
222
|
+
const packageManager = await detection.detectPackageManager(projectPath);
|
|
223
|
+
const preferredPort = args.startPort ??
|
|
224
|
+
detection.readConfiguredPort(projectPath) ??
|
|
225
|
+
frameworkConfig.defaultPort;
|
|
226
|
+
devServerPort = await (0, portUtils_1.findAvailablePort)(preferredPort);
|
|
227
|
+
const { cmd, args: cmdArgs, env, } = buildDevServerCommand(framework, packageManager, frameworkConfig.devCommand, devServerPort);
|
|
228
|
+
log.info(`Auto-starting dev server: ${cmd} ${cmdArgs.join(' ')} in ${projectPath}`);
|
|
229
|
+
devServerProcess = (0, child_process_1.spawn)(cmd, cmdArgs, {
|
|
230
|
+
cwd: projectPath,
|
|
231
|
+
env: { ...process.env, ...env },
|
|
232
|
+
stdio: 'pipe',
|
|
233
|
+
detached: false,
|
|
234
|
+
});
|
|
235
|
+
devServerProcess.on('error', (err) => {
|
|
236
|
+
log.error('Dev server process error:', err);
|
|
237
|
+
});
|
|
238
|
+
devServerProcess.on('exit', (code) => {
|
|
239
|
+
log.info(`Dev server exited with code ${code}`);
|
|
240
|
+
devServerProcess = null;
|
|
241
|
+
});
|
|
242
|
+
devServerProcess.stdout?.on('data', (data) => {
|
|
243
|
+
log.debug(`[dev-server] ${data.toString().trim()}`);
|
|
244
|
+
});
|
|
245
|
+
devServerProcess.stderr?.on('data', (data) => {
|
|
246
|
+
log.debug(`[dev-server] ${data.toString().trim()}`);
|
|
247
|
+
});
|
|
248
|
+
const ready = await waitForPort(devServerPort, devServerHost, 30_000);
|
|
249
|
+
if (!ready) {
|
|
250
|
+
devServerProcess?.kill();
|
|
251
|
+
devServerProcess = null;
|
|
252
|
+
return {
|
|
253
|
+
content: [
|
|
254
|
+
{
|
|
255
|
+
type: 'text',
|
|
256
|
+
text: JSON.stringify({
|
|
257
|
+
error: `Dev server did not become ready on port ${devServerPort} within 30s.`,
|
|
258
|
+
suggestion: 'Check that the project has a valid dev script in package.json.',
|
|
259
|
+
}),
|
|
260
|
+
},
|
|
261
|
+
],
|
|
262
|
+
isError: true,
|
|
263
|
+
};
|
|
264
|
+
}
|
|
265
|
+
log.info(`Dev server ready on ${devServerHost}:${devServerPort}`);
|
|
195
266
|
}
|
|
196
|
-
// Find a free port for Rivet's Express server (avoids conflict with desktop
|
|
267
|
+
// Find a free port for Rivet's Express server (avoids conflict with desktop or other Rivet instances)
|
|
197
268
|
let rivetPort;
|
|
198
269
|
try {
|
|
199
|
-
rivetPort = await
|
|
270
|
+
rivetPort = await (0, portUtils_1.findAvailablePort)(index_1.DEFAULT_PORT);
|
|
271
|
+
log.info(`Searching for available port starting from ${index_1.DEFAULT_PORT}... found ${rivetPort}`);
|
|
200
272
|
}
|
|
201
|
-
catch {
|
|
273
|
+
catch (error) {
|
|
274
|
+
log.warn(`Port discovery failed, falling back to ${index_1.DEFAULT_PORT}:`, error);
|
|
202
275
|
rivetPort = index_1.DEFAULT_PORT;
|
|
203
276
|
}
|
|
204
|
-
// Start the Rivet Express server
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
277
|
+
// Start the Rivet Express server (with retry on EADDRINUSE to avoid races)
|
|
278
|
+
let retries = 0;
|
|
279
|
+
const maxRetries = 5;
|
|
280
|
+
let serverStarted = false;
|
|
281
|
+
while (!serverStarted && retries < maxRetries) {
|
|
282
|
+
try {
|
|
283
|
+
serverHandle = await (0, server_1.startServer)({
|
|
284
|
+
framework,
|
|
285
|
+
projectPath,
|
|
286
|
+
userPort: devServerPort,
|
|
287
|
+
userHost: devServerHost,
|
|
288
|
+
sessionBridge: bridge,
|
|
289
|
+
mcpEditor,
|
|
290
|
+
skipProcessHandlers: true,
|
|
291
|
+
rivetPort,
|
|
292
|
+
});
|
|
293
|
+
serverStarted = true;
|
|
294
|
+
}
|
|
295
|
+
catch (error) {
|
|
296
|
+
if (error?.code === 'EADDRINUSE') {
|
|
297
|
+
retries++;
|
|
298
|
+
rivetPort = await (0, portUtils_1.findAvailablePort)(rivetPort + 1);
|
|
299
|
+
log.debug(`Port in use, retrying with port ${rivetPort} (attempt ${retries}/${maxRetries})`);
|
|
300
|
+
}
|
|
301
|
+
else {
|
|
302
|
+
const message = error instanceof Error ? error.message : 'Server start failed';
|
|
303
|
+
devServerProcess?.kill();
|
|
304
|
+
devServerProcess = null;
|
|
305
|
+
return {
|
|
306
|
+
content: [
|
|
307
|
+
{
|
|
308
|
+
type: 'text',
|
|
309
|
+
text: JSON.stringify({ error: message }),
|
|
310
|
+
},
|
|
311
|
+
],
|
|
312
|
+
isError: true,
|
|
313
|
+
};
|
|
314
|
+
}
|
|
315
|
+
}
|
|
215
316
|
}
|
|
216
|
-
|
|
217
|
-
|
|
317
|
+
if (!serverStarted) {
|
|
318
|
+
devServerProcess?.kill();
|
|
319
|
+
devServerProcess = null;
|
|
218
320
|
return {
|
|
219
321
|
content: [
|
|
220
322
|
{
|
|
221
323
|
type: 'text',
|
|
222
|
-
text: JSON.stringify({
|
|
324
|
+
text: JSON.stringify({
|
|
325
|
+
error: `Could not start Rivet server after ${maxRetries} attempts.`,
|
|
326
|
+
}),
|
|
223
327
|
},
|
|
224
328
|
],
|
|
225
329
|
isError: true,
|
|
@@ -235,7 +339,10 @@ const startMCPServer = async (mcpEditor) => {
|
|
|
235
339
|
(0, skillWriter_1.writeSkillFileIfNeeded)();
|
|
236
340
|
}
|
|
237
341
|
// Track session start
|
|
238
|
-
telemetry.trackMCPSessionStart({
|
|
342
|
+
telemetry.trackMCPSessionStart({
|
|
343
|
+
framework,
|
|
344
|
+
devServerStarted: framework !== 'static',
|
|
345
|
+
});
|
|
239
346
|
// Open browser
|
|
240
347
|
const url = `http://localhost:${rivetPort}/rivet`;
|
|
241
348
|
try {
|
|
@@ -254,6 +361,7 @@ const startMCPServer = async (mcpEditor) => {
|
|
|
254
361
|
projectPath,
|
|
255
362
|
framework,
|
|
256
363
|
rivetPort,
|
|
364
|
+
devServerPort,
|
|
257
365
|
next_step: `IMPORTANT: You must call watch_for_changes({ sessionId: "${sessionId}" }) RIGHT NOW to wait for the user's changes. Do not wait for the user to ask — call it immediately. It will block until they click "${sendButtonLabel}" in the browser.`,
|
|
258
366
|
}),
|
|
259
367
|
},
|
|
@@ -379,6 +487,16 @@ const startMCPServer = async (mcpEditor) => {
|
|
|
379
487
|
}
|
|
380
488
|
serverHandle = null;
|
|
381
489
|
}
|
|
490
|
+
// Kill the dev server if we auto-started it
|
|
491
|
+
if (devServerProcess) {
|
|
492
|
+
try {
|
|
493
|
+
devServerProcess.kill();
|
|
494
|
+
}
|
|
495
|
+
catch (error) {
|
|
496
|
+
log.warn('Error stopping dev server process:', error);
|
|
497
|
+
}
|
|
498
|
+
devServerProcess = null;
|
|
499
|
+
}
|
|
382
500
|
telemetry.trackMCPSessionEnd({
|
|
383
501
|
rounds: totalRoundsCompleted,
|
|
384
502
|
durationMs,
|