Skip to content
This repository was archived by the owner on Aug 1, 2025. It is now read-only.

Commit 5dcc360

Browse files
committed
Remove redundant rename/delete workspace ops
1 parent 500654c commit 5dcc360

7 files changed

Lines changed: 11 additions & 156 deletions

File tree

agent/bindings/kotlin/lib/src/main/kotlin/com/sourcegraph/cody/agent/protocol_generated/Constants.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ object Constants {
3939
const val debug = "debug"
4040
const val default = "default"
4141
const val delete = "delete"
42-
const val `delete-file` = "delete-file"
4342
const val `deletions-only` = "deletions-only"
4443
const val deprecated = "deprecated"
4544
const val dev = "dev"
@@ -103,7 +102,6 @@ object Constants {
103102
const val recommended = "recommended"
104103
const val rejected = "rejected"
105104
const val removed = "removed"
106-
const val `rename-file` = "rename-file"
107105
const val replace = "replace"
108106
const val repository = "repository"
109107
const val request = "request"

agent/bindings/kotlin/lib/src/main/kotlin/com/sourcegraph/cody/agent/protocol_generated/DeleteOptionsParams.kt

Lines changed: 0 additions & 8 deletions
This file was deleted.

agent/bindings/kotlin/lib/src/main/kotlin/com/sourcegraph/cody/agent/protocol_generated/WorkspaceEditOperation.kt

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@ sealed class WorkspaceEditOperation {
1414
JsonDeserializer { element: JsonElement, _: Type, context: JsonDeserializationContext ->
1515
when (element.getAsJsonObject().get("type").getAsString()) {
1616
"create-file" -> context.deserialize<CreateFileOperation>(element, CreateFileOperation::class.java)
17-
"rename-file" -> context.deserialize<RenameFileOperation>(element, RenameFileOperation::class.java)
18-
"delete-file" -> context.deserialize<DeleteFileOperation>(element, DeleteFileOperation::class.java)
1917
"edit-file" -> context.deserialize<EditFileOperation>(element, EditFileOperation::class.java)
2018
else -> throw Exception("Unknown discriminator ${element}")
2119
}
@@ -36,31 +34,6 @@ data class CreateFileOperation(
3634
}
3735
}
3836

39-
data class RenameFileOperation(
40-
val type: TypeEnum, // Oneof: rename-file
41-
val oldUri: String,
42-
val newUri: String,
43-
val options: WriteFileOptions? = null,
44-
val metadata: WorkspaceEditEntryMetadata? = null,
45-
) : WorkspaceEditOperation() {
46-
47-
enum class TypeEnum {
48-
@SerializedName("rename-file") `Rename-file`,
49-
}
50-
}
51-
52-
data class DeleteFileOperation(
53-
val type: TypeEnum, // Oneof: delete-file
54-
val uri: String,
55-
val deleteOptions: DeleteOptionsParams? = null,
56-
val metadata: WorkspaceEditEntryMetadata? = null,
57-
) : WorkspaceEditOperation() {
58-
59-
enum class TypeEnum {
60-
@SerializedName("delete-file") `Delete-file`,
61-
}
62-
}
63-
6437
data class EditFileOperation(
6538
val type: TypeEnum, // Oneof: edit-file
6639
val uri: String,

agent/src/TestClient.ts

Lines changed: 0 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ import type {
4141
ClientInfo,
4242
CreateFileOperation,
4343
DebugMessage,
44-
DeleteFileOperation,
4544
ExtensionConfiguration,
4645
NetworkRequest,
4746
Position,
@@ -50,7 +49,6 @@ import type {
5049
ProtocolCodeLens,
5150
ProtocolTextDocument,
5251
Range,
53-
RenameFileOperation,
5452
ServerInfo,
5553
ShowWindowMessageParams,
5654
TextDocumentEditParams,
@@ -273,8 +271,6 @@ export class TestClient extends MessageHandler {
273271
// debugging something that should have been done the Right Way
274272
// from the start.
275273
let result = true
276-
const deletedFiles: DeleteFileOperation[] = []
277-
const renamedFiles: RenameFileOperation[] = []
278274
const createdFiles: CreateFileOperation[] = []
279275
for (const operation of params.operations) {
280276
if (operation.type === 'edit-file') {
@@ -299,48 +295,13 @@ export class TestClient extends MessageHandler {
299295
await fspromises.mkdir(path.dirname(fspath), { recursive: true })
300296
await fspromises.writeFile(fspath, operation.textContents)
301297
createdFiles.push(operation)
302-
} else if (operation.type === 'delete-file') {
303-
if (!(await doesFileExist(vscode.Uri.parse(operation.uri)))) {
304-
result = false
305-
continue
306-
}
307-
await fspromises.unlink(vscode.Uri.file(operation.uri).fsPath)
308-
deletedFiles.push(operation)
309-
} else if (operation.type === 'rename-file') {
310-
if (!(await doesFileExist(vscode.Uri.parse(operation.oldUri)))) {
311-
continue
312-
}
313-
const newFileExists = await doesFileExist(vscode.Uri.parse(operation.newUri))
314-
if (operation.options?.ignoreIfExists && newFileExists) {
315-
continue
316-
}
317-
if (!operation.options?.overwrite && newFileExists) {
318-
logError(
319-
'workspace/edit',
320-
"can't rename into new URI that already exists and options.overwrite=false",
321-
operation.newUri
322-
)
323-
continue
324-
}
325-
const newPath = vscode.Uri.file(operation.newUri).fsPath
326-
await fspromises.mkdir(path.dirname(newPath), { recursive: true })
327-
await fspromises.rename(vscode.Uri.file(operation.oldUri).fsPath, newPath)
328-
renamedFiles.push(operation)
329298
}
330299
}
331300

332301
if (createdFiles.length > 0) {
333302
this.notify('workspace/didCreateFiles', { files: createdFiles })
334303
}
335304

336-
if (deletedFiles.length > 0) {
337-
this.notify('workspace/didDeleteFiles', { files: deletedFiles })
338-
}
339-
340-
if (renamedFiles.length > 0) {
341-
this.notify('workspace/didRenameFiles', { files: renamedFiles })
342-
}
343-
344305
return result
345306
})
346307
this.registerRequest('textDocument/edit', async params => {

jetbrains/src/main/kotlin/com/sourcegraph/cody/edit/EditService.kt

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,9 @@ import com.intellij.openapi.project.Project
99
import com.sourcegraph.cody.agent.protocol_extensions.toBoundedOffset
1010
import com.sourcegraph.cody.agent.protocol_extensions.toOffsetRange
1111
import com.sourcegraph.cody.agent.protocol_generated.CreateFileOperation
12-
import com.sourcegraph.cody.agent.protocol_generated.DeleteFileOperation
1312
import com.sourcegraph.cody.agent.protocol_generated.DeleteTextEdit
1413
import com.sourcegraph.cody.agent.protocol_generated.EditFileOperation
1514
import com.sourcegraph.cody.agent.protocol_generated.InsertTextEdit
16-
import com.sourcegraph.cody.agent.protocol_generated.RenameFileOperation
1715
import com.sourcegraph.cody.agent.protocol_generated.ReplaceTextEdit
1816
import com.sourcegraph.cody.agent.protocol_generated.TextEdit
1917
import com.sourcegraph.cody.agent.protocol_generated.WorkspaceEditParams
@@ -68,7 +66,6 @@ class EditService(val project: Project) {
6866

6967
fun performWorkspaceEdit(workspaceEditParams: WorkspaceEditParams): Boolean {
7068
return workspaceEditParams.operations.all { op ->
71-
// TODO: We need to support the file-level operations.
7269
when (op) {
7370
is CreateFileOperation -> {
7471
logger.info("Workspace edit operation created a file: ${op.uri}")
@@ -80,14 +77,6 @@ class EditService(val project: Project) {
8077
overwrite = op.options?.overwrite ?: false)
8178
file != null
8279
}
83-
is RenameFileOperation -> {
84-
logger.warn("Workspace edit operation renamed a file: ${op.oldUri} -> ${op.newUri}")
85-
false
86-
}
87-
is DeleteFileOperation -> {
88-
logger.warn("Workspace edit operation deleted a file: ${op.uri}")
89-
false
90-
}
9180
is EditFileOperation -> {
9281
logger.info("Applying workspace edit to a file: ${op.uri}")
9382
performTextEdits(op.uri, op.edits)

vscode/src/jsonrpc/agent-protocol.ts

Lines changed: 1 addition & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -835,11 +835,7 @@ export interface WorkspaceEditParams {
835835
metadata?: vscode.WorkspaceEditMetadata | undefined | null
836836
}
837837

838-
export type WorkspaceEditOperation =
839-
| CreateFileOperation
840-
| RenameFileOperation
841-
| DeleteFileOperation
842-
| EditFileOperation
838+
export type WorkspaceEditOperation = CreateFileOperation | EditFileOperation
843839

844840
export interface WriteFileOptions {
845841
overwrite?: boolean | undefined | null
@@ -853,37 +849,11 @@ export interface CreateFileOperation {
853849
textContents: string
854850
metadata?: vscode.WorkspaceEditEntryMetadata | undefined | null
855851
}
856-
export interface RenameFileOperation {
857-
type: 'rename-file'
858-
oldUri: string
859-
newUri: string
860-
options?: WriteFileOptions | undefined | null
861-
metadata?: vscode.WorkspaceEditEntryMetadata | undefined | null
862-
}
863-
export interface DeleteFileOperation {
864-
type: 'delete-file'
865-
uri: string
866-
deleteOptions?:
867-
| {
868-
readonly recursive?: boolean | undefined | null
869-
readonly ignoreIfNotExists?: boolean | undefined | null
870-
}
871-
| undefined
872-
| null
873-
metadata?: vscode.WorkspaceEditEntryMetadata | undefined | null
874-
}
875852
export interface EditFileOperation {
876853
type: 'edit-file'
877854
uri: string
878855
edits: TextEdit[]
879856
}
880-
881-
export interface UntitledTextDocument {
882-
uri: string
883-
content?: string | undefined | null
884-
language?: string | undefined | null
885-
}
886-
887857
export interface TextDocumentEditParams {
888858
uri: string
889859
edits: TextEdit[]
@@ -1029,12 +999,6 @@ export interface GetFoldingRangeParams {
1029999
export interface GetFoldingRangeResult {
10301000
range: Range
10311001
}
1032-
1033-
export interface RemoteRepoFetchState {
1034-
state: 'paused' | 'fetching' | 'errored' | 'complete'
1035-
error?: CodyError | undefined | null
1036-
}
1037-
10381002
// Copy-pasted from @types/node
10391003
export interface MemoryUsage {
10401004
rss: number

vscode/src/testutils/AgentWorkspaceEdit.ts

Lines changed: 10 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import type * as vscode from 'vscode'
2+
import type { Uri, WorkspaceEditEntryMetadata } from 'vscode'
23
import type { EditFileOperation, WorkspaceEditOperation } from '../jsonrpc/agent-protocol'
34

45
export class AgentWorkspaceEdit implements vscode.WorkspaceEdit {
@@ -17,16 +18,11 @@ export class AgentWorkspaceEdit implements vscode.WorkspaceEdit {
1718
for (const operation of this.edits.values()) {
1819
switch (operation.type) {
1920
case 'create-file':
20-
case 'delete-file':
2121
case 'edit-file':
2222
if (operation.uri === uriString) {
2323
return true
2424
}
2525
break
26-
case 'rename-file':
27-
if (operation.oldUri === uriString) {
28-
return true
29-
}
3026
}
3127
}
3228
return false
@@ -61,38 +57,20 @@ export class AgentWorkspaceEdit implements vscode.WorkspaceEdit {
6157
}
6258

6359
public deleteFile(
64-
uri: vscode.Uri,
65-
options?:
66-
| {
67-
readonly recursive?: boolean | undefined
68-
readonly ignoreIfNotExists?: boolean | undefined
69-
}
70-
| undefined,
71-
metadata?: vscode.WorkspaceEditEntryMetadata | undefined
60+
uri: Uri,
61+
options?: { readonly recursive?: boolean; readonly ignoreIfNotExists?: boolean },
62+
metadata?: WorkspaceEditEntryMetadata
7263
): void {
73-
this.edits.push({
74-
type: 'delete-file',
75-
uri: uri.toString(),
76-
deleteOptions: options,
77-
metadata,
78-
})
64+
throw new Error('Method not implemented.')
7965
}
8066

8167
public renameFile(
82-
oldUri: vscode.Uri,
83-
newUri: vscode.Uri,
84-
options?:
85-
| { readonly overwrite?: boolean | undefined; readonly ignoreIfExists?: boolean | undefined }
86-
| undefined,
87-
metadata?: vscode.WorkspaceEditEntryMetadata | undefined
68+
oldUri: Uri,
69+
newUri: Uri,
70+
options?: { readonly overwrite?: boolean; readonly ignoreIfExists?: boolean },
71+
metadata?: WorkspaceEditEntryMetadata
8872
): void {
89-
this.edits.push({
90-
type: 'rename-file',
91-
oldUri: oldUri.toString(),
92-
newUri: newUri.toString(),
93-
options,
94-
metadata,
95-
})
73+
throw new Error('Method not implemented.')
9674
}
9775

9876
public replace(

0 commit comments

Comments
 (0)