Architecture extensibility — event bus, middleware, auto-discovery, Pydantic profiles
- EventBus: async pub/sub for AgentEvents, WebSocket subscribes instead of direct yield
- Declarative serialization: AgentEvent.to_wire() on all event types
- Auto-discovery for LLM backends (_discover_backends) and workers (scan navi/workers/*.py)
- AgentProfile: Pydantic BaseModel with extra='allow', @field_validator for model coercion
- Tool middleware chain: pre/post execute hooks via ToolRegistry.add_middleware()
- LoggingMiddleware: built-in, logs every tool call
- Fix pg_trgm DDL: conditional GIN indexes via DO $$ block, no CREATE EXTENSION
- New files: event_bus.py, middleware.py, logging_middleware.py

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1 parent 5cebfcd commit 8f68841055ec84d0ea397544ecdcab603c579743
@Eugene Sukhodolskiy Eugene Sukhodolskiy authored on 29 Apr
Showing 12 changed files
View
docs/memory.md
View
navi/api/websocket.py
View
navi/config.py
View
navi/core/agent.py
View
navi/core/event_bus.py 0 → 100644
View
navi/core/events.py
View
navi/core/registry.py
View
navi/memory/store.py
View
navi/profiles/base.py
View
navi/tools/logging_middleware.py 0 → 100644
View
navi/tools/middleware.py 0 → 100644
View
navi/workers/__init__.py