Commit graph

18 commits

Author SHA1 Message Date
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
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
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
b7e4efb3a3 teams bridge 2026-02-13 07:27:33 +01:00
patrick-motsch
edecfb002c teamsbot 2026-02-13 00:00:35 +01:00