Skip to content

Commit 41d2a33

Browse files
committed
feat(workflow): Update workflow panel title on save/load
- Update the workflow panel title to reflect the currently loaded or saved workflow file name. - The title is updated after saving a workflow and loading a workflow. - Bump to version 1.74.0+3
1 parent 719d11a commit 41d2a33

File tree

4 files changed

+34
-12
lines changed

4 files changed

+34
-12
lines changed

vscode/package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"name": "cody-ai",
44
"private": true,
55
"displayName": "Cody: AI Code Assistant",
6-
"version": "1.74.0+2",
6+
"version": "1.74.0+3",
77
"publisher": "sourcegraph",
88
"license": "Apache-2.0",
99
"icon": "resources/sourcegraph.png",
@@ -13,9 +13,9 @@
1313
"postinstall": "pnpm download-wasm && pnpm download-fonts && pnpm copy-win-ca-roots",
1414
"dev": "pnpm run -s dev:desktop",
1515
"dev:insiders": "pnpm run -s dev:desktop:insiders",
16-
"start:dev:desktop": "ts-node scripts/run-with-extension-development-path.ts code --disable-extension=sourcegraph.cody-ai --disable-extension=github.copilot --inspect-extensions=9333 --new-window . --goto ./src/completions/inline-completion-item-provider.ts:16:5",
16+
"start:dev:desktop": "ts-node scripts/run-with-extension-development-path.ts code --disable-extension=sourcegraph.cody-ai --disable-extension=github.copilot --inspect-extensions=9333 --new-window ./.. --goto ./src/completions/inline-completion-item-provider.ts:16:5",
1717
"dev:desktop": "pnpm run -s build:dev:desktop && pnpm run start:dev:desktop",
18-
"dev:desktop:insiders": "pnpm run -s build:dev:desktop && ts-node scripts/run-with-extension-development-path.ts code-insiders --disable-extension=sourcegraph.cody-ai --disable-extension=github.copilot --inspect-extensions=9333 --new-window . --goto ./src/completions/inline-completion-item-provider.ts:16:5",
18+
"dev:desktop:insiders": "pnpm run -s build:dev:desktop && ts-node scripts/run-with-extension-development-path.ts code-insiders --disable-extension=sourcegraph.cody-ai --disable-extension=github.copilot --inspect-extensions=9333 --new-window ./.. --goto ./src/completions/inline-completion-item-provider.ts:16:5",
1919
"dev:web": "pnpm run -s build:dev:web && pnpm run -s _dev:vscode-test-web --browserType none",
2020
"watch:dev:web": "concurrently \"pnpm run -s watch:build:dev:web\" \"pnpm run -s _dev:vscode-test-web --browserType none\"",
2121
"_dev:vscode-test-web": "vscode-test-web --extensionDevelopmentPath=. ${WORKSPACE-test/fixtures/workspace}",

vscode/src/chat/initialContext.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@ export function getCorpusContextItemsForEditorState(
209209
abortableOperation(async ([authStatus, remoteReposForAllWorkspaceFolders], signal) => {
210210
const items: ContextItem[] = []
211211
// Local context is not available to enterprise users
212-
if (!authStatus.isEnterpriseUser && authStatus.isEnterpriseStarterUser) {
212+
if (!authStatus.isEnterpriseUser) {
213213
// TODO(sqs): Support multi-root. Right now, this only supports the 1st workspace root.
214214
const workspaceFolder = vscode.workspace.workspaceFolders?.at(0)
215215

vscode/src/workflow/workflow-io.ts

+18-3
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,13 @@ const CODY_WORKFLOWS_DIR = '.sourcegraph/workflows'
1313
* @param data - The workflow data to be saved.
1414
* @returns A Promise that resolves when the workflow file has been successfully saved, or rejects if an error occurs.
1515
*/
16-
export async function handleWorkflowSave(data: any): Promise<void> {
16+
export async function handleWorkflowSave(data: any): Promise<string | undefined> {
1717
const workspaceRootFsPath = vscode.workspace.workspaceFolders?.[0]?.uri?.path
1818
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+
)
2023
: vscode.Uri.file('workflow.json')
2124
const result = await vscode.window.showSaveDialog({
2225
defaultUri: defaultFilePath,
@@ -29,10 +32,16 @@ export async function handleWorkflowSave(data: any): Promise<void> {
2932
try {
3033
await writeToCodyJSON(result, { ...data, version: WORKFLOW_VERSION })
3134
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(/\.json$/, '')
3240
} catch (error) {
3341
void vscode.window.showErrorMessage(`Failed to save workflow: ${error}`)
3442
}
3543
}
44+
return undefined
3645
}
3746

3847
/**
@@ -61,7 +70,13 @@ export async function handleWorkflowLoad(): Promise<any> {
6170
const rawData = JSON.parse(content.toString())
6271
const data = migrateWorkflowData(rawData)
6372
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(/\.json$/, '')
78+
79+
return { data, filename }
6580
} catch (error) {
6681
void vscode.window.showErrorMessage(`Failed to load workflow: ${error}`)
6782
return []

vscode/src/workflow/workflow.ts

+12-5
Original file line numberDiff line numberDiff line change
@@ -76,15 +76,22 @@ export function registerWorkflowCommands(
7676
})
7777
break
7878
}
79-
case 'save_workflow':
80-
await handleWorkflowSave(message.data)
79+
case 'save_workflow': {
80+
const filename = await handleWorkflowSave(message.data)
81+
if (filename) {
82+
panel.title = `Workflow: ${filename}`
83+
}
8184
break
85+
}
8286
case 'load_workflow': {
83-
const loadedData = await handleWorkflowLoad()
84-
if (loadedData) {
87+
const result = await handleWorkflowLoad()
88+
if (result) {
89+
if (result.filename) {
90+
panel.title = `Workflow: ${result.filename}`
91+
}
8592
await panel.webview.postMessage({
8693
type: 'workflow_loaded',
87-
data: loadedData,
94+
data: result.data,
8895
} as ExtensionToWorkflow)
8996
}
9097
break

0 commit comments

Comments
 (0)