import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle"; import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable"; import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri"; import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service"; import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service"; import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service"; import { IChatArtifactsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/chatArtifactsService.service"; export interface IArtifactGroupConfig { readonly groupName: string; readonly onlyShowGroup?: boolean; } export interface IChatArtifact { readonly label: string; readonly uri: string; readonly toolCallId?: string; readonly dataPartIndex?: number; readonly type: "devServer" | "screenshot" | "plan" | undefined; readonly groupName?: string; readonly onlyShowGroup?: boolean; } export type ArtifactSource = { readonly kind: "rules"; } | { readonly kind: "agent"; } | { readonly kind: "subagent"; readonly invocationId: string; readonly name: string | undefined; }; export interface IArtifactSourceGroup { readonly source: ArtifactSource; readonly artifacts: readonly IChatArtifact[]; } export interface IArtifactRuleOverrides { readonly byMimeType?: Record; readonly byFilePath?: Record; readonly byMemoryFilePath?: Record; } export interface IChatArtifacts { readonly artifactGroups: IObservable; setAgentArtifacts(artifacts: IChatArtifact[]): void; setSubagentArtifacts(invocationId: string, name: string | undefined, artifacts: IChatArtifact[]): void; setRuleOverrides(rules: IArtifactRuleOverrides | undefined): void; clearAgentArtifacts(): void; clearSubagentArtifacts(invocationId: string): void; migrate(target: IChatArtifacts): void; } export declare class ChatArtifactsService extends Disposable implements IChatArtifactsService { private readonly _chatService; private readonly _configurationService; readonly _serviceBrand: undefined; private readonly _storage; private readonly _instances; constructor(storageService: IStorageService, _chatService: IChatService, _configurationService: IConfigurationService); getArtifacts(sessionResource: URI): IChatArtifacts; }