import { URI } from "../../../../../base/common/uri.js"; import { ThemeIcon } from "../../../../../base/common/themables.js"; import { IProductService } from "../../../../../platform/product/common/productService.service.js"; export declare enum AgentSessionProviders { Local = "local", Background = "copilotcli", Cloud = "copilot-cloud-agent", Claude = "claude-code", Codex = "openai-codex", Growth = "copilot-growth", AgentHostCopilot = "agent-host-copilot" } /** * A session target is either a well-known {@link AgentSessionProviders} enum * value or a dynamic string for dynamically-registered providers (e.g. remote * agent hosts like `remote-{authority}-copilot`). * TODO@roblourens HACK */ export type AgentSessionTarget = AgentSessionProviders | (string & {}); export declare function isBuiltInAgentSessionProvider(provider: AgentSessionTarget): boolean; export declare function getAgentSessionProvider(sessionResource: URI | string): AgentSessionProviders | undefined; export declare function getAgentSessionProviderName(provider: AgentSessionTarget): string; export declare function getAgentSessionProviderIcon(provider: AgentSessionTarget): ThemeIcon; /** * Returns the VS Code or VS Code Insiders icon depending on product quality. */ export declare function getAgentHostIcon(productService: IProductService): ThemeIcon; export declare function isFirstPartyAgentSessionProvider(provider: AgentSessionTarget): boolean; /** * Returns whether the given session type is an agent host target. * Matches the local agent host (`agent-host-*`) and remote agent hosts (`remote-*`). * * Note: The `remote-` prefix convention is established by * {@link RemoteAgentHostContribution} which generates session types as * `remote-{sanitizedAddress}-{provider}`. If future remote providers that * are NOT agent hosts need a different prefix, this function must be updated. */ export declare function isAgentHostTarget(target: string): boolean; export declare function getAgentCanContinueIn(provider: AgentSessionTarget): boolean; export declare function getAgentSessionProviderDescription(provider: AgentSessionTarget): string; export declare enum AgentSessionsViewerOrientation { Stacked = 1, SideBySide = 2 } export declare enum AgentSessionsViewerPosition { Left = 1, Right = 2 } export interface IAgentSessionsControl { readonly element: HTMLElement | undefined; refresh(): void; openFind(): void; reveal(sessionResource: URI): boolean; clearFocus(): void; hasFocusOrSelection(): boolean; resetSectionCollapseState(): void; collapseAllSections(): void; } export declare const agentSessionReadIndicatorForeground: string; export declare const agentSessionSelectedBadgeBorder: string; export declare const agentSessionSelectedUnfocusedBadgeBorder: string; export declare const AGENT_SESSION_RENAME_ACTION_ID = "agentSession.rename"; export declare const AGENT_SESSION_DELETE_ACTION_ID = "agentSession.delete";