gb/prompts/nodrive.md

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

  1. Cargo.toml - Features separadas: drive (S3) vs local-files (notify)
  2. main.rs - pub mod drive com #[cfg(any(feature = "drive", feature = "local-files"))]
  3. state.rs - NoDrive struct adicionada
  4. multimedia.rs - DefaultMultimediaHandler com cfg gates (drive vs no-drive)
  5. 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")]
  6. 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_exists method 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.