rivet-design 0.5.4 → 0.5.7
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/README.md +18 -18
- package/README.npm.md +18 -18
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +51 -14
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +2 -67
- package/dist/mcp/server.js.map +1 -1
- package/dist/services/TelemetryService.d.ts.map +1 -1
- package/dist/services/TelemetryService.js +5 -0
- package/dist/services/TelemetryService.js.map +1 -1
- package/package.json +3 -3
- package/src/ui/dist/assets/main-DAIpACRO.js +491 -0
- package/src/ui/dist/index.html +1 -1
- package/dist/routes/agent.d.ts +0 -8
- package/dist/routes/agent.d.ts.map +0 -1
- package/dist/routes/agent.js +0 -79
- package/dist/routes/agent.js.map +0 -1
- package/dist/routes/comments.d.ts +0 -2
- package/dist/routes/comments.d.ts.map +0 -1
- package/dist/routes/comments.js +0 -92
- package/dist/routes/comments.js.map +0 -1
- package/dist/routes/onboarding.d.ts +0 -6
- package/dist/routes/onboarding.d.ts.map +0 -1
- package/dist/routes/onboarding.js +0 -206
- package/dist/routes/onboarding.js.map +0 -1
- package/dist/routes/selection.d.ts +0 -2
- package/dist/routes/selection.d.ts.map +0 -1
- package/dist/routes/selection.js +0 -38
- package/dist/routes/selection.js.map +0 -1
- package/dist/scripts/react-instrumentation.js +0 -300
- package/dist/services/AgentBridgeService.d.ts +0 -89
- package/dist/services/AgentBridgeService.d.ts.map +0 -1
- package/dist/services/AgentBridgeService.js +0 -413
- package/dist/services/AgentBridgeService.js.map +0 -1
- package/dist/services/AgentModService.d.ts +0 -76
- package/dist/services/AgentModService.d.ts.map +0 -1
- package/dist/services/AgentModService.js +0 -494
- package/dist/services/AgentModService.js.map +0 -1
- package/dist/services/CommentSessionManager.d.ts +0 -94
- package/dist/services/CommentSessionManager.d.ts.map +0 -1
- package/dist/services/CommentSessionManager.js +0 -260
- package/dist/services/CommentSessionManager.js.map +0 -1
- package/dist/services/ImportResolverService.d.ts +0 -30
- package/dist/services/ImportResolverService.d.ts.map +0 -1
- package/dist/services/ImportResolverService.js +0 -136
- package/dist/services/ImportResolverService.js.map +0 -1
- package/dist/services/ReactComponentPlugin.d.ts +0 -44
- package/dist/services/ReactComponentPlugin.d.ts.map +0 -1
- package/dist/services/ReactComponentPlugin.js +0 -100
- package/dist/services/ReactComponentPlugin.js.map +0 -1
- package/dist/types/agent-protocol.d.ts +0 -55
- package/dist/types/agent-protocol.d.ts.map +0 -1
- package/dist/types/agent-protocol.js +0 -6
- package/dist/types/agent-protocol.js.map +0 -1
- package/dist/types/agent-tools.d.ts +0 -78
- package/dist/types/agent-tools.d.ts.map +0 -1
- package/dist/types/agent-tools.js +0 -7
- package/dist/types/agent-tools.js.map +0 -1
- package/dist/types/types.d.ts +0 -15
- package/dist/types/types.d.ts.map +0 -1
- package/dist/types/types.js +0 -3
- package/dist/types/types.js.map +0 -1
- package/src/ui/dist/assets/main-BXXN24hn.js +0 -505
package/src/ui/dist/index.html
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<link rel="icon" type="image/x-icon" href="/rivet/favicon.ico" />
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
7
|
<title>Rivet - The visual editor for design</title>
|
|
8
|
-
<script type="module" crossorigin src="/rivet/assets/main-
|
|
8
|
+
<script type="module" crossorigin src="/rivet/assets/main-DAIpACRO.js"></script>
|
|
9
9
|
<link rel="stylesheet" crossorigin href="/rivet/assets/main-Bbs1ywL7.css">
|
|
10
10
|
</head>
|
|
11
11
|
<body>
|
package/dist/routes/agent.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { Router } from 'express';
|
|
2
|
-
import { AgentBridgeService } from '../services/AgentBridgeService';
|
|
3
|
-
/**
|
|
4
|
-
* Create Agent routes for hosted Agent SDK integration
|
|
5
|
-
* WebSocket connection is handled in AgentBridgeService
|
|
6
|
-
*/
|
|
7
|
-
export declare const createAgentRouter: (agentBridge: AgentBridgeService | null) => Router;
|
|
8
|
-
//# sourceMappingURL=agent.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/routes/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAIpE;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAC5B,aAAa,kBAAkB,GAAG,IAAI,KACrC,MA+EF,CAAC"}
|
package/dist/routes/agent.js
DELETED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createAgentRouter = void 0;
|
|
4
|
-
const express_1 = require("express");
|
|
5
|
-
const logger_1 = require("../utils/logger");
|
|
6
|
-
const log = (0, logger_1.createLogger)('AgentRoutes');
|
|
7
|
-
/**
|
|
8
|
-
* Create Agent routes for hosted Agent SDK integration
|
|
9
|
-
* WebSocket connection is handled in AgentBridgeService
|
|
10
|
-
*/
|
|
11
|
-
const createAgentRouter = (agentBridge) => {
|
|
12
|
-
const router = (0, express_1.Router)();
|
|
13
|
-
// Check if agent mode is enabled
|
|
14
|
-
const requireAgentMode = (req, res, next) => {
|
|
15
|
-
if (!agentBridge) {
|
|
16
|
-
return res.status(401).json({
|
|
17
|
-
error: 'Not authenticated',
|
|
18
|
-
message: 'Please run `rivet login` to authenticate',
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
next();
|
|
22
|
-
};
|
|
23
|
-
// Status endpoint
|
|
24
|
-
router.get('/status', (_req, res) => {
|
|
25
|
-
res.json({
|
|
26
|
-
enabled: !!agentBridge,
|
|
27
|
-
connected: agentBridge?.getIsConnected() ?? false,
|
|
28
|
-
});
|
|
29
|
-
});
|
|
30
|
-
// Execute task via Agent SDK
|
|
31
|
-
router.post('/modify', requireAgentMode, async (req, res) => {
|
|
32
|
-
if (!agentBridge) {
|
|
33
|
-
return res.status(401).json({
|
|
34
|
-
error: 'Not authenticated',
|
|
35
|
-
message: 'Please run `rivet login` to authenticate',
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
if (!agentBridge.getIsConnected()) {
|
|
39
|
-
return res.status(503).json({
|
|
40
|
-
error: 'Not connected to Agent SDK server',
|
|
41
|
-
message: 'Authentication may have failed. Try running `rivet login`',
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
try {
|
|
45
|
-
const { instruction, context } = req.body;
|
|
46
|
-
if (!instruction || typeof instruction !== 'string') {
|
|
47
|
-
return res.status(400).json({ error: 'instruction required' });
|
|
48
|
-
}
|
|
49
|
-
log.info('Executing agent task:', instruction);
|
|
50
|
-
// Execute task (results will stream via SSE)
|
|
51
|
-
await agentBridge.executeTask(instruction, context);
|
|
52
|
-
res.json({ success: true });
|
|
53
|
-
}
|
|
54
|
-
catch (error) {
|
|
55
|
-
log.error('Agent task execution error:', error);
|
|
56
|
-
res.status(500).json({
|
|
57
|
-
error: error instanceof Error ? error.message : 'Unknown error',
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
// SSE endpoint for streaming agent updates
|
|
62
|
-
router.get('/stream', requireAgentMode, (req, res) => {
|
|
63
|
-
if (!agentBridge) {
|
|
64
|
-
return res.status(401).json({
|
|
65
|
-
error: 'Not authenticated',
|
|
66
|
-
message: 'Please run `rivet login` to authenticate',
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
log.info('Client connected to agent stream');
|
|
70
|
-
// Register SSE client
|
|
71
|
-
agentBridge.registerSSEClient(res);
|
|
72
|
-
req.on('close', () => {
|
|
73
|
-
log.info('Client disconnected from agent stream');
|
|
74
|
-
});
|
|
75
|
-
});
|
|
76
|
-
return router;
|
|
77
|
-
};
|
|
78
|
-
exports.createAgentRouter = createAgentRouter;
|
|
79
|
-
//# sourceMappingURL=agent.js.map
|
package/dist/routes/agent.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/routes/agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"comments.d.ts","sourceRoot":"","sources":["../../src/routes/comments.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,mBAAmB,GAAI,aAAa,MAAM,+CAmGtD,CAAC"}
|
package/dist/routes/comments.js
DELETED
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.createCommentRouter = void 0;
|
|
7
|
-
const express_1 = require("express");
|
|
8
|
-
const logger_1 = require("../utils/logger");
|
|
9
|
-
const CommentSessionManager_1 = require("../services/CommentSessionManager");
|
|
10
|
-
const crypto_1 = __importDefault(require("crypto"));
|
|
11
|
-
const log = (0, logger_1.createLogger)('CommentRoutes');
|
|
12
|
-
const createCommentRouter = (projectPath) => {
|
|
13
|
-
const router = (0, express_1.Router)();
|
|
14
|
-
const manager = new CommentSessionManager_1.CommentSessionManager(projectPath);
|
|
15
|
-
/**
|
|
16
|
-
* Create a comment and start its agent session.
|
|
17
|
-
* Responds immediately with the commentId; progress streams via SSE.
|
|
18
|
-
*/
|
|
19
|
-
router.post('/comments', (req, res) => {
|
|
20
|
-
const { instruction, elementContext } = req.body;
|
|
21
|
-
if (!instruction || typeof instruction !== 'string') {
|
|
22
|
-
res.status(400).json({ error: 'instruction is required' });
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
if (!elementContext || typeof elementContext !== 'object') {
|
|
26
|
-
res.status(400).json({ error: 'elementContext is required' });
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
const commentId = crypto_1.default.randomUUID();
|
|
30
|
-
log.info(`Creating comment ${commentId}: "${instruction.slice(0, 50)}"`);
|
|
31
|
-
manager.startSession(commentId, instruction, elementContext);
|
|
32
|
-
res.json({ commentId, status: 'running' });
|
|
33
|
-
});
|
|
34
|
-
/**
|
|
35
|
-
* Dismiss a single comment and abort its agent session if running
|
|
36
|
-
*/
|
|
37
|
-
router.delete('/comments/:id', (req, res) => {
|
|
38
|
-
const { id } = req.params;
|
|
39
|
-
if (!manager.hasSession(id)) {
|
|
40
|
-
res.status(404).json({ error: 'Comment not found' });
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
manager.abortSession(id);
|
|
44
|
-
log.info(`Dismissed comment ${id}`);
|
|
45
|
-
res.json({ success: true });
|
|
46
|
-
});
|
|
47
|
-
/**
|
|
48
|
-
* Dismiss all comments and abort all agent sessions
|
|
49
|
-
*/
|
|
50
|
-
router.delete('/comments', (_req, res) => {
|
|
51
|
-
const count = manager.getSessionCount();
|
|
52
|
-
manager.abortAll();
|
|
53
|
-
log.info(`Dismissed all ${count} comments`);
|
|
54
|
-
res.json({ success: true, dismissed: count });
|
|
55
|
-
});
|
|
56
|
-
/**
|
|
57
|
-
* Bulk cleanup via POST (for navigator.sendBeacon on page unload).
|
|
58
|
-
* sendBeacon can only send POST, so this mirrors DELETE /comments behavior.
|
|
59
|
-
*/
|
|
60
|
-
router.post('/comments/cleanup', (_req, res) => {
|
|
61
|
-
const count = manager.getSessionCount();
|
|
62
|
-
manager.abortAll();
|
|
63
|
-
log.info(`Beacon cleanup: aborted ${count} sessions`);
|
|
64
|
-
res.json({ success: true, dismissed: count });
|
|
65
|
-
});
|
|
66
|
-
/**
|
|
67
|
-
* Multiplexed SSE stream for all comment agent progress.
|
|
68
|
-
* Events are prefixed with commentId so the frontend can route them.
|
|
69
|
-
*/
|
|
70
|
-
router.get('/comments/stream', (req, res) => {
|
|
71
|
-
res.writeHead(200, {
|
|
72
|
-
'Content-Type': 'text/event-stream',
|
|
73
|
-
'Cache-Control': 'no-cache',
|
|
74
|
-
Connection: 'keep-alive',
|
|
75
|
-
});
|
|
76
|
-
// Send initial connected event
|
|
77
|
-
res.write(`data: ${JSON.stringify({ type: 'connected' })}\n\n`);
|
|
78
|
-
manager.clientConnected();
|
|
79
|
-
const onSSE = (event) => {
|
|
80
|
-
res.write(`data: ${JSON.stringify(event)}\n\n`);
|
|
81
|
-
};
|
|
82
|
-
manager.on('sse', onSSE);
|
|
83
|
-
req.on('close', () => {
|
|
84
|
-
manager.removeListener('sse', onSSE);
|
|
85
|
-
manager.clientDisconnected();
|
|
86
|
-
log.info('SSE client disconnected');
|
|
87
|
-
});
|
|
88
|
-
});
|
|
89
|
-
return router;
|
|
90
|
-
};
|
|
91
|
-
exports.createCommentRouter = createCommentRouter;
|
|
92
|
-
//# sourceMappingURL=comments.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"comments.js","sourceRoot":"","sources":["../../src/routes/comments.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Create router for onboarding API endpoints.
|
|
3
|
-
* Handles project setup via agent and cached config management.
|
|
4
|
-
*/
|
|
5
|
-
export declare const createOnboardingRouter: (projectPath: string) => import("express-serve-static-core").Router;
|
|
6
|
-
//# sourceMappingURL=onboarding.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"onboarding.d.ts","sourceRoot":"","sources":["../../src/routes/onboarding.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GAAI,aAAa,MAAM,+CAiMzD,CAAC"}
|
|
@@ -1,206 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.createOnboardingRouter = void 0;
|
|
37
|
-
const express_1 = require("express");
|
|
38
|
-
const logger_1 = require("../utils/logger");
|
|
39
|
-
const agent_1 = require("../services/agent");
|
|
40
|
-
const ProjectConfigService_1 = require("../services/ProjectConfigService");
|
|
41
|
-
const log = (0, logger_1.createLogger)('OnboardingRoutes');
|
|
42
|
-
/**
|
|
43
|
-
* Create router for onboarding API endpoints.
|
|
44
|
-
* Handles project setup via agent and cached config management.
|
|
45
|
-
*/
|
|
46
|
-
const createOnboardingRouter = (projectPath) => {
|
|
47
|
-
const router = (0, express_1.Router)();
|
|
48
|
-
const configService = new ProjectConfigService_1.ProjectConfigService();
|
|
49
|
-
/**
|
|
50
|
-
* POST /api/onboarding/start
|
|
51
|
-
* Start the onboarding agent to analyze and start the dev server.
|
|
52
|
-
* Returns SSE stream of agent progress.
|
|
53
|
-
*/
|
|
54
|
-
router.post('/start', async (req, res) => {
|
|
55
|
-
log.info(`Starting onboarding for project: ${projectPath}`);
|
|
56
|
-
// Setup SSE headers
|
|
57
|
-
res.setHeader('Content-Type', 'text/event-stream');
|
|
58
|
-
res.setHeader('Cache-Control', 'no-cache');
|
|
59
|
-
res.setHeader('Connection', 'keep-alive');
|
|
60
|
-
res.setHeader('Access-Control-Allow-Origin', '*');
|
|
61
|
-
const agent = new agent_1.OnboardingAgent(projectPath);
|
|
62
|
-
try {
|
|
63
|
-
const result = await agent.execute((event) => {
|
|
64
|
-
if (event.type === 'step' && event.step) {
|
|
65
|
-
const step = event.step;
|
|
66
|
-
if (step.type === 'reasoning') {
|
|
67
|
-
const text = step.data.text;
|
|
68
|
-
res.write(`data: ${JSON.stringify({ type: 'thinking', content: text })}\n\n`);
|
|
69
|
-
}
|
|
70
|
-
else if (step.type === 'tool_call') {
|
|
71
|
-
const data = step.data;
|
|
72
|
-
res.write(`data: ${JSON.stringify({ type: 'tool_call', tool: data.name, input: data.input })}\n\n`);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
else if (event.type === 'error') {
|
|
76
|
-
res.write(`data: ${JSON.stringify({ type: 'error', content: event.error })}\n\n`);
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
|
-
// Send final result
|
|
80
|
-
res.write(`data: ${JSON.stringify({ type: 'complete', result })}\n\n`);
|
|
81
|
-
res.end();
|
|
82
|
-
}
|
|
83
|
-
catch (error) {
|
|
84
|
-
const errorMsg = error instanceof Error ? error.message : 'Unknown error';
|
|
85
|
-
log.error('Onboarding failed:', errorMsg);
|
|
86
|
-
res.write(`data: ${JSON.stringify({ type: 'error', content: errorMsg })}\n\n`);
|
|
87
|
-
res.end();
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
/**
|
|
91
|
-
* GET /api/onboarding/status
|
|
92
|
-
* Check if project has a cached config.
|
|
93
|
-
*/
|
|
94
|
-
router.get('/status', async (req, res) => {
|
|
95
|
-
try {
|
|
96
|
-
const config = await configService.getProjectConfig(projectPath);
|
|
97
|
-
res.json({
|
|
98
|
-
hasCachedConfig: !!config,
|
|
99
|
-
config,
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
catch (error) {
|
|
103
|
-
log.error('Failed to get onboarding status:', error);
|
|
104
|
-
res.status(500).json({
|
|
105
|
-
error: 'Failed to get status',
|
|
106
|
-
details: error instanceof Error ? error.message : 'Unknown error',
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
/**
|
|
111
|
-
* POST /api/onboarding/run-cached
|
|
112
|
-
* Run the cached start command to start the dev server.
|
|
113
|
-
* Returns SSE stream of progress.
|
|
114
|
-
*/
|
|
115
|
-
router.post('/run-cached', async (req, res) => {
|
|
116
|
-
const config = await configService.getProjectConfig(projectPath);
|
|
117
|
-
if (!config) {
|
|
118
|
-
return res.status(404).json({ error: 'No cached config found' });
|
|
119
|
-
}
|
|
120
|
-
log.info(`Running cached start command: ${config.startCommand}`);
|
|
121
|
-
// Setup SSE headers
|
|
122
|
-
res.setHeader('Content-Type', 'text/event-stream');
|
|
123
|
-
res.setHeader('Cache-Control', 'no-cache');
|
|
124
|
-
res.setHeader('Connection', 'keep-alive');
|
|
125
|
-
try {
|
|
126
|
-
const { spawn } = await Promise.resolve().then(() => __importStar(require('child_process')));
|
|
127
|
-
res.write(`data: ${JSON.stringify({ type: 'status', content: `Running: ${config.startCommand}` })}\n\n`);
|
|
128
|
-
// Parse the start command
|
|
129
|
-
const parts = config.startCommand.split(' ');
|
|
130
|
-
const cmd = parts[0];
|
|
131
|
-
const args = parts.slice(1);
|
|
132
|
-
// Start the dev server in background
|
|
133
|
-
const child = spawn(cmd, args, {
|
|
134
|
-
cwd: projectPath,
|
|
135
|
-
detached: true,
|
|
136
|
-
stdio: 'ignore',
|
|
137
|
-
});
|
|
138
|
-
child.unref();
|
|
139
|
-
// Wait for server to be ready
|
|
140
|
-
res.write(`data: ${JSON.stringify({ type: 'status', content: 'Waiting for server to start...' })}\n\n`);
|
|
141
|
-
// Poll for server to be ready
|
|
142
|
-
const port = config.devServerPort;
|
|
143
|
-
let attempts = 0;
|
|
144
|
-
const maxAttempts = 30; // 30 seconds max
|
|
145
|
-
const checkServer = async () => {
|
|
146
|
-
try {
|
|
147
|
-
const response = await fetch(`http://localhost:${port}`, {
|
|
148
|
-
method: 'HEAD',
|
|
149
|
-
});
|
|
150
|
-
return response.ok || response.status < 500;
|
|
151
|
-
}
|
|
152
|
-
catch {
|
|
153
|
-
return false;
|
|
154
|
-
}
|
|
155
|
-
};
|
|
156
|
-
while (attempts < maxAttempts) {
|
|
157
|
-
if (await checkServer()) {
|
|
158
|
-
res.write(`data: ${JSON.stringify({
|
|
159
|
-
type: 'complete',
|
|
160
|
-
result: {
|
|
161
|
-
success: true,
|
|
162
|
-
devServerPort: port,
|
|
163
|
-
startCommand: config.startCommand,
|
|
164
|
-
},
|
|
165
|
-
})}\n\n`);
|
|
166
|
-
res.end();
|
|
167
|
-
return;
|
|
168
|
-
}
|
|
169
|
-
await new Promise((resolve) => setTimeout(resolve, 1000));
|
|
170
|
-
attempts++;
|
|
171
|
-
}
|
|
172
|
-
// Timeout
|
|
173
|
-
res.write(`data: ${JSON.stringify({
|
|
174
|
-
type: 'error',
|
|
175
|
-
content: `Server did not start within ${maxAttempts} seconds`,
|
|
176
|
-
})}\n\n`);
|
|
177
|
-
res.end();
|
|
178
|
-
}
|
|
179
|
-
catch (error) {
|
|
180
|
-
const errorMsg = error instanceof Error ? error.message : 'Unknown error';
|
|
181
|
-
log.error('Failed to run cached command:', errorMsg);
|
|
182
|
-
res.write(`data: ${JSON.stringify({ type: 'error', content: errorMsg })}\n\n`);
|
|
183
|
-
res.end();
|
|
184
|
-
}
|
|
185
|
-
});
|
|
186
|
-
/**
|
|
187
|
-
* DELETE /api/onboarding/config
|
|
188
|
-
* Clear cached config for the project.
|
|
189
|
-
*/
|
|
190
|
-
router.delete('/config', async (req, res) => {
|
|
191
|
-
try {
|
|
192
|
-
await configService.clearProjectConfig(projectPath);
|
|
193
|
-
res.json({ success: true });
|
|
194
|
-
}
|
|
195
|
-
catch (error) {
|
|
196
|
-
log.error('Failed to clear config:', error);
|
|
197
|
-
res.status(500).json({
|
|
198
|
-
error: 'Failed to clear config',
|
|
199
|
-
details: error instanceof Error ? error.message : 'Unknown error',
|
|
200
|
-
});
|
|
201
|
-
}
|
|
202
|
-
});
|
|
203
|
-
return router;
|
|
204
|
-
};
|
|
205
|
-
exports.createOnboardingRouter = createOnboardingRouter;
|
|
206
|
-
//# sourceMappingURL=onboarding.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../src/routes/onboarding.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAoD;AACpD,4CAA+C;AAC/C,6CAAoD;AACpD,2EAAwE;AAExE,MAAM,GAAG,GAAG,IAAA,qBAAY,EAAC,kBAAkB,CAAC,CAAC;AAE7C;;;GAGG;AACI,MAAM,sBAAsB,GAAG,CAAC,WAAmB,EAAE,EAAE;IAC5D,MAAM,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;IACxB,MAAM,aAAa,GAAG,IAAI,2CAAoB,EAAE,CAAC;IAEjD;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QAC1D,GAAG,CAAC,IAAI,CAAC,oCAAoC,WAAW,EAAE,CAAC,CAAC;QAE5D,oBAAoB;QACpB,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;QACnD,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QAC3C,GAAG,CAAC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAC1C,GAAG,CAAC,SAAS,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;QAElD,MAAM,KAAK,GAAG,IAAI,uBAAe,CAAC,WAAW,CAAC,CAAC;QAE/C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC3C,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oBACxC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;oBAExB,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;wBAC9B,MAAM,IAAI,GAAI,IAAI,CAAC,IAAyB,CAAC,IAAI,CAAC;wBAClD,GAAG,CAAC,KAAK,CACP,SAAS,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,MAAM,CACnE,CAAC;oBACJ,CAAC;yBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;wBACrC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAwC,CAAC;wBAC3D,GAAG,CAAC,KAAK,CACP,SAAS,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,CACzF,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAClC,GAAG,CAAC,KAAK,CACP,SAAS,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM,CACvE,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,oBAAoB;YACpB,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC;YACvE,GAAG,CAAC,GAAG,EAAE,CAAC;QACZ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC1E,GAAG,CAAC,KAAK,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;YAC1C,GAAG,CAAC,KAAK,CACP,SAAS,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,MAAM,CACpE,CAAC;YACF,GAAG,CAAC,GAAG,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH;;;OAGG;IACH,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QAC1D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;YACjE,GAAG,CAAC,IAAI,CAAC;gBACP,eAAe,EAAE,CAAC,CAAC,MAAM;gBACzB,MAAM;aACP,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;YACrD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,KAAK,EAAE,sBAAsB;gBAC7B,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAClE,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QAC/D,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAEjE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,iCAAiC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;QAEjE,oBAAoB;QACpB,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;QACnD,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QAC3C,GAAG,CAAC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAE1C,IAAI,CAAC;YACH,MAAM,EAAE,KAAK,EAAE,GAAG,wDAAa,eAAe,GAAC,CAAC;YAEhD,GAAG,CAAC,KAAK,CACP,SAAS,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC,MAAM,CAC9F,CAAC;YAEF,0BAA0B;YAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7C,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACrB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAE5B,qCAAqC;YACrC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE;gBAC7B,GAAG,EAAE,WAAW;gBAChB,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,QAAQ;aAChB,CAAC,CAAC;YAEH,KAAK,CAAC,KAAK,EAAE,CAAC;YAEd,8BAA8B;YAC9B,GAAG,CAAC,KAAK,CACP,SAAS,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,gCAAgC,EAAE,CAAC,MAAM,CAC7F,CAAC;YAEF,8BAA8B;YAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,CAAC;YAClC,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,MAAM,WAAW,GAAG,EAAE,CAAC,CAAC,iBAAiB;YAEzC,MAAM,WAAW,GAAG,KAAK,IAAsB,EAAE;gBAC/C,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,oBAAoB,IAAI,EAAE,EAAE;wBACvD,MAAM,EAAE,MAAM;qBACf,CAAC,CAAC;oBACH,OAAO,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC;gBAC9C,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC,CAAC;YAEF,OAAO,QAAQ,GAAG,WAAW,EAAE,CAAC;gBAC9B,IAAI,MAAM,WAAW,EAAE,EAAE,CAAC;oBACxB,GAAG,CAAC,KAAK,CACP,SAAS,IAAI,CAAC,SAAS,CAAC;wBACtB,IAAI,EAAE,UAAU;wBAChB,MAAM,EAAE;4BACN,OAAO,EAAE,IAAI;4BACb,aAAa,EAAE,IAAI;4BACnB,YAAY,EAAE,MAAM,CAAC,YAAY;yBAClC;qBACF,CAAC,MAAM,CACT,CAAC;oBACF,GAAG,CAAC,GAAG,EAAE,CAAC;oBACV,OAAO;gBACT,CAAC;gBAED,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC1D,QAAQ,EAAE,CAAC;YACb,CAAC;YAED,UAAU;YACV,GAAG,CAAC,KAAK,CACP,SAAS,IAAI,CAAC,SAAS,CAAC;gBACtB,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,+BAA+B,WAAW,UAAU;aAC9D,CAAC,MAAM,CACT,CAAC;YACF,GAAG,CAAC,GAAG,EAAE,CAAC;QACZ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC1E,GAAG,CAAC,KAAK,CAAC,+BAA+B,EAAE,QAAQ,CAAC,CAAC;YACrD,GAAG,CAAC,KAAK,CACP,SAAS,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,MAAM,CACpE,CAAC;YACF,GAAG,CAAC,GAAG,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH;;;OAGG;IACH,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QAC7D,IAAI,CAAC;YACH,MAAM,aAAa,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YACpD,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;YAC5C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,KAAK,EAAE,wBAAwB;gBAC/B,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAClE,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAjMW,QAAA,sBAAsB,0BAiMjC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../../src/routes/selection.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,qBAAqB,GAAI,mBAAmB,MAAM,+CAwB9D,CAAC"}
|
package/dist/routes/selection.js
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// ABOUTME: Selection script and configuration API routes
|
|
3
|
-
// ABOUTME: Handles serving the element selection script and runtime configuration
|
|
4
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
5
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
6
|
-
};
|
|
7
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.createSelectionRouter = void 0;
|
|
9
|
-
const express_1 = require("express");
|
|
10
|
-
const fs_1 = __importDefault(require("fs"));
|
|
11
|
-
const path_1 = __importDefault(require("path"));
|
|
12
|
-
const logger_1 = require("../utils/logger");
|
|
13
|
-
const log = (0, logger_1.createLogger)('SelectionRoutes');
|
|
14
|
-
const createSelectionRouter = (userDevServerPort) => {
|
|
15
|
-
const router = (0, express_1.Router)();
|
|
16
|
-
// Configuration endpoint
|
|
17
|
-
router.get('/config', (req, res) => {
|
|
18
|
-
res.json({
|
|
19
|
-
userPort: userDevServerPort
|
|
20
|
-
});
|
|
21
|
-
});
|
|
22
|
-
// Serve selection script
|
|
23
|
-
router.get('/selection-script', (req, res) => {
|
|
24
|
-
try {
|
|
25
|
-
const scriptPath = path_1.default.join(__dirname, '../scripts/selection-script.js');
|
|
26
|
-
const scriptContent = fs_1.default.readFileSync(scriptPath, 'utf8');
|
|
27
|
-
res.setHeader('Content-Type', 'application/javascript');
|
|
28
|
-
res.send(scriptContent);
|
|
29
|
-
}
|
|
30
|
-
catch (error) {
|
|
31
|
-
log.error('Failed to serve selection script:', error);
|
|
32
|
-
res.status(500).send('// Selection script not found');
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
return router;
|
|
36
|
-
};
|
|
37
|
-
exports.createSelectionRouter = createSelectionRouter;
|
|
38
|
-
//# sourceMappingURL=selection.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"selection.js","sourceRoot":"","sources":["../../src/routes/selection.ts"],"names":[],"mappings":";AAAA,yDAAyD;AACzD,kFAAkF;;;;;;AAElF,qCAAiC;AACjC,4CAAoB;AACpB,gDAAwB;AACxB,4CAA+C;AAE/C,MAAM,GAAG,GAAG,IAAA,qBAAY,EAAC,iBAAiB,CAAC,CAAC;AAErC,MAAM,qBAAqB,GAAG,CAAC,iBAAyB,EAAE,EAAE;IACjE,MAAM,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;IAExB,yBAAyB;IACzB,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACjC,GAAG,CAAC,IAAI,CAAC;YACP,QAAQ,EAAE,iBAAiB;SAC5B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,yBAAyB;IACzB,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC3C,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gCAAgC,CAAC,CAAC;YAC1E,MAAM,aAAa,GAAG,YAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAC1D,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,wBAAwB,CAAC,CAAC;YACxD,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;YACtD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QACxD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAxBW,QAAA,qBAAqB,yBAwBhC"}
|