1.8 KiB
1.8 KiB
Progress: Removendo aws-sdk-s3 do default bundle
Goal
Remover aws-sdk-s3 (~120MB) do bundle default ["chat", "automation", "cache", "llm"] e fazer compilar com:
cargo check -p botserver --no-default-features --features "chat,automation,cache,llm"
✅ COMPLETED
- Cargo.toml - Features separadas:
drive(S3) vslocal-files(notify) - main.rs -
pub mod drivecom#[cfg(any(feature = "drive", feature = "local-files"))] - state.rs -
NoDrivestruct adicionada - multimedia.rs -
DefaultMultimediaHandlercom cfg gates (drive vs no-drive) - drive/mod.rs - Módulos condicionais:
#[cfg(feature = "drive")] pub mod document_processing;#[cfg(feature = "drive")] pub mod drive_monitor;#[cfg(feature = "drive")] pub mod vectordb;#[cfg(feature = "local-files")] pub mod local_file_monitor;- Todas ~21 funções com
#[cfg(feature = "drive")]
- multimedia.rs - upload_media - Duas implementações separadas com cfg gates:
#[cfg(feature = "drive")]- Usa S3 client#[cfg(not(feature = "drive"))]- Usa armazenamento local
✅ VERIFIED
cargo check -p botserver --no-default-features --features "chat,automation,cache,llm"
Resultado: ✅ Build limpo (apenas warnings, 0 erros) Tempo de compilação: 2m 29s
Arquivo Não Fixado (opcional)
auto_task/app_generator.rs
ensure_bucket_existsmethod never used (warning, não impede compilação)- Método já está com
#[cfg(feature = "drive")](correto)
Resumo
O aws-sdk-s3 foi removido com sucesso do bundle default. O sistema agora suporta dois modos:
- Com feature "drive": Usa S3 (aws-sdk-s3 ~120MB)
- Sem feature "drive": Usa armazenamento local (notify ~2MB)
O build padrão agora é leve (~120MB a menos) e funciona sem dependências de AWS.