@lsproxy/cli 0.4.7 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.d.ts CHANGED
@@ -27,4 +27,11 @@ export type ParsedOptionValues = {
27
27
  * silently skipping the index wait refactor requests depend on.
28
28
  */
29
29
  export declare function buildFlags(values: ParsedOptionValues): GlobalFlags;
30
+ /**
31
+ * Help-mode dispatch. Positionals after `--help` mean [language, namespace,
32
+ * request]. Depth 0 -> top-level language listing (config + live status);
33
+ * depth >= 1 -> connect to that language's server with indexWaitMs 0 and render
34
+ * the capability-filtered command tree at the requested level.
35
+ */
36
+ export declare function runHelp(positionals: string[], flags: GlobalFlags): Promise<void>;
30
37
  //# sourceMappingURL=cli.d.ts.map
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AASH,OAAO,EAAwB,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAwCjE,kDAAkD;AAClD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,kBAAkB,GAAG,WAAW,CAiBlE"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AASH,OAAO,EAAwB,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAqBjE,kDAAkD;AAClD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,kBAAkB,GAAG,WAAW,CAiBlE;AA0JD;;;;;GAKG;AACH,wBAAsB,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAgFtF"}
package/dist/cli.js CHANGED
@@ -14,31 +14,13 @@ import { realpathSync } from 'node:fs';
14
14
  import { fileURLToPath } from 'node:url';
15
15
  import { Command } from 'commander';
16
16
  import { fail, resolvePathArg } from './io.js';
17
- import { discoverServer } from '@lspeasy/core';
17
+ import { discoverServer, discoverServers, discoverServerByLanguageId } from '@lspeasy/core';
18
+ import { coldStatusReport } from '@lsproxy/proxy';
18
19
  import { RefactorSession } from './session.js';
19
- import { connectViaProxy } from './connect.js';
20
+ import { connectViaProxy, fetchDaemonStatus } from './connect.js';
20
21
  import { buildCommandTree } from './build-commands.js';
21
- const STATIC_HELP = `lsproxy LSP-driven CLI
22
-
23
- Usage:
24
- lsproxy <namespace> <command> [args]
25
- lsproxy call <method> --params <json>
26
-
27
- Available commands depend on the connected server's advertised capabilities.
28
- Run with a file argument to see available commands for that language:
29
- lsproxy textDocument hover --help src/foo.ts
30
-
31
- Global flags:
32
- --server <cmd> LSP server launch command (overrides lsp.json discovery)
33
- --root <dir> Project root (default: cwd)
34
- --dry-run Print changes; do not write
35
- --json Machine-readable JSON on stdout; diagnostics to stderr
36
- --wait <ms> Server index wait in ms (default: 15000)
37
- --verbose Progress logging to stderr
38
- --allow-outside-root Allow file paths outside --root
39
- --no-proxy Bypass proxy daemon; connect directly to language server
40
- -h, --help Show this help
41
- `;
22
+ import { createFormatter } from './format.js';
23
+ import { renderTopLevel, renderDrillDownText, drillDownJson } from './help.js';
42
24
  const GLOBAL_OPTION_CONFIG = {
43
25
  server: { type: 'string' },
44
26
  root: { type: 'string' },
@@ -82,8 +64,9 @@ async function main() {
82
64
  allowPositionals: true,
83
65
  strict: false
84
66
  });
85
- if (!positionals.length) {
86
- process.stdout.write(STATIC_HELP);
67
+ const helpMode = values.help === true;
68
+ if (helpMode || positionals.length === 0) {
69
+ await runHelp(positionals, buildFlags(values));
87
70
  exit(0);
88
71
  }
89
72
  const flags = buildFlags(values);
@@ -214,6 +197,86 @@ async function main() {
214
197
  await session.stop();
215
198
  }
216
199
  }
200
+ /**
201
+ * Help-mode dispatch. Positionals after `--help` mean [language, namespace,
202
+ * request]. Depth 0 -> top-level language listing (config + live status);
203
+ * depth >= 1 -> connect to that language's server with indexWaitMs 0 and render
204
+ * the capability-filtered command tree at the requested level.
205
+ */
206
+ export async function runHelp(positionals, flags) {
207
+ const [language, ...drillPath] = positionals;
208
+ if (!language) {
209
+ const live = await fetchDaemonStatus(flags.root);
210
+ const report = live ?? coldStatusReport(discoverServers(flags.root));
211
+ if (flags.json) {
212
+ process.stdout.write(JSON.stringify(report) + '\n');
213
+ }
214
+ else {
215
+ const color = process.stdout.isTTY === true && !process.env['NO_COLOR'];
216
+ process.stdout.write(renderTopLevel(report, createFormatter(color)));
217
+ }
218
+ return;
219
+ }
220
+ const discovered = flags.server
221
+ ? { serverCommand: flags.server, languageId: language }
222
+ : discoverServerByLanguageId(flags.root, language);
223
+ if (!discovered) {
224
+ const names = discoverServers(flags.root).flatMap((s) => Object.values(s.fileExtensions));
225
+ fail(`No server configured for language "${language}". Configured: ${[...new Set(names)].join(', ')}`, flags.json);
226
+ }
227
+ // Connecting (spawn + initialize) can fail when the server command is missing
228
+ // or crashes. In --json mode that failure must still produce a parseable
229
+ // { ok: false, error } on stdout, not a fatal text error from main().catch.
230
+ let session;
231
+ try {
232
+ session =
233
+ flags.noProxy || flags.server
234
+ ? new RefactorSession({
235
+ serverCommand: discovered.serverCommand,
236
+ languageId: discovered.languageId,
237
+ root: flags.root,
238
+ indexWaitMs: 0,
239
+ verbose: flags.verbose
240
+ })
241
+ : await connectViaProxy({
242
+ root: flags.root,
243
+ languageId: discovered.languageId,
244
+ indexWaitMs: 0,
245
+ verbose: flags.verbose
246
+ });
247
+ if (flags.noProxy || flags.server)
248
+ await session.start();
249
+ }
250
+ catch (err) {
251
+ // fail() emits { ok: false, error } on stdout for --json (and "error: …" on
252
+ // stderr otherwise), then exits 1 — the same machine-readable error contract
253
+ // as the unconfigured-language path and the `call` command.
254
+ fail(`Failed to start "${language}" language server: ${err instanceof Error ? err.message : String(err)}`, flags.json);
255
+ }
256
+ try {
257
+ const program = new Command('lsproxy');
258
+ buildCommandTree(program, session.capabilities, session, flags);
259
+ if (flags.json) {
260
+ const jsonResult = drillDownJson(program, language, drillPath);
261
+ process.stdout.write(JSON.stringify(jsonResult) + '\n');
262
+ if (jsonResult.ok === false) {
263
+ await session.stop();
264
+ exit(1);
265
+ }
266
+ }
267
+ else {
268
+ const { ok, text } = renderDrillDownText(program, drillPath);
269
+ process.stdout.write(text.endsWith('\n') ? text : text + '\n');
270
+ if (!ok) {
271
+ await session.stop();
272
+ exit(1);
273
+ }
274
+ }
275
+ }
276
+ finally {
277
+ await session.stop();
278
+ }
279
+ }
217
280
  /**
218
281
  * True when this module is the process entry point (vs. imported by a test).
219
282
  *
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/connect.d.ts CHANGED
@@ -1,4 +1,14 @@
1
+ import type { StatusReport } from '@lsproxy/proxy';
1
2
  import { RefactorSession } from './session.js';
3
+ /**
4
+ * Ask a running proxy daemon for its status. Returns null when no daemon is
5
+ * listening on the project's socket — callers fall back to a config-only view.
6
+ *
7
+ * NEVER rejects. Resolves to `null` for any failure: no socket, connect error,
8
+ * transport hang (waitForConnect included), request timeout, or any thrown
9
+ * exception. `transport.close()` is always called in a finally block.
10
+ */
11
+ export declare function fetchDaemonStatus(root: string): Promise<StatusReport | null>;
2
12
  export interface ConnectOptions {
3
13
  root: string;
4
14
  languageId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,eAAe,EAAuB,MAAM,cAAc,CAAC;AAmDpE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CA0BpF"}
1
+ {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAuB,MAAM,cAAc,CAAC;AAqDpE;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAyClF;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CA0BpF"}
package/dist/connect.js CHANGED
@@ -54,6 +54,56 @@ function spawnDaemon(root, sockPath) {
54
54
  child.unref();
55
55
  return logPath;
56
56
  }
57
+ const STATUS_TIMEOUT_MS = 2000;
58
+ /**
59
+ * Ask a running proxy daemon for its status. Returns null when no daemon is
60
+ * listening on the project's socket — callers fall back to a config-only view.
61
+ *
62
+ * NEVER rejects. Resolves to `null` for any failure: no socket, connect error,
63
+ * transport hang (waitForConnect included), request timeout, or any thrown
64
+ * exception. `transport.close()` is always called in a finally block.
65
+ */
66
+ export async function fetchDaemonStatus(root) {
67
+ const sockPath = socketPath(root);
68
+ if (!existsSync(sockPath) || !(await tryConnect(sockPath)))
69
+ return null;
70
+ const transport = new SocketTransport({ path: sockPath });
71
+ try {
72
+ // A deadline that resolves (not rejects) to null bounds the whole operation
73
+ // including waitForConnect(), so a wedged daemon cannot hang bare `lsproxy`.
74
+ const deadline = new Promise((resolve) => setTimeout(() => resolve(null), STATUS_TIMEOUT_MS));
75
+ const request = new Promise((resolve) => {
76
+ void (async () => {
77
+ try {
78
+ await transport.waitForConnect();
79
+ const sub = transport.onMessage((m) => {
80
+ const msg = m;
81
+ if (msg.id === 1) {
82
+ sub.dispose();
83
+ resolve(msg.result);
84
+ }
85
+ });
86
+ void transport.send({
87
+ jsonrpc: '2.0',
88
+ id: 1,
89
+ method: '$/lsproxy.status',
90
+ params: {}
91
+ });
92
+ }
93
+ catch {
94
+ resolve(null);
95
+ }
96
+ })();
97
+ });
98
+ return await Promise.race([request, deadline]);
99
+ }
100
+ catch {
101
+ return null;
102
+ }
103
+ finally {
104
+ await transport.close();
105
+ }
106
+ }
57
107
  export async function connectViaProxy(opts) {
58
108
  const sockPath = socketPath(opts.root);
59
109
  const alreadyUp = existsSync(sockPath) && (await tryConnect(sockPath));
@@ -1 +1 @@
1
- {"version":3,"file":"connect.js","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connect.js","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ export interface Formatter {
2
+ green(s: string): string;
3
+ red(s: string): string;
4
+ yellow(s: string): string;
5
+ dim(s: string): string;
6
+ }
7
+ /**
8
+ * Build a color formatter. When `enabled` is false every method returns its
9
+ * argument unchanged, guaranteeing zero ANSI bytes (used for pipes, CI, and
10
+ * `--json`). Callers gate `enabled` on
11
+ * `process.stdout.isTTY && !process.env.NO_COLOR && !flags.json`.
12
+ */
13
+ export declare function createFormatter(enabled: boolean): Formatter;
14
+ export declare const SYMBOLS: {
15
+ readonly running: '\u25CF';
16
+ readonly cold: '\u25CB';
17
+ readonly healthy: '\u2713';
18
+ readonly unhealthy: '\u2717';
19
+ readonly degraded: '\u26A0';
20
+ };
21
+ //# sourceMappingURL=format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAMD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAW3D;AAED,eAAO,MAAM,OAAO;aAClB,OAAO,EAAE,QAAG;aACZ,IAAI,EAAE,QAAG;aACT,OAAO,EAAE,QAAG;aACZ,SAAS,EAAE,QAAG;aACd,QAAQ,EAAE,QAAG;CACL,CAAC"}
package/dist/format.js ADDED
@@ -0,0 +1,30 @@
1
+ const CODES = { green: 32, red: 31, yellow: 33, dim: 2 };
2
+ function wrap(code, s) {
3
+ return `\x1b[${code}m${s}\x1b[0m`;
4
+ }
5
+ /**
6
+ * Build a color formatter. When `enabled` is false every method returns its
7
+ * argument unchanged, guaranteeing zero ANSI bytes (used for pipes, CI, and
8
+ * `--json`). Callers gate `enabled` on
9
+ * `process.stdout.isTTY && !process.env.NO_COLOR && !flags.json`.
10
+ */
11
+ export function createFormatter(enabled) {
12
+ if (!enabled) {
13
+ const identity = (s) => s;
14
+ return { green: identity, red: identity, yellow: identity, dim: identity };
15
+ }
16
+ return {
17
+ green: (s) => wrap(CODES.green, s),
18
+ red: (s) => wrap(CODES.red, s),
19
+ yellow: (s) => wrap(CODES.yellow, s),
20
+ dim: (s) => wrap(CODES.dim, s)
21
+ };
22
+ }
23
+ export const SYMBOLS = {
24
+ running: '●',
25
+ cold: '○',
26
+ healthy: '✓',
27
+ unhealthy: '✗',
28
+ degraded: '⚠'
29
+ };
30
+ //# sourceMappingURL=format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AAAA,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAW,CAAC;AASlE,SAAS,IAAI,CAAC,IAAY,EAAE,CAAS;IACnC,OAAO,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC;AACpC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC;QAC1C,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;IAC7E,CAAC;IACD,OAAO;QACL,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAClC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAC9B,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACpC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;KAC/B,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,OAAO,EAAE,GAAG;IACZ,IAAI,EAAE,GAAG;IACT,OAAO,EAAE,GAAG;IACZ,SAAS,EAAE,GAAG;IACd,QAAQ,EAAE,GAAG;CACL,CAAC"}
package/dist/help.d.ts ADDED
@@ -0,0 +1,20 @@
1
+ import type { StatusReport } from '@lsproxy/proxy';
2
+ import type { Command } from 'commander';
3
+ import { type Formatter } from './format.js';
4
+ /** Render the top-level `lsproxy` view: configured languages + live status. */
5
+ export declare function renderTopLevel(report: StatusReport, fmt: Formatter): string;
6
+ export type NavResult = {
7
+ command: Command;
8
+ } | {
9
+ error: string;
10
+ available: string[];
11
+ };
12
+ /** Walk `program` → namespace → request along `path`; report siblings on a miss. */
13
+ export declare function navigateTree(program: Command, path: string[]): NavResult;
14
+ export declare function renderDrillDownText(program: Command, path: string[]): {
15
+ ok: boolean;
16
+ text: string;
17
+ };
18
+ /** Structured drill-down for `--json`: namespaces, requests, or request options. */
19
+ export declare function drillDownJson(program: Command, languageId: string, path: string[]): unknown;
20
+ //# sourceMappingURL=help.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAW,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAgBtD,+EAA+E;AAC/E,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,SAAS,GAAG,MAAM,CAmB3E;AAED,MAAM,MAAM,SAAS,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEtF,oFAAoF;AACpF,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,CAexE;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,EAAE,GACb;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAM/B;AAmCD,oFAAoF;AACpF,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAgC3F"}
package/dist/help.js ADDED
@@ -0,0 +1,105 @@
1
+ import { SYMBOLS } from './format.js';
2
+ function languageLine(lang, fmt) {
3
+ const exts = lang.extensions.join(' ');
4
+ if (lang.status !== 'running') {
5
+ return ` ${fmt.dim(SYMBOLS.cold)} ${lang.languageId} ${fmt.dim(exts)} ${fmt.dim('(cold)')}`;
6
+ }
7
+ const mark = lang.healthy ? fmt.green(SYMBOLS.running) : fmt.yellow(SYMBOLS.degraded);
8
+ const health = lang.healthy ? fmt.green(SYMBOLS.healthy) : fmt.red(SYMBOLS.unhealthy);
9
+ const stats = fmt.dim(`pid ${lang.pid} · up ${Math.round((lang.uptimeMs ?? 0) / 1000)}s · ` +
10
+ `${lang.openDocuments ?? 0} docs · ${lang.requestsServed ?? 0} reqs`);
11
+ return ` ${mark} ${lang.languageId} ${fmt.dim(exts)} ${health} ${stats}`;
12
+ }
13
+ /** Render the top-level `lsproxy` view: configured languages + live status. */
14
+ export function renderTopLevel(report, fmt) {
15
+ const header = report.daemon === null
16
+ ? fmt.dim('daemon: down — showing configured languages only')
17
+ : fmt.dim(`daemon: up · pid ${report.daemon.pid} · ` +
18
+ `${report.daemon.backends} backend(s) · ${report.daemon.sessions} session(s)`);
19
+ const lines = report.languages.map((l) => languageLine(l, fmt));
20
+ const footer = [
21
+ '',
22
+ 'Drill down:',
23
+ ' lsproxy --help <language> namespaces for that server',
24
+ ' lsproxy --help <language> <namespace> requests in that namespace',
25
+ ' lsproxy --help <language> <namespace> <request> parameter schema'
26
+ ].join('\n');
27
+ return ['lsproxy — LSP-driven CLI', '', header, '', 'Languages:', ...lines, footer, ''].join('\n');
28
+ }
29
+ /** Walk `program` → namespace → request along `path`; report siblings on a miss. */
30
+ export function navigateTree(program, path) {
31
+ let node = program;
32
+ for (let i = 0; i < path.length; i++) {
33
+ const name = path[i];
34
+ const next = node.commands.find((c) => c.name() === name);
35
+ if (!next) {
36
+ const level = i === 0 ? 'namespace' : 'request';
37
+ return {
38
+ error: `Unknown ${level} "${name}".`,
39
+ available: node.commands.map((c) => c.name()).sort()
40
+ };
41
+ }
42
+ node = next;
43
+ }
44
+ return { command: node };
45
+ }
46
+ export function renderDrillDownText(program, path) {
47
+ const result = navigateTree(program, path);
48
+ if ('error' in result) {
49
+ return { ok: false, text: `${result.error}\nAvailable: ${result.available.join(', ')}\n` };
50
+ }
51
+ return { ok: true, text: result.command.helpInformation() };
52
+ }
53
+ function optionInfos(command) {
54
+ return command.options.map((o) => ({
55
+ flags: o.flags,
56
+ description: o.description,
57
+ required: o.required === true
58
+ }));
59
+ }
60
+ // Many requests take their inputs as positional arguments (e.g. `<file>`,
61
+ // `<line:col>`) rather than options — see zodToCommander. The text help shows
62
+ // them; the JSON drill-down must too, or agents can't construct the request.
63
+ function argumentInfos(command) {
64
+ return command.registeredArguments.map((a) => ({
65
+ name: a.name(),
66
+ description: a.description,
67
+ required: a.required === true,
68
+ variadic: a.variadic === true
69
+ }));
70
+ }
71
+ /** Structured drill-down for `--json`: namespaces, requests, or request options. */
72
+ export function drillDownJson(program, languageId, path) {
73
+ const result = navigateTree(program, path);
74
+ if ('error' in result) {
75
+ return { ok: false, languageId, error: result.error, available: result.available };
76
+ }
77
+ const node = result.command;
78
+ if (path.length === 0) {
79
+ return {
80
+ ok: true,
81
+ languageId,
82
+ namespaces: node.commands.map((ns) => ({
83
+ name: ns.name(),
84
+ requests: ns.commands.map((r) => r.name())
85
+ }))
86
+ };
87
+ }
88
+ if (path.length === 1) {
89
+ return {
90
+ ok: true,
91
+ languageId,
92
+ namespace: path[0],
93
+ requests: node.commands.map((r) => r.name())
94
+ };
95
+ }
96
+ return {
97
+ ok: true,
98
+ languageId,
99
+ namespace: path[0],
100
+ request: path[1],
101
+ arguments: argumentInfos(node),
102
+ options: optionInfos(node)
103
+ };
104
+ }
105
+ //# sourceMappingURL=help.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lsproxy/cli",
3
- "version": "0.4.7",
3
+ "version": "0.5.0",
4
4
  "description": "Standalone refactor CLI driving any LSP server: project-wide rename, file-move with importer updates, and move-symbol",
5
5
  "private": false,
6
6
  "keywords": [
@@ -49,8 +49,8 @@
49
49
  "commander": "^15.0.0",
50
50
  "zod": "^4.4.3",
51
51
  "@lspeasy/client": "3.1.3",
52
- "@lspeasy/core": "2.3.1",
53
- "@lsproxy/proxy": "1.0.2"
52
+ "@lspeasy/core": "2.4.0",
53
+ "@lsproxy/proxy": "1.1.0"
54
54
  },
55
55
  "devDependencies": {
56
56
  "@skillit/cli": "^0.4.0",