chore(add-req): update active directories list for requirement generation
Enable automation, basic, config, context, session, kb, and tools directories while disabling bootstrap, file, and drive_monitor to refine which modules are processed by add-req.sh.
This commit is contained in:
parent
191ff1a7d8
commit
c079d6e452
7 changed files with 33 additions and 74 deletions
22
add-req.sh
22
add-req.sh
|
|
@ -20,25 +20,25 @@ done
|
||||||
|
|
||||||
dirs=(
|
dirs=(
|
||||||
# "auth"
|
# "auth"
|
||||||
# "automation"
|
"automation"
|
||||||
# "basic"
|
"basic"
|
||||||
"bot"
|
"bot"
|
||||||
"bootstrap"
|
# "bootstrap"
|
||||||
#"package_manager"
|
# "package_manager"
|
||||||
# "channels"
|
# "channels"
|
||||||
# "config"
|
"config"
|
||||||
# "context"
|
"context"
|
||||||
# "email"
|
# "email"
|
||||||
"file"
|
# "file"
|
||||||
# "llm"
|
# "llm"
|
||||||
"drive_monitor"
|
# "drive_monitor"
|
||||||
# "llm_legacy"
|
# "llm_legacy"
|
||||||
# "org"
|
# "org"
|
||||||
# "session"
|
"session"
|
||||||
#"kb"
|
"kb"
|
||||||
"shared"
|
"shared"
|
||||||
#"tests"
|
#"tests"
|
||||||
# "tools"
|
"tools"
|
||||||
# "web_automation"
|
# "web_automation"
|
||||||
# "whatsapp"
|
# "whatsapp"
|
||||||
)
|
)
|
||||||
|
|
|
||||||
4
prompts/dev/platform/ide.md
Normal file
4
prompts/dev/platform/ide.md
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
- On code return identifiers in english language.
|
||||||
|
- Do not emmit any comment, and remove any existants in Rust/html.
|
||||||
|
- Compact the code emission where possible.
|
||||||
|
- On change code, ensure cargo check cycle to remove warnings and errors.
|
||||||
|
|
@ -379,7 +379,6 @@ impl AutomationService {
|
||||||
user_id: Uuid::new_v4(),
|
user_id: Uuid::new_v4(),
|
||||||
bot_id,
|
bot_id,
|
||||||
title: "Automation".to_string(),
|
title: "Automation".to_string(),
|
||||||
answer_mode: 0,
|
|
||||||
current_tool: None,
|
current_tool: None,
|
||||||
context_data: serde_json::Value::Null,
|
context_data: serde_json::Value::Null,
|
||||||
created_at: Utc::now(),
|
created_at: Utc::now(),
|
||||||
|
|
|
||||||
|
|
@ -229,20 +229,6 @@ impl BotOrchestrator {
|
||||||
self.state.response_channels.lock().await.remove(session_id);
|
self.state.response_channels.lock().await.remove(session_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
pub async fn set_user_answer_mode(
|
|
||||||
&self,
|
|
||||||
user_id: &str,
|
|
||||||
bot_id: &str,
|
|
||||||
mode: i32,
|
|
||||||
) -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
|
|
||||||
info!(
|
|
||||||
"Setting answer mode for user {} with bot {} to mode {}",
|
|
||||||
user_id, bot_id, mode
|
|
||||||
);
|
|
||||||
let mut session_manager = self.state.session_manager.lock().await;
|
|
||||||
session_manager.update_answer_mode(user_id, bot_id, mode)?;
|
|
||||||
Ok(())
|
|
||||||
}
|
|
||||||
|
|
||||||
pub async fn send_event(
|
pub async fn send_event(
|
||||||
&self,
|
&self,
|
||||||
|
|
@ -447,7 +433,7 @@ impl BotOrchestrator {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if session.answer_mode == 1 && session.current_tool.is_some() {
|
if session.current_tool.is_some() {
|
||||||
self.state.tool_manager.provide_user_response(
|
self.state.tool_manager.provide_user_response(
|
||||||
&message.user_id,
|
&message.user_id,
|
||||||
&message.bot_id,
|
&message.bot_id,
|
||||||
|
|
@ -641,7 +627,7 @@ impl BotOrchestrator {
|
||||||
.parse::<usize>()
|
.parse::<usize>()
|
||||||
.unwrap_or(0);
|
.unwrap_or(0);
|
||||||
|
|
||||||
let current_context_length = 0usize;
|
let current_context_length = crate::shared::utils::estimate_token_count(&context_data);
|
||||||
|
|
||||||
let final_msg = BotResponse {
|
let final_msg = BotResponse {
|
||||||
bot_id: message.bot_id,
|
bot_id: message.bot_id,
|
||||||
|
|
@ -783,14 +769,14 @@ impl BotOrchestrator {
|
||||||
user_id: "system".to_string(),
|
user_id: "system".to_string(),
|
||||||
session_id: session_id.to_string(),
|
session_id: session_id.to_string(),
|
||||||
channel: channel.to_string(),
|
channel: channel.to_string(),
|
||||||
content: format!("⚠️ WARNING: {}", message),
|
content: format!("⚠️ WARNING: {}", message),
|
||||||
message_type: 1,
|
message_type: 1,
|
||||||
stream_token: None,
|
stream_token: None,
|
||||||
is_complete: true,
|
is_complete: true,
|
||||||
suggestions: Vec::new(),
|
suggestions: Vec::new(),
|
||||||
context_name: None,
|
context_name: None,
|
||||||
context_length: 0,
|
context_length: 0,
|
||||||
context_max_length: 0,
|
context_max_length: 0,
|
||||||
};
|
};
|
||||||
adapter.send_message(warn_response).await
|
adapter.send_message(warn_response).await
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -167,7 +167,6 @@ impl SessionManager {
|
||||||
bot_id.eq(bid),
|
bot_id.eq(bid),
|
||||||
title.eq(session_title),
|
title.eq(session_title),
|
||||||
context_data.eq(serde_json::json!({})),
|
context_data.eq(serde_json::json!({})),
|
||||||
answer_mode.eq(0),
|
|
||||||
current_tool.eq(None::<String>),
|
current_tool.eq(None::<String>),
|
||||||
created_at.eq(now),
|
created_at.eq(now),
|
||||||
updated_at.eq(now),
|
updated_at.eq(now),
|
||||||
|
|
@ -406,41 +405,6 @@ impl SessionManager {
|
||||||
Ok(sessions)
|
Ok(sessions)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn update_answer_mode(
|
|
||||||
&mut self,
|
|
||||||
uid: &str,
|
|
||||||
bid: &str,
|
|
||||||
mode: i32,
|
|
||||||
) -> Result<(), Box<dyn Error + Send + Sync>> {
|
|
||||||
use crate::shared::models::user_sessions::dsl::*;
|
|
||||||
|
|
||||||
let user_uuid = Uuid::parse_str(uid).map_err(|e| {
|
|
||||||
warn!("Invalid user ID format: {}", uid);
|
|
||||||
e
|
|
||||||
})?;
|
|
||||||
let bot_uuid = Uuid::parse_str(bid).map_err(|e| {
|
|
||||||
warn!("Invalid bot ID format: {}", bid);
|
|
||||||
e
|
|
||||||
})?;
|
|
||||||
|
|
||||||
let updated_count = diesel::update(
|
|
||||||
user_sessions
|
|
||||||
.filter(user_id.eq(user_uuid))
|
|
||||||
.filter(bot_id.eq(bot_uuid)),
|
|
||||||
)
|
|
||||||
.set((answer_mode.eq(mode), updated_at.eq(chrono::Utc::now())))
|
|
||||||
.execute(&mut self.conn)?;
|
|
||||||
|
|
||||||
if updated_count == 0 {
|
|
||||||
warn!("No session found for user {} and bot {}", uid, bid);
|
|
||||||
} else {
|
|
||||||
info!(
|
|
||||||
"Answer mode updated to {} for user {} and bot {}",
|
|
||||||
mode, uid, bid
|
|
||||||
);
|
|
||||||
}
|
|
||||||
Ok(())
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn update_user_id(
|
pub fn update_user_id(
|
||||||
&mut self,
|
&mut self,
|
||||||
|
|
|
||||||
|
|
@ -82,7 +82,6 @@ pub struct UserSession {
|
||||||
pub bot_id: Uuid,
|
pub bot_id: Uuid,
|
||||||
pub title: String,
|
pub title: String,
|
||||||
pub context_data: serde_json::Value,
|
pub context_data: serde_json::Value,
|
||||||
pub answer_mode: i32,
|
|
||||||
pub current_tool: Option<String>,
|
pub current_tool: Option<String>,
|
||||||
pub created_at: chrono::DateTime<Utc>,
|
pub created_at: chrono::DateTime<Utc>,
|
||||||
pub updated_at: chrono::DateTime<Utc>,
|
pub updated_at: chrono::DateTime<Utc>,
|
||||||
|
|
@ -283,7 +282,6 @@ pub mod schema {
|
||||||
bot_id -> Uuid,
|
bot_id -> Uuid,
|
||||||
title -> Text,
|
title -> Text,
|
||||||
context_data -> Jsonb,
|
context_data -> Jsonb,
|
||||||
answer_mode -> Int4,
|
|
||||||
current_tool -> Nullable<Text>,
|
current_tool -> Nullable<Text>,
|
||||||
created_at -> Timestamptz,
|
created_at -> Timestamptz,
|
||||||
updated_at -> Timestamptz,
|
updated_at -> Timestamptz,
|
||||||
|
|
|
||||||
|
|
@ -192,6 +192,14 @@ pub async fn call_llm(
|
||||||
Ok(format!("Generated response for: {}", prompt))
|
Ok(format!("Generated response for: {}", prompt))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Estimates token count for text using simple heuristic (1 token ≈ 4 chars)
|
||||||
|
pub fn estimate_token_count(text: &str) -> usize {
|
||||||
|
// Basic token estimation - count whitespace-separated words
|
||||||
|
// Add 1 token for every 4 characters as a simple approximation
|
||||||
|
let char_count = text.chars().count();
|
||||||
|
(char_count / 4).max(1) // Ensure at least 1 token
|
||||||
|
}
|
||||||
|
|
||||||
/// Establishes a PostgreSQL connection using DATABASE_URL environment variable
|
/// Establishes a PostgreSQL connection using DATABASE_URL environment variable
|
||||||
pub fn establish_pg_connection() -> Result<PgConnection> {
|
pub fn establish_pg_connection() -> Result<PgConnection> {
|
||||||
let database_url = std::env::var("DATABASE_URL")
|
let database_url = std::env::var("DATABASE_URL")
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue