Commit graph

961 commits

Author SHA1 Message Date
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
0c49523e38
Merge pull request #97 from valueonag/feat/auxiliaries2
test websocket
2026-02-13 13:37:01 +01:00
patrick-motsch
3a9812a9e2 test websocket 2026-02-13 13:35:38 +01:00
Patrick Motsch
584e5d9a63
Merge pull request #96 from valueonag/feat/auxiliaries2
Feat/auxiliaries2
2026-02-13 13:13:32 +01:00
patrick-motsch
fa530bfd4c fixed route to media center 2026-02-13 13:12:21 +01:00
Patrick Motsch
9226c42760
Merge pull request #95 from valueonag/int
Merge pull request #94 from valueonag/feat/auxiliaries2
2026-02-13 12:45:56 +01:00
Patrick Motsch
0d1c30d4c6
Merge pull request #94 from valueonag/feat/auxiliaries2
fixed routes exceptions for teams com
2026-02-13 12:37:53 +01:00
patrick-motsch
0a9347cdd2 fixed routes exceptions for teams com 2026-02-13 12:37:22 +01:00
Patrick Motsch
722728720e
Merge pull request #93 from valueonag/feat/auxiliaries
Feat/auxiliaries
2026-02-13 08:55:16 +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
18cdbe4c5c
Merge pull request #92 from valueonag/feat/cost-control
Feat/cost control
2026-02-10 00:13:19 +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