feat: foundation — Docker Compose, OTEL, shared types (P0-002, P0-005, P0-006)

Docker Compose (P0-005):
- PG 17 + pgvector, Valkey 8, OTEL Collector, Jaeger
- OTEL Collector config with trace/metric/log pipelines
- .env.example with all connection strings

OTEL Foundation (P0-006):
- @opentelemetry/sdk-node with auto-instrumentations
- tracing.ts loaded before NestJS bootstrap
- OTLP HTTP exporter → collector → Jaeger
- Disabled fs/dns instrumentations (noisy)

Shared Types (P0-002):
- ChatMessageDto with class-validator (IsUUID, IsNotEmpty, MaxLength)
- ChatResponseDto for REST responses
- Socket.IO typed event maps (ServerToClientEvents, ClientToServerEvents)
- AgentSessionHandle opaque type
- All event payload interfaces shared across gateway/cli/discord

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-12 20:55:04 -05:00
parent f6f05cf23a
commit a52537985e
14 changed files with 2055 additions and 26 deletions

View File

@@ -18,5 +18,9 @@
"devDependencies": {
"typescript": "^5.8.0",
"vitest": "^2.0.0"
},
"dependencies": {
"class-transformer": "^0.5.1",
"class-validator": "^0.15.1"
}
}