Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(workflow): Implement Visual Workflow Editor with Execution Engine #6055

Open
wants to merge 36 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
b5aef24
feat(webviews): add Toolbox tab with placeholder tools
PriNova Nov 2, 2024
823fa3b
feat(workflow): add Workflow Editor
PriNova Nov 2, 2024
9a4e067
feat(webview): implement workflow editor with ReactFlow
PriNova Nov 2, 2024
aff3f32
refactor(workflow): extract WorkflowApp component and improve resourc…
PriNova Nov 3, 2024
94545e4
refactor(workflow-editor): integrate VSCode API and improve TypeScrip…
PriNova Nov 3, 2024
fd42c68
feat(workflow): enhance workflow editor with sidebar and improved UI …
PriNova Nov 3, 2024
8e23248
style(workflow): enhance node visualization with VSCode theme integra…
PriNova Nov 3, 2024
022e4a8
refactor(workflow): improve node types and visualization
PriNova Nov 3, 2024
36fe3e5
refactor(workflow)!: reorganize workflow module structure
PriNova Nov 3, 2024
1fae6cd
feat(workflow): add node property editor and enhanced state visualiza…
PriNova Nov 3, 2024
17c64b8
refactor(workflow): restructure node components and enhance selection…
PriNova Nov 3, 2024
76ef2e9
feat(workflow-sidebar): add workflow management actions and improve b…
PriNova Nov 3, 2024
2afbce5
feat(workflow): add save/load functionality for workflow editor
PriNova Nov 3, 2024
f04e585
feat(workflow): add workflow loading functionality
PriNova Nov 4, 2024
7f9d010
feat(workflow): implement workflow execution engine
PriNova Nov 4, 2024
7bfc482
Merge branch 'main' into PriNova/workflow-editor
PriNova Nov 4, 2024
945434b
fix: biome formatting
PriNova Nov 4, 2024
89fac8b
refactor(workflow): remove unused imports in workflow-executor.ts
PriNova Nov 4, 2024
c96e355
feat(workflow): implement secure CLI execution with node context
PriNova Nov 4, 2024
0a3721e
feat(workflow): respect edge order in workflow execution
PriNova Nov 4, 2024
7120d1f
feat(workflow): add ordered edge visualization with topological sorting
PriNova Nov 4, 2024
c1ff4b8
refactor(toolbox): simplify toolbox UI to workflow editor button
PriNova Nov 4, 2024
940814d
refactor(workflow-ui): normalize node type labels in sidebar
PriNova Nov 4, 2024
986d2d1
feat(workflow): enhance error handling and node validation
PriNova Nov 4, 2024
4f4d8fd
feat(workflow): implement LLM node execution with input sanitization
PriNova Nov 4, 2024
813cf84
feat(workflow): add preview node type for visual workflow output
PriNova Nov 4, 2024
dbd5d1b
feat(workflow): improve execution state management and feedback
PriNova Nov 4, 2024
eb18d1d
refactor(workflow): migrate to UUID-based node identification
PriNova Nov 4, 2024
2931d67
feat(workflow): add Input node type and streamline node validation
PriNova Nov 5, 2024
ec849e4
docs(workflow): add comprehensive JSDoc documentation to workflow module
PriNova Nov 5, 2024
e76567f
refactor(workflow): enhance node types and UI components
PriNova Nov 5, 2024
b064d1e
feat(workflow): add resizable sidebar with drag handle
PriNova Nov 6, 2024
9e4d34b
style(ui): enhance workflow editor visual hierarchy
PriNova Nov 6, 2024
ae1af5e
feat(workflow): implement node cloning and add clear workflow functio…
PriNova Nov 6, 2024
3f48a88
Merge branch 'main' into PriNova/workflow-editor
PriNova Nov 6, 2024
ddb785e
feat(workflow): implement positional inputs for workflow nodes
PriNova Nov 6, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
234 changes: 232 additions & 2 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions vscode/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -595,6 +595,11 @@
"command": "cody.command.insertCodeToNewFile",
"title": "Save Code to New File...",
"enablement": "cody.activated"
},
{
"command": "cody.openWorkflowEditor",
"title": "Open Workflow Editor",
"category": "Cody"
}
],
"keybindings": [
Expand Down Expand Up @@ -1386,6 +1391,7 @@
"@radix-ui/react-collapsible": "^1.1.0",
"@radix-ui/react-dialog": "^1.0.5",
"@radix-ui/react-form": "^0.1.0",
"@radix-ui/react-label": "^2.1.0",
"@radix-ui/react-popover": "^1.0.7",
"@radix-ui/react-progress": "^1.1.0",
"@radix-ui/react-slot": "^1.0.2",
Expand All @@ -1404,6 +1410,7 @@
"@types/react-dom": "18.2.25",
"@vscode/codicons": "^0.0.35",
"@vscode/webview-ui-toolkit": "^1.2.2",
"@xyflow/react": "^12.3.4",
"agent-base": "^7.1.1",
"async-mutex": "^0.4.0",
"axios": "^1.3.6",
Expand Down
2 changes: 2 additions & 0 deletions vscode/src/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,7 @@ import { openCodyIssueReporter } from './services/utils/issue-reporter'
import { SupercompletionProvider } from './supercompletions/supercompletion-provider'
import { parseAllVisibleDocuments, updateParseTreeOnEdit } from './tree-sitter/parse-tree-cache'
import { version } from './version'
import { registerWorkflowCommands } from './workflow/workflow'

/**
* Start the extension, watching all relevant configuration and secrets for changes.
Expand Down Expand Up @@ -288,6 +289,7 @@ const register = async (
registerOtherCommands(disposables)
if (clientCapabilities().isVSCode) {
registerVSCodeOnlyFeatures(chatClient, disposables)
registerWorkflowCommands(context, chatClient)
}
if (isExtensionModeDevOrTest) {
await registerTestCommands(context, disposables)
Expand Down
Loading
Loading