import { ToolProvider, ToolRequest } from '@theia/ai-core'; import { DebugConfigurationManager } from '@theia/debug/lib/browser/debug-configuration-manager'; import { DebugSessionManager } from '@theia/debug/lib/browser/debug-session-manager'; import { WorkspaceFunctionScope } from './workspace-functions'; export interface LaunchConfigurationInfo { name: string; running: boolean; /** * Identifies where the configuration is defined: * - A root folder name (e.g. `"frontend"`) for folder-scoped configs. * - `"(workspace)"` for configs defined in the `.code-workspace` file. * * Pass this value back to `runLaunchConfiguration`'s or * `stopLaunchConfiguration`'s `workspaceRoot` parameter to disambiguate * when multiple configurations share the same name. */ workspaceRoot?: string; } export declare class LaunchListProvider implements ToolProvider { protected readonly debugConfigurationManager: DebugConfigurationManager; protected readonly debugSessionManager: DebugSessionManager; protected readonly workspaceScope: WorkspaceFunctionScope; getTool(): ToolRequest; private getAvailableLaunchConfigurations; /** * Maps a `workspaceFolderUri` to the addressing token an agent should use. * * - Folder URI → the workspace root name (e.g. `"frontend"`). * - `undefined` (workspace-level config) → `"(workspace)"`. */ private resolveFolderToken; private getDisplayName; } export declare class LaunchRunnerProvider implements ToolProvider { protected readonly debugConfigurationManager: DebugConfigurationManager; protected readonly debugSessionManager: DebugSessionManager; protected readonly workspaceScope: WorkspaceFunctionScope; getTool(): ToolRequest; private handleRunLaunchConfiguration; private findAllConfigurationsByName; /** * Filters debug session options by the `workspaceRoot` addressing token the * agent provided. * * Handles the sentinel value `(workspace)` for configs without a folder URI, * as well as normal folder-root names. * * @returns the filtered options array, or an error string if the root is unknown. */ private filterByWorkspaceRoot; /** * Maps a `workspaceFolderUri` to the addressing token an agent should use. * Shared between run and list operations in this class. */ private resolveFolderToken; private getDisplayName; } export declare class LaunchStopProvider implements ToolProvider { protected readonly debugSessionManager: DebugSessionManager; protected readonly workspaceScope: WorkspaceFunctionScope; getTool(): ToolRequest; private handleStopLaunchConfiguration; private findSessionsByConfigurationName; /** * Filters debug sessions by the `workspaceRoot` addressing token the agent provided. */ private filterSessionsByWorkspaceRoot; /** * Resolves the addressing token for a debug session based on its folder URI. */ private resolveSessionFolderToken; } //# sourceMappingURL=workspace-launch-provider.d.ts.map