Add S3/MinIO ingestion support

- S3Ingestor class for S3-compatible storage
- Supports: AWS S3, MinIO, DigitalOcean Spaces, Wasabi
- CLI: opus ingest-s3 --bucket my-bucket --prefix notes/
- Features: list objects, download, upload, text extraction

Environment:
- AWS_ACCESS_KEY_ID
- AWS_SECRET_ACCESS_KEY
- AWS_REGION
- S3_ENDPOINT_URL (for MinIO/non-AWS)
This commit is contained in:
2026-03-13 03:18:02 +00:00
parent 64bea5cae6
commit c248487d2e
4 changed files with 427 additions and 1 deletions
+4
View File
@@ -33,6 +33,7 @@ from opus_orchestrator.state import OpusState, create_initial_state
from opus_orchestrator.langgraph_workflow import OpusGraph, run_opus, OpusGraphState
from opus_orchestrator.autogen_critique import CritiqueCrew, create_critique_crew
from opus_orchestrator.utils.github_ingest import GitHubIngestor, create_github_ingestor
from opus_orchestrator.utils.s3_ingest import S3Ingestor, create_s3_ingestor
from opus_orchestrator.frameworks import StoryFramework
from opus_orchestrator.crews import (
OpusCrew,
@@ -112,6 +113,9 @@ __all__ = [
"create_critique_crew",
"GitHubIngestor",
"create_github_ingestor",
# S3/MinIO (NEW!)
"S3Ingestor",
"create_s3_ingestor",
]
# Import legacy orchestrator for backward compatibility