/** * Language-server session handling — the server-side half of the gd_* tools. * * Like the debug_* family, these bypass the addon bridge and talk to a listener * the editor owns (the GDScript language server, default port 6005). See * lsp-client.ts for the protocol details. */ export declare const LSP_TOOL_NAMES: Set; export declare function isLspTool(name: string): boolean; /** * What the connected language server can do, what we expose for it, and — the * point of this — anything it gained that we have not wrapped. */ export declare function summarizeLspCapabilities(capabilities: Record): { supported_capabilities: string[]; tools_available: string[]; tools_unavailable: string[]; unwrapped_capabilities: string[]; note: string; }; /** * res:// (or a project-relative path) → absolute filesystem path, confined to * the project directory. * * This is the TypeScript counterpart of the addon's PathGuard: these tools read * and WRITE files (gd_rename applies edits), so an unguarded `path` argument * would be an arbitrary-file read/write primitive. A `res://` prefix check * alone is not enough — "res://../../etc/passwd" resolves outside the project — * so the resolved path is compared against the project root after * normalization. * * Throws on escape; callers surface the message. */ export declare function resolveProjectPath(rawPath: string, projectPath: string | null): string; /** True when an absolute path is inside the project root. */ export declare function isInsideProject(absolutePath: string, projectPath: string | null): boolean; export declare function handleLspTool(name: string, args: Record, projectPath: string | null): Promise>; //# sourceMappingURL=lsp-session.d.ts.map