gsd-pi 2.8.3 → 2.9.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/README.md +2 -1
- package/dist/cli.js +5 -0
- package/dist/loader.js +1 -1
- package/dist/update-check.d.ts +24 -0
- package/dist/update-check.js +93 -0
- package/node_modules/@gsd/pi-coding-agent/dist/core/lsp/client.d.ts +46 -0
- package/node_modules/@gsd/pi-coding-agent/dist/core/lsp/client.d.ts.map +1 -0
- package/node_modules/@gsd/pi-coding-agent/dist/core/lsp/client.js +758 -0
- package/node_modules/@gsd/pi-coding-agent/dist/core/lsp/client.js.map +1 -0
- package/node_modules/@gsd/pi-coding-agent/dist/core/lsp/config.d.ts +23 -0
- package/node_modules/@gsd/pi-coding-agent/dist/core/lsp/config.d.ts.map +1 -0
- package/node_modules/@gsd/pi-coding-agent/dist/core/lsp/config.js +267 -0
- package/node_modules/@gsd/pi-coding-agent/dist/core/lsp/config.js.map +1 -0
- package/node_modules/@gsd/pi-coding-agent/dist/core/lsp/edits.d.ts +17 -0
- package/node_modules/@gsd/pi-coding-agent/dist/core/lsp/edits.d.ts.map +1 -0
- package/node_modules/@gsd/pi-coding-agent/dist/core/lsp/edits.js +101 -0
- package/node_modules/@gsd/pi-coding-agent/dist/core/lsp/edits.js.map +1 -0
- package/node_modules/@gsd/pi-coding-agent/dist/core/lsp/helpers.d.ts +15 -0
- package/node_modules/@gsd/pi-coding-agent/dist/core/lsp/helpers.d.ts.map +1 -0
- package/node_modules/@gsd/pi-coding-agent/dist/core/lsp/helpers.js +46 -0
- package/node_modules/@gsd/pi-coding-agent/dist/core/lsp/helpers.js.map +1 -0
- package/node_modules/@gsd/pi-coding-agent/dist/core/lsp/index.d.ts +35 -0
- package/node_modules/@gsd/pi-coding-agent/dist/core/lsp/index.d.ts.map +1 -0
- package/node_modules/@gsd/pi-coding-agent/dist/core/lsp/index.js +709 -0
- package/node_modules/@gsd/pi-coding-agent/dist/core/lsp/index.js.map +1 -0
- package/node_modules/@gsd/pi-coding-agent/dist/core/lsp/lsp-integration.test.d.ts +2 -0
- package/node_modules/@gsd/pi-coding-agent/dist/core/lsp/lsp-integration.test.d.ts.map +1 -0
- package/node_modules/@gsd/pi-coding-agent/dist/core/lsp/lsp-integration.test.js +308 -0
- package/node_modules/@gsd/pi-coding-agent/dist/core/lsp/lsp-integration.test.js.map +1 -0
- package/node_modules/@gsd/pi-coding-agent/dist/core/lsp/lspmux.d.ts +34 -0
- package/node_modules/@gsd/pi-coding-agent/dist/core/lsp/lspmux.d.ts.map +1 -0
- package/node_modules/@gsd/pi-coding-agent/dist/core/lsp/lspmux.js +136 -0
- package/node_modules/@gsd/pi-coding-agent/dist/core/lsp/lspmux.js.map +1 -0
- package/node_modules/@gsd/pi-coding-agent/dist/core/lsp/types.d.ts +262 -0
- package/node_modules/@gsd/pi-coding-agent/dist/core/lsp/types.d.ts.map +1 -0
- package/node_modules/@gsd/pi-coding-agent/dist/core/lsp/types.js +64 -0
- package/node_modules/@gsd/pi-coding-agent/dist/core/lsp/types.js.map +1 -0
- package/node_modules/@gsd/pi-coding-agent/dist/core/lsp/utils.d.ts +50 -0
- package/node_modules/@gsd/pi-coding-agent/dist/core/lsp/utils.d.ts.map +1 -0
- package/node_modules/@gsd/pi-coding-agent/dist/core/lsp/utils.js +574 -0
- package/node_modules/@gsd/pi-coding-agent/dist/core/lsp/utils.js.map +1 -0
- package/node_modules/@gsd/pi-coding-agent/dist/core/slash-commands.d.ts.map +1 -1
- package/node_modules/@gsd/pi-coding-agent/dist/core/slash-commands.js +1 -0
- package/node_modules/@gsd/pi-coding-agent/dist/core/slash-commands.js.map +1 -1
- package/node_modules/@gsd/pi-coding-agent/dist/core/tools/index.d.ts +13 -0
- package/node_modules/@gsd/pi-coding-agent/dist/core/tools/index.d.ts.map +1 -1
- package/node_modules/@gsd/pi-coding-agent/dist/core/tools/index.js +4 -0
- package/node_modules/@gsd/pi-coding-agent/dist/core/tools/index.js.map +1 -1
- package/node_modules/@gsd/pi-coding-agent/dist/modes/interactive/components/settings-selector.d.ts +10 -1
- package/node_modules/@gsd/pi-coding-agent/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/node_modules/@gsd/pi-coding-agent/dist/modes/interactive/components/settings-selector.js +2 -2
- package/node_modules/@gsd/pi-coding-agent/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/node_modules/@gsd/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts +2 -0
- package/node_modules/@gsd/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/node_modules/@gsd/pi-coding-agent/dist/modes/interactive/interactive-mode.js +46 -1
- package/node_modules/@gsd/pi-coding-agent/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/node_modules/@gsd/pi-coding-agent/src/core/lsp/client.ts +880 -0
- package/node_modules/@gsd/pi-coding-agent/src/core/lsp/config.ts +325 -0
- package/node_modules/@gsd/pi-coding-agent/src/core/lsp/defaults.json +456 -0
- package/node_modules/@gsd/pi-coding-agent/src/core/lsp/edits.ts +109 -0
- package/node_modules/@gsd/pi-coding-agent/src/core/lsp/helpers.ts +54 -0
- package/node_modules/@gsd/pi-coding-agent/src/core/lsp/index.ts +943 -0
- package/node_modules/@gsd/pi-coding-agent/src/core/lsp/lsp-integration.test.ts +407 -0
- package/node_modules/@gsd/pi-coding-agent/src/core/lsp/lsp.md +33 -0
- package/node_modules/@gsd/pi-coding-agent/src/core/lsp/lspmux.ts +199 -0
- package/node_modules/@gsd/pi-coding-agent/src/core/lsp/types.ts +421 -0
- package/node_modules/@gsd/pi-coding-agent/src/core/lsp/utils.ts +682 -0
- package/node_modules/@gsd/pi-coding-agent/src/core/slash-commands.ts +1 -0
- package/node_modules/@gsd/pi-coding-agent/src/core/tools/index.ts +10 -0
- package/node_modules/@gsd/pi-coding-agent/src/modes/interactive/components/settings-selector.ts +2 -2
- package/node_modules/@gsd/pi-coding-agent/src/modes/interactive/interactive-mode.ts +59 -2
- package/package.json +1 -1
- package/packages/pi-coding-agent/dist/core/lsp/client.d.ts +46 -0
- package/packages/pi-coding-agent/dist/core/lsp/client.d.ts.map +1 -0
- package/packages/pi-coding-agent/dist/core/lsp/client.js +758 -0
- package/packages/pi-coding-agent/dist/core/lsp/client.js.map +1 -0
- package/packages/pi-coding-agent/dist/core/lsp/config.d.ts +23 -0
- package/packages/pi-coding-agent/dist/core/lsp/config.d.ts.map +1 -0
- package/packages/pi-coding-agent/dist/core/lsp/config.js +267 -0
- package/packages/pi-coding-agent/dist/core/lsp/config.js.map +1 -0
- package/packages/pi-coding-agent/dist/core/lsp/edits.d.ts +17 -0
- package/packages/pi-coding-agent/dist/core/lsp/edits.d.ts.map +1 -0
- package/packages/pi-coding-agent/dist/core/lsp/edits.js +101 -0
- package/packages/pi-coding-agent/dist/core/lsp/edits.js.map +1 -0
- package/packages/pi-coding-agent/dist/core/lsp/helpers.d.ts +15 -0
- package/packages/pi-coding-agent/dist/core/lsp/helpers.d.ts.map +1 -0
- package/packages/pi-coding-agent/dist/core/lsp/helpers.js +46 -0
- package/packages/pi-coding-agent/dist/core/lsp/helpers.js.map +1 -0
- package/packages/pi-coding-agent/dist/core/lsp/index.d.ts +35 -0
- package/packages/pi-coding-agent/dist/core/lsp/index.d.ts.map +1 -0
- package/packages/pi-coding-agent/dist/core/lsp/index.js +709 -0
- package/packages/pi-coding-agent/dist/core/lsp/index.js.map +1 -0
- package/packages/pi-coding-agent/dist/core/lsp/lsp-integration.test.d.ts +2 -0
- package/packages/pi-coding-agent/dist/core/lsp/lsp-integration.test.d.ts.map +1 -0
- package/packages/pi-coding-agent/dist/core/lsp/lsp-integration.test.js +308 -0
- package/packages/pi-coding-agent/dist/core/lsp/lsp-integration.test.js.map +1 -0
- package/packages/pi-coding-agent/dist/core/lsp/lspmux.d.ts +34 -0
- package/packages/pi-coding-agent/dist/core/lsp/lspmux.d.ts.map +1 -0
- package/packages/pi-coding-agent/dist/core/lsp/lspmux.js +136 -0
- package/packages/pi-coding-agent/dist/core/lsp/lspmux.js.map +1 -0
- package/packages/pi-coding-agent/dist/core/lsp/types.d.ts +262 -0
- package/packages/pi-coding-agent/dist/core/lsp/types.d.ts.map +1 -0
- package/packages/pi-coding-agent/dist/core/lsp/types.js +64 -0
- package/packages/pi-coding-agent/dist/core/lsp/types.js.map +1 -0
- package/packages/pi-coding-agent/dist/core/lsp/utils.d.ts +50 -0
- package/packages/pi-coding-agent/dist/core/lsp/utils.d.ts.map +1 -0
- package/packages/pi-coding-agent/dist/core/lsp/utils.js +574 -0
- package/packages/pi-coding-agent/dist/core/lsp/utils.js.map +1 -0
- package/packages/pi-coding-agent/dist/core/slash-commands.d.ts.map +1 -1
- package/packages/pi-coding-agent/dist/core/slash-commands.js +1 -0
- package/packages/pi-coding-agent/dist/core/slash-commands.js.map +1 -1
- package/packages/pi-coding-agent/dist/core/tools/index.d.ts +13 -0
- package/packages/pi-coding-agent/dist/core/tools/index.d.ts.map +1 -1
- package/packages/pi-coding-agent/dist/core/tools/index.js +4 -0
- package/packages/pi-coding-agent/dist/core/tools/index.js.map +1 -1
- package/packages/pi-coding-agent/dist/modes/interactive/components/settings-selector.d.ts +10 -1
- package/packages/pi-coding-agent/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/packages/pi-coding-agent/dist/modes/interactive/components/settings-selector.js +2 -2
- package/packages/pi-coding-agent/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts +2 -0
- package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.js +46 -1
- package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/packages/pi-coding-agent/src/core/lsp/client.ts +880 -0
- package/packages/pi-coding-agent/src/core/lsp/config.ts +325 -0
- package/packages/pi-coding-agent/src/core/lsp/defaults.json +456 -0
- package/packages/pi-coding-agent/src/core/lsp/edits.ts +109 -0
- package/packages/pi-coding-agent/src/core/lsp/helpers.ts +54 -0
- package/packages/pi-coding-agent/src/core/lsp/index.ts +943 -0
- package/packages/pi-coding-agent/src/core/lsp/lsp-integration.test.ts +407 -0
- package/packages/pi-coding-agent/src/core/lsp/lsp.md +33 -0
- package/packages/pi-coding-agent/src/core/lsp/lspmux.ts +199 -0
- package/packages/pi-coding-agent/src/core/lsp/types.ts +421 -0
- package/packages/pi-coding-agent/src/core/lsp/utils.ts +682 -0
- package/packages/pi-coding-agent/src/core/slash-commands.ts +1 -0
- package/packages/pi-coding-agent/src/core/tools/index.ts +10 -0
- package/packages/pi-coding-agent/src/modes/interactive/components/settings-selector.ts +2 -2
- package/packages/pi-coding-agent/src/modes/interactive/interactive-mode.ts +59 -2
- package/src/resources/extensions/ask-user-questions.ts +2 -2
- package/src/resources/extensions/bg-shell/index.ts +34 -37
- package/src/resources/extensions/browser-tools/core.d.ts +205 -0
- package/src/resources/extensions/browser-tools/index.ts +2 -2
- package/src/resources/extensions/browser-tools/refs.ts +1 -1
- package/src/resources/extensions/browser-tools/tools/session.ts +1 -1
- package/src/resources/extensions/context7/index.ts +2 -2
- package/src/resources/extensions/get-secrets-from-user.ts +3 -2
- package/src/resources/extensions/google-search/index.ts +1 -1
- package/src/resources/extensions/gsd/auto.ts +41 -4
- package/src/resources/extensions/gsd/commands.ts +218 -3
- package/src/resources/extensions/gsd/doctor.ts +1 -1
- package/src/resources/extensions/gsd/git-service.ts +116 -4
- package/src/resources/extensions/gsd/guided-flow.ts +19 -9
- package/src/resources/extensions/gsd/index.ts +17 -7
- package/src/resources/extensions/gsd/preferences.ts +1 -1
- package/src/resources/extensions/gsd/tests/git-service.test.ts +226 -0
- package/src/resources/extensions/gsd/tests/migrate-command.test.ts +2 -2
- package/src/resources/extensions/gsd/tests/migrate-transformer.test.ts +1 -1
- package/src/resources/extensions/gsd/tests/migrate-writer-integration.test.ts +10 -10
- package/src/resources/extensions/gsd/tests/next-milestone-id.test.ts +87 -0
- package/src/resources/extensions/gsd/tests/worktree.test.ts +352 -0
- package/src/resources/extensions/gsd/types.ts +1 -0
- package/src/resources/extensions/gsd/worktree.ts +20 -1
- package/src/resources/extensions/mac-tools/index.ts +1 -1
- package/src/resources/extensions/search-the-web/format.ts +1 -1
- package/src/resources/extensions/search-the-web/index.ts +5 -5
- package/src/resources/extensions/search-the-web/tool-fetch-page.ts +7 -7
- package/src/resources/extensions/search-the-web/tool-llm-context.ts +11 -11
- package/src/resources/extensions/search-the-web/tool-search.ts +10 -10
- package/src/resources/extensions/shared/interview-ui.ts +2 -2
|
@@ -65,6 +65,13 @@ export {
|
|
|
65
65
|
type WriteToolOptions,
|
|
66
66
|
writeTool,
|
|
67
67
|
} from "./write.js";
|
|
68
|
+
export {
|
|
69
|
+
createLspTool,
|
|
70
|
+
type LspToolDetails,
|
|
71
|
+
lspSchema,
|
|
72
|
+
lspTool,
|
|
73
|
+
} from "../lsp/index.js";
|
|
74
|
+
export type { LspServerStatus } from "../lsp/client.js";
|
|
68
75
|
|
|
69
76
|
import type { AgentTool } from "@gsd/pi-agent-core";
|
|
70
77
|
import { type BashToolOptions, bashTool, createBashTool } from "./bash.js";
|
|
@@ -74,6 +81,7 @@ import { createGrepTool, grepTool } from "./grep.js";
|
|
|
74
81
|
import { createLsTool, lsTool } from "./ls.js";
|
|
75
82
|
import { createReadTool, type ReadToolOptions, readTool } from "./read.js";
|
|
76
83
|
import { createWriteTool, writeTool } from "./write.js";
|
|
84
|
+
import { createLspTool, lspTool } from "../lsp/index.js";
|
|
77
85
|
|
|
78
86
|
/** Tool type (AgentTool from pi-ai) */
|
|
79
87
|
export type Tool = AgentTool<any>;
|
|
@@ -93,6 +101,7 @@ export const allTools = {
|
|
|
93
101
|
grep: grepTool,
|
|
94
102
|
find: findTool,
|
|
95
103
|
ls: lsTool,
|
|
104
|
+
lsp: lspTool,
|
|
96
105
|
};
|
|
97
106
|
|
|
98
107
|
export type ToolName = keyof typeof allTools;
|
|
@@ -135,5 +144,6 @@ export function createAllTools(cwd: string, options?: ToolsOptions): Record<Tool
|
|
|
135
144
|
grep: createGrepTool(cwd),
|
|
136
145
|
find: createFindTool(cwd),
|
|
137
146
|
ls: createLsTool(cwd),
|
|
147
|
+
lsp: createLspTool(cwd),
|
|
138
148
|
};
|
|
139
149
|
}
|
package/node_modules/@gsd/pi-coding-agent/src/modes/interactive/components/settings-selector.ts
CHANGED
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
import { getSelectListTheme, getSettingsListTheme, theme } from "../theme/theme.js";
|
|
14
14
|
import { DynamicBorder } from "./dynamic-border.js";
|
|
15
15
|
|
|
16
|
-
const THINKING_DESCRIPTIONS: Record<ThinkingLevel, string> = {
|
|
16
|
+
export const THINKING_DESCRIPTIONS: Record<ThinkingLevel, string> = {
|
|
17
17
|
off: "No reasoning",
|
|
18
18
|
minimal: "Very brief reasoning (~1k tokens)",
|
|
19
19
|
low: "Light reasoning (~2k tokens)",
|
|
@@ -73,7 +73,7 @@ export interface SettingsCallbacks {
|
|
|
73
73
|
/**
|
|
74
74
|
* A submenu component for selecting from a list of options.
|
|
75
75
|
*/
|
|
76
|
-
class SelectSubmenu extends Container {
|
|
76
|
+
export class SelectSubmenu extends Container {
|
|
77
77
|
private selectList: SelectList;
|
|
78
78
|
|
|
79
79
|
constructor(
|
|
@@ -7,7 +7,7 @@ import * as crypto from "node:crypto";
|
|
|
7
7
|
import * as fs from "node:fs";
|
|
8
8
|
import * as os from "node:os";
|
|
9
9
|
import * as path from "node:path";
|
|
10
|
-
import type { AgentMessage } from "@gsd/pi-agent-core";
|
|
10
|
+
import type { AgentMessage, ThinkingLevel } from "@gsd/pi-agent-core";
|
|
11
11
|
import type { AssistantMessage, ImageContent, Message, Model, OAuthProviderId } from "@gsd/pi-ai";
|
|
12
12
|
import type {
|
|
13
13
|
AutocompleteItem,
|
|
@@ -85,7 +85,7 @@ import { ModelSelectorComponent } from "./components/model-selector.js";
|
|
|
85
85
|
import { OAuthSelectorComponent } from "./components/oauth-selector.js";
|
|
86
86
|
import { ScopedModelsSelectorComponent } from "./components/scoped-models-selector.js";
|
|
87
87
|
import { SessionSelectorComponent } from "./components/session-selector.js";
|
|
88
|
-
import { SettingsSelectorComponent } from "./components/settings-selector.js";
|
|
88
|
+
import { SelectSubmenu, SettingsSelectorComponent, THINKING_DESCRIPTIONS } from "./components/settings-selector.js";
|
|
89
89
|
import { SkillInvocationMessageComponent } from "./components/skill-invocation-message.js";
|
|
90
90
|
import { ToolExecutionComponent } from "./components/tool-execution.js";
|
|
91
91
|
import { TreeSelectorComponent } from "./components/tree-selector.js";
|
|
@@ -2015,6 +2015,12 @@ export class InteractiveMode {
|
|
|
2015
2015
|
await this.handleReloadCommand();
|
|
2016
2016
|
return;
|
|
2017
2017
|
}
|
|
2018
|
+
if (text === "/thinking" || text.startsWith("/thinking ")) {
|
|
2019
|
+
const arg = text.startsWith("/thinking ") ? text.slice(10).trim() : undefined;
|
|
2020
|
+
this.editor.setText("");
|
|
2021
|
+
this.handleThinkingCommand(arg);
|
|
2022
|
+
return;
|
|
2023
|
+
}
|
|
2018
2024
|
if (text === "/debug") {
|
|
2019
2025
|
this.handleDebugCommand();
|
|
2020
2026
|
this.editor.setText("");
|
|
@@ -2745,6 +2751,57 @@ export class InteractiveMode {
|
|
|
2745
2751
|
}
|
|
2746
2752
|
}
|
|
2747
2753
|
|
|
2754
|
+
private handleThinkingCommand(arg?: string): void {
|
|
2755
|
+
if (!this.session.supportsThinking()) {
|
|
2756
|
+
this.showStatus("Current model does not support thinking");
|
|
2757
|
+
return;
|
|
2758
|
+
}
|
|
2759
|
+
|
|
2760
|
+
const availableLevels = this.session.getAvailableThinkingLevels();
|
|
2761
|
+
|
|
2762
|
+
if (arg) {
|
|
2763
|
+
const level = arg.toLowerCase();
|
|
2764
|
+
if (!availableLevels.includes(level as ThinkingLevel)) {
|
|
2765
|
+
this.showStatus(`Invalid thinking level "${arg}". Available: ${availableLevels.join(", ")}`);
|
|
2766
|
+
return;
|
|
2767
|
+
}
|
|
2768
|
+
this.session.setThinkingLevel(level as ThinkingLevel);
|
|
2769
|
+
this.footer.invalidate();
|
|
2770
|
+
this.updateEditorBorderColor();
|
|
2771
|
+
this.showStatus(`Thinking level: ${level}`);
|
|
2772
|
+
return;
|
|
2773
|
+
}
|
|
2774
|
+
|
|
2775
|
+
this.showThinkingSelector();
|
|
2776
|
+
}
|
|
2777
|
+
|
|
2778
|
+
private showThinkingSelector(): void {
|
|
2779
|
+
const availableLevels = this.session.getAvailableThinkingLevels();
|
|
2780
|
+
this.showSelector((done) => {
|
|
2781
|
+
const selector = new SelectSubmenu(
|
|
2782
|
+
"Thinking Level",
|
|
2783
|
+
"Select reasoning depth for thinking-capable models",
|
|
2784
|
+
availableLevels.map((level) => ({
|
|
2785
|
+
value: level,
|
|
2786
|
+
label: level,
|
|
2787
|
+
description: THINKING_DESCRIPTIONS[level],
|
|
2788
|
+
})),
|
|
2789
|
+
this.session.thinkingLevel,
|
|
2790
|
+
(value) => {
|
|
2791
|
+
this.session.setThinkingLevel(value as ThinkingLevel);
|
|
2792
|
+
this.footer.invalidate();
|
|
2793
|
+
this.updateEditorBorderColor();
|
|
2794
|
+
done();
|
|
2795
|
+
this.showStatus(`Thinking level: ${value}`);
|
|
2796
|
+
},
|
|
2797
|
+
() => {
|
|
2798
|
+
done();
|
|
2799
|
+
},
|
|
2800
|
+
);
|
|
2801
|
+
return { component: selector, focus: selector };
|
|
2802
|
+
});
|
|
2803
|
+
}
|
|
2804
|
+
|
|
2748
2805
|
private async cycleModel(direction: "forward" | "backward"): Promise<void> {
|
|
2749
2806
|
try {
|
|
2750
2807
|
const result = await this.session.cycleModel(direction);
|
package/package.json
CHANGED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { LspClient, ServerConfig } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Configure the idle timeout for LSP clients.
|
|
4
|
+
*/
|
|
5
|
+
export declare function setIdleTimeout(ms: number | null | undefined): void;
|
|
6
|
+
/** Timeout for warmup initialize requests (5 seconds) */
|
|
7
|
+
export declare const WARMUP_TIMEOUT_MS = 5000;
|
|
8
|
+
/**
|
|
9
|
+
* Get or create an LSP client for the given server configuration and working directory.
|
|
10
|
+
*/
|
|
11
|
+
export declare function getOrCreateClient(config: ServerConfig, cwd: string, initTimeoutMs?: number): Promise<LspClient>;
|
|
12
|
+
/**
|
|
13
|
+
* Ensure a file is opened in the LSP client.
|
|
14
|
+
*/
|
|
15
|
+
export declare function ensureFileOpen(client: LspClient, filePath: string, signal?: AbortSignal): Promise<void>;
|
|
16
|
+
/**
|
|
17
|
+
* Sync in-memory content to the LSP client without reading from disk.
|
|
18
|
+
*/
|
|
19
|
+
export declare function syncContent(client: LspClient, filePath: string, content: string, signal?: AbortSignal): Promise<void>;
|
|
20
|
+
/**
|
|
21
|
+
* Notify LSP that a file was saved.
|
|
22
|
+
*/
|
|
23
|
+
export declare function notifySaved(client: LspClient, filePath: string, signal?: AbortSignal): Promise<void>;
|
|
24
|
+
/**
|
|
25
|
+
* Refresh a file in the LSP client.
|
|
26
|
+
*/
|
|
27
|
+
export declare function refreshFile(client: LspClient, filePath: string, signal?: AbortSignal): Promise<void>;
|
|
28
|
+
/**
|
|
29
|
+
* Shutdown a specific client by key.
|
|
30
|
+
*/
|
|
31
|
+
export declare function shutdownClient(key: string): void;
|
|
32
|
+
export declare function sendRequest(client: LspClient, method: string, params: unknown, signal?: AbortSignal, timeoutMs?: number): Promise<unknown>;
|
|
33
|
+
export declare function sendNotification(client: LspClient, method: string, params: unknown): Promise<void>;
|
|
34
|
+
/**
|
|
35
|
+
* Shutdown all LSP clients.
|
|
36
|
+
*/
|
|
37
|
+
export declare function shutdownAll(): void;
|
|
38
|
+
/** Status of an LSP server */
|
|
39
|
+
export interface LspServerStatus {
|
|
40
|
+
name: string;
|
|
41
|
+
status: "connecting" | "ready" | "error";
|
|
42
|
+
fileTypes: string[];
|
|
43
|
+
error?: string;
|
|
44
|
+
}
|
|
45
|
+
export declare function getActiveClients(): LspServerStatus[];
|
|
46
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/core/lsp/client.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAEX,SAAS,EAIT,YAAY,EAEZ,MAAM,YAAY,CAAC;AAgBpB;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAQlE;AA8VD,yDAAyD;AACzD,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAEtC;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAyHrH;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAmD7G;AAED;;GAEG;AACH,wBAAsB,WAAW,CAChC,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,GAClB,OAAO,CAAC,IAAI,CAAC,CA8Cf;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAU1G;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAkD1G;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAiBhD;AAQD,wBAAsB,WAAW,CAChC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,EACf,MAAM,CAAC,EAAE,WAAW,EACpB,SAAS,GAAE,MAAmC,GAC5C,OAAO,CAAC,OAAO,CAAC,CAuElB;AAED,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CASxG;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAuBlC;AAED,8BAA8B;AAC9B,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,GAAG,OAAO,GAAG,OAAO,CAAC;IACzC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,gBAAgB,IAAI,eAAe,EAAE,CAMpD"}
|