Implement optional single-image intake, Signal ingestion, and multimodal vision analysis
- Add image intake service with format validation (JPEG, PNG, WebP) and EXIF/GPS stripping - Enforce strict single-image rule across Web and Signal attachment channels - Implement token-optimized vision downscaling and JPEG compression - Add IMAGE_CONTEXT pipeline stage with OmniRoute vision routing and resilient failover - Seed and manage versioned idea-image-interpreter prompt in catalog - Update Web UI with responsive image picker, preview chip, and Visual Context tab - Add comprehensive automated test suite in test_image_intake.py - Update README and Labyricorn devlog
This commit is contained in:
@@ -19,6 +19,7 @@ from .queue.worker import job_queue
|
||||
from .api.ideas import router as ideas_router
|
||||
from .api.admin import router as admin_router
|
||||
from .api.auth_routes import router as auth_router
|
||||
from .api.signal_integration import router as signal_router
|
||||
from .prompts.catalog import get_all_prompts, get_all_profiles
|
||||
|
||||
TEMPLATES_DIR = BASE_DIR / "thinkstorm" / "templates"
|
||||
@@ -64,6 +65,7 @@ app.mount("/static", StaticFiles(directory=str(STATIC_DIR)), name="static")
|
||||
app.include_router(ideas_router)
|
||||
app.include_router(admin_router)
|
||||
app.include_router(auth_router)
|
||||
app.include_router(signal_router)
|
||||
|
||||
# Trash root aliases
|
||||
from .api.ideas import empty_trash
|
||||
|
||||
Reference in New Issue
Block a user