@absolutejs/voice 0.0.22-beta.54 → 0.0.22-beta.540
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4518 -951
- package/dist/angular/index.d.ts +36 -5
- package/dist/angular/index.js +4189 -390
- package/dist/angular/voice-agent-squad-status.service.d.ts +12 -0
- package/dist/angular/voice-call-debugger.service.d.ts +12 -0
- package/dist/angular/voice-call-player.service.d.ts +19 -0
- package/dist/angular/voice-campaign-dialer-proof.service.d.ts +14 -0
- package/dist/angular/voice-controller.service.d.ts +3 -1
- package/dist/angular/voice-cost-dashboard.service.d.ts +15 -0
- package/dist/angular/voice-delivery-runtime.service.d.ts +16 -0
- package/dist/angular/voice-live-agent-console.service.d.ts +16 -0
- package/dist/angular/voice-live-call-viewer.service.d.ts +16 -0
- package/dist/angular/voice-live-ops.service.d.ts +11 -0
- package/dist/angular/voice-ops-action-center.service.d.ts +13 -0
- package/dist/angular/voice-ops-status.service.d.ts +12 -0
- package/dist/angular/voice-platform-coverage.service.d.ts +12 -0
- package/dist/angular/voice-profile-comparison.service.d.ts +12 -0
- package/dist/angular/voice-proof-trends.service.d.ts +12 -0
- package/dist/angular/voice-provider-capabilities.service.d.ts +12 -0
- package/dist/angular/voice-provider-contracts.service.d.ts +12 -0
- package/dist/angular/voice-provider-status.service.d.ts +2 -2
- package/dist/angular/voice-readiness-failures.service.d.ts +13 -0
- package/dist/angular/voice-reconnect-profile-evidence.service.d.ts +12 -0
- package/dist/angular/voice-replay-timeline.service.d.ts +13 -0
- package/dist/angular/voice-routing-status.service.d.ts +11 -0
- package/dist/angular/voice-session-observability.service.d.ts +12 -0
- package/dist/angular/voice-session-snapshot.service.d.ts +13 -0
- package/dist/angular/voice-stream.service.d.ts +4 -1
- package/dist/angular/voice-trace-timeline.service.d.ts +12 -0
- package/dist/angular/voice-turn-latency.service.d.ts +13 -0
- package/dist/angular/voice-turn-quality.service.d.ts +12 -0
- package/dist/angular/voice-widget.service.d.ts +18 -0
- package/dist/angular/voice-workflow-status.service.d.ts +2 -2
- package/dist/client/actions.d.ts +95 -1
- package/dist/client/agentSquadStatus.d.ts +37 -0
- package/dist/client/agentSquadStatusWidget.d.ts +24 -0
- package/dist/client/audioPlayer.d.ts +2 -2
- package/dist/client/bargeInMonitor.d.ts +7 -0
- package/dist/client/browserMedia.d.ts +8 -0
- package/dist/client/browserNoiseSuppression.d.ts +42 -0
- package/dist/client/browserVoiceSupport.d.ts +22 -0
- package/dist/client/callDebugger.d.ts +21 -0
- package/dist/client/callDebuggerWidget.d.ts +30 -0
- package/dist/client/callPlayer.d.ts +41 -0
- package/dist/client/campaignDialerProof.d.ts +25 -0
- package/dist/client/connection.d.ts +4 -3
- package/dist/client/controller.d.ts +1 -1
- package/dist/client/conversationAnalytics.d.ts +30 -0
- package/dist/client/costDashboard.d.ts +27 -0
- package/dist/client/createVoiceStream.d.ts +1 -1
- package/dist/client/deliveryRuntime.d.ts +36 -0
- package/dist/client/deliveryRuntimeWidget.d.ts +37 -0
- package/dist/client/duplex.d.ts +2 -2
- package/dist/client/htmx.d.ts +1 -1
- package/dist/client/htmxAttributes.d.ts +24 -0
- package/dist/client/htmxBootstrap.js +1029 -73
- package/dist/client/htmxDashboardRenderers.d.ts +71 -0
- package/dist/client/index.d.ts +106 -15
- package/dist/client/index.js +10494 -279
- package/dist/client/liveAgentConsole.d.ts +28 -0
- package/dist/client/liveCallViewer.d.ts +42 -0
- package/dist/client/liveOps.d.ts +22 -0
- package/dist/client/liveOpsWidget.d.ts +23 -0
- package/dist/client/liveTurnLatency.d.ts +41 -0
- package/dist/client/microphone.d.ts +4 -4
- package/dist/client/opsActionCenter.d.ts +56 -0
- package/dist/client/opsActionCenterWidget.d.ts +29 -0
- package/dist/client/opsActionHistory.d.ts +21 -0
- package/dist/client/opsActionHistoryWidget.d.ts +11 -0
- package/dist/client/opsStatus.d.ts +21 -0
- package/dist/client/opsStatusWidget.d.ts +10 -10
- package/dist/client/platformCoverage.d.ts +21 -0
- package/dist/client/platformCoverageWidget.d.ts +38 -0
- package/dist/client/profileComparison.d.ts +21 -0
- package/dist/client/profileComparisonWidget.d.ts +41 -0
- package/dist/client/profileSwitchRecommendation.d.ts +21 -0
- package/dist/client/profileSwitchRecommendationWidget.d.ts +12 -0
- package/dist/client/proofTrends.d.ts +21 -0
- package/dist/client/proofTrendsWidget.d.ts +38 -0
- package/dist/client/providerCapabilities.d.ts +21 -0
- package/dist/client/providerCapabilitiesWidget.d.ts +32 -0
- package/dist/client/providerContracts.d.ts +21 -0
- package/dist/client/providerContractsWidget.d.ts +37 -0
- package/dist/client/providerSimulationControls.d.ts +33 -0
- package/dist/client/providerSimulationControlsWidget.d.ts +20 -0
- package/dist/client/providerStatus.d.ts +5 -3
- package/dist/client/providerStatusWidget.d.ts +32 -0
- package/dist/client/reactiveSource.d.ts +8 -0
- package/dist/client/readinessFailures.d.ts +21 -0
- package/dist/client/readinessFailuresWidget.d.ts +42 -0
- package/dist/client/reconnectProfileEvidence.d.ts +21 -0
- package/dist/client/reconnectProfileEvidenceWidget.d.ts +39 -0
- package/dist/client/replayTimeline.d.ts +26 -0
- package/dist/client/routingStatus.d.ts +21 -0
- package/dist/client/routingStatusWidget.d.ts +32 -0
- package/dist/client/sessionObservability.d.ts +21 -0
- package/dist/client/sessionObservabilityWidget.d.ts +31 -0
- package/dist/client/sessionSnapshot.d.ts +23 -0
- package/dist/client/sessionSnapshotWidget.d.ts +33 -0
- package/dist/client/store.d.ts +1 -1
- package/dist/client/traceTimeline.d.ts +21 -0
- package/dist/client/traceTimelineWidget.d.ts +36 -0
- package/dist/client/turnLatency.d.ts +24 -0
- package/dist/client/turnLatencyWidget.d.ts +33 -0
- package/dist/client/turnQuality.d.ts +21 -0
- package/dist/client/turnQualityWidget.d.ts +32 -0
- package/dist/client/voiceWidgetView.d.ts +48 -0
- package/dist/client/workflowStatus.d.ts +5 -3
- package/dist/{agent.d.ts → core/agent.d.ts} +81 -6
- package/dist/core/agentPerformanceReport.d.ts +40 -0
- package/dist/core/agentSquadContract.d.ts +98 -0
- package/dist/core/agentState.d.ts +12 -0
- package/dist/core/agentTools.d.ts +132 -0
- package/dist/core/aiScorecard.d.ts +32 -0
- package/dist/core/aiVoiceModel.d.ts +15 -0
- package/dist/core/amdDetector.d.ts +25 -0
- package/dist/{assistant.d.ts → core/assistant.d.ts} +14 -14
- package/dist/core/assistantExperiment.d.ts +42 -0
- package/dist/{assistantHealth.d.ts → core/assistantHealth.d.ts} +9 -9
- package/dist/{assistantMemory.d.ts → core/assistantMemory.d.ts} +10 -10
- package/dist/core/assistantMode.d.ts +22 -0
- package/dist/{audioConditioning.d.ts → core/audioConditioning.d.ts} +2 -2
- package/dist/core/audit.d.ts +131 -0
- package/dist/core/auditDeliveryRoutes.d.ts +85 -0
- package/dist/core/auditExport.d.ts +34 -0
- package/dist/core/auditRoutes.d.ts +66 -0
- package/dist/core/auditSinks.d.ts +151 -0
- package/dist/core/backchannel.d.ts +18 -0
- package/dist/core/bargeInRoutes.d.ts +56 -0
- package/dist/core/bookingFlow.d.ts +43 -0
- package/dist/core/browserCallProfiles.d.ts +120 -0
- package/dist/core/browserMediaRoutes.d.ts +62 -0
- package/dist/core/calendarAdapter.d.ts +47 -0
- package/dist/core/calendarSlots.d.ts +35 -0
- package/dist/core/callDebugger.d.ts +66 -0
- package/dist/core/callDisposition.d.ts +38 -0
- package/dist/core/callQuota.d.ts +54 -0
- package/dist/core/callScorecard.d.ts +53 -0
- package/dist/core/callerCRMLinker.d.ts +29 -0
- package/dist/core/callerMemory.d.ts +37 -0
- package/dist/core/callingWindow.d.ts +26 -0
- package/dist/core/campaign.d.ts +795 -0
- package/dist/core/campaignControls.d.ts +37 -0
- package/dist/core/campaignDialers.d.ts +111 -0
- package/dist/core/campaignTemplate.d.ts +16 -0
- package/dist/core/competitiveCoverage.d.ts +141 -0
- package/dist/core/conversationSimulator.d.ts +73 -0
- package/dist/{correction.d.ts → core/correction.d.ts} +5 -4
- package/dist/core/costAccounting.d.ts +76 -0
- package/dist/core/costPredictor.d.ts +74 -0
- package/dist/core/crmCallLogger.d.ts +37 -0
- package/dist/core/crmContract.d.ts +70 -0
- package/dist/core/dataControl.d.ts +180 -0
- package/dist/core/defineVoiceAssistant.d.ts +68 -0
- package/dist/core/deliveryRuntime.d.ts +159 -0
- package/dist/core/deliverySinkRoutes.d.ts +117 -0
- package/dist/core/demoReadyRoutes.d.ts +98 -0
- package/dist/{diagnosticsRoutes.d.ts → core/diagnosticsRoutes.d.ts} +2 -2
- package/dist/core/dncRegistry.d.ts +38 -0
- package/dist/core/dtmfCollector.d.ts +37 -0
- package/dist/{evalRoutes.d.ts → core/evalRoutes.d.ts} +26 -20
- package/dist/{fileStore.d.ts → core/fileStore.d.ts} +34 -20
- package/dist/core/guardrails.d.ts +128 -0
- package/dist/{handoff.d.ts → core/handoff.d.ts} +10 -10
- package/dist/{handoffHealth.d.ts → core/handoffHealth.d.ts} +9 -9
- package/dist/core/holdAudio.d.ts +23 -0
- package/dist/{htmx.d.ts → core/htmx.d.ts} +2 -2
- package/dist/core/htmxDashboardRoutes.d.ts +250 -0
- package/dist/core/iceServers.d.ts +34 -0
- package/dist/core/incidentBundle.d.ts +119 -0
- package/dist/core/incidentTimeline.d.ts +260 -0
- package/dist/core/ivrPlan.d.ts +40 -0
- package/dist/core/latencySlo.d.ts +56 -0
- package/dist/core/liveCoach.d.ts +43 -0
- package/dist/core/liveLatency.d.ts +78 -0
- package/dist/core/liveOps.d.ts +190 -0
- package/dist/core/llmJudge.d.ts +45 -0
- package/dist/{logger.d.ts → core/logger.d.ts} +1 -2
- package/dist/core/mcpToolset.d.ts +58 -0
- package/dist/core/mediaPipelineRoutes.d.ts +171 -0
- package/dist/core/mediaPipelineSurfaces.d.ts +48 -0
- package/dist/{memoryStore.d.ts → core/memoryStore.d.ts} +1 -1
- package/dist/core/midCallSummary.d.ts +27 -0
- package/dist/{modelAdapters.d.ts → core/modelAdapters.d.ts} +59 -7
- package/dist/core/monitor.d.ts +148 -0
- package/dist/core/multilingualProof.d.ts +77 -0
- package/dist/core/noShowPredictor.d.ts +46 -0
- package/dist/core/oauth2TokenSource.d.ts +21 -0
- package/dist/core/observabilityExport.d.ts +501 -0
- package/dist/core/openaiTTS.d.ts +18 -0
- package/dist/core/operationalStatus.d.ts +87 -0
- package/dist/core/operationsRecord.d.ts +371 -0
- package/dist/{ops.d.ts → core/ops.d.ts} +70 -70
- package/dist/core/opsActionAuditRoutes.d.ts +99 -0
- package/dist/{opsConsoleRoutes.d.ts → core/opsConsoleRoutes.d.ts} +11 -8
- package/dist/{opsPresets.d.ts → core/opsPresets.d.ts} +2 -2
- package/dist/core/opsRecovery.d.ts +137 -0
- package/dist/{opsRuntime.d.ts → core/opsRuntime.d.ts} +6 -6
- package/dist/{opsSinks.d.ts → core/opsSinks.d.ts} +19 -19
- package/dist/core/opsStatus.d.ts +76 -0
- package/dist/core/opsStatusRoutes.d.ts +33 -0
- package/dist/{opsWebhook.d.ts → core/opsWebhook.d.ts} +15 -15
- package/dist/core/otelExporter.d.ts +83 -0
- package/dist/core/outcomeContract.d.ts +146 -0
- package/dist/{outcomeRecipes.d.ts → core/outcomeRecipes.d.ts} +4 -4
- package/dist/core/pathway.d.ts +94 -0
- package/dist/core/pathwayCompiler.d.ts +31 -0
- package/dist/core/pathwayGenerator.d.ts +27 -0
- package/dist/core/pathwayRuntime.d.ts +57 -0
- package/dist/core/pathwaySlotCollector.d.ts +29 -0
- package/dist/core/pathwayVisualizer.d.ts +8 -0
- package/dist/core/phoneAgent.d.ts +139 -0
- package/dist/core/phoneAgentProductionSmoke.d.ts +115 -0
- package/dist/core/phoneProvisioning.d.ts +29 -0
- package/dist/core/platformCoverage.d.ts +91 -0
- package/dist/{plugin.d.ts → core/plugin.d.ts} +2 -2
- package/dist/core/postCallAnalysis.d.ts +98 -0
- package/dist/core/postCallSurvey.d.ts +41 -0
- package/dist/{postgresStore.d.ts → core/postgresStore.d.ts} +20 -9
- package/dist/{presets.d.ts → core/presets.d.ts} +3 -3
- package/dist/core/productionReadiness.d.ts +757 -0
- package/dist/core/profileSwitchRecommendation.d.ts +350 -0
- package/dist/core/promptInjectionGuard.d.ts +30 -0
- package/dist/core/proofAssertions.d.ts +32 -0
- package/dist/core/proofPack.d.ts +211 -0
- package/dist/core/proofRunner.d.ts +79 -0
- package/dist/core/proofTrends.d.ts +966 -0
- package/dist/{providerAdapters.d.ts → core/providerAdapters.d.ts} +16 -5
- package/dist/core/providerCapabilities.d.ts +92 -0
- package/dist/core/providerDecisionTraces.d.ts +130 -0
- package/dist/{providerHealth.d.ts → core/providerHealth.d.ts} +15 -5
- package/dist/core/providerOrchestration.d.ts +109 -0
- package/dist/core/providerRouterTraces.d.ts +35 -0
- package/dist/core/providerRoutingContract.d.ts +71 -0
- package/dist/core/providerSlo.d.ts +142 -0
- package/dist/core/providerStackRecommendations.d.ts +188 -0
- package/dist/core/qualityDriftDetector.d.ts +44 -0
- package/dist/{qualityRoutes.d.ts → core/qualityRoutes.d.ts} +7 -7
- package/dist/{queue.d.ts → core/queue.d.ts} +48 -39
- package/dist/core/ragTool.d.ts +52 -0
- package/dist/core/readinessProfiles.d.ts +45 -0
- package/dist/core/realtimeChannel.d.ts +136 -0
- package/dist/core/realtimeProviderContracts.d.ts +133 -0
- package/dist/core/reconnectContract.d.ts +177 -0
- package/dist/core/recordingRedaction.d.ts +47 -0
- package/dist/core/recordingStore.d.ts +60 -0
- package/dist/core/redaction.d.ts +13 -0
- package/dist/core/reminderScheduler.d.ts +43 -0
- package/dist/{resilienceRoutes.d.ts → core/resilienceRoutes.d.ts} +45 -5
- package/dist/core/retention.d.ts +37 -0
- package/dist/core/retryPolicy.d.ts +38 -0
- package/dist/core/routeAuth.d.ts +58 -0
- package/dist/{routing.d.ts → core/routing.d.ts} +2 -2
- package/dist/{runtimeOps.d.ts → core/runtimeOps.d.ts} +3 -3
- package/dist/{s3Store.d.ts → core/s3Store.d.ts} +12 -3
- package/dist/core/scorecardCalibration.d.ts +31 -0
- package/dist/core/semanticTurn.d.ts +27 -0
- package/dist/{session.d.ts → core/session.d.ts} +1 -1
- package/dist/core/sessionObservability.d.ts +145 -0
- package/dist/{sessionReplay.d.ts → core/sessionReplay.d.ts} +31 -19
- package/dist/core/sessionSnapshot.d.ts +109 -0
- package/dist/core/simulationSuite.d.ts +144 -0
- package/dist/core/sloCalibration.d.ts +185 -0
- package/dist/{sqliteStore.d.ts → core/sqliteStore.d.ts} +20 -9
- package/dist/{store.d.ts → core/store.d.ts} +1 -1
- package/dist/core/supervisorPermissions.d.ts +33 -0
- package/dist/core/supervisorPresence.d.ts +49 -0
- package/dist/core/telephonyMediaRoutes.d.ts +72 -0
- package/dist/core/telephonyOutcome.d.ts +269 -0
- package/dist/core/toolContract.d.ts +161 -0
- package/dist/core/toolRuntime.d.ts +50 -0
- package/dist/{trace.d.ts → core/trace.d.ts} +61 -22
- package/dist/core/traceDeliveryRoutes.d.ts +86 -0
- package/dist/core/traceTimeline.d.ts +97 -0
- package/dist/core/transcriptAnnotator.d.ts +41 -0
- package/dist/{turnDetection.d.ts → core/turnDetection.d.ts} +1 -1
- package/dist/core/turnLatency.d.ts +95 -0
- package/dist/core/turnProfiles.d.ts +3 -0
- package/dist/core/turnQuality.d.ts +94 -0
- package/dist/{types.d.ts → core/types.d.ts} +416 -81
- package/dist/core/vapiAdapter.d.ts +160 -0
- package/dist/core/variableAnalytics.d.ts +47 -0
- package/dist/core/voiceConfiguration.d.ts +8 -0
- package/dist/core/voiceMonitoring.d.ts +444 -0
- package/dist/core/webhookFanout.d.ts +48 -0
- package/dist/core/webhookVerification.d.ts +27 -0
- package/dist/core/whisperChannel.d.ts +50 -0
- package/dist/{workflowContract.d.ts → core/workflowContract.d.ts} +21 -21
- package/dist/core/zeroDataRetention.d.ts +31 -0
- package/dist/drizzle/assistantMemory.d.ts +112 -0
- package/dist/drizzle/eval.d.ts +61 -0
- package/dist/drizzle/handoff.d.ts +62 -0
- package/dist/drizzle/incidentBundle.d.ts +61 -0
- package/dist/drizzle/index.d.ts +1105 -0
- package/dist/drizzle/index.js +3059 -0
- package/dist/drizzle/observabilityExport.d.ts +61 -0
- package/dist/drizzle/proofTrends.d.ts +126 -0
- package/dist/drizzle/runtimeStorage.d.ts +1315 -0
- package/dist/drizzle/shared.d.ts +76 -0
- package/dist/embed/index.d.ts +38 -0
- package/dist/embed/index.js +1710 -0
- package/dist/embed/voice-widget.js +10 -0
- package/dist/index.d.ts +369 -74
- package/dist/index.js +45779 -7413
- package/dist/internal/evidence.d.ts +10 -0
- package/dist/internal/html.d.ts +6 -0
- package/dist/internal/status.d.ts +7 -0
- package/dist/react/VoiceAgentSquadStatus.d.ts +5 -0
- package/dist/react/VoiceCallDebuggerLaunch.d.ts +6 -0
- package/dist/react/VoiceCallPlayer.d.ts +11 -0
- package/dist/react/VoiceCostDashboard.d.ts +10 -0
- package/dist/react/VoiceDeliveryRuntime.d.ts +7 -0
- package/dist/react/VoiceLiveAgentConsole.d.ts +11 -0
- package/dist/react/VoiceLiveCallViewer.d.ts +9 -0
- package/dist/react/VoiceOpsActionCenter.d.ts +5 -0
- package/dist/react/VoiceOpsStatus.d.ts +1 -1
- package/dist/react/VoicePlatformCoverage.d.ts +6 -0
- package/dist/react/VoiceProfileComparison.d.ts +6 -0
- package/dist/react/VoiceProfileSwitchRecommendation.d.ts +6 -0
- package/dist/react/VoiceProofTrends.d.ts +6 -0
- package/dist/react/VoiceProviderCapabilities.d.ts +6 -0
- package/dist/react/VoiceProviderContracts.d.ts +6 -0
- package/dist/react/VoiceProviderSimulationControls.d.ts +5 -0
- package/dist/react/VoiceProviderStatus.d.ts +6 -0
- package/dist/react/VoiceReadinessFailures.d.ts +6 -0
- package/dist/react/VoiceReconnectProfileEvidence.d.ts +6 -0
- package/dist/react/VoiceReplayTimeline.d.ts +6 -0
- package/dist/react/VoiceRoutingStatus.d.ts +6 -0
- package/dist/react/VoiceSessionObservability.d.ts +6 -0
- package/dist/react/VoiceSessionSnapshot.d.ts +6 -0
- package/dist/react/VoiceTraceTimeline.d.ts +6 -0
- package/dist/react/VoiceTurnLatency.d.ts +6 -0
- package/dist/react/VoiceTurnQuality.d.ts +6 -0
- package/dist/react/VoiceWidget.d.ts +13 -0
- package/dist/react/index.d.ts +80 -6
- package/dist/react/index.js +12900 -320
- package/dist/react/useVoiceAgentSquadStatus.d.ts +8 -0
- package/dist/react/useVoiceCallDebugger.d.ts +8 -0
- package/dist/react/useVoiceCampaignDialerProof.d.ts +10 -0
- package/dist/react/useVoiceController.d.ts +4 -1
- package/dist/react/useVoiceDeliveryRuntime.d.ts +13 -0
- package/dist/react/useVoiceLiveOps.d.ts +9 -0
- package/dist/react/useVoiceOpsActionCenter.d.ts +11 -0
- package/dist/react/useVoiceOpsStatus.d.ts +8 -0
- package/dist/react/useVoicePlatformCoverage.d.ts +8 -0
- package/dist/react/useVoiceProfileComparison.d.ts +8 -0
- package/dist/react/useVoiceProfileSwitchRecommendation.d.ts +8 -0
- package/dist/react/useVoiceProofTrends.d.ts +8 -0
- package/dist/react/useVoiceProviderCapabilities.d.ts +8 -0
- package/dist/react/useVoiceProviderContracts.d.ts +8 -0
- package/dist/react/useVoiceProviderSimulationControls.d.ts +10 -0
- package/dist/react/useVoiceProviderStatus.d.ts +1 -1
- package/dist/react/useVoiceReadinessFailures.d.ts +8 -0
- package/dist/react/useVoiceReconnectProfileEvidence.d.ts +8 -0
- package/dist/react/useVoiceRoutingStatus.d.ts +8 -0
- package/dist/react/useVoiceSessionObservability.d.ts +8 -0
- package/dist/react/useVoiceSessionSnapshot.d.ts +9 -0
- package/dist/react/useVoiceStream.d.ts +4 -1
- package/dist/react/useVoiceTraceTimeline.d.ts +8 -0
- package/dist/react/useVoiceTurnLatency.d.ts +9 -0
- package/dist/react/useVoiceTurnQuality.d.ts +8 -0
- package/dist/react/useVoiceWorkflowStatus.d.ts +1 -1
- package/dist/svelte/createVoiceAgentSquadStatus.d.ts +9 -0
- package/dist/svelte/createVoiceCallDebugger.d.ts +10 -0
- package/dist/svelte/createVoiceCallPlayer.d.ts +33 -0
- package/dist/svelte/createVoiceCampaignDialerProof.d.ts +9 -0
- package/dist/svelte/createVoiceCostDashboard.d.ts +13 -0
- package/dist/svelte/createVoiceDeliveryRuntime.d.ts +11 -0
- package/dist/svelte/createVoiceLiveAgentConsole.d.ts +23 -0
- package/dist/svelte/createVoiceLiveCallViewer.d.ts +26 -0
- package/dist/svelte/createVoiceLiveOps.d.ts +13 -0
- package/dist/svelte/createVoiceOpsActionCenter.d.ts +10 -0
- package/dist/svelte/createVoiceOpsStatus.d.ts +4 -4
- package/dist/svelte/createVoicePlatformCoverage.d.ts +7 -0
- package/dist/svelte/createVoiceProfileComparison.d.ts +7 -0
- package/dist/svelte/createVoiceProofTrends.d.ts +7 -0
- package/dist/svelte/createVoiceProviderCapabilities.d.ts +10 -0
- package/dist/svelte/createVoiceProviderContracts.d.ts +10 -0
- package/dist/svelte/createVoiceProviderSimulationControls.d.ts +11 -0
- package/dist/svelte/createVoiceProviderStatus.d.ts +5 -3
- package/dist/svelte/createVoiceReadinessFailures.d.ts +7 -0
- package/dist/svelte/createVoiceReconnectProfileEvidence.d.ts +7 -0
- package/dist/svelte/createVoiceReplayTimeline.d.ts +13 -0
- package/dist/svelte/createVoiceRoutingStatus.d.ts +10 -0
- package/dist/svelte/createVoiceSessionObservability.d.ts +10 -0
- package/dist/svelte/createVoiceSessionSnapshot.d.ts +11 -0
- package/dist/svelte/createVoiceStream.d.ts +1 -1
- package/dist/svelte/createVoiceTraceTimeline.d.ts +10 -0
- package/dist/svelte/createVoiceTurnLatency.d.ts +11 -0
- package/dist/svelte/createVoiceTurnQuality.d.ts +10 -0
- package/dist/svelte/createVoiceWidget.d.ts +19 -0
- package/dist/svelte/createVoiceWorkflowStatus.d.ts +2 -2
- package/dist/svelte/index.d.ts +37 -6
- package/dist/svelte/index.js +7047 -768
- package/dist/telephony/contract.d.ts +61 -0
- package/dist/telephony/matrix.d.ts +97 -0
- package/dist/telephony/plivo.d.ts +303 -0
- package/dist/telephony/response.d.ts +1 -1
- package/dist/telephony/security.d.ts +182 -0
- package/dist/telephony/telnyx.d.ts +291 -0
- package/dist/telephony/twilio.d.ts +149 -15
- package/dist/testing/accuracy.d.ts +1 -1
- package/dist/testing/benchmark.d.ts +15 -15
- package/dist/testing/corrected.d.ts +9 -9
- package/dist/testing/duplex.d.ts +5 -5
- package/dist/testing/fixtures.d.ts +4 -4
- package/dist/testing/index.d.ts +13 -13
- package/dist/testing/index.js +5756 -636
- package/dist/testing/ioProviderSimulator.d.ts +5 -5
- package/dist/testing/providerSimulator.d.ts +5 -5
- package/dist/testing/review.d.ts +8 -8
- package/dist/testing/sessionBenchmark.d.ts +13 -13
- package/dist/testing/stt.d.ts +3 -3
- package/dist/testing/telephony.d.ts +27 -2
- package/dist/testing/tts.d.ts +2 -2
- package/dist/vue/VoiceCallDebuggerLaunch.d.ts +72 -0
- package/dist/vue/VoiceCallPlayer.d.ts +40 -0
- package/dist/vue/VoiceCostDashboard.d.ts +57 -0
- package/dist/vue/VoiceDeliveryRuntime.d.ts +34 -0
- package/dist/vue/VoiceLiveAgentConsole.d.ts +50 -0
- package/dist/vue/VoiceLiveCallViewer.d.ts +35 -0
- package/dist/vue/VoiceOpsActionCenter.d.ts +13 -0
- package/dist/vue/VoiceOpsStatus.d.ts +4 -0
- package/dist/vue/VoicePlatformCoverage.d.ts +27 -0
- package/dist/vue/VoiceProofTrends.d.ts +25 -0
- package/dist/vue/VoiceProviderCapabilities.d.ts +55 -0
- package/dist/vue/VoiceProviderContracts.d.ts +25 -0
- package/dist/vue/VoiceProviderSimulationControls.d.ts +88 -0
- package/dist/vue/VoiceProviderStatus.d.ts +55 -0
- package/dist/vue/VoiceReadinessFailures.d.ts +25 -0
- package/dist/vue/VoiceReconnectProfileEvidence.d.ts +25 -0
- package/dist/vue/VoiceReplayTimeline.d.ts +17 -0
- package/dist/vue/VoiceRoutingStatus.d.ts +55 -0
- package/dist/vue/VoiceSessionObservability.d.ts +27 -0
- package/dist/vue/VoiceSessionSnapshot.d.ts +72 -0
- package/dist/vue/VoiceTurnLatency.d.ts +73 -0
- package/dist/vue/VoiceTurnQuality.d.ts +55 -0
- package/dist/vue/VoiceWidget.d.ts +77 -0
- package/dist/vue/index.d.ts +49 -6
- package/dist/vue/index.js +12193 -402
- package/dist/vue/useVoiceAgentSquadStatus.d.ts +9 -0
- package/dist/vue/useVoiceCallDebugger.d.ts +10 -0
- package/dist/vue/useVoiceCampaignDialerProof.d.ts +11 -0
- package/dist/vue/useVoiceController.d.ts +9 -7
- package/dist/vue/useVoiceDeliveryRuntime.d.ts +13 -0
- package/dist/vue/useVoiceLiveOps.d.ts +9 -0
- package/dist/vue/useVoiceOpsActionCenter.d.ts +11 -0
- package/dist/vue/useVoiceOpsStatus.d.ts +9 -0
- package/dist/vue/useVoicePlatformCoverage.d.ts +9 -0
- package/dist/vue/useVoiceProfileComparison.d.ts +9 -0
- package/dist/vue/useVoiceProofTrends.d.ts +9 -0
- package/dist/vue/useVoiceProviderCapabilities.d.ts +9 -0
- package/dist/vue/useVoiceProviderContracts.d.ts +9 -0
- package/dist/vue/useVoiceProviderSimulationControls.d.ts +24 -0
- package/dist/vue/useVoiceProviderStatus.d.ts +3 -3
- package/dist/vue/useVoiceReadinessFailures.d.ts +959 -0
- package/dist/vue/useVoiceReconnectProfileEvidence.d.ts +9 -0
- package/dist/vue/useVoiceRoutingStatus.d.ts +8 -0
- package/dist/vue/useVoiceSessionObservability.d.ts +9 -0
- package/dist/vue/useVoiceSessionSnapshot.d.ts +10 -0
- package/dist/vue/useVoiceStream.d.ts +9 -6
- package/dist/vue/useVoiceTraceTimeline.d.ts +9 -0
- package/dist/vue/useVoiceTurnLatency.d.ts +10 -0
- package/dist/vue/useVoiceTurnQuality.d.ts +9 -0
- package/dist/vue/useVoiceWorkflowStatus.d.ts +3 -3
- package/package.json +154 -256
- package/dist/angular/voice-app-kit-status.service.d.ts +0 -12
- package/dist/angular/voice-ops-status.component.d.ts +0 -15
- package/dist/appKit.d.ts +0 -92
- package/dist/client/appKitStatus.d.ts +0 -19
- package/dist/react/useVoiceAppKitStatus.d.ts +0 -8
- package/dist/svelte/createVoiceAppKitStatus.d.ts +0 -8
- package/dist/turnProfiles.d.ts +0 -6
- package/dist/vue/useVoiceAppKitStatus.d.ts +0 -9
- package/fixtures/README.md +0 -57
- package/fixtures/manifest.json +0 -199
- package/fixtures/pcm/dialogue-three-clean.pcm +0 -0
- package/fixtures/pcm/dialogue-three-mixed.pcm +0 -0
- package/fixtures/pcm/dialogue-two-clean.pcm +0 -0
- package/fixtures/pcm/dialogue-two-noisy.pcm +0 -0
- package/fixtures/pcm/multiturn-three-mixed.pcm +0 -0
- package/fixtures/pcm/multiturn-two-clean.pcm +0 -0
- package/fixtures/pcm/quietly-alone-clean.pcm +0 -0
- package/fixtures/pcm/rainstorms-noisy.pcm +0 -0
- package/fixtures/pcm/stella-bulgaria-bulgarian20.pcm +0 -0
- package/fixtures/pcm/stella-ghana-english507.pcm +0 -0
- package/fixtures/pcm/stella-india-english37.pcm +0 -0
- package/fixtures/pcm/stella-jamaica-jamaican-creole-english1.pcm +0 -0
- package/fixtures/pcm/stella-liberia-liberian-pidgin-english2.pcm +0 -0
- package/fixtures/pcm/stella-pakistan-english519.pcm +0 -0
- package/fixtures/pcm/stella-sierra-leone-krio5.pcm +0 -0
- package/fixtures/pcm/stella-singapore-english655.pcm +0 -0
- package/fixtures/pcm/traveled-back-route-clean.pcm +0 -0
|
@@ -1,24 +1,48 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { VoiceOpsDispositionTaskPolicies, VoiceOpsTaskAssignmentRule, VoiceOpsTaskAssignmentRules, VoiceIntegrationWebhookConfig, StoredVoiceIntegrationEvent, StoredVoiceOpsTask, VoiceIntegrationEventStore, VoiceOpsTaskPolicy, VoiceOpsTask, VoiceOpsTaskStore } from
|
|
3
|
-
import type { VoiceIntegrationSink } from
|
|
4
|
-
import type { StoredVoiceCallReviewArtifact, VoiceCallReviewArtifact, VoiceCallReviewStore } from
|
|
5
|
-
import type { VoiceTraceEventStore } from
|
|
1
|
+
import type { MediaWebRTCStatsCollector, MediaWebRTCStatsReport, MediaWebRTCStatsReportInput, MediaWebRTCStreamContinuityInput, MediaWebRTCStreamContinuityReport } from "@absolutejs/media";
|
|
2
|
+
import type { VoiceOpsDispositionTaskPolicies, VoiceOpsTaskAssignmentRule, VoiceOpsTaskAssignmentRules, VoiceIntegrationWebhookConfig, StoredVoiceIntegrationEvent, StoredVoiceOpsTask, VoiceIntegrationEventStore, VoiceOpsTaskPolicy, VoiceOpsTask, VoiceOpsTaskStore } from "./ops";
|
|
3
|
+
import type { VoiceIntegrationSink } from "./opsSinks";
|
|
4
|
+
import type { StoredVoiceCallReviewArtifact, VoiceCallReviewArtifact, VoiceCallReviewStore } from "../testing/review";
|
|
5
|
+
import type { VoiceTraceEventStore } from "./trace";
|
|
6
|
+
import type { VoiceLiveOpsControlState } from "./liveOps";
|
|
7
|
+
import type { VoiceAuditActor, VoiceAuditEventStore } from "./audit";
|
|
8
|
+
import type { VoiceProfileSwitchGuardDecision, VoiceProfileSwitchGuardMode, VoiceProfileSwitchObservedSignals } from "./profileSwitchRecommendation";
|
|
9
|
+
import type { VoiceRealCallProfileDefaultsReport, VoiceRealCallProfileHistoryReport } from "./proofTrends";
|
|
6
10
|
export type AudioFormat = {
|
|
7
|
-
container:
|
|
8
|
-
encoding:
|
|
11
|
+
container: "raw";
|
|
12
|
+
encoding: "alaw" | "mulaw" | "pcm_s16le";
|
|
9
13
|
sampleRateHz: number;
|
|
10
14
|
channels: 1 | 2;
|
|
11
15
|
};
|
|
12
16
|
export type AudioChunk = ArrayBuffer | ArrayBufferView;
|
|
17
|
+
/**
|
|
18
|
+
* Structural contract for an inbound noise suppressor applied before STT.
|
|
19
|
+
* Matches `@absolutejs/media`'s `NoiseSuppressor`, so any media suppressor
|
|
20
|
+
* (`createFFmpegNoiseSuppressor`, `createEnergyGateNoiseSuppressor`, a Krisp
|
|
21
|
+
* adapter, etc.) satisfies it without a hard import.
|
|
22
|
+
*/
|
|
23
|
+
export type VoiceNoiseSuppressor = {
|
|
24
|
+
readonly kind: string;
|
|
25
|
+
process: (input: {
|
|
26
|
+
format: AudioFormat;
|
|
27
|
+
pcm: ArrayBuffer | ArrayBufferView;
|
|
28
|
+
}) => Promise<{
|
|
29
|
+
bytes: Uint8Array;
|
|
30
|
+
format: AudioFormat;
|
|
31
|
+
}> | {
|
|
32
|
+
bytes: Uint8Array;
|
|
33
|
+
format: AudioFormat;
|
|
34
|
+
};
|
|
35
|
+
close?: () => Promise<void> | void;
|
|
36
|
+
};
|
|
13
37
|
export type VoiceLanguageStrategy = {
|
|
14
|
-
mode:
|
|
38
|
+
mode: "auto-detect";
|
|
15
39
|
allowedLanguages?: string[];
|
|
16
40
|
} | {
|
|
17
|
-
mode:
|
|
41
|
+
mode: "fixed";
|
|
18
42
|
primaryLanguage: string;
|
|
19
43
|
secondaryLanguages?: string[];
|
|
20
44
|
} | {
|
|
21
|
-
mode:
|
|
45
|
+
mode: "allow-switching";
|
|
22
46
|
primaryLanguage?: string;
|
|
23
47
|
secondaryLanguages: string[];
|
|
24
48
|
};
|
|
@@ -28,7 +52,7 @@ export type VoicePhraseHint = {
|
|
|
28
52
|
boost?: number;
|
|
29
53
|
metadata?: Record<string, unknown>;
|
|
30
54
|
};
|
|
31
|
-
export type VoiceCorrectionRiskTier =
|
|
55
|
+
export type VoiceCorrectionRiskTier = "safe" | "balanced" | "risky";
|
|
32
56
|
export type VoiceDomainTerm = {
|
|
33
57
|
text: string;
|
|
34
58
|
aliases?: string[];
|
|
@@ -44,12 +68,18 @@ export type VoiceLexiconEntry = {
|
|
|
44
68
|
metadata?: Record<string, unknown>;
|
|
45
69
|
pronunciation?: string;
|
|
46
70
|
};
|
|
71
|
+
export type VoiceTranscriptSentiment = {
|
|
72
|
+
label: "negative" | "neutral" | "positive" | (string & {});
|
|
73
|
+
metadata?: Record<string, unknown>;
|
|
74
|
+
score?: number;
|
|
75
|
+
};
|
|
47
76
|
export type Transcript = {
|
|
48
77
|
id: string;
|
|
49
78
|
text: string;
|
|
50
79
|
isFinal: boolean;
|
|
51
80
|
confidence?: number;
|
|
52
81
|
language?: string;
|
|
82
|
+
sentiment?: VoiceTranscriptSentiment;
|
|
53
83
|
speaker?: string | number;
|
|
54
84
|
startedAtMs?: number;
|
|
55
85
|
endedAtMs?: number;
|
|
@@ -65,7 +95,7 @@ export type VoiceTranscriptQuality = {
|
|
|
65
95
|
fallback?: VoiceFallbackDiagnostics;
|
|
66
96
|
partialTranscriptCount: number;
|
|
67
97
|
selectedTranscriptCount: number;
|
|
68
|
-
source:
|
|
98
|
+
source: "fallback" | "primary";
|
|
69
99
|
};
|
|
70
100
|
export type VoiceTurnCorrectionDiagnostics = {
|
|
71
101
|
attempted: boolean;
|
|
@@ -83,7 +113,7 @@ export type VoiceTurnCostEstimate = {
|
|
|
83
113
|
primaryAudioMs: number;
|
|
84
114
|
totalBillableAudioMs: number;
|
|
85
115
|
};
|
|
86
|
-
export type VoiceFallbackSelectionReason =
|
|
116
|
+
export type VoiceFallbackSelectionReason = "fallback-empty" | "primary-empty" | "word-count-margin" | "confidence-margin" | "word-count-tiebreak" | "kept-primary";
|
|
87
117
|
export type VoiceFallbackDiagnostics = {
|
|
88
118
|
attempted: boolean;
|
|
89
119
|
fallbackConfidence?: number;
|
|
@@ -94,31 +124,31 @@ export type VoiceFallbackDiagnostics = {
|
|
|
94
124
|
primaryWordCount: number;
|
|
95
125
|
selected: boolean;
|
|
96
126
|
selectionReason: VoiceFallbackSelectionReason;
|
|
97
|
-
trigger:
|
|
127
|
+
trigger: "empty-turn" | "low-confidence" | "empty-or-low-confidence" | "always";
|
|
98
128
|
};
|
|
99
129
|
export type VoicePartialEvent = {
|
|
100
|
-
type:
|
|
130
|
+
type: "partial";
|
|
101
131
|
transcript: Transcript;
|
|
102
132
|
receivedAt: number;
|
|
103
133
|
};
|
|
104
134
|
export type VoiceFinalEvent = {
|
|
105
|
-
type:
|
|
135
|
+
type: "final";
|
|
106
136
|
transcript: Transcript;
|
|
107
137
|
receivedAt: number;
|
|
108
138
|
};
|
|
109
139
|
export type VoiceEndOfTurnEvent = {
|
|
110
|
-
type:
|
|
111
|
-
reason:
|
|
140
|
+
type: "endOfTurn";
|
|
141
|
+
reason: "vendor" | "silence" | "manual";
|
|
112
142
|
receivedAt: number;
|
|
113
143
|
};
|
|
114
144
|
export type VoiceErrorEvent = {
|
|
115
|
-
type:
|
|
145
|
+
type: "error";
|
|
116
146
|
error: Error;
|
|
117
147
|
recoverable: boolean;
|
|
118
148
|
code?: string;
|
|
119
149
|
};
|
|
120
150
|
export type VoiceCloseEvent = {
|
|
121
|
-
type:
|
|
151
|
+
type: "close";
|
|
122
152
|
code?: number;
|
|
123
153
|
reason?: string;
|
|
124
154
|
recoverable?: boolean;
|
|
@@ -144,11 +174,11 @@ export type STTAdapterOpenOptions = {
|
|
|
144
174
|
signal?: AbortSignal;
|
|
145
175
|
};
|
|
146
176
|
export type STTAdapter<TOptions extends STTAdapterOpenOptions = STTAdapterOpenOptions> = {
|
|
147
|
-
kind:
|
|
177
|
+
kind: "stt";
|
|
148
178
|
open: (options: TOptions) => Promise<STTAdapterSession> | STTAdapterSession;
|
|
149
179
|
};
|
|
150
180
|
export type TTSAudioEvent = {
|
|
151
|
-
type:
|
|
181
|
+
type: "audio";
|
|
152
182
|
chunk: AudioChunk;
|
|
153
183
|
format: AudioFormat;
|
|
154
184
|
receivedAt: number;
|
|
@@ -161,15 +191,26 @@ export type TTSSessionEventMap = {
|
|
|
161
191
|
export type TTSAdapterSession = {
|
|
162
192
|
on: <K extends keyof TTSSessionEventMap>(event: K, handler: (payload: TTSSessionEventMap[K]) => void | Promise<void>) => () => void;
|
|
163
193
|
send: (text: string) => Promise<void>;
|
|
194
|
+
cancel?: (reason?: string) => Promise<void>;
|
|
164
195
|
close: (reason?: string) => Promise<void>;
|
|
165
196
|
};
|
|
197
|
+
export declare const ttsAdapterSessionCanCancel: (session: TTSAdapterSession) => session is TTSAdapterSession & {
|
|
198
|
+
cancel: (reason?: string) => Promise<void>;
|
|
199
|
+
};
|
|
200
|
+
export type VoiceTTSProsody = {
|
|
201
|
+
emphasis?: number;
|
|
202
|
+
pitch?: number;
|
|
203
|
+
speed?: number;
|
|
204
|
+
style?: string;
|
|
205
|
+
};
|
|
166
206
|
export type TTSAdapterOpenOptions = {
|
|
167
207
|
sessionId: string;
|
|
168
208
|
lexicon?: VoiceLexiconEntry[];
|
|
209
|
+
prosody?: VoiceTTSProsody;
|
|
169
210
|
signal?: AbortSignal;
|
|
170
211
|
};
|
|
171
212
|
export type TTSAdapter<TOptions extends TTSAdapterOpenOptions = TTSAdapterOpenOptions> = {
|
|
172
|
-
kind:
|
|
213
|
+
kind: "tts";
|
|
173
214
|
open: (options: TOptions) => Promise<TTSAdapterSession> | TTSAdapterSession;
|
|
174
215
|
};
|
|
175
216
|
export type RealtimeSessionEventMap = STTSessionEventMap & {
|
|
@@ -185,20 +226,40 @@ export type RealtimeAdapterOpenOptions = {
|
|
|
185
226
|
format: AudioFormat;
|
|
186
227
|
languageStrategy?: VoiceLanguageStrategy;
|
|
187
228
|
lexicon?: VoiceLexiconEntry[];
|
|
229
|
+
modalities?: ReadonlyArray<"audio" | "text">;
|
|
188
230
|
phraseHints?: VoicePhraseHint[];
|
|
231
|
+
promptCacheKey?: string;
|
|
232
|
+
semanticVAD?: import("./assistantMode").VoiceSemanticVADConfig;
|
|
189
233
|
signal?: AbortSignal;
|
|
190
234
|
};
|
|
191
235
|
export type RealtimeAdapter<TOptions extends RealtimeAdapterOpenOptions = RealtimeAdapterOpenOptions> = {
|
|
192
|
-
kind:
|
|
236
|
+
kind: "realtime";
|
|
193
237
|
open: (options: TOptions) => Promise<RealtimeAdapterSession> | RealtimeAdapterSession;
|
|
194
238
|
};
|
|
195
|
-
export type VoiceSessionStatus =
|
|
239
|
+
export type VoiceSessionStatus = "active" | "reconnecting" | "completed" | "failed";
|
|
240
|
+
export type VoiceReconnectClientStatus = "idle" | "reconnecting" | "resumed" | "exhausted";
|
|
241
|
+
export type VoiceReconnectClientState = {
|
|
242
|
+
attempts: number;
|
|
243
|
+
lastDisconnectAt?: number;
|
|
244
|
+
lastResumedAt?: number;
|
|
245
|
+
maxAttempts: number;
|
|
246
|
+
nextAttemptAt?: number;
|
|
247
|
+
status: VoiceReconnectClientStatus;
|
|
248
|
+
};
|
|
249
|
+
export type VoiceTurnCitation = {
|
|
250
|
+
chunkId: string;
|
|
251
|
+
score: number;
|
|
252
|
+
source?: string;
|
|
253
|
+
title?: string;
|
|
254
|
+
};
|
|
196
255
|
export type VoiceTurnRecord<TResult = unknown> = {
|
|
197
256
|
id: string;
|
|
198
257
|
text: string;
|
|
199
258
|
quality?: VoiceTranscriptQuality;
|
|
200
259
|
transcripts: Transcript[];
|
|
201
260
|
assistantText?: string;
|
|
261
|
+
attachments?: import("./agent").VoiceAgentMessageAttachment[];
|
|
262
|
+
citations?: VoiceTurnCitation[];
|
|
202
263
|
committedAt: number;
|
|
203
264
|
result?: TResult;
|
|
204
265
|
};
|
|
@@ -253,10 +314,10 @@ export type VoiceSessionSummary = {
|
|
|
253
314
|
status: VoiceSessionStatus;
|
|
254
315
|
turnCount: number;
|
|
255
316
|
};
|
|
256
|
-
export type VoiceCallDisposition =
|
|
317
|
+
export type VoiceCallDisposition = "completed" | "transferred" | "escalated" | "voicemail" | "no-answer" | "failed" | "silence-timeout" | "closed";
|
|
257
318
|
export type VoiceCallLifecycleEvent = {
|
|
258
319
|
at: number;
|
|
259
|
-
type:
|
|
320
|
+
type: "start" | "end" | "transfer" | "escalation" | "voicemail" | "no-answer";
|
|
260
321
|
disposition?: VoiceCallDisposition;
|
|
261
322
|
metadata?: Record<string, unknown>;
|
|
262
323
|
reason?: string;
|
|
@@ -269,8 +330,8 @@ export type VoiceCallLifecycleState = {
|
|
|
269
330
|
lastEventAt: number;
|
|
270
331
|
startedAt: number;
|
|
271
332
|
};
|
|
272
|
-
export type VoiceHandoffAction =
|
|
273
|
-
export type VoiceHandoffStatus =
|
|
333
|
+
export type VoiceHandoffAction = "escalate" | "no-answer" | "transfer" | "voicemail";
|
|
334
|
+
export type VoiceHandoffStatus = "delivered" | "failed" | "skipped";
|
|
274
335
|
export type VoiceHandoffResult = {
|
|
275
336
|
deliveredAt?: number;
|
|
276
337
|
deliveredTo?: string;
|
|
@@ -278,7 +339,7 @@ export type VoiceHandoffResult = {
|
|
|
278
339
|
metadata?: Record<string, unknown>;
|
|
279
340
|
status: VoiceHandoffStatus;
|
|
280
341
|
};
|
|
281
|
-
export type VoiceHandoffDeliveryQueueStatus = VoiceHandoffStatus |
|
|
342
|
+
export type VoiceHandoffDeliveryQueueStatus = VoiceHandoffStatus | "pending";
|
|
282
343
|
export type StoredVoiceHandoffDelivery<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = {
|
|
283
344
|
action: VoiceHandoffAction;
|
|
284
345
|
context: TContext;
|
|
@@ -326,9 +387,15 @@ export type VoiceHandoffConfig<TContext = unknown, TSession extends VoiceSession
|
|
|
326
387
|
adapters: VoiceHandoffAdapter<TContext, TSession, TResult>[];
|
|
327
388
|
deliveryQueue?: VoiceHandoffDeliveryStore<StoredVoiceHandoffDelivery<TContext, TSession, TResult>>;
|
|
328
389
|
enqueueOnly?: boolean;
|
|
329
|
-
failMode?:
|
|
390
|
+
failMode?: "record" | "throw";
|
|
391
|
+
};
|
|
392
|
+
export type VoiceSessionStore<TSession extends VoiceSessionRecord = VoiceSessionRecord> = {
|
|
393
|
+
get: (id: string) => Promise<TSession | undefined>;
|
|
394
|
+
getOrCreate: (id: string) => Promise<TSession>;
|
|
395
|
+
set: (id: string, value: TSession) => Promise<void>;
|
|
396
|
+
list: () => Promise<VoiceSessionSummary[]>;
|
|
397
|
+
remove: (id: string) => Promise<void>;
|
|
330
398
|
};
|
|
331
|
-
export type VoiceSessionStore<TSession extends VoiceSessionRecord = VoiceSessionRecord> = SessionStore<TSession, VoiceSessionSummary>;
|
|
332
399
|
export type VoiceLogger = {
|
|
333
400
|
debug?: (message: string, meta?: Record<string, unknown>) => void;
|
|
334
401
|
info?: (message: string, meta?: Record<string, unknown>) => void;
|
|
@@ -336,15 +403,15 @@ export type VoiceLogger = {
|
|
|
336
403
|
error?: (message: string, meta?: Record<string, unknown>) => void;
|
|
337
404
|
};
|
|
338
405
|
export type VoiceReconnectConfig = {
|
|
339
|
-
strategy?:
|
|
406
|
+
strategy?: "resume-last-turn" | "restart" | "fail";
|
|
340
407
|
timeout?: number;
|
|
341
408
|
maxAttempts?: number;
|
|
342
409
|
};
|
|
343
|
-
export type VoiceRuntimePreset =
|
|
344
|
-
export type VoiceSTTLifecycle =
|
|
345
|
-
export type VoiceTurnProfile =
|
|
346
|
-
export type VoiceTurnQualityProfile =
|
|
347
|
-
export type VoiceTurnFallbackTrigger =
|
|
410
|
+
export type VoiceRuntimePreset = "default" | "chat" | "guided-intake" | "dictation" | "noisy-room" | "pstn-balanced" | "pstn-fast" | "reliability";
|
|
411
|
+
export type VoiceSTTLifecycle = "continuous" | "turn-scoped";
|
|
412
|
+
export type VoiceTurnProfile = "fast" | "balanced" | "long-form";
|
|
413
|
+
export type VoiceTurnQualityProfile = "general" | "accent-heavy" | "noisy-room" | "short-command";
|
|
414
|
+
export type VoiceTurnFallbackTrigger = "empty-turn" | "low-confidence" | "empty-or-low-confidence" | "always";
|
|
348
415
|
export type VoiceSTTFallbackConfig = {
|
|
349
416
|
adapter: STTAdapter;
|
|
350
417
|
trigger?: VoiceTurnFallbackTrigger;
|
|
@@ -397,11 +464,26 @@ export type VoiceSocket = {
|
|
|
397
464
|
send: (data: string | Uint8Array | ArrayBuffer) => void | Promise<void>;
|
|
398
465
|
close: (code?: number, reason?: string) => void | Promise<void>;
|
|
399
466
|
};
|
|
467
|
+
export type VoiceMonitorRuntimeSessionBinding = {
|
|
468
|
+
deregister: (reason?: string) => void;
|
|
469
|
+
emitAudio: (chunk: Uint8Array | ArrayBuffer, options?: {
|
|
470
|
+
source?: "assistant" | "caller" | (string & {});
|
|
471
|
+
}) => void;
|
|
472
|
+
};
|
|
473
|
+
export type VoiceMonitorRuntimeRegisterInput = {
|
|
474
|
+
handle: VoiceSessionHandle<unknown, VoiceSessionRecord, unknown>;
|
|
475
|
+
metadata?: Record<string, unknown>;
|
|
476
|
+
sessionId: string;
|
|
477
|
+
};
|
|
478
|
+
export type VoiceMonitorRuntimeBinding = {
|
|
479
|
+
registerSession: (input: VoiceMonitorRuntimeRegisterInput) => VoiceMonitorRuntimeSessionBinding;
|
|
480
|
+
};
|
|
400
481
|
export type VoiceSessionHandle<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = {
|
|
401
482
|
id: string;
|
|
402
483
|
connect: (socket: VoiceSocket) => Promise<void>;
|
|
403
484
|
receiveAudio: (audio: AudioChunk) => Promise<void>;
|
|
404
|
-
|
|
485
|
+
attachUserMedia: (attachment: import("./agent").VoiceAgentMessageAttachment) => Promise<void>;
|
|
486
|
+
commitTurn: (reason?: VoiceEndOfTurnEvent["reason"]) => Promise<void>;
|
|
405
487
|
disconnect: (event?: VoiceCloseEvent) => Promise<void>;
|
|
406
488
|
complete: (result?: TResult) => Promise<void>;
|
|
407
489
|
escalate: (input: {
|
|
@@ -423,6 +505,7 @@ export type VoiceSessionHandle<TContext = unknown, TSession extends VoiceSession
|
|
|
423
505
|
reason?: string;
|
|
424
506
|
result?: TResult;
|
|
425
507
|
target: string;
|
|
508
|
+
transferMode?: "cold" | "warm";
|
|
426
509
|
}) => Promise<void>;
|
|
427
510
|
close: (reason?: string) => Promise<void>;
|
|
428
511
|
snapshot: () => Promise<TSession>;
|
|
@@ -431,10 +514,12 @@ export type VoiceRouteResult<TResult = unknown> = {
|
|
|
431
514
|
complete?: boolean;
|
|
432
515
|
result?: TResult;
|
|
433
516
|
assistantText?: string;
|
|
517
|
+
citations?: ReadonlyArray<VoiceTurnCitation>;
|
|
434
518
|
transfer?: {
|
|
435
519
|
metadata?: Record<string, unknown>;
|
|
436
520
|
reason?: string;
|
|
437
521
|
target: string;
|
|
522
|
+
transferMode?: "cold" | "warm";
|
|
438
523
|
};
|
|
439
524
|
escalate?: {
|
|
440
525
|
metadata?: Record<string, unknown>;
|
|
@@ -475,6 +560,10 @@ export type VoiceLexiconResolver<TContext = unknown> = (input: {
|
|
|
475
560
|
}) => Promise<VoiceLexiconEntry[] | void> | VoiceLexiconEntry[] | void;
|
|
476
561
|
export type VoiceOnTurnObjectHandler<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = (input: {
|
|
477
562
|
context: TContext;
|
|
563
|
+
liveOps?: {
|
|
564
|
+
control: VoiceLiveOpsControlState;
|
|
565
|
+
injectedInstruction?: string;
|
|
566
|
+
};
|
|
478
567
|
session: TSession;
|
|
479
568
|
turn: VoiceTurnRecord;
|
|
480
569
|
api: VoiceSessionHandle<TContext, TSession, TResult>;
|
|
@@ -559,7 +648,7 @@ export type VoiceRuntimeOpsConfig<TContext = unknown, TSession extends VoiceSess
|
|
|
559
648
|
disposition: VoiceCallDisposition;
|
|
560
649
|
review: StoredVoiceCallReviewArtifact;
|
|
561
650
|
session: TSession;
|
|
562
|
-
}) => Promise<Omit<VoiceOpsTask,
|
|
651
|
+
}) => Promise<Omit<VoiceOpsTask, "id"> | VoiceOpsTask | StoredVoiceOpsTask | null | void> | Omit<VoiceOpsTask, "id"> | VoiceOpsTask | StoredVoiceOpsTask | null | void;
|
|
563
652
|
resolveTaskPolicy?: (input: {
|
|
564
653
|
api: VoiceSessionHandle<TContext, TSession, TResult>;
|
|
565
654
|
context: TContext;
|
|
@@ -596,7 +685,37 @@ export type VoiceRuntimeOpsConfig<TContext = unknown, TSession extends VoiceSess
|
|
|
596
685
|
tasks?: VoiceOpsTaskStore;
|
|
597
686
|
webhook?: VoiceIntegrationWebhookConfig;
|
|
598
687
|
};
|
|
599
|
-
export type
|
|
688
|
+
export type VoiceLiveOpsRuntimeConfig = {
|
|
689
|
+
getControl: (sessionId: string) => Promise<VoiceLiveOpsControlState | null | undefined> | VoiceLiveOpsControlState | null | undefined;
|
|
690
|
+
};
|
|
691
|
+
export type VoiceProfileSwitchGuardResolverInput<TContext = unknown> = {
|
|
692
|
+
context: TContext;
|
|
693
|
+
scenarioId?: string;
|
|
694
|
+
sessionId: string;
|
|
695
|
+
};
|
|
696
|
+
export type VoicePluginProfileSwitchGuardConfig<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = {
|
|
697
|
+
actor?: VoiceAuditActor;
|
|
698
|
+
allowedProfileIds?: string[] | ((input: VoiceProfileSwitchGuardResolverInput<TContext>) => Promise<string[] | undefined> | string[] | undefined);
|
|
699
|
+
audit?: VoiceAuditEventStore;
|
|
700
|
+
blockedProfileIds?: string[] | ((input: VoiceProfileSwitchGuardResolverInput<TContext>) => Promise<string[] | undefined> | string[] | undefined);
|
|
701
|
+
currentProfileId?: string | ((input: VoiceProfileSwitchGuardResolverInput<TContext>) => Promise<string | undefined> | string | undefined);
|
|
702
|
+
defaultProfileId?: string;
|
|
703
|
+
defaults: VoiceRealCallProfileDefaultsReport | VoiceRealCallProfileHistoryReport | ((input: VoiceProfileSwitchGuardResolverInput<TContext>) => Promise<VoiceRealCallProfileDefaultsReport | VoiceRealCallProfileHistoryReport> | VoiceRealCallProfileDefaultsReport | VoiceRealCallProfileHistoryReport);
|
|
704
|
+
metadata?: Record<string, unknown> | ((input: VoiceProfileSwitchGuardResolverInput<TContext>) => Promise<Record<string, unknown> | undefined> | Record<string, unknown> | undefined);
|
|
705
|
+
minConfidence?: number | ((input: VoiceProfileSwitchGuardResolverInput<TContext>) => Promise<number | undefined> | number | undefined);
|
|
706
|
+
maxAutoSwitchesPerSession?: number | ((input: VoiceProfileSwitchGuardResolverInput<TContext>) => Promise<number | undefined> | number | undefined);
|
|
707
|
+
mode?: VoiceProfileSwitchGuardMode | ((input: VoiceProfileSwitchGuardResolverInput<TContext>) => Promise<VoiceProfileSwitchGuardMode | undefined> | VoiceProfileSwitchGuardMode | undefined);
|
|
708
|
+
observed?: VoiceProfileSwitchObservedSignals | ((input: VoiceProfileSwitchGuardResolverInput<TContext>) => Promise<VoiceProfileSwitchObservedSignals | undefined> | VoiceProfileSwitchObservedSignals | undefined);
|
|
709
|
+
onDecision?: (input: {
|
|
710
|
+
context: TContext;
|
|
711
|
+
decision: VoiceProfileSwitchGuardDecision;
|
|
712
|
+
scenarioId?: string;
|
|
713
|
+
sessionId: string;
|
|
714
|
+
}) => Promise<void> | void;
|
|
715
|
+
sessionMetadataKey?: string | false;
|
|
716
|
+
trace?: false | VoiceTraceEventStore;
|
|
717
|
+
};
|
|
718
|
+
export type VoiceNormalizedRouteConfig<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = Omit<VoiceRouteConfig<TContext, TSession, TResult>, "onTurn"> & {
|
|
600
719
|
onTurn: VoiceOnTurnObjectHandler<TContext, TSession, TResult>;
|
|
601
720
|
};
|
|
602
721
|
export type VoiceScenario = {
|
|
@@ -609,131 +728,285 @@ export type VoiceExpectedSpeakerTurn = {
|
|
|
609
728
|
speaker: string;
|
|
610
729
|
text: string;
|
|
611
730
|
};
|
|
731
|
+
/**
|
|
732
|
+
* Configures one of the plugin's optional route surfaces. Pass that surface's
|
|
733
|
+
* options object to mount it, `false` (or omit) to leave it off. Surfaces whose
|
|
734
|
+
* options are entirely optional may also be enabled with `true` for defaults.
|
|
735
|
+
*/
|
|
736
|
+
export type VoiceSurfaceConfig<O> = false | O | (Record<string, never> extends O ? true : never);
|
|
612
737
|
export type VoicePluginConfig<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = {
|
|
613
738
|
costTelemetry?: VoiceCostTelemetryConfig<TContext, TSession, TResult>;
|
|
614
739
|
path: string;
|
|
740
|
+
greeting?: string;
|
|
615
741
|
languageStrategy?: VoiceLanguageStrategy;
|
|
616
742
|
lexicon?: VoiceLexiconEntry[] | VoiceLexiconResolver<TContext>;
|
|
617
743
|
phraseHints?: VoicePhraseHint[] | VoicePhraseHintResolver<TContext>;
|
|
618
744
|
preset?: VoiceRuntimePreset;
|
|
619
|
-
stt
|
|
745
|
+
stt?: STTAdapter;
|
|
620
746
|
sttFallback?: VoiceSTTFallbackConfig;
|
|
621
747
|
sttLifecycle?: VoiceSTTLifecycle;
|
|
748
|
+
realtime?: RealtimeAdapter;
|
|
749
|
+
realtimeInputFormat?: AudioFormat;
|
|
622
750
|
tts?: TTSAdapter;
|
|
623
751
|
session: VoiceSessionStore<NoInfer<TSession>>;
|
|
624
752
|
reconnect?: VoiceReconnectConfig;
|
|
625
753
|
turnDetection?: VoiceTurnDetectionConfig;
|
|
626
754
|
audioConditioning?: VoiceAudioConditioningConfig;
|
|
755
|
+
noiseSuppressor?: VoiceNoiseSuppressor;
|
|
756
|
+
noiseSuppressorFormat?: AudioFormat;
|
|
627
757
|
logger?: VoiceLogger;
|
|
628
758
|
htmx?: boolean | VoiceHTMXConfig<TSession, NoInfer<TResult>>;
|
|
629
759
|
handoff?: VoiceHandoffConfig<TContext, TSession, TResult>;
|
|
630
760
|
ops?: VoiceRuntimeOpsConfig<TContext, TSession, TResult>;
|
|
761
|
+
liveOps?: VoiceLiveOpsRuntimeConfig;
|
|
762
|
+
monitor?: VoiceMonitorRuntimeBinding;
|
|
763
|
+
profileSwitchGuard?: VoicePluginProfileSwitchGuardConfig<TContext, TSession, TResult>;
|
|
631
764
|
trace?: VoiceTraceEventStore;
|
|
765
|
+
assistantHealth?: VoiceSurfaceConfig<import("./assistantHealth").VoiceAssistantHealthRoutesOptions>;
|
|
766
|
+
auditDelivery?: VoiceSurfaceConfig<import("./auditDeliveryRoutes").VoiceAuditDeliveryRoutesOptions>;
|
|
767
|
+
auditTrail?: VoiceSurfaceConfig<import("./auditRoutes").VoiceAuditTrailRoutesOptions>;
|
|
768
|
+
bargeIn?: VoiceSurfaceConfig<import("./bargeInRoutes").VoiceBargeInRoutesOptions>;
|
|
769
|
+
browserCallProfile?: VoiceSurfaceConfig<import("./browserCallProfiles").VoiceBrowserCallProfileRoutesOptions>;
|
|
770
|
+
browserMedia?: VoiceSurfaceConfig<import("./browserMediaRoutes").VoiceBrowserMediaRoutesOptions>;
|
|
771
|
+
callDebugger?: VoiceSurfaceConfig<import("./callDebugger").VoiceCallDebuggerRoutesOptions>;
|
|
772
|
+
campaign?: VoiceSurfaceConfig<import("./campaign").VoiceCampaignRoutesOptions>;
|
|
773
|
+
competitiveCoverage?: VoiceSurfaceConfig<import("./competitiveCoverage").VoiceCompetitiveCoverageRoutesOptions>;
|
|
774
|
+
dataControl?: VoiceSurfaceConfig<import("./dataControl").VoiceDataControlRoutesOptions>;
|
|
775
|
+
deliveryRuntime?: VoiceSurfaceConfig<import("./deliveryRuntime").VoiceDeliveryRuntimeRoutesOptions>;
|
|
776
|
+
deliverySink?: VoiceSurfaceConfig<import("./deliverySinkRoutes").VoiceDeliverySinkRoutesOptions>;
|
|
777
|
+
demoReady?: VoiceSurfaceConfig<import("./demoReadyRoutes").VoiceDemoReadyRoutesOptions>;
|
|
778
|
+
diagnostics?: VoiceSurfaceConfig<import("./diagnosticsRoutes").VoiceDiagnosticsRoutesOptions>;
|
|
779
|
+
eval?: VoiceSurfaceConfig<import("./evalRoutes").VoiceEvalRoutesOptions>;
|
|
780
|
+
guardrail?: VoiceSurfaceConfig<import("./guardrails").VoiceGuardrailRoutesOptions>;
|
|
781
|
+
handoffHealth?: VoiceSurfaceConfig<import("./handoffHealth").VoiceHandoffHealthRoutesOptions>;
|
|
782
|
+
htmxDashboard?: VoiceSurfaceConfig<import("./htmxDashboardRoutes").VoiceHTMXDashboardRoutesOptions>;
|
|
783
|
+
incidentBundle?: VoiceSurfaceConfig<import("./incidentBundle").VoiceIncidentBundleRoutesOptions>;
|
|
784
|
+
incidentTimeline?: VoiceSurfaceConfig<import("./incidentTimeline").VoiceIncidentTimelineRoutesOptions>;
|
|
785
|
+
liveLatency?: VoiceSurfaceConfig<import("./liveLatency").VoiceLiveLatencyRoutesOptions>;
|
|
786
|
+
liveMonitor?: VoiceSurfaceConfig<import("./monitor").VoiceLiveMonitorRoutesOptions>;
|
|
787
|
+
liveOpsConsole?: VoiceSurfaceConfig<import("./liveOps").VoiceLiveOpsRoutesOptions>;
|
|
788
|
+
mediaPipeline?: VoiceSurfaceConfig<import("./mediaPipelineRoutes").VoiceMediaPipelineRoutesOptions>;
|
|
789
|
+
monitorReport?: VoiceSurfaceConfig<import("./voiceMonitoring").VoiceMonitorRoutesOptions>;
|
|
790
|
+
monitorRunner?: VoiceSurfaceConfig<import("./voiceMonitoring").VoiceMonitorRunnerRoutesOptions>;
|
|
791
|
+
observabilityExport?: VoiceSurfaceConfig<import("./observabilityExport").VoiceObservabilityExportRoutesOptions>;
|
|
792
|
+
observabilityExportReplay?: VoiceSurfaceConfig<import("./observabilityExport").VoiceObservabilityExportReplayRoutesOptions>;
|
|
793
|
+
operationalStatus?: VoiceSurfaceConfig<import("./operationalStatus").VoiceOperationalStatusRoutesOptions>;
|
|
794
|
+
operationsRecord?: VoiceSurfaceConfig<import("./operationsRecord").VoiceOperationsRecordRoutesOptions>;
|
|
795
|
+
opsActionAudit?: VoiceSurfaceConfig<import("./opsActionAuditRoutes").VoiceOpsActionAuditRoutesOptions>;
|
|
796
|
+
opsConsole?: VoiceSurfaceConfig<import("./opsConsoleRoutes").VoiceOpsConsoleRoutesOptions>;
|
|
797
|
+
opsRecovery?: VoiceSurfaceConfig<import("./opsRecovery").VoiceOpsRecoveryRoutesOptions>;
|
|
798
|
+
opsStatus?: VoiceSurfaceConfig<import("./opsStatus").VoiceOpsStatusRoutesOptions>;
|
|
799
|
+
opsWebhookReceiver?: VoiceSurfaceConfig<import("./opsWebhook").VoiceOpsWebhookReceiverRoutesOptions>;
|
|
800
|
+
outcomeContract?: VoiceSurfaceConfig<import("./outcomeContract").VoiceOutcomeContractRoutesOptions>;
|
|
801
|
+
phoneAgentProductionSmoke?: VoiceSurfaceConfig<import("./phoneAgentProductionSmoke").VoicePhoneAgentProductionSmokeRoutesOptions>;
|
|
802
|
+
platformCoverage?: VoiceSurfaceConfig<import("./platformCoverage").VoicePlatformCoverageRoutesOptions>;
|
|
803
|
+
postCallAnalysis?: VoiceSurfaceConfig<import("./postCallAnalysis").VoicePostCallAnalysisRoutesOptions>;
|
|
804
|
+
productionReadiness?: VoiceSurfaceConfig<import("./productionReadiness").VoiceProductionReadinessRoutesOptions>;
|
|
805
|
+
profileSwitchLiveDecision?: VoiceSurfaceConfig<import("./profileSwitchRecommendation").VoiceProfileSwitchLiveDecisionRoutesOptions>;
|
|
806
|
+
profileSwitchPolicyProof?: VoiceSurfaceConfig<import("./profileSwitchRecommendation").VoiceProfileSwitchPolicyProofRoutesOptions>;
|
|
807
|
+
profileSwitchReadiness?: VoiceSurfaceConfig<import("./profileSwitchRecommendation").VoiceProfileSwitchReadinessRoutesOptions>;
|
|
808
|
+
proofPack?: VoiceSurfaceConfig<import("./proofPack").VoiceProofPackRoutesOptions>;
|
|
809
|
+
proofTrend?: VoiceSurfaceConfig<import("./proofTrends").VoiceProofTrendRoutesOptions>;
|
|
810
|
+
proofTrendRecommendation?: VoiceSurfaceConfig<import("./proofTrends").VoiceProofTrendRecommendationRoutesOptions>;
|
|
811
|
+
providerCapability?: VoiceSurfaceConfig<import("./providerCapabilities").VoiceProviderCapabilityRoutesOptions>;
|
|
812
|
+
providerContractMatrix?: VoiceSurfaceConfig<import("./providerStackRecommendations").VoiceProviderContractMatrixRoutesOptions>;
|
|
813
|
+
providerDecisionTrace?: VoiceSurfaceConfig<import("./providerDecisionTraces").VoiceProviderDecisionTraceRoutesOptions>;
|
|
814
|
+
providerHealth?: VoiceSurfaceConfig<import("./providerHealth").VoiceProviderHealthRoutesOptions>;
|
|
815
|
+
providerOrchestration?: VoiceSurfaceConfig<import("./providerOrchestration").VoiceProviderOrchestrationRoutesOptions>;
|
|
816
|
+
providerSlo?: VoiceSurfaceConfig<import("./providerSlo").VoiceProviderSloRoutesOptions>;
|
|
817
|
+
quality?: VoiceSurfaceConfig<import("./qualityRoutes").VoiceQualityRoutesOptions>;
|
|
818
|
+
realCallEvidenceRuntime?: VoiceSurfaceConfig<import("./proofTrends").VoiceRealCallEvidenceRuntimeRoutesOptions>;
|
|
819
|
+
realCallProfileHistory?: VoiceSurfaceConfig<import("./proofTrends").VoiceRealCallProfileHistoryRoutesOptions>;
|
|
820
|
+
realCallProfileRecoveryAction?: VoiceSurfaceConfig<import("./proofTrends").VoiceRealCallProfileRecoveryActionRoutesOptions>;
|
|
821
|
+
realtimeChannel?: VoiceSurfaceConfig<import("./realtimeChannel").VoiceRealtimeChannelRoutesOptions>;
|
|
822
|
+
realtimeProviderContract?: VoiceSurfaceConfig<import("./realtimeProviderContracts").VoiceRealtimeProviderContractRoutesOptions>;
|
|
823
|
+
reconnectContract?: VoiceSurfaceConfig<import("./reconnectContract").VoiceReconnectContractRoutesOptions>;
|
|
824
|
+
reconnectProof?: VoiceSurfaceConfig<import("./reconnectContract").VoiceReconnectProofRoutesOptions>;
|
|
825
|
+
resilience?: VoiceSurfaceConfig<import("./resilienceRoutes").VoiceResilienceRoutesOptions>;
|
|
826
|
+
sessionList?: VoiceSurfaceConfig<import("./sessionReplay").VoiceSessionListRoutesOptions>;
|
|
827
|
+
sessionObservability?: VoiceSurfaceConfig<import("./sessionObservability").VoiceSessionObservabilityRoutesOptions>;
|
|
828
|
+
sessionReplay?: VoiceSurfaceConfig<import("./sessionReplay").VoiceSessionReplayRoutesOptions>;
|
|
829
|
+
sessionSnapshot?: VoiceSurfaceConfig<import("./sessionSnapshot").VoiceSessionSnapshotRoutesOptions>;
|
|
830
|
+
simulationSuite?: VoiceSurfaceConfig<import("./simulationSuite").VoiceSimulationSuiteRoutesOptions>;
|
|
831
|
+
sloCalibration?: VoiceSurfaceConfig<import("./sloCalibration").VoiceSloCalibrationRoutesOptions>;
|
|
832
|
+
sloReadinessThreshold?: VoiceSurfaceConfig<import("./sloCalibration").VoiceSloReadinessThresholdRoutesOptions>;
|
|
833
|
+
telephonyCarrierMatrix?: VoiceSurfaceConfig<import("../telephony/matrix").VoiceTelephonyCarrierMatrixRoutesOptions>;
|
|
834
|
+
telephonyMedia?: VoiceSurfaceConfig<import("./telephonyMediaRoutes").VoiceTelephonyMediaRoutesOptions>;
|
|
835
|
+
telephonyWebhook?: VoiceSurfaceConfig<import("./telephonyOutcome").VoiceTelephonyWebhookRoutesOptions>;
|
|
836
|
+
telephonyWebhookSecurity?: VoiceSurfaceConfig<import("../telephony/security").VoiceTelephonyWebhookSecurityRoutesOptions>;
|
|
837
|
+
toolContract?: VoiceSurfaceConfig<import("./toolContract").VoiceToolContractRoutesOptions>;
|
|
838
|
+
traceDelivery?: VoiceSurfaceConfig<import("./traceDeliveryRoutes").VoiceTraceDeliveryRoutesOptions>;
|
|
839
|
+
traceTimeline?: VoiceSurfaceConfig<import("./traceTimeline").VoiceTraceTimelineRoutesOptions>;
|
|
840
|
+
turnLatency?: VoiceSurfaceConfig<import("./turnLatency").VoiceTurnLatencyRoutesOptions>;
|
|
841
|
+
turnQuality?: VoiceSurfaceConfig<import("./turnQuality").VoiceTurnQualityRoutesOptions>;
|
|
632
842
|
} & VoiceRouteConfig<TContext, TSession, TResult>;
|
|
843
|
+
export type VoiceSessionRecordingConfig = {
|
|
844
|
+
channels?: ReadonlyArray<"assistant" | "user">;
|
|
845
|
+
maxBytesPerChannel?: number;
|
|
846
|
+
store: import("./recordingStore").VoiceRecordingStore;
|
|
847
|
+
userInputFormat?: AudioFormat;
|
|
848
|
+
};
|
|
633
849
|
export type CreateVoiceSessionOptions<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = {
|
|
634
850
|
costTelemetry?: VoiceCostTelemetryConfig<TContext, TSession, TResult>;
|
|
635
851
|
id: string;
|
|
636
852
|
context: TContext;
|
|
637
853
|
socket: VoiceSocket;
|
|
638
|
-
|
|
854
|
+
greeting?: string;
|
|
855
|
+
stt?: STTAdapter;
|
|
856
|
+
realtime?: RealtimeAdapter;
|
|
857
|
+
realtimeInputFormat?: AudioFormat;
|
|
639
858
|
tts?: TTSAdapter;
|
|
640
859
|
languageStrategy?: VoiceLanguageStrategy;
|
|
641
860
|
lexicon?: VoiceLexiconEntry[];
|
|
642
861
|
sttFallback?: VoiceResolvedSTTFallbackConfig;
|
|
643
862
|
store: VoiceSessionStore<TSession>;
|
|
644
863
|
trace?: VoiceTraceEventStore;
|
|
864
|
+
recording?: VoiceSessionRecordingConfig;
|
|
865
|
+
callSilenceTimeoutMs?: number;
|
|
866
|
+
amd?: import("./amdDetector").VoiceAMDDetector<TContext, TSession, TResult>;
|
|
867
|
+
costAccountant?: import("./costAccounting").VoiceCostAccountant;
|
|
868
|
+
costTelephony?: {
|
|
869
|
+
provider?: string;
|
|
870
|
+
};
|
|
871
|
+
redact?: import("./redaction").VoiceTranscriptRedactor;
|
|
872
|
+
semanticTurnDetector?: import("./semanticTurn").VoiceSemanticTurnDetector;
|
|
873
|
+
assistantMode?: import("./assistantMode").VoiceAssistantMode;
|
|
874
|
+
modalities?: ReadonlyArray<"audio" | "text">;
|
|
875
|
+
prosody?: VoiceTTSProsody;
|
|
645
876
|
reconnect: Required<VoiceReconnectConfig>;
|
|
646
877
|
phraseHints?: VoicePhraseHint[];
|
|
878
|
+
sessionMetadata?: Record<string, unknown>;
|
|
647
879
|
scenarioId?: string;
|
|
648
880
|
sttLifecycle: VoiceSTTLifecycle;
|
|
649
881
|
turnDetection: VoiceResolvedTurnDetectionConfig;
|
|
650
882
|
audioConditioning?: VoiceResolvedAudioConditioningConfig;
|
|
883
|
+
noiseSuppressor?: VoiceNoiseSuppressor;
|
|
884
|
+
noiseSuppressorFormat?: AudioFormat;
|
|
651
885
|
handoff?: VoiceHandoffConfig<TContext, TSession, TResult>;
|
|
886
|
+
liveOps?: VoiceLiveOpsRuntimeConfig;
|
|
652
887
|
route: VoiceNormalizedRouteConfig<TContext, TSession, TResult>;
|
|
653
888
|
logger?: VoiceLogger;
|
|
654
889
|
};
|
|
655
890
|
export type CreateVoiceSession = <TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown>(options: CreateVoiceSessionOptions<TContext, TSession, TResult>) => VoiceSessionHandle<TContext, TSession, TResult>;
|
|
656
891
|
export type VoiceClientStartMessage = {
|
|
657
|
-
type:
|
|
892
|
+
type: "start";
|
|
658
893
|
sessionId?: string;
|
|
659
894
|
scenarioId?: string;
|
|
660
895
|
};
|
|
661
896
|
export type VoiceClientEndTurnMessage = {
|
|
662
|
-
type:
|
|
897
|
+
type: "end_turn";
|
|
663
898
|
};
|
|
664
899
|
export type VoiceClientCloseMessage = {
|
|
665
|
-
type:
|
|
900
|
+
type: "close";
|
|
666
901
|
reason?: string;
|
|
667
902
|
};
|
|
668
903
|
export type VoiceClientCallControlMessage = {
|
|
669
|
-
type:
|
|
670
|
-
action:
|
|
904
|
+
type: "call_control";
|
|
905
|
+
action: "complete" | "escalate" | "no-answer" | "transfer" | "voicemail";
|
|
671
906
|
metadata?: Record<string, unknown>;
|
|
672
907
|
reason?: string;
|
|
673
908
|
target?: string;
|
|
674
909
|
};
|
|
675
910
|
export type VoiceClientPingMessage = {
|
|
676
|
-
type:
|
|
911
|
+
type: "ping";
|
|
677
912
|
};
|
|
678
913
|
export type VoiceClientMessage = VoiceClientStartMessage | VoiceClientEndTurnMessage | VoiceClientCloseMessage | VoiceClientCallControlMessage | VoiceClientPingMessage;
|
|
679
914
|
export type VoiceServerSessionMessage = {
|
|
680
|
-
type:
|
|
915
|
+
type: "session";
|
|
681
916
|
sessionId: string;
|
|
682
917
|
status: VoiceSessionStatus;
|
|
683
918
|
scenarioId?: string;
|
|
919
|
+
sessionMetadata?: Record<string, unknown>;
|
|
920
|
+
};
|
|
921
|
+
export type VoiceServerReplayMessage<TResult = unknown> = {
|
|
922
|
+
type: "replay";
|
|
923
|
+
assistantTexts: string[];
|
|
924
|
+
call?: VoiceCallLifecycleState;
|
|
925
|
+
partial: string;
|
|
926
|
+
scenarioId?: string;
|
|
927
|
+
sessionId: string;
|
|
928
|
+
sessionMetadata?: Record<string, unknown>;
|
|
929
|
+
status: VoiceSessionStatus;
|
|
930
|
+
turns: VoiceTurnRecord<TResult>[];
|
|
684
931
|
};
|
|
685
932
|
export type VoiceServerPartialMessage = {
|
|
686
|
-
type:
|
|
933
|
+
type: "partial";
|
|
687
934
|
transcript: Transcript;
|
|
688
935
|
};
|
|
689
936
|
export type VoiceServerFinalMessage = {
|
|
690
|
-
type:
|
|
937
|
+
type: "final";
|
|
691
938
|
transcript: Transcript;
|
|
692
939
|
};
|
|
693
940
|
export type VoiceServerTurnMessage<TResult = unknown> = {
|
|
694
|
-
type:
|
|
941
|
+
type: "turn";
|
|
695
942
|
turn: VoiceTurnRecord<TResult>;
|
|
696
943
|
};
|
|
697
944
|
export type VoiceServerAssistantMessage = {
|
|
698
|
-
type:
|
|
945
|
+
type: "assistant";
|
|
699
946
|
text: string;
|
|
700
947
|
turnId?: string;
|
|
701
948
|
};
|
|
702
949
|
export type VoiceServerAudioMessage = {
|
|
703
|
-
type:
|
|
950
|
+
type: "audio";
|
|
704
951
|
chunkBase64: string;
|
|
705
952
|
format: AudioFormat;
|
|
706
953
|
receivedAt: number;
|
|
707
954
|
turnId?: string;
|
|
708
955
|
};
|
|
709
956
|
export type VoiceServerCompleteMessage = {
|
|
710
|
-
type:
|
|
957
|
+
type: "complete";
|
|
711
958
|
sessionId: string;
|
|
712
959
|
};
|
|
713
960
|
export type VoiceServerCallLifecycleMessage = {
|
|
714
|
-
type:
|
|
961
|
+
type: "call_lifecycle";
|
|
715
962
|
event: VoiceCallLifecycleEvent;
|
|
716
963
|
sessionId: string;
|
|
717
964
|
};
|
|
718
965
|
export type VoiceServerErrorMessage = {
|
|
719
|
-
type:
|
|
966
|
+
type: "error";
|
|
720
967
|
message: string;
|
|
721
968
|
recoverable?: boolean;
|
|
722
969
|
};
|
|
723
970
|
export type VoiceServerPongMessage = {
|
|
724
|
-
type:
|
|
971
|
+
type: "pong";
|
|
725
972
|
};
|
|
726
|
-
export type
|
|
973
|
+
export type VoiceServerConnectionMessage = {
|
|
974
|
+
type: "connection";
|
|
975
|
+
reconnect: VoiceReconnectClientState;
|
|
976
|
+
};
|
|
977
|
+
export type VoiceServerMessage<TResult = unknown> = VoiceServerSessionMessage | VoiceServerReplayMessage<TResult> | VoiceServerPartialMessage | VoiceServerFinalMessage | VoiceServerTurnMessage<TResult> | VoiceServerAssistantMessage | VoiceServerAudioMessage | VoiceServerCallLifecycleMessage | VoiceServerCompleteMessage | VoiceServerErrorMessage | VoiceServerPongMessage | VoiceServerConnectionMessage;
|
|
727
978
|
export type VoiceConnectionOptions = {
|
|
979
|
+
browserMedia?: false | VoiceBrowserMediaReporterOptions;
|
|
728
980
|
protocols?: string[];
|
|
729
981
|
scenarioId?: string;
|
|
730
982
|
reconnect?: boolean;
|
|
983
|
+
reconnectReportPath?: string;
|
|
731
984
|
maxReconnectAttempts?: number;
|
|
732
985
|
pingInterval?: number;
|
|
733
986
|
sessionId?: string;
|
|
734
987
|
};
|
|
988
|
+
export type VoiceBrowserMediaReportPayload = {
|
|
989
|
+
at: number;
|
|
990
|
+
continuity?: MediaWebRTCStreamContinuityReport;
|
|
991
|
+
report: MediaWebRTCStatsReport;
|
|
992
|
+
scenarioId?: string | null;
|
|
993
|
+
sessionId?: string | null;
|
|
994
|
+
};
|
|
995
|
+
export type VoiceBrowserMediaReporterOptions = Omit<MediaWebRTCStatsReportInput, "peerConnection"> & {
|
|
996
|
+
fetch?: typeof fetch;
|
|
997
|
+
getPeerConnection?: (() => MediaWebRTCStatsCollector | null | undefined) | (() => Promise<MediaWebRTCStatsCollector | null | undefined>);
|
|
998
|
+
getScenarioId?: () => string | null | undefined;
|
|
999
|
+
getSessionId?: () => string | null | undefined;
|
|
1000
|
+
intervalMs?: number;
|
|
1001
|
+
continuity?: false | Omit<MediaWebRTCStreamContinuityInput, "previousStats" | "stats">;
|
|
1002
|
+
onError?: (error: unknown) => void;
|
|
1003
|
+
onReport?: (payload: VoiceBrowserMediaReportPayload) => void;
|
|
1004
|
+
path?: string;
|
|
1005
|
+
peerConnection?: MediaWebRTCStatsCollector;
|
|
1006
|
+
};
|
|
735
1007
|
export type VoiceCaptureOptions = {
|
|
736
1008
|
channelCount?: 1 | 2;
|
|
1009
|
+
onAudio?: (audio: Uint8Array | ArrayBuffer, sendAudio: (audio: Uint8Array | ArrayBuffer) => void) => void;
|
|
737
1010
|
onLevel?: (level: number) => void;
|
|
738
1011
|
sampleRateHz?: number;
|
|
739
1012
|
};
|
|
@@ -747,6 +1020,46 @@ export type VoiceBargeInOptions = {
|
|
|
747
1020
|
enabled?: boolean;
|
|
748
1021
|
interruptOnPartial?: boolean;
|
|
749
1022
|
interruptThreshold?: number;
|
|
1023
|
+
monitor?: VoiceBargeInMonitor;
|
|
1024
|
+
};
|
|
1025
|
+
export type VoiceBargeInTriggerReason = "input-level" | "manual-audio" | "manual-interrupt" | "partial-transcript";
|
|
1026
|
+
export type VoiceBargeInMonitorEvent = {
|
|
1027
|
+
at: number;
|
|
1028
|
+
id: string;
|
|
1029
|
+
latencyMs?: number;
|
|
1030
|
+
playbackStopLatencyMs?: number;
|
|
1031
|
+
reason: VoiceBargeInTriggerReason;
|
|
1032
|
+
sessionId?: string | null;
|
|
1033
|
+
status: "requested" | "stopped" | "skipped";
|
|
1034
|
+
thresholdMs?: number;
|
|
1035
|
+
};
|
|
1036
|
+
export type VoiceBargeInMonitorSnapshot = {
|
|
1037
|
+
averageLatencyMs?: number;
|
|
1038
|
+
events: VoiceBargeInMonitorEvent[];
|
|
1039
|
+
failed: number;
|
|
1040
|
+
lastEvent?: VoiceBargeInMonitorEvent;
|
|
1041
|
+
passed: number;
|
|
1042
|
+
status: "empty" | "fail" | "pass" | "warn";
|
|
1043
|
+
thresholdMs: number;
|
|
1044
|
+
total: number;
|
|
1045
|
+
};
|
|
1046
|
+
export type VoiceBargeInMonitor = {
|
|
1047
|
+
getSnapshot: () => VoiceBargeInMonitorSnapshot;
|
|
1048
|
+
recordRequested: (input: {
|
|
1049
|
+
reason: VoiceBargeInTriggerReason;
|
|
1050
|
+
sessionId?: string | null;
|
|
1051
|
+
}) => VoiceBargeInMonitorEvent;
|
|
1052
|
+
recordSkipped: (input: {
|
|
1053
|
+
reason: VoiceBargeInTriggerReason;
|
|
1054
|
+
sessionId?: string | null;
|
|
1055
|
+
}) => VoiceBargeInMonitorEvent;
|
|
1056
|
+
recordStopped: (input: {
|
|
1057
|
+
latencyMs?: number;
|
|
1058
|
+
playbackStopLatencyMs?: number;
|
|
1059
|
+
reason: VoiceBargeInTriggerReason;
|
|
1060
|
+
sessionId?: string | null;
|
|
1061
|
+
}) => VoiceBargeInMonitorEvent;
|
|
1062
|
+
subscribe: (subscriber: () => void) => () => void;
|
|
750
1063
|
};
|
|
751
1064
|
export type VoiceAudioPlayerOptions = {
|
|
752
1065
|
autoStart?: boolean;
|
|
@@ -757,10 +1070,10 @@ export type VoiceDuplexControllerOptions = VoiceControllerOptions & {
|
|
|
757
1070
|
audioPlayer?: VoiceAudioPlayerOptions;
|
|
758
1071
|
bargeIn?: VoiceBargeInOptions;
|
|
759
1072
|
};
|
|
760
|
-
export type VoiceSTTRoutingGoal =
|
|
761
|
-
export type VoiceSTTRoutingCorrectionMode =
|
|
1073
|
+
export type VoiceSTTRoutingGoal = "best" | "low-cost";
|
|
1074
|
+
export type VoiceSTTRoutingCorrectionMode = "generic" | "none" | "risky-turn";
|
|
762
1075
|
export type VoiceSTTRoutingStrategy = {
|
|
763
|
-
benchmarkSessionTarget:
|
|
1076
|
+
benchmarkSessionTarget: "deepgram-corrected" | "deepgram-flux";
|
|
764
1077
|
correctionMode: VoiceSTTRoutingCorrectionMode;
|
|
765
1078
|
goal: VoiceSTTRoutingGoal;
|
|
766
1079
|
notes: string[];
|
|
@@ -774,7 +1087,7 @@ export type VoiceHTMXRenderInput<TResult = unknown, TSession extends VoiceSessio
|
|
|
774
1087
|
result?: TResult;
|
|
775
1088
|
session?: TSession;
|
|
776
1089
|
sessionId?: string;
|
|
777
|
-
status: VoiceSessionStatus |
|
|
1090
|
+
status: VoiceSessionStatus | "idle";
|
|
778
1091
|
turnCount: number;
|
|
779
1092
|
turns: VoiceTurnRecord<TResult>[];
|
|
780
1093
|
};
|
|
@@ -802,9 +1115,11 @@ export type VoiceHTMXOptions<TSession extends VoiceSessionRecord = VoiceSessionR
|
|
|
802
1115
|
export type VoiceHTMXConfig<TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = VoiceHTMXRenderer<TSession, TResult> | VoiceHTMXOptions<TSession, TResult>;
|
|
803
1116
|
export type VoiceStreamState<TResult = unknown> = {
|
|
804
1117
|
call: VoiceCallLifecycleState | null;
|
|
1118
|
+
sessionMetadata: Record<string, unknown> | null;
|
|
805
1119
|
sessionId: string | null;
|
|
806
1120
|
scenarioId: string | null;
|
|
807
|
-
status: VoiceSessionStatus |
|
|
1121
|
+
status: VoiceSessionStatus | "idle";
|
|
1122
|
+
reconnect: VoiceReconnectClientState;
|
|
808
1123
|
partial: string;
|
|
809
1124
|
turns: VoiceTurnRecord<TResult>[];
|
|
810
1125
|
assistantTexts: string[];
|
|
@@ -819,7 +1134,7 @@ export type VoiceStreamState<TResult = unknown> = {
|
|
|
819
1134
|
};
|
|
820
1135
|
export type VoiceStream<TResult = unknown> = {
|
|
821
1136
|
call: VoiceCallLifecycleState | null;
|
|
822
|
-
callControl: (message: Omit<VoiceClientCallControlMessage,
|
|
1137
|
+
callControl: (message: Omit<VoiceClientCallControlMessage, "type">) => void;
|
|
823
1138
|
close: () => void;
|
|
824
1139
|
start: (input?: {
|
|
825
1140
|
scenarioId?: string;
|
|
@@ -831,10 +1146,13 @@ export type VoiceStream<TResult = unknown> = {
|
|
|
831
1146
|
getSnapshot: () => VoiceStreamState<TResult>;
|
|
832
1147
|
isConnected: boolean;
|
|
833
1148
|
partial: string;
|
|
1149
|
+
reconnect: VoiceReconnectClientState;
|
|
834
1150
|
sendAudio: (audio: Uint8Array | ArrayBuffer) => void;
|
|
1151
|
+
simulateDisconnect: () => void;
|
|
835
1152
|
sessionId: string | null;
|
|
1153
|
+
sessionMetadata: Record<string, unknown> | null;
|
|
836
1154
|
scenarioId: string | null;
|
|
837
|
-
status: VoiceSessionStatus |
|
|
1155
|
+
status: VoiceSessionStatus | "idle";
|
|
838
1156
|
subscribe: (subscriber: () => void) => () => void;
|
|
839
1157
|
turns: VoiceTurnRecord<TResult>[];
|
|
840
1158
|
assistantTexts: string[];
|
|
@@ -860,7 +1178,7 @@ export type VoiceAudioPlayerState = {
|
|
|
860
1178
|
queuedChunkCount: number;
|
|
861
1179
|
};
|
|
862
1180
|
export type VoiceAudioPlayerSource = {
|
|
863
|
-
assistantAudio: VoiceStreamState[
|
|
1181
|
+
assistantAudio: VoiceStreamState["assistantAudio"];
|
|
864
1182
|
subscribe: (subscriber: () => void) => () => void;
|
|
865
1183
|
};
|
|
866
1184
|
export type VoiceAudioPlayer = {
|
|
@@ -887,7 +1205,7 @@ export type VoiceBargeInBinding = {
|
|
|
887
1205
|
export type VoiceController<TResult = unknown> = {
|
|
888
1206
|
bindHTMX: (options: VoiceHTMXBindingOptions) => () => void;
|
|
889
1207
|
call: VoiceCallLifecycleState | null;
|
|
890
|
-
callControl: (message: Omit<VoiceClientCallControlMessage,
|
|
1208
|
+
callControl: (message: Omit<VoiceClientCallControlMessage, "type">) => void;
|
|
891
1209
|
close: () => void;
|
|
892
1210
|
endTurn: () => void;
|
|
893
1211
|
start: (input?: {
|
|
@@ -900,12 +1218,15 @@ export type VoiceController<TResult = unknown> = {
|
|
|
900
1218
|
isConnected: boolean;
|
|
901
1219
|
isRecording: boolean;
|
|
902
1220
|
partial: string;
|
|
1221
|
+
reconnect: VoiceReconnectClientState;
|
|
903
1222
|
recordingError: string | null;
|
|
904
1223
|
sendAudio: (audio: Uint8Array | ArrayBuffer) => void;
|
|
1224
|
+
simulateDisconnect: () => void;
|
|
905
1225
|
sessionId: string | null;
|
|
1226
|
+
sessionMetadata: Record<string, unknown> | null;
|
|
906
1227
|
scenarioId: string | null;
|
|
907
1228
|
startRecording: () => Promise<void>;
|
|
908
|
-
status: VoiceSessionStatus |
|
|
1229
|
+
status: VoiceSessionStatus | "idle";
|
|
909
1230
|
stopRecording: () => void;
|
|
910
1231
|
subscribe: (subscriber: () => void) => () => void;
|
|
911
1232
|
toggleRecording: () => Promise<void>;
|
|
@@ -929,40 +1250,54 @@ export type VoiceHTMXBindingOptions = {
|
|
|
929
1250
|
sessionQueryParam?: string;
|
|
930
1251
|
};
|
|
931
1252
|
export type VoiceStoreAction<TResult = unknown> = {
|
|
932
|
-
type:
|
|
1253
|
+
type: "session";
|
|
933
1254
|
sessionId: string;
|
|
1255
|
+
sessionMetadata?: Record<string, unknown>;
|
|
934
1256
|
scenarioId?: string;
|
|
935
1257
|
status: VoiceSessionStatus;
|
|
936
1258
|
} | {
|
|
937
|
-
type:
|
|
1259
|
+
type: "replay";
|
|
1260
|
+
assistantTexts: string[];
|
|
1261
|
+
call?: VoiceCallLifecycleState;
|
|
1262
|
+
partial: string;
|
|
1263
|
+
scenarioId?: string;
|
|
1264
|
+
sessionId: string;
|
|
1265
|
+
sessionMetadata?: Record<string, unknown>;
|
|
1266
|
+
status: VoiceSessionStatus;
|
|
1267
|
+
turns: VoiceTurnRecord<TResult>[];
|
|
1268
|
+
} | {
|
|
1269
|
+
type: "call_lifecycle";
|
|
938
1270
|
event: VoiceCallLifecycleEvent;
|
|
939
1271
|
sessionId: string;
|
|
940
1272
|
} | {
|
|
941
|
-
type:
|
|
1273
|
+
type: "partial";
|
|
942
1274
|
transcript: Transcript;
|
|
943
1275
|
} | {
|
|
944
|
-
type:
|
|
1276
|
+
type: "final";
|
|
945
1277
|
transcript: Transcript;
|
|
946
1278
|
} | {
|
|
947
|
-
type:
|
|
1279
|
+
type: "turn";
|
|
948
1280
|
turn: VoiceTurnRecord<TResult>;
|
|
949
1281
|
} | {
|
|
950
|
-
type:
|
|
1282
|
+
type: "assistant";
|
|
951
1283
|
text: string;
|
|
952
1284
|
} | {
|
|
953
|
-
type:
|
|
1285
|
+
type: "audio";
|
|
954
1286
|
chunk: Uint8Array;
|
|
955
1287
|
format: AudioFormat;
|
|
956
1288
|
receivedAt: number;
|
|
957
1289
|
turnId?: string;
|
|
958
1290
|
} | {
|
|
959
|
-
type:
|
|
1291
|
+
type: "complete";
|
|
960
1292
|
sessionId: string;
|
|
961
1293
|
} | {
|
|
962
|
-
type:
|
|
1294
|
+
type: "error";
|
|
963
1295
|
message: string;
|
|
964
1296
|
} | {
|
|
965
|
-
type:
|
|
1297
|
+
type: "connected";
|
|
1298
|
+
} | {
|
|
1299
|
+
type: "connection";
|
|
1300
|
+
reconnect: VoiceReconnectClientState;
|
|
966
1301
|
} | {
|
|
967
|
-
type:
|
|
1302
|
+
type: "disconnected";
|
|
968
1303
|
};
|