ValueOn AG
a5539f7602
img generation added
2026-03-16 15:44:54 +01:00
ValueOn AG
afe77233f9
fixed content mapping
2026-03-16 15:24:20 +01:00
ValueOn AG
c161a93796
sharepoint relative path fix
2026-03-16 15:12:05 +01:00
ValueOn AG
c873f96848
fixed source access and workflow resource limits and stop
2026-03-16 15:08:05 +01:00
ValueOn AG
b418207c2c
workflow fixes
2026-03-16 14:26:42 +01:00
ValueOn AG
a24b20d302
fixed source access tools
2026-03-16 13:13:46 +01:00
ValueOn AG
2a04acb278
fixed debugs
2026-03-16 11:48:22 +01:00
ValueOn AG
b5dc643dac
ai workspace ui fixes
2026-03-16 11:38:18 +01:00
ValueOn AG
f51c313c2c
fix settings page
2026-03-16 00:51:09 +01:00
ValueOn AG
3d49bd9d03
enhanced stt/tts functions
2026-03-16 00:47:42 +01:00
ValueOn AG
7fe6f9bc97
new ai agent
2026-03-15 23:38:21 +01:00
ValueOn AG
c8b7517209
refactor: modules/services/ abgeloest durch serviceCenter + serviceHub
...
serviceCenter = DI-Container (Resolver, Registry, Context) fuer Service-Instanziierung
serviceHub = Consumer-facing Aggregation (DB-Interfaces, Runtime-State, lazy Service-Resolution via serviceCenter)
- modules/serviceHub/ erstellt: ServiceHub, PublicService, getInterface()
- 22 Consumer-Dateien migriert (routes, features, tests): imports von modules.services auf serviceHub bzw. serviceCenter umgestellt
- resolver.py: legacy fallback auf altes services/ entfernt
- modules/services/ komplett geloescht (83 Dateien inkl. dead code mainAiChat.py)
- pre-extraction: progress callback durch chunk-pipeline propagiert, operationType DATA_EXTRACT->DATA_ANALYSE fuer guenstigeres Modell
2026-03-14 11:51:45 +01:00
7c2192fb3e
fix:neutralization too strong
2026-03-13 11:28:45 +01:00
ValueOn AG
6919a23d4f
fix feature instance passing
2026-03-13 08:29:32 +01:00
patrick-motsch
77d527eb93
Merge branch 'int' of https://github.com/valueonag/gateway into int
2026-03-12 13:24:28 +01:00
patrick-motsch
ac7ac02d4d
fixed api key handling trustee
2026-03-12 13:24:25 +01:00
17341bfde1
fix:removed old route fallback
2026-03-09 11:15:29 +01:00
7a287065a4
fix:deleted old documentation
2026-03-09 11:03:02 +01:00
d78f071682
bug: sharepoint target address from automation feature
2026-03-09 11:03:02 +01:00
125c2bbce7
stop automation bug fix
2026-03-09 11:03:02 +01:00
22e70aa878
fix: chat-playground and automation feature routes unification
2026-03-09 11:03:02 +01:00
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