feat: Phase 23 Multimodal, Local LLM, Security Hardening#9
Merged
diegofelipeee merged 1 commit intomainfrom Feb 18, 2026
Merged
feat: Phase 23 Multimodal, Local LLM, Security Hardening#9diegofelipeee merged 1 commit intomainfrom
diegofelipeee merged 1 commit intomainfrom
Conversation
- Hard enforcement: authenticated non-admin tokens get 403 on admin routes - POST/PUT/PATCH/DELETE to admin routes checked - Invalid tokens also blocked (treated as guest with hasToken=true) - Admin tokens pass through normally - Anonymous requests (no token) still allowed through for backward compat - Dashboard doesn't have login yet soft enforcement for anonymous - RBAC_ENFORCE toggle: set to true to block ALL requests (incl. anonymous) - Configurable via dashboard Settings > Security > RBAC Hard Enforcement - Stored in Vault, loaded on startup - Red toggle to signal restrictive nature - Admin routes protected: vault backup, audit export/rotate/integrity, security stats, GDPR, provider keys, IP filter, pairing - 53/53 tests passing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🚀 Phase 23 — Multimodal, Local LLM, Security Hardening
Summary
This PR brings 14 commits with major new capabilities: multimodal support (vision + voice + image generation), local LLM provider (Ollama), security hardening (audit integrity check, webhook alerts, RBAC enforcement), and full dashboard-driven configuration (no ENV files needed).
🎯 What's New
Multimodal Support
/api/chat/voice,/api/voice/synthesize,/api/voice/transcribeendpoints.image_generatetool (12th built-in) supporting DALL-E 3, Leonardo AI (with polling), and Stable Diffusion (AUTOMATIC1111 API).Local LLM Support (9th Provider)
/api/tagswith 30s cache refresh./v1/chat/completions) for tool calling; native Ollama fallback (/api/chat).Security Hardening
hash+previousHashcolumns.RBAC_ENFORCEtoggle blocks anonymous too.Dashboard & Configuration
CI/CD & Docs
📊 Stats
ollama.ts,image-generator.ts,Voice.tsx, migration 003🧪 Testing
npx vitest run --reporter=verbose)🔐 Security Notes
📁 Key Files Changed
packages/agent/src/providers/ollama.ts— New OllamaProvider (336 lines)packages/tools/src/tools/image-generator.ts— New ImageGeneratorTool (281 lines)packages/dashboard/src/pages/Voice.tsx— New Voice dashboard page (397 lines)packages/dashboard/src/pages/Settings.tsx— Service config UI (+398 lines)packages/core/src/gateway/server.ts— Security hardening (+335 lines)packages/core/src/gateway/chat-routes.ts— Voice/service/provider endpoints (+329 lines)packages/security/src/audit-logger.ts— Hash chain, rotation, integrity (+237 lines)packages/channels/src/telegram.ts— Vision + voice handlerspackages/channels/src/whatsapp.ts— Vision + voice handlerstests/api.test.ts— New test suites (+132 lines)