diff --git a/src/api/teamsbotApi.ts b/src/api/teamsbotApi.ts index 2d8d8dc..ce92ffd 100644 --- a/src/api/teamsbotApi.ts +++ b/src/api/teamsbotApi.ts @@ -50,11 +50,15 @@ export interface TeamsbotBotResponse { timestamp?: string; } +export type TeamsbotResponseChannel = 'voice' | 'chat' | 'both'; +export type TeamsbotJoinMode = 'systemBot' | 'anonymous' | 'userAccount'; + export interface TeamsbotConfig { botName: string; backgroundImageUrl?: string; aiSystemPrompt: string; responseMode: 'auto' | 'manual' | 'transcribeOnly'; + responseChannel: TeamsbotResponseChannel; language: string; voiceId?: string; browserBotUrl?: string; @@ -78,6 +82,7 @@ export interface StartSessionRequest { botName?: string; backgroundImageUrl?: string; connectionId?: string; + joinMode?: TeamsbotJoinMode; } export interface ConfigUpdateRequest { @@ -85,6 +90,7 @@ export interface ConfigUpdateRequest { backgroundImageUrl?: string; aiSystemPrompt?: string; responseMode?: 'auto' | 'manual' | 'transcribeOnly'; + responseChannel?: TeamsbotResponseChannel; language?: string; voiceId?: string; browserBotUrl?: string; diff --git a/src/pages/views/teamsbot/TeamsbotDashboardView.tsx b/src/pages/views/teamsbot/TeamsbotDashboardView.tsx index c231a7e..b607ed0 100644 --- a/src/pages/views/teamsbot/TeamsbotDashboardView.tsx +++ b/src/pages/views/teamsbot/TeamsbotDashboardView.tsx @@ -2,7 +2,7 @@ import React, { useState, useEffect, useCallback, useRef } from 'react'; import { useNavigate } from 'react-router-dom'; import { useCurrentInstance } from '../../../hooks/useCurrentInstance'; import * as teamsbotApi from '../../../api/teamsbotApi'; -import type { TeamsbotSession, StartSessionRequest } from '../../../api/teamsbotApi'; +import type { TeamsbotSession, StartSessionRequest, TeamsbotJoinMode } from '../../../api/teamsbotApi'; import styles from './Teamsbot.module.css'; /** @@ -21,6 +21,7 @@ export const TeamsbotDashboardView: React.FC = () => { // New session form const [meetingLink, setMeetingLink] = useState(''); const [botName, setBotName] = useState(''); + const [joinMode, setJoinMode] = useState('anonymous'); const [isStarting, setIsStarting] = useState(false); const _loadSessions = useCallback(async () => { @@ -63,6 +64,7 @@ export const TeamsbotDashboardView: React.FC = () => { const request: StartSessionRequest = { meetingLink: meetingLink.trim(), botName: botName.trim() || undefined, + joinMode: joinMode, }; await teamsbotApi.startSession(instanceId, request); @@ -142,6 +144,20 @@ export const TeamsbotDashboardView: React.FC = () => { /> +
+ + +
+
{
+ +
+ + + Wie soll der Bot im Meeting antworten? +
{/* Voice Settings */}