@xrkseek/harness 0.3.8 → 0.3.9
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/node_modules/@xrkseek/server-face/dist/host-open-in-app.d.ts +16 -0
- package/node_modules/@xrkseek/server-face/dist/host-open-in-app.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/host-open-in-app.js +81 -38
- package/node_modules/@xrkseek/server-face/dist/host-open-in-app.js.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/host-open-path.d.ts +11 -1
- package/node_modules/@xrkseek/server-face/dist/host-open-path.d.ts.map +1 -1
- package/node_modules/@xrkseek/server-face/dist/host-open-path.js +32 -11
- package/node_modules/@xrkseek/server-face/dist/host-open-path.js.map +1 -1
- package/package.json +1 -1
|
@@ -16,7 +16,15 @@ interface CatalogEntry {
|
|
|
16
16
|
/** PATH executable names (win PATHEXT / posix which-style). */
|
|
17
17
|
readonly probeBins?: readonly string[];
|
|
18
18
|
readonly argv?: readonly string[];
|
|
19
|
+
/**
|
|
20
|
+
* Hide the spawned process window on Windows. Default true for CLI stubs
|
|
21
|
+
* (`cursor` / `code`) whose GUI is another process. False for console hosts
|
|
22
|
+
* that own the visible window (`wt`).
|
|
23
|
+
*/
|
|
24
|
+
readonly windowsHide?: boolean;
|
|
19
25
|
}
|
|
26
|
+
/** Store / App Execution Alias stubs under WindowsApps (0-byte reparse points). */
|
|
27
|
+
export declare function isWindowsAppsAliasPath(path: string): boolean;
|
|
20
28
|
/** SSH / remote-forward markers: hide Open In (same decision as DSH host package). */
|
|
21
29
|
export declare function isSshLaunchEnv(env?: NodeJS.ProcessEnv): boolean;
|
|
22
30
|
/** Fixed whitelist — verified launchers only (no disk-wide scan). */
|
|
@@ -29,6 +37,14 @@ export declare function resetOpenInAppCache(): void;
|
|
|
29
37
|
*/
|
|
30
38
|
export declare function listInstalledOpenInApps(platform?: NodeJS.Platform, env?: NodeJS.ProcessEnv): readonly OpenInAppId[];
|
|
31
39
|
export declare function launchOpenInApp(appId: string, workspacePath: string, platform?: NodeJS.Platform, env?: NodeJS.ProcessEnv): Promise<void>;
|
|
40
|
+
/**
|
|
41
|
+
* Test seam: resolve argv for one catalog id without spawning.
|
|
42
|
+
*/
|
|
43
|
+
export declare function resolveOpenInAppArgv(appId: string, workspacePath: string, platform?: NodeJS.Platform): {
|
|
44
|
+
command: string;
|
|
45
|
+
args: readonly string[];
|
|
46
|
+
windowsHide: boolean;
|
|
47
|
+
} | undefined;
|
|
32
48
|
export declare function hostListOpenInApps(): Promise<FaceRpcResult<{
|
|
33
49
|
apps: readonly string[];
|
|
34
50
|
}>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-open-in-app.d.ts","sourceRoot":"","sources":["../src/host-open-in-app.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"host-open-in-app.d.ts","sourceRoot":"","sources":["../src/host-open-in-app.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAaH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,uEAAuE;AACvE,MAAM,MAAM,WAAW,GACnB,QAAQ,GACR,UAAU,GACV,aAAa,GACb,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,iBAAiB,GACjB,OAAO,GACP,eAAe,CAAC;AAEpB,KAAK,UAAU,GAAG,YAAY,GAAG,MAAM,CAAC;AAExC,UAAU,YAAY;IACpB,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC/C,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,gFAAgF;IAChF,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,+DAA+D;IAC/D,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC;AAQD,mFAAmF;AACnF,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED,sFAAsF;AACtF,wBAAgB,cAAc,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAE5E;AA2DD,qEAAqE;AACrE,wBAAgB,gBAAgB,CAC9B,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,SAAS,YAAY,EAAE,CA6FzB;AAkED,wDAAwD;AACxD,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,SAAS,WAAW,EAAE,CAWxB;AAED,wBAAsB,eAAe,CACnC,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,MAAM,EACrB,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,IAAI,CAAC,CAiBf;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,MAAM,EACrB,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,CAKhF;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CACjD,aAAa,CAAC;IAAE,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC,CAC3C,CAEA;AAED,wBAAsB,aAAa,CACjC,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,aAAa,CAAC;IAAE,MAAM,EAAE,IAAI,CAAA;CAAE,CAAC,CAAC,CA4D1C"}
|
|
@@ -3,26 +3,14 @@
|
|
|
3
3
|
* terminals, and file managers, then launch the session workspace directory.
|
|
4
4
|
* Shape audit vs DSH open-in-app (Face RPC, not /open-in-app HTTP routes).
|
|
5
5
|
*/
|
|
6
|
-
import { accessSync, constants, existsSync } from "node:fs";
|
|
7
|
-
import { spawn } from "node:child_process";
|
|
6
|
+
import { accessSync, constants, existsSync, statSync } from "node:fs";
|
|
8
7
|
import { homedir } from "node:os";
|
|
9
8
|
import { join } from "node:path";
|
|
10
|
-
import { canOpenNativePath, openNativePath } from "./host-open-path.js";
|
|
9
|
+
import { canOpenNativePath, normalizeOpenPath, openNativePath, spawnDetached, windowsExplorerPath, } from "./host-open-path.js";
|
|
11
10
|
import { fullyQualified } from "./host-directory.js";
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
detached: true,
|
|
16
|
-
stdio: "ignore",
|
|
17
|
-
windowsHide: true,
|
|
18
|
-
shell: false,
|
|
19
|
-
});
|
|
20
|
-
child.once("error", reject);
|
|
21
|
-
child.once("spawn", () => {
|
|
22
|
-
child.unref();
|
|
23
|
-
resolve();
|
|
24
|
-
});
|
|
25
|
-
});
|
|
11
|
+
/** Store / App Execution Alias stubs under WindowsApps (0-byte reparse points). */
|
|
12
|
+
export function isWindowsAppsAliasPath(path) {
|
|
13
|
+
return /[\\/]WindowsApps[\\/]/i.test(path);
|
|
26
14
|
}
|
|
27
15
|
/** SSH / remote-forward markers: hide Open In (same decision as DSH host package). */
|
|
28
16
|
export function isSshLaunchEnv(env = process.env) {
|
|
@@ -56,6 +44,10 @@ function binOnPath(name, platform) {
|
|
|
56
44
|
}
|
|
57
45
|
return false;
|
|
58
46
|
}
|
|
47
|
+
/** First existing probe path that is not a WindowsApps execution alias. */
|
|
48
|
+
function firstRealProbePath(paths) {
|
|
49
|
+
return (paths ?? []).find((p) => pathExists(p) && !isWindowsAppsAliasPath(p));
|
|
50
|
+
}
|
|
59
51
|
function homeApplications(...names) {
|
|
60
52
|
const home = homedir();
|
|
61
53
|
return names.flatMap((n) => [
|
|
@@ -100,17 +92,15 @@ export function openInAppCatalog(platform = process.platform) {
|
|
|
100
92
|
kind: "argv",
|
|
101
93
|
probePaths: [
|
|
102
94
|
...homeApplications("Cursor.app"),
|
|
103
|
-
...winProgramFiles("Cursor", "Cursor.exe"),
|
|
104
95
|
winLocalAppData("Programs", "cursor", "Cursor.exe"),
|
|
96
|
+
...winProgramFiles("Cursor", "Cursor.exe"),
|
|
105
97
|
"/usr/share/cursor/cursor",
|
|
106
98
|
join(homedir(), ".local", "bin", "cursor"),
|
|
107
99
|
],
|
|
108
100
|
probeBins: ["cursor"],
|
|
109
101
|
argv: platform === "darwin"
|
|
110
102
|
? ["open", "-a", "Cursor", "{path}"]
|
|
111
|
-
:
|
|
112
|
-
? ["cursor", "{path}"]
|
|
113
|
-
: ["cursor", "{path}"],
|
|
103
|
+
: ["cursor", "{path}"],
|
|
114
104
|
},
|
|
115
105
|
{
|
|
116
106
|
id: "vscode",
|
|
@@ -132,8 +122,12 @@ export function openInAppCatalog(platform = process.platform) {
|
|
|
132
122
|
id: "terminal",
|
|
133
123
|
platforms: ["darwin"],
|
|
134
124
|
kind: "argv",
|
|
135
|
-
probePaths: [
|
|
125
|
+
probePaths: [
|
|
126
|
+
"/System/Applications/Utilities/Terminal.app",
|
|
127
|
+
"/Applications/Utilities/Terminal.app",
|
|
128
|
+
],
|
|
136
129
|
argv: ["open", "-a", "Terminal", "{path}"],
|
|
130
|
+
windowsHide: false,
|
|
137
131
|
},
|
|
138
132
|
{
|
|
139
133
|
id: "iterm",
|
|
@@ -141,17 +135,20 @@ export function openInAppCatalog(platform = process.platform) {
|
|
|
141
135
|
kind: "argv",
|
|
142
136
|
probePaths: homeApplications("iTerm.app"),
|
|
143
137
|
argv: ["open", "-a", "iTerm", "{path}"],
|
|
138
|
+
windowsHide: false,
|
|
144
139
|
},
|
|
145
140
|
{
|
|
146
141
|
id: "windowsterminal",
|
|
147
142
|
platforms: ["win32"],
|
|
148
143
|
kind: "argv",
|
|
144
|
+
// Probe may hit the WindowsApps alias; launch never uses that path.
|
|
149
145
|
probePaths: [
|
|
150
146
|
winLocalAppData("Microsoft", "WindowsApps", "wt.exe"),
|
|
151
147
|
...winProgramFiles("Windows Terminal", "wt.exe"),
|
|
152
148
|
],
|
|
153
149
|
probeBins: ["wt"],
|
|
154
150
|
argv: ["wt", "-d", "{path}"],
|
|
151
|
+
windowsHide: false,
|
|
155
152
|
},
|
|
156
153
|
{
|
|
157
154
|
id: "gnometerminal",
|
|
@@ -159,6 +156,7 @@ export function openInAppCatalog(platform = process.platform) {
|
|
|
159
156
|
kind: "argv",
|
|
160
157
|
probeBins: ["gnome-terminal"],
|
|
161
158
|
argv: ["gnome-terminal", `--working-directory={path}`],
|
|
159
|
+
windowsHide: false,
|
|
162
160
|
},
|
|
163
161
|
];
|
|
164
162
|
return all.filter((e) => e.platforms.includes(platform));
|
|
@@ -166,10 +164,10 @@ export function openInAppCatalog(platform = process.platform) {
|
|
|
166
164
|
function entryInstalled(entry, platform) {
|
|
167
165
|
if (entry.kind === "shell-open")
|
|
168
166
|
return true;
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
167
|
+
// WindowsApps aliases exist as 0-byte stubs; listing them would offer an
|
|
168
|
+
// app whose CreateProcess path we refuse at launch.
|
|
169
|
+
if (firstRealProbePath(entry.probePaths) !== undefined)
|
|
170
|
+
return true;
|
|
173
171
|
for (const bin of entry.probeBins ?? []) {
|
|
174
172
|
if (binOnPath(bin, platform))
|
|
175
173
|
return true;
|
|
@@ -181,29 +179,41 @@ function resolveArgvCommand(entry, platform, workspace) {
|
|
|
181
179
|
if (template === undefined || template.length === 0)
|
|
182
180
|
return undefined;
|
|
183
181
|
const parts = template.map((t) => t.split("{path}").join(workspace));
|
|
182
|
+
const windowsHide = entry.windowsHide !== false;
|
|
184
183
|
if (platform === "darwin" && parts[0] === "open") {
|
|
185
|
-
return { command: "open", args: parts.slice(1) };
|
|
184
|
+
return { command: "open", args: parts.slice(1), windowsHide };
|
|
186
185
|
}
|
|
187
186
|
if (platform === "win32" && entry.id === "windowsterminal") {
|
|
188
|
-
|
|
189
|
-
|
|
187
|
+
// Never CreateProcess the 0-byte WindowsApps alias path. Prefer PATH name
|
|
188
|
+
// `wt` (system resolves the alias) or an unpackaged Program Files install.
|
|
189
|
+
const unpackaged = firstRealProbePath(entry.probePaths);
|
|
190
|
+
const wt = binOnPath("wt", platform) ? "wt" : unpackaged;
|
|
190
191
|
if (wt === undefined)
|
|
191
192
|
return undefined;
|
|
192
|
-
|
|
193
|
+
// No `-w new`: reuse existing window/tab instead of stacking windows.
|
|
194
|
+
return {
|
|
195
|
+
command: wt,
|
|
196
|
+
args: ["-d", workspace],
|
|
197
|
+
windowsHide: false,
|
|
198
|
+
};
|
|
193
199
|
}
|
|
194
200
|
if (entry.id === "cursor" || entry.id === "vscode") {
|
|
195
201
|
const bin = entry.probeBins?.[0];
|
|
196
202
|
const fromPath = bin && binOnPath(bin, platform) ? bin : undefined;
|
|
197
|
-
const fromFile = (entry.probePaths
|
|
198
|
-
|
|
203
|
+
const fromFile = firstRealProbePath(entry.probePaths);
|
|
204
|
+
// Win: prefer real .exe over PATH shim (`.cmd` / Apps alias) — shims fail
|
|
205
|
+
// under integrity mismatch (e.g. Host Medium, Cursor elevated).
|
|
206
|
+
const command = platform === "win32"
|
|
207
|
+
? (fromFile ?? fromPath)
|
|
208
|
+
: (fromPath ?? fromFile);
|
|
199
209
|
if (command === undefined)
|
|
200
210
|
return undefined;
|
|
201
211
|
if (platform === "darwin" && parts[0] === "open") {
|
|
202
|
-
return { command: "open", args: parts.slice(1) };
|
|
212
|
+
return { command: "open", args: parts.slice(1), windowsHide };
|
|
203
213
|
}
|
|
204
|
-
return { command, args: parts.slice(1) };
|
|
214
|
+
return { command, args: parts.slice(1), windowsHide };
|
|
205
215
|
}
|
|
206
|
-
return { command: parts[0], args: parts.slice(1) };
|
|
216
|
+
return { command: parts[0], args: parts.slice(1), windowsHide };
|
|
207
217
|
}
|
|
208
218
|
let cachedApps;
|
|
209
219
|
/** Test hook: drop the once-per-process probe cache. */
|
|
@@ -242,7 +252,20 @@ export async function launchOpenInApp(appId, workspacePath, platform = process.p
|
|
|
242
252
|
const resolved = resolveArgvCommand(entry, platform, workspacePath);
|
|
243
253
|
if (resolved === undefined)
|
|
244
254
|
throw new Error(`app launcher missing: ${appId}`);
|
|
245
|
-
await
|
|
255
|
+
await spawnDetached(resolved.command, resolved.args, {
|
|
256
|
+
windowsHide: resolved.windowsHide,
|
|
257
|
+
});
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Test seam: resolve argv for one catalog id without spawning.
|
|
261
|
+
*/
|
|
262
|
+
export function resolveOpenInAppArgv(appId, workspacePath, platform = process.platform) {
|
|
263
|
+
const entry = openInAppCatalog(platform).find((e) => e.id === appId);
|
|
264
|
+
if (entry === undefined || entry.kind !== "argv")
|
|
265
|
+
return undefined;
|
|
266
|
+
if (!entryInstalled(entry, platform))
|
|
267
|
+
return undefined;
|
|
268
|
+
return resolveArgvCommand(entry, platform, workspacePath);
|
|
246
269
|
}
|
|
247
270
|
export async function hostListOpenInApps() {
|
|
248
271
|
return { ok: true, value: { apps: [...listInstalledOpenInApps()] } };
|
|
@@ -256,13 +279,16 @@ export async function hostOpenInApp(payload) {
|
|
|
256
279
|
}
|
|
257
280
|
const body = payload;
|
|
258
281
|
const app = String(body.app ?? "").trim();
|
|
259
|
-
const
|
|
260
|
-
if (!app || !
|
|
282
|
+
const rawPath = String(body.path ?? "").trim();
|
|
283
|
+
if (!app || !rawPath) {
|
|
261
284
|
return {
|
|
262
285
|
ok: false,
|
|
263
286
|
error: { code: "invalid-payload", message: "app and path required" },
|
|
264
287
|
};
|
|
265
288
|
}
|
|
289
|
+
const path = process.platform === "win32"
|
|
290
|
+
? windowsExplorerPath(rawPath)
|
|
291
|
+
: normalizeOpenPath(rawPath);
|
|
266
292
|
if (!fullyQualified(path)) {
|
|
267
293
|
return {
|
|
268
294
|
ok: false,
|
|
@@ -275,6 +301,23 @@ export async function hostOpenInApp(payload) {
|
|
|
275
301
|
error: { code: "not-found", message: `path not found: ${path}` },
|
|
276
302
|
};
|
|
277
303
|
}
|
|
304
|
+
try {
|
|
305
|
+
if (!statSync(path).isDirectory()) {
|
|
306
|
+
return {
|
|
307
|
+
ok: false,
|
|
308
|
+
error: {
|
|
309
|
+
code: "invalid-payload",
|
|
310
|
+
message: "path must be a directory",
|
|
311
|
+
},
|
|
312
|
+
};
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
catch {
|
|
316
|
+
return {
|
|
317
|
+
ok: false,
|
|
318
|
+
error: { code: "not-found", message: `path not found: ${path}` },
|
|
319
|
+
};
|
|
320
|
+
}
|
|
278
321
|
try {
|
|
279
322
|
await launchOpenInApp(app, path);
|
|
280
323
|
return { ok: true, value: { opened: true } };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-open-in-app.js","sourceRoot":"","sources":["../src/host-open-in-app.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"host-open-in-app.js","sourceRoot":"","sources":["../src/host-open-in-app.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* host.openPath / reveal — open or select a filesystem path in the OS shell.
|
|
3
|
-
* Win:
|
|
3
|
+
* Win folders: `cmd /c start` (ShellExecute). Win files: explorer /select.
|
|
4
|
+
* macOS: open. Linux: xdg-open.
|
|
4
5
|
*/
|
|
5
6
|
import type { FaceRpcResult } from "./types.js";
|
|
6
7
|
/**
|
|
@@ -8,6 +9,15 @@ import type { FaceRpcResult } from "./types.js";
|
|
|
8
9
|
* Desktop Host sets `XRK_NATIVE_OPEN=1` so the bit stays true without a second opener.
|
|
9
10
|
*/
|
|
10
11
|
export declare function canOpenNativePath(platform?: NodeJS.Platform, env?: NodeJS.ProcessEnv): boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Detached GUI/CLI spawn shared by openPath and open-in-app.
|
|
14
|
+
* `windowsHide` defaults true (hide console stubs). Pass false for processes
|
|
15
|
+
* that own the visible window (e.g. `wt`); GUI subsystem apps like
|
|
16
|
+
* `explorer.exe` / `Cursor.exe` stay visible either way.
|
|
17
|
+
*/
|
|
18
|
+
export declare function spawnDetached(command: string, args: readonly string[], options?: {
|
|
19
|
+
readonly windowsHide?: boolean;
|
|
20
|
+
}): Promise<void>;
|
|
11
21
|
/** Normalize trailing `.` / separator noise from client path joins. */
|
|
12
22
|
export declare function normalizeOpenPath(target: string): string;
|
|
13
23
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-open-path.d.ts","sourceRoot":"","sources":["../src/host-open-path.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"host-open-path.d.ts","sourceRoot":"","sources":["../src/host-open-path.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAKT;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,GAAE;IAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAO,GAC/C,OAAO,CAAC,IAAI,CAAC,CAef;AAED,uEAAuE;AACvE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAsBxD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAsB,cAAc,CAClC,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,OAAO,CAAC,IAAI,CAAC,CAoBf;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,OAAO,CAAC,IAAI,CAAC,CA+Bf;AAED,wBAAsB,YAAY,CAChC,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,aAAa,CAAC;IAAE,MAAM,EAAE,IAAI,CAAA;CAAE,CAAC,CAAC,CA0D1C"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* host.openPath / reveal — open or select a filesystem path in the OS shell.
|
|
3
|
-
* Win:
|
|
3
|
+
* Win folders: `cmd /c start` (ShellExecute). Win files: explorer /select.
|
|
4
|
+
* macOS: open. Linux: xdg-open.
|
|
4
5
|
*/
|
|
5
6
|
import { access, constants, stat } from "node:fs/promises";
|
|
6
7
|
import { spawn } from "node:child_process";
|
|
@@ -16,12 +17,19 @@ export function canOpenNativePath(platform = process.platform, env = process.env
|
|
|
16
17
|
}
|
|
17
18
|
return platform === "win32" || platform === "darwin" || platform === "linux";
|
|
18
19
|
}
|
|
19
|
-
|
|
20
|
+
/**
|
|
21
|
+
* Detached GUI/CLI spawn shared by openPath and open-in-app.
|
|
22
|
+
* `windowsHide` defaults true (hide console stubs). Pass false for processes
|
|
23
|
+
* that own the visible window (e.g. `wt`); GUI subsystem apps like
|
|
24
|
+
* `explorer.exe` / `Cursor.exe` stay visible either way.
|
|
25
|
+
*/
|
|
26
|
+
export function spawnDetached(command, args, options = {}) {
|
|
27
|
+
const windowsHide = options.windowsHide !== false;
|
|
20
28
|
return new Promise((resolve, reject) => {
|
|
21
29
|
const child = spawn(command, [...args], {
|
|
22
30
|
detached: true,
|
|
23
31
|
stdio: "ignore",
|
|
24
|
-
windowsHide
|
|
32
|
+
windowsHide,
|
|
25
33
|
shell: false,
|
|
26
34
|
});
|
|
27
35
|
child.once("error", reject);
|
|
@@ -38,6 +46,14 @@ export function normalizeOpenPath(target) {
|
|
|
38
46
|
while (p.endsWith("/.") || p.endsWith("\\.")) {
|
|
39
47
|
p = p.slice(0, -2);
|
|
40
48
|
}
|
|
49
|
+
// `/.` must stay POSIX root; `C:\.` / `C:/.` must stay a drive root.
|
|
50
|
+
if (p === "" && /^[\\/]/.test(target.trim())) {
|
|
51
|
+
return "/";
|
|
52
|
+
}
|
|
53
|
+
if (/^[A-Za-z]:$/.test(p)) {
|
|
54
|
+
const sep = target.includes("/") && !target.includes("\\") ? "/" : "\\";
|
|
55
|
+
return `${p}${sep}`;
|
|
56
|
+
}
|
|
41
57
|
while ((p.endsWith("/") || p.endsWith("\\")) &&
|
|
42
58
|
p.length > 1 &&
|
|
43
59
|
!/^[A-Za-z]:[\\/]?$/.test(p)) {
|
|
@@ -57,15 +73,20 @@ export async function openNativePath(target, platform = process.platform) {
|
|
|
57
73
|
? windowsExplorerPath(target)
|
|
58
74
|
: normalizeOpenPath(target);
|
|
59
75
|
if (platform === "win32") {
|
|
60
|
-
//
|
|
61
|
-
|
|
76
|
+
// ShellExecute via `start`. Direct `explorer.exe <dir>` CreateProcess is a
|
|
77
|
+
// no-op when Explorer is already the desktop shell (child exits 0, no window).
|
|
78
|
+
// Empty title is required by `start`. windowsHide must be false: CREATE_NO_WINDOW
|
|
79
|
+
// on this cmd also leaves the folder window unmapped.
|
|
80
|
+
await spawnDetached("cmd.exe", ["/c", "start", "", path], {
|
|
81
|
+
windowsHide: false,
|
|
82
|
+
});
|
|
62
83
|
return;
|
|
63
84
|
}
|
|
64
85
|
if (platform === "darwin") {
|
|
65
|
-
await
|
|
86
|
+
await spawnDetached("open", [path]);
|
|
66
87
|
return;
|
|
67
88
|
}
|
|
68
|
-
await
|
|
89
|
+
await spawnDetached("xdg-open", [path]);
|
|
69
90
|
}
|
|
70
91
|
/**
|
|
71
92
|
* Reveal a path in the desktop file manager (select file when possible).
|
|
@@ -86,12 +107,12 @@ export async function revealNativePath(target, platform = process.platform) {
|
|
|
86
107
|
// Caller usually validated existence; fall through to /select.
|
|
87
108
|
}
|
|
88
109
|
// `/select,<path>` — no space after the comma (Explorer quirk).
|
|
89
|
-
await
|
|
110
|
+
await spawnDetached("explorer.exe", [`/select,${path}`]);
|
|
90
111
|
return;
|
|
91
112
|
}
|
|
92
113
|
const path = normalizeOpenPath(target);
|
|
93
114
|
if (platform === "darwin") {
|
|
94
|
-
await
|
|
115
|
+
await spawnDetached("open", ["-R", path]);
|
|
95
116
|
return;
|
|
96
117
|
}
|
|
97
118
|
let st;
|
|
@@ -99,10 +120,10 @@ export async function revealNativePath(target, platform = process.platform) {
|
|
|
99
120
|
st = await stat(path);
|
|
100
121
|
}
|
|
101
122
|
catch {
|
|
102
|
-
await
|
|
123
|
+
await spawnDetached("xdg-open", [dirname(path)]);
|
|
103
124
|
return;
|
|
104
125
|
}
|
|
105
|
-
await
|
|
126
|
+
await spawnDetached("xdg-open", [st.isDirectory() ? path : dirname(path)]);
|
|
106
127
|
}
|
|
107
128
|
export async function hostOpenPath(payload) {
|
|
108
129
|
if (!canOpenNativePath()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-open-path.js","sourceRoot":"","sources":["../src/host-open-path.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"host-open-path.js","sourceRoot":"","sources":["../src/host-open-path.ts"],"names":[],"mappings":"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"}
|