managarten/services
Till JS e2f144962c feat: add unified @manacore/shared-llm package and migrate all backends
Create a shared LLM client package that provides a unified interface
to the mana-llm service, replacing 9 individual fetch-based integrations
with consistent error handling, retry logic, and JSON extraction.

Package (@manacore/shared-llm):
- LlmModule with forRoot/forRootAsync (NestJS dynamic module)
- LlmClientService: chat, json, vision, visionJson, embed, stream
- LlmClient standalone class for non-NestJS consumers
- extractJson utility (consolidates 3 markdown-stripping implementations)
- retryFetch with exponential backoff (429, 5xx, network errors)
- 44 unit tests (json-extractor, retry, llm-client)

Migrated backends:
- mana-core-auth: raw fetch → llm.json()
- planta: raw fetch + vision → llm.visionJson()
- nutriphi: raw fetch + regex → llm.visionJson() + llm.json()
- chat: custom OllamaService (175 LOC) → llm.chatMessages()
- context: raw fetch → llm.chat() (keeps token tracking)
- traces: 2x raw fetch → llm.chat()
- manadeck: @google/genai SDK → llm.json() + llm.visionJson()
- bot-services: raw Ollama API → LlmClient standalone
- matrix-ollama-bot: raw fetch → llm.chatMessages() + llm.vision()

New credit operations:
- AI_PLANT_ANALYSIS (2 credits, planta)
- AI_GUIDE_GENERATION (5 credits, traces)
- AI_CONTEXT_GENERATION (2 credits, context)
- AI_BOT_CHAT (0.1 credits, matrix)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 22:06:30 +01:00
..
mana-api-gateway feat(games): add whopixels hosting at whopxl.mana.how 2026-03-20 19:57:50 +01:00
mana-core-auth feat: add unified @manacore/shared-llm package and migrate all backends 2026-03-23 22:06:30 +01:00
mana-crawler feat(games): add whopixels hosting at whopxl.mana.how 2026-03-20 19:57:50 +01:00
mana-image-gen fix(mana-notify): resolve BullMQ circular import issue 2026-01-29 22:58:47 +01:00
mana-landing-builder fix(landing-builder): rework Dockerfile to copy workspace directly 2026-03-23 13:50:22 +01:00
mana-llm fix(mana-llm): fix SSE double data prefix causing message parsing issues 2026-02-02 15:29:11 +01:00
mana-media fix(mana-media): use prom-client directly instead of shared metrics package 2026-03-23 11:06:09 +01:00
mana-notify feat(games): add whopixels hosting at whopxl.mana.how 2026-03-20 19:57:50 +01:00
mana-search fix: replace all manacore.app URLs with mana.how 2026-03-22 18:40:37 +01:00
mana-stt feat(auth): add API key management for STT/TTS services 2026-02-12 02:12:05 +01:00
mana-tts 📝 docs(tts): document German voice support (Piper/Kerstin) 2026-02-14 12:21:40 +01:00
mana-voice-bot feat(mana-voice-bot): add German voice-to-voice assistant service 2026-02-01 02:21:13 +01:00
matrix-calendar-bot feat(games): add whopixels hosting at whopxl.mana.how 2026-03-20 19:57:50 +01:00
matrix-chat-bot 🔒 refactor(bots): remove !login command and enforce OIDC-only auth 2026-02-14 11:26:58 +01:00
matrix-clock-bot feat(games): add whopixels hosting at whopxl.mana.how 2026-03-20 19:57:50 +01:00
matrix-contacts-bot 🔒 refactor(bots): remove !login command and enforce OIDC-only auth 2026-02-14 11:26:58 +01:00
matrix-mana-bot feat(games): add whopixels hosting at whopxl.mana.how 2026-03-20 19:57:50 +01:00
matrix-manadeck-bot 🔒 refactor(bots): remove !login command and enforce OIDC-only auth 2026-02-14 11:26:58 +01:00
matrix-nutriphi-bot feat(games): add whopixels hosting at whopxl.mana.how 2026-03-20 19:57:50 +01:00
matrix-ollama-bot feat: add unified @manacore/shared-llm package and migrate all backends 2026-03-23 22:06:30 +01:00
matrix-onboarding-bot feat(games): add whopixels hosting at whopxl.mana.how 2026-03-20 19:57:50 +01:00
matrix-picture-bot 🔒 refactor(bots): remove !login command and enforce OIDC-only auth 2026-02-14 11:26:58 +01:00
matrix-planta-bot feat(games): add whopixels hosting at whopxl.mana.how 2026-03-20 19:57:50 +01:00
matrix-presi-bot 🔒 refactor(bots): remove !login command and enforce OIDC-only auth 2026-02-14 11:26:58 +01:00
matrix-project-doc-bot fix(mana-media): use prom-client directly instead of shared metrics package 2026-03-23 11:06:09 +01:00
matrix-questions-bot 🔒 refactor(bots): remove !login command and enforce OIDC-only auth 2026-02-14 11:26:58 +01:00
matrix-skilltree-bot 🔒 refactor(bots): remove !login command and enforce OIDC-only auth 2026-02-14 11:26:58 +01:00
matrix-stats-bot feat(games): add whopixels hosting at whopxl.mana.how 2026-03-20 19:57:50 +01:00
matrix-storage-bot 🔒 refactor(bots): remove !login command and enforce OIDC-only auth 2026-02-14 11:26:58 +01:00
matrix-stt-bot feat(games): add whopixels hosting at whopxl.mana.how 2026-03-20 19:57:50 +01:00
matrix-todo-bot feat(games): add whopixels hosting at whopxl.mana.how 2026-03-20 19:57:50 +01:00
matrix-tts-bot feat(games): add whopixels hosting at whopxl.mana.how 2026-03-20 19:57:50 +01:00
matrix-zitare-bot feat(games): add whopixels hosting at whopxl.mana.how 2026-03-20 19:57:50 +01:00
ollama-metrics-proxy feat(telegram-bot): add local STT support and Prometheus metrics 2026-01-27 16:51:09 +01:00