Commit graph

638 commits

Author SHA1 Message Date
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
ValueOn AG
a0b9a6e4b5 reference fixes 2026-01-24 00:42:19 +01:00
ValueOn AG
6187cc7295 refactored pages ui access with saas mandates 2026-01-23 21:05:47 +01:00
ValueOn AG
f45cf79474 fixes 2026-01-23 07:35:53 +01:00
ValueOn AG
280cafd54a refactored features phase II 2026-01-23 01:10:00 +01:00
ValueOn AG
bb9630d6c4 fixed imports 2026-01-22 21:11:25 +01:00
ValueOn AG
f02ebead7c dyn options in api 2026-01-22 18:52:04 +01:00
ValueOn AG
362080791a isolate features 2026-01-22 17:00:29 +01:00