botmux 3.3.0 → 3.4.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/adapters/backend/sandbox.d.ts +47 -0
- package/dist/adapters/backend/sandbox.d.ts.map +1 -1
- package/dist/adapters/backend/sandbox.js +137 -0
- package/dist/adapters/backend/sandbox.js.map +1 -1
- package/dist/adapters/cli/read-isolation.d.ts +72 -3
- package/dist/adapters/cli/read-isolation.d.ts.map +1 -1
- package/dist/adapters/cli/read-isolation.js +143 -6
- package/dist/adapters/cli/read-isolation.js.map +1 -1
- package/dist/adapters/cli/registry.d.ts.map +1 -1
- package/dist/adapters/cli/registry.js +8 -2
- package/dist/adapters/cli/registry.js.map +1 -1
- package/dist/cli/create-group-resolver.d.ts +19 -0
- package/dist/cli/create-group-resolver.d.ts.map +1 -1
- package/dist/cli/create-group-resolver.js +30 -0
- package/dist/cli/create-group-resolver.js.map +1 -1
- package/dist/cli/pm2-command.d.ts.map +1 -1
- package/dist/cli/pm2-command.js +6 -0
- package/dist/cli/pm2-command.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +36 -1
- package/dist/cli.js.map +1 -1
- package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
- package/dist/core/dashboard-ipc-server.js +21 -0
- package/dist/core/dashboard-ipc-server.js.map +1 -1
- package/dist/core/device-isolation-activation.d.ts +56 -0
- package/dist/core/device-isolation-activation.d.ts.map +1 -0
- package/dist/core/device-isolation-activation.js +110 -0
- package/dist/core/device-isolation-activation.js.map +1 -0
- package/dist/core/device-isolation-daemon.d.ts +84 -0
- package/dist/core/device-isolation-daemon.d.ts.map +1 -0
- package/dist/core/device-isolation-daemon.js +591 -0
- package/dist/core/device-isolation-daemon.js.map +1 -0
- package/dist/core/types.d.ts +9 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/core/worker-pool.d.ts.map +1 -1
- package/dist/core/worker-pool.js +35 -0
- package/dist/core/worker-pool.js.map +1 -1
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +5 -0
- package/dist/daemon.js.map +1 -1
- package/dist/desktop/main/auto-start.d.ts +2 -0
- package/dist/desktop/main/auto-start.d.ts.map +1 -1
- package/dist/desktop/main/auto-start.js +10 -6
- package/dist/desktop/main/auto-start.js.map +1 -1
- package/dist/desktop/main/bundled-runtime.d.ts +12 -0
- package/dist/desktop/main/bundled-runtime.d.ts.map +1 -0
- package/dist/desktop/main/bundled-runtime.js +30 -0
- package/dist/desktop/main/bundled-runtime.js.map +1 -0
- package/dist/desktop/main/device-status.d.ts +15 -0
- package/dist/desktop/main/device-status.d.ts.map +1 -0
- package/dist/desktop/main/device-status.js +94 -0
- package/dist/desktop/main/device-status.js.map +1 -0
- package/dist/desktop/main/external-runtime.d.ts +9 -0
- package/dist/desktop/main/external-runtime.d.ts.map +1 -1
- package/dist/desktop/main/external-runtime.js +88 -18
- package/dist/desktop/main/external-runtime.js.map +1 -1
- package/dist/desktop/main/ipc.d.ts.map +1 -1
- package/dist/desktop/main/ipc.js +1 -0
- package/dist/desktop/main/ipc.js.map +1 -1
- package/dist/desktop/main/node-command.d.ts +21 -0
- package/dist/desktop/main/node-command.d.ts.map +1 -1
- package/dist/desktop/main/node-command.js +41 -0
- package/dist/desktop/main/node-command.js.map +1 -1
- package/dist/desktop/main/pm2-apps.d.ts +4 -2
- package/dist/desktop/main/pm2-apps.d.ts.map +1 -1
- package/dist/desktop/main/pm2-apps.js +11 -3
- package/dist/desktop/main/pm2-apps.js.map +1 -1
- package/dist/desktop/main/runtime-service.d.ts +21 -5
- package/dist/desktop/main/runtime-service.d.ts.map +1 -1
- package/dist/desktop/main/runtime-service.js +94 -10
- package/dist/desktop/main/runtime-service.js.map +1 -1
- package/dist/desktop/main/runtime-source.d.ts +2 -0
- package/dist/desktop/main/runtime-source.d.ts.map +1 -1
- package/dist/desktop/main/runtime-source.js +12 -6
- package/dist/desktop/main/runtime-source.js.map +1 -1
- package/dist/desktop/main/tray.d.ts +1 -0
- package/dist/desktop/main/tray.d.ts.map +1 -1
- package/dist/desktop/main/tray.js +3 -3
- package/dist/desktop/main/tray.js.map +1 -1
- package/dist/desktop/main.js +28 -8
- package/dist/desktop/main.js.map +1 -1
- package/dist/desktop/preload.js +3 -0
- package/dist/desktop/preload.js.map +1 -1
- package/dist/desktop/renderer/app.d.ts +2 -1
- package/dist/desktop/renderer/app.d.ts.map +1 -1
- package/dist/desktop/renderer/app.js +6 -1
- package/dist/desktop/renderer/app.js.map +1 -1
- package/dist/desktop/renderer/runtime-state.d.ts.map +1 -1
- package/dist/desktop/renderer/runtime-state.js +2 -0
- package/dist/desktop/renderer/runtime-state.js.map +1 -1
- package/dist/desktop/shared/shell-path-probes.d.ts +24 -0
- package/dist/desktop/shared/shell-path-probes.d.ts.map +1 -0
- package/dist/desktop/shared/shell-path-probes.js +38 -0
- package/dist/desktop/shared/shell-path-probes.js.map +1 -0
- package/dist/desktop/shared/types.d.ts +21 -1
- package/dist/desktop/shared/types.d.ts.map +1 -1
- package/dist/desktop/smoke.d.ts +1 -0
- package/dist/desktop/smoke.d.ts.map +1 -1
- package/dist/desktop/smoke.js +20 -5
- package/dist/desktop/smoke.js.map +1 -1
- package/dist/platform/bind.d.ts +4 -1
- package/dist/platform/bind.d.ts.map +1 -1
- package/dist/platform/bind.js +10 -1
- package/dist/platform/bind.js.map +1 -1
- package/dist/platform/binding.d.ts.map +1 -1
- package/dist/platform/binding.js +15 -9
- package/dist/platform/binding.js.map +1 -1
- package/dist/platform/device-command.d.ts +35 -0
- package/dist/platform/device-command.d.ts.map +1 -0
- package/dist/platform/device-command.js +187 -0
- package/dist/platform/device-command.js.map +1 -0
- package/dist/platform/device-enroll.d.ts +156 -0
- package/dist/platform/device-enroll.d.ts.map +1 -0
- package/dist/platform/device-enroll.js +781 -0
- package/dist/platform/device-enroll.js.map +1 -0
- package/dist/platform/device-isolation-activation-client.d.ts +28 -0
- package/dist/platform/device-isolation-activation-client.d.ts.map +1 -0
- package/dist/platform/device-isolation-activation-client.js +279 -0
- package/dist/platform/device-isolation-activation-client.js.map +1 -0
- package/dist/platform/device-isolation.d.ts +35 -0
- package/dist/platform/device-isolation.d.ts.map +1 -0
- package/dist/platform/device-isolation.js +90 -0
- package/dist/platform/device-isolation.js.map +1 -0
- package/dist/platform/device-paths.d.ts +9 -0
- package/dist/platform/device-paths.d.ts.map +1 -0
- package/dist/platform/device-paths.js +14 -0
- package/dist/platform/device-paths.js.map +1 -0
- package/dist/platform/device.d.ts +77 -0
- package/dist/platform/device.d.ts.map +1 -0
- package/dist/platform/device.js +212 -0
- package/dist/platform/device.js.map +1 -0
- package/dist/platform/host-command-context.d.ts +15 -0
- package/dist/platform/host-command-context.d.ts.map +1 -0
- package/dist/platform/host-command-context.js +26 -0
- package/dist/platform/host-command-context.js.map +1 -0
- package/dist/platform/secure-host-file.d.ts +12 -0
- package/dist/platform/secure-host-file.d.ts.map +1 -0
- package/dist/platform/secure-host-file.js +182 -0
- package/dist/platform/secure-host-file.js.map +1 -0
- package/dist/services/group-creator.d.ts +8 -0
- package/dist/services/group-creator.d.ts.map +1 -1
- package/dist/services/group-creator.js +42 -0
- package/dist/services/group-creator.js.map +1 -1
- package/dist/types.d.ts +9 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/atomic-write.d.ts +13 -0
- package/dist/utils/atomic-write.d.ts.map +1 -1
- package/dist/utils/atomic-write.js +89 -9
- package/dist/utils/atomic-write.js.map +1 -1
- package/dist/utils/input-gate.d.ts +41 -0
- package/dist/utils/input-gate.d.ts.map +1 -1
- package/dist/utils/input-gate.js +41 -0
- package/dist/utils/input-gate.js.map +1 -1
- package/dist/worker.js +328 -22
- package/dist/worker.js.map +1 -1
- package/dist/workflows/events/payloads.d.ts +4 -4
- package/dist/workflows/events/schema.d.ts +16 -16
- package/package.json +6 -3
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { spawn as spawnProcess } from 'node:child_process';
|
|
2
2
|
import type { DesktopPaths } from '../shared/types.js';
|
|
3
|
-
import type {
|
|
3
|
+
import type { RuntimeLaunchTarget } from './runtime-service.js';
|
|
4
4
|
import { type Pm2AppSummary } from './runtime-source.js';
|
|
5
5
|
interface Pm2ListDeps {
|
|
6
6
|
existsSync?: (path: string) => boolean;
|
|
@@ -8,8 +8,10 @@ interface Pm2ListDeps {
|
|
|
8
8
|
execPath?: string;
|
|
9
9
|
env?: NodeJS.ProcessEnv;
|
|
10
10
|
timeoutMs?: number;
|
|
11
|
+
/** Probed user shell PATH for bundled runtimes (see probeShellPathEnv). */
|
|
12
|
+
pathEnv?: string;
|
|
11
13
|
}
|
|
12
14
|
export declare const defaultPm2ListTimeoutMs = 25000;
|
|
13
|
-
export declare function listPm2Apps(paths: DesktopPaths, runtime:
|
|
15
|
+
export declare function listPm2Apps(paths: DesktopPaths, runtime: RuntimeLaunchTarget, deps?: Pm2ListDeps): Promise<Pm2AppSummary[]>;
|
|
14
16
|
export {};
|
|
15
17
|
//# sourceMappingURL=pm2-apps.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pm2-apps.d.ts","sourceRoot":"","sources":["../../../src/desktop/main/pm2-apps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,YAAY,EAAuC,MAAM,oBAAoB,CAAC;AAGhG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"pm2-apps.d.ts","sourceRoot":"","sources":["../../../src/desktop/main/pm2-apps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,YAAY,EAAuC,MAAM,oBAAoB,CAAC;AAGhG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEvE,UAAU,WAAW;IACnB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACvC,KAAK,CAAC,EAAE,OAAO,YAAY,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAE9C,wBAAgB,WAAW,CACzB,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,mBAAmB,EAC5B,IAAI,GAAE,WAAgB,GACrB,OAAO,CAAC,aAAa,EAAE,CAAC,CAyE1B"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { spawn as spawnProcess } from 'node:child_process';
|
|
2
2
|
import { existsSync as pathExistsSync } from 'node:fs';
|
|
3
3
|
import { delimiter, dirname, join } from 'node:path';
|
|
4
|
+
import { buildBundledPath } from './node-command.js';
|
|
4
5
|
import { parsePm2Apps } from './runtime-source.js';
|
|
5
6
|
export const defaultPm2ListTimeoutMs = 25_000;
|
|
6
7
|
export function listPm2Apps(paths, runtime, deps = {}) {
|
|
@@ -10,14 +11,21 @@ export function listPm2Apps(paths, runtime, deps = {}) {
|
|
|
10
11
|
if (!existsSync(pm2Bin)) {
|
|
11
12
|
return Promise.reject(new Error(`PM2 binary not found: ${pm2Bin}`));
|
|
12
13
|
}
|
|
13
|
-
const command = pm2Bin;
|
|
14
|
-
const args = ['jlist'];
|
|
14
|
+
const command = runtime.kind === 'bundled' ? runtime.nodePath : pm2Bin;
|
|
15
|
+
const args = runtime.kind === 'bundled' ? [pm2Bin, 'jlist'] : ['jlist'];
|
|
15
16
|
const baseEnv = deps.env ?? process.env;
|
|
16
17
|
const env = {
|
|
17
18
|
...baseEnv,
|
|
18
19
|
// External PM2 bins use /usr/bin/env node; Finder-launched apps need a
|
|
19
20
|
// repaired PATH so discovery does not depend on the user's shell startup.
|
|
20
|
-
|
|
21
|
+
// jlist may be the first pm2 contact and thus start the pm2 daemon, whose
|
|
22
|
+
// env sticks and propagates into resurrected apps — so the bundled branch
|
|
23
|
+
// carries the probed shell PATH with the SAME ordering as the daemon-start
|
|
24
|
+
// spawn (buildBundledPath); pm2 itself is launched via the absolute
|
|
25
|
+
// nodePath and never resolves node through this PATH.
|
|
26
|
+
PATH: runtime.kind === 'bundled'
|
|
27
|
+
? buildBundledPath(baseEnv.PATH, runtime.nodePath, deps.pathEnv)
|
|
28
|
+
: withRuntimePath(baseEnv.PATH, runtime.binPath, runtime.pathEnv),
|
|
21
29
|
PM2_HOME: paths.pm2Home,
|
|
22
30
|
SESSION_DATA_DIR: paths.dataDir,
|
|
23
31
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pm2-apps.js","sourceRoot":"","sources":["../../../src/desktop/main/pm2-apps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,YAAY,EAAuC,MAAM,oBAAoB,CAAC;AAChG,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"pm2-apps.js","sourceRoot":"","sources":["../../../src/desktop/main/pm2-apps.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type DashboardResult } from '../../cli/dashboard-endpoint.js';
|
|
2
|
-
import type { DesktopPaths, DesktopRuntimeState
|
|
2
|
+
import type { DesktopPaths, DesktopRuntimeState } from '../shared/types.js';
|
|
3
3
|
import { type BotmuxCommand } from './node-command.js';
|
|
4
4
|
import { type Pm2AppSummary } from './runtime-source.js';
|
|
5
5
|
export interface RunResult {
|
|
@@ -8,7 +8,11 @@ export interface RunResult {
|
|
|
8
8
|
stderr: string;
|
|
9
9
|
signal?: NodeJS.Signals | null;
|
|
10
10
|
}
|
|
11
|
-
|
|
11
|
+
interface RunCommandOptions {
|
|
12
|
+
timeoutMs?: number;
|
|
13
|
+
maxOutputBytes?: number;
|
|
14
|
+
}
|
|
15
|
+
type RunCommand = (cmd: BotmuxCommand, options?: RunCommandOptions) => Promise<RunResult>;
|
|
12
16
|
type DashboardEndpointCaller = (path: '/__cli/current') => Promise<DashboardResult>;
|
|
13
17
|
export interface ExternalRuntimeCandidate {
|
|
14
18
|
kind: 'external';
|
|
@@ -17,9 +21,17 @@ export interface ExternalRuntimeCandidate {
|
|
|
17
21
|
binPath: string;
|
|
18
22
|
pathEnv?: string;
|
|
19
23
|
version: string;
|
|
20
|
-
runtimeSource?:
|
|
24
|
+
runtimeSource?: 'global-cli';
|
|
25
|
+
}
|
|
26
|
+
export interface BundledRuntimeCandidate {
|
|
27
|
+
kind: 'bundled';
|
|
28
|
+
root: string;
|
|
29
|
+
cliPath: string;
|
|
30
|
+
nodePath: string;
|
|
31
|
+
version: string;
|
|
32
|
+
runtimeSource: 'bundled';
|
|
21
33
|
}
|
|
22
|
-
export type RuntimeLaunchTarget = ExternalRuntimeCandidate;
|
|
34
|
+
export type RuntimeLaunchTarget = ExternalRuntimeCandidate | BundledRuntimeCandidate;
|
|
23
35
|
export interface RuntimeServiceDeps {
|
|
24
36
|
paths: DesktopPaths;
|
|
25
37
|
appVersion: string;
|
|
@@ -34,7 +46,10 @@ export interface RuntimeServiceDeps {
|
|
|
34
46
|
commandTimeoutMs?: number;
|
|
35
47
|
externalRuntime?: ExternalRuntimeCandidate | null;
|
|
36
48
|
discoverExternalRuntime?: () => ExternalRuntimeCandidate | null;
|
|
37
|
-
|
|
49
|
+
bundledRuntime?: BundledRuntimeCandidate;
|
|
50
|
+
/** Probed user shell PATH for bundled-runtime spawns (see probeShellPathEnv). */
|
|
51
|
+
shellPathEnv?: () => string | undefined;
|
|
52
|
+
pm2Apps?: (runtime: RuntimeLaunchTarget) => Promise<Pm2AppSummary[]>;
|
|
38
53
|
}
|
|
39
54
|
export declare function createRuntimeService(deps: RuntimeServiceDeps): {
|
|
40
55
|
getState(): Promise<DesktopRuntimeState>;
|
|
@@ -44,6 +59,7 @@ export declare function createRuntimeService(deps: RuntimeServiceDeps): {
|
|
|
44
59
|
takeover(): Promise<RunResult>;
|
|
45
60
|
dashboard(): Promise<RunResult>;
|
|
46
61
|
currentDashboard(): Promise<RunResult>;
|
|
62
|
+
getDeviceStatus(): Promise<import("../shared/types.js").DesktopDeviceStatusResult>;
|
|
47
63
|
};
|
|
48
64
|
export {};
|
|
49
65
|
//# sourceMappingURL=runtime-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-service.d.ts","sourceRoot":"","sources":["../../../src/desktop/main/runtime-service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"runtime-service.d.ts","sourceRoot":"","sources":["../../../src/desktop/main/runtime-service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAiB,MAAM,oBAAoB,CAAC;AAC3F,OAAO,EAAyD,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC9G,OAAO,EAAsD,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAG7G,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;CAChC;AAED,UAAU,iBAAiB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,KAAK,UAAU,GAAG,CAAC,GAAG,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,iBAAiB,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;AAC1F,KAAK,uBAAuB,GAAG,CAAC,IAAI,EAAE,gBAAgB,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;AAKpF,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,YAAY,CAAC;CAC9B;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,SAAS,CAAC;CAC1B;AAED,MAAM,MAAM,mBAAmB,GAAG,wBAAwB,GAAG,uBAAuB,CAAC;AA2FrF,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,YAAY,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,EAAE,EAAE;QACF,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAClC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,MAAM,CAAC;KAC9D,CAAC;IACF,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;IAC5C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAClD,uBAAuB,CAAC,EAAE,MAAM,wBAAwB,GAAG,IAAI,CAAC;IAChE,cAAc,CAAC,EAAE,uBAAuB,CAAC;IACzC,iFAAiF;IACjF,YAAY,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IACxC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;CACtE;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,kBAAkB;gBA4N7C,OAAO,CAAC,mBAAmB,CAAC;aAUzB,OAAO,CAAC,SAAS,CAAC;YAGnB,OAAO,CAAC,SAAS,CAAC;eAGf,OAAO,CAAC,SAAS,CAAC;gBAGjB,OAAO,CAAC,SAAS,CAAC;iBAkBjB,OAAO,CAAC,SAAS,CAAC;wBAKX,OAAO,CAAC,SAAS,CAAC;;EA6B/C"}
|
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
import { spawn } from 'node:child_process';
|
|
2
2
|
import { join } from 'node:path';
|
|
3
3
|
import { callDashboard } from '../../cli/dashboard-endpoint.js';
|
|
4
|
-
import { buildExternalBotmuxCommand } from './node-command.js';
|
|
4
|
+
import { buildBundledBotmuxCommand, buildExternalBotmuxCommand } from './node-command.js';
|
|
5
5
|
import { classifyRuntimeSource, countActiveBotmuxDaemonApps } from './runtime-source.js';
|
|
6
|
+
import { sanitizeDeviceStatusCommandResult } from './device-status.js';
|
|
6
7
|
const defaultCommandTimeoutMs = 30_000;
|
|
7
|
-
|
|
8
|
+
const defaultCommandOutputLimitBytes = 1024 * 1024;
|
|
9
|
+
const deviceStatusOutputLimitBytes = 4 * 1024;
|
|
10
|
+
function defaultRun(cmd, timeoutMs = defaultCommandTimeoutMs, maxOutputBytes = defaultCommandOutputLimitBytes) {
|
|
8
11
|
return new Promise(resolve => {
|
|
9
12
|
const child = spawn(cmd.command, cmd.args, { env: cmd.env, stdio: ['ignore', 'pipe', 'pipe'] });
|
|
10
13
|
let stdout = '';
|
|
11
14
|
let stderr = '';
|
|
15
|
+
let outputBytes = 0;
|
|
12
16
|
let settled = false;
|
|
17
|
+
let forceKillTimer;
|
|
13
18
|
const timer = setTimeout(() => {
|
|
14
19
|
if (settled)
|
|
15
20
|
return;
|
|
@@ -17,6 +22,11 @@ function defaultRun(cmd, timeoutMs = defaultCommandTimeoutMs) {
|
|
|
17
22
|
// Timeout is surfaced as an ordinary failed action so renderer controls
|
|
18
23
|
// can recover and show the last error without waiting for child close.
|
|
19
24
|
child.kill();
|
|
25
|
+
forceKillTimer = setTimeout(() => {
|
|
26
|
+
if (child.exitCode === null && child.signalCode === null)
|
|
27
|
+
child.kill('SIGKILL');
|
|
28
|
+
}, 1_000);
|
|
29
|
+
forceKillTimer.unref?.();
|
|
20
30
|
resolve({
|
|
21
31
|
code: 1,
|
|
22
32
|
stdout,
|
|
@@ -31,16 +41,39 @@ function defaultRun(cmd, timeoutMs = defaultCommandTimeoutMs) {
|
|
|
31
41
|
clearTimeout(timer);
|
|
32
42
|
resolve(result);
|
|
33
43
|
};
|
|
44
|
+
const appendOutput = (target, chunk) => {
|
|
45
|
+
if (settled)
|
|
46
|
+
return;
|
|
47
|
+
const text = String(chunk);
|
|
48
|
+
const bytes = Buffer.byteLength(text);
|
|
49
|
+
if (outputBytes + bytes > maxOutputBytes) {
|
|
50
|
+
child.kill('SIGKILL');
|
|
51
|
+
finish({
|
|
52
|
+
code: 1,
|
|
53
|
+
stdout,
|
|
54
|
+
stderr: `Command output exceeded ${maxOutputBytes} bytes`,
|
|
55
|
+
signal: null,
|
|
56
|
+
});
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
outputBytes += bytes;
|
|
60
|
+
if (target === 'stdout')
|
|
61
|
+
stdout += text;
|
|
62
|
+
else
|
|
63
|
+
stderr += text;
|
|
64
|
+
};
|
|
34
65
|
child.stdout.on('data', chunk => {
|
|
35
|
-
stdout
|
|
66
|
+
appendOutput('stdout', chunk);
|
|
36
67
|
});
|
|
37
68
|
child.stderr.on('data', chunk => {
|
|
38
|
-
stderr
|
|
69
|
+
appendOutput('stderr', chunk);
|
|
39
70
|
});
|
|
40
71
|
child.on('error', error => {
|
|
41
72
|
finish({ code: 1, stdout, stderr: stderr || error.message, signal: null });
|
|
42
73
|
});
|
|
43
74
|
child.on('close', (code, signal) => {
|
|
75
|
+
if (forceKillTimer)
|
|
76
|
+
clearTimeout(forceKillTimer);
|
|
44
77
|
// Signal-only exits still represent a failed desktop action to the UI.
|
|
45
78
|
finish({
|
|
46
79
|
code: code ?? 1,
|
|
@@ -62,10 +95,22 @@ function dashboardEndpointResultToRunResult(result) {
|
|
|
62
95
|
return { code: 1, stdout: '', stderr: `${result.reason}${detail}`, signal: null };
|
|
63
96
|
}
|
|
64
97
|
export function createRuntimeService(deps) {
|
|
65
|
-
const run = deps.run ?? ((cmd) => defaultRun(cmd, deps.commandTimeoutMs));
|
|
98
|
+
const run = deps.run ?? ((cmd, options) => defaultRun(cmd, options?.timeoutMs ?? deps.commandTimeoutMs, options?.maxOutputBytes ?? defaultCommandOutputLimitBytes));
|
|
66
99
|
const botsPath = join(deps.paths.botmuxHome, 'bots.json');
|
|
67
|
-
const installCliMessage =
|
|
100
|
+
const installCliMessage = deps.bundledRuntime
|
|
101
|
+
? 'The bundled botmux runtime is unavailable. Reinstall Botmux Desktop.'
|
|
102
|
+
: 'Install the global botmux CLI with `npm install -g botmux`, then reopen Botmux Desktop.';
|
|
68
103
|
function command(runtime, args) {
|
|
104
|
+
if (runtime.kind === 'bundled') {
|
|
105
|
+
return buildBundledBotmuxCommand({
|
|
106
|
+
nodePath: runtime.nodePath,
|
|
107
|
+
cliPath: runtime.cliPath,
|
|
108
|
+
botmuxHome: deps.paths.botmuxHome,
|
|
109
|
+
args,
|
|
110
|
+
baseEnv: deps.env,
|
|
111
|
+
pathEnv: deps.shellPathEnv?.(),
|
|
112
|
+
});
|
|
113
|
+
}
|
|
69
114
|
return buildExternalBotmuxCommand({
|
|
70
115
|
binPath: runtime.binPath,
|
|
71
116
|
botmuxHome: deps.paths.botmuxHome,
|
|
@@ -78,7 +123,7 @@ export function createRuntimeService(deps) {
|
|
|
78
123
|
return deps.discoverExternalRuntime ? deps.discoverExternalRuntime() : deps.externalRuntime ?? null;
|
|
79
124
|
}
|
|
80
125
|
function activeRuntime() {
|
|
81
|
-
return currentExternalRuntime();
|
|
126
|
+
return deps.bundledRuntime ?? currentExternalRuntime();
|
|
82
127
|
}
|
|
83
128
|
function rejectedCliRequired() {
|
|
84
129
|
return {
|
|
@@ -106,6 +151,12 @@ export function createRuntimeService(deps) {
|
|
|
106
151
|
function externalSource(runtime) {
|
|
107
152
|
return runtime.runtimeSource ?? 'global-cli';
|
|
108
153
|
}
|
|
154
|
+
function isRuntimeOwned(runtime, sourcePath, sourceVersion) {
|
|
155
|
+
if (runtime.kind !== 'bundled')
|
|
156
|
+
return true;
|
|
157
|
+
const ownedPath = Boolean(sourcePath && (sourcePath === runtime.cliPath || sourcePath.startsWith(`${runtime.root}/`)));
|
|
158
|
+
return ownedPath && (!sourceVersion || sourceVersion === runtime.version);
|
|
159
|
+
}
|
|
109
160
|
function readBotConfig() {
|
|
110
161
|
if (!deps.fs.existsSync(botsPath))
|
|
111
162
|
return { status: 'not_configured', count: 0 };
|
|
@@ -135,7 +186,7 @@ export function createRuntimeService(deps) {
|
|
|
135
186
|
let stateInFlight = null;
|
|
136
187
|
async function computeState() {
|
|
137
188
|
const config = readBotConfig();
|
|
138
|
-
const active =
|
|
189
|
+
const active = activeRuntime();
|
|
139
190
|
const selectedSource = active ? externalSource(active) : 'none';
|
|
140
191
|
if (config.status === 'invalid') {
|
|
141
192
|
// A malformed bots.json is actionable user state, not an empty setup.
|
|
@@ -189,6 +240,21 @@ export function createRuntimeService(deps) {
|
|
|
189
240
|
const source = classifyRuntimeSource({ pm2Apps });
|
|
190
241
|
const onlineDaemonCount = countActiveBotmuxDaemonApps(pm2Apps);
|
|
191
242
|
if (source.running) {
|
|
243
|
+
if (!isRuntimeOwned(active, source.sourcePath, source.sourceVersion)) {
|
|
244
|
+
return {
|
|
245
|
+
status: 'degraded',
|
|
246
|
+
appVersion: deps.appVersion,
|
|
247
|
+
runtimeVersion: active.version,
|
|
248
|
+
runtimeSource: 'global-cli',
|
|
249
|
+
runtimeManaged: false,
|
|
250
|
+
runtimePath: source.sourcePath,
|
|
251
|
+
botCount: config.count,
|
|
252
|
+
onlineDaemonCount,
|
|
253
|
+
attentionCount: 1,
|
|
254
|
+
dashboardUrl: null,
|
|
255
|
+
message: '检测到由外置 botmux 启动的运行时,Desktop 正在切换到内置运行时。',
|
|
256
|
+
};
|
|
257
|
+
}
|
|
192
258
|
return {
|
|
193
259
|
status: 'running',
|
|
194
260
|
appVersion: deps.appVersion,
|
|
@@ -257,8 +323,14 @@ export function createRuntimeService(deps) {
|
|
|
257
323
|
},
|
|
258
324
|
async takeover() {
|
|
259
325
|
const state = await this.getState();
|
|
260
|
-
|
|
261
|
-
|
|
326
|
+
const runtime = activeRuntime();
|
|
327
|
+
if (!runtime)
|
|
328
|
+
return rejectedCliRequired();
|
|
329
|
+
if (runtime.kind === 'bundled') {
|
|
330
|
+
// Replace core processes only. The generated ecosystem pins their
|
|
331
|
+
// interpreter to bundled Node, while unrelated plugin services survive.
|
|
332
|
+
return run(command(runtime, ['restart']));
|
|
333
|
+
}
|
|
262
334
|
return {
|
|
263
335
|
code: state.runtimeManaged ? 0 : 1,
|
|
264
336
|
stdout: '',
|
|
@@ -291,6 +363,18 @@ export function createRuntimeService(deps) {
|
|
|
291
363
|
});
|
|
292
364
|
return dashboardEndpointResultToRunResult(result);
|
|
293
365
|
},
|
|
366
|
+
async getDeviceStatus() {
|
|
367
|
+
const runtime = activeRuntime();
|
|
368
|
+
if (!runtime)
|
|
369
|
+
return { ok: false, reason: 'cli_unavailable' };
|
|
370
|
+
// Device credentials stay inside the host CLI. Electron receives only the
|
|
371
|
+
// command's public status JSON, then reconstructs an allow-listed DTO
|
|
372
|
+
// before anything can cross the renderer IPC boundary.
|
|
373
|
+
const result = await run(command(runtime, ['device', 'status', '--json']), {
|
|
374
|
+
maxOutputBytes: deviceStatusOutputLimitBytes,
|
|
375
|
+
});
|
|
376
|
+
return sanitizeDeviceStatusCommandResult(result);
|
|
377
|
+
},
|
|
294
378
|
};
|
|
295
379
|
return service;
|
|
296
380
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-service.js","sourceRoot":"","sources":["../../../src/desktop/main/runtime-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime-service.js","sourceRoot":"","sources":["../../../src/desktop/main/runtime-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ export interface Pm2AppSummary {
|
|
|
2
2
|
name: string;
|
|
3
3
|
script?: string;
|
|
4
4
|
status?: string;
|
|
5
|
+
version?: string;
|
|
5
6
|
}
|
|
6
7
|
export interface RuntimeSourceInput {
|
|
7
8
|
pm2Apps: Pm2AppSummary[];
|
|
@@ -10,6 +11,7 @@ export interface RuntimeSourceInput {
|
|
|
10
11
|
export interface RuntimeSource {
|
|
11
12
|
running: boolean;
|
|
12
13
|
sourcePath: string | null;
|
|
14
|
+
sourceVersion: string | null;
|
|
13
15
|
}
|
|
14
16
|
export declare function classifyRuntimeSource(input: RuntimeSourceInput): RuntimeSource;
|
|
15
17
|
export declare function countActiveBotmuxDaemonApps(pm2Apps: Pm2AppSummary[]): number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-source.d.ts","sourceRoot":"","sources":["../../../src/desktop/main/runtime-source.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime-source.d.ts","sourceRoot":"","sources":["../../../src/desktop/main/runtime-source.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CAC1C;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,kBAAkB,GAAG,aAAa,CAc9E;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM,CAE5E;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,EAAE,CAoB5D"}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import { resolve } from 'node:path';
|
|
2
2
|
export function classifyRuntimeSource(input) {
|
|
3
|
-
//
|
|
4
|
-
//
|
|
3
|
+
// The source path decides whether Desktop already owns the fleet or must
|
|
4
|
+
// replace an older/global installation with its bundled runtime.
|
|
5
5
|
const botmuxApps = activeBotmuxApps(input.pm2Apps);
|
|
6
6
|
if (botmuxApps.length === 0)
|
|
7
|
-
return { running: false, sourcePath: null };
|
|
7
|
+
return { running: false, sourcePath: null, sourceVersion: null };
|
|
8
8
|
const sourcePaths = botmuxApps
|
|
9
9
|
.map(app => app.script ? normalizeRuntimePath(app.script, input.normalizePath) : null)
|
|
10
10
|
.filter((path) => path !== null);
|
|
11
11
|
return {
|
|
12
12
|
running: true,
|
|
13
13
|
sourcePath: sourcePaths[0] ?? null,
|
|
14
|
+
sourceVersion: botmuxApps.find(app => app.version)?.version ?? null,
|
|
14
15
|
};
|
|
15
16
|
}
|
|
16
17
|
export function countActiveBotmuxDaemonApps(pm2Apps) {
|
|
@@ -33,7 +34,8 @@ export function parsePm2Apps(stdout) {
|
|
|
33
34
|
? record.pm2_env.pm_exec_path
|
|
34
35
|
: undefined;
|
|
35
36
|
const status = typeof record.pm2_env?.status === 'string' ? record.pm2_env.status : undefined;
|
|
36
|
-
|
|
37
|
+
const version = typeof record.pm2_env?.version === 'string' ? record.pm2_env.version : undefined;
|
|
38
|
+
return [{ name: record.name, script, status, version }];
|
|
37
39
|
});
|
|
38
40
|
}
|
|
39
41
|
catch {
|
|
@@ -44,10 +46,14 @@ function activeBotmuxApps(pm2Apps) {
|
|
|
44
46
|
return pm2Apps.filter(isBotmuxApp).filter(isActivePm2App);
|
|
45
47
|
}
|
|
46
48
|
function isBotmuxApp(app) {
|
|
47
|
-
return app.name === 'botmux-dashboard'
|
|
49
|
+
return app.name === 'botmux-dashboard'
|
|
50
|
+
|| app.name === 'botmux'
|
|
51
|
+
|| (app.name.startsWith('botmux-') && !app.name.startsWith('botmux-plugin-'));
|
|
48
52
|
}
|
|
49
53
|
function isBotmuxDaemonApp(app) {
|
|
50
|
-
return app.name !== 'botmux-dashboard'
|
|
54
|
+
return app.name !== 'botmux-dashboard'
|
|
55
|
+
&& !app.name.startsWith('botmux-plugin-')
|
|
56
|
+
&& (app.name === 'botmux' || app.name.startsWith('botmux-'));
|
|
51
57
|
}
|
|
52
58
|
function isActivePm2App(app) {
|
|
53
59
|
// PM2 keeps stopped processes in jlist, so only live-ish statuses should hold
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-source.js","sourceRoot":"","sources":["../../../src/desktop/main/runtime-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime-source.js","sourceRoot":"","sources":["../../../src/desktop/main/runtime-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoBpC,MAAM,UAAU,qBAAqB,CAAC,KAAyB;IAC7D,yEAAyE;IACzE,iEAAiE;IACjE,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACnD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;IAE9F,MAAM,WAAW,GAAG,UAAU;SAC3B,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;SACrF,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACnD,OAAO;QACL,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI;QAClC,aAAa,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,IAAI,IAAI;KACpE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,OAAwB;IAClE,OAAO,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAY,CAAC;QAC7C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,CAAC;QACtC,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC1B,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,OAAO,EAAE,CAAC;YAC/C,MAAM,MAAM,GAAG,GAAsH,CAAC;YACtI,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO,EAAE,CAAC;YAC/C,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ;gBAC9C,CAAC,CAAC,MAAM,CAAC,MAAM;gBACf,CAAC,CAAC,OAAO,MAAM,CAAC,OAAO,EAAE,YAAY,KAAK,QAAQ;oBAChD,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY;oBAC7B,CAAC,CAAC,SAAS,CAAC;YAChB,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,OAAO,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9F,MAAM,OAAO,GAAG,OAAO,MAAM,CAAC,OAAO,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YACjG,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAwB;IAChD,OAAO,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,WAAW,CAAC,GAAkB;IACrC,OAAO,GAAG,CAAC,IAAI,KAAK,kBAAkB;WACjC,GAAG,CAAC,IAAI,KAAK,QAAQ;WACrB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAClF,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAkB;IAC3C,OAAO,GAAG,CAAC,IAAI,KAAK,kBAAkB;WACjC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC;WACtC,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,cAAc,CAAC,GAAkB;IACxC,8EAA8E;IAC9E,6EAA6E;IAC7E,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW,CAAC;AAC9E,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAY,EAAE,aAAwC;IAClF,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC5D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tray.d.ts","sourceRoot":"","sources":["../../../src/desktop/main/tray.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,IAAI,EAAe,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAEvE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IACtC,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB,GAAG,IAAI,CA0BP"}
|
|
1
|
+
{"version":3,"file":"tray.d.ts","sourceRoot":"","sources":["../../../src/desktop/main/tray.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,IAAI,EAAe,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAEvE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB,GAAG,IAAI,CA0BP"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Menu, Tray, nativeImage } from 'electron';
|
|
2
2
|
export function createDesktopTray(args) {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const tray = new Tray(
|
|
3
|
+
const icon = nativeImage.createFromPath(args.iconPath);
|
|
4
|
+
icon.setTemplateImage(true);
|
|
5
|
+
const tray = new Tray(icon);
|
|
6
6
|
const showWindow = () => {
|
|
7
7
|
args.window.show();
|
|
8
8
|
args.window.focus();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tray.js","sourceRoot":"","sources":["../../../src/desktop/main/tray.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAsB,MAAM,UAAU,CAAC;AAEvE,MAAM,UAAU,iBAAiB,CAAC,
|
|
1
|
+
{"version":3,"file":"tray.js","sourceRoot":"","sources":["../../../src/desktop/main/tray.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAsB,MAAM,UAAU,CAAC;AAEvE,MAAM,UAAU,iBAAiB,CAAC,IAQjC;IACC,MAAM,IAAI,GAAG,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAClC,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE;QAC5C,EAAE,IAAI,EAAE,WAAW,EAAE;QACrB,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE;QAC9C,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;QAC5C,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE;QAClD,EAAE,IAAI,EAAE,WAAW,EAAE;QACrB,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE;QAC9C,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE;QACrD,EAAE,IAAI,EAAE,WAAW,EAAE;QACrB,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE;KACpC,CAAC,CAAC;IAEH,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC1B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAC1B,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAE7B,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/dist/desktop/main.js
CHANGED
|
@@ -2,10 +2,11 @@ import { app, session, shell } from 'electron';
|
|
|
2
2
|
import { existsSync, readFileSync } from 'node:fs';
|
|
3
3
|
import { homedir } from 'node:os';
|
|
4
4
|
import { join } from 'node:path';
|
|
5
|
-
import { autoStartCliRuntimeOnLaunch } from './main/auto-start.js';
|
|
6
|
-
import { discoverExternalRuntimeCandidate } from './main/external-runtime.js';
|
|
5
|
+
import { autoStartCliRuntimeOnLaunch, shouldTakeOverExternalRuntime } from './main/auto-start.js';
|
|
7
6
|
import { createRuntimeStateMonitor, registerDesktopIpc } from './main/ipc.js';
|
|
8
7
|
import { resolveDesktopPaths } from './main/paths.js';
|
|
8
|
+
import { resolveBundledRuntimeCandidate } from './main/bundled-runtime.js';
|
|
9
|
+
import { probeShellPathEnv } from './main/external-runtime.js';
|
|
9
10
|
import { listPm2Apps } from './main/pm2-apps.js';
|
|
10
11
|
import { createRuntimeService } from './main/runtime-service.js';
|
|
11
12
|
import { createDesktopTray } from './main/tray.js';
|
|
@@ -56,33 +57,51 @@ async function bootstrap() {
|
|
|
56
57
|
devRepoRoot: process.cwd(),
|
|
57
58
|
});
|
|
58
59
|
const appVersion = resolveDesktopAppVersion(app.getVersion());
|
|
60
|
+
const bundledRuntime = resolveBundledRuntimeCandidate({
|
|
61
|
+
resourcesPath: process.resourcesPath,
|
|
62
|
+
repoRoot: process.cwd(),
|
|
63
|
+
isPackaged: app.isPackaged,
|
|
64
|
+
arch: process.arch,
|
|
65
|
+
appVersion,
|
|
66
|
+
env: process.env,
|
|
67
|
+
});
|
|
59
68
|
const runtime = createRuntimeService({
|
|
60
69
|
paths,
|
|
61
70
|
appVersion,
|
|
62
71
|
execPath: process.execPath,
|
|
63
72
|
env: process.env,
|
|
64
73
|
fs: { existsSync, readFileSync },
|
|
65
|
-
|
|
66
|
-
//
|
|
67
|
-
|
|
68
|
-
|
|
74
|
+
bundledRuntime,
|
|
75
|
+
// Finder-launched apps inherit launchd's minimal PATH; the daemon needs the
|
|
76
|
+
// user's real shell PATH (zsh/bash, profile+rc) to find per-bot CLIs.
|
|
77
|
+
shellPathEnv: () => probeShellPathEnv(),
|
|
78
|
+
pm2Apps: async (selectedRuntime) => listPm2Apps(paths, selectedRuntime, { pathEnv: probeShellPathEnv() }),
|
|
69
79
|
});
|
|
70
80
|
const win = createMainWindow(join(desktopDir, 'preload.cjs'), join(desktopDir, 'renderer'));
|
|
71
81
|
mainWindow = win;
|
|
82
|
+
let ownershipRepair = null;
|
|
72
83
|
const monitor = createRuntimeStateMonitor({
|
|
73
84
|
runtime,
|
|
74
85
|
sendState: state => {
|
|
75
86
|
if (!win.isDestroyed())
|
|
76
87
|
win.webContents.send('desktop:state-changed', state);
|
|
88
|
+
// A user may invoke an older/global `botmux restart` after Desktop has
|
|
89
|
+
// launched. Reclaim the fleet instead of allowing the external runtime
|
|
90
|
+
// to remain connected to the same bots.
|
|
91
|
+
if (shouldTakeOverExternalRuntime(state) && !ownershipRepair) {
|
|
92
|
+
ownershipRepair = runtime.takeover()
|
|
93
|
+
.then(() => monitor.refresh())
|
|
94
|
+
.catch(error => console.warn('[desktop] bundled runtime ownership repair failed', error))
|
|
95
|
+
.finally(() => { ownershipRepair = null; });
|
|
96
|
+
}
|
|
77
97
|
},
|
|
78
98
|
});
|
|
79
99
|
registerDesktopIpc({ paths, runtime, monitor });
|
|
80
|
-
monitor.start();
|
|
81
100
|
void autoStartCliRuntimeOnLaunch({
|
|
82
101
|
runtime,
|
|
83
102
|
monitor,
|
|
84
103
|
warn: message => console.warn(`[desktop] ${message}`),
|
|
85
|
-
});
|
|
104
|
+
}).finally(() => monitor.start());
|
|
86
105
|
win.on('close', event => {
|
|
87
106
|
// Closing the window should not stop the supervised daemon; explicit Quit
|
|
88
107
|
// exits the shell, explicit Stop controls the runtime.
|
|
@@ -92,6 +111,7 @@ async function bootstrap() {
|
|
|
92
111
|
}
|
|
93
112
|
});
|
|
94
113
|
tray = createDesktopTray({
|
|
114
|
+
iconPath: join(desktopDir, 'assets', 'trayTemplate.png'),
|
|
95
115
|
window: win,
|
|
96
116
|
onStart: () => {
|
|
97
117
|
void runtime.start();
|