Till JS
c582f164ba
feat(memoro/audio-server): add vitest setup and 25 API + config tests
...
- Health endpoint, service key auth, 404 handler tests
- Transcribe and append endpoint validation tests
- Azure speech service config tests (getAvailableSpeechServices, pickRandomService)
- Export app for testability
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 16:31:28 +02:00
Till JS
90f6c0db39
feat(memoro): add transcription fallback chain, AI provider fallbacks, and error tracking
...
Audio: WhisperX → Azure Realtime → FFmpeg → Azure Batch fallback chain with diarization.
Server: mana-llm → Gemini → Azure OpenAI fallback, rate limiting middleware.
Web: GlitchTip error tracking, error page, security headers.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 14:55:52 +02:00
Till JS
8a7efdd654
fix(memoro/audio-server): resolve TypeScript errors
...
- tsconfig: add allowImportingTsExtensions for .ts import paths (Bun pattern)
- transcription: cast Azure response.json() to typed parameter via Parameters<>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 22:00:16 +02:00
Till JS
6d2509c258
feat(memoro): add deployment infrastructure and migrate web services to new Hono server
...
- Dockerfile for audio-server (Bun + ffmpeg)
- docker-compose.macmini.yml entries for memoro-server (3015) and memoro-audio-server (3016)
- Dev commands: dev:memoro:server, dev:memoro:audio-server, dev:memoro:app, dev:memoro:full
- MEMORO_* env vars in .env.development
- web: add PUBLIC_MEMORO_SERVER_URL env var to env.ts and .env.example
- web: rewrite transcriptionService → POST /api/v1/memos (new server path)
- web: rewrite spaceService → /api/v1/spaces/* (aligned with actual Hono routes)
- server: fix callAudioServer param name audioPath (was filePath) in memos.ts
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 20:16:54 +02:00
Till JS
29515e7c4d
feat(memoro): add Hono/Bun server + audio-server (replaces NestJS)
...
Two new services replacing the NestJS backend + audio-backend:
- apps/memoro/apps/server/ (port 3015): main business logic
- Memo creation, transcription orchestration, AI headline/Q&A
- Space + invite management, credits, settings, cleanup
- Uses @manacore/shared-hono authMiddleware (mana-auth JWT)
- Service-role Supabase client with explicit user_id filters
- apps/memoro/apps/audio-server/ (port 3016): audio processing
- 4-tier Azure Speech fallback (fast → retry → convert → batch)
- FFmpeg conversion (PCM 16kHz mono WAV) via fluent-ffmpeg
- Load balancing across up to 4 Azure Speech keys
- Internal-only (X-Service-Key auth)
Auth proxy, space sync, and NestJS services not yet removed.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 19:03:31 +02:00