@@ -13,10 +13,13 @@ const CODY_WORKFLOWS_DIR = '.sourcegraph/workflows'
13
13
* @param data - The workflow data to be saved.
14
14
* @returns A Promise that resolves when the workflow file has been successfully saved, or rejects if an error occurs.
15
15
*/
16
- export async function handleWorkflowSave ( data : any ) : Promise < void > {
16
+ export async function handleWorkflowSave ( data : any ) : Promise < string | undefined > {
17
17
const workspaceRootFsPath = vscode . workspace . workspaceFolders ?. [ 0 ] ?. uri ?. path
18
18
const defaultFilePath = workspaceRootFsPath
19
- ? vscode . Uri . joinPath ( vscode . Uri . file ( workspaceRootFsPath ) , CODY_WORKFLOWS_DIR )
19
+ ? vscode . Uri . joinPath (
20
+ vscode . Uri . file ( workspaceRootFsPath ) ,
21
+ CODY_WORKFLOWS_DIR + '/workflow.json'
22
+ )
20
23
: vscode . Uri . file ( 'workflow.json' )
21
24
const result = await vscode . window . showSaveDialog ( {
22
25
defaultUri : defaultFilePath ,
@@ -29,10 +32,16 @@ export async function handleWorkflowSave(data: any): Promise<void> {
29
32
try {
30
33
await writeToCodyJSON ( result , { ...data , version : WORKFLOW_VERSION } )
31
34
void vscode . window . showInformationMessage ( 'Workflow saved successfully!' )
35
+ // Return the filename for panel title update
36
+ return result . path
37
+ . split ( '/' )
38
+ . pop ( )
39
+ ?. replace ( / \. j s o n $ / , '' )
32
40
} catch ( error ) {
33
41
void vscode . window . showErrorMessage ( `Failed to save workflow: ${ error } ` )
34
42
}
35
43
}
44
+ return undefined
36
45
}
37
46
38
47
/**
@@ -61,7 +70,13 @@ export async function handleWorkflowLoad(): Promise<any> {
61
70
const rawData = JSON . parse ( content . toString ( ) )
62
71
const data = migrateWorkflowData ( rawData )
63
72
void vscode . window . showInformationMessage ( 'Workflow loaded successfully!' )
64
- return data
73
+ // Extract the filename without extension
74
+ const filename = result [ 0 ] . path
75
+ . split ( '/' )
76
+ . pop ( )
77
+ ?. replace ( / \. j s o n $ / , '' )
78
+
79
+ return { data, filename }
65
80
} catch ( error ) {
66
81
void vscode . window . showErrorMessage ( `Failed to load workflow: ${ error } ` )
67
82
return [ ]
0 commit comments