cosmios 0.3.5 → 0.4.0
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/preview-poller.d.ts.map +1 -1
- package/dist/preview-poller.js +197 -71
- package/dist/preview-poller.js.map +1 -1
- package/dist/types.d.ts +8 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview-poller.d.ts","sourceRoot":"","sources":["../src/preview-poller.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"preview-poller.d.ts","sourceRoot":"","sources":["../src/preview-poller.ts"],"names":[],"mappings":"AAqoBA,wBAAgB,eAAe,IAAI,IAAI,CAWtC;AAED,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,GAC7B,MAAM,IAAI,CA+BZ"}
|
package/dist/preview-poller.js
CHANGED
|
@@ -9,15 +9,16 @@ const POLL_INTERVAL_MS = 3_000;
|
|
|
9
9
|
const PORT_DETECT_TIMEOUT_MS = 120_000;
|
|
10
10
|
const DEFAULT_PORT = 3000;
|
|
11
11
|
const activePreviews = new Map();
|
|
12
|
+
// Shared cloudflared process for named tunnels (one per machine)
|
|
13
|
+
let namedTunnelProcess = null;
|
|
14
|
+
let namedTunnelToken = null;
|
|
12
15
|
// Port detection patterns from common dev servers.
|
|
13
|
-
// Order matters — URL pattern is most reliable, others are fallbacks.
|
|
14
|
-
// Negative lookbehind avoids matching "Port 3000 is in use" messages.
|
|
15
16
|
const PORT_PATTERNS = [
|
|
16
17
|
/https?:\/\/(?:localhost|127\.0\.0\.1|0\.0\.0\.0|192\.\d+\.\d+\.\d+|\[::1?\]):(\d+)/,
|
|
17
18
|
/listening\s+(?:on\s+)?(?:port\s+)?(\d+)/i,
|
|
18
19
|
/(?:on|using|started|ready)\s+(?:port\s+)?(\d+)/i,
|
|
19
20
|
];
|
|
20
|
-
// Cloudflared URL pattern
|
|
21
|
+
// Cloudflared URL pattern (legacy quick tunnels)
|
|
21
22
|
const TUNNEL_URL_PATTERN = /https:\/\/[a-z0-9-]+\.trycloudflare\.com/;
|
|
22
23
|
// Common cloudflared install locations
|
|
23
24
|
function getCloudflaredPaths() {
|
|
@@ -33,7 +34,6 @@ function getCloudflaredPaths() {
|
|
|
33
34
|
paths.push(join(home, 'cloudflared', 'cloudflared.exe'));
|
|
34
35
|
paths.push(join(home, '.cloudflared', 'cloudflared.exe'));
|
|
35
36
|
}
|
|
36
|
-
// WinGet installs to a dynamic package path — scan for it
|
|
37
37
|
if (localAppData) {
|
|
38
38
|
const wingetBase = join(localAppData, 'Microsoft', 'WinGet', 'Packages');
|
|
39
39
|
try {
|
|
@@ -45,7 +45,6 @@ function getCloudflaredPaths() {
|
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
catch { /* winget dir not found */ }
|
|
48
|
-
// WinGet Links shim
|
|
49
48
|
paths.push(join(localAppData, 'Microsoft', 'WinGet', 'Links', 'cloudflared.exe'));
|
|
50
49
|
}
|
|
51
50
|
return paths;
|
|
@@ -62,7 +61,6 @@ let _resolvedCloudflared = null;
|
|
|
62
61
|
async function findCloudflared() {
|
|
63
62
|
if (_resolvedCloudflared)
|
|
64
63
|
return _resolvedCloudflared;
|
|
65
|
-
// Try 'which'/'where' first
|
|
66
64
|
try {
|
|
67
65
|
const cmd = platform() === 'win32' ? 'where cloudflared' : 'which cloudflared';
|
|
68
66
|
const result = execSync(cmd, { timeout: 5000, stdio: ['ignore', 'pipe', 'ignore'] }).toString().trim().split('\n')[0];
|
|
@@ -72,7 +70,6 @@ async function findCloudflared() {
|
|
|
72
70
|
}
|
|
73
71
|
}
|
|
74
72
|
catch { /* not in PATH */ }
|
|
75
|
-
// Try known paths
|
|
76
73
|
for (const p of getCloudflaredPaths()) {
|
|
77
74
|
if (!p)
|
|
78
75
|
continue;
|
|
@@ -95,13 +92,16 @@ async function fetchPendingPreview(serverUrl, apiKey) {
|
|
|
95
92
|
return body?.preview ?? null;
|
|
96
93
|
}
|
|
97
94
|
async function activatePreview(serverUrl, apiKey, previewId, tunnelUrl, port) {
|
|
95
|
+
const payload = { port };
|
|
96
|
+
if (tunnelUrl)
|
|
97
|
+
payload.tunnel_url = tunnelUrl;
|
|
98
98
|
await fetch(`${serverUrl}/api/previews/${previewId}/activate`, {
|
|
99
99
|
method: 'POST',
|
|
100
100
|
headers: {
|
|
101
101
|
authorization: `Bearer ${apiKey}`,
|
|
102
102
|
'content-type': 'application/json'
|
|
103
103
|
},
|
|
104
|
-
body: JSON.stringify(
|
|
104
|
+
body: JSON.stringify(payload)
|
|
105
105
|
});
|
|
106
106
|
}
|
|
107
107
|
async function reportError(serverUrl, apiKey, previewId, errorMessage) {
|
|
@@ -124,11 +124,6 @@ async function reportStopped(serverUrl, apiKey, previewId) {
|
|
|
124
124
|
body: JSON.stringify({})
|
|
125
125
|
});
|
|
126
126
|
}
|
|
127
|
-
/**
|
|
128
|
-
* Returns an ordered list of commands to try.
|
|
129
|
-
* Prefers production mode (build+start) but always includes dev as fallback
|
|
130
|
-
* so projects with build errors can still be previewed.
|
|
131
|
-
*/
|
|
132
127
|
async function detectCommands(workspace) {
|
|
133
128
|
try {
|
|
134
129
|
const pkgJson = await readFile(join(workspace, 'package.json'), 'utf-8');
|
|
@@ -164,11 +159,6 @@ function detectPort(output) {
|
|
|
164
159
|
}
|
|
165
160
|
return null;
|
|
166
161
|
}
|
|
167
|
-
/**
|
|
168
|
-
* Check if a TCP port is open (server is listening).
|
|
169
|
-
* Only tests TCP handshake — does NOT send an HTTP request, which would
|
|
170
|
-
* trigger Next.js on-demand compilation and slow everything down.
|
|
171
|
-
*/
|
|
172
162
|
function tcpProbe(host, port, timeoutMs = 2_000) {
|
|
173
163
|
return new Promise((resolve) => {
|
|
174
164
|
const sock = createConnection({ host, port }, () => {
|
|
@@ -179,11 +169,6 @@ function tcpProbe(host, port, timeoutMs = 2_000) {
|
|
|
179
169
|
sock.setTimeout(timeoutMs, () => { sock.destroy(); resolve(false); });
|
|
180
170
|
});
|
|
181
171
|
}
|
|
182
|
-
/**
|
|
183
|
-
* Wait until the server accepts TCP connections.
|
|
184
|
-
* Try both 127.0.0.1 and ::1 — on Windows, Next.js may bind to IPv6 only.
|
|
185
|
-
* Returns the host that responded, or null on timeout.
|
|
186
|
-
*/
|
|
187
172
|
async function waitForTcpReady(port, timeoutMs = 30_000) {
|
|
188
173
|
const hosts = ['127.0.0.1', '::1'];
|
|
189
174
|
const start = Date.now();
|
|
@@ -203,8 +188,6 @@ function detectTunnelUrl(output) {
|
|
|
203
188
|
function killProcess(proc) {
|
|
204
189
|
const pid = proc.pid;
|
|
205
190
|
if (platform() === 'win32' && pid) {
|
|
206
|
-
// On Windows, SIGTERM doesn't kill child trees spawned with shell:true.
|
|
207
|
-
// taskkill /T kills the entire process tree.
|
|
208
191
|
try {
|
|
209
192
|
execFileSync('taskkill', ['/F', '/T', '/PID', String(pid)], { stdio: 'ignore' });
|
|
210
193
|
}
|
|
@@ -222,23 +205,161 @@ function killProcess(proc) {
|
|
|
222
205
|
}
|
|
223
206
|
catch { /* already dead */ }
|
|
224
207
|
}
|
|
225
|
-
/**
|
|
226
|
-
* Check if a port is already in use. Returns true if occupied.
|
|
227
|
-
* We intentionally do NOT kill foreign processes — that could destroy
|
|
228
|
-
* a dev server the user launched outside of COSMIOS.
|
|
229
|
-
* The zombie issue is now prevented by the cleanup handler fix (both
|
|
230
|
-
* processes must exit before removing from activePreviews).
|
|
231
|
-
*/
|
|
232
208
|
function isPortOccupied(port) {
|
|
233
209
|
return tcpProbe('127.0.0.1', port, 1_000)
|
|
234
210
|
.then((v4) => v4 ? true : tcpProbe('::1', port, 1_000));
|
|
235
211
|
}
|
|
236
|
-
|
|
212
|
+
// -- Named tunnel management ---------------------------------------------------
|
|
213
|
+
function ensureNamedTunnel(tunnelToken, cloudflaredPath) {
|
|
214
|
+
// If we already have a running named tunnel with the same token, reuse it
|
|
215
|
+
if (namedTunnelProcess && namedTunnelToken === tunnelToken && namedTunnelProcess.exitCode === null) {
|
|
216
|
+
return;
|
|
217
|
+
}
|
|
218
|
+
// Kill old one if token changed or process died
|
|
219
|
+
if (namedTunnelProcess) {
|
|
220
|
+
killProcess(namedTunnelProcess);
|
|
221
|
+
namedTunnelProcess = null;
|
|
222
|
+
namedTunnelToken = null;
|
|
223
|
+
}
|
|
224
|
+
log.info('starting named tunnel (cloudflared tunnel run)');
|
|
225
|
+
namedTunnelProcess = spawn(cloudflaredPath, ['tunnel', 'run', '--token', tunnelToken], {
|
|
226
|
+
stdio: ['ignore', 'pipe', 'pipe']
|
|
227
|
+
});
|
|
228
|
+
namedTunnelToken = tunnelToken;
|
|
229
|
+
namedTunnelProcess.stdout?.on('data', (chunk) => {
|
|
230
|
+
for (const line of chunk.toString().split('\n').filter(Boolean)) {
|
|
231
|
+
log.info(`[tunnel] ${line.trimEnd()}`);
|
|
232
|
+
}
|
|
233
|
+
});
|
|
234
|
+
namedTunnelProcess.stderr?.on('data', (chunk) => {
|
|
235
|
+
for (const line of chunk.toString().split('\n').filter(Boolean)) {
|
|
236
|
+
log.info(`[tunnel] ${line.trimEnd()}`);
|
|
237
|
+
}
|
|
238
|
+
});
|
|
239
|
+
namedTunnelProcess.on('exit', (code) => {
|
|
240
|
+
log.warn(`named tunnel process exited with code ${code}`);
|
|
241
|
+
namedTunnelProcess = null;
|
|
242
|
+
namedTunnelToken = null;
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
// -- Handle pending preview (named tunnel path) --------------------------------
|
|
246
|
+
async function handlePendingPreviewNamed(serverUrl, apiKey, preview, cloudflaredPath) {
|
|
247
|
+
const { id, workspace, tunnel_token, preview_slug } = preview;
|
|
248
|
+
// Start the shared named tunnel process if not running
|
|
249
|
+
ensureNamedTunnel(tunnel_token, cloudflaredPath);
|
|
250
|
+
// Detect commands and start dev server
|
|
251
|
+
let commands;
|
|
252
|
+
try {
|
|
253
|
+
if (preview.command) {
|
|
254
|
+
commands = [preview.command];
|
|
255
|
+
}
|
|
256
|
+
else {
|
|
257
|
+
commands = await detectCommands(workspace);
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
catch (err) {
|
|
261
|
+
await reportError(serverUrl, apiKey, id, err instanceof Error ? err.message : String(err));
|
|
262
|
+
return;
|
|
263
|
+
}
|
|
264
|
+
if (await isPortOccupied(DEFAULT_PORT)) {
|
|
265
|
+
log.warn(`preview ${id.slice(0, 8)} — port ${DEFAULT_PORT} is already in use`);
|
|
266
|
+
}
|
|
267
|
+
let devProcess = null;
|
|
268
|
+
let devOutput = '';
|
|
269
|
+
let port = null;
|
|
270
|
+
let devSpawnError = null;
|
|
271
|
+
let usedCommand = '';
|
|
272
|
+
for (const command of commands) {
|
|
273
|
+
log.info(`preview ${id.slice(0, 8)} — trying: ${command} in ${workspace}`);
|
|
274
|
+
devOutput = '';
|
|
275
|
+
port = null;
|
|
276
|
+
devSpawnError = null;
|
|
277
|
+
try {
|
|
278
|
+
devProcess = spawn(command, [], {
|
|
279
|
+
cwd: workspace,
|
|
280
|
+
shell: true,
|
|
281
|
+
stdio: ['ignore', 'pipe', 'pipe']
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
catch (err) {
|
|
285
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
286
|
+
log.warn(`preview ${id.slice(0, 8)} — "${command}" failed to spawn: ${msg}`);
|
|
287
|
+
continue;
|
|
288
|
+
}
|
|
289
|
+
const proc = devProcess;
|
|
290
|
+
proc.on('error', (err) => { devSpawnError = err.message; });
|
|
291
|
+
proc.stdout?.on('data', (chunk) => {
|
|
292
|
+
const text = chunk.toString();
|
|
293
|
+
devOutput += text;
|
|
294
|
+
if (!port)
|
|
295
|
+
port = detectPort(devOutput);
|
|
296
|
+
for (const line of text.split('\n').filter(Boolean)) {
|
|
297
|
+
log.info(`preview ${id.slice(0, 8)} [dev] ${line.trimEnd()}`);
|
|
298
|
+
}
|
|
299
|
+
});
|
|
300
|
+
proc.stderr?.on('data', (chunk) => {
|
|
301
|
+
const text = chunk.toString();
|
|
302
|
+
devOutput += text;
|
|
303
|
+
if (!port)
|
|
304
|
+
port = detectPort(devOutput);
|
|
305
|
+
for (const line of text.split('\n').filter(Boolean)) {
|
|
306
|
+
log.info(`preview ${id.slice(0, 8)} [dev] ${line.trimEnd()}`);
|
|
307
|
+
}
|
|
308
|
+
});
|
|
309
|
+
const detectedPort = await new Promise((resolve) => {
|
|
310
|
+
const checkInterval = setInterval(() => {
|
|
311
|
+
if (port) {
|
|
312
|
+
clearInterval(checkInterval);
|
|
313
|
+
resolve(port);
|
|
314
|
+
}
|
|
315
|
+
if (proc.exitCode !== null || devSpawnError) {
|
|
316
|
+
clearInterval(checkInterval);
|
|
317
|
+
resolve(null);
|
|
318
|
+
}
|
|
319
|
+
}, 500);
|
|
320
|
+
setTimeout(() => { clearInterval(checkInterval); resolve(port); }, PORT_DETECT_TIMEOUT_MS);
|
|
321
|
+
});
|
|
322
|
+
if (devSpawnError || proc.exitCode !== null) {
|
|
323
|
+
const reason = devSpawnError ?? `exited with code ${proc.exitCode}`;
|
|
324
|
+
log.warn(`preview ${id.slice(0, 8)} — "${command}" failed: ${reason}`);
|
|
325
|
+
if (commands.indexOf(command) < commands.length - 1) {
|
|
326
|
+
log.info(`preview ${id.slice(0, 8)} — falling back to next command...`);
|
|
327
|
+
continue;
|
|
328
|
+
}
|
|
329
|
+
await reportError(serverUrl, apiKey, id, `all commands failed. Last error (${command}): ${devOutput.slice(-500)}`);
|
|
330
|
+
return;
|
|
331
|
+
}
|
|
332
|
+
usedCommand = command;
|
|
333
|
+
port = detectedPort ?? DEFAULT_PORT;
|
|
334
|
+
break;
|
|
335
|
+
}
|
|
336
|
+
if (!devProcess || devProcess.exitCode !== null) {
|
|
337
|
+
await reportError(serverUrl, apiKey, id, 'no command succeeded');
|
|
338
|
+
return;
|
|
339
|
+
}
|
|
340
|
+
const detectedPort = port ?? DEFAULT_PORT;
|
|
341
|
+
log.info(`preview ${id.slice(0, 8)} — ${usedCommand} -> port ${detectedPort}, waiting for TCP...`);
|
|
342
|
+
const readyHost = await waitForTcpReady(detectedPort);
|
|
343
|
+
if (!readyHost) {
|
|
344
|
+
log.warn(`preview ${id.slice(0, 8)} — TCP not reachable on port ${detectedPort} after 30s, proceeding`);
|
|
345
|
+
}
|
|
346
|
+
else {
|
|
347
|
+
log.info(`preview ${id.slice(0, 8)} — TCP open on ${readyHost}:${detectedPort}, warming up`);
|
|
348
|
+
fetch(`http://localhost:${detectedPort}/`, { signal: AbortSignal.timeout(60_000) })
|
|
349
|
+
.then(() => log.info(`preview ${id.slice(0, 8)} — warmup complete`))
|
|
350
|
+
.catch(() => { });
|
|
351
|
+
}
|
|
352
|
+
// Track active preview (no tunnel process per preview — shared named tunnel)
|
|
353
|
+
activePreviews.set(id, { devProcess, tunnelProcess: null });
|
|
354
|
+
devProcess.on('exit', () => { activePreviews.delete(id); });
|
|
355
|
+
// Named tunnel: server handles ingress rules, no URL detection needed
|
|
356
|
+
// Just report port so server can configure ingress
|
|
357
|
+
await activatePreview(serverUrl, apiKey, id, null, detectedPort);
|
|
358
|
+
log.info(`preview ${id.slice(0, 8)} — live at ${preview_slug}.preview.cosmios.io`);
|
|
359
|
+
}
|
|
360
|
+
// -- Handle pending preview (legacy quick tunnel) ------------------------------
|
|
361
|
+
async function handlePendingPreviewLegacy(serverUrl, apiKey, preview) {
|
|
237
362
|
const { id, workspace } = preview;
|
|
238
|
-
// Build the list of commands to try.
|
|
239
|
-
// Prefer build+start (production mode works best through tunnels),
|
|
240
|
-
// but fall back to dev mode if the build fails — the project may work
|
|
241
|
-
// in dev even with type errors or build-only issues.
|
|
242
363
|
let commands;
|
|
243
364
|
try {
|
|
244
365
|
if (preview.command) {
|
|
@@ -252,10 +373,8 @@ async function handlePendingPreview(serverUrl, apiKey, preview) {
|
|
|
252
373
|
await reportError(serverUrl, apiKey, id, err instanceof Error ? err.message : String(err));
|
|
253
374
|
return;
|
|
254
375
|
}
|
|
255
|
-
// Warn if the default port is already occupied — don't kill it,
|
|
256
|
-
// it could be a user process launched outside COSMIOS.
|
|
257
376
|
if (await isPortOccupied(DEFAULT_PORT)) {
|
|
258
|
-
log.warn(`preview ${id.slice(0, 8)} — port ${DEFAULT_PORT} is already in use
|
|
377
|
+
log.warn(`preview ${id.slice(0, 8)} — port ${DEFAULT_PORT} is already in use`);
|
|
259
378
|
}
|
|
260
379
|
let devProcess = null;
|
|
261
380
|
let devOutput = '';
|
|
@@ -299,7 +418,6 @@ async function handlePendingPreview(serverUrl, apiKey, preview) {
|
|
|
299
418
|
log.info(`preview ${id.slice(0, 8)} [dev] ${line.trimEnd()}`);
|
|
300
419
|
}
|
|
301
420
|
});
|
|
302
|
-
// Wait for port detection or process exit (whichever comes first)
|
|
303
421
|
const detectedPort = await new Promise((resolve) => {
|
|
304
422
|
const checkInterval = setInterval(() => {
|
|
305
423
|
if (port) {
|
|
@@ -313,7 +431,6 @@ async function handlePendingPreview(serverUrl, apiKey, preview) {
|
|
|
313
431
|
}, 500);
|
|
314
432
|
setTimeout(() => { clearInterval(checkInterval); resolve(port); }, PORT_DETECT_TIMEOUT_MS);
|
|
315
433
|
});
|
|
316
|
-
// If process crashed, try next command
|
|
317
434
|
if (devSpawnError || proc.exitCode !== null) {
|
|
318
435
|
const reason = devSpawnError ?? `exited with code ${proc.exitCode}`;
|
|
319
436
|
log.warn(`preview ${id.slice(0, 8)} — "${command}" failed: ${reason}`);
|
|
@@ -321,7 +438,6 @@ async function handlePendingPreview(serverUrl, apiKey, preview) {
|
|
|
321
438
|
log.info(`preview ${id.slice(0, 8)} — falling back to next command...`);
|
|
322
439
|
continue;
|
|
323
440
|
}
|
|
324
|
-
// Last command also failed
|
|
325
441
|
await reportError(serverUrl, apiKey, id, `all commands failed. Last error (${command}): ${devOutput.slice(-500)}`);
|
|
326
442
|
return;
|
|
327
443
|
}
|
|
@@ -334,28 +450,18 @@ async function handlePendingPreview(serverUrl, apiKey, preview) {
|
|
|
334
450
|
return;
|
|
335
451
|
}
|
|
336
452
|
const detectedPort = port ?? DEFAULT_PORT;
|
|
337
|
-
log.info(`preview ${id.slice(0, 8)} — ${usedCommand}
|
|
338
|
-
// Wait for TCP port to be open (fast, lightweight).
|
|
453
|
+
log.info(`preview ${id.slice(0, 8)} — ${usedCommand} -> port ${detectedPort}, waiting for TCP...`);
|
|
339
454
|
const readyHost = await waitForTcpReady(detectedPort);
|
|
340
455
|
if (!readyHost) {
|
|
341
|
-
log.warn(`preview ${id.slice(0, 8)} — TCP not reachable on port ${detectedPort} after 30s, proceeding
|
|
456
|
+
log.warn(`preview ${id.slice(0, 8)} — TCP not reachable on port ${detectedPort} after 30s, proceeding`);
|
|
342
457
|
}
|
|
343
458
|
else {
|
|
344
459
|
log.info(`preview ${id.slice(0, 8)} — TCP open on ${readyHost}:${detectedPort}, warming up`);
|
|
345
|
-
// Fire-and-forget: trigger the first page compilation in background.
|
|
346
|
-
// Dev-mode Next.js compiles on-demand — the first HTTP request can
|
|
347
|
-
// take 10-15s. By starting this now (in parallel with cloudflared),
|
|
348
|
-
// the page is already compiled when the user opens the tunnel URL.
|
|
349
460
|
fetch(`http://localhost:${detectedPort}/`, { signal: AbortSignal.timeout(60_000) })
|
|
350
461
|
.then(() => log.info(`preview ${id.slice(0, 8)} — warmup complete`))
|
|
351
462
|
.catch(() => { });
|
|
352
463
|
}
|
|
353
|
-
// Always use 'localhost' for cloudflared — it resolves to the correct
|
|
354
|
-
// loopback address and matches the manual test that works. Using raw
|
|
355
|
-
// 127.0.0.1 or ::1 can cause issues on Windows where the dev server
|
|
356
|
-
// may bind to a different loopback interface.
|
|
357
464
|
const tunnelOrigin = `http://localhost:${detectedPort}`;
|
|
358
|
-
// Resolve cloudflared binary path
|
|
359
465
|
let cloudflaredPath;
|
|
360
466
|
try {
|
|
361
467
|
cloudflaredPath = await findCloudflared();
|
|
@@ -366,7 +472,6 @@ async function handlePendingPreview(serverUrl, apiKey, preview) {
|
|
|
366
472
|
return;
|
|
367
473
|
}
|
|
368
474
|
log.info(`preview ${id.slice(0, 8)} — using cloudflared: ${cloudflaredPath}`);
|
|
369
|
-
// Start cloudflared tunnel
|
|
370
475
|
let tunnelProcess;
|
|
371
476
|
try {
|
|
372
477
|
tunnelProcess = spawn(cloudflaredPath, ['tunnel', '--url', tunnelOrigin], {
|
|
@@ -395,7 +500,6 @@ async function handlePendingPreview(serverUrl, apiKey, preview) {
|
|
|
395
500
|
if (!tunnelUrl)
|
|
396
501
|
tunnelUrl = detectTunnelUrl(tunnelOutput);
|
|
397
502
|
});
|
|
398
|
-
// Wait for tunnel URL
|
|
399
503
|
const detectedUrl = await new Promise((resolve) => {
|
|
400
504
|
const checkInterval = setInterval(() => {
|
|
401
505
|
if (tunnelSpawnError) {
|
|
@@ -408,10 +512,7 @@ async function handlePendingPreview(serverUrl, apiKey, preview) {
|
|
|
408
512
|
resolve(tunnelUrl);
|
|
409
513
|
}
|
|
410
514
|
}, 500);
|
|
411
|
-
setTimeout(() => {
|
|
412
|
-
clearInterval(checkInterval);
|
|
413
|
-
resolve(tunnelUrl);
|
|
414
|
-
}, 30_000);
|
|
515
|
+
setTimeout(() => { clearInterval(checkInterval); resolve(tunnelUrl); }, 30_000);
|
|
415
516
|
});
|
|
416
517
|
if (!detectedUrl) {
|
|
417
518
|
killProcess(devProcess);
|
|
@@ -422,43 +523,68 @@ async function handlePendingPreview(serverUrl, apiKey, preview) {
|
|
|
422
523
|
await reportError(serverUrl, apiKey, id, detail);
|
|
423
524
|
return;
|
|
424
525
|
}
|
|
425
|
-
// Track active processes
|
|
426
526
|
activePreviews.set(id, { devProcess, tunnelProcess });
|
|
427
|
-
// Only delete from activePreviews when BOTH processes have exited.
|
|
428
|
-
// Previously, either process exiting would delete the entry,
|
|
429
|
-
// losing the PID of the still-running process (zombie on stop).
|
|
430
527
|
let devExited = false;
|
|
431
528
|
let tunnelExited = false;
|
|
432
529
|
const cleanupIfBothDead = () => {
|
|
433
|
-
if (devExited && tunnelExited)
|
|
530
|
+
if (devExited && tunnelExited)
|
|
434
531
|
activePreviews.delete(id);
|
|
435
|
-
}
|
|
436
532
|
};
|
|
437
533
|
devProcess.on('exit', () => { devExited = true; cleanupIfBothDead(); });
|
|
438
534
|
tunnelProcess.on('exit', () => { tunnelExited = true; cleanupIfBothDead(); });
|
|
439
|
-
// Small delay to let cloudflared fully establish the tunnel
|
|
440
535
|
await new Promise((r) => setTimeout(r, 5_000));
|
|
441
|
-
// Report success
|
|
442
536
|
await activatePreview(serverUrl, apiKey, id, detectedUrl, detectedPort);
|
|
443
537
|
log.info(`preview ${id.slice(0, 8)} — live at ${detectedUrl}`);
|
|
444
538
|
}
|
|
539
|
+
// -- Main handler dispatch -----------------------------------------------------
|
|
540
|
+
async function handlePendingPreview(serverUrl, apiKey, preview) {
|
|
541
|
+
const isNamed = !!(preview.tunnel_token && preview.preview_slug);
|
|
542
|
+
if (isNamed) {
|
|
543
|
+
let cloudflaredPath;
|
|
544
|
+
try {
|
|
545
|
+
cloudflaredPath = await findCloudflared();
|
|
546
|
+
}
|
|
547
|
+
catch (err) {
|
|
548
|
+
await reportError(serverUrl, apiKey, preview.id, err instanceof Error ? err.message : String(err));
|
|
549
|
+
return;
|
|
550
|
+
}
|
|
551
|
+
await handlePendingPreviewNamed(serverUrl, apiKey, preview, cloudflaredPath);
|
|
552
|
+
}
|
|
553
|
+
else {
|
|
554
|
+
await handlePendingPreviewLegacy(serverUrl, apiKey, preview);
|
|
555
|
+
}
|
|
556
|
+
}
|
|
445
557
|
async function handleStoppingPreview(serverUrl, apiKey, preview) {
|
|
446
558
|
const active = activePreviews.get(preview.id);
|
|
447
559
|
if (active) {
|
|
448
560
|
log.info(`preview ${preview.id.slice(0, 8)} — stopping`);
|
|
449
561
|
killProcess(active.devProcess);
|
|
450
|
-
|
|
562
|
+
if (active.tunnelProcess)
|
|
563
|
+
killProcess(active.tunnelProcess);
|
|
451
564
|
activePreviews.delete(preview.id);
|
|
452
565
|
}
|
|
453
566
|
await reportStopped(serverUrl, apiKey, preview.id);
|
|
454
567
|
log.info(`preview ${preview.id.slice(0, 8)} — stopped`);
|
|
568
|
+
// If no more active previews, stop the named tunnel process
|
|
569
|
+
if (activePreviews.size === 0 && namedTunnelProcess) {
|
|
570
|
+
log.info('no active previews, stopping named tunnel');
|
|
571
|
+
killProcess(namedTunnelProcess);
|
|
572
|
+
namedTunnelProcess = null;
|
|
573
|
+
namedTunnelToken = null;
|
|
574
|
+
}
|
|
455
575
|
}
|
|
456
576
|
export function stopAllPreviews() {
|
|
457
577
|
for (const [id, active] of activePreviews) {
|
|
458
578
|
killProcess(active.devProcess);
|
|
459
|
-
|
|
579
|
+
if (active.tunnelProcess)
|
|
580
|
+
killProcess(active.tunnelProcess);
|
|
460
581
|
activePreviews.delete(id);
|
|
461
582
|
}
|
|
583
|
+
if (namedTunnelProcess) {
|
|
584
|
+
killProcess(namedTunnelProcess);
|
|
585
|
+
namedTunnelProcess = null;
|
|
586
|
+
namedTunnelToken = null;
|
|
587
|
+
}
|
|
462
588
|
}
|
|
463
589
|
export function startPreviewPoller(serverUrl, apiKey, onError) {
|
|
464
590
|
let processing = false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview-poller.js","sourceRoot":"","sources":["../src/preview-poller.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"preview-poller.js","sourceRoot":"","sources":["../src/preview-poller.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -33,5 +33,13 @@ export interface RunPolicy {
|
|
|
33
33
|
workspace_allowed: string | null;
|
|
34
34
|
agents_allowed: string[];
|
|
35
35
|
}
|
|
36
|
+
export interface PendingPreview {
|
|
37
|
+
id: string;
|
|
38
|
+
workspace: string;
|
|
39
|
+
command: string | null;
|
|
40
|
+
status: 'pending' | 'stopping';
|
|
41
|
+
tunnel_token?: string;
|
|
42
|
+
preview_slug?: string;
|
|
43
|
+
}
|
|
36
44
|
export type ConnectionStatus = 'connecting' | 'connected' | 'disconnected' | 'error';
|
|
37
45
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,SAAS,GACjB,SAAS,GACT,cAAc,GACd,SAAS,GACT,WAAW,GACX,QAAQ,GACR,WAAW,GACX,oBAAoB,GACpB,aAAa,CAAC;AAElB,MAAM,WAAW,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,aAAa,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,WAAW,GAAG,cAAc,GAAG,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,SAAS,GACjB,SAAS,GACT,cAAc,GACd,SAAS,GACT,WAAW,GACX,QAAQ,GACR,WAAW,GACX,oBAAoB,GACpB,aAAa,CAAC;AAElB,MAAM,WAAW,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,aAAa,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,SAAS,GAAG,UAAU,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,WAAW,GAAG,cAAc,GAAG,OAAO,CAAC"}
|