feat: add provider-backed agent runtime
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
pub mod planner;
|
||||
pub mod runtime;
|
||||
|
||||
use crate::llm::DeepSeekProvider;
|
||||
use crate::pipe::{AgentMessage, BrowserMessage, BrowserPipeTool, PipeError, Transport};
|
||||
|
||||
pub fn execute_task<T: Transport>(
|
||||
@@ -39,14 +41,31 @@ pub fn handle_browser_message<T: Transport>(
|
||||
) -> Result<(), PipeError> {
|
||||
match message {
|
||||
BrowserMessage::SubmitTask { instruction } => {
|
||||
let completion = match execute_task(transport, browser_tool, &instruction) {
|
||||
Ok(summary) => AgentMessage::TaskComplete {
|
||||
success: true,
|
||||
summary,
|
||||
let completion = match DeepSeekProvider::from_env() {
|
||||
Ok(provider) => match runtime::execute_task_with_provider(
|
||||
transport,
|
||||
browser_tool,
|
||||
&provider,
|
||||
&instruction,
|
||||
) {
|
||||
Ok(summary) => AgentMessage::TaskComplete {
|
||||
success: true,
|
||||
summary,
|
||||
},
|
||||
Err(err) => AgentMessage::TaskComplete {
|
||||
success: false,
|
||||
summary: err.to_string(),
|
||||
},
|
||||
},
|
||||
Err(err) => AgentMessage::TaskComplete {
|
||||
success: false,
|
||||
summary: err.to_string(),
|
||||
Err(_) => match execute_task(transport, browser_tool, &instruction) {
|
||||
Ok(summary) => AgentMessage::TaskComplete {
|
||||
success: true,
|
||||
summary,
|
||||
},
|
||||
Err(err) => AgentMessage::TaskComplete {
|
||||
success: false,
|
||||
summary: err.to_string(),
|
||||
},
|
||||
},
|
||||
};
|
||||
transport.send(&completion)
|
||||
|
||||
Reference in New Issue
Block a user