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