@spences10/pi-lsp 0.0.46 → 0.0.48

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/README.md CHANGED
@@ -71,7 +71,7 @@ Supported server discovery includes:
71
71
  `tsc --lsp --stdio` server
72
72
  - TypeScript 6 and earlier via `typescript-language-server --stdio`
73
73
  - Svelte via `svelteserver`
74
- - Python via `python-lsp-server`
74
+ - Python via `python-lsp-server`, Basedpyright, or Pyright
75
75
  - Go via `gopls`
76
76
  - Rust via `rust-analyzer`
77
77
  - Ruby via `solargraph`
@@ -87,14 +87,60 @@ LSP. `/lsp status` reports the selected backend and full command. A
87
87
  TypeScript 7 native server that cannot start reports a specific setup
88
88
  hint.
89
89
 
90
- Project-local binaries in `node_modules/.bin` are detected before
91
- global binaries, but are untrusted by default because they can execute
90
+ ### Python server selection
91
+
92
+ Python keeps `pylsp` when it is available, so installing another type
93
+ checker does not replace an existing pylsp setup or its plugins. When
94
+ pylsp is missing, project-local Basedpyright or Pyright takes priority
95
+ over global tools. The nearest project installation wins; within the
96
+ same directory, Basedpyright takes priority over Pyright. Global
97
+ fallback uses Basedpyright before Pyright.
98
+
99
+ Set `MY_PI_LSP_PYTHON_SERVER` to `pylsp`, `basedpyright`, or `pyright`
100
+ to select a specific backend. Unset it or use `auto` for the default
101
+ selection above. For example:
102
+
103
+ ```bash
104
+ MY_PI_LSP_PYTHON_SERVER=pyright pi
105
+ ```
106
+
107
+ An explicit selection never switches to another backend. Missing or
108
+ failed servers report an error and an installation hint. Install with
109
+ `pip install python-lsp-server`, `pip install basedpyright`, or
110
+ `pip install pyright`. Pyright-family servers use `--stdio`.
111
+
112
+ Python discovery checks executable files in ancestor `.venv/bin`
113
+ folders (`.venv/Scripts` on Windows), `node_modules/.bin`, and `PATH`.
114
+ Directories, broken links, and non-executable files are skipped. On
115
+ Windows, use native executables such as the `.exe` launchers from pip;
116
+ `.cmd` and `.bat` wrappers are not supported by the shell-free client.
117
+ `/lsp status` shows the selected backend and resolved command.
118
+
119
+ If project-binary trust is skipped, Python discovery excludes those
120
+ binaries even when an active virtual environment puts them on `PATH`.
121
+ Without a separate global server, the tool reports an error instead of
122
+ starting the skipped binary.
123
+
124
+ Server discovery does not select the Python interpreter used for
125
+ analysis. Configure the server's interpreter or virtual environment
126
+ settings separately when needed.
127
+
128
+ ### Project-local binary trust
129
+
130
+ Project-local binaries in `node_modules/.bin` and Python `.venv`
131
+ folders are untrusted by default because they can execute
92
132
  repo-controlled code. Interactive sessions prompt before starting a
93
133
  project-local binary; headless sessions fall back to the global `PATH`
94
134
  binary unless `MY_PI_LSP_PROJECT_BINARY=allow` or
95
135
  `MY_PI_LSP_PROJECT_BINARY=trust` is set. `/lsp status` shows the
96
136
  resolved binary path for running and idle servers.
97
137
 
138
+ An allow-once decision remains valid for the lifetime of the Pi
139
+ session, including after an idle language-server restart. Interactive
140
+ trust prompts follow tool cancellation and time out after 30 seconds,
141
+ returning a tool error instead of leaving the session indefinitely in
142
+ `Working`.
143
+
98
144
  Language servers receive a restricted child-process environment by
99
145
  default. Use `MY_PI_LSP_ENV_ALLOWLIST=NAME,OTHER_NAME` or the shared
100
146
  `MY_PI_CHILD_ENV_ALLOWLIST` to pass selected ambient variables
@@ -2,6 +2,7 @@ import type { ExtensionContext } from '@earendil-works/pi-coding-agent';
2
2
  import { type LspClientOptions, type LspDiagnostic, type LspDocumentSymbol, type LspHover, type LspLocation, type LspPosition } from './client.js';
3
3
  import { type LspToolErrorDetails } from './format.js';
4
4
  export declare const DEFAULT_LSP_IDLE_TIMEOUT_MS: number;
5
+ export declare const DEFAULT_LSP_TRUST_PROMPT_TIMEOUT_MS = 30000;
5
6
  export interface LspClientLike {
6
7
  start(): Promise<void>;
7
8
  stop(): Promise<void>;
@@ -47,6 +48,7 @@ export interface CreateLspServerManagerOptions {
47
48
  read_file?: (path: string) => Promise<string>;
48
49
  cwd?: () => string;
49
50
  idle_timeout_ms?: number;
51
+ trust_prompt_timeout_ms?: number;
50
52
  }
51
53
  export declare class LspServerManager {
52
54
  #private;
@@ -56,6 +58,6 @@ export declare class LspServerManager {
56
58
  constructor(options?: CreateLspServerManagerOptions);
57
59
  resolve_abs(file: string): string;
58
60
  clear_language_state(language?: string): Promise<void>;
59
- resolve_file_state(file: string, ctx?: ExtensionContext): Promise<ResolveFileStateResult>;
61
+ resolve_file_state(file: string, ctx?: ExtensionContext, signal?: AbortSignal): Promise<ResolveFileStateResult>;
60
62
  release_file_state(file_state: FileState): Promise<void>;
61
63
  }
@@ -7,17 +7,36 @@ import { detect_language, find_workspace_root, get_server_config, language_id_fo
7
7
  import { create_lsp_binary_trust_subject, default_lsp_trust_store_path, is_lsp_binary_trusted, } from './trust.js';
8
8
  const LSP_PROJECT_BINARY_ENV = 'MY_PI_LSP_PROJECT_BINARY';
9
9
  export const DEFAULT_LSP_IDLE_TIMEOUT_MS = 5 * 60 * 1000;
10
+ export const DEFAULT_LSP_TRUST_PROMPT_TIMEOUT_MS = 30_000;
10
11
  class LspStartupCancelledError extends Error {
11
12
  constructor(language, workspace_root) {
12
13
  super(`Startup cancelled for ${language} LSP in ${workspace_root}`);
13
14
  this.name = 'LspStartupCancelledError';
14
15
  }
15
16
  }
16
- async function should_use_project_lsp_binary(server_config, ctx) {
17
+ function throw_if_aborted(signal) {
18
+ if (!signal?.aborted)
19
+ return;
20
+ if (signal.reason instanceof Error)
21
+ throw signal.reason;
22
+ throw new Error('LSP startup cancelled');
23
+ }
24
+ async function should_use_project_lsp_binary(server_config, session_allowed_binaries, trust_prompt_timeout_ms, ctx, signal) {
17
25
  if (!server_config.is_project_local)
18
26
  return true;
19
- if (is_lsp_binary_trusted(server_config.command))
27
+ if (is_lsp_binary_trusted(server_config.command) ||
28
+ session_allowed_binaries.has(server_config.command)) {
20
29
  return true;
30
+ }
31
+ throw_if_aborted(signal);
32
+ const timeout_controller = new AbortController();
33
+ const timeout = setTimeout(() => {
34
+ timeout_controller.abort(new Error(`LSP binary trust prompt timed out after ${trust_prompt_timeout_ms}ms`));
35
+ }, trust_prompt_timeout_ms);
36
+ timeout.unref?.();
37
+ const prompt_signal = signal
38
+ ? AbortSignal.any([signal, timeout_controller.signal])
39
+ : timeout_controller.signal;
21
40
  const subject = {
22
41
  ...create_lsp_binary_trust_subject(server_config.command),
23
42
  prompt_title: 'Project-local language server binaries can execute code.\nTrust this LSP binary?',
@@ -27,17 +46,28 @@ async function should_use_project_lsp_binary(server_config, ctx) {
27
46
  ],
28
47
  headless_warning: `Skipping untrusted project-local LSP binary: ${server_config.command}. Set ${LSP_PROJECT_BINARY_ENV}=allow to enable it for this run.`,
29
48
  };
30
- const decision = await resolve_project_trust(subject, {
31
- env: process.env,
32
- has_ui: ctx?.hasUI,
33
- select: ctx?.hasUI
34
- ? async (message, choices) => (await ctx.ui.select(message, choices)) ?? ''
35
- : undefined,
36
- warn: console.warn,
37
- trust_store_path: default_lsp_trust_store_path(),
38
- });
39
- return (decision.action === 'allow-once' ||
40
- decision.action === 'trust-persisted');
49
+ try {
50
+ const decision = await resolve_project_trust(subject, {
51
+ env: process.env,
52
+ has_ui: ctx?.hasUI,
53
+ select: ctx?.hasUI
54
+ ? async (message, choices) => (await ctx.ui.select(message, choices, {
55
+ signal: prompt_signal,
56
+ })) ?? ''
57
+ : undefined,
58
+ warn: console.warn,
59
+ trust_store_path: default_lsp_trust_store_path(),
60
+ });
61
+ throw_if_aborted(prompt_signal);
62
+ if (decision.action === 'allow-once') {
63
+ session_allowed_binaries.add(server_config.command);
64
+ }
65
+ return (decision.action === 'allow-once' ||
66
+ decision.action === 'trust-persisted');
67
+ }
68
+ finally {
69
+ clearTimeout(timeout);
70
+ }
41
71
  }
42
72
  export class LspServerManager {
43
73
  cwd;
@@ -46,7 +76,9 @@ export class LspServerManager {
46
76
  #create_client;
47
77
  #read_file;
48
78
  #starting_servers = new Map();
79
+ #session_allowed_binaries = new Set();
49
80
  #idle_timeout_ms;
81
+ #trust_prompt_timeout_ms;
50
82
  constructor(options = {}) {
51
83
  this.cwd = options.cwd?.() ?? process.cwd();
52
84
  this.#create_client =
@@ -64,6 +96,9 @@ export class LspServerManager {
64
96
  Number.isFinite(idle_timeout_ms) && idle_timeout_ms > 0
65
97
  ? idle_timeout_ms
66
98
  : undefined;
99
+ this.#trust_prompt_timeout_ms =
100
+ options.trust_prompt_timeout_ms ??
101
+ DEFAULT_LSP_TRUST_PROMPT_TIMEOUT_MS;
67
102
  }
68
103
  resolve_abs(file) {
69
104
  return isAbsolute(file) ? file : resolve(this.cwd, file);
@@ -96,10 +131,10 @@ export class LspServerManager {
96
131
  }
97
132
  }
98
133
  }
99
- async resolve_file_state(file, ctx) {
134
+ async resolve_file_state(file, ctx, signal) {
100
135
  const abs = this.resolve_abs(file);
101
136
  try {
102
- const result = await this.#get_file_state(abs, ctx);
137
+ const result = await this.#get_file_state(abs, ctx, signal);
103
138
  if (!result) {
104
139
  return {
105
140
  ok: false,
@@ -140,9 +175,9 @@ export class LspServerManager {
140
175
  state.last_used_at = Date.now();
141
176
  this.#schedule_idle_stop(state);
142
177
  }
143
- async #get_file_state(file, ctx) {
178
+ async #get_file_state(file, ctx, signal) {
144
179
  const abs = this.resolve_abs(file);
145
- const state = await this.#get_or_start_client(abs, ctx);
180
+ const state = await this.#get_or_start_client(abs, ctx, signal);
146
181
  if (!state)
147
182
  return undefined;
148
183
  this.#clear_idle_timer(state);
@@ -158,7 +193,7 @@ export class LspServerManager {
158
193
  throw error;
159
194
  }
160
195
  }
161
- async #get_or_start_client(file_path, ctx) {
196
+ async #get_or_start_client(file_path, ctx, signal) {
162
197
  const language = detect_language(file_path);
163
198
  if (!language)
164
199
  return undefined;
@@ -184,8 +219,10 @@ export class LspServerManager {
184
219
  if (!server_config)
185
220
  return undefined;
186
221
  if (server_config.is_project_local &&
187
- !(await should_use_project_lsp_binary(server_config, ctx))) {
188
- server_config = get_server_config(language, '/');
222
+ !(await should_use_project_lsp_binary(server_config, this.#session_allowed_binaries, this.#trust_prompt_timeout_ms, ctx, signal))) {
223
+ server_config = get_server_config(language, workspace_root, {
224
+ allow_project_local: false,
225
+ });
189
226
  if (!server_config)
190
227
  return undefined;
191
228
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server-manager.js","sourceRoot":"","sources":["../src/server-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-manager.js","sourceRoot":"","sources":["../src/server-manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EACN,gBAAgB,EAChB,SAAS,GAOT,MAAM,aAAa,CAAC;AACrB,OAAO,EACN,YAAY,EACZ,iBAAiB,GAEjB,MAAM,aAAa,CAAC;AACrB,OAAO,EACN,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,GAEpB,MAAM,cAAc,CAAC;AACtB,OAAO,EACN,+BAA+B,EAC/B,4BAA4B,EAC5B,qBAAqB,GACrB,MAAM,YAAY,CAAC;AAEpB,MAAM,sBAAsB,GAAG,0BAA0B,CAAC;AAC1D,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AACzD,MAAM,CAAC,MAAM,mCAAmC,GAAG,MAAM,CAAC;AAiE1D,MAAM,wBAAyB,SAAQ,KAAK;IAC3C,YAAY,QAAgB,EAAE,cAAsB;QACnD,KAAK,CACJ,yBAAyB,QAAQ,WAAW,cAAc,EAAE,CAC5D,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACxC,CAAC;CACD;AAED,SAAS,gBAAgB,CAAC,MAAoB;IAC7C,IAAI,CAAC,MAAM,EAAE,OAAO;QAAE,OAAO;IAC7B,IAAI,MAAM,CAAC,MAAM,YAAY,KAAK;QAAE,MAAM,MAAM,CAAC,MAAM,CAAC;IACxD,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;AAC1C,CAAC;AAED,KAAK,UAAU,6BAA6B,CAC3C,aAA8B,EAC9B,wBAAqC,EACrC,uBAA+B,EAC/B,GAAsB,EACtB,MAAoB;IAEpB,IAAI,CAAC,aAAa,CAAC,gBAAgB;QAAE,OAAO,IAAI,CAAC;IACjD,IACC,qBAAqB,CAAC,aAAa,CAAC,OAAO,CAAC;QAC5C,wBAAwB,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,EAClD,CAAC;QACF,OAAO,IAAI,CAAC;IACb,CAAC;IACD,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAEzB,MAAM,kBAAkB,GAAG,IAAI,eAAe,EAAE,CAAC;IACjD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;QAC/B,kBAAkB,CAAC,KAAK,CACvB,IAAI,KAAK,CACR,2CAA2C,uBAAuB,IAAI,CACtE,CACD,CAAC;IACH,CAAC,EAAE,uBAAuB,CAAC,CAAC;IAC5B,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;IAClB,MAAM,aAAa,GAAG,MAAM;QAC3B,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACtD,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC;IAE7B,MAAM,OAAO,GAAG;QACf,GAAG,+BAA+B,CAAC,aAAa,CAAC,OAAO,CAAC;QACzD,YAAY,EACX,kFAAkF;QACnF,aAAa,EAAE;YACd,aAAa,aAAa,CAAC,QAAQ,EAAE;YACrC,WAAW,aAAa,CAAC,OAAO,EAAE;SAClC;QACD,gBAAgB,EAAE,gDAAgD,aAAa,CAAC,OAAO,SAAS,sBAAsB,mCAAmC;KACzJ,CAAC;IACF,IAAI,CAAC;QACJ,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE;YACrD,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,MAAM,EAAE,GAAG,EAAE,KAAK;YAClB,MAAM,EAAE,GAAG,EAAE,KAAK;gBACjB,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAC3B,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE;oBACtC,MAAM,EAAE,aAAa;iBACrB,CAAC,CAAC,IAAI,EAAE;gBACX,CAAC,CAAC,SAAS;YACZ,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,gBAAgB,EAAE,4BAA4B,EAAE;SAChD,CAAC,CAAC;QACH,gBAAgB,CAAC,aAAa,CAAC,CAAC;QAChC,IAAI,QAAQ,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;YACtC,wBAAwB,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,CACN,QAAQ,CAAC,MAAM,KAAK,YAAY;YAChC,QAAQ,CAAC,MAAM,KAAK,iBAAiB,CACrC,CAAC;IACH,CAAC;YAAS,CAAC;QACV,YAAY,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;AACF,CAAC;AAED,MAAM,OAAO,gBAAgB;IACnB,GAAG,CAAS;IACZ,iBAAiB,GAAG,IAAI,GAAG,EAAuB,CAAC;IACnD,cAAc,GAAG,IAAI,GAAG,EAA+B,CAAC;IAExD,cAAc,CAEJ;IACV,UAAU,CAAoC;IAC9C,iBAAiB,GAAG,IAAI,GAAG,EAA+B,CAAC;IAC3D,yBAAyB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9C,gBAAgB,CAAU;IAC1B,wBAAwB,CAAS;IAE1C,YAAY,OAAO,GAAkC,EAAE;QACtD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAC5C,IAAI,CAAC,cAAc;YAClB,OAAO,CAAC,aAAa;gBACrB,CAAC,CAAC,cAAgC,EAAE,EAAE,CACrC,IAAI,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,UAAU;YACd,OAAO,CAAC,SAAS;gBACjB,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QAC7C,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;QAC/D,MAAM,eAAe,GACpB,OAAO,CAAC,eAAe;YACvB,CAAC,gBAAgB,KAAK,SAAS;gBAC9B,CAAC,CAAC,2BAA2B;gBAC7B,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,gBAAgB;YACpB,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,eAAe,GAAG,CAAC;gBACtD,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,CAAC,wBAAwB;YAC5B,OAAO,CAAC,uBAAuB;gBAC/B,mCAAmC,CAAC;IACtC,CAAC;IAED,WAAW,CAAC,IAAY;QACvB,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,QAAiB;QAC3C,MAAM,MAAM,GAAG,QAAQ;YACtB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CACnD,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAC1C;YACF,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,QAAQ;YACxB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAC9D,GAAG,CAAC,UAAU,CAAC,GAAG,QAAQ,QAAQ,CAAC,CACnC;YACF,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC;QAChD,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,QAAQ,EAAE,CAAC;YACvC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,OAAO,CAAC,UAAU,CACvB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE;YACxB,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAC9B,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC5B,CAAC,CAAC,CACF,CAAC;QACF,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;YAC5B,OAAO;QACR,CAAC;QACD,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5D,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACnC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjC,CAAC;QACF,CAAC;IACF,CAAC;IAED,KAAK,CAAC,kBAAkB,CACvB,IAAY,EACZ,GAAsB,EACtB,MAAoB;QAEpB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;YAC5D,IAAI,CAAC,MAAM,EAAE,CAAC;gBACb,OAAO;oBACN,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE;wBACN,IAAI,EAAE,sBAAsB;wBAC5B,IAAI,EAAE,GAAG;wBACT,OAAO,EAAE,qCAAqC,GAAG,EAAE;qBACnD;iBACD,CAAC;YACH,CAAC;YACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;gBACnC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;YAC5C,CAAC;YACD,OAAO;gBACN,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE;oBACN,IAAI,EAAE,uBAAuB;oBAC7B,IAAI,EAAE,GAAG;oBACT,OAAO,EACN,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBACvD;aACD,CAAC;QACH,CAAC;IACF,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,UAAqB;QAC7C,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC;QAClC,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YAChB,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjC,MAAM,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACP,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QAC1C,CAAC;QACD,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC,GAAG,CACpC,CAAC,EACD,KAAK,CAAC,oBAAoB,GAAG,CAAC,CAC9B,CAAC;QACF,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,eAAe,CACpB,IAAY,EACZ,GAAsB,EACtB,MAAoB;QAEpB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QAChE,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC9B,KAAK,CAAC,oBAAoB,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC9C,KAAK,CAAC,cAAc,CAAC,GAAG,CACvB,GAAG,EACH,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CACxC,CAAC;YACF,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC,GAAG,CACpC,CAAC,EACD,KAAK,CAAC,oBAAoB,GAAG,CAAC,CAC9B,CAAC;YACF,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAChC,MAAM,KAAK,CAAC;QACb,CAAC;IACF,CAAC;IAED,KAAK,CAAC,oBAAoB,CACzB,SAAiB,EACjB,GAAsB,EACtB,MAAoB;QAEpB,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ;YAAE,OAAO,SAAS,CAAC;QAChC,MAAM,cAAc,GAAG,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAChE,MAAM,GAAG,GAAG,GAAG,QAAQ,SAAS,cAAc,EAAE,CAAC;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClD,IAAI,SAAS;YAAE,OAAO,SAAS,CAAC,OAAO,CAAC;QAExC,MAAM,OAAO,GAAwB;YACpC,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,OAAO,CAAC,OAAO,CAA0B,SAAS,CAAC;SAC5D,CAAC;QACF,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACzC,MAAM,aAAa,GAAG,CAAC,KAAK,IAAI,EAAE;YACjC,IAAI,aAAa,GAAG,iBAAiB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;YAChE,IAAI,CAAC,aAAa;gBAAE,OAAO,SAAS,CAAC;YACrC,IACC,aAAa,CAAC,gBAAgB;gBAC9B,CAAC,CAAC,MAAM,6BAA6B,CACpC,aAAa,EACb,IAAI,CAAC,yBAAyB,EAC9B,IAAI,CAAC,wBAAwB,EAC7B,GAAG,EACH,MAAM,CACN,CAAC,EACD,CAAC;gBACF,aAAa,GAAG,iBAAiB,CAAC,QAAQ,EAAE,cAAc,EAAE;oBAC3D,mBAAmB,EAAE,KAAK;iBAC1B,CAAC,CAAC;gBACH,IAAI,CAAC,aAAa;oBAAE,OAAO,SAAS,CAAC;YACtC,CAAC;YACD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;gBAClC,OAAO,EAAE,aAAa,CAAC,OAAO;gBAC9B,IAAI,EAAE,aAAa,CAAC,IAAI;gBACxB,QAAQ;gBACR,mBAAmB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAC;aACvD,CAAC,CAAC;YAEH,IAAI,CAAC;gBACJ,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACtB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;oBACvB,MAAM,IAAI,wBAAwB,CACjC,QAAQ,EACR,cAAc,CACd,CAAC;gBACH,CAAC;gBACD,MAAM,OAAO,GAAG,iBAAiB,CAChC,SAAS,EACT,QAAQ,EACR,cAAc,EACd,aAAa,CAAC,OAAO,EACrB,aAAa,CAAC,YAAY,EAC1B,KAAK,CACL,CAAC;gBACF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBACtC,MAAM,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;YACjC,CAAC;YAED,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACvB,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC1C,MAAM,IAAI,wBAAwB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;YAC9D,CAAC;YAED,MAAM,KAAK,GAAgB;gBAC1B,MAAM;gBACN,GAAG;gBACH,QAAQ;gBACR,cAAc;gBACd,QAAQ;gBACR,OAAO,EAAE,aAAa,CAAC,OAAO;gBAC9B,IAAI,EAAE,aAAa,CAAC,IAAI;gBACxB,OAAO,EAAE,aAAa,CAAC,OAAO;gBAC9B,YAAY,EAAE,aAAa,CAAC,YAAY;gBACxC,oBAAoB,EAAE,CAAC;gBACvB,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE;gBACxB,cAAc,EAAE,IAAI,GAAG,EAAE;aACzB,CAAC;YACF,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACvC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChC,OAAO,KAAK,CAAC;QACd,CAAC,CAAC,EAAE,CAAC;QAEL,OAAO,CAAC,OAAO,GAAG,aAAa,CAAC;QAChC,IAAI,CAAC;YACJ,OAAO,MAAM,aAAa,CAAC;QAC5B,CAAC;gBAAS,CAAC;YACV,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC;gBACjD,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACpC,CAAC;QACF,CAAC;IACF,CAAC;IAED,KAAK,CAAC,UAAU,CACf,KAAkB,EAClB,QAAgB;QAEhB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,GAAG,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,KAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACnD,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,iBAAiB,CAAC,KAAkB;QACnC,IAAI,CAAC,KAAK,CAAC,UAAU;YAAE,OAAO;QAC9B,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/B,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;IAC9B,CAAC;IAED,mBAAmB,CAAC,KAAkB;QACrC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,OAAO;QACnC,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE;YAClC,IACC,KAAK,CAAC,oBAAoB,GAAG,CAAC;gBAC9B,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC;oBACrC,IAAI,CAAC,gBAAiB,EACtB,CAAC;gBACF,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBAChC,OAAO;YACR,CAAC;YACD,KAAK,CAAC,KAAK,IAAI,EAAE;gBAChB,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBAC9B,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC1B,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC1C,CAAC,CAAC,EAAE,CAAC;QACN,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC1B,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC;IAC5B,CAAC;CACD"}
package/dist/servers.d.ts CHANGED
@@ -16,6 +16,8 @@ export declare function resolve_server_command_info(command: string, cwd?: strin
16
16
  export declare function resolve_server_command(command: string, cwd?: string): string;
17
17
  export declare function get_server_config(language: string, cwd?: string, options?: {
18
18
  global_typescript_major?: () => number | undefined;
19
+ env?: NodeJS.ProcessEnv;
20
+ allow_project_local?: boolean;
19
21
  }): LspServerConfig | undefined;
20
22
  export declare function language_id_for_file(file_path: string): string | undefined;
21
23
  export declare function find_workspace_root(file_path: string, fallback?: string): string;
package/dist/servers.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { spawnSync } from 'node:child_process';
2
- import { existsSync, readFileSync } from 'node:fs';
3
- import { dirname, extname, isAbsolute, join, resolve, } from 'node:path';
2
+ import { accessSync, constants, existsSync, readFileSync, realpathSync, statSync, } from 'node:fs';
3
+ import { delimiter, dirname, extname, isAbsolute, join, resolve, } from 'node:path';
4
4
  const EXTENSION_LANGUAGES = {
5
5
  '.ts': 'typescript',
6
6
  '.tsx': 'typescript',
@@ -119,11 +119,17 @@ export function get_server_config(language, cwd = process.cwd(), options = {}) {
119
119
  const base = LANGUAGE_SERVERS[language];
120
120
  if (!base)
121
121
  return undefined;
122
+ const allow_project_local = options.allow_project_local ?? true;
123
+ if (language === 'python') {
124
+ return resolve_python_server(cwd, options.env, allow_project_local);
125
+ }
122
126
  if (language === 'typescript') {
123
- const native = resolve_native_typescript_server(cwd);
127
+ const native = allow_project_local
128
+ ? resolve_native_typescript_server(cwd)
129
+ : undefined;
124
130
  if (native)
125
131
  return native;
126
- if (!has_project_typescript(cwd)) {
132
+ if (!allow_project_local || !has_project_typescript(cwd)) {
127
133
  const global_major = options.global_typescript_major?.() ??
128
134
  resolve_global_typescript_major();
129
135
  if (global_major !== undefined && global_major >= 7) {
@@ -138,7 +144,9 @@ export function get_server_config(language, cwd = process.cwd(), options = {}) {
138
144
  }
139
145
  }
140
146
  }
141
- const resolved = resolve_server_command_info(base.command, cwd);
147
+ const resolved = allow_project_local
148
+ ? resolve_server_command_info(base.command, cwd)
149
+ : { command: base.command, is_project_local: false };
142
150
  return {
143
151
  ...base,
144
152
  command: resolved.command,
@@ -227,4 +235,120 @@ function resolve_local_binary(directory, command) {
227
235
  ];
228
236
  return candidates.find((candidate) => existsSync(candidate));
229
237
  }
238
+ const PYTHON_SERVER_ENV = 'MY_PI_LSP_PYTHON_SERVER';
239
+ const PYTHON_SERVERS = {
240
+ pylsp: {
241
+ command: 'pylsp',
242
+ args: [],
243
+ install_hint: 'Install Python LSP with: pip install python-lsp-server',
244
+ },
245
+ basedpyright: {
246
+ command: 'basedpyright-langserver',
247
+ args: ['--stdio'],
248
+ install_hint: 'Install Basedpyright with: pip install basedpyright',
249
+ },
250
+ pyright: {
251
+ command: 'pyright-langserver',
252
+ args: ['--stdio'],
253
+ install_hint: 'Install Pyright with: pip install pyright',
254
+ },
255
+ };
256
+ const TYPE_CHECKING_SERVERS = [
257
+ 'basedpyright',
258
+ 'pyright',
259
+ ];
260
+ function resolve_python_server(cwd, env = process.env, allow_project_local = true) {
261
+ const selection = env[PYTHON_SERVER_ENV]?.trim() || 'auto';
262
+ if (selection !== 'auto') {
263
+ if (!Object.hasOwn(PYTHON_SERVERS, selection)) {
264
+ throw new Error(`${PYTHON_SERVER_ENV} must be auto, pylsp, basedpyright, or pyright (received ${JSON.stringify(selection)}).`);
265
+ }
266
+ const backend = selection;
267
+ const config = (allow_project_local && find_local_server(cwd, [backend])) ||
268
+ find_path_server(cwd, env, [backend], allow_project_local);
269
+ if (config)
270
+ return config;
271
+ if (!allow_project_local) {
272
+ throw new Error(`No ${backend} server on PATH outside the project. ${PYTHON_SERVERS[backend].install_hint}`);
273
+ }
274
+ return server_config(backend);
275
+ }
276
+ // Keep an existing pylsp setup, including its plugins, unchanged.
277
+ const config = (allow_project_local && find_local_server(cwd, ['pylsp'])) ||
278
+ find_path_server(cwd, env, ['pylsp'], allow_project_local) ||
279
+ (allow_project_local &&
280
+ find_local_server(cwd, TYPE_CHECKING_SERVERS)) ||
281
+ find_path_server(cwd, env, TYPE_CHECKING_SERVERS, allow_project_local);
282
+ if (config)
283
+ return config;
284
+ if (!allow_project_local) {
285
+ throw new Error(`No Python language server on PATH outside the project. ${PYTHON_SERVERS.pylsp.install_hint}`);
286
+ }
287
+ return server_config('pylsp');
288
+ }
289
+ function server_config(backend, command = PYTHON_SERVERS[backend].command, is_project_local = false) {
290
+ return {
291
+ language: 'python',
292
+ ...PYTHON_SERVERS[backend],
293
+ args: [...PYTHON_SERVERS[backend].args],
294
+ command,
295
+ backend,
296
+ is_project_local,
297
+ };
298
+ }
299
+ function find_local_server(cwd, backends) {
300
+ for (const directory of ancestor_directories(cwd)) {
301
+ for (const backend of backends) {
302
+ for (const bin_directory of python_bin_directories(directory)) {
303
+ const command = find_executable(bin_directory, PYTHON_SERVERS[backend].command);
304
+ if (command)
305
+ return server_config(backend, command, true);
306
+ }
307
+ }
308
+ }
309
+ return undefined;
310
+ }
311
+ function find_path_server(cwd, env, backends, allow_project_local) {
312
+ for (const backend of backends) {
313
+ for (const directory of (env.PATH ?? '')
314
+ .split(delimiter)
315
+ .filter(Boolean)) {
316
+ const command = find_executable(directory, PYTHON_SERVERS[backend].command);
317
+ if (!command)
318
+ continue;
319
+ const is_project_local = ancestor_directories(cwd).some((directory) => python_bin_directories(directory).some((bin_directory) => {
320
+ const local = find_executable(bin_directory, PYTHON_SERVERS[backend].command);
321
+ return (local !== undefined &&
322
+ realpathSync(local) === realpathSync(command));
323
+ }));
324
+ if (is_project_local && !allow_project_local)
325
+ continue;
326
+ return server_config(backend, command, is_project_local);
327
+ }
328
+ }
329
+ return undefined;
330
+ }
331
+ function python_bin_directories(directory) {
332
+ return [
333
+ join(directory, '.venv', process.platform === 'win32' ? 'Scripts' : 'bin'),
334
+ join(directory, 'node_modules', '.bin'),
335
+ ];
336
+ }
337
+ function find_executable(directory, command) {
338
+ // Windows shell wrappers cannot be launched by the client's shell-free spawn.
339
+ const extensions = process.platform === 'win32' ? ['.exe', ''] : [''];
340
+ for (const extension of extensions) {
341
+ const path = resolve(directory, command + extension);
342
+ try {
343
+ if (!statSync(path).isFile())
344
+ continue;
345
+ accessSync(path, constants.X_OK);
346
+ return path;
347
+ }
348
+ catch {
349
+ // Missing, broken, or non-executable candidates must not block discovery.
350
+ }
351
+ }
352
+ return undefined;
353
+ }
230
354
  //# sourceMappingURL=servers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"servers.js","sourceRoot":"","sources":["../src/servers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EACN,OAAO,EACP,OAAO,EACP,UAAU,EACV,IAAI,EACJ,OAAO,GACP,MAAM,WAAW,CAAC;AAWnB,MAAM,mBAAmB,GAA2B;IACnD,KAAK,EAAE,YAAY;IACnB,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,YAAY;IACpB,KAAK,EAAE,YAAY;IACnB,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,YAAY;IACpB,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,MAAM;IACb,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,MAAM;IACb,OAAO,EAAE,MAAM;IACf,MAAM,EAAE,KAAK;IACb,SAAS,EAAE,QAAQ;CACnB,CAAC;AAEF,MAAM,gBAAgB,GAAoC;IACzD,UAAU,EAAE;QACX,QAAQ,EAAE,YAAY;QACtB,OAAO,EAAE,4BAA4B;QACrC,IAAI,EAAE,CAAC,SAAS,CAAC;QACjB,OAAO,EAAE,4BAA4B;QACrC,YAAY,EACX,gFAAgF;KACjF;IACD,MAAM,EAAE;QACP,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,EAAE;QACR,YAAY,EACX,wDAAwD;KACzD;IACD,IAAI,EAAE;QACL,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,eAAe;QACxB,IAAI,EAAE,EAAE;QACR,YAAY,EACX,uEAAuE;KACxE;IACD,EAAE,EAAE;QACH,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,CAAC,OAAO,CAAC;QACf,YAAY,EACX,iEAAiE;KAClE;IACD,IAAI,EAAE;QACL,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,YAAY;QACrB,IAAI,EAAE,CAAC,OAAO,CAAC;QACf,YAAY,EAAE,+CAA+C;KAC7D;IACD,IAAI,EAAE;QACL,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,EAAE;QACR,YAAY,EACX,6EAA6E;KAC9E;IACD,GAAG,EAAE;QACJ,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,qBAAqB;QAC9B,IAAI,EAAE,EAAE;QACR,YAAY,EACX,uEAAuE;KACxE;IACD,MAAM,EAAE;QACP,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,cAAc;QACvB,IAAI,EAAE,CAAC,SAAS,CAAC;QACjB,YAAY,EACX,uGAAuG;KACxG;CACD,CAAC;AAEF,MAAM,iBAAiB,GAAG;IACzB,kBAAkB;IAClB,kBAAkB;IAClB,eAAe;IACf,eAAe;IACf,cAAc;IACd,gBAAgB;IAChB,YAAY;IACZ,QAAQ;IACR,SAAS;IACT,SAAS;IACT,cAAc;IACd,kBAAkB;CAClB,CAAC;AAEF,MAAM,kBAAkB,GAAG;IAC1B,qBAAqB;IACrB,mBAAmB;IACnB,WAAW;IACX,WAAW;IACX,UAAU;IACV,MAAM;CACN,CAAC;AAEF,MAAM,UAAU,eAAe,CAC9B,SAAiB;IAEjB,OAAO,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,wBAAwB;IACvC,OAAO,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAC;AAC7C,CAAC;AAOD,MAAM,UAAU,2BAA2B,CAC1C,OAAe,EACf,GAAG,GAAW,OAAO,CAAC,GAAG,EAAE;IAE3B,IACC,CAAC,OAAO;QACR,UAAU,CAAC,OAAO,CAAC;QACnB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;QACrB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EACrB,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;IAC7C,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7C,MAAM,SAAS,GAAG,oBAAoB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACrD,IAAI,SAAS,EAAE,CAAC;YACf,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;QACvD,CAAC;IACF,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,sBAAsB,CACrC,OAAe,EACf,GAAG,GAAW,OAAO,CAAC,GAAG,EAAE;IAE3B,OAAO,2BAA2B,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAChC,QAAgB,EAChB,GAAG,GAAW,OAAO,CAAC,GAAG,EAAE,EAC3B,OAAO,GAEH,EAAE;IAEN,MAAM,IAAI,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACxC,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,gCAAgC,CAAC,GAAG,CAAC,CAAC;QACrD,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAC1B,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,YAAY,GACjB,OAAO,CAAC,uBAAuB,EAAE,EAAE;gBACnC,+BAA+B,EAAE,CAAC;YACnC,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;gBACrD,OAAO;oBACN,QAAQ,EAAE,YAAY;oBACtB,OAAO,EAAE,KAAK;oBACd,IAAI,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;oBAC1B,OAAO,EAAE,mBAAmB;oBAC5B,gBAAgB,EAAE,KAAK;oBACvB,YAAY,EACX,6DAA6D;iBAC9D,CAAC;YACH,CAAC;QACF,CAAC;IACF,CAAC;IACD,MAAM,QAAQ,GAAG,2BAA2B,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAChE,OAAO;QACN,GAAG,IAAI;QACP,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;KAC3C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CACnC,SAAiB;IAEjB,OAAO,eAAe,CAAC,SAAS,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAClC,SAAiB,EACjB,QAAQ,GAAW,OAAO,CAAC,GAAG,EAAE;IAEhC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IAC1C,MAAM,YAAY,GAAG,6BAA6B,CACjD,KAAK,EACL,iBAAiB,CACjB,CAAC;IACF,IAAI,YAAY;QAAE,OAAO,YAAY,CAAC;IAEtC,MAAM,SAAS,GAAG,6BAA6B,CAC9C,KAAK,EACL,kBAAkB,CAClB,CAAC;IACF,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC;IAEhC,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,6BAA6B,CACrC,KAAa,EACb,OAAiB;IAEjB,KAAK,MAAM,GAAG,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/C,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,OAAO,GAAG,CAAC;QACZ,CAAC;IACF,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IAC1C,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,IAAI,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnB,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,MAAM,KAAK,OAAO;YAAE,MAAM;QAC9B,OAAO,GAAG,MAAM,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAS,+BAA+B;IACvC,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,EAAE;QAC9C,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,IAAI;KACjB,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACpD,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1D,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAW;IAC1C,OAAO,oBAAoB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAC7C,UAAU,CACT,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,CAAC,CACvD,CACD,CAAC;AACH,CAAC;AAED,SAAS,gCAAgC,CACxC,GAAW;IAEX,KAAK,MAAM,GAAG,IAAI,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;QAC5D,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;YAAE,SAAS;QACpD,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAC1B,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAGlC,CAAC;YACF,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAC5B,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EACrC,EAAE,CACF,CAAC;YACF,IACC,KAAK,IAAI,CAAC;gBACV,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,EACnD,CAAC;gBACF,OAAO;oBACN,QAAQ,EAAE,YAAY;oBACtB,OAAO;oBACP,IAAI,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;oBAC1B,OAAO,EAAE,mBAAmB;oBAC5B,gBAAgB,EAAE,IAAI;oBACtB,YAAY,EACX,6FAA6F;iBAC9F,CAAC;YACH,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;YACR,SAAS;QACV,CAAC;IACF,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,oBAAoB,CAC5B,SAAiB,EACjB,OAAe;IAEf,MAAM,UAAU,GAAG;QAClB,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC;QAChD,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,OAAO,MAAM,CAAC;KACzD,CAAC;IACF,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;AAC9D,CAAC"}
1
+ {"version":3,"file":"servers.js","sourceRoot":"","sources":["../src/servers.ts"],"names":[],"mappings":"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"}
package/dist/tools.js CHANGED
@@ -29,8 +29,8 @@ async function map_with_concurrency(items, concurrency, mapper) {
29
29
  }));
30
30
  return results;
31
31
  }
32
- async function with_file_state(manager, file, ctx, run) {
33
- const resolved = await manager.resolve_file_state(file, ctx);
32
+ async function with_file_state(manager, file, ctx, signal, run) {
33
+ const resolved = await manager.resolve_file_state(file, ctx, signal);
34
34
  if (!resolved.ok) {
35
35
  return make_tool_error(resolved.error);
36
36
  }
@@ -64,7 +64,7 @@ export function register_lsp_tools(pi, manager) {
64
64
  description: 'Max ms to wait for diagnostics after opening the file. Default 1500.',
65
65
  })),
66
66
  }),
67
- execute: async (_id, params, _signal, _on_update, ctx) => with_file_state(manager, params.file, ctx, async (result) => {
67
+ execute: async (_id, params, signal, _on_update, ctx) => with_file_state(manager, params.file, ctx, signal, async (result) => {
68
68
  const diagnostics = await result.state.client.wait_for_diagnostics(result.uri, params.wait_ms ?? 1500);
69
69
  return format_diagnostics(result.abs, diagnostics);
70
70
  }),
@@ -83,10 +83,10 @@ export function register_lsp_tools(pi, manager) {
83
83
  description: 'Max ms to wait for diagnostics after opening each file. Default 1500.',
84
84
  })),
85
85
  }),
86
- execute: async (_id, params, _signal, _on_update, ctx) => {
86
+ execute: async (_id, params, signal, _on_update, ctx) => {
87
87
  const wait_ms = params.wait_ms ?? 1500;
88
88
  const lines_with_stats = await map_with_concurrency(params.files, DIAGNOSTICS_MANY_CONCURRENCY, async (file) => {
89
- const resolved = await manager.resolve_file_state(file, ctx);
89
+ const resolved = await manager.resolve_file_state(file, ctx, signal);
90
90
  if (!resolved.ok) {
91
91
  return {
92
92
  line: format_tool_error(resolved.error),
@@ -164,7 +164,7 @@ export function register_lsp_tools(pi, manager) {
164
164
  description: 'Restrict matches to these symbol kinds.',
165
165
  })),
166
166
  }),
167
- execute: async (_id, params, _signal, _on_update, ctx) => with_file_state(manager, params.file, ctx, async (result) => {
167
+ execute: async (_id, params, signal, _on_update, ctx) => with_file_state(manager, params.file, ctx, signal, async (result) => {
168
168
  const symbols = await result.state.client.document_symbols(result.uri);
169
169
  return format_symbol_matches(result.abs, params.query, find_symbol_matches(symbols, params.query, {
170
170
  max_results: params.max_results ?? 20,
@@ -184,7 +184,7 @@ export function register_lsp_tools(pi, manager) {
184
184
  line: Type.Number(),
185
185
  character: Type.Number(),
186
186
  }, { additionalProperties: false }),
187
- execute: async (_id, params, _signal, _on_update, ctx) => with_file_state(manager, params.file, ctx, async (result) => {
187
+ execute: async (_id, params, signal, _on_update, ctx) => with_file_state(manager, params.file, ctx, signal, async (result) => {
188
188
  const hover = await result.state.client.hover(result.uri, {
189
189
  line: params.line,
190
190
  character: params.character,
@@ -202,7 +202,7 @@ export function register_lsp_tools(pi, manager) {
202
202
  line: Type.Number(),
203
203
  character: Type.Number(),
204
204
  }, { additionalProperties: false }),
205
- execute: async (_id, params, _signal, _on_update, ctx) => with_file_state(manager, params.file, ctx, async (result) => {
205
+ execute: async (_id, params, signal, _on_update, ctx) => with_file_state(manager, params.file, ctx, signal, async (result) => {
206
206
  const locations = await result.state.client.definition(result.uri, {
207
207
  line: params.line,
208
208
  character: params.character,
@@ -220,7 +220,7 @@ export function register_lsp_tools(pi, manager) {
220
220
  character: Type.Number(),
221
221
  include_declaration: Type.Optional(Type.Boolean()),
222
222
  }),
223
- execute: async (_id, params, _signal, _on_update, ctx) => with_file_state(manager, params.file, ctx, async (result) => {
223
+ execute: async (_id, params, signal, _on_update, ctx) => with_file_state(manager, params.file, ctx, signal, async (result) => {
224
224
  const locations = await result.state.client.references(result.uri, {
225
225
  line: params.line,
226
226
  character: params.character,
@@ -236,7 +236,7 @@ export function register_lsp_tools(pi, manager) {
236
236
  parameters: Type.Object({
237
237
  file: Type.String(),
238
238
  }, { additionalProperties: false }),
239
- execute: async (_id, params, _signal, _on_update, ctx) => with_file_state(manager, params.file, ctx, async (result) => {
239
+ execute: async (_id, params, signal, _on_update, ctx) => with_file_state(manager, params.file, ctx, signal, async (result) => {
240
240
  const symbols = await result.state.client.document_symbols(result.uri);
241
241
  return format_document_symbols(result.abs, symbols);
242
242
  }),
package/dist/tools.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spences10/pi-lsp",
3
- "version": "0.0.46",
3
+ "version": "0.0.48",
4
4
  "description": "Language Server Protocol tools for Pi agents to inspect diagnostics, hovers, definitions, references, and symbols",
5
5
  "keywords": [
6
6
  "language-server",
@@ -38,10 +38,10 @@
38
38
  "@spences10/pi-tui-modal": "0.0.24"
39
39
  },
40
40
  "devDependencies": {
41
- "@earendil-works/pi-coding-agent": "0.84.2",
41
+ "@earendil-works/pi-coding-agent": "0.99.2",
42
42
  "@types/node": "^25.8.0",
43
43
  "typescript": "^7.0.0",
44
- "vitest": "4.1.11"
44
+ "vite-plus": "1.0.0"
45
45
  },
46
46
  "peerDependencies": {
47
47
  "@earendil-works/pi-coding-agent": "*",
@@ -62,8 +62,8 @@
62
62
  "check": "pnpm --filter \"$npm_package_name^...\" run build:self && pnpm run check:self",
63
63
  "check:self": "vp exec tsc --noEmit -p tsconfig.json",
64
64
  "test": "pnpm --filter \"$npm_package_name^...\" run build:self && pnpm run test:self",
65
- "test:self": "vp exec vitest run",
66
- "coverage:self": "vp exec vitest run --coverage",
65
+ "test:self": "vp test run",
66
+ "coverage:self": "vp test run --coverage",
67
67
  "coverage": "pnpm --filter \"$npm_package_name^...\" run build:self && pnpm run coverage:self"
68
68
  }
69
69
  }