cosmoremote 2.0.16 → 2.0.19
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/bridge.js +62 -218
- package/dist/bridge.js.map +1 -1
- package/dist/cli.js +3 -75
- package/dist/cli.js.map +1 -1
- package/dist/codex-app-server.js +26 -35
- package/dist/codex-app-server.js.map +1 -1
- package/dist/debug.js +1 -1
- package/dist/debug.js.map +1 -1
- package/dist/detect.d.ts +0 -8
- package/dist/detect.js +0 -58
- package/dist/detect.js.map +1 -1
- package/dist/session.d.ts +5 -23
- package/dist/session.js +102 -89
- package/dist/session.js.map +1 -1
- package/package.json +4 -4
package/dist/bridge.js
CHANGED
|
@@ -13,18 +13,11 @@ const fs_1 = require("fs");
|
|
|
13
13
|
const path_1 = require("path");
|
|
14
14
|
const qrcode_terminal_1 = __importDefault(require("qrcode-terminal"));
|
|
15
15
|
const detect_1 = require("./detect");
|
|
16
|
-
const cli_conversations_1 = require("./cli-conversations");
|
|
17
|
-
const project_folders_1 = require("./project-folders");
|
|
18
16
|
const session_1 = require("./session");
|
|
19
17
|
const sessions = new Map();
|
|
20
18
|
// Tracks sessionIds currently being created to prevent race condition
|
|
21
19
|
// where two simultaneous prompts spawn two CLISessions for the same id
|
|
22
20
|
const sessionsCreating = new Set();
|
|
23
|
-
// LAN WebSocket subscribers per session: events from a long-lived session must
|
|
24
|
-
// fan out to whichever clients are currently connected (the original prompter
|
|
25
|
-
// may be gone; a reconnected app may now be listening). Cloud delivery still
|
|
26
|
-
// goes through relaySend in addition to LAN broadcasting.
|
|
27
|
-
const sessionSubscribers = new Map();
|
|
28
21
|
// Persists CLI conversation IDs across CLISession lifecycle so --resume works between messages.
|
|
29
22
|
// Entries expire after 24h of inactivity to prevent unbounded growth.
|
|
30
23
|
const sessionContexts = new Map();
|
|
@@ -36,27 +29,6 @@ let clis;
|
|
|
36
29
|
let promptTicketPublicKey = null;
|
|
37
30
|
let promptTicketPublicKeySource = null;
|
|
38
31
|
let workspaceRoot = process.cwd();
|
|
39
|
-
let installedSkills = [];
|
|
40
|
-
let importableConversations = [];
|
|
41
|
-
let projectFolders = [];
|
|
42
|
-
function refreshImportableConversations() {
|
|
43
|
-
try {
|
|
44
|
-
importableConversations = (0, cli_conversations_1.listImportableConversations)(workspaceRoot);
|
|
45
|
-
console.log(` [conversations] indexed ${importableConversations.length} importable transcripts under ${workspaceRoot}`);
|
|
46
|
-
}
|
|
47
|
-
catch (err) {
|
|
48
|
-
console.error(` [conversations] scan failed:`, err);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
function refreshProjectFolders() {
|
|
52
|
-
try {
|
|
53
|
-
projectFolders = (0, project_folders_1.listProjectFolders)(workspaceRoot);
|
|
54
|
-
console.log(` [folders] indexed ${projectFolders.length} project folders under ${workspaceRoot}`);
|
|
55
|
-
}
|
|
56
|
-
catch (err) {
|
|
57
|
-
console.error(` [folders] scan failed:`, err);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
32
|
const CONFIG_DIR = (0, path_1.join)((0, os_1.homedir)(), ".cosmoremote");
|
|
61
33
|
const CONFIG_FILE = (0, path_1.join)(CONFIG_DIR, "config.json");
|
|
62
34
|
const SESSION_CONTEXTS_FILE = (0, path_1.join)(CONFIG_DIR, "session-contexts.json");
|
|
@@ -328,9 +300,6 @@ function verifyPromptTicket(token, msg) {
|
|
|
328
300
|
attachments: Array.isArray(msg.attachments) ? msg.attachments : [],
|
|
329
301
|
cli: msg.cli,
|
|
330
302
|
workingDir: msg.workingDir,
|
|
331
|
-
model: msg.model ?? null,
|
|
332
|
-
additionalDirs: Array.isArray(msg.additionalDirs) ? msg.additionalDirs : (msg.additionalDirs ?? null),
|
|
333
|
-
permissionMode: msg.permissionMode ?? null,
|
|
334
303
|
}));
|
|
335
304
|
if (payload.contentHash !== expectedHash) {
|
|
336
305
|
throw new Error("Prompt ticket content mismatch");
|
|
@@ -376,18 +345,8 @@ async function checkForUpdates() {
|
|
|
376
345
|
}
|
|
377
346
|
}
|
|
378
347
|
async function startBridge(opts) {
|
|
379
|
-
workspaceRoot = (0, path_1.resolve)(opts.workdir ??
|
|
348
|
+
workspaceRoot = (0, path_1.resolve)(opts.workdir ?? inferWorkspaceRoot());
|
|
380
349
|
clis = (0, detect_1.detectCLIs)();
|
|
381
|
-
installedSkills = (0, detect_1.discoverSkills)();
|
|
382
|
-
console.log(` [skills] discovered ${installedSkills.length} skill(s) under ~/.claude/skills`);
|
|
383
|
-
refreshImportableConversations();
|
|
384
|
-
refreshProjectFolders();
|
|
385
|
-
// Re-scan disk every 60s so the iOS picker stays roughly fresh as users open
|
|
386
|
-
// new terminal sessions during the bridge's lifetime.
|
|
387
|
-
setInterval(() => {
|
|
388
|
-
refreshImportableConversations();
|
|
389
|
-
refreshProjectFolders();
|
|
390
|
-
}, 60_000);
|
|
391
350
|
loadSessionContexts();
|
|
392
351
|
// Check for updates in background (non-blocking)
|
|
393
352
|
void checkForUpdates();
|
|
@@ -483,14 +442,12 @@ async function startBridge(opts) {
|
|
|
483
442
|
validatedTokens.add(connToken);
|
|
484
443
|
saveBridgeConfig();
|
|
485
444
|
ws.send(JSON.stringify({ type: "paired", sessionToken: connToken }));
|
|
486
|
-
ws.send(JSON.stringify({ type: "capabilities", skills: installedSkills, conversations: importableConversations, folders: projectFolders, workspaceRoot }));
|
|
487
445
|
console.log(` ✓ Device connected (via ${token === pairingCode ? "code" : "QR"})`);
|
|
488
446
|
console.log(" ✓ Pairing complete");
|
|
489
447
|
}
|
|
490
448
|
else if (token && validatedTokens.has(token)) {
|
|
491
449
|
connToken = token;
|
|
492
450
|
ws.send(JSON.stringify({ type: "connected" }));
|
|
493
|
-
ws.send(JSON.stringify({ type: "capabilities", skills: installedSkills, conversations: importableConversations, folders: projectFolders, workspaceRoot }));
|
|
494
451
|
console.log(" ✓ Device reconnected");
|
|
495
452
|
}
|
|
496
453
|
else {
|
|
@@ -524,24 +481,6 @@ function handleConnection(ws, sessionToken) {
|
|
|
524
481
|
ws.send(JSON.stringify({ type: "pong" }));
|
|
525
482
|
return;
|
|
526
483
|
}
|
|
527
|
-
// Pre-warm: iOS opens a session view → bridge spawns the persistent
|
|
528
|
-
// Claude process so MCPs are warm by the time the user types.
|
|
529
|
-
// No-op if no session exists yet (will be created on first prompt) or
|
|
530
|
-
// if process is already running.
|
|
531
|
-
if (msg.type === "prewarm") {
|
|
532
|
-
const sessionId = String(msg.sessionId || "");
|
|
533
|
-
if (!sessionId)
|
|
534
|
-
return;
|
|
535
|
-
const session = sessions.get(sessionId);
|
|
536
|
-
if (session) {
|
|
537
|
-
// Ensure this client is subscribed so it sees subsequent events
|
|
538
|
-
if (!sessionSubscribers.has(sessionId))
|
|
539
|
-
sessionSubscribers.set(sessionId, new Set());
|
|
540
|
-
sessionSubscribers.get(sessionId).add(ws);
|
|
541
|
-
session.prewarm();
|
|
542
|
-
}
|
|
543
|
-
return;
|
|
544
|
-
}
|
|
545
484
|
if (msg.type === "prompt") {
|
|
546
485
|
console.log(` [bridge] incoming prompt session=${String(msg.sessionId || "-").substring(0, 8)} cli=${msg.cli || "unknown"} wd=${msg.workingDir || "n/a"}`);
|
|
547
486
|
if (!msg.promptTicket) {
|
|
@@ -579,20 +518,9 @@ function handleConnection(ws, sessionToken) {
|
|
|
579
518
|
}
|
|
580
519
|
sessions.delete(msg.sessionId);
|
|
581
520
|
sessionsCreating.delete(msg.sessionId);
|
|
582
|
-
sessionSubscribers.delete(msg.sessionId);
|
|
583
521
|
session.kill();
|
|
522
|
+
ws.send(JSON.stringify({ type: "done", sessionId: msg.sessionId, content: "[killed]" }));
|
|
584
523
|
}
|
|
585
|
-
// Always emit a done so the UI never stays on "Stopping…" — covers the
|
|
586
|
-
// post-restart case where `sessions` doesn't know the id, and the
|
|
587
|
-
// already-idle case where session.kill() is a no-op.
|
|
588
|
-
const donePayload = {
|
|
589
|
-
type: "done",
|
|
590
|
-
sessionId: msg.sessionId,
|
|
591
|
-
content: session ? "[killed]" : "[killed: bridge had no live process]",
|
|
592
|
-
};
|
|
593
|
-
ws.send(JSON.stringify(donePayload));
|
|
594
|
-
broadcastToSubscribers(msg.sessionId, donePayload);
|
|
595
|
-
relaySend(donePayload);
|
|
596
524
|
}
|
|
597
525
|
}
|
|
598
526
|
catch {
|
|
@@ -600,85 +528,20 @@ function handleConnection(ws, sessionToken) {
|
|
|
600
528
|
}
|
|
601
529
|
});
|
|
602
530
|
ws.on("close", () => {
|
|
603
|
-
console.log(` Client disconnected (had ${connectionSessionIds.size}
|
|
604
|
-
//
|
|
605
|
-
// from each session's subscriber set. Idle sessions are reaped by the
|
|
606
|
-
// CLISession idle timer; explicit kill comes via the "kill" message.
|
|
531
|
+
console.log(` Client disconnected (had ${connectionSessionIds.size} active sessions)`);
|
|
532
|
+
// Kill and clean up any sessions that were running for this connection
|
|
607
533
|
for (const sessionId of connectionSessionIds) {
|
|
608
|
-
const
|
|
609
|
-
if (
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
534
|
+
const session = sessions.get(sessionId);
|
|
535
|
+
if (session) {
|
|
536
|
+
console.log(` [bridge] killing orphaned session=${sessionId.substring(0, 8)} on client disconnect`);
|
|
537
|
+
session.kill();
|
|
538
|
+
sessions.delete(sessionId);
|
|
539
|
+
sessionsCreating.delete(sessionId);
|
|
613
540
|
}
|
|
614
541
|
}
|
|
615
542
|
connectionSessionIds.clear();
|
|
616
543
|
});
|
|
617
544
|
}
|
|
618
|
-
function broadcastToSubscribers(sessionId, payload) {
|
|
619
|
-
const subs = sessionSubscribers.get(sessionId);
|
|
620
|
-
if (!subs || subs.size === 0)
|
|
621
|
-
return;
|
|
622
|
-
const data = JSON.stringify(payload);
|
|
623
|
-
for (const ws of subs) {
|
|
624
|
-
if (ws.readyState === ws_1.WebSocket.OPEN) {
|
|
625
|
-
ws.send(data);
|
|
626
|
-
}
|
|
627
|
-
}
|
|
628
|
-
}
|
|
629
|
-
function attachSessionListeners(session) {
|
|
630
|
-
const sessionId = session.sessionId;
|
|
631
|
-
session.on("output", (text) => {
|
|
632
|
-
const payload = { type: "output", sessionId, content: text };
|
|
633
|
-
broadcastToSubscribers(sessionId, payload);
|
|
634
|
-
relaySend(payload);
|
|
635
|
-
});
|
|
636
|
-
session.on("status", (text) => {
|
|
637
|
-
console.log(` [bridge] session=${sessionId.substring(0, 8)} status: ${text}`);
|
|
638
|
-
const payload = { type: "status", sessionId, content: text };
|
|
639
|
-
broadcastToSubscribers(sessionId, payload);
|
|
640
|
-
relaySend(payload);
|
|
641
|
-
});
|
|
642
|
-
session.on("error", (text) => {
|
|
643
|
-
console.log(` [bridge] session=${sessionId.substring(0, 8)} error: ${text.substring(0, 120)}`);
|
|
644
|
-
const payload = { type: "error", sessionId, content: text };
|
|
645
|
-
broadcastToSubscribers(sessionId, payload);
|
|
646
|
-
relaySend(payload);
|
|
647
|
-
});
|
|
648
|
-
session.on("providerError", (event) => {
|
|
649
|
-
console.log(` [bridge] session=${sessionId.substring(0, 8)} providerError ${event.severity}/${event.provider}: ${event.message.substring(0, 80)}`);
|
|
650
|
-
const payload = {
|
|
651
|
-
type: "providerError",
|
|
652
|
-
sessionId,
|
|
653
|
-
code: event.code,
|
|
654
|
-
severity: event.severity,
|
|
655
|
-
provider: event.provider,
|
|
656
|
-
content: event.message,
|
|
657
|
-
};
|
|
658
|
-
broadcastToSubscribers(sessionId, payload);
|
|
659
|
-
relaySend(payload);
|
|
660
|
-
});
|
|
661
|
-
session.on("tool", (event) => {
|
|
662
|
-
const payload = { type: "tool", sessionId, kind: event.kind, name: event.name, input: event.input };
|
|
663
|
-
broadcastToSubscribers(sessionId, payload);
|
|
664
|
-
relaySend(payload);
|
|
665
|
-
});
|
|
666
|
-
session.on("done", (result) => {
|
|
667
|
-
console.log(` [bridge] session=${sessionId.substring(0, 8)} done code=${result.code} outputLen=${result.fullOutput.length}`);
|
|
668
|
-
if (session.claudeSessionId) {
|
|
669
|
-
setClaudeContext(sessionId, session.claudeSessionId);
|
|
670
|
-
}
|
|
671
|
-
if (session.codexThreadId) {
|
|
672
|
-
setCodexContext(sessionId, session.codexThreadId);
|
|
673
|
-
}
|
|
674
|
-
const payload = { type: "done", sessionId, content: result.fullOutput };
|
|
675
|
-
broadcastToSubscribers(sessionId, payload);
|
|
676
|
-
relaySend(payload);
|
|
677
|
-
// The CLISession stays in `sessions` so the next prompt reuses the
|
|
678
|
-
// already-spawned (or already-resumable) process. CLISession owns its own
|
|
679
|
-
// idle timer and will close itself if no prompts arrive.
|
|
680
|
-
});
|
|
681
|
-
}
|
|
682
545
|
function handlePrompt(ws, msg) {
|
|
683
546
|
const cliType = msg.cli?.toUpperCase() === "CODEX" ? "codex" : "claude";
|
|
684
547
|
const binary = cliType === "codex" ? clis.codex : clis.claude;
|
|
@@ -687,12 +550,6 @@ function handlePrompt(ws, msg) {
|
|
|
687
550
|
ws.send(JSON.stringify({ type: "error", sessionId: msg.sessionId, content: `${cliType} CLI not found on this machine` }));
|
|
688
551
|
return;
|
|
689
552
|
}
|
|
690
|
-
// Subscribe this LAN client to events for this session — the persistent
|
|
691
|
-
// process may have been started by a previous client.
|
|
692
|
-
if (!sessionSubscribers.has(msg.sessionId)) {
|
|
693
|
-
sessionSubscribers.set(msg.sessionId, new Set());
|
|
694
|
-
}
|
|
695
|
-
sessionSubscribers.get(msg.sessionId).add(ws);
|
|
696
553
|
// Race condition guard: if another prompt is currently creating this session, skip
|
|
697
554
|
if (sessionsCreating.has(msg.sessionId)) {
|
|
698
555
|
console.log(` [bridge] session=${msg.sessionId.substring(0, 8)} already being created, skipping duplicate`);
|
|
@@ -701,29 +558,45 @@ function handlePrompt(ws, msg) {
|
|
|
701
558
|
let session = sessions.get(msg.sessionId);
|
|
702
559
|
if (!session) {
|
|
703
560
|
sessionsCreating.add(msg.sessionId);
|
|
704
|
-
// If the backend supplied imported CLI session ids (from /sessions/import),
|
|
705
|
-
// seed sessionContexts so the spawn uses --resume <existing-id>.
|
|
706
|
-
if (typeof msg.importedClaudeSessionId === "string" && msg.importedClaudeSessionId) {
|
|
707
|
-
setClaudeContext(msg.sessionId, msg.importedClaudeSessionId);
|
|
708
|
-
}
|
|
709
|
-
if (typeof msg.importedCodexThreadId === "string" && msg.importedCodexThreadId) {
|
|
710
|
-
setCodexContext(msg.sessionId, msg.importedCodexThreadId);
|
|
711
|
-
}
|
|
712
561
|
session = new session_1.CLISession({
|
|
713
562
|
sessionId: msg.sessionId,
|
|
714
563
|
cliBinary: binary,
|
|
715
564
|
workingDir: msg.workingDir || workspaceRoot,
|
|
716
565
|
initialClaudeSessionId: getClaudeContext(msg.sessionId),
|
|
717
566
|
initialCodexThreadId: getCodexContext(msg.sessionId),
|
|
718
|
-
model: msg.model,
|
|
719
|
-
additionalDirs: Array.isArray(msg.additionalDirs) ? msg.additionalDirs : [],
|
|
720
|
-
permissionMode: msg.permissionMode,
|
|
721
|
-
claudeSettings: msg.claudeSettings ?? null,
|
|
722
567
|
});
|
|
723
568
|
sessions.set(msg.sessionId, session);
|
|
724
569
|
sessionsCreating.delete(msg.sessionId);
|
|
725
570
|
console.log(` [bridge] session=${msg.sessionId.substring(0, 8)} created mapSize=${sessions.size} resuming=${Boolean(getClaudeContext(msg.sessionId) || getCodexContext(msg.sessionId))}`);
|
|
726
|
-
|
|
571
|
+
session.on("output", (text) => {
|
|
572
|
+
ws.send(JSON.stringify({ type: "output", sessionId: msg.sessionId, content: text }));
|
|
573
|
+
relaySend({ type: "output", sessionId: msg.sessionId, content: text });
|
|
574
|
+
});
|
|
575
|
+
session.on("status", (text) => {
|
|
576
|
+
console.log(` [bridge] session=${msg.sessionId.substring(0, 8)} status: ${text}`);
|
|
577
|
+
ws.send(JSON.stringify({ type: "status", sessionId: msg.sessionId, content: text }));
|
|
578
|
+
relaySend({ type: "status", sessionId: msg.sessionId, content: text });
|
|
579
|
+
});
|
|
580
|
+
session.on("error", (text) => {
|
|
581
|
+
console.log(` [bridge] session=${msg.sessionId.substring(0, 8)} error: ${text.substring(0, 120)}`);
|
|
582
|
+
ws.send(JSON.stringify({ type: "error", sessionId: msg.sessionId, content: text }));
|
|
583
|
+
relaySend({ type: "error", sessionId: msg.sessionId, content: text });
|
|
584
|
+
});
|
|
585
|
+
session.on("done", (result) => {
|
|
586
|
+
console.log(` [bridge] session=${msg.sessionId.substring(0, 8)} done code=${result.code} outputLen=${result.fullOutput.length}`);
|
|
587
|
+
const s = sessions.get(msg.sessionId);
|
|
588
|
+
if (s?.claudeSessionId) {
|
|
589
|
+
setClaudeContext(msg.sessionId, s.claudeSessionId);
|
|
590
|
+
console.log(` [bridge] session=${msg.sessionId.substring(0, 8)} saved claude context=${s.claudeSessionId}`);
|
|
591
|
+
}
|
|
592
|
+
if (s?.codexThreadId) {
|
|
593
|
+
setCodexContext(msg.sessionId, s.codexThreadId);
|
|
594
|
+
console.log(` [bridge] session=${msg.sessionId.substring(0, 8)} saved codex thread=${s.codexThreadId}`);
|
|
595
|
+
}
|
|
596
|
+
ws.send(JSON.stringify({ type: "done", sessionId: msg.sessionId, content: result.fullOutput }));
|
|
597
|
+
relaySend({ type: "done", sessionId: msg.sessionId, content: result.fullOutput });
|
|
598
|
+
sessions.delete(msg.sessionId);
|
|
599
|
+
});
|
|
727
600
|
}
|
|
728
601
|
session.sendPrompt(msg.content, Array.isArray(msg.attachments) ? msg.attachments : []);
|
|
729
602
|
}
|
|
@@ -749,27 +622,6 @@ function connectToBackendRelay(backendUrl) {
|
|
|
749
622
|
setRelayWs(ws);
|
|
750
623
|
backendRelayConnecting = false;
|
|
751
624
|
relayRetryDelay = 5_000;
|
|
752
|
-
// Announce installed skills to backend so the iOS app can offer
|
|
753
|
-
// /skill-name autocomplete in the composer.
|
|
754
|
-
try {
|
|
755
|
-
ws.send(JSON.stringify({ type: "capabilities", skills: installedSkills, conversations: importableConversations, folders: projectFolders, workspaceRoot }));
|
|
756
|
-
console.log(` [relay] announced ${installedSkills.length} skills`);
|
|
757
|
-
}
|
|
758
|
-
catch (err) {
|
|
759
|
-
console.error(` [relay] failed to announce capabilities:`, err);
|
|
760
|
-
}
|
|
761
|
-
// Announce that this is a fresh bridge connection so the backend can
|
|
762
|
-
// resolve any sessions it still believes are RUNNING. After a bridge
|
|
763
|
-
// restart, in-flight CLI processes are gone — without this signal the
|
|
764
|
-
// app keeps showing a streaming spinner indefinitely.
|
|
765
|
-
try {
|
|
766
|
-
const knownSessionIds = Array.from(sessions.keys());
|
|
767
|
-
ws.send(JSON.stringify({ type: "bridgeReady", knownSessionIds }));
|
|
768
|
-
console.log(` [relay] announced bridgeReady; known live sessions=${knownSessionIds.length}`);
|
|
769
|
-
}
|
|
770
|
-
catch (err) {
|
|
771
|
-
console.error(` [relay] failed to announce bridgeReady:`, err);
|
|
772
|
-
}
|
|
773
625
|
if (pendingRelayMessages.length > 0) {
|
|
774
626
|
console.log(` ↺ Flushing ${pendingRelayMessages.length} queued relay messages`);
|
|
775
627
|
const toFlush = pendingRelayMessages.splice(0);
|
|
@@ -795,14 +647,6 @@ function connectToBackendRelay(backendUrl) {
|
|
|
795
647
|
console.log(` [relay] ← prompt from backend session=${String(msg.sessionId || "-").substring(0, 8)} cli=${msg.cli || "unknown"}`);
|
|
796
648
|
handlePromptFromRelay(ws, msg);
|
|
797
649
|
}
|
|
798
|
-
if (msg.type === "prewarm") {
|
|
799
|
-
const sessionId = String(msg.sessionId || "");
|
|
800
|
-
const session = sessionId ? sessions.get(sessionId) : undefined;
|
|
801
|
-
if (session) {
|
|
802
|
-
console.log(` [relay] ← prewarm session=${sessionId.substring(0, 8)}`);
|
|
803
|
-
session.prewarm();
|
|
804
|
-
}
|
|
805
|
-
}
|
|
806
650
|
if (msg.type === "kill") {
|
|
807
651
|
console.log(` [relay] ← kill from backend session=${String(msg.sessionId || "-").substring(0, 8)}`);
|
|
808
652
|
const session = sessions.get(msg.sessionId);
|
|
@@ -816,18 +660,8 @@ function connectToBackendRelay(backendUrl) {
|
|
|
816
660
|
}
|
|
817
661
|
sessions.delete(msg.sessionId);
|
|
818
662
|
sessionsCreating.delete(msg.sessionId);
|
|
819
|
-
sessionSubscribers.delete(msg.sessionId);
|
|
820
663
|
session.kill();
|
|
821
664
|
}
|
|
822
|
-
// Always emit done so the UI un-sticks "Stopping…" even when the
|
|
823
|
-
// bridge has no live session for this id (e.g. after a restart).
|
|
824
|
-
const donePayload = {
|
|
825
|
-
type: "done",
|
|
826
|
-
sessionId: msg.sessionId,
|
|
827
|
-
content: session ? "[killed]" : "[killed: bridge had no live process]",
|
|
828
|
-
};
|
|
829
|
-
broadcastToSubscribers(msg.sessionId, donePayload);
|
|
830
|
-
relaySend(donePayload);
|
|
831
665
|
}
|
|
832
666
|
}
|
|
833
667
|
catch {
|
|
@@ -885,28 +719,38 @@ function handlePromptFromRelay(_relayWs, msg) {
|
|
|
885
719
|
let session = sessions.get(msg.sessionId);
|
|
886
720
|
if (!session) {
|
|
887
721
|
sessionsCreating.add(msg.sessionId);
|
|
888
|
-
// If the backend supplied imported CLI session ids (from /sessions/import),
|
|
889
|
-
// seed sessionContexts so the spawn uses --resume <existing-id>.
|
|
890
|
-
if (typeof msg.importedClaudeSessionId === "string" && msg.importedClaudeSessionId) {
|
|
891
|
-
setClaudeContext(msg.sessionId, msg.importedClaudeSessionId);
|
|
892
|
-
}
|
|
893
|
-
if (typeof msg.importedCodexThreadId === "string" && msg.importedCodexThreadId) {
|
|
894
|
-
setCodexContext(msg.sessionId, msg.importedCodexThreadId);
|
|
895
|
-
}
|
|
896
722
|
session = new session_1.CLISession({
|
|
897
723
|
sessionId: msg.sessionId,
|
|
898
724
|
cliBinary: binary,
|
|
899
725
|
workingDir: msg.workingDir || workspaceRoot,
|
|
900
726
|
initialClaudeSessionId: getClaudeContext(msg.sessionId),
|
|
901
727
|
initialCodexThreadId: getCodexContext(msg.sessionId),
|
|
902
|
-
model: msg.model,
|
|
903
|
-
additionalDirs: Array.isArray(msg.additionalDirs) ? msg.additionalDirs : [],
|
|
904
|
-
permissionMode: msg.permissionMode,
|
|
905
|
-
claudeSettings: msg.claudeSettings ?? null,
|
|
906
728
|
});
|
|
907
729
|
sessions.set(msg.sessionId, session);
|
|
908
730
|
sessionsCreating.delete(msg.sessionId);
|
|
909
|
-
|
|
731
|
+
session.on("output", (text) => {
|
|
732
|
+
relaySend({ type: "output", sessionId: msg.sessionId, content: text });
|
|
733
|
+
});
|
|
734
|
+
session.on("status", (text) => {
|
|
735
|
+
console.log(` [relay] session=${msg.sessionId.substring(0, 8)} status: ${text}`);
|
|
736
|
+
relaySend({ type: "status", sessionId: msg.sessionId, content: text });
|
|
737
|
+
});
|
|
738
|
+
session.on("error", (text) => {
|
|
739
|
+
console.log(` ✗ Session error: ${text.substring(0, 100)}`);
|
|
740
|
+
relaySend({ type: "error", sessionId: msg.sessionId, content: text });
|
|
741
|
+
});
|
|
742
|
+
session.on("done", (result) => {
|
|
743
|
+
console.log(` ✓ Session done (exit ${result.code}), output length: ${result.fullOutput.length}`);
|
|
744
|
+
const s = sessions.get(msg.sessionId);
|
|
745
|
+
if (s?.claudeSessionId) {
|
|
746
|
+
setClaudeContext(msg.sessionId, s.claudeSessionId);
|
|
747
|
+
}
|
|
748
|
+
if (s?.codexThreadId) {
|
|
749
|
+
setCodexContext(msg.sessionId, s.codexThreadId);
|
|
750
|
+
}
|
|
751
|
+
relaySend({ type: "done", sessionId: msg.sessionId, content: result.fullOutput });
|
|
752
|
+
sessions.delete(msg.sessionId);
|
|
753
|
+
});
|
|
910
754
|
}
|
|
911
755
|
session.sendPrompt(msg.content, Array.isArray(msg.attachments) ? msg.attachments : []);
|
|
912
756
|
}
|
package/dist/bridge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"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"}
|