botmux 2.47.3 → 2.48.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config.d.ts +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +4 -0
- package/dist/config.js.map +1 -1
- package/dist/core/command-handler.d.ts.map +1 -1
- package/dist/core/command-handler.js +2 -1
- package/dist/core/command-handler.js.map +1 -1
- package/dist/core/dashboard-ipc-server.js +1 -1
- package/dist/core/dashboard-ipc-server.js.map +1 -1
- package/dist/core/dashboard-rows.d.ts +3 -0
- package/dist/core/dashboard-rows.d.ts.map +1 -1
- package/dist/core/dashboard-rows.js +2 -0
- package/dist/core/dashboard-rows.js.map +1 -1
- package/dist/core/session-manager.d.ts +2 -2
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +48 -9
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/terminal-proxy.d.ts +32 -0
- package/dist/core/terminal-proxy.d.ts.map +1 -0
- package/dist/core/terminal-proxy.js +139 -0
- package/dist/core/terminal-proxy.js.map +1 -0
- package/dist/core/terminal-url.d.ts +27 -0
- package/dist/core/terminal-url.d.ts.map +1 -0
- package/dist/core/terminal-url.js +26 -0
- package/dist/core/terminal-url.js.map +1 -0
- package/dist/core/worker-pool.d.ts.map +1 -1
- package/dist/core/worker-pool.js +11 -20
- package/dist/core/worker-pool.js.map +1 -1
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +31 -1
- package/dist/daemon.js.map +1 -1
- package/dist/dashboard/web/sessions.js +1 -1
- package/dist/dashboard/web/sessions.js.map +1 -1
- package/dist/dashboard-web/app.js +1 -1
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +4 -0
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/zh.d.ts.map +1 -1
- package/dist/i18n/zh.js +4 -0
- package/dist/i18n/zh.js.map +1 -1
- package/dist/im/lark/card-builder.d.ts +5 -0
- package/dist/im/lark/card-builder.d.ts.map +1 -1
- package/dist/im/lark/card-builder.js +36 -2
- package/dist/im/lark/card-builder.js.map +1 -1
- package/dist/im/lark/card-handler.d.ts.map +1 -1
- package/dist/im/lark/card-handler.js +9 -9
- package/dist/im/lark/card-handler.js.map +1 -1
- package/dist/services/relay-picker.d.ts.map +1 -1
- package/dist/services/relay-picker.js +20 -0
- package/dist/services/relay-picker.js.map +1 -1
- package/dist/worker.js +6 -1
- package/dist/worker.js.map +1 -1
- package/package.json +1 -1
|
@@ -138,13 +138,13 @@ export declare function restoreActiveSessions(activeSessions: Map<string, Daemon
|
|
|
138
138
|
* - 'adopt_unsupported' — adopt sessions are torn down by /close and have
|
|
139
139
|
* no resume semantics
|
|
140
140
|
*/
|
|
141
|
-
export declare function resumeSession(sessionId: string, activeSessions: Map<string, DaemonSession>): {
|
|
141
|
+
export declare function resumeSession(sessionId: string, activeSessions: Map<string, DaemonSession>): Promise<{
|
|
142
142
|
ok: true;
|
|
143
143
|
ds: DaemonSession;
|
|
144
144
|
} | {
|
|
145
145
|
ok: false;
|
|
146
146
|
error: 'not_found' | 'not_closed' | 'anchor_occupied' | 'adopt_unsupported';
|
|
147
147
|
activeSessionId?: string;
|
|
148
|
-
}
|
|
148
|
+
}>;
|
|
149
149
|
export declare function executeScheduledTask(task: ScheduledTask, activeSessions: Map<string, DaemonSession>, refreshCliVersion: (...args: any[]) => boolean): Promise<void>;
|
|
150
150
|
//# sourceMappingURL=session-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/core/session-manager.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAW9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,OAAO,EAAmB,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAoBhE,OAAO,EAAE,UAAU,EAAE,CAAC;AAEtB,wBAAgB,oBAAoB,CAAC,EAAE,CAAC,EAAE,aAAa,GAAG,MAAM,CAQ/D;AAED,wBAAgB,iBAAiB,CAAC,EAAE,CAAC,EAAE,aAAa,GAAG,MAAM,CAQ5D;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,CAAC,EAAE,aAAa,GAAG,MAAM,EAAE,CAwB/D;AAID,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;IAAE,WAAW,EAAE,cAAc,EAAE,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC,CAuB1K;AAID;;8EAE8E;AAC9E,wBAAsB,gBAAgB,CACpC,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAoBvE;AAeD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,MAAM,CAK/D;AAED,wBAAgB,qBAAqB,CAAC,WAAW,CAAC,EAAE,cAAc,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAS7F;AAED,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,KAAK,EACZ,eAAe,CAAC,EAAE,MAAM,EACxB,WAAW,CAAC,EAAE,cAAc,EAAE,EAC9B,QAAQ,CAAC,EAAE,WAAW,EAAE,EACxB,aAAa,CAAC,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,EAC5E,SAAS,CAAC,EAAE,MAAM,EAAE,EACpB,WAAW,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EAChD,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,cAAc,EACvB,IAAI,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7C,MAAM,CAoFR;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,cAAc,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACjN,MAAM,CA0CR;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE;IACL,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,WAAW,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAC/D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GACA,MAAM,CA0DR;AAOD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,aAAa,EACjB,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE;IACL,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAC/D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB,GACA,MAAM,CAqBR;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,aAAa,GAAG,IAAI,CAyB9D;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAMlG;AAID,wBAAsB,qBAAqB,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CA+IrG;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,
|
|
1
|
+
{"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/core/session-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ import * as sessionStore from '../services/session-store.js';
|
|
|
5
5
|
import * as messageQueue from '../services/message-queue.js';
|
|
6
6
|
import { downloadMessageResource, listChatBotMembers } from '../im/lark/client.js';
|
|
7
7
|
import { logger } from '../utils/logger.js';
|
|
8
|
-
import { forkWorker, forkAdoptWorker, killStalePids, getCurrentCliVersion, restoreUsageLimitRuntimeState, setActiveSessionSafe } from './worker-pool.js';
|
|
8
|
+
import { forkWorker, forkAdoptWorker, killStalePids, getCurrentCliVersion, restoreUsageLimitRuntimeState, setActiveSessionSafe, isRelayableRealSession, closeSession } from './worker-pool.js';
|
|
9
9
|
import { createCliAdapterSync } from '../adapters/cli/registry.js';
|
|
10
10
|
import { buildBotmuxShellHints } from '../adapters/cli/shared-hints.js';
|
|
11
11
|
import { TmuxBackend } from '../adapters/backend/tmux-backend.js';
|
|
@@ -603,7 +603,7 @@ export async function restoreActiveSessions(activeSessions) {
|
|
|
603
603
|
* - 'adopt_unsupported' — adopt sessions are torn down by /close and have
|
|
604
604
|
* no resume semantics
|
|
605
605
|
*/
|
|
606
|
-
export function resumeSession(sessionId, activeSessions) {
|
|
606
|
+
export async function resumeSession(sessionId, activeSessions) {
|
|
607
607
|
const session = sessionStore.getSession(sessionId);
|
|
608
608
|
if (!session)
|
|
609
609
|
return { ok: false, error: 'not_found' };
|
|
@@ -619,9 +619,25 @@ export function resumeSession(sessionId, activeSessions) {
|
|
|
619
619
|
const larkAppId = session.larkAppId ?? getAllBots()[0]?.config.larkAppId ?? '';
|
|
620
620
|
const anchor = scope === 'thread' ? session.rootMessageId : session.chatId;
|
|
621
621
|
const key = sessionKey(anchor, larkAppId);
|
|
622
|
+
// In-memory occupant check. A daemon-command scratch (e.g. an unconfirmed
|
|
623
|
+
// `/relay` picker, a bare `/help`) parks a worker:null placeholder at this
|
|
624
|
+
// anchor; daemon.ts creates one for ANY DAEMON_COMMAND in a session-less
|
|
625
|
+
// chat. It's not a real conversation, so it must NOT block resume — but it
|
|
626
|
+
// also can't just be ignored: leaving it in the Map while we re-register
|
|
627
|
+
// the resumed session at the same key would orphan its still-active store
|
|
628
|
+
// row (the exact ghost-active bug we fixed elsewhere). So: close it (evicts
|
|
629
|
+
// Map + marks store closed + dashboard event), then fall through to resume.
|
|
630
|
+
//
|
|
631
|
+
// We keep blocking on a real session (isRelayableRealSession) AND on a
|
|
632
|
+
// pendingRepo session — the latter is a worker:null placeholder too, but it
|
|
633
|
+
// represents deliberate in-progress setup (user is picking a repo), not a
|
|
634
|
+
// throwaway command container, so clobbering it would lose real intent.
|
|
622
635
|
const existing = activeSessions.get(key);
|
|
623
636
|
if (existing) {
|
|
624
|
-
|
|
637
|
+
if (isRelayableRealSession(existing) || existing.pendingRepo) {
|
|
638
|
+
return { ok: false, error: 'anchor_occupied', activeSessionId: existing.session.sessionId };
|
|
639
|
+
}
|
|
640
|
+
await closeSession(existing.session.sessionId);
|
|
625
641
|
}
|
|
626
642
|
// Belt-and-suspenders: also scan persisted sessions for any *other* active
|
|
627
643
|
// session pinned to the same (larkAppId, scope, anchor). The in-memory Map
|
|
@@ -630,15 +646,35 @@ export function resumeSession(sessionId, activeSessions) {
|
|
|
630
646
|
// and partial-load situations (e.g. another bot's daemon writes a session
|
|
631
647
|
// file but our Map hasn't caught up, or a closed session was orphaned by a
|
|
632
648
|
// crash that left a sibling session active in the same anchor) can leave a
|
|
633
|
-
// store-level conflict invisible to the Map check above.
|
|
634
|
-
//
|
|
635
|
-
|
|
649
|
+
// store-level conflict invisible to the Map check above.
|
|
650
|
+
//
|
|
651
|
+
// Same scratch carve-out applies on disk: a persisted scratch has neither
|
|
652
|
+
// `cliId` nor `lastCliInput` (those are only written once a real CLI ran).
|
|
653
|
+
// A real conflict (either marker present) still blocks; scratch-only
|
|
654
|
+
// conflicts get closed so they stop occupying the anchor on disk.
|
|
655
|
+
//
|
|
656
|
+
// CAVEAT — this path canNOT honor the pendingRepo carve-out the in-memory
|
|
657
|
+
// branch above applies: `pendingRepo` is a runtime DaemonSession flag that
|
|
658
|
+
// is never persisted to the store, so a pendingRepo session that's only
|
|
659
|
+
// visible here as a disk row (not in our Map) looks identical to a scratch
|
|
660
|
+
// and would be closed. Safe under the production topology (one daemon per
|
|
661
|
+
// bot): this scan is larkAppId-scoped to OUR bot, and our bot's live
|
|
662
|
+
// pendingRepo sessions are always in our Map (handled by the in-memory
|
|
663
|
+
// branch first). A disk-only active row with no CLI markers for our own
|
|
664
|
+
// bot is therefore a genuine scratch or a crash leftover — closing it is
|
|
665
|
+
// correct either way. The two branches are intentionally NOT identical;
|
|
666
|
+
// don't "unify" them by reading pendingRepo here (it isn't there to read).
|
|
667
|
+
const conflicts = sessionStore.listSessions().filter(s => s.sessionId !== sessionId
|
|
636
668
|
&& s.status === 'active'
|
|
637
669
|
&& (s.larkAppId ?? '') === larkAppId
|
|
638
670
|
&& (s.scope === 'chat' ? 'chat' : 'thread') === scope
|
|
639
671
|
&& (scope === 'thread' ? s.rootMessageId === anchor : s.chatId === anchor));
|
|
640
|
-
|
|
641
|
-
|
|
672
|
+
const realConflict = conflicts.find(s => !!s.cliId || !!s.lastCliInput);
|
|
673
|
+
if (realConflict) {
|
|
674
|
+
return { ok: false, error: 'anchor_occupied', activeSessionId: realConflict.sessionId };
|
|
675
|
+
}
|
|
676
|
+
for (const scratch of conflicts) {
|
|
677
|
+
await closeSession(scratch.sessionId);
|
|
642
678
|
}
|
|
643
679
|
// Reactivate in store — clear closedAt so dashboard rows don't keep showing
|
|
644
680
|
// the stale close timestamp on the now-active session.
|
|
@@ -672,7 +708,10 @@ export function resumeSession(sessionId, activeSessions) {
|
|
|
672
708
|
lastCliInput: session.lastCliInput,
|
|
673
709
|
};
|
|
674
710
|
messageQueue.ensureQueue(anchor);
|
|
675
|
-
|
|
711
|
+
// setActiveSessionSafe over a bare Map.set: the scratch-eviction above
|
|
712
|
+
// should already have freed `key`, but if any occupant remains it closes
|
|
713
|
+
// it rather than silently orphaning it (consistent with restore/transfer).
|
|
714
|
+
await setActiveSessionSafe(activeSessions, key, ds);
|
|
676
715
|
logger.info(`Resumed session ${sessionId.substring(0, 8)} (scope: ${scope}, anchor: ${anchor.substring(0, 12)})`);
|
|
677
716
|
return { ok: true, ds };
|
|
678
717
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../../src/core/session-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../../src/core/session-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Single fixed reverse-proxy port per daemon. Each session's xterm.js web
|
|
3
|
+
* terminal runs on its own dynamically-assigned worker port, which makes SSH
|
|
4
|
+
* port-forwarding painful on dev machines (one `ssh -L` per topic). This proxy
|
|
5
|
+
* fronts all of a daemon's session terminals under one stable port, routing by
|
|
6
|
+
* sub-path: `http://host:{proxyPort}/s/{sessionId}/...` → the worker's port.
|
|
7
|
+
* Forward one port, reach every session.
|
|
8
|
+
*/
|
|
9
|
+
export interface TerminalProxyOptions {
|
|
10
|
+
port: number;
|
|
11
|
+
host?: string;
|
|
12
|
+
/** Resolve a sessionId to its live worker HTTP port (undefined if not running). */
|
|
13
|
+
resolvePort: (sessionId: string) => number | undefined;
|
|
14
|
+
/** Max upward port probes when `port` is taken (EADDRINUSE). Default 20; 0 disables. */
|
|
15
|
+
maxProbe?: number;
|
|
16
|
+
}
|
|
17
|
+
export interface TerminalProxyHandle {
|
|
18
|
+
port: number;
|
|
19
|
+
close: () => Promise<void>;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Split a request URL of the form `/s/{sessionId}{rest}` into its sessionId and
|
|
23
|
+
* the remainder that should be forwarded to the worker. The remainder always
|
|
24
|
+
* starts with `/` so the worker sees a normal request (`/`, `/?token=x`, …).
|
|
25
|
+
* Returns null when the URL is not a session route.
|
|
26
|
+
*/
|
|
27
|
+
export declare function parseTarget(rawUrl: string): {
|
|
28
|
+
sessionId: string;
|
|
29
|
+
rest: string;
|
|
30
|
+
} | null;
|
|
31
|
+
export declare function startTerminalProxy(opts: TerminalProxyOptions): Promise<TerminalProxyHandle>;
|
|
32
|
+
//# sourceMappingURL=terminal-proxy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-proxy.d.ts","sourceRoot":"","sources":["../../src/core/terminal-proxy.ts"],"names":[],"mappings":"AAUA;;;;;;;GAOG;AAEH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mFAAmF;IACnF,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACvD,wFAAwF;IACxF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAUtF;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAoH3F"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { createServer, request as httpRequest, } from 'node:http';
|
|
2
|
+
import { logger } from '../utils/logger.js';
|
|
3
|
+
/**
|
|
4
|
+
* Split a request URL of the form `/s/{sessionId}{rest}` into its sessionId and
|
|
5
|
+
* the remainder that should be forwarded to the worker. The remainder always
|
|
6
|
+
* starts with `/` so the worker sees a normal request (`/`, `/?token=x`, …).
|
|
7
|
+
* Returns null when the URL is not a session route.
|
|
8
|
+
*/
|
|
9
|
+
export function parseTarget(rawUrl) {
|
|
10
|
+
if (!rawUrl.startsWith('/s/'))
|
|
11
|
+
return null;
|
|
12
|
+
const after = rawUrl.slice(3);
|
|
13
|
+
const m = /^([^/?#]+)(.*)$/.exec(after);
|
|
14
|
+
if (!m || !m[1])
|
|
15
|
+
return null;
|
|
16
|
+
const sessionId = m[1];
|
|
17
|
+
let rest = m[2] ?? '';
|
|
18
|
+
// '' → '/', '?x' → '/?x', '#x' → '/#x'; an explicit '/...' is kept as-is.
|
|
19
|
+
if (rest === '' || rest[0] === '?' || rest[0] === '#')
|
|
20
|
+
rest = '/' + rest;
|
|
21
|
+
return { sessionId, rest };
|
|
22
|
+
}
|
|
23
|
+
export function startTerminalProxy(opts) {
|
|
24
|
+
const host = opts.host ?? '0.0.0.0';
|
|
25
|
+
const server = createServer((req, res) => {
|
|
26
|
+
const parsed = parseTarget(req.url ?? '');
|
|
27
|
+
if (!parsed) {
|
|
28
|
+
res.writeHead(404, { 'content-type': 'text/plain; charset=utf-8' });
|
|
29
|
+
res.end('not found');
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
const port = opts.resolvePort(parsed.sessionId);
|
|
33
|
+
if (!port) {
|
|
34
|
+
res.writeHead(502, { 'content-type': 'text/plain; charset=utf-8' });
|
|
35
|
+
res.end('session not running');
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
const upstream = httpRequest({ host: '127.0.0.1', port, method: req.method, path: parsed.rest, headers: req.headers }, (up) => {
|
|
39
|
+
res.writeHead(up.statusCode ?? 502, up.headers);
|
|
40
|
+
up.pipe(res);
|
|
41
|
+
});
|
|
42
|
+
upstream.on('error', () => {
|
|
43
|
+
if (!res.headersSent)
|
|
44
|
+
res.writeHead(502, { 'content-type': 'text/plain; charset=utf-8' });
|
|
45
|
+
res.end('proxy error');
|
|
46
|
+
});
|
|
47
|
+
req.pipe(upstream);
|
|
48
|
+
});
|
|
49
|
+
server.on('upgrade', (req, clientSocket, head) => {
|
|
50
|
+
const parsed = parseTarget(req.url ?? '');
|
|
51
|
+
if (!parsed)
|
|
52
|
+
return clientSocket.destroy();
|
|
53
|
+
const port = opts.resolvePort(parsed.sessionId);
|
|
54
|
+
if (!port)
|
|
55
|
+
return clientSocket.destroy();
|
|
56
|
+
const upstream = httpRequest({
|
|
57
|
+
host: '127.0.0.1',
|
|
58
|
+
port,
|
|
59
|
+
method: req.method,
|
|
60
|
+
path: parsed.rest,
|
|
61
|
+
headers: req.headers,
|
|
62
|
+
});
|
|
63
|
+
upstream.on('upgrade', (upRes, upstreamSocket, upstreamHead) => {
|
|
64
|
+
// rawHeaders is a flat [k, v, k, v, ...] list — preserves duplicates/casing.
|
|
65
|
+
const lines = [`HTTP/1.1 ${upRes.statusCode} ${upRes.statusMessage}`];
|
|
66
|
+
const rh = upRes.rawHeaders;
|
|
67
|
+
for (let i = 0; i + 1 < rh.length; i += 2)
|
|
68
|
+
lines.push(`${rh[i]}: ${rh[i + 1]}`);
|
|
69
|
+
lines.push('', '');
|
|
70
|
+
clientSocket.write(lines.join('\r\n'));
|
|
71
|
+
if (upstreamHead?.length)
|
|
72
|
+
clientSocket.write(upstreamHead);
|
|
73
|
+
if (head?.length)
|
|
74
|
+
upstreamSocket.write(head);
|
|
75
|
+
upstreamSocket.pipe(clientSocket);
|
|
76
|
+
clientSocket.pipe(upstreamSocket);
|
|
77
|
+
const cleanup = () => { upstreamSocket.destroy(); clientSocket.destroy(); };
|
|
78
|
+
upstreamSocket.on('error', cleanup);
|
|
79
|
+
clientSocket.on('error', cleanup);
|
|
80
|
+
upstreamSocket.on('close', () => clientSocket.destroy());
|
|
81
|
+
clientSocket.on('close', () => upstreamSocket.destroy());
|
|
82
|
+
});
|
|
83
|
+
// Upstream answered without upgrading (e.g. worker rejected the handshake).
|
|
84
|
+
// Relay the response and close the client socket so it doesn't hang. The
|
|
85
|
+
// body arrives already de-chunked, so drop framing headers and let the
|
|
86
|
+
// socket close delimit the response (HTTP/1.1 connection-close framing).
|
|
87
|
+
upstream.on('response', (upRes) => {
|
|
88
|
+
const lines = [`HTTP/1.1 ${upRes.statusCode} ${upRes.statusMessage}`, 'connection: close'];
|
|
89
|
+
const rh = upRes.rawHeaders;
|
|
90
|
+
for (let i = 0; i + 1 < rh.length; i += 2) {
|
|
91
|
+
const name = rh[i].toLowerCase();
|
|
92
|
+
if (name === 'transfer-encoding' || name === 'content-length' || name === 'connection')
|
|
93
|
+
continue;
|
|
94
|
+
lines.push(`${rh[i]}: ${rh[i + 1]}`);
|
|
95
|
+
}
|
|
96
|
+
lines.push('', '');
|
|
97
|
+
clientSocket.write(lines.join('\r\n'));
|
|
98
|
+
upRes.on('data', (chunk) => clientSocket.write(chunk));
|
|
99
|
+
upRes.on('end', () => { clientSocket.end(); upRes.socket?.destroy(); });
|
|
100
|
+
upRes.on('error', () => clientSocket.destroy());
|
|
101
|
+
});
|
|
102
|
+
upstream.on('error', () => clientSocket.destroy());
|
|
103
|
+
upstream.end();
|
|
104
|
+
});
|
|
105
|
+
// When the preferred port is taken, probe upward to the next free port so the
|
|
106
|
+
// proxy always comes up on a single stable-ish port (the daemon advertises the
|
|
107
|
+
// actually-bound port via getTerminalProxyPort, so links auto-follow). After
|
|
108
|
+
// maxProbe exhausted attempts it rejects → daemon falls back to direct ports.
|
|
109
|
+
const maxProbe = opts.maxProbe ?? 20;
|
|
110
|
+
return new Promise((resolve, reject) => {
|
|
111
|
+
let port = opts.port;
|
|
112
|
+
let attempts = 0;
|
|
113
|
+
const onError = (err) => {
|
|
114
|
+
if (err.code === 'EADDRINUSE' && attempts < maxProbe) {
|
|
115
|
+
attempts++;
|
|
116
|
+
logger.warn(`[terminal-proxy] port ${port} in use, trying ${port + 1}`);
|
|
117
|
+
port++;
|
|
118
|
+
setImmediate(tryListen);
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
reject(err);
|
|
122
|
+
};
|
|
123
|
+
const tryListen = () => {
|
|
124
|
+
server.once('error', onError);
|
|
125
|
+
server.listen(port, host, () => {
|
|
126
|
+
server.removeListener('error', onError);
|
|
127
|
+
const bound = server.address().port;
|
|
128
|
+
// Runtime error handler for post-bind failures.
|
|
129
|
+
server.on('error', (err) => logger.error(`[terminal-proxy] server error: ${err.message}`));
|
|
130
|
+
resolve({
|
|
131
|
+
port: bound,
|
|
132
|
+
close: () => new Promise((r) => server.close(() => r())),
|
|
133
|
+
});
|
|
134
|
+
});
|
|
135
|
+
};
|
|
136
|
+
tryListen();
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=terminal-proxy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-proxy.js","sourceRoot":"","sources":["../../src/core/terminal-proxy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Builds the public URL for a session's web terminal. When the per-daemon
|
|
3
|
+
* reverse proxy (terminal-proxy.ts) is up, URLs go through it under
|
|
4
|
+
* `/s/{sessionId}` so users only forward one port. If the proxy failed to bind,
|
|
5
|
+
* we fall back to the worker's own port so links never go dead — the proxy is
|
|
6
|
+
* an enhancement, not a hard dependency. externalHost is read live (not
|
|
7
|
+
* snapshotted) so cards stay correct across network changes.
|
|
8
|
+
*/
|
|
9
|
+
interface TerminalUrlSession {
|
|
10
|
+
session: {
|
|
11
|
+
sessionId: string;
|
|
12
|
+
webPort?: number | null;
|
|
13
|
+
};
|
|
14
|
+
workerPort: number | null;
|
|
15
|
+
workerToken: string | null;
|
|
16
|
+
}
|
|
17
|
+
/** Marks the proxy live on `port`. Called only after a successful bind. */
|
|
18
|
+
export declare function setTerminalProxyPort(port: number): void;
|
|
19
|
+
/** Bound proxy port, or 0 when the proxy is not available. */
|
|
20
|
+
export declare function getTerminalProxyPort(): number;
|
|
21
|
+
/** Test/edge helper: revert to the no-proxy (direct-port) state. */
|
|
22
|
+
export declare function resetTerminalProxy(): void;
|
|
23
|
+
export declare function buildTerminalUrl(ds: TerminalUrlSession, opts?: {
|
|
24
|
+
write?: boolean;
|
|
25
|
+
}): string;
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=terminal-url.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-url.d.ts","sourceRoot":"","sources":["../../src/core/terminal-url.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,UAAU,kBAAkB;IAC1B,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IACxD,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAKD,2EAA2E;AAC3E,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAGvD;AAED,8DAA8D;AAC9D,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED,oEAAoE;AACpE,wBAAgB,kBAAkB,IAAI,IAAI,CAGzC;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,kBAAkB,EAAE,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,MAAM,CAM/F"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { config } from '../config.js';
|
|
2
|
+
let proxyPort = 0;
|
|
3
|
+
let proxyReady = false;
|
|
4
|
+
/** Marks the proxy live on `port`. Called only after a successful bind. */
|
|
5
|
+
export function setTerminalProxyPort(port) {
|
|
6
|
+
proxyPort = port;
|
|
7
|
+
proxyReady = true;
|
|
8
|
+
}
|
|
9
|
+
/** Bound proxy port, or 0 when the proxy is not available. */
|
|
10
|
+
export function getTerminalProxyPort() {
|
|
11
|
+
return proxyReady ? proxyPort : 0;
|
|
12
|
+
}
|
|
13
|
+
/** Test/edge helper: revert to the no-proxy (direct-port) state. */
|
|
14
|
+
export function resetTerminalProxy() {
|
|
15
|
+
proxyPort = 0;
|
|
16
|
+
proxyReady = false;
|
|
17
|
+
}
|
|
18
|
+
export function buildTerminalUrl(ds, opts = {}) {
|
|
19
|
+
const base = proxyReady
|
|
20
|
+
? `http://${config.web.externalHost}:${proxyPort}/s/${ds.session.sessionId}`
|
|
21
|
+
: `http://${config.web.externalHost}:${ds.workerPort ?? ds.session.webPort}`;
|
|
22
|
+
if (opts.write && ds.workerToken)
|
|
23
|
+
return `${base}?token=${ds.workerToken}`;
|
|
24
|
+
return base;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=terminal-url.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-url.js","sourceRoot":"","sources":["../../src/core/terminal-url.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAiBtC,IAAI,SAAS,GAAG,CAAC,CAAC;AAClB,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB,2EAA2E;AAC3E,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,SAAS,GAAG,IAAI,CAAC;IACjB,UAAU,GAAG,IAAI,CAAC;AACpB,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,oBAAoB;IAClC,OAAO,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,kBAAkB;IAChC,SAAS,GAAG,CAAC,CAAC;IACd,UAAU,GAAG,KAAK,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,EAAsB,EAAE,OAA4B,EAAE;IACrF,MAAM,IAAI,GAAG,UAAU;QACrB,CAAC,CAAC,UAAU,MAAM,CAAC,GAAG,CAAC,YAAY,IAAI,SAAS,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE;QAC5E,CAAC,CAAC,UAAU,MAAM,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAC/E,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,WAAW;QAAE,OAAO,GAAG,IAAI,UAAU,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3E,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-pool.d.ts","sourceRoot":"","sources":["../../src/core/worker-pool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAyBvE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,EAAkB,cAAc,EAAE,OAAO,EAAe,MAAM,aAAa,CAAC;AACxF,OAAO,EAA+B,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"worker-pool.d.ts","sourceRoot":"","sources":["../../src/core/worker-pool.ts"],"names":[],"mappings":"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"}
|