diff --git a/meet-ce/backend/src/environment.ts b/meet-ce/backend/src/environment.ts index abf8afd7..d1ec064d 100644 --- a/meet-ce/backend/src/environment.ts +++ b/meet-ce/backend/src/environment.ts @@ -82,7 +82,10 @@ export const MEET_ENV = { // Deployment configuration MODULES_FILE: process.env.MODULES_FILE || undefined, MODULE_NAME: process.env.MODULE_NAME || 'openviduMeet', - ENABLED_MODULES: process.env.ENABLED_MODULES ?? '' + ENABLED_MODULES: process.env.ENABLED_MODULES ?? '', + + // Agent Speech Processing configuration + AGENT_SPEECH_PROCESSING_NAME: process.env.MEET_AGENT_SPEECH_PROCESSING_NAME || '', }; export function checkModuleEnabled() { diff --git a/meet-ce/backend/src/services/token.service.ts b/meet-ce/backend/src/services/token.service.ts index 7ed0536d..632838e3 100644 --- a/meet-ce/backend/src/services/token.service.ts +++ b/meet-ce/backend/src/services/token.service.ts @@ -1,3 +1,4 @@ +import { RoomAgentDispatch, RoomConfiguration } from '@livekit/protocol'; import { MeetRoomMemberPermissions, MeetRoomMemberRole, @@ -65,6 +66,18 @@ export class TokenService { at.addGrant(grants); } + if (MEET_ENV.AGENT_SPEECH_PROCESSING_NAME) { + + this.logger.debug('Adding speech processing agent dispatch to token', MEET_ENV.AGENT_SPEECH_PROCESSING_NAME); + at.roomConfig = new RoomConfiguration({ + agents: [ + new RoomAgentDispatch({ + agentName: MEET_ENV.AGENT_SPEECH_PROCESSING_NAME + }) + ] + }); + } + return await at.toJwt(); }