feat: introduce workflow management tools and commands

- Added new workflow commands: `/workflow` to open the workflow panel and `/workflow run <prompt>` to execute workflows.
- Implemented `spawn_agents` and `spawn_pipeline` tools for parallel and sequential task execution, respectively.
- Enhanced workflow engine to handle real-time agent status updates and display in the UI.
- Updated workflow panel to show agent statuses, findings count, and session counters.
- Refactored existing code to integrate new workflow functionalities and improve overall structure.
This commit is contained in:
asepharyana
2026-07-12 17:49:34 +07:00
parent 7bdfd9c4c4
commit 53b0cb271f
14 changed files with 668 additions and 173 deletions
+3
View File
@@ -92,6 +92,9 @@ const COMMANDS: &[&str] = &[
"/model",
"/model ls",
"/model add",
"/workflow",
"/workflow run",
"/compact",
];
impl InputState {
+7
View File
@@ -103,6 +103,13 @@ pub enum TurnEvent {
Compacted(Vec<crate::dto::chat::message::ChatMessage>),
Error(String),
Done,
/// Real-time update from a workflow subagent: push the new status
/// into `AppStateRest::workflow_engine.agents`.
WorkflowAgentUpdate {
agent_id: String,
agent_name: String,
status: crate::app::workflow::engine::AgentStatus,
},
}
impl SessionRuntime {