pi-x-ide 1.4.0 → 1.4.2

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.
Files changed (43) hide show
  1. package/README.md +183 -114
  2. package/README.zh.md +183 -114
  3. package/dist/package.json +10 -4
  4. package/dist/src/nvim/sidecar-schema.d.ts +25 -0
  5. package/dist/src/nvim/sidecar-schema.js +64 -0
  6. package/dist/src/nvim/sidecar-schema.js.map +1 -0
  7. package/dist/src/nvim/sidecar.d.ts +16 -0
  8. package/dist/src/nvim/sidecar.js +173 -0
  9. package/dist/src/nvim/sidecar.js.map +1 -0
  10. package/dist/src/pi/index.js +10 -2
  11. package/dist/src/pi/index.js.map +1 -1
  12. package/dist/src/pi/install.js +22 -1
  13. package/dist/src/pi/install.js.map +1 -1
  14. package/dist/src/shared/ide-server.d.ts +20 -0
  15. package/dist/src/shared/ide-server.js +144 -0
  16. package/dist/src/shared/ide-server.js.map +1 -0
  17. package/dist/src/shared/lock-file.d.ts +16 -0
  18. package/dist/src/shared/lock-file.js +58 -0
  19. package/dist/src/shared/lock-file.js.map +1 -0
  20. package/dist/src/shared/paths.js +8 -1
  21. package/dist/src/shared/paths.js.map +1 -1
  22. package/dist/src/shared/protocol.d.ts +1 -1
  23. package/dist/src/shared/schema.js +1 -1
  24. package/dist/src/shared/schema.js.map +1 -1
  25. package/dist/test/nvim-sidecar.test.d.ts +1 -0
  26. package/dist/test/nvim-sidecar.test.js +148 -0
  27. package/dist/test/nvim-sidecar.test.js.map +1 -0
  28. package/dist/test/shared.test.js +10 -0
  29. package/dist/test/shared.test.js.map +1 -1
  30. package/nvim/bin/pi-x-ide-nvim-sidecar.cjs +21 -0
  31. package/nvim/doc/pi-x-ide.txt +112 -0
  32. package/nvim/lua/pi_x_ide/init.lua +442 -0
  33. package/nvim/plugin/pi-x-ide.lua +15 -0
  34. package/package.json +10 -4
  35. package/src/nvim/sidecar-schema.ts +71 -0
  36. package/src/nvim/sidecar.ts +219 -0
  37. package/src/pi/index.ts +12 -2
  38. package/src/pi/install.ts +24 -1
  39. package/src/shared/ide-server.ts +120 -0
  40. package/src/shared/lock-file.ts +65 -0
  41. package/src/shared/paths.ts +8 -1
  42. package/src/shared/protocol.ts +1 -1
  43. package/src/shared/schema.ts +1 -1
@@ -0,0 +1,173 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.startNvimSidecar = startNvimSidecar;
5
+ const node_readline_1 = require("node:readline");
6
+ const protocol_1 = require("../shared/protocol");
7
+ const format_1 = require("../shared/format");
8
+ const ide_server_1 = require("../shared/ide-server");
9
+ const lock_file_1 = require("../shared/lock-file");
10
+ const sidecar_schema_1 = require("./sidecar-schema");
11
+ async function startNvimSidecar(options = {}) {
12
+ const previousLockDir = process.env[protocol_1.LOCK_DIR_ENV];
13
+ if (options.lockDir)
14
+ process.env[protocol_1.LOCK_DIR_ENV] = options.lockDir;
15
+ const state = {
16
+ workspaceFolders: normalizeWorkspaceFolders(options.workspaceFolders),
17
+ stopped: false,
18
+ };
19
+ const authToken = (0, lock_file_1.createAuthToken)();
20
+ const server = new ide_server_1.IdeWebSocketServer(authToken, { name: options.name ?? "Neovim", ide: "nvim" }, () => state.latestSelection);
21
+ const port = await server.start();
22
+ state.lockFilePath = (0, lock_file_1.createIdeLockFilePath)("nvim", port);
23
+ state.lockFile = (0, lock_file_1.createIdeLockFile)({
24
+ ide: "nvim",
25
+ name: options.name ?? "Neovim",
26
+ port,
27
+ authToken,
28
+ workspaceFolders: state.workspaceFolders,
29
+ });
30
+ await (0, lock_file_1.writeIdeLockFile)(state.lockFilePath, state.lockFile);
31
+ const stdout = options.stdout ?? process.stdout;
32
+ stdout.write(JSON.stringify({ type: "ready", port, lockFilePath: state.lockFilePath }) + "\n");
33
+ const stop = async () => {
34
+ if (state.stopped)
35
+ return;
36
+ state.stopped = true;
37
+ await (0, lock_file_1.removeIdeLockFile)(state.lockFilePath);
38
+ await server.stop();
39
+ if (options.lockDir) {
40
+ if (previousLockDir === undefined)
41
+ delete process.env[protocol_1.LOCK_DIR_ENV];
42
+ else
43
+ process.env[protocol_1.LOCK_DIR_ENV] = previousLockDir;
44
+ }
45
+ };
46
+ const stdin = options.stdin ?? process.stdin;
47
+ const stderr = options.stderr ?? process.stderr;
48
+ const rl = (0, node_readline_1.createInterface)({ input: stdin });
49
+ rl.on("line", (line) => {
50
+ const trimmed = line.trim();
51
+ if (!trimmed)
52
+ return;
53
+ const parsed = (0, sidecar_schema_1.parseJsonLine)(trimmed);
54
+ const config = (0, sidecar_schema_1.parseSidecarConfig)(parsed);
55
+ if (config && !("type" in parsed)) {
56
+ void applyConfig(state, config, stderr);
57
+ return;
58
+ }
59
+ const message = (0, sidecar_schema_1.parseNvimSidecarMessage)(parsed);
60
+ if (!message) {
61
+ stderr.write(`pi-x-ide nvim sidecar: ignored malformed message: ${trimmed}\n`);
62
+ return;
63
+ }
64
+ void handleMessage(state, server, message, stderr, stop);
65
+ });
66
+ rl.on("close", () => void stop());
67
+ const cleanup = () => void stop();
68
+ process.once("SIGINT", cleanup);
69
+ process.once("SIGTERM", cleanup);
70
+ process.once("beforeExit", cleanup);
71
+ return { server, lockFilePath: state.lockFilePath, stop };
72
+ }
73
+ async function applyConfig(state, config, stderr) {
74
+ if (config.workspaceFolders)
75
+ state.workspaceFolders = normalizeWorkspaceFolders(config.workspaceFolders);
76
+ if (!state.lockFilePath || !state.lockFile)
77
+ return;
78
+ state.lockFile = (0, lock_file_1.refreshIdeLockFile)(state.lockFile, state.workspaceFolders);
79
+ try {
80
+ await (0, lock_file_1.writeIdeLockFile)(state.lockFilePath, state.lockFile);
81
+ }
82
+ catch (error) {
83
+ stderr.write(`pi-x-ide nvim sidecar: failed to refresh lock file: ${errorMessage(error)}\n`);
84
+ }
85
+ }
86
+ async function handleMessage(state, server, message, stderr, stop) {
87
+ switch (message.type) {
88
+ case "selection_changed": {
89
+ const snapshot = withNvimSource(message.snapshot);
90
+ state.latestSelection = snapshot;
91
+ server.broadcast({
92
+ jsonrpc: "2.0",
93
+ method: "selection_changed",
94
+ params: { ...snapshot, receivedAt: snapshot.receivedAt ?? Date.now() },
95
+ });
96
+ return;
97
+ }
98
+ case "selection_cleared":
99
+ state.latestSelection = undefined;
100
+ server.broadcast({
101
+ jsonrpc: "2.0",
102
+ method: "selection_cleared",
103
+ params: { source: "nvim", reason: message.reason ?? "no-active-editor", receivedAt: Date.now() },
104
+ });
105
+ return;
106
+ case "at_mentioned": {
107
+ const snapshot = withNvimSource(message.snapshot);
108
+ state.latestSelection = snapshot;
109
+ const rangeText = message.rangeText || (0, format_1.formatRangeMention)(snapshot);
110
+ server.broadcast({
111
+ jsonrpc: "2.0",
112
+ method: "at_mentioned",
113
+ params: { ...snapshot, rangeText, receivedAt: snapshot.receivedAt ?? Date.now() },
114
+ });
115
+ return;
116
+ }
117
+ case "workspace_changed":
118
+ await applyConfig(state, { workspaceFolders: message.workspaceFolders }, stderr);
119
+ return;
120
+ case "shutdown":
121
+ await stop();
122
+ return;
123
+ }
124
+ }
125
+ function withNvimSource(snapshot) {
126
+ return { ...snapshot, source: "nvim" };
127
+ }
128
+ function normalizeWorkspaceFolders(workspaceFolders) {
129
+ const folders = workspaceFolders?.filter((folder) => folder.length > 0) ?? [];
130
+ return folders.length > 0 ? folders : [process.cwd()];
131
+ }
132
+ function errorMessage(error) {
133
+ return error instanceof Error ? error.message : String(error);
134
+ }
135
+ function parseCliArgs(argv) {
136
+ const options = {};
137
+ for (let index = 0; index < argv.length; index += 1) {
138
+ const arg = argv[index];
139
+ if (arg === "--help" || arg === "-h")
140
+ return "help";
141
+ if (arg === "--name")
142
+ options.name = argv[++index];
143
+ else if (arg === "--lock-dir")
144
+ options.lockDir = argv[++index];
145
+ else if (arg === "--workspace-folder") {
146
+ options.workspaceFolders = [...(options.workspaceFolders ?? []), argv[++index]].filter(Boolean);
147
+ }
148
+ else if (arg === "--workspace-folders") {
149
+ const value = argv[++index];
150
+ const parsed = (0, sidecar_schema_1.parseJsonLine)(value ?? "");
151
+ const config = (0, sidecar_schema_1.parseSidecarConfig)({ workspaceFolders: parsed });
152
+ if (config?.workspaceFolders)
153
+ options.workspaceFolders = config.workspaceFolders;
154
+ }
155
+ }
156
+ return options;
157
+ }
158
+ function printHelp() {
159
+ process.stdout.write(`Usage: pi-x-ide-nvim-sidecar [options]\n\nOptions:\n --workspace-folder <path> Add a workspace folder. May be repeated.\n --workspace-folders <json> JSON array of workspace folders.\n --lock-dir <path> Override PI_X_IDE_LOCK_DIR for tests.\n --name <name> Display name reported to Pi.\n --help Show this help.\n`);
160
+ }
161
+ if (require.main === module) {
162
+ const parsed = parseCliArgs(process.argv.slice(2));
163
+ if (parsed === "help") {
164
+ printHelp();
165
+ }
166
+ else {
167
+ startNvimSidecar(parsed).catch((error) => {
168
+ process.stderr.write(`pi-x-ide nvim sidecar: ${errorMessage(error)}\n`);
169
+ process.exitCode = 1;
170
+ });
171
+ }
172
+ }
173
+ //# sourceMappingURL=sidecar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidecar.js","sourceRoot":"","sources":["../../../src/nvim/sidecar.ts"],"names":[],"mappings":"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"}
@@ -72,8 +72,16 @@ async function maybeAutoInstallAndReconnect(runtime, ctx, generation) {
72
72
  }
73
73
  notifyInstall(ctx, `Pi x IDE extension installed for ${candidate.label}. Trying to connect...`, "info");
74
74
  const connected = await retryConnectAfterInstall(runtime, ctx, generation);
75
- if (!connected && isInstallSessionActive(runtime, generation)) {
76
- notifyInstall(ctx, `Pi x IDE extension installed for ${candidate.label}. If Pi does not connect automatically, reload the IDE window and run /ide auto.`, "warning");
75
+ if (!isInstallSessionActive(runtime, generation))
76
+ return;
77
+ if (connected && runtime.connectionStatus === "connected") {
78
+ notifyInstall(ctx, `Pi x IDE extension installed for ${candidate.label}. Connected!`, "info");
79
+ }
80
+ else if (!connected) {
81
+ notifyInstall(ctx, `Pi x IDE extension installed for ${candidate.label}. If Pi does not connect automatically, reload the IDE window and run /ide.`, "warning");
82
+ }
83
+ else {
84
+ notifyInstall(ctx, `Pi x IDE extension installed for ${candidate.label}. Connection attempt completed. Run /ide to retry if needed.`, "warning");
77
85
  }
78
86
  }
79
87
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pi/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pi/index.ts"],"names":[],"mappings":"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"}
@@ -136,6 +136,14 @@ async function findExecutable(command, env = process.env) {
136
136
  return undefined;
137
137
  }
138
138
  async function runCli(cliPath, args, timeoutMs = 15_000) {
139
+ if (process.platform === "win32" && isCmdOrBatFile(cliPath)) {
140
+ const { stdout, stderr } = await execFileAsync(resolveCmdExe(), ["/d", "/c", cliPath, ...args], {
141
+ timeout: timeoutMs,
142
+ windowsHide: true,
143
+ maxBuffer: 1024 * 1024,
144
+ });
145
+ return { stdout: String(stdout), stderr: String(stderr) };
146
+ }
139
147
  const { stdout, stderr } = await execFileAsync(cliPath, args, {
140
148
  timeout: timeoutMs,
141
149
  windowsHide: true,
@@ -245,13 +253,26 @@ function parsePathExt(env) {
245
253
  .split(";")
246
254
  .map((extension) => extension.trim())
247
255
  .filter(Boolean);
248
- return values.length > 0 ? ["", ...values] : [""];
256
+ // On Windows, skip extensionless search to avoid matching
257
+ // non-executable shell scripts (e.g., VS Code ships both
258
+ // `code` (sh) and `code.cmd` — only `.cmd` is executable).
259
+ if (process.platform !== "win32") {
260
+ return values.length > 0 ? ["", ...values] : [""];
261
+ }
262
+ return values;
249
263
  }
250
264
  function withExtension(command, extension) {
251
265
  if (!extension)
252
266
  return command;
253
267
  return command.toLowerCase().endsWith(extension.toLowerCase()) ? command : `${command}${extension}`;
254
268
  }
269
+ function isCmdOrBatFile(cliPath) {
270
+ const lowerPath = cliPath.toLowerCase();
271
+ return lowerPath.endsWith(".cmd") || lowerPath.endsWith(".bat");
272
+ }
273
+ function resolveCmdExe() {
274
+ return process.env.ComSpec ?? "cmd.exe";
275
+ }
255
276
  function getExecOutput(error, key) {
256
277
  if (typeof error !== "object" || error === null || !(key in error))
257
278
  return "";
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/pi/install.ts"],"names":[],"mappings":";;;;;;AA+DA,oDAKC;AAED,wEAcC;AAED,4DAWC;AAED,wDAYC;AAgCD,4CAEC;AAED,wCAyBC;AAED,wBAWC;AAED,8DAyCC;AAED,gEAUC;AAED,kDAqCC;AAvRD,2DAA8C;AAC9C,+CAA0C;AAC1C,yCAAwD;AACxD,yCAAsC;AACtC,sEAA6C;AAC7C,6CAAsD;AAGtD,MAAM,aAAa,GAAG,IAAA,qBAAS,EAAC,6BAAQ,CAAC,CAAC;AAE7B,QAAA,qBAAqB,GAAG,mBAAmB,CAAC;AAC5C,QAAA,yBAAyB,GAAG,uBAAuB,CAAC;AACpD,QAAA,uBAAuB,GAAG,sBAAW,CAAC,OAAO,CAAC;AA6C9C,QAAA,0BAA0B,GAAoB;IACzD,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE;IACnD,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE;IACpD,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE;CAC3D,CAAC;AAEF,SAAgB,oBAAoB,CAAC,MAAyB,OAAO,CAAC,GAAG;IACvE,MAAM,aAAa,GAAG,IAAA,2BAAkB,EAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,aAAa,CAAC,iCAAyB,CAAC,CAAC;IACvD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACrC,OAAO,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;AACrE,CAAC;AAED,SAAgB,8BAA8B,CAC5C,MAAc,EACd,WAAW,GAAG,6BAAqB;IAEnC,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;IACzC,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,cAAc,IAAI,CAAC;YAAE,SAAS;QAClC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;QACvD,IAAI,EAAE,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC;IAC/E,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAgB,wBAAwB,CAAC,SAA6B,EAAE,MAAc;IACpF,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IACjC,MAAM,cAAc,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACrD,MAAM,WAAW,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,CAAC,cAAc,IAAI,CAAC,WAAW;QAAE,OAAO,SAAS,CAAC;IAEtD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1C,IAAI,cAAc,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC;YAAE,OAAO,OAAO,CAAC;QAC/D,IAAI,cAAc,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC;YAAE,OAAO,OAAO,CAAC;IACjE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAgB,sBAAsB,CAAC,MAAyB,OAAO,CAAC,GAAG;IACzE,MAAM,aAAa,GAAG,IAAA,2BAAkB,EAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAC9D,MAAM,eAAe,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAC1D,MAAM,eAAe,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAE1D,IAAI,iBAAiB;QAAE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC/C,IAAI,eAAe;QAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC3C,IAAI,eAAe,IAAI,CAAC,iBAAiB,IAAI,CAAC,eAAe;QAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAErF,OAAO,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1D,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAsB;IAClD,IAAI,GAAG,CAAC,YAAY,EAAE,WAAW,EAAE,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC;IAChE,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3D,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;AAC5F,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAsB;IAChD,IAAI,GAAG,CAAC,YAAY,EAAE,WAAW,EAAE,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC9D,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7C,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAsB;IAChD,IAAI,GAAG,CAAC,YAAY,EAAE,WAAW,EAAE,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC9D,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,mBAAmB,IAAI,GAAG,CAAC,qBAAqB,CAAC,CAAC;AAC3G,CAAC;AAED,SAAS,SAAS,CAAC,GAAsB,EAAE,QAAkB;IAC3D,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;AACrG,CAAC;AAED,SAAS,YAAY,CAAC,GAAsB;IAC1C,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,mBAAmB,EAAE,GAAG,CAAC,qBAAqB,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,eAAe,CAAC,KAAyB,EAAE,QAAkB;IACpE,MAAM,UAAU,GAAG,KAAK,EAAE,WAAW,EAAE,CAAC;IACxC,OAAO,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACnF,CAAC;AAED,SAAgB,gBAAgB;IAC9B,OAAO,CAAC,SAAS,EAAE,qBAAqB,EAAE,6BAAqB,CAAC,CAAC;AACnE,CAAC;AAEM,KAAK,UAAU,cAAc,CAClC,OAAe,EACf,MAAyB,OAAO,CAAC,GAAG;IAEpC,MAAM,aAAa,GAAG,IAAA,2BAAkB,EAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,IAAI,aAAa,CAAC,IAAI,IAAI,aAAa,CAAC,IAAI,CAAC;IAC/E,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAE/B,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACrF,MAAM,UAAU,GAAG,IAAA,sBAAU,EAAC,OAAO,CAAC;QACpC,CAAC,CAAC,CAAC,OAAO,CAAC;QACX,CAAC,CAAC,OAAO;aACJ,KAAK,CAAC,qBAAS,CAAC;aAChB,MAAM,CAAC,OAAO,CAAC;aACf,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAA,gBAAI,EAAC,SAAS,EAAE,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjH,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,IAAA,iBAAM,EAAC,SAAS,CAAC,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,uBAAuB;QACzB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAEM,KAAK,UAAU,MAAM,CAC1B,OAAe,EACf,IAAc,EACd,SAAS,GAAG,MAAM;IAElB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE;QAC5D,OAAO,EAAE,SAAS;QAClB,WAAW,EAAE,IAAI;QACjB,SAAS,EAAE,IAAI,GAAG,IAAI;KACvB,CAAC,CAAC;IACH,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;AAC5D,CAAC;AAEM,KAAK,UAAU,yBAAyB,CAC7C,UAA4C,EAAE;IAE9C,MAAM,GAAG,GAAG,IAAA,2BAAkB,EAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,IAAI,KAAK,CAAC;IACnE,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC;IAC9C,MAAM,UAAU,GAA0B,EAAE,CAAC;IAE7C,KAAK,MAAM,OAAO,IAAI,kCAA0B,EAAE,CAAC;QACjD,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO;YAAE,SAAS;QAEvB,MAAM,UAAU,GAAyB,UAAU,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,eAAe,CAAC;QAC1G,IAAI,UAAU,KAAK,kBAAkB,IAAI,CAAC,oBAAoB;YAAE,SAAS;QAEzE,IAAI,gBAAoC,CAAC;QACzC,IAAI,SAA6B,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,EAAE,SAAS,CAAC,CAAC;YAC9F,gBAAgB,GAAG,8BAA8B,CAAC,MAAM,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,MAAM,GAAG,oBAAoB,CAAC,gBAAgB,EAAE,+BAAuB,EAAE,SAAS,CAAC,CAAC;QAC1F,UAAU,CAAC,IAAI,CAAC;YACd,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,GAAG,EAAE,OAAO,CAAC,OAAO;YACpB,OAAO;YACP,UAAU;YACV,gBAAgB;YAChB,aAAa,EAAE,+BAAuB;YACtC,YAAY,EAAE,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,UAAU,IAAI,MAAM,KAAK,SAAS;YACnF,MAAM;YACN,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAgB,0BAA0B,CACxC,UAAiC,EACjC,MAAyB,OAAO,CAAC,GAAG;IAEpC,MAAM,aAAa,GAAG,IAAA,2BAAkB,EAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;IACzD,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CACtC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,KAAK,kBAAkB,IAAI,CAAC,CAAC,UAAU,IAAI,SAAS,CAAC,EAAE,KAAK,UAAU,CAAC,CAC3G,CAAC;IACF,OAAO,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACrE,CAAC;AAEM,KAAK,UAAU,mBAAmB,CACvC,SAA8B,EAC9B,OAAqB,EACrB,UAAsC,EAAE;IAExC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;QAC5B,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAC7E,CAAC;IAED,MAAM,UAAU,GAAG,SAAS,CAAC,EAAE,CAAC;IAChC,IAAI,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7C,OAAO;YACL,SAAS;YACT,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;YACV,KAAK,EAAE,GAAG,SAAS,CAAC,KAAK,4CAA4C;SACtE,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACzC,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE,EAAE,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC;QAC5G,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IACtE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,SAAS;YACT,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC;YACtC,MAAM,EAAE,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC;YACtC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAC3B,gBAAoC,EACpC,aAAqB,EACrB,SAA6B;IAE7B,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC;IAChC,IAAI,CAAC,gBAAgB;QAAE,OAAO,SAAS,CAAC;IACxC,MAAM,UAAU,GAAG,wBAAwB,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;IAC7E,IAAI,UAAU,KAAK,OAAO;QAAE,OAAO,UAAU,CAAC;IAC9C,IAAI,UAAU,KAAK,OAAO,IAAI,UAAU,KAAK,OAAO;QAAE,OAAO,SAAS,CAAC;IACvE,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAe;IACzC,MAAM,KAAK,GAAG,gCAAgC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACpE,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,YAAY,CAAC,GAAsB;IAC1C,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,qBAAqB,CAAC;IACrD,MAAM,MAAM,GAAG,OAAO;SACnB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;SACpC,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,aAAa,CAAC,OAAe,EAAE,SAAiB;IACvD,IAAI,CAAC,SAAS;QAAE,OAAO,OAAO,CAAC;IAC/B,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,SAAS,EAAE,CAAC;AACtG,CAAC;AAED,SAAS,aAAa,CAAC,KAAc,EAAE,GAAwB;IAC7D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC9E,MAAM,KAAK,GAAI,KAAqC,CAAC,GAAG,CAAC,CAAC;IAC1D,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1D,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAClH,OAAO,EAAE,CAAC;AACZ,CAAC"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/pi/install.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { type EditorSelectionSnapshot, type IdeSource } from "./protocol";
2
+ export declare class IdeWebSocketServer {
3
+ private readonly authToken;
4
+ private readonly serverInfo;
5
+ private readonly getInitialSelection?;
6
+ private httpServer?;
7
+ private wss?;
8
+ private readonly sockets;
9
+ constructor(authToken: string, serverInfo: {
10
+ name: string;
11
+ version?: string;
12
+ ide?: IdeSource;
13
+ }, getInitialSelection?: (() => EditorSelectionSnapshot | undefined) | undefined);
14
+ get port(): number;
15
+ get clientCount(): number;
16
+ start(): Promise<number>;
17
+ broadcast(value: unknown): void;
18
+ stop(): Promise<void>;
19
+ private handleMessage;
20
+ }
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.IdeWebSocketServer = void 0;
37
+ const node_http_1 = require("node:http");
38
+ const ws_1 = __importStar(require("ws"));
39
+ const protocol_1 = require("./protocol");
40
+ const schema_1 = require("./schema");
41
+ const ws_2 = require("./ws");
42
+ class IdeWebSocketServer {
43
+ authToken;
44
+ serverInfo;
45
+ getInitialSelection;
46
+ httpServer;
47
+ wss;
48
+ sockets = new Set();
49
+ constructor(authToken, serverInfo, getInitialSelection) {
50
+ this.authToken = authToken;
51
+ this.serverInfo = serverInfo;
52
+ this.getInitialSelection = getInitialSelection;
53
+ }
54
+ get port() {
55
+ const address = this.httpServer?.address();
56
+ if (!address || typeof address === "string")
57
+ return 0;
58
+ return address.port;
59
+ }
60
+ get clientCount() {
61
+ return this.sockets.size;
62
+ }
63
+ async start() {
64
+ this.httpServer = (0, node_http_1.createServer)();
65
+ this.wss = new ws_1.WebSocketServer({
66
+ server: this.httpServer,
67
+ verifyClient: ({ req }, done) => {
68
+ const header = req.headers[protocol_1.AUTH_HEADER];
69
+ const token = Array.isArray(header) ? header[0] : header;
70
+ done(token === this.authToken, token === this.authToken ? undefined : 401, "Unauthorized");
71
+ },
72
+ });
73
+ this.wss.on("connection", (socket) => {
74
+ this.sockets.add(socket);
75
+ socket.on("close", () => this.sockets.delete(socket));
76
+ socket.on("error", () => this.sockets.delete(socket));
77
+ socket.on("message", (raw) => this.handleMessage(socket, (0, ws_2.decodeRawData)(raw)));
78
+ });
79
+ await new Promise((resolve, reject) => {
80
+ this.httpServer.once("error", reject);
81
+ this.httpServer.listen(0, "127.0.0.1", () => {
82
+ this.httpServer.off("error", reject);
83
+ resolve();
84
+ });
85
+ });
86
+ return this.port;
87
+ }
88
+ broadcast(value) {
89
+ const text = JSON.stringify(value);
90
+ for (const socket of this.sockets) {
91
+ if (socket.readyState === ws_1.default.OPEN)
92
+ socket.send(text);
93
+ }
94
+ }
95
+ async stop() {
96
+ for (const socket of this.sockets)
97
+ socket.close();
98
+ this.sockets.clear();
99
+ await Promise.all([
100
+ new Promise((resolve) => this.wss?.close(() => resolve()) ?? resolve()),
101
+ new Promise((resolve) => this.httpServer?.close(() => resolve()) ?? resolve()),
102
+ ]);
103
+ }
104
+ handleMessage(socket, text) {
105
+ let parsed;
106
+ try {
107
+ parsed = JSON.parse(text);
108
+ }
109
+ catch {
110
+ return;
111
+ }
112
+ if (!(0, schema_1.isJsonRpcRequest)(parsed))
113
+ return;
114
+ if (parsed.method !== "initialize")
115
+ return;
116
+ const ide = this.serverInfo.ide ?? "vscode";
117
+ const result = {
118
+ protocolVersion: protocol_1.PROTOCOL_VERSION,
119
+ server: {
120
+ name: this.serverInfo.name,
121
+ version: this.serverInfo.version,
122
+ ide,
123
+ },
124
+ };
125
+ socket.send(JSON.stringify({ jsonrpc: "2.0", id: parsed.id, result }));
126
+ const snapshot = this.getInitialSelection?.();
127
+ socket.send(JSON.stringify({
128
+ jsonrpc: "2.0",
129
+ method: snapshot ? "selection_changed" : "selection_cleared",
130
+ params: snapshot
131
+ ? {
132
+ ...snapshot,
133
+ receivedAt: Date.now(),
134
+ }
135
+ : {
136
+ source: ide,
137
+ reason: "no-active-editor",
138
+ receivedAt: Date.now(),
139
+ },
140
+ }));
141
+ }
142
+ }
143
+ exports.IdeWebSocketServer = IdeWebSocketServer;
144
+ //# sourceMappingURL=ide-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ide-server.js","sourceRoot":"","sources":["../../../src/shared/ide-server.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAsD;AACtD,yCAAgD;AAChD,yCAMoB;AACpB,qCAA4C;AAC5C,6BAAqC;AAErC,MAAa,kBAAkB;IAMV;IACA;IACA;IAPX,UAAU,CAAU;IACpB,GAAG,CAAmB;IACb,OAAO,GAAG,IAAI,GAAG,EAAa,CAAC;IAEhD,YACmB,SAAiB,EACjB,UAA+D,EAC/D,mBAA+D;QAF/D,cAAS,GAAT,SAAS,CAAQ;QACjB,eAAU,GAAV,UAAU,CAAqD;QAC/D,wBAAmB,GAAnB,mBAAmB,CAA4C;IAC/E,CAAC;IAEJ,IAAI,IAAI;QACN,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC;QAC3C,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,CAAC,CAAC;QACtD,OAAO,OAAO,CAAC,IAAI,CAAC;IACtB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,UAAU,GAAG,IAAA,wBAAY,GAAE,CAAC;QACjC,IAAI,CAAC,GAAG,GAAG,IAAI,oBAAe,CAAC;YAC7B,MAAM,EAAE,IAAI,CAAC,UAAU;YACvB,YAAY,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE;gBAC9B,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,sBAAW,CAAC,CAAC;gBACxC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBACzD,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,SAAS,EAAE,KAAK,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;YAC7F,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE;YACnC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACzB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YACtD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YACtD,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,IAAA,kBAAa,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,IAAI,CAAC,UAAW,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACvC,IAAI,CAAC,UAAW,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE;gBAC3C,IAAI,CAAC,UAAW,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACtC,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,SAAS,CAAC,KAAc;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACnC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,MAAM,CAAC,UAAU,KAAK,YAAS,CAAC,IAAI;gBAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI;QACR,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO;YAAE,MAAM,CAAC,KAAK,EAAE,CAAC;QAClD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC;YAC7E,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC;SACrF,CAAC,CAAC;IACL,CAAC;IAEO,aAAa,CAAC,MAAiB,EAAE,IAAY;QACnD,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAA,yBAAgB,EAAC,MAAM,CAAC;YAAE,OAAO;QACtC,IAAI,MAAM,CAAC,MAAM,KAAK,YAAY;YAAE,OAAO;QAE3C,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,QAAQ,CAAC;QAC5C,MAAM,MAAM,GAAqB;YAC/B,eAAe,EAAE,2BAAgB;YACjC,MAAM,EAAE;gBACN,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI;gBAC1B,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO;gBAChC,GAAG;aACJ;SACF,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAEvE,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,EAAE,EAAE,CAAC;QAC9C,MAAM,CAAC,IAAI,CACT,IAAI,CAAC,SAAS,CAAC;YACb,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,mBAAmB;YAC5D,MAAM,EAAE,QAAQ;gBACd,CAAC,CAAC;oBACE,GAAG,QAAQ;oBACX,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;iBACvB;gBACH,CAAC,CAAC;oBACE,MAAM,EAAE,GAAG;oBACX,MAAM,EAAE,kBAAkB;oBAC1B,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;iBACvB;SACN,CAAC,CACH,CAAC;IACJ,CAAC;CACF;AA3GD,gDA2GC"}
@@ -0,0 +1,16 @@
1
+ import { type IdeLockFile, type IdeSource } from "./protocol";
2
+ export declare function createAuthToken(): string;
3
+ export declare function createIdeLockFilePath(source: IdeSource, port: number, pid?: number): string;
4
+ export interface CreateIdeLockFileOptions {
5
+ ide: IdeSource;
6
+ name: string;
7
+ port: number;
8
+ authToken: string;
9
+ workspaceFolders: string[];
10
+ pid?: number;
11
+ now?: Date;
12
+ }
13
+ export declare function createIdeLockFile(options: CreateIdeLockFileOptions): IdeLockFile;
14
+ export declare function writeIdeLockFile(path: string, lock: IdeLockFile): Promise<void>;
15
+ export declare function removeIdeLockFile(path: string | undefined): Promise<void>;
16
+ export declare function refreshIdeLockFile(lock: IdeLockFile, workspaceFolders: string[], now?: Date): IdeLockFile;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createAuthToken = createAuthToken;
4
+ exports.createIdeLockFilePath = createIdeLockFilePath;
5
+ exports.createIdeLockFile = createIdeLockFile;
6
+ exports.writeIdeLockFile = writeIdeLockFile;
7
+ exports.removeIdeLockFile = removeIdeLockFile;
8
+ exports.refreshIdeLockFile = refreshIdeLockFile;
9
+ const node_crypto_1 = require("node:crypto");
10
+ const promises_1 = require("node:fs/promises");
11
+ const node_path_1 = require("node:path");
12
+ const protocol_1 = require("./protocol");
13
+ const paths_1 = require("./paths");
14
+ function createAuthToken() {
15
+ return (0, node_crypto_1.randomBytes)(32).toString("hex");
16
+ }
17
+ function createIdeLockFilePath(source, port, pid = process.pid) {
18
+ return (0, node_path_1.join)((0, paths_1.resolveLockDir)(), `${source}-${pid}-${port}${protocol_1.LOCK_FILE_EXTENSION}`);
19
+ }
20
+ function createIdeLockFile(options) {
21
+ const now = (options.now ?? new Date()).toISOString();
22
+ return {
23
+ version: 1,
24
+ ide: options.ide,
25
+ name: options.name,
26
+ transport: "ws",
27
+ host: "127.0.0.1",
28
+ port: options.port,
29
+ authToken: options.authToken,
30
+ workspaceFolders: options.workspaceFolders,
31
+ pid: options.pid ?? process.pid,
32
+ createdAt: now,
33
+ updatedAt: now,
34
+ };
35
+ }
36
+ async function writeIdeLockFile(path, lock) {
37
+ const dir = (0, paths_1.resolveLockDir)();
38
+ await (0, promises_1.mkdir)(dir, { recursive: true, mode: 0o700 });
39
+ await (0, promises_1.chmod)(dir, 0o700).catch(() => undefined);
40
+ const tmp = `${path}.${process.pid}.${Date.now()}.tmp`;
41
+ await (0, promises_1.writeFile)(tmp, `${JSON.stringify(lock, null, 2)}\n`, { encoding: "utf8", mode: 0o600 });
42
+ await (0, promises_1.chmod)(tmp, 0o600).catch(() => undefined);
43
+ await (0, promises_1.rename)(tmp, path);
44
+ await (0, promises_1.chmod)(path, 0o600).catch(() => undefined);
45
+ }
46
+ async function removeIdeLockFile(path) {
47
+ if (!path)
48
+ return;
49
+ await (0, promises_1.rm)(path, { force: true }).catch(() => undefined);
50
+ }
51
+ function refreshIdeLockFile(lock, workspaceFolders, now = new Date()) {
52
+ return {
53
+ ...lock,
54
+ workspaceFolders,
55
+ updatedAt: now.toISOString(),
56
+ };
57
+ }
58
+ //# sourceMappingURL=lock-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lock-file.js","sourceRoot":"","sources":["../../../src/shared/lock-file.ts"],"names":[],"mappings":";;AAMA,0CAEC;AAED,sDAEC;AAYD,8CAeC;AAED,4CAUC;AAED,8CAGC;AAED,gDAMC;AAhED,6CAA0C;AAC1C,+CAAuE;AACvE,yCAAiC;AACjC,yCAAmF;AACnF,mCAAyC;AAEzC,SAAgB,eAAe;IAC7B,OAAO,IAAA,yBAAW,EAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC;AAED,SAAgB,qBAAqB,CAAC,MAAiB,EAAE,IAAY,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG;IACtF,OAAO,IAAA,gBAAI,EAAC,IAAA,sBAAc,GAAE,EAAE,GAAG,MAAM,IAAI,GAAG,IAAI,IAAI,GAAG,8BAAmB,EAAE,CAAC,CAAC;AAClF,CAAC;AAYD,SAAgB,iBAAiB,CAAC,OAAiC;IACjE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACtD,OAAO;QACL,OAAO,EAAE,CAAC;QACV,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG;QAC/B,SAAS,EAAE,GAAG;QACd,SAAS,EAAE,GAAG;KACf,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,gBAAgB,CAAC,IAAY,EAAE,IAAiB;IACpE,MAAM,GAAG,GAAG,IAAA,sBAAc,GAAE,CAAC;IAC7B,MAAM,IAAA,gBAAK,EAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACnD,MAAM,IAAA,gBAAK,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAE/C,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC;IACvD,MAAM,IAAA,oBAAS,EAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9F,MAAM,IAAA,gBAAK,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,IAAA,iBAAM,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACxB,MAAM,IAAA,gBAAK,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;AAClD,CAAC;AAEM,KAAK,UAAU,iBAAiB,CAAC,IAAwB;IAC9D,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,MAAM,IAAA,aAAE,EAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;AACzD,CAAC;AAED,SAAgB,kBAAkB,CAAC,IAAiB,EAAE,gBAA0B,EAAE,GAAG,GAAG,IAAI,IAAI,EAAE;IAChG,OAAO;QACL,GAAG,IAAI;QACP,gBAAgB;QAChB,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE;KAC7B,CAAC;AACJ,CAAC"}
@@ -16,7 +16,14 @@ function resolveLockDir(env = process.env) {
16
16
  return override ? (0, node_path_1.resolve)(override) : (0, node_path_1.resolve)((0, node_os_1.homedir)(), ".pi", "pi-x-ide", "lock");
17
17
  }
18
18
  function normalizePath(input) {
19
- return (0, node_path_1.resolve)(input);
19
+ const resolved = (0, node_path_1.resolve)(input);
20
+ // Normalize drive letter to uppercase on Windows so that path comparison
21
+ // is case-insensitive (VS Code may write workspace paths with lowercase
22
+ // drive letters while process.cwd() uses uppercase).
23
+ if (process.platform === "win32" && resolved.length >= 2 && resolved[1] === ":") {
24
+ return resolved[0].toUpperCase() + resolved.slice(1);
25
+ }
26
+ return resolved;
20
27
  }
21
28
  function isPathInsideOrEqual(parent, child) {
22
29
  const normalizedParent = normalizePath(parent);