Add experimental thread job scheduler for /loop

This commit is contained in:
Eric Traut
2026-03-30 15:30:34 -06:00
parent 716f7b0428
commit a02c2cd50c
52 changed files with 2291 additions and 113 deletions
+3
View File
@@ -12,6 +12,7 @@ use crate::config_loader::Sourced;
use crate::exec::ExecCapturePolicy;
use crate::exec::ExecToolCallOutput;
use crate::function_tool::FunctionCallError;
use crate::jobs::JobsState;
use crate::mcp_connection_manager::ToolInfo;
use crate::models_manager::model_info;
use crate::shell::default_user_shell;
@@ -2751,6 +2752,7 @@ pub(crate) async fn make_session_and_context() -> (Session, TurnContext) {
mailbox,
mailbox_rx: Mutex::new(mailbox_rx),
idle_pending_input: Mutex::new(Vec::new()),
jobs: Mutex::new(JobsState::default()),
guardian_review_session: crate::guardian::GuardianReviewSessionManager::default(),
services,
js_repl,
@@ -3594,6 +3596,7 @@ pub(crate) async fn make_session_and_context_with_dynamic_tools_and_rx(
mailbox,
mailbox_rx: Mutex::new(mailbox_rx),
idle_pending_input: Mutex::new(Vec::new()),
jobs: Mutex::new(JobsState::default()),
guardian_review_session: crate::guardian::GuardianReviewSessionManager::default(),
services,
js_repl,