Commit graph

845 commits

Author SHA1 Message Date
d7636d72c4 bug:service center 2026-03-09 11:03:01 +01:00
d59c6c8576 fix: duplicate automation definition for pydantic model 2026-03-09 11:03:01 +01:00
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
4e6974ae11 feat: sendMail und storeDocument Commands im SPEECH_TEAMS Prompt ergaenzt
Made-with: Cursor
2026-03-07 02:04:09 +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
f4fb4637ea Merge branch 'feat/service-center' into int 2026-03-06 15:32:59 +01:00
853cce2cf0 feat: implemented the service center into the automation feature 2026-03-06 15:32:27 +01:00
5db31f10ee fix: sharepoint base path 2026-03-06 15:27:54 +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
92d9a2a0d5 2 critical fixes: pwd reset and invitation caching ui 2026-03-03 23:07:41 +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
16db2d91c6 fixed critical code issues 2026-03-03 18:57:20 +01:00
patrick-motsch
d3f891453a fixed log 2026-03-02 21:10:16 +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
a6be2b90e0 improve bank extraction retry + auto-matching for bank documents
Made-with: Cursor
2026-03-01 21:54:56 +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
90c0850449 fix:missing return error caused no features to load 2026-02-26 16:50:19 +01:00
1e4047caf1 fix: ready for merge with int 2026-02-26 16:17:15 +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
205b99dfa0 updated pdf extractor 2026-02-26 15:02:01 +01:00
5120fbc503 neutralized pdf files and better pattern recognition 2026-02-26 15:02:01 +01:00
7163397fd3 fix: Invitation Wizard Anpassungen fertig 2026-02-26 10:44:33 +01:00
patrick-motsch
cd2fffc651 feat: emit ttsDeliveryStatus SSE diagnostics
Made-with: Cursor
2026-02-26 09:46:05 +01:00
patrick-motsch
02002f3576 feat: add speaker-hint debug flag and improve TTS diagnostics
Made-with: Cursor
2026-02-26 09:26:59 +01:00
patrick-motsch
0cd8e9ebfa feat: treat caption events as speaker hints only
Made-with: Cursor
2026-02-26 09:22:07 +01:00
patrick-motsch
43e310a41d feat: map audio STT to recent caption speaker hints
Made-with: Cursor
2026-02-26 09:05:21 +01:00
patrick-motsch
5684a4d769 fix chat workflow sorting for mixed timestamp types
Use parseTimestamp when sorting messages and stats so INT workflows do not fail when DB rows contain timestamp values as both strings and floats.

Made-with: Cursor
2026-02-25 23:06:53 +01:00
36ce2facbc feat: tested mistral api key 2026-02-25 14:04:53 +01:00
667c432485 aicorePluginMistral erstellt und bereit für API key und testing 2026-02-25 13:48:29 +01:00
258594f310 fix: stripe callback csrf rausgenommen 2026-02-25 09:00:12 +01:00
7578d8bf3e feat: integrated stripe payment 2026-02-25 08:44:12 +01:00
patrick-motsch
f5143611b0 fix trustee 3-step ai call for documents 2026-02-24 22:49:08 +01:00
patrick-motsch
ea8cffee3c fix: log teamsbot audio capture diagnostics in gateway
Read and log per-chunk capture diagnostics (trackId, readyState, rms, nativeSampleRate) from bot audioChunk messages to support root-cause analysis of silent audio streams.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-24 14:55:43 +01:00
Patrick Motsch
312163d34a
Merge pull request #100 from valueonag/feat/cursor-style-feature
fixed cursor feature
2026-02-23 23:05:11 +01:00
patrick-motsch
2dff6cd0af fixed cursor feature 2026-02-23 23:01:28 +01:00
patrick-motsch
d020293f4b fix: teamsbot audio STT - pass channels and skipFallbacks for known PCM16 format
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-23 22:59:53 +01:00
patrick-motsch
f6f42d8db7 phase 2 codeeditor and hotfixes voice 2026-02-23 22:09:27 +01:00
patrick-motsch
338f9522a5 codeeditor mvp phase 1 done 2026-02-23 18:35:36 +01:00
patrick-motsch
9d129f111f fixes for roles 2026-02-23 17:13:50 +01:00
patrick-motsch
f35a90e428 fixes sync and ai tree 2026-02-22 22:34:07 +01:00
patrick-motsch
6b11d66766 fixes 2026-02-22 01:03:19 +01:00
patrick-motsch
2eeaf35990 sync trustee feature with rma 2026-02-22 00:07:33 +01:00
patrick-motsch
e1557e9cc9 trustee connections 2026-02-21 00:56:53 +01:00
patrick-motsch
9c23fc6c52 fix: CSRF exemption for bot endpoints, WS ping timeout, clean up debug logs
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-19 00:46:42 +01:00
patrick-motsch
f9aa35647b sync features a and p 2026-02-19 00:31:32 +01:00
patrick-motsch
2d7da8a66d fix: resolve STT AttributeError and int/str TypeError in teamsbot service
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-19 00:09:00 +01:00
patrick-motsch
7778325e5e feat: add debugMode to config, filter bot own captions to prevent repeats
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-18 23:52:51 +01:00
patrick-motsch
b616688411 feat: add screenshot proxy endpoints for debug viewer (SysAdmin only)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-18 22:00:34 +01:00
patrick-motsch
e313055de6 log admin 2026-02-18 21:39:37 +01:00
patrick-motsch
3fa5b98f47 security: restrict system bot access to SysAdmin only
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-18 21:03:08 +01:00
patrick-motsch
1227324703 feat: differential transcript, fix bot name in WS handler, AI commands support
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-18 17:50:31 +01:00
patrick-motsch
6963719499 fix: use enum .value for responseChannel comparison - was silently dropping all responses
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-18 00:48:41 +01:00
patrick-motsch
a3b771b12a fix: derive botName from system bot email, robust responseChannel comparison
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-18 00:32:16 +01:00
patrick-motsch
33daa8dc74 feat: handle voiceGreeting message type - TTS for bot join greeting
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-18 00:17:42 +01:00
patrick-motsch
5d40657aef fix: dynamic bot name in SPEECH_TEAMS prompt + phonetic name trigger
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-18 00:12:48 +01:00
patrick-motsch
070e3cbd96 fix: safe access to botAccountEmail in _isBotSpeaker - was crashing WebSocket handler on first transcript
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-17 23:54:18 +01:00
patrick-motsch
a27307263f fix: create SSE event queue on-demand so transcript/chat events are never silently dropped
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-17 23:44:12 +01:00
patrick-motsch
a3c92ae8d5 fix: load system bot credentials from DB and pass to browser bot for authenticated join
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-17 19:58:01 +01:00
patrick-motsch
ad254aafb1 feat: handle audioChunk messages from bot, STT via Google Cloud Speech
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-17 18:43:42 +01:00
patrick-motsch
de573fd834 refactor: add TransferMode, remove backgroundImageUrl and botAccount fields from config
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-17 18:34:24 +01:00
patrick-motsch
5dd3b9f894 fix: add per-variant test-auth endpoints to avoid Azure timeout
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-17 16:33:21 +01:00
patrick-motsch
cd9b405d2e fix: increase test-auth timeout to 900s for 5 browser variants
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-17 13:46:23 +01:00
patrick-motsch
7b4be3dbc9 feat: accept botEmail/botPassword from request, auto-create system bot in DB
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-17 00:33:05 +01:00
patrick-motsch
f743932768 fix: fallback to any active system bot if mandate mismatch, add credentialDebug to response
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-17 00:03:01 +01:00
patrick-motsch
1b2ca9512f debug: add logging to test-auth credential loading
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 23:45:47 +01:00
patrick-motsch
bddb039bde docs(teamsbot): update test-auth docstring variant count
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 23:06:56 +01:00
patrick-motsch
b08355ee45 teams test auth bot 2026-02-16 21:37:37 +01:00
patrick-motsch
3f9d791688 disable auth: use system bot display name, do not send credentials to browser bot
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 20:37:09 +01:00
patrick-motsch
1b70c07026 Merge branch 'int' of https://github.com/valueonag/gateway into int 2026-02-16 10:03:43 +01:00
patrick-motsch
a67c7f8b81 feat(teamsbot): stop via AI intent (multilingual), initial session context summarization
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 10:03:21 +01:00
3aaa4790c2 Merge branch 'int' of https://github.com/valueonag/gateway into int 2026-02-16 09:30:41 +01:00
2c1927663d fix:user invitations 2026-02-16 09:30:21 +01:00
patrick-motsch
4186ec6188 feat(teamsbot): stop command detection, session context for AI, context summarization for long sessions
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 09:29:03 +01:00
patrick-motsch
c7d1642f61 fix(teamsbot): improve AI prompt - less floskel, stricter response rules, no repetition, language switching support
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 09:02:43 +01:00
patrick-motsch
856b9f3c05 feat(teamsbot): system bot accounts with encrypted credentials, per-user settings, credentials removed from UI
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 00:16:02 +01:00
patrick-motsch
ef813a9304 feat(teamsbot): chat message handling, response channel (voice/chat/both), join mode (systemBot/anonymous/userAccount)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 00:07:42 +01:00
patrick-motsch
cc86b144ac fix(teamsbot): filter bot's own captions from AI trigger, mark bot responses in context to prevent repetition
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-15 22:52:02 +01:00
patrick-motsch
33b6da0d18 fix(msft): use delegated OnlineMeetings.Read scope instead of app-only .Read.All
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-15 15:31:17 +01:00
patrick-motsch
02dedc972d fix(teamsbot): SSE rate-limit 60/min, TTS message format for bot protocol
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-15 15:19:31 +01:00
patrick-motsch
729c6355b5 fix: increase bot HTTP timeout to 60s for auth flow
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-15 12:20:58 +01:00
patrick-motsch
ad5c9d10cd feat(teamsbot): dedicated bot account support with authenticated join
- New config fields: botAccountEmail, botAccountPassword for dedicated MSFT account
- BrowserBotConnector passes credentials + backgroundImageUrl to bot service
- Service passes config credentials to connector in joinMeeting
- Enables: full language settings, virtual background, no lobby wait
- Fallback: anonymous join when no bot account configured

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-15 11:56:04 +01:00
patrick-motsch
91425809c3 fix(teamsbot): AI prompt priority rules, bot-name trigger overrides cooldown
- SPEECH_TEAMS prompt: Rule 1 (bot name mentioned) now has highest priority
  and ALWAYS triggers a response, even for greetings/smalltalk
- Bot-name detection in transcript overrides cooldown timer (immediate trigger)
- Added multilingual instruction: AI responds in the language it's addressed in
- Voice interface: clean camelCase mapping (audio_content -> audioContent)
- Config save: added "config" to allowed update fields in interfaceFeatures
- Default TTS voices for common languages in connectorVoiceGoogle

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-15 11:48:44 +01:00
patrick-motsch
e01c6dcb95 feat(teamsbot): HTTP fallback for transcripts, debug logging for WebSocket
- HTTP POST endpoints: /bot/transcript/{sessionId} and /bot/status/{sessionId}
- Fallback for when Azure App Service blocks WebSocket upgrade
- Debug logging [WS-DEBUG] in WebSocket handler for message tracking
- Handle websocket=None in AI response pipeline (HTTP mode)

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-15 11:05:58 +01:00
patrick-motsch
3777839a5c feat(billing): scope parameter on /view/statistics endpoint
- New query parameter scope: personal/mandate/all
- personal: filters to only current user's transactions (ignores admin role)
- mandate: filters by mandateId parameter
- all: existing RBAC-filtered behavior (default)

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-15 10:44:26 +01:00
patrick-motsch
e24ef42617 feat(teamsbot): AI voice test, config save, camelCase mapping, default voices
- Voice test endpoint generates sample text dynamically via AI in selected language
- Fixed config save: added "config" to allowed update fields in interfaceFeatures
- Clean camelCase mapping in interfaceVoiceObjects (audio_content -> audioContent)
- Default TTS voices for common languages in connectorVoiceGoogle
- Fixed updateFeatureInstanceConfig -> updateFeatureInstance with config field

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-15 10:08:50 +01:00
patrick-motsch
89166a8f70 feat(teamsbot): URL extraction, status mapping, voice test, improved logging
- URL extraction: _extractTeamsMeetingUrl() handles SafeLinks, invitation text, and clean URLs
- Status mapping: added in_meeting, launching, navigating to bot status map
- Voice test endpoint: POST /{instanceId}/voice/test for TTS preview
- Improved error logging in browserBotConnector (shows exception type + repr)
- Improved AI trigger logging in service (shows buffer size, cooldown state, trigger reasons)

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-15 03:26:23 +01:00
patrick-motsch
7f63dba4aa fixed path realEstate and bot connect 2026-02-15 02:57:02 +01:00
patrick-motsch
5d987e72fe fix(teamsbot): Fix Invalid Date + pass language to browser bot
- Add getIsoTimestamp() to timeUtils for JS-compatible ISO 8601 strings
- Replace getUtcTimestamp() (epoch float) with getIsoTimestamp() for all
  teamsbot session/transcript/response timestamp fields (startedAt, endedAt,
  creationDate, lastModified, SSE event timestamps)
- Pass config.language to browser bot in join request for captions spoken language

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-15 01:26:27 +01:00
patrick-motsch
294f1a001c fix(teamsbot): Use APP_API_URL for WebSocket URL to ensure https/wss
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-15 00:12:45 +01:00
patrick-motsch
c7def85a4b feat(teamsbot): Replace bridge with browser bot architecture
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-15 00:04:39 +01:00
f2fb7fd739 fix:keine features wurden in app.py registriert 2026-02-14 17:50:58 +01:00
f9d2f2061e Merge branch 'int' of https://github.com/valueonag/gateway into int 2026-02-14 17:32:49 +01:00
69aa73ed73 fixed complete langgraph workflow and information fetching 2026-02-14 17:31:39 +01:00
Stephan Schellworth
3ff3cfd51c feat(realestate): RBAC catalog, template roles sync, instance role access rules 2026-02-14 13:18:39 +01:00
c2f2ed3b14 feat: extract bzo information 2026-02-14 13:16:08 +01:00
238ff61740 fix:included oereb kataster 2026-02-14 13:13:46 +01:00
fb6bac7d92 feat: fetch oereb kataster and return Wohnzohne 2026-02-14 13:13:46 +01:00
patrick-motsch
ae4dc9fa48 fix: skip STT fallbacks for teamsbot, run audio processing in background
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-13 18:17:47 +01:00
patrick-motsch
77151df0f4 fix: STT audioFormat scoping, automation import name, orphan FK cleanup
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-13 18:03:23 +01:00
patrick-motsch
367edd83e2 fix: add missing await on speechToText and textToSpeech async calls
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-13 17:46:02 +01:00
patrick-motsch
65128db713 fix: use original session user for bridge callbacks instead of system user (RBAC)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-13 17:26:56 +01:00
patrick-motsch
77cbc5803a fix: use poweron.swiss domain for system user email (Pydantic rejects .local TLD)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-13 17:12:04 +01:00
patrick-motsch
d88bacc4a9 billing fix 2026-02-13 14:43:45 +01:00
patrick-motsch
92ee130c0a fix: convert timestamp to string for Pydantic v2 validation in teamsbot service
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-13 14:13:25 +01:00
patrick-motsch
3c566b58d0 mail for websocket fixed 2026-02-13 14:01:37 +01:00
patrick-motsch
e85aa8366d fix route mail 2026-02-13 13:51:05 +01:00
patrick-motsch
3a9812a9e2 test websocket 2026-02-13 13:35:38 +01:00
patrick-motsch
fa530bfd4c fixed route to media center 2026-02-13 13:12:21 +01:00
patrick-motsch
0a9347cdd2 fixed routes exceptions for teams com 2026-02-13 12:37:22 +01:00
patrick-motsch
b7e4efb3a3 teams bridge 2026-02-13 07:27:33 +01:00
patrick-motsch
edecfb002c teamsbot 2026-02-13 00:00:35 +01:00
patrick-motsch
1ce125ac75 fixes 2026-02-12 01:40:00 +01:00
patrick-motsch
7051a6e35f fixed rbac issues and sysadmin integration 2026-02-12 00:34:17 +01:00
patrick-motsch
eb33b3dd38 enhanced invitation 2026-02-10 10:56:30 +01:00
patrick-motsch
0e6d4130ad fixed automation issue 2026-02-10 09:55:51 +01:00
patrick-motsch
b16420db41 fixed mandate routing 2026-02-10 01:44:21 +01:00
patrick-motsch
82badd9e4d fixed mandate bootstrap 2026-02-10 00:35:29 +01:00
patrick-motsch
ab48e2e853 enhanced generic navigation tree 2026-02-10 00:10:07 +01:00
patrick-motsch
d98c31a4d1 logical fixes 2026-02-09 23:44:52 +01:00
patrick-motsch
7532841d9d fixed mandate flag 2026-02-09 12:57:47 +01:00
patrick-motsch
1f3746aef5 streamlined bootstrap and initial config 2026-02-09 12:49:35 +01:00
patrick-motsch
887867acd0 billing rbac 2026-02-08 16:14:01 +01:00
patrick-motsch
8d28f6d77b fiixed feature instance role access 2026-02-08 14:26:01 +01:00
patrick-motsch
f15ed2e380 fixes 2026-02-08 14:00:08 +01:00
patrick-motsch
1b55db4581 admin views fixes 2026-02-08 13:28:36 +01:00
patrick-motsch
34deb5f23d fixed billing transactions mapping and added reporting 2026-02-08 13:15:19 +01:00
patrick-motsch
e4d41965f3 fixed stats and billing sync 2026-02-08 01:44:43 +01:00
patrick-motsch
bbea0ff115 revised state machine for workflow backend and ui 2026-02-08 00:25:48 +01:00
patrick-motsch
a054d12d54 billing fixes 2026-02-06 16:18:37 +01:00
patrick-motsch
8dfb7caf92 neues text model 2026-02-06 13:34:50 +01:00
patrick-motsch
bb10a46cd5 integrated privateLLM 2026-02-06 10:26:54 +01:00
patrick-motsch
d5226a5599 boot running without errors 2026-02-04 22:34:41 +01:00
ValueOn AG
fd923b89b8 billing integration into ai workflow 2026-02-04 22:10:23 +01:00
ValueOn AG
d118128813 billing initial 2026-02-04 21:50:55 +01:00
ValueOn AG
45eda1e4d4 cleaned up all route and main references - no direct access to db.getRecordset - only over interfaces 2026-02-04 14:09:35 +01:00
ValueOn AG
555c9429fb fixed automation bug rbac set 2026-02-04 01:07:42 +01:00
ValueOn AG
edeaf64fa4 automation template/definition editor 2026-02-03 23:42:27 +01:00
ValueOn AG
f31e10496a automation template management and fix admin center 2026-02-03 21:29:50 +01:00
Stephan Schellworth
5ddb857c4b RealEstate: routeRealEstate, mainRealEstate, routeFeatureRealEstate, routeSystem, requirements 2026-02-03 08:40:22 +01:00
Stephan Schellworth
32f7251b95 Admin: Sidebar auf 3 Eintraege reduziert (Zugriffsverwaltung, Benutzer & Einladungen, Rollen & Berechtigungen) 2026-02-03 08:33:10 +01:00
164e7487cc readded chatbot functionality 2026-01-30 14:02:02 +01:00
411a6a081a fixed merge conflicts 2026-01-30 12:00:34 +01:00
7a86914040 changes to chatbot 2026-01-30 11:59:21 +01:00
e4662b19e2 althause update 2026-01-30 11:24:24 +01:00
14ec8b7007 feat: chatbot dynamisch geladen 2026-01-29 15:37:21 +01:00
ValueOn AG
4c91bd7607 fixes 2026-01-27 00:28:31 +01:00
ValueOn AG
ee15fd64b0 fix crosstable trustee 2026-01-26 23:48:19 +01:00
ValueOn AG
7ca957f664 fixed filter/sort for rtustee 2026-01-26 23:40:12 +01:00
ValueOn AG
97cbda0ef2 fixed ai call end to end with saas multimandate 2026-01-26 23:26:30 +01:00
ValueOn AG
5c4813b10a workflow dynamic tested 2026-01-26 14:54:47 +01:00
ValueOn AG
829711f755 fixed system and dynamic data rbac 2026-01-26 12:39:00 +01:00
ValueOn AG
a0304c6d78 mandate invitation and notification system 2026-01-26 01:29:17 +01:00
ValueOn AG
e737bf5cdb gpdr compliancy implemented 2026-01-25 23:57:41 +01:00
ValueOn AG
bc2877bcc1 fixed rbac feature rules to override global rules, not to combine 2026-01-25 03:18:22 +01:00
ValueOn AG
2fc8034260 rbac rules tested and fixed 2026-01-25 03:01:01 +01:00
ValueOn AG
df4c60fc99 fixes 2026-01-24 18:01:28 +01:00
ValueOn AG
4de962d7d6 access rules editor fixed 2026-01-24 09:58:15 +01:00
ValueOn AG
efc28879c3 access rules editor enhanced 2026-01-24 09:43:46 +01:00
ValueOn AG
50e3fce12b fixed automation and trustee 2026-01-24 02:06:49 +01:00