feat(sidecar): supervisor barge endpoints — initiate, mode switch, end

Endpoints:
- GET  /api/supervisor/barge/sip-credentials — fetch SIP number from pool
- POST /api/supervisor/barge — initiate barge via Ozonetel apiId 63
- POST /api/supervisor/barge/mode — update mode (listen/whisper/barge)
- POST /api/supervisor/barge/end — cleanup session + Redis

SupervisorService extended with barge session tracking (in-memory Map).
Mode changes emit SSE events to agent: supervisor-whisper, supervisor-barge,
supervisor-left. Listen mode is silent (no event to agent).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-12 16:06:57 +05:30
parent c23792496b
commit ea60787da0
3 changed files with 213 additions and 2 deletions

View File

@@ -3,12 +3,13 @@ import { PlatformModule } from '../platform/platform.module';
import { OzonetelAgentModule } from '../ozonetel/ozonetel-agent.module';
import { ConfigThemeModule } from '../config/config-theme.module';
import { SupervisorController } from './supervisor.controller';
import { SupervisorBargeController } from './supervisor-barge.controller';
import { SupervisorService } from './supervisor.service';
import { OzonetelAdminAuthService } from '../ozonetel/ozonetel-admin-auth.service';
@Module({
imports: [PlatformModule, forwardRef(() => OzonetelAgentModule), ConfigThemeModule],
controllers: [SupervisorController],
controllers: [SupervisorController, SupervisorBargeController],
providers: [SupervisorService, OzonetelAdminAuthService],
exports: [SupervisorService, OzonetelAdminAuthService],
})