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
ValueOn AG
04ba89a0e8
before feature container refactory
2026-01-22 00:23:33 +01:00
ValueOn AG
5fcbc6acd3
saas multi mandate tested
2026-01-21 21:19:52 +01:00
ValueOn AG
ac88f25526
serverside filter and sort for form generic
2026-01-21 15:57:16 +01:00
ValueOn AG
6c8c703115
proper junction table handling
2026-01-21 11:26:19 +01:00
ValueOn AG
b0d89b9080
fixed uid mapping to id
2026-01-21 10:59:44 +01:00
ValueOn AG
f3b01c823e
saas multi-mandate rbac up and running
2026-01-21 10:34:42 +01:00
376b1135d1
finished langgraph integration
2026-01-21 07:31:24 +01:00
ValueOn AG
82c01b5cb0
saas mandates core done
2026-01-21 00:32:47 +01:00