Commit graph

3532 commits

Author SHA1 Message Date
3761707c5c Remove sqlite support and switch auth to POST 2025-10-16 16:49:23 -03:00
8ee34b5355 Merge branch 'main' of github.com:GeneralBots/BotServer 2025-10-16 14:43:24 -03:00
e5a9752caa Enhance bot memory and Redis guards
- Derive bot_id from BOT_GUID env var
- Guard concurrent runs with Redis
- Read CACHE_URL for Redis connection
- Extend bot memory keyword to accept comma as separator
- Increase LLM timeouts to 180s (local and legacy)
- Update templates to use bot memory (GET_BOT_MEMORY/SET_BOT_MEMORY)
- Fix start script path to announcements.gbai
2025-10-16 14:22:28 -03:00
c466db6e00
Update issue templates 2025-10-16 11:45:31 -03:00
4acb9bb8f5 Migrate automations to param and sqlite
- Rename script_name to param in automation flow and DB schema
- Add BotMemory model and bot_memories table
- Remove script_name field from automation
- Enable sqlite support via rusqlite and related crates (optional)
- Update prompts and queries to use param instead of script_name
- Remove deprecated annoucements GBai templates and align add-req.sh
- Refactor main to initialize automation service and simplify startup
2025-10-16 11:43:02 -03:00
83d4a61fcd Add dev prompts for keyword, model, and service 2025-10-16 08:04:13 -03:00
44d4a7b392 Delete dev prompt files and update shared rules
Add rule to shared.md to output only modified files in a .sh script
Remove obsolete dev prompt markdown files
2025-10-16 08:04:06 -03:00
34b4612a93 Remove unnecessary mut from response_channels 2025-10-16 07:56:57 -03:00
1fdf76b530 Refactor TALK keyword to use try_send
Remove unnecessary async spawn in TALK handling and use `try_send` on
the WebSocket channel. Acquire `response_channels` with `try_lock` and
spawn an async task only when falling back to the web adapter. Clean up
debug logs and add missing `env` import. Also delete an extra blank line
in the announcement start script.
2025-10-15 22:39:04 -03:00
648e7f48f9 Refactor LLM parsing and overhaul connection UI
- Strip content up to the “final<|message|>” token in OpenAI responses.
- Replace the text‑based connection‑status indicator with a small
  flashing circle.
- Simplify updateConnectionStatus to take only the status argument.
- Remove special handling of the initial assistant message and
  streamline empty‑state removal.
- Clean up stray blank lines in the announcement template.
2025-10-15 22:24:04 -03:00
ff89298e61 Refactor async GET and LLM, add connection UI
- Execute GET requests in a dedicated thread with its own Tokio runtime,
  add timeout handling and clearer error messages.
- Tighten `is_safe_path` checks and simplify HTTP/S3 logic.
- Change `llm_keyword` to accept `Arc<AppState>`, add prompt builder,
  run LLM generation in an isolated thread with timeout.
- Update keyword registration call in `basic/mod.rs`.
- Convert template script to use `let` declarations and return a
  boolean.
- Introduce connection‑status indicator in the web UI with styles,
  automatic reconnection attempts, and proper WS/WSS handling for voice.
2025-10-15 21:18:01 -03:00
3609bf4eaf Remove unused warn logger import 2025-10-15 19:13:40 -03:00
cfeb024173 Refactor GET keyword with blocking execution
- Replace async task spawning with `block_in_place` to simplify GET
  handling
- Add detailed safety checks for file paths and organization prefixes
- Introduce timeout and keep‑alive settings for HTTP client
- Improve S3 bucket access with existence check, timeouts, and richer
  logging
- Switch tracing logs to debug and add warning logs where appropriate
- Update announcement template to retrieve a PDF, generate a resume via
  LLM, and set context for subsequent queries.
2025-10-15 13:13:27 -03:00
f401c170d4 - GET ketyowrd for buckets. 2025-10-15 12:45:15 -03:00
a293c0e083 - Fix on the web presentation. 2025-10-15 10:37:04 -03:00
f626793d77 Refactor LLM flow, add prompts, fix UI streaming
- Extract LLM generation into `execute_llm_generation` and simplify
  keyword handling.
- Prepend system prompt and session context to LLM prompts in
  `BotOrchestrator`.
- Parse incoming WebSocket messages as JSON and use the `content` field.
- Add async `get_session_context` and stop injecting Redis context into
  conversation history.
- Change default LLM URL to `http://48.217.66.81:8080` throughout the
  project.
- Use the existing DB pool instead of creating a separate custom
  connection.
- Update `start.bas` to call LLM and set a new context string.
- Refactor web client message handling: separate event processing,
  improve streaming logic, reset streaming state on thinking end, and
  remove unused test functions.
2025-10-15 01:14:37 -03:00
e144e013d7 Add async Redis context storage and session fetch
- Use `tokio::spawn` to run Redis SET for `SET_CONTEXT` in a background
  task with detailed tracing.
- Move context retrieval from `BotOrchestrator` to `SessionManager`,
  inserting it as a system message in conversation history.
- Remove redundant Redis fetch logic from `BotOrchestrator`.
- Update `DEV.md` to install `valkey-cli`, reorder cargo tools, and
  adjust apt commands.
- Add a `SET_CONTEXT "azul bolinha"` example to the announcements
  template.
2025-10-15 00:01:48 -03:00
d3c486094f - Fixing ngl param. 2025-10-14 17:02:11 -03:00
552fb56f54 - Fixing parameters for llama.cpp. 2025-10-14 17:00:00 -03:00
277f21ab18 - Fine tunning GTP OSS 20B. 2025-10-14 16:57:50 -03:00
573437cb6f - Database schema added. 2025-10-14 16:34:34 -03:00
a6df35dae8 Switch debug to BotServer and use cargo run
- Change label from "Build & Debug native binary" to "Debug BotServer"
- Use cargo run instead of cargo build
2025-10-14 15:57:17 -03:00
37d8fab617 Refactor session handling and auth flow 2025-10-14 14:51:49 -03:00
51c9aea63b Add botserver prompt, auth template, and CSS 2025-10-14 13:51:54 -03:00
8f96cd1015 Refactor server code and add auth API fixes 2025-10-14 13:51:27 -03:00
a8f52451c5 New features for start.bas 2025-10-13 18:11:03 -03:00
3aeb3ebc70 - New features for start.bas 2025-10-13 17:43:03 -03:00
733f7cba10 Update mod.rs 2025-10-13 09:36:45 -03:00
d8ebae3aed Update prompt build script and shared guidelines 2025-10-13 09:36:06 -03:00
a7c74b837e Enhance streaming with events and warning API
- Introduce event-driven streaming with thinking_start, thinking_end,
  and warn events; skip sending analysis content to clients
- Add /api/warn endpoint to dispatch warnings for sessions and channels;
  web UI displays alerts
- Emit session_start/session_end events over WebSocket and instrument
  logging throughout orchestration
- Update web client: show thinking indicator and warning banners; switch
  LiveKit client URL to CDN
- Extend BotOrchestrator with send_event and send_warning, expand
  session/tool workflow
- Improve REST endpoints for sessions/history with better logging and
  error handling
- Update docs and prompts: DEV.md usage note; adjust dev build_prompt
  script
2025-10-13 00:31:08 -03:00
712266a9f8 - Mew LLM provider. 2025-10-12 20:54:42 -03:00
e00eb40d43 Refactor to Arc<AppState> for shared state
- Migrate core services to store Arc<AppState> and use locks
- Centralize state in AppState with Arc-wrapped managers
- Update handlers to pass Arc<AppState> via web::Data
- Add Default for AppState and initialize components in main
- Update debug.json program path from gbserver to botserver
2025-10-12 20:12:49 -03:00
e14908fc0b Migrate to web/index.html and OpenAI client
- Load index.html from web/index.html instead of templates/static
- Initialize OpenAIClient with an empty key and local endpoint
- Remove the old static/index.html file
2025-10-12 17:41:41 -03:00
386b55bf34 - Answering in Web using streaming. 2025-10-12 15:06:16 -03:00
efa8ff5c80 Switch message_type to integer across codebase 2025-10-12 14:39:23 -03:00
5dcdabbdfb Make AuthService thread-safe and auto-create user 2025-10-12 13:38:56 -03:00
6779a13a29 - Set mode is now a number. 2025-10-12 13:27:48 -03:00
fa9f163971 - Compiling again. 2025-10-12 11:44:35 -03:00
4c3bf0f029 - 0 errors. 2025-10-11 20:41:52 -03:00
03ab8117c4 - Only 18 errors missing being fixed. 2025-10-11 20:25:08 -03:00
147d12b7c0 - main.rs is compiling again. 2025-10-11 20:02:14 -03:00
076f130b6b - Fix compilation errors. 2025-10-11 17:26:56 -03:00
793f2a2d4a - More LLM on compiler. 2025-10-11 13:29:52 -03:00
ecddc10244 - Fixing compilation errors. 2025-10-11 13:29:38 -03:00
283774aa0f - Remove all compilation errors. 2025-10-11 12:29:03 -03:00
4251757391 - Remove of all warnings. 2025-10-07 10:53:09 -03:00
a8c2a5ba25 Add organizations table and build fix script
Create organizations table with UUID primary key, unique slug,
timestamps, and indexes on slug and created_at. Add
scripts/dev/build_fix.sh to consolidate prompts and source files for LLM
context. Allow dead_code in main.rs and rename unused org_id parameter
to _org_id.
2025-10-07 09:08:53 -03:00
8a9cd104d6 - Warning removal and restore of old code. 2025-10-07 07:16:03 -03:00
76dc51e980 - First run after refactor. 2025-10-06 22:33:43 -03:00
84f28bc956 - New rust version is now compiling. 2025-10-06 20:49:38 -03:00