import type { DirectoryPage, FilePreview, SearchPage, WorkspaceAccess, WorkspaceChanges, WorkspaceChangesInput, WorkspaceDirectoryInput, WorkspaceEntry, WorkspaceIdentity, WorkspacePathInput, WorkspaceReadInput, WorkspaceSearchInput, WorkspaceWriteInput, WriteResult } from './workspace-access' const unsupportedRemoteMessage = '远程工作区访问尚不可用' export class UnsupportedRemoteWorkspaceAccess implements WorkspaceAccess { constructor( private readonly message: string = unsupportedRemoteMessage ) {} private unsupported(): never { throw new Error(this.message) } async getIdentity(): Promise { return this.unsupported() } async listDirectory( input: WorkspaceDirectoryInput ): Promise { void input return this.unsupported() } async stat(input: WorkspacePathInput): Promise { void input return this.unsupported() } async readText(input: WorkspaceReadInput): Promise { void input return this.unsupported() } async writeTextAtomic( input: WorkspaceWriteInput ): Promise { void input return this.unsupported() } async search(input: WorkspaceSearchInput): Promise { void input return this.unsupported() } async getChanges( input: WorkspaceChangesInput ): Promise { void input return this.unsupported() } async dispose(): Promise { // Cleanup is always safe and idempotent, even when access is unsupported. } }