refactor: Move AutoTask system from basic/keywords to auto_task module
- Move app_generator, intent_classifier, intent_compiler, autotask_api, designer_ai, ask_later, auto_task, safety_layer to src/auto_task/ - Create auto_task/mod.rs with exports and route configuration - Update imports in moved files - Update main.rs to use auto_task::configure_autotask_routes - Keep table_definition in keywords (shared utility)
This commit is contained in:
parent
a384678fb8
commit
36fb7988cb
13 changed files with 87 additions and 84 deletions
|
|
@ -447,4 +447,4 @@ impl Default for TaskSchedule {
|
|||
}
|
||||
}
|
||||
|
||||
use crate::basic::keywords::safety_layer::SimulationResult;
|
||||
use crate::auto_task::safety_layer::SimulationResult;
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
use crate::basic::keywords::auto_task::{
|
||||
use crate::auto_task::auto_task::{
|
||||
AutoTask, AutoTaskStatus, ExecutionMode, PendingApproval, PendingDecision, TaskPriority,
|
||||
};
|
||||
use crate::basic::keywords::intent_classifier::IntentClassifier;
|
||||
use crate::basic::keywords::intent_compiler::IntentCompiler;
|
||||
use crate::basic::keywords::safety_layer::{SafetyLayer, SimulationResult};
|
||||
use crate::auto_task::intent_classifier::IntentClassifier;
|
||||
use crate::auto_task::intent_compiler::IntentCompiler;
|
||||
use crate::auto_task::safety_layer::{SafetyLayer, SimulationResult};
|
||||
use crate::shared::state::AppState;
|
||||
use axum::{
|
||||
extract::{Path, Query, State},
|
||||
|
|
@ -1340,7 +1340,7 @@ fn create_auto_task_from_plan(
|
|||
pending_decisions: Vec::new(),
|
||||
pending_approvals: Vec::new(),
|
||||
risk_summary: None,
|
||||
resource_usage: crate::basic::keywords::auto_task::ResourceUsage::default(),
|
||||
resource_usage: crate::auto_task::auto_task::ResourceUsage::default(),
|
||||
error: None,
|
||||
rollback_state: None,
|
||||
session_id: session.id.to_string(),
|
||||
|
|
@ -12,8 +12,8 @@
|
|||
//! - GOAL: "increase sales 20%" → Autonomous LLM loop with metrics
|
||||
//! - TOOL: "when I say X, do Y" → Voice/chat command
|
||||
|
||||
use crate::basic::keywords::app_generator::AppGenerator;
|
||||
use crate::basic::keywords::intent_compiler::IntentCompiler;
|
||||
use crate::auto_task::app_generator::AppGenerator;
|
||||
use crate::auto_task::intent_compiler::IntentCompiler;
|
||||
use crate::shared::models::UserSession;
|
||||
use crate::shared::state::AppState;
|
||||
use chrono::{DateTime, Utc};
|
||||
77
src/auto_task/mod.rs
Normal file
77
src/auto_task/mod.rs
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
pub mod app_generator;
|
||||
pub mod ask_later;
|
||||
pub mod auto_task;
|
||||
pub mod autotask_api;
|
||||
pub mod designer_ai;
|
||||
pub mod intent_classifier;
|
||||
pub mod intent_compiler;
|
||||
pub mod safety_layer;
|
||||
|
||||
pub use app_generator::{
|
||||
AppGenerator, AppStructure, GeneratedApp, GeneratedPage, GeneratedScript, PageType, ScriptType,
|
||||
SyncResult,
|
||||
};
|
||||
pub use ask_later::{ask_later_keyword, PendingInfoItem};
|
||||
pub use auto_task::{AutoTask, AutoTaskStatus, ExecutionMode, TaskPriority};
|
||||
pub use autotask_api::{
|
||||
apply_recommendation_handler, cancel_task_handler, classify_intent_handler,
|
||||
compile_intent_handler, create_and_execute_handler, execute_plan_handler, execute_task_handler,
|
||||
get_approvals_handler, get_decisions_handler, get_pending_items_handler, get_stats_handler,
|
||||
get_task_logs_handler, list_tasks_handler, pause_task_handler, resume_task_handler,
|
||||
simulate_plan_handler, simulate_task_handler, submit_approval_handler, submit_decision_handler,
|
||||
submit_pending_item_handler,
|
||||
};
|
||||
pub use designer_ai::DesignerAI;
|
||||
pub use intent_classifier::{ClassifiedIntent, IntentClassifier, IntentType};
|
||||
pub use intent_compiler::{CompiledIntent, IntentCompiler};
|
||||
pub use safety_layer::{AuditEntry, ConstraintCheckResult, SafetyLayer, SimulationResult};
|
||||
|
||||
pub fn configure_autotask_routes() -> axum::Router<std::sync::Arc<crate::shared::state::AppState>> {
|
||||
use axum::routing::{get, post};
|
||||
|
||||
axum::Router::new()
|
||||
.route("/api/autotask/create", post(create_and_execute_handler))
|
||||
.route("/api/autotask/classify", post(classify_intent_handler))
|
||||
.route("/api/autotask/compile", post(compile_intent_handler))
|
||||
.route("/api/autotask/execute", post(execute_plan_handler))
|
||||
.route(
|
||||
"/api/autotask/simulate/:plan_id",
|
||||
post(simulate_plan_handler),
|
||||
)
|
||||
.route("/api/autotask/list", get(list_tasks_handler))
|
||||
.route("/api/autotask/stats", get(get_stats_handler))
|
||||
.route("/api/autotask/:task_id/pause", post(pause_task_handler))
|
||||
.route("/api/autotask/:task_id/resume", post(resume_task_handler))
|
||||
.route("/api/autotask/:task_id/cancel", post(cancel_task_handler))
|
||||
.route(
|
||||
"/api/autotask/:task_id/simulate",
|
||||
post(simulate_task_handler),
|
||||
)
|
||||
.route(
|
||||
"/api/autotask/:task_id/decisions",
|
||||
get(get_decisions_handler),
|
||||
)
|
||||
.route(
|
||||
"/api/autotask/:task_id/decide",
|
||||
post(submit_decision_handler),
|
||||
)
|
||||
.route(
|
||||
"/api/autotask/:task_id/approvals",
|
||||
get(get_approvals_handler),
|
||||
)
|
||||
.route(
|
||||
"/api/autotask/:task_id/approve",
|
||||
post(submit_approval_handler),
|
||||
)
|
||||
.route("/api/autotask/:task_id/execute", post(execute_task_handler))
|
||||
.route("/api/autotask/:task_id/logs", get(get_task_logs_handler))
|
||||
.route(
|
||||
"/api/autotask/recommendations/:rec_id/apply",
|
||||
post(apply_recommendation_handler),
|
||||
)
|
||||
.route("/api/autotask/pending", get(get_pending_items_handler))
|
||||
.route(
|
||||
"/api/autotask/pending/:item_id",
|
||||
post(submit_pending_item_handler),
|
||||
)
|
||||
}
|
||||
|
|
@ -5,12 +5,8 @@ pub mod add_suggestion;
|
|||
pub mod agent_reflection;
|
||||
pub mod ai_tools;
|
||||
pub mod api_tool_generator;
|
||||
pub mod app_generator;
|
||||
pub mod app_server;
|
||||
pub mod arrays;
|
||||
pub mod ask_later;
|
||||
pub mod auto_task;
|
||||
pub mod autotask_api;
|
||||
pub mod book;
|
||||
pub mod bot_memory;
|
||||
pub mod clear_kb;
|
||||
|
|
@ -24,7 +20,6 @@ pub mod crm;
|
|||
pub mod data_operations;
|
||||
pub mod datetime;
|
||||
pub mod db_api;
|
||||
pub mod designer_ai;
|
||||
pub mod episodic_memory;
|
||||
pub mod errors;
|
||||
pub mod file_operations;
|
||||
|
|
@ -37,8 +32,6 @@ pub mod hear_talk;
|
|||
pub mod http_operations;
|
||||
pub mod human_approval;
|
||||
pub mod import_export;
|
||||
pub mod intent_classifier;
|
||||
pub mod intent_compiler;
|
||||
pub mod kb_statistics;
|
||||
pub mod knowledge_graph;
|
||||
pub mod last;
|
||||
|
|
@ -60,7 +53,6 @@ pub mod print;
|
|||
pub mod procedures;
|
||||
pub mod qrcode;
|
||||
pub mod remember;
|
||||
pub mod safety_layer;
|
||||
pub mod save_from_unstructured;
|
||||
pub mod send_mail;
|
||||
pub mod send_template;
|
||||
|
|
@ -87,77 +79,10 @@ pub mod weather;
|
|||
pub mod web_data;
|
||||
pub mod webhook;
|
||||
|
||||
pub use app_generator::{
|
||||
AppGenerator, GeneratedApp, GeneratedPage, GeneratedScript, PageType, SyncResult,
|
||||
};
|
||||
pub use app_server::configure_app_server_routes;
|
||||
pub use auto_task::{AutoTask, AutoTaskStatus, ExecutionMode, TaskPriority};
|
||||
pub use db_api::configure_db_routes;
|
||||
pub use designer_ai::{DesignerAI, DesignerContext, ModificationResult, ModificationType};
|
||||
pub use intent_classifier::{ClassifiedIntent, IntentClassifier, IntentResult, IntentType};
|
||||
pub use intent_compiler::{CompiledIntent, ExecutionPlan, IntentCompiler, PlanStep};
|
||||
pub use mcp_client::{McpClient, McpRequest, McpResponse, McpServer, McpTool};
|
||||
pub use mcp_directory::{McpDirectoryScanResult, McpDirectoryScanner, McpServerConfig};
|
||||
pub use safety_layer::{AuditEntry, ConstraintCheckResult, SafetyLayer, SimulationResult};
|
||||
|
||||
pub use autotask_api::{
|
||||
apply_recommendation_handler, cancel_task_handler, classify_intent_handler,
|
||||
compile_intent_handler, create_and_execute_handler, execute_plan_handler, execute_task_handler,
|
||||
get_approvals_handler, get_decisions_handler, get_pending_items_handler, get_stats_handler,
|
||||
get_task_logs_handler, list_tasks_handler, pause_task_handler, resume_task_handler,
|
||||
simulate_plan_handler, simulate_task_handler, submit_approval_handler, submit_decision_handler,
|
||||
submit_pending_item_handler,
|
||||
};
|
||||
|
||||
pub fn configure_autotask_routes() -> axum::Router<std::sync::Arc<crate::shared::state::AppState>> {
|
||||
use axum::routing::{get, post};
|
||||
|
||||
axum::Router::new()
|
||||
.route("/api/autotask/create", post(create_and_execute_handler))
|
||||
.route("/api/autotask/classify", post(classify_intent_handler))
|
||||
.route("/api/autotask/compile", post(compile_intent_handler))
|
||||
.route("/api/autotask/execute", post(execute_plan_handler))
|
||||
.route(
|
||||
"/api/autotask/simulate/:plan_id",
|
||||
post(simulate_plan_handler),
|
||||
)
|
||||
.route("/api/autotask/list", get(list_tasks_handler))
|
||||
.route("/api/autotask/stats", get(get_stats_handler))
|
||||
.route("/api/autotask/:task_id/pause", post(pause_task_handler))
|
||||
.route("/api/autotask/:task_id/resume", post(resume_task_handler))
|
||||
.route("/api/autotask/:task_id/cancel", post(cancel_task_handler))
|
||||
.route(
|
||||
"/api/autotask/:task_id/simulate",
|
||||
post(simulate_task_handler),
|
||||
)
|
||||
.route(
|
||||
"/api/autotask/:task_id/decisions",
|
||||
get(get_decisions_handler),
|
||||
)
|
||||
.route(
|
||||
"/api/autotask/:task_id/decide",
|
||||
post(submit_decision_handler),
|
||||
)
|
||||
.route(
|
||||
"/api/autotask/:task_id/approvals",
|
||||
get(get_approvals_handler),
|
||||
)
|
||||
.route(
|
||||
"/api/autotask/:task_id/approve",
|
||||
post(submit_approval_handler),
|
||||
)
|
||||
.route("/api/autotask/:task_id/execute", post(execute_task_handler))
|
||||
.route("/api/autotask/:task_id/logs", get(get_task_logs_handler))
|
||||
.route(
|
||||
"/api/autotask/recommendations/:rec_id/apply",
|
||||
post(apply_recommendation_handler),
|
||||
)
|
||||
.route("/api/autotask/pending", get(get_pending_items_handler))
|
||||
.route(
|
||||
"/api/autotask/pending/:item_id",
|
||||
post(submit_pending_item_handler),
|
||||
)
|
||||
}
|
||||
|
||||
pub fn get_all_keywords() -> Vec<String> {
|
||||
vec![
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
pub mod auto_task;
|
||||
pub mod basic;
|
||||
pub mod core;
|
||||
pub mod multimodal;
|
||||
|
|
|
|||
|
|
@ -212,7 +212,7 @@ async fn run_axum_server(
|
|||
api_router = api_router.merge(botserver::designer::configure_designer_routes());
|
||||
api_router = api_router.merge(botserver::basic::keywords::configure_db_routes());
|
||||
api_router = api_router.merge(botserver::basic::keywords::configure_app_server_routes());
|
||||
api_router = api_router.merge(botserver::basic::keywords::configure_autotask_routes());
|
||||
api_router = api_router.merge(botserver::auto_task::configure_autotask_routes());
|
||||
|
||||
#[cfg(feature = "whatsapp")]
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue