Commit graph

3529 commits

Author SHA1 Message Date
683955a4a4
Merge pull request #445 from ChristopherCastilho/main
Add_suggestion fix
2025-10-31 16:05:24 -03:00
ea765811a2
Merge branch 'main' into main 2025-10-31 16:05:14 -03:00
8af46bbb06 feat: capture Redis RPUSH length and log HSET result for suggestions
Changed the Redis RPUSH command to return the new list length (`Result<i64, RedisError>`) and added a debug log that includes this length. Updated the HSET command to capture its result (`Result<i64, RedisError>`), logging the number of fields added on success and handling errors explicitly. Removed unnecessary `unwrap_or_else` and added comments to clarify behavior, improving observability and error handling for suggestion storage.
2025-10-31 15:58:54 -03:00
a3555c1a84 feat(auth): refactor authentication handler and update logging
- Changed RUST_LOG level from 'trace' to 'debug' in VSCode launch config
- Simplified auth handler by removing direct bot ID lookup logic
- Added HttpRequest parameter to auth handler
- Implemented bot_from_url helper for bot identification
- Updated auth script path to use bot-specific directory structure
- Removed unused warn import
- Improved error handling for auth script reading and execution

The changes streamline the authentication process by:
1. Moving bot identification to a dedicated helper function
2. Making the auth script path dynamic based on bot name
3. Reducing log verbosity in development
4. Cleaning up unused imports and code
2025-10-31 15:40:52 -03:00
8c53161129 feat: simplify bot name handling and improve logging
- Added RUST_LOG=trace to VSCode debug configurations for better debugging
- Removed unused imports (uuid, Selectable, SelectableHelper) from bootstrap module
- Simplified bot name handling by removing name formatting logic, using raw bot folder names
- Renamed check_default_gbot to check_gbot for consistency
- Improved logging format in drive monitor initialization
- Fixed S3 bucket reference in bootstrap manager (removed 'templates/' prefix)
2025-10-31 07:30:37 -03:00
4f12608668 Refactor BotOrchestrator for async bot mounting
* Introduced async mounting
2025-10-30 21:02:44 -03:00
f85b19efda feat(bot, bootstrap): add bot mounting and improve DB handling
Introduce bot mounting logic in `BotOrchestrator` to load and manage active bots from the database. Enhance `BootstrapManager` by refining Diesel query usage and connection handling for better reliability and maintainability.
2025-10-30 18:48:16 -03:00
d803ffd24e feat: remove LLM configuration defaults migration
The migration file 6.0.6.sql was deleted as it contained default LLM server configurations that are no longer needed. The file was originally used to set up local LLM server settings including model paths and URLs, but these configurations are now handled differently in the system.
2025-10-30 17:36:15 -03:00
a01c7505cb feat(config): remove default server config and update database credentials
Removed the default server configuration section from migrations as these values should now be managed through environment variables. Updated default database username from 'postgres' to 'gbuser' in bootstrap and changed default database name from 'gbuser' to 'botserver' in config to align with the removed server configuration defaults.
2025-10-30 17:32:21 -03:00
4337bd4229 feat(suggestions): enhance suggestion handling and context management in WebSocket 2025-10-30 14:53:06 -03:00
17d6cd33be feat(bootstrap): add CSV config loading and improve legacy mode handling
Added functionality to load configuration from CSV files in S3 when available, with fallback to existing methods. The changes include:

1. Added new `load_config_from_csv` method to handle CSV config loading
2. Improved legacy mode handling by attempting CSV load before falling back to database
3. Added new dependencies (uuid, Arc, Mutex) for config management
4. Enhanced error handling and logging for config loading scenarios

The changes maintain backward compatibility while adding the ability to load configurations from CSV files stored in S3, which provides more flexibility in configuration management.
2025-10-30 13:29:46 -03:00
5ec0d3d2ad feat: remove default config.csv upload from bootstrap
Removed the automatic upload of default config.csv to S3 during bootstrap initialization. This functionality was previously uploading a local config file to the S3 bucket 'default.gbai/default.gbot' if the file existed. The change simplifies the bootstrap process by removing this implicit behavior.
2025-10-30 13:18:23 -03:00
b25b658cfd feat(config): add drive config persistence to .env file
Added functionality to write drive configuration (MinIO settings) to a .env file when the AppConfig is created. The new write_drive_config_to_env function handles the file operations and logs warnings if the write fails. This change ensures drive configuration is persisted for future use while maintaining backward compatibility.
2025-10-30 13:14:06 -03:00
e93935d5a3 refactor: clean up S3 client creation and imports in bootstrap module
- Renamed unclear function `c` to more descriptive `create_s3_operator`
- Removed duplicate `create_s3_operator` function implementation
- Consolidated imports from aws_sdk_s3 and diesel crates
- Removed unused import `aws_s3_bucket_create`
- Improved code formatting and organization

The changes make the code more maintainable by removing duplication and improving clarity while maintaining the same functionality.
2025-10-30 13:05:35 -03:00
792186cf76 feat(s3): Finally improve directory upload with proper path handling
- Added bucket parameter to upload_directory_recursive for explicit bucket specification
- Improved key construction logic to handle path prefixes more robustly
- Removed redundant trace logs and added more informative upload messages
- Fixed potential issue with bucket name extraction from prefix
- Ensured consistent path separator handling in S3 keys

The changes make the S3 upload functionality more reliable and maintainable by:
1. Explicitly passing bucket names instead of extracting from prefixes
2. Properly handling path separators in S3 keys
3. Providing clearer logging for upload operations
2025-10-30 12:52:21 -03:00
5a6e36e6c2 feat: replace opendal with AWS SDK for S3 operations
- Added AWS SDK S3 dependencies including aws-config, aws-sdk-s3, and related crates
- Removed opendal dependency and replaced with AWS SDK S3 client
- Implemented new get_file_content helper function using AWS SDK
- Updated MinIOHandler to use AWS SDK client instead of opendal Operator
- Modified file change detection to work with AWS SDK's S3 client

The change was made to standardize on AWS's official SDK for S3 operations, which provides better maintenance and feature support compared to the opendal crate. This also aligns with AWS best practices for interacting with S3 services.
2025-10-30 12:35:25 -03:00
2b906b7a9d Merge branch 'main' of https://github.com/ChristopherCastilho/botserver 2025-10-30 09:09:42 -03:00
254de04d28 feat(keywords): add suggestion keyword to ScriptService initialization 2025-10-30 09:09:15 -03:00
11e5d48f24
Merge branch 'GeneralBots:main' into main 2025-10-29 18:55:20 -03:00
d278b95fac feat(keywords, ui): add suggestion module and UI for context switching
Added new `add_suggestion` module to support suggestion handling logic.
Updated `index.html` to include a dynamic suggestions container that fetches and displays context suggestions.
This improves user experience by enabling quick context changes through interactive suggestion buttons.
2025-10-29 18:54:33 -03:00
0330b8fdb8 feat(bootstrap): improve bucket creation and error handling logic
Enhance the bucket creation process in `BootstrapManager` to handle existing buckets gracefully. Adds logic to reuse the default template when a bucket already exists and ensures proper path formatting before creation. This improves reliability and prevents redundant bucket creation errors.
2025-10-29 14:49:25 -03:00
205cd13b49 feat(bootstrap): upload default config and improve S3 setup
Add logic to automatically upload an initial `config.csv` to the default S3 bucket during bootstrap. Enhance S3 operator creation by ensuring endpoint formatting, setting default bucket and region, and enabling path style. Improve template upload flow by validating bucket existence and creating it if missing. Also include debug logging for better traceability.
2025-10-29 14:16:11 -03:00
52e2f79395 Merge branch 'main' of https://github.com/ChristopherCastilho/botserver 2025-10-29 10:25:45 -03:00
663864cb78 refactor(config): remove unused S3 bucket configuration and setup logic
Eliminates the `s3_bucket` field from `AppConfig` and deletes related initialization code in `main.rs`. This simplifies configuration management since S3 bucket handling is no longer required or used in the application.
2025-10-29 09:54:39 -03:00
21fdb326a6 feat(storage): add S3 bucket existence check during startup
Introduces an async helper function to verify and create the configured S3 bucket if missing. This ensures the application has a valid storage target before initializing the drive, improving reliability in environments with dynamic bucket provisioning.
2025-10-28 21:33:09 -03:00
d9e2fa4b76 fix(installer): update MinIO setup to use admin user creation
Replaces hardcoded alias setup with commands that create and configure a MinIO admin user, ensuring proper authentication and permissions during installation.
2025-10-28 21:16:25 -03:00
78d154cc7f feat(bootstrap): add env check and improve config update logic
Introduce environment existence check to prevent redundant bootstrap runs and ensure smoother startup. Refactor `update_bot_config` to use globally unique config keys and atomic updates for better data consistency.
2025-10-28 21:06:31 -03:00
44c745ef57 feat(config): refresh environment before establishing DB connection
Reload configuration from environment to ensure latest DATABASE_URL and credentials are used before creating the database connection. This prevents stale config values when environment variables change.
2025-10-28 20:48:28 -03:00
0118fd52e9 feat(bootstrap): associate bot configuration updates with bot ID
Add logic to retrieve a default bot ID from the database and pass it to `update_bot_config`, ensuring configuration entries are linked to a specific bot. Updated SQL queries to include `bot_id` and `id` fields for consistency and improved data integrity.
2025-10-28 20:41:21 -03:00
77421683b7 Fix installer: write DATABASE_URL after DB creation and append drive credentials later; update drive credentials only after DB ready 2025-10-28 20:39:14 -03:00
1a2a984c78 - Docs updated. 2025-10-28 19:47:29 -03:00
dba8ffe782 - Migration to Open ADAL. 2025-10-28 14:53:45 -03:00
2a2915b543 - Migration to Open ADAL. 2025-10-28 14:20:55 -03:00
f29a3c1259 - Migration to Apache OpenDAL. 2025-10-28 14:00:52 -03:00
46c4239fdb refactor: update building instructions to include additional dependencies for improved compatibility 2025-10-28 13:04:04 -03:00
a96686f9d1 refactor: remove aws-config dependency from Cargo.toml 2025-10-28 12:45:28 -03:00
af9b7c18d9 refactor: update directory inclusion in add-req.sh and fix-errors.sh for clarity 2025-10-28 12:44:28 -03:00
0cb16552b3 Refactor dependencies in Cargo.toml and update start.bas dialog
- Removed unused Tauri dependencies and replaced aws-sdk-s3 with opendal for S3 services.
- Cleaned up feature flags in Cargo.toml.
- Simplified the welcome message logic in start.bas and removed redundant comments.
2025-10-28 12:07:14 -03:00
a2f64ed10f refactor: comment out unused directories in add-req.sh for clarity 2025-10-28 11:35:25 -03:00
6c511b4ebb
Merge branch 'main' into main 2025-10-28 07:18:56 -03:00
a0629cc856 refactor: update configuration prefix to 'pragmatismo-' and add CLI example format 2025-10-27 18:32:36 -03:00
223f6e2b5d refactor: remove unused dev-start script and clean up code formatting in mod.rs 2025-10-26 21:47:20 -03:00
f1f4531529 fix: update required components and correct exec command path in PackageManager 2025-10-26 20:50:37 -03:00
b033f81071 fix: update file paths to use correct directory for HTML files 2025-10-26 18:49:11 -03:00
f75ca07df1 refactor: remove unnecessary post-install commands for Linux in PackageManager 2025-10-26 18:42:34 -03:00
8bcaadd970 feat: add data download list to ComponentConfig and implement file downloading
- Added `data_download_list` field to `ComponentConfig` struct in `component.rs`.
- Implemented processing of `data_download_list` in the `PackageManager` to download files asynchronously in `facade.rs`.
- Updated `installer.rs` to initialize `data_download_list` for various components.
- Refactored `download_file` function in `utils.rs` to return `anyhow::Error` for better error handling.
2025-10-26 18:26:19 -03:00
6ad29634ea - Termination procedure optional. 2025-10-26 17:13:58 -03:00
f1d4439f47 Update download_file function to set a custom user agent for HTTP requests 2025-10-26 16:00:41 -03:00
ca66f09031 Remove unused aws_config import from bootstrap module 2025-10-26 15:40:46 -03:00
a04d896b80 Refactor AWS SDK configuration in bot update logic and fix comment typos 2025-10-26 15:40:29 -03:00