Commit graph

244 commits

Author SHA1 Message Date
13322e7cf8 feat: included service center in playground feature to replace old services 2026-03-09 11:03:01 +01:00
patrick-motsch
1e678a8897 commcoach: remove silent fallbacks in PDF export, fix markdown-to-XML conversion with proper regex
Made-with: Cursor
2026-03-07 02:38:42 +01:00
patrick-motsch
cdb974d658 commcoach: rewrite PDF export - direct markdown-to-pdf via reportlab, remove broken RendererPdf dependency
Made-with: Cursor
2026-03-07 02:29:30 +01:00
patrick-motsch
210c9d44a1 commcoach: fix PDF export crash - provide services stub for RendererPdf
Made-with: Cursor
2026-03-07 02:21:09 +01:00
patrick-motsch
b6c01fd203 commcoach: fix double extensions, improve AI document generation quality and action prompts
Made-with: Cursor
2026-03-07 02:09:30 +01:00
patrick-motsch
740d2a0b49 commcoach: email subject uses context title instead of UUID, AI generates HTML directly
Made-with: Cursor
2026-03-07 01:28:51 +01:00
patrick-motsch
364e431749 commcoach: backend abort handling + compression + document pre-AI-call + status events
TASK 5: Backend abort handling (cancel previous processMessage tasks)
TASK 6: Compression thresholds lowered (25->15, 15->10)
TASK 7: Combine pending user messages into single prompt
TASK 8: Document handling with pre-AI-call intent detection
TASK 9: Granular status events during AI processing

Made-with: Cursor
2026-03-07 01:02:18 +01:00
patrick-motsch
e2c1c58442 fix: teamsbot SSE-Events fuer Greeting, Commands, Chat-Fehler und command-only Responses
Made-with: Cursor
2026-03-07 00:56:04 +01:00
patrick-motsch
05f1c98825 feat: teamsbot command refactoring, commcoach session cleanup
Made-with: Cursor
2026-03-06 22:55:28 +01:00
853cce2cf0 feat: implemented the service center into the automation feature 2026-03-06 15:32:27 +01:00
9d1a8d53fc fix: minor bug fixes to chatbot to work with service center 2026-03-06 14:31:56 +01:00
53d2d9d873 first version of service center
implemented on chatbot
2026-03-06 14:03:18 +01:00
6dc2afafb9 fix:performance improvements
- app.py: Pre-warm AI connectors at module load and in lifespan
- aicoreModelRegistry.py: Connector discovery cache, getAvailableModels cache, bulk RBAC, eager prewarm
- connectorDbPostgre.py: Connector cache, contextvars for userId, eviction (max 32)
- chatbot: Uses _get_cached_connector, Service center integration, BillingService exceptions, BillingService exceptions instead of direct imports
- interfaceDbApp.py: Uses _get_cached_connector
- interfaceDbManagement.py: Uses _get_cached_connector
- security/rbac.py: Adds checkResourceAccessBulk
2026-03-06 13:46:54 +01:00
Patrick Motsch
42e79a724a
Merge pull request #102 from valueonag/feat/commcoach
Feat/commcoach
2026-03-06 12:49:24 +01:00
patrick-motsch
c76f2c44f2 teamsbot: Bot-Chat im Transcript, keine AI-Trigger auf eigene Chat-Nachrichten
Made-with: Cursor
2026-03-06 12:40:06 +01:00
patrick-motsch
d7ba24f61a fixed stt procedure 2026-03-05 23:41:37 +01:00
patrick-motsch
12b0d3d36e Alle 9 Fixes sind implementiert. Hier die Zusammenfassung:
Fix 1 -- Opening-Prompt: processSessionOpening in serviceCommcoach.py prüft jetzt ob es die erste Session ist (isFirstSession) und gibt der AI einen expliziten Prompt, der das Erfinden von Kontext verbietet.
Fix 2 -- Stabiler Transcript: onresult in CommcoachCoachingView.tsx nutzt jetzt processedResultIndexRef um nur neue Results zu verarbeiten. Finalisierte Teile werden stabil akkumuliert, kein Flackern mehr.
Fix 3 -- Hintergrundgeräusche-Timeout: Neuer silenceTimerRef mit 5s Timeout. Wenn nach onspeechstart kein Text kommt, wird isUserSpeaking automatisch zurückgesetzt.
Fix 4 -- Stop-Button: "Stop" Button erscheint im Session-Header wenn TTS läuft (via isTtsPlaying State, synchronisiert per 200ms Interval mit isTtsPlayingRef).
Fix 5 -- Weitersprechen-Button: lastTtsAudioRef speichert das zuletzt gespielte Audio. stopTts setzt wasInterrupted = true. "Weitersprechen" Button erscheint nach Unterbrechung und spielt das Audio erneut ab.
Fix 6 -- Paralleles TTS: Neue _generateAndEmitTts() Hilfsfunktion. In processMessage und processSessionOpening wird TTS als asyncio.create_task parallel zu _emitChunkedResponse gestartet.
Fix 7 -- JSON-Response: Die AI antwortet jetzt als JSON mit text, speech, documents. Neuer Prompt-Block wird in buildCoachingSystemPrompt angehängt. _parseAiJsonResponse() und _saveGeneratedDocument() im Backend. processMessage und processSessionOpening nutzen die neue Struktur.
Fix 8 -- Loading-States: Neuer actionLoading State in useCommcoach. Alle async Funktionen setzen setActionLoading('key') vor dem Await und null im finally. Buttons zeigen Loading-Text und werden disabled.
Fix 9 -- Umlaute: Alle deutschen Strings in allen CommCoach-Dateien (Backend + Frontend) korrigiert: ae->ä, oe->ö, ue->ü.
2026-03-04 22:53:41 +01:00
ad570c405a Merge branch 'feature/message-streaming-fix' into int 2026-03-04 08:17:44 +01:00
f1231c4b86 feat: refactor message streaming + add streaming service 2026-03-04 08:10:50 +01:00
patrick-motsch
f4940cf9e1 iteration 2 done 2026-03-03 23:02:53 +01:00
patrick-motsch
5486a87b9a commcoach iteration 1 completed 2026-03-03 22:04:52 +01:00
patrick-motsch
86ede6d3df teamsbot: Stop-Phrasen sofort triggern ohne Debounce (root cause fix)
Made-with: Cursor
2026-03-02 10:24:03 +01:00
patrick-motsch
f5fd1d2406 com feature mvp 2026-03-02 00:51:27 +01:00
patrick-motsch
e94df6c647 fix: normalise None to empty string for required str fields (company, desc, tags)
Made-with: Cursor
2026-03-01 21:59:04 +01:00
patrick-motsch
565ad62c39 feat(teamsbot): RBAC session isolation -- users see only their own sessions
Made-with: Cursor
2026-03-01 13:01:35 +01:00
patrick-motsch
d1e081cf98 fix(teamsbot): unblock WS loop for MFA so mfaResolved can close the modal
Made-with: Cursor
2026-03-01 11:15:39 +01:00
patrick-motsch
13e39ccc74 fix(teamsbot): add debugMode field to TeamsbotUserSettings model
Made-with: Cursor
2026-03-01 10:34:24 +01:00
patrick-motsch
1176cdc368 fix(teamsbot): save credentials when form visible without showCredentialForm state, add debugMode to effective config merge
Made-with: Cursor
2026-03-01 10:20:09 +01:00
patrick-motsch
f8137e857a Add document type, payment data and detailed descriptions to trustee positions
Extend TrusteePosition with documentType, payeeIban, payeeName, payeeBic, paymentReference and dueDate fields. Overhaul AI extraction prompts to capture full document details in desc (line items, addresses, conditions), extract QR/ESR payment references and IBAN from invoices, and tag each record with its documentType. Sanitise and normalise all new fields on write.

Made-with: Cursor
2026-03-01 10:14:46 +01:00
patrick-motsch
603e319f15 feat(teamsbot): implement Mein Account login with MFA relay
Made-with: Cursor
2026-03-01 08:51:16 +01:00
patrick-motsch
1f529568f5 feat(teamsbot): per-request chat/voice channels, responseTextForVoice/Chat
Made-with: Cursor
2026-02-28 16:12:57 +01:00
patrick-motsch
65a8026496 fix: load system bot credentials only when joinMode is SYSTEM_BOT (anonymous join fix)
Made-with: Cursor
2026-02-28 15:53:31 +01:00
patrick-motsch
1dd354794b Teamsbot: STT phrase hints, multi-lang, follow-up window, known speakers collection
Made-with: Cursor
2026-02-28 00:49:10 +01:00
patrick-motsch
b9c3ad38fb Teamsbot: start new transcript block after 5s pause even for same speaker
Made-with: Cursor
2026-02-27 23:48:47 +01:00
patrick-motsch
a527806436 Harden trustee position ingestion and auto-clean corrupt records.
Normalize AI-derived date/time and numeric fields before writes, tighten extraction prompts for unix timestamps, and prevent /positions crashes by normalizing or deleting irreparably invalid legacy TrusteePosition records during reads.

Made-with: Cursor
2026-02-27 23:30:37 +01:00
patrick-motsch
80e8197d96 Teamsbot: redesign speaker attribution, add bot responses to transcript, debounce name triggers
Made-with: Cursor
2026-02-27 23:18:43 +01:00
patrick-motsch
269b704812 Teamsbot: lower audio RMS threshold, add 10s min cooldown for name-based AI triggers
Made-with: Cursor
2026-02-27 22:38:29 +01:00
patrick-motsch
0ee86070bd Teamsbot: fix chatHistory polluting AI context, block bot self-trigger via captions
Made-with: Cursor
2026-02-27 22:14:57 +01:00
patrick-motsch
681c96be8e Teamsbot: prevent double AI triggers, remove caption text from AI context
Made-with: Cursor
2026-02-27 16:40:08 +01:00
patrick-motsch
275f7bbc66 Teamsbot: handle chatHistory source - store context but skip AI trigger
Made-with: Cursor
2026-02-27 13:56:46 +01:00
patrick-motsch
21f77d1924 Teamsbot: emit caption/speakerHint to UI for speaker display
Made-with: Cursor
2026-02-27 12:27:02 +01:00
patrick-motsch
1c00ab6024 Forward bot playback acknowledgements to SSE status stream.
Handle ttsPlaybackAck websocket messages and emit ttsDeliveryStatus updates with playback_* states for UI diagnostics.

Made-with: Cursor
2026-02-26 21:45:47 +01:00
patrick-motsch
25854edb4d Allow speaker-hint captions to trigger AI without transcript persistence.
Keep aggressive hybrid persistence rules, but use final speaker hints as transient context to react to direct bot addressing even when audio capture is silent.

Made-with: Cursor
2026-02-26 21:41:56 +01:00
patrick-motsch
fe1a97564b Improve Teams bot response reliability and transcript quality.
Fix invalid bot-response timestamps in SSE payloads, reduce duplicate response loops, and improve audio STT stability with larger capture chunks and safer silence filtering.

Made-with: Cursor
2026-02-26 21:18:21 +01:00
025fb8ff61 removed demo files 2026-02-26 16:05:26 +01:00
d3dbca7289 nicht fertig; Stand Kessler Demo 2026-02-26 16:00:26 +01:00
d8fb3bf821 fix:mainchatbot.py created to ensure feature creation 2026-02-26 15:59:23 +01:00
ea99711ace fix: sharepoint neutralisierung wieder eingebaut 2026-02-26 15:50:16 +01:00
d3cfe8e9be fix: further improved neutraliser 2026-02-26 15:02:01 +01:00
5120fbc503 neutralized pdf files and better pattern recognition 2026-02-26 15:02:01 +01:00