Commit graph

298 commits

Author SHA1 Message Date
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
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
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
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
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
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
d98c31a4d1 logical fixes 2026-02-09 23:44:52 +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
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
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
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
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
829711f755 fixed system and dynamic data rbac 2026-01-26 12:39:00 +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
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
376b1135d1 finished langgraph integration 2026-01-21 07:31:24 +01:00
ValueOn AG
77e1414744 module testing 2026-01-20 00:55:39 +01:00
c4d195464c feat: langgraph as state manager 2026-01-19 17:44:58 +01:00
ValueOn AG
ccc41e7023 harmonized module names 2026-01-19 09:18:37 +01:00
ValueOn AG
5c0ab3f893 implemented multimandate 2026-01-17 02:17:58 +01:00
1bd183ca4c fix: context in prompts improved
context only used if prompt specifically asks for it, otherwise ignored to improve answers
2026-01-14 12:20:25 +01:00
6f6ee25ef2 fix:chatbot route now matches new datamodel interface
List endpoint (/api/chatbot/threads without workflowId): Normalizes all workflows before returning, converting maxSteps: None to 10 (the default).
Single workflow endpoint (/api/chatbot/threads?workflowId=xxx): Normalizes the workflow dict, handling both Pydantic models and plain dicts.
2026-01-14 08:24:06 +01:00
ValueOn AG
013de9e220 fixed trustee access 2026-01-13 23:16:49 +01:00
700690f08d fix:performance optimization 2026-01-12 16:11:27 +01:00
378128c3ce fix:performance optimization 2026-01-12 16:08:32 +01:00
583525a151 fix:added more logic to system prompt and added retry logic 2026-01-12 15:42:16 +01:00
d34d04a4e9 fix: merged old code and fixed system prompt 2026-01-12 09:07:49 +01:00
b06375352e fix:fixed merge conflicts from chatbot 2026-01-12 08:07:30 +01:00
Patrick Motsch
abbed64463
Merge pull request #85 from valueonag/feat/real-estate
Feat/real estate
2026-01-11 15:12:16 +01:00
8147f3f7c8 fix: generalized event manager for message streaming 2026-01-09 12:14:47 +01:00
b327e6dc03 fix: fixed webresearch, tweaked system prompt 2026-01-09 10:49:06 +01:00
2b6bd73b65 fix:finished and fixes chatbot 2026-01-09 09:21:59 +01:00
3a5d27f385 feat:chatbot weiterimplementiert 2026-01-08 08:33:39 +01:00
4aea154eaf feat: multiselect parcells and create projects 2026-01-05 18:04:01 +01:00
6ded28e21a feat:chatbot weiterimplementiert 2026-01-05 15:12:13 +01:00
f78547e51b fix:constant reload 2026-01-05 07:34:45 +01:00
ValueOn AG
4b00e741b3 refactored service center 2025-12-15 21:55:26 +01:00
c56da4f51c fix:parzellen-fetching und geolinien 2025-12-15 09:22:42 +01:00
8e2c4adcb5 feinschliff für pek 2025-12-15 07:16:21 +01:00
dc93890f46 integrated PEK data modell and according routes to get data 2025-12-15 07:16:20 +01:00
ValueOn AG
1195105b94 cleaned up dependencies and code architecture 2025-12-09 23:25:06 +01:00
ValueOn AG
1d9a1d7613 fix 2025-12-08 07:38:39 +01:00
ValueOn AG
72f5fbde46 added attribute types: TextMultilingual, multiselect 2025-12-08 00:13:26 +01:00
ValueOn AG
d009f93dba rbac roles and rules integration tests passed 2025-12-07 23:51:05 +01:00
ValueOn AG
54246745a9 refactored uam to rbac 2025-12-07 13:48:39 +01:00
ValueOn AG
9f46ca3b03 fixed import chain, removed invalid imports by moving logic between modules 2025-12-03 07:31:51 +01:00
ValueOn AG
9bd7821cf5 feat: refactored ai calls and pydantic models 2025-11-17 23:12:18 +01:00
ValueOn AG
94dc8ee3e6 fixed env 2025-11-11 08:37:59 +01:00
ValueOn AG
dee8a3b21f scheduler althaus feature 2025-11-10 16:51:28 +01:00
ValueOn AG
90ea6b2370 Fix DELTS sync 2025-11-05 15:46:20 +01:00
ValueOn AG
90663963ff refactored and properly separated self.chat and self.workflow 2025-11-04 10:30:23 +01:00
ValueOn AG
837748dac9 implemented workflow automation 2025-11-03 00:14:02 +01:00
ValueOn AG
6060d74eb2 issues fixing in chat workflow 2025-11-02 19:53:36 +01:00
ValueOn AG
46fcd089c4 Refactored workflow modes to the standard Dynamic (default), Actionplan (option), Template (future) 2025-11-02 19:22:01 +01:00
ValueOn AG
5c006da27d ui styles 2025-11-02 13:05:20 +01:00
ValueOn AG
24b09ea7ce neutralizer activated 2025-11-02 00:50:21 +01:00
ValueOn AG
a7c9e0221f refactored names to camelCaes part 2 of 2 2025-10-31 00:28:09 +01:00
ValueOn AG
c44fc92568 refactored whole codebase for camelCase part 1 of 2 2025-10-31 00:05:39 +01:00
ValueOn AG
daddf417be Cleaned all import lists 2025-10-24 23:57:17 +02:00
ValueOn AG
f05d958213 removed chatbot on langgraph platform 2025-10-20 22:01:03 +02:00
ValueOn AG
ab5618a9a5 centralized debug handling 2025-10-20 12:22:01 +02:00
ValueOn AG
b97670d939 Adapted chatbot integration 2025-10-15 18:23:03 +02:00
Christopher Gondek
31f8192bd3 feat: add valueon powerbi tool 2025-10-13 17:03:10 +02:00
Christopher Gondek
ba1daa2d73 feat: allow users to specify tools when posting messages 2025-10-09 16:56:27 +02:00
Christopher Gondek
2b5d7506d0 feat: add endpoints to get tools per user 2025-10-09 16:23:29 +02:00
Christopher Gondek
4b75ffd70c feat: add admin endpoints for chatbot tools 2025-10-09 15:30:15 +02:00
Christopher Gondek
0c5d0f957f feat: add tools and tools permissions to db with auto sync 2025-10-09 11:39:04 +02:00
Christopher Gondek
179b848ecb fix: hide tool calls from chatbot history 2025-10-08 17:22:07 +02:00
Christopher Gondek
9bf454823b chore: use minimal langgraph app to read and delete checkpointer history 2025-10-08 17:14:58 +02:00
Christopher Gondek
bfc07ee0b1 feat: implement rename, delete thread endpoints 2025-10-08 16:50:54 +02:00
Christopher Gondek
a0a87e2e3e fix: remove timestamps 2025-10-08 16:30:44 +02:00
Christopher Gondek
85503fc669 feat: implement get thread details endpoint 2025-10-08 16:14:17 +02:00
Christopher Gondek
ed3920f9f9 chore: update code styles 2025-10-08 15:53:15 +02:00
Christopher Gondek
a08bd3ef1d feat: implement get threads endpoint 2025-10-08 15:45:41 +02:00
Christopher Gondek
1143e181e8 feat: add and handle chatbot thread date_created and date_modified 2025-10-08 15:30:14 +02:00
Christopher Gondek
b50dcc6c0f feat: save chatbot threads to db 2025-10-08 14:41:29 +02:00
Christopher Gondek
30c3f9f7f1 chore: add user threads db table setup 2025-10-08 11:37:36 +02:00
2a795492fe fixed windows error 2025-10-08 10:24:15 +02:00
Christopher Gondek
dd16efb860 fix: typo; async checkpointer postgres 2025-10-06 15:39:19 +02:00
Christopher Gondek
33f8ff1b5e chore: better error messages 2025-10-06 15:05:22 +02:00
Christopher Gondek
4bfeded9d0 feat: chatbot w/ streaming basics 2025-10-03 16:48:33 +02:00
Christopher Gondek
8707203ac2 feat: mock chatbot permissions 2025-10-03 13:17:45 +02:00
Christopher Gondek
2158b90748 feat: add tools registry 2025-10-03 13:03:22 +02:00
Christopher Gondek
63dba85b7a feat: mock althaus db query tool 2025-10-03 10:29:37 +02:00
Christopher Gondek
98b258ae53 feat: add langgraph first tool; pydantic v2 2025-10-03 09:48:32 +02:00
Christopher Gondek
68d6ab9890 feat: add chatbot dummy router 2025-10-01 16:00:19 +02:00
ValueOn AG
8be9211b28 complete refactory of all dependencies 2025-09-26 23:36:56 +02:00
ValueOn AG
07a2d279df cleaned model space centralized 2025-09-25 16:59:44 +02:00
ValueOn AG
033e4ec645 Proper event handling 2025-09-25 00:24:26 +02:00
ValueOn AG
02db2751c0 Rev 3.2 running backend 2025-09-25 00:18:58 +02:00
ValueOn AG
29c31e79bd Tested workflow engine 3.1 2025-09-24 23:18:10 +02:00
ValueOn AG
472353fea0 Refactor full workflow engine 3.0 2025-09-23 22:47:54 +02:00
ValueOn AG
1019cb7a65 CHAT 2.0 - Iterative mode 2025-09-23 00:36:24 +02:00
ValueOn AG
30d0a8f70c Full refactored workflow and features 2025-09-22 23:34:47 +02:00
ValueOn AG
168d66d167 cleaned key handling and security 2025-09-22 00:39:15 +02:00