@absolutejs/voice 0.0.22-beta.61 → 0.0.22-beta.610
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/LICENSE +88 -0
- package/README.md +4543 -1181
- package/dist/angular/index.d.ts +36 -6
- package/dist/angular/index.js +4203 -457
- 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 +4 -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 +1 -1
- 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 +5 -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 +128 -2
- package/dist/client/agentSquadStatus.d.ts +37 -0
- package/dist/client/agentSquadStatusWidget.d.ts +24 -0
- package/dist/client/audioPlayer.d.ts +12 -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 +8 -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 +1345 -84
- package/dist/client/htmxDashboardRenderers.d.ts +71 -0
- package/dist/client/index.d.ts +107 -25
- package/dist/client/index.js +10531 -462
- 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 +5 -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 +3 -3
- package/dist/client/providerSimulationControlsWidget.d.ts +5 -5
- package/dist/client/providerStatus.d.ts +5 -3
- package/dist/client/providerStatusWidget.d.ts +6 -6
- 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 +5 -3
- package/dist/client/routingStatusWidget.d.ts +10 -6
- 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/timeStretch.d.ts +5 -0
- 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} +111 -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} +21 -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 +25 -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/cachedTTS.d.ts +54 -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/debugTiming.d.ts +11 -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/hardenedFetch.d.ts +3 -0
- 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} +52 -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} +5 -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} +34 -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/scribe.d.ts +50 -0
- package/dist/core/semanticTurn.d.ts +37 -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} +2 -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/core/types.d.ts +1521 -0
- 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/writeBehindStore.d.ts +41 -0
- package/dist/core/zeroDataRetention.d.ts +31 -0
- package/dist/drizzle/assistantMemory.d.ts +100 -0
- package/dist/drizzle/eval.d.ts +55 -0
- package/dist/drizzle/handoff.d.ts +56 -0
- package/dist/drizzle/incidentBundle.d.ts +55 -0
- package/dist/drizzle/index.d.ts +991 -0
- package/dist/drizzle/index.js +3059 -0
- package/dist/drizzle/observabilityExport.d.ts +55 -0
- package/dist/drizzle/proofTrends.d.ts +114 -0
- package/dist/drizzle/runtimeStorage.d.ts +1183 -0
- package/dist/drizzle/shared.d.ts +69 -0
- package/dist/embed/index.d.ts +38 -0
- package/dist/embed/index.js +1775 -0
- package/dist/embed/voice-widget.js +10 -0
- package/dist/index.d.ts +376 -74
- package/dist/index.js +47069 -7487
- 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 +1 -1
- package/dist/react/VoiceProviderStatus.d.ts +1 -1
- 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 +1 -1
- 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 -11
- package/dist/react/index.js +13545 -1593
- 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 +5 -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 +1 -1
- 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 +1 -1
- package/dist/react/useVoiceSessionObservability.d.ts +8 -0
- package/dist/react/useVoiceSessionSnapshot.d.ts +9 -0
- package/dist/react/useVoiceStream.d.ts +5 -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 +2 -2
- package/dist/svelte/createVoiceProviderStatus.d.ts +2 -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 +2 -2
- 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 -8
- package/dist/svelte/index.js +7177 -1306
- 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 +152 -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 +7281 -926
- 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 +2 -2
- package/dist/vue/VoiceProviderStatus.d.ts +4 -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 +4 -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 -11
- package/dist/vue/index.js +12844 -1711
- 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 +10 -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 +2 -2
- 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 +2 -2
- package/dist/vue/useVoiceSessionObservability.d.ts +9 -0
- package/dist/vue/useVoiceSessionSnapshot.d.ts +10 -0
- package/dist/vue/useVoiceStream.d.ts +10 -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 +155 -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/types.d.ts +0 -968
- 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
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
import { Database } from "bun:sqlite";
|
|
2
|
+
import type { RedisClient } from "bun";
|
|
3
|
+
import { Elysia } from "elysia";
|
|
4
|
+
import { type VoiceTelephonyContractReport, type VoiceTelephonySetupStatus, type VoiceTelephonySmokeCheck, type VoiceTelephonySmokeReport } from "./contract";
|
|
5
|
+
import { type VoiceTelephonyOutcomePolicy, type VoiceTelephonyWebhookRoutesOptions, type VoiceTelephonyWebhookVerificationResult } from "../core/telephonyOutcome";
|
|
6
|
+
import type { VoiceServerMessage, VoiceSessionRecord } from "../core/types";
|
|
7
|
+
import { type TwilioMediaStreamBridgeOptions } from "./twilio";
|
|
8
|
+
import type { VoicePostgresClient } from "../core/postgresStore";
|
|
9
|
+
export type TelnyxMediaPayload = {
|
|
10
|
+
chunk?: string;
|
|
11
|
+
payload: string;
|
|
12
|
+
timestamp?: string;
|
|
13
|
+
track?: "inbound" | "outbound" | "inbound_track" | "outbound_track";
|
|
14
|
+
};
|
|
15
|
+
export type TelnyxInboundMessage = {
|
|
16
|
+
event: "connected";
|
|
17
|
+
version?: string;
|
|
18
|
+
} | {
|
|
19
|
+
event: "start";
|
|
20
|
+
sequence_number?: string;
|
|
21
|
+
start?: {
|
|
22
|
+
call_control_id?: string;
|
|
23
|
+
call_leg_id?: string;
|
|
24
|
+
call_session_id?: string;
|
|
25
|
+
custom_parameters?: Record<string, string>;
|
|
26
|
+
media_format?: {
|
|
27
|
+
channels?: number;
|
|
28
|
+
encoding?: string;
|
|
29
|
+
sample_rate?: number;
|
|
30
|
+
};
|
|
31
|
+
user_id?: string;
|
|
32
|
+
};
|
|
33
|
+
stream_id?: string;
|
|
34
|
+
} | {
|
|
35
|
+
event: "media";
|
|
36
|
+
media: TelnyxMediaPayload;
|
|
37
|
+
sequence_number?: string;
|
|
38
|
+
stream_id?: string;
|
|
39
|
+
} | {
|
|
40
|
+
event: "mark";
|
|
41
|
+
mark?: {
|
|
42
|
+
name?: string;
|
|
43
|
+
};
|
|
44
|
+
sequence_number?: string;
|
|
45
|
+
stream_id?: string;
|
|
46
|
+
} | {
|
|
47
|
+
event: "dtmf";
|
|
48
|
+
dtmf?: {
|
|
49
|
+
digit?: string;
|
|
50
|
+
};
|
|
51
|
+
sequence_number?: string;
|
|
52
|
+
stream_id?: string;
|
|
53
|
+
} | {
|
|
54
|
+
event: "error";
|
|
55
|
+
payload?: {
|
|
56
|
+
code?: number;
|
|
57
|
+
detail?: string;
|
|
58
|
+
title?: string;
|
|
59
|
+
};
|
|
60
|
+
stream_id?: string;
|
|
61
|
+
} | {
|
|
62
|
+
event: "stop";
|
|
63
|
+
sequence_number?: string;
|
|
64
|
+
stop?: {
|
|
65
|
+
call_control_id?: string;
|
|
66
|
+
user_id?: string;
|
|
67
|
+
};
|
|
68
|
+
stream_id?: string;
|
|
69
|
+
};
|
|
70
|
+
export type TelnyxOutboundMediaMessage = {
|
|
71
|
+
event: "media";
|
|
72
|
+
media: {
|
|
73
|
+
payload: string;
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
export type TelnyxOutboundClearMessage = {
|
|
77
|
+
event: "clear";
|
|
78
|
+
};
|
|
79
|
+
export type TelnyxOutboundMarkMessage = {
|
|
80
|
+
event: "mark";
|
|
81
|
+
mark: {
|
|
82
|
+
name: string;
|
|
83
|
+
};
|
|
84
|
+
};
|
|
85
|
+
export type TelnyxOutboundMessage = TelnyxOutboundMediaMessage | TelnyxOutboundClearMessage | TelnyxOutboundMarkMessage;
|
|
86
|
+
export type TelnyxMediaStreamSocket = {
|
|
87
|
+
close: (code?: number, reason?: string) => void | Promise<void>;
|
|
88
|
+
send: (data: string) => void | Promise<void>;
|
|
89
|
+
};
|
|
90
|
+
export type TelnyxMediaStreamBridgeOptions<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = Omit<TwilioMediaStreamBridgeOptions<TContext, TSession, TResult>, "onVoiceMessage"> & {
|
|
91
|
+
onVoiceMessage?: (input: {
|
|
92
|
+
callControlId?: string;
|
|
93
|
+
message: VoiceServerMessage<TResult>;
|
|
94
|
+
sessionId: string;
|
|
95
|
+
streamId?: string;
|
|
96
|
+
}) => Promise<void> | void;
|
|
97
|
+
};
|
|
98
|
+
export type TelnyxMediaStreamBridge = {
|
|
99
|
+
close: (reason?: string) => Promise<void>;
|
|
100
|
+
getSessionId: () => string | null;
|
|
101
|
+
getStreamId: () => string | null;
|
|
102
|
+
handleMessage: (raw: string | TelnyxInboundMessage) => Promise<void>;
|
|
103
|
+
};
|
|
104
|
+
export type TelnyxVoiceResponseOptions = {
|
|
105
|
+
bidirectionalCodec?: "AMR-WB" | "G722" | "OPUS" | "PCMA" | "PCMU";
|
|
106
|
+
bidirectionalMode?: "mp3" | "rtp";
|
|
107
|
+
codec?: "AMR-WB" | "G722" | "OPUS" | "PCMA" | "PCMU" | "default";
|
|
108
|
+
streamName?: string;
|
|
109
|
+
streamUrl: string;
|
|
110
|
+
track?: "both_tracks" | "inbound_track" | "outbound_track";
|
|
111
|
+
};
|
|
112
|
+
export type TelnyxVoiceSetupStatus = VoiceTelephonySetupStatus<"telnyx"> & {
|
|
113
|
+
urls: VoiceTelephonySetupStatus<"telnyx">["urls"] & {
|
|
114
|
+
texml: string;
|
|
115
|
+
};
|
|
116
|
+
};
|
|
117
|
+
export type TelnyxVoiceSetupOptions = {
|
|
118
|
+
path?: false | string;
|
|
119
|
+
requiredEnv?: Record<string, string | undefined>;
|
|
120
|
+
title?: string;
|
|
121
|
+
};
|
|
122
|
+
export type TelnyxVoiceSmokeCheck = VoiceTelephonySmokeCheck;
|
|
123
|
+
export type TelnyxVoiceSmokeReport = VoiceTelephonySmokeReport<"telnyx"> & {
|
|
124
|
+
contract: VoiceTelephonyContractReport<"telnyx">;
|
|
125
|
+
setup: TelnyxVoiceSetupStatus;
|
|
126
|
+
texml?: {
|
|
127
|
+
status: number;
|
|
128
|
+
streamUrl?: string;
|
|
129
|
+
};
|
|
130
|
+
};
|
|
131
|
+
export type TelnyxVoiceSmokeOptions = {
|
|
132
|
+
callControlId?: string;
|
|
133
|
+
callLegId?: string;
|
|
134
|
+
eventType?: string;
|
|
135
|
+
path?: false | string;
|
|
136
|
+
sessionId?: string;
|
|
137
|
+
title?: string;
|
|
138
|
+
};
|
|
139
|
+
export type TelnyxVoiceRoutesOptions<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = {
|
|
140
|
+
bridge?: TelnyxMediaStreamBridgeOptions<TContext, TSession, TResult>;
|
|
141
|
+
context?: TContext;
|
|
142
|
+
name?: string;
|
|
143
|
+
outcomePolicy?: VoiceTelephonyOutcomePolicy;
|
|
144
|
+
setup?: TelnyxVoiceSetupOptions;
|
|
145
|
+
smoke?: TelnyxVoiceSmokeOptions;
|
|
146
|
+
streamPath?: string;
|
|
147
|
+
texml?: {
|
|
148
|
+
path?: string;
|
|
149
|
+
response?: Omit<TelnyxVoiceResponseOptions, "streamUrl">;
|
|
150
|
+
streamUrl?: string | ((input: {
|
|
151
|
+
query: Record<string, unknown>;
|
|
152
|
+
request: Request;
|
|
153
|
+
streamPath: string;
|
|
154
|
+
}) => Promise<string> | string);
|
|
155
|
+
};
|
|
156
|
+
webhook?: Omit<VoiceTelephonyWebhookRoutesOptions<TContext, TSession, TResult>, "context" | "path" | "policy" | "provider"> & {
|
|
157
|
+
eventStore?: VoiceTelnyxWebhookEventStore;
|
|
158
|
+
path?: string;
|
|
159
|
+
policy?: VoiceTelephonyOutcomePolicy;
|
|
160
|
+
publicKey?: string;
|
|
161
|
+
toleranceSeconds?: number;
|
|
162
|
+
};
|
|
163
|
+
};
|
|
164
|
+
export type VoiceTelnyxWebhookEventStore = {
|
|
165
|
+
claim?: (eventId: string) => Promise<boolean> | boolean;
|
|
166
|
+
has: (eventId: string) => Promise<boolean> | boolean;
|
|
167
|
+
set: (eventId: string) => Promise<void> | void;
|
|
168
|
+
};
|
|
169
|
+
export type VoiceTelnyxWebhookEventStoreOptions = {
|
|
170
|
+
ttlSeconds?: number;
|
|
171
|
+
};
|
|
172
|
+
export type VoiceSQLiteTelnyxWebhookEventStoreOptions = VoiceTelnyxWebhookEventStoreOptions & {
|
|
173
|
+
database?: Database;
|
|
174
|
+
path?: string;
|
|
175
|
+
tableName?: string;
|
|
176
|
+
tablePrefix?: string;
|
|
177
|
+
};
|
|
178
|
+
export type VoicePostgresTelnyxWebhookEventStoreOptions = VoiceTelnyxWebhookEventStoreOptions & {
|
|
179
|
+
connectionString?: string;
|
|
180
|
+
schemaName?: string;
|
|
181
|
+
sql?: VoicePostgresClient;
|
|
182
|
+
tableName?: string;
|
|
183
|
+
tablePrefix?: string;
|
|
184
|
+
};
|
|
185
|
+
export type VoiceRedisTelnyxWebhookEventClient = Pick<RedisClient, "exists" | "set">;
|
|
186
|
+
export type VoiceRedisTelnyxWebhookEventStoreOptions = VoiceTelnyxWebhookEventStoreOptions & {
|
|
187
|
+
client?: VoiceRedisTelnyxWebhookEventClient;
|
|
188
|
+
keyPrefix?: string;
|
|
189
|
+
url?: string;
|
|
190
|
+
};
|
|
191
|
+
export type VoiceTelnyxWebhookVerifierOptions = {
|
|
192
|
+
eventStore?: VoiceTelnyxWebhookEventStore;
|
|
193
|
+
publicKey?: string;
|
|
194
|
+
toleranceSeconds?: number;
|
|
195
|
+
};
|
|
196
|
+
export declare const createTelnyxVoiceResponse: (options: TelnyxVoiceResponseOptions) => string;
|
|
197
|
+
export declare const createTelnyxMediaStreamBridge: <TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown>(socket: TelnyxMediaStreamSocket, options: TelnyxMediaStreamBridgeOptions<TContext, TSession, TResult>) => TelnyxMediaStreamBridge;
|
|
198
|
+
export declare const createMemoryVoiceTelnyxWebhookEventStore: () => VoiceTelnyxWebhookEventStore;
|
|
199
|
+
export declare const verifyVoiceTelnyxWebhookSignature: (input: {
|
|
200
|
+
body: string;
|
|
201
|
+
headers: Headers;
|
|
202
|
+
publicKey?: string;
|
|
203
|
+
toleranceSeconds?: number;
|
|
204
|
+
}) => Promise<VoiceTelephonyWebhookVerificationResult>;
|
|
205
|
+
export declare const createVoiceSQLiteTelnyxWebhookEventStore: (options: VoiceSQLiteTelnyxWebhookEventStoreOptions) => VoiceTelnyxWebhookEventStore;
|
|
206
|
+
export declare const createVoicePostgresTelnyxWebhookEventStore: (options?: VoicePostgresTelnyxWebhookEventStoreOptions) => VoiceTelnyxWebhookEventStore;
|
|
207
|
+
export declare const createVoiceRedisTelnyxWebhookEventStore: (options?: VoiceRedisTelnyxWebhookEventStoreOptions) => VoiceTelnyxWebhookEventStore;
|
|
208
|
+
export declare const createVoiceTelnyxWebhookVerifier: (options: VoiceTelnyxWebhookVerifierOptions) => (input: {
|
|
209
|
+
rawBody: string;
|
|
210
|
+
headers: Headers;
|
|
211
|
+
}) => Promise<VoiceTelephonyWebhookVerificationResult>;
|
|
212
|
+
export declare const createTelnyxVoiceRoutes: <TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown>(options?: TelnyxVoiceRoutesOptions<TContext, TSession, TResult>) => Elysia<"", {
|
|
213
|
+
decorator: {};
|
|
214
|
+
store: {};
|
|
215
|
+
derive: {};
|
|
216
|
+
resolve: {};
|
|
217
|
+
}, {
|
|
218
|
+
typebox: {};
|
|
219
|
+
error: {};
|
|
220
|
+
}, {
|
|
221
|
+
schema: {};
|
|
222
|
+
standaloneSchema: {};
|
|
223
|
+
macro: {};
|
|
224
|
+
macroFn: {};
|
|
225
|
+
parser: {};
|
|
226
|
+
response: {};
|
|
227
|
+
}, {
|
|
228
|
+
[x: string]: {
|
|
229
|
+
get: {
|
|
230
|
+
body: unknown;
|
|
231
|
+
params: {};
|
|
232
|
+
query: unknown;
|
|
233
|
+
headers: unknown;
|
|
234
|
+
response: {
|
|
235
|
+
200: Response;
|
|
236
|
+
};
|
|
237
|
+
};
|
|
238
|
+
};
|
|
239
|
+
} & {
|
|
240
|
+
[x: string]: {
|
|
241
|
+
post: {
|
|
242
|
+
body: unknown;
|
|
243
|
+
params: {};
|
|
244
|
+
query: unknown;
|
|
245
|
+
headers: unknown;
|
|
246
|
+
response: {
|
|
247
|
+
200: Response;
|
|
248
|
+
};
|
|
249
|
+
};
|
|
250
|
+
};
|
|
251
|
+
} & {
|
|
252
|
+
[x: string]: {
|
|
253
|
+
subscribe: {
|
|
254
|
+
body: unknown;
|
|
255
|
+
params: {};
|
|
256
|
+
query: unknown;
|
|
257
|
+
headers: unknown;
|
|
258
|
+
response: {};
|
|
259
|
+
};
|
|
260
|
+
};
|
|
261
|
+
} & {
|
|
262
|
+
[x: string]: {
|
|
263
|
+
post: {
|
|
264
|
+
body: unknown;
|
|
265
|
+
params: {};
|
|
266
|
+
query: unknown;
|
|
267
|
+
headers: unknown;
|
|
268
|
+
response: {
|
|
269
|
+
200: Response | import("..").VoiceTelephonyWebhookDecision<TResult>;
|
|
270
|
+
};
|
|
271
|
+
};
|
|
272
|
+
};
|
|
273
|
+
}, {
|
|
274
|
+
derive: {};
|
|
275
|
+
resolve: {};
|
|
276
|
+
schema: {};
|
|
277
|
+
standaloneSchema: {};
|
|
278
|
+
response: {};
|
|
279
|
+
}, {
|
|
280
|
+
derive: {};
|
|
281
|
+
resolve: {};
|
|
282
|
+
schema: {};
|
|
283
|
+
standaloneSchema: {};
|
|
284
|
+
response: {};
|
|
285
|
+
} & {
|
|
286
|
+
derive: {};
|
|
287
|
+
resolve: {};
|
|
288
|
+
schema: {};
|
|
289
|
+
standaloneSchema: {};
|
|
290
|
+
response: {};
|
|
291
|
+
}>;
|
|
@@ -1,18 +1,21 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type {
|
|
1
|
+
import { Elysia } from "elysia";
|
|
2
|
+
import type { VoiceTelephonySetupStatus, VoiceTelephonySmokeCheck, VoiceTelephonySmokeReport } from "./contract";
|
|
3
|
+
import { type VoiceTelephonyOutcomePolicy, type VoiceTelephonyWebhookRoutesOptions } from "../core/telephonyOutcome";
|
|
4
|
+
import { type VoiceCallReviewArtifact, type VoiceCallReviewConfig } from "../testing/review";
|
|
5
|
+
import type { AudioFormat, STTAdapter, VoiceLogger, VoiceOnTurnObjectHandler, VoicePluginConfig, VoiceSessionRecord, VoiceServerMessage } from "../core/types";
|
|
3
6
|
type TwilioMediaPayload = {
|
|
4
7
|
chunk?: string;
|
|
5
8
|
payload: string;
|
|
6
9
|
timestamp?: string;
|
|
7
|
-
track?:
|
|
10
|
+
track?: "inbound" | "outbound";
|
|
8
11
|
};
|
|
9
12
|
type TwilioConnectedMessage = {
|
|
10
|
-
event:
|
|
13
|
+
event: "connected";
|
|
11
14
|
protocol?: string;
|
|
12
15
|
version?: string;
|
|
13
16
|
};
|
|
14
17
|
type TwilioStartMessage = {
|
|
15
|
-
event:
|
|
18
|
+
event: "start";
|
|
16
19
|
sequenceNumber?: string;
|
|
17
20
|
start: {
|
|
18
21
|
accountSid?: string;
|
|
@@ -29,13 +32,13 @@ type TwilioStartMessage = {
|
|
|
29
32
|
streamSid?: string;
|
|
30
33
|
};
|
|
31
34
|
type TwilioMediaMessage = {
|
|
32
|
-
event:
|
|
35
|
+
event: "media";
|
|
33
36
|
media: TwilioMediaPayload;
|
|
34
37
|
sequenceNumber?: string;
|
|
35
38
|
streamSid: string;
|
|
36
39
|
};
|
|
37
40
|
type TwilioMarkMessage = {
|
|
38
|
-
event:
|
|
41
|
+
event: "mark";
|
|
39
42
|
mark?: {
|
|
40
43
|
name?: string;
|
|
41
44
|
};
|
|
@@ -43,7 +46,7 @@ type TwilioMarkMessage = {
|
|
|
43
46
|
streamSid: string;
|
|
44
47
|
};
|
|
45
48
|
type TwilioStopMessage = {
|
|
46
|
-
event:
|
|
49
|
+
event: "stop";
|
|
47
50
|
sequenceNumber?: string;
|
|
48
51
|
stop?: {
|
|
49
52
|
accountSid?: string;
|
|
@@ -53,18 +56,18 @@ type TwilioStopMessage = {
|
|
|
53
56
|
};
|
|
54
57
|
export type TwilioInboundMessage = TwilioConnectedMessage | TwilioStartMessage | TwilioMediaMessage | TwilioMarkMessage | TwilioStopMessage;
|
|
55
58
|
export type TwilioOutboundMediaMessage = {
|
|
56
|
-
event:
|
|
59
|
+
event: "media";
|
|
57
60
|
media: {
|
|
58
61
|
payload: string;
|
|
59
62
|
};
|
|
60
63
|
streamSid: string;
|
|
61
64
|
};
|
|
62
65
|
export type TwilioOutboundClearMessage = {
|
|
63
|
-
event:
|
|
66
|
+
event: "clear";
|
|
64
67
|
streamSid: string;
|
|
65
68
|
};
|
|
66
69
|
export type TwilioOutboundMarkMessage = {
|
|
67
|
-
event:
|
|
70
|
+
event: "mark";
|
|
68
71
|
mark: {
|
|
69
72
|
name: string;
|
|
70
73
|
};
|
|
@@ -75,7 +78,25 @@ export type TwilioMediaStreamSocket = {
|
|
|
75
78
|
close: (code?: number, reason?: string) => void | Promise<void>;
|
|
76
79
|
send: (data: string) => void | Promise<void>;
|
|
77
80
|
};
|
|
78
|
-
export type TwilioMediaStreamBridgeOptions<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = Omit<VoicePluginConfig<TContext, TSession, TResult>,
|
|
81
|
+
export type TwilioMediaStreamBridgeOptions<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = Omit<VoicePluginConfig<TContext, TSession, TResult>, "htmx" | "onTurn" | "path" | "stt"> & {
|
|
82
|
+
/**
|
|
83
|
+
* Per-turn handler. Receives the committed turn, session, context, and
|
|
84
|
+
* session `api` as a single object. The legacy positional form
|
|
85
|
+
* `(session, turn, api, context)` is still accepted at runtime via
|
|
86
|
+
* `normalizeOnTurn`, but only the object form is part of the typed
|
|
87
|
+
* surface — pinning it to a single (non-union) signature is what lets
|
|
88
|
+
* the `input` parameter infer at the call site instead of falling back
|
|
89
|
+
* to `any` (a union of function types defeats contextual typing).
|
|
90
|
+
*/
|
|
91
|
+
onTurn: VoiceOnTurnObjectHandler<TContext, TSession, TResult>;
|
|
92
|
+
/**
|
|
93
|
+
* Legacy barge-in: send the carrier a "clear" on every inbound media frame
|
|
94
|
+
* once the assistant has spoken. Defaults to `false` — a phone line streams
|
|
95
|
+
* inbound audio continuously (silence included), so this flushes the
|
|
96
|
+
* assistant constantly. Barge-in is handled speech-gated by the session
|
|
97
|
+
* (`socket.clear()` on detected speech); only set `true` to force the old
|
|
98
|
+
* frame-level behavior.
|
|
99
|
+
*/
|
|
79
100
|
clearOnInboundMedia?: boolean;
|
|
80
101
|
context: TContext;
|
|
81
102
|
logger?: VoiceLogger;
|
|
@@ -94,6 +115,72 @@ export type TwilioMediaStreamBridgeOptions<TContext = unknown, TSession extends
|
|
|
94
115
|
};
|
|
95
116
|
scenarioId?: string;
|
|
96
117
|
sessionId?: string;
|
|
118
|
+
stt: STTAdapter;
|
|
119
|
+
telephonyMediaCarrier?: "plivo" | "telnyx" | "twilio";
|
|
120
|
+
/** Capture call audio (per-channel) to a recording store. */
|
|
121
|
+
recording?: import("../core/types").VoiceSessionRecordingConfig;
|
|
122
|
+
/** Per-call cost accounting (STT/LLM/TTS) — emits turn.cost/cost.ready traces. */
|
|
123
|
+
costAccountant?: import("../core/costAccounting").VoiceCostAccountant;
|
|
124
|
+
/** Telephony cost provider for the accountant (e.g. "twilio"). */
|
|
125
|
+
costTelephony?: {
|
|
126
|
+
provider?: string;
|
|
127
|
+
};
|
|
128
|
+
/**
|
|
129
|
+
* Per-transcript semantic end-of-turn detector. Called on every transcript
|
|
130
|
+
* event; an `endOfTurn=true` verdict EARLY-commits the turn (the runtime
|
|
131
|
+
* still falls back to `turnDetection.silenceMs` if the detector says
|
|
132
|
+
* `false`). Useful for raising silenceMs for thinking time while keeping
|
|
133
|
+
* snappy responses on clear-cut answers. See VoiceSemanticTurnDetector.
|
|
134
|
+
*/
|
|
135
|
+
semanticTurnDetector?: import("../core/semanticTurn").VoiceSemanticTurnDetector;
|
|
136
|
+
/**
|
|
137
|
+
* Pre-rendered filler phrases ("Hmm.", "Got it.", "Let me think.") played
|
|
138
|
+
* in the gap between user-turn-commit and real assistant audio. Boardy's
|
|
139
|
+
* "the pause is character, not lag" pattern. See CreateVoiceSessionOptions
|
|
140
|
+
* for full semantics.
|
|
141
|
+
*/
|
|
142
|
+
fillerPhrases?: ReadonlyArray<string>;
|
|
143
|
+
/** Milliseconds after turn-commit before the filler fires. Default 250ms. */
|
|
144
|
+
fillerDelayMs?: number;
|
|
145
|
+
/**
|
|
146
|
+
* Minimum word count in an STT partial transcript before barge-in
|
|
147
|
+
* cancels in-flight assistant TTS. Default 1 (any partial).
|
|
148
|
+
* Recommended 2 on phone routes — single-word partials ("you", "am i")
|
|
149
|
+
* cut the bot off mid-question per live-test 2026-05-27. See
|
|
150
|
+
* CreateVoiceSessionOptions for full semantics.
|
|
151
|
+
*/
|
|
152
|
+
bargeInMinPartialWords?: number;
|
|
153
|
+
/**
|
|
154
|
+
* Content-aware filler (Latency Theater). Called in parallel with the
|
|
155
|
+
* main LLM turn; if it resolves within `fillerForTimeoutMs` the runtime
|
|
156
|
+
* speaks the result instead of a random `fillerPhrases` entry. Return
|
|
157
|
+
* `null` to skip filler for this turn. See CreateVoiceSessionOptions
|
|
158
|
+
* for full semantics.
|
|
159
|
+
*/
|
|
160
|
+
fillerFor?: (input: {
|
|
161
|
+
sessionId: string;
|
|
162
|
+
turnId: string;
|
|
163
|
+
userText: string;
|
|
164
|
+
}) => Promise<string | null>;
|
|
165
|
+
/** Cap on the `fillerFor` race before falling back to a static phrase. Default 600ms. */
|
|
166
|
+
fillerForTimeoutMs?: number;
|
|
167
|
+
/** Backchannel cues played while the caller is mid-turn so they feel heard.
|
|
168
|
+
* Non-turn TTS path (no barge-in interaction). Off unless `enabled`. */
|
|
169
|
+
backchannel?: import("../core/backchannel").VoiceBackchannelConfig;
|
|
170
|
+
/**
|
|
171
|
+
* Default spoken ack if the model returns ONLY tool calls (no text) and
|
|
172
|
+
* the turn isn't ending. Without this, the caller hears silence and
|
|
173
|
+
* assumes the line dropped. Default "Sorry, one moment." — set to ""
|
|
174
|
+
* to opt out. See CreateVoiceSessionOptions for full semantics.
|
|
175
|
+
*/
|
|
176
|
+
defaultSilentTurnAck?: string;
|
|
177
|
+
/**
|
|
178
|
+
* Hard timeout (ms) around `route.onTurn`. If onTurn doesn't resolve in
|
|
179
|
+
* this window, the runtime throws → defaultSilentTurnAck fires → caller
|
|
180
|
+
* hears the fallback instead of dead air. See CreateVoiceSessionOptions
|
|
181
|
+
* for full semantics. Default 45s.
|
|
182
|
+
*/
|
|
183
|
+
routeOnTurnTimeoutMs?: number;
|
|
97
184
|
};
|
|
98
185
|
export type TwilioMediaStreamBridge = {
|
|
99
186
|
close: (reason?: string) => Promise<void>;
|
|
@@ -105,12 +192,62 @@ export type TwilioVoiceResponseOptions = {
|
|
|
105
192
|
parameters?: Record<string, string | number | boolean | undefined>;
|
|
106
193
|
streamName?: string;
|
|
107
194
|
streamUrl: string;
|
|
108
|
-
track?:
|
|
195
|
+
track?: "both_tracks" | "inbound_track" | "outbound_track";
|
|
196
|
+
};
|
|
197
|
+
export type TwilioVoiceRouteParameters = Record<string, string | number | boolean | undefined> | ((input: {
|
|
198
|
+
query: Record<string, unknown>;
|
|
199
|
+
request: Request;
|
|
200
|
+
}) => Promise<Record<string, string | number | boolean | undefined>> | Record<string, string | number | boolean | undefined>);
|
|
201
|
+
export type TwilioVoiceSetupStatus = VoiceTelephonySetupStatus<"twilio"> & {
|
|
202
|
+
urls: VoiceTelephonySetupStatus<"twilio">["urls"] & {
|
|
203
|
+
twiml: string;
|
|
204
|
+
};
|
|
205
|
+
};
|
|
206
|
+
export type TwilioVoiceSetupOptions = {
|
|
207
|
+
path?: false | string;
|
|
208
|
+
requiredEnv?: Record<string, string | undefined>;
|
|
209
|
+
title?: string;
|
|
210
|
+
};
|
|
211
|
+
export type TwilioVoiceSmokeCheck = VoiceTelephonySmokeCheck;
|
|
212
|
+
export type TwilioVoiceSmokeReport = VoiceTelephonySmokeReport<"twilio"> & {
|
|
213
|
+
setup: TwilioVoiceSetupStatus;
|
|
214
|
+
};
|
|
215
|
+
export type TwilioVoiceSmokeOptions = {
|
|
216
|
+
callSid?: string;
|
|
217
|
+
path?: false | string;
|
|
218
|
+
scenarioId?: string;
|
|
219
|
+
sessionId?: string;
|
|
220
|
+
sipCode?: number;
|
|
221
|
+
status?: string;
|
|
222
|
+
title?: string;
|
|
223
|
+
};
|
|
224
|
+
export type TwilioVoiceRoutesOptions<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = TwilioMediaStreamBridgeOptions<TContext, TSession, TResult> & {
|
|
225
|
+
name?: string;
|
|
226
|
+
outcomePolicy?: VoiceTelephonyOutcomePolicy;
|
|
227
|
+
smoke?: TwilioVoiceSmokeOptions;
|
|
228
|
+
setup?: TwilioVoiceSetupOptions;
|
|
229
|
+
streamPath?: string;
|
|
230
|
+
twiml?: {
|
|
231
|
+
parameters?: TwilioVoiceRouteParameters;
|
|
232
|
+
path?: string;
|
|
233
|
+
streamName?: string;
|
|
234
|
+
streamUrl?: string | ((input: {
|
|
235
|
+
query: Record<string, unknown>;
|
|
236
|
+
request: Request;
|
|
237
|
+
streamPath: string;
|
|
238
|
+
}) => Promise<string> | string);
|
|
239
|
+
track?: TwilioVoiceResponseOptions["track"];
|
|
240
|
+
};
|
|
241
|
+
webhook?: Omit<VoiceTelephonyWebhookRoutesOptions<TContext, TSession, TResult>, "context" | "path" | "policy" | "provider"> & {
|
|
242
|
+
path?: string;
|
|
243
|
+
policy?: VoiceTelephonyOutcomePolicy;
|
|
244
|
+
};
|
|
109
245
|
};
|
|
110
246
|
export declare const decodeTwilioMulawBase64: (payload: string) => Int16Array<ArrayBuffer>;
|
|
111
247
|
export declare const encodeTwilioMulawBase64: (samples: Int16Array) => string;
|
|
112
|
-
export declare const transcodeTwilioInboundPayloadToPCM16: (payload: string) => Uint8Array<ArrayBuffer>;
|
|
113
248
|
export declare const transcodePCMToTwilioOutboundPayload: (chunk: Uint8Array, format: AudioFormat) => string;
|
|
114
|
-
export declare const
|
|
249
|
+
export declare const transcodeTwilioInboundPayloadToPCM16: (payload: string) => Uint8Array<ArrayBuffer>;
|
|
115
250
|
export declare const createTwilioMediaStreamBridge: <TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown>(socket: TwilioMediaStreamSocket, options: TwilioMediaStreamBridgeOptions<TContext, TSession, TResult>) => TwilioMediaStreamBridge;
|
|
251
|
+
export declare const createTwilioVoiceResponse: (options: TwilioVoiceResponseOptions) => string;
|
|
252
|
+
export declare const createTwilioVoiceRoutes: <TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown>(options: TwilioVoiceRoutesOptions<TContext, TSession, TResult>) => Elysia;
|
|
116
253
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { STTAdapter, STTAdapterOpenOptions } from
|
|
2
|
-
import { type VoiceSTTAdapterHarnessOptions, type VoiceSTTAdapterHarnessResult } from
|
|
3
|
-
import type { VoiceTestFixture } from
|
|
1
|
+
import type { STTAdapter, STTAdapterOpenOptions } from "../core/types";
|
|
2
|
+
import { type VoiceSTTAdapterHarnessOptions, type VoiceSTTAdapterHarnessResult } from "./stt";
|
|
3
|
+
import type { VoiceTestFixture } from "./fixtures";
|
|
4
4
|
export type VoiceExpectedTermAccuracy = {
|
|
5
5
|
allMatched: boolean;
|
|
6
6
|
expectedTerms: string[];
|
|
@@ -8,7 +8,7 @@ export type VoiceExpectedTermAccuracy = {
|
|
|
8
8
|
missingTerms: string[];
|
|
9
9
|
recall: number;
|
|
10
10
|
};
|
|
11
|
-
export type VoiceSTTFixtureEnvironment =
|
|
11
|
+
export type VoiceSTTFixtureEnvironment = "accent" | "accent-noisy" | "clean" | "code-switch" | "jargon" | "multilingual" | "multi-speaker" | "noisy" | "telephony" | "other";
|
|
12
12
|
export type VoiceSpeakerTurnAccuracy = {
|
|
13
13
|
available: boolean;
|
|
14
14
|
actualTurnCount: number;
|
|
@@ -18,9 +18,9 @@ export type VoiceSpeakerTurnAccuracy = {
|
|
|
18
18
|
postClustered?: boolean;
|
|
19
19
|
};
|
|
20
20
|
export type VoiceSTTBenchmarkFixtureResult = {
|
|
21
|
-
accuracy: VoiceSTTAdapterHarnessResult[
|
|
21
|
+
accuracy: VoiceSTTAdapterHarnessResult["accuracy"];
|
|
22
22
|
closeCount: number;
|
|
23
|
-
difficulty?: VoiceTestFixture[
|
|
23
|
+
difficulty?: VoiceTestFixture["difficulty"];
|
|
24
24
|
elapsedMs: number;
|
|
25
25
|
endOfTurnCount: number;
|
|
26
26
|
errorCount: number;
|
|
@@ -141,27 +141,27 @@ export type VoiceSTTBenchmarkAcceptanceResult = {
|
|
|
141
141
|
score: number;
|
|
142
142
|
};
|
|
143
143
|
export type VoiceSTTBenchmarkOptions = VoiceSTTAdapterHarnessOptions & {
|
|
144
|
-
fixtureOptions?: Record<string, Omit<VoiceSTTAdapterHarnessOptions,
|
|
144
|
+
fixtureOptions?: Record<string, Omit<VoiceSTTAdapterHarnessOptions, "fixtureOptions" | "openOptions">>;
|
|
145
145
|
openOptions?: Partial<STTAdapterOpenOptions> | ((fixture: VoiceTestFixture) => Partial<STTAdapterOpenOptions> | undefined);
|
|
146
146
|
};
|
|
147
147
|
export declare const resolveFixtureEnvironment: (fixture: Pick<VoiceTestFixture, "language" | "tags">) => VoiceSTTFixtureEnvironment;
|
|
148
|
-
export declare const summarizeSTTBenchmark: (adapterId: string, fixtures: VoiceSTTBenchmarkFixtureResult[]) => VoiceSTTBenchmarkSummary;
|
|
149
|
-
export declare const evaluateSTTBenchmarkAcceptance: (report: VoiceSTTBenchmarkReport, thresholds?: VoiceSTTBenchmarkAcceptanceThresholds) => VoiceSTTBenchmarkAcceptanceResult;
|
|
150
148
|
export declare const compareSTTBenchmarks: (reports: VoiceSTTBenchmarkReport[]) => VoiceSTTBenchmarkComparison;
|
|
151
|
-
export declare const
|
|
149
|
+
export declare const evaluateSTTBenchmarkAcceptance: (report: VoiceSTTBenchmarkReport, thresholds?: VoiceSTTBenchmarkAcceptanceThresholds) => VoiceSTTBenchmarkAcceptanceResult;
|
|
150
|
+
export declare const runSTTAdapterBenchmark: ({ adapter, adapterId, fixtures, options, }: {
|
|
152
151
|
adapter: STTAdapter;
|
|
153
152
|
adapterId: string;
|
|
154
153
|
fixtures: VoiceTestFixture[];
|
|
155
154
|
options?: VoiceSTTBenchmarkOptions;
|
|
156
155
|
}) => Promise<VoiceSTTBenchmarkReport>;
|
|
157
|
-
export declare const
|
|
158
|
-
adapterId: string;
|
|
159
|
-
reports: VoiceSTTBenchmarkReport[];
|
|
160
|
-
}) => VoiceSTTBenchmarkSeriesReport;
|
|
161
|
-
export declare const runSTTAdapterBenchmarkSeries: ({ adapter, adapterId, fixtures, options, runs }: {
|
|
156
|
+
export declare const runSTTAdapterBenchmarkSeries: ({ adapter, adapterId, fixtures, options, runs, }: {
|
|
162
157
|
adapter: STTAdapter;
|
|
163
158
|
adapterId: string;
|
|
164
159
|
fixtures: VoiceTestFixture[];
|
|
165
160
|
options?: VoiceSTTBenchmarkOptions;
|
|
166
161
|
runs: number;
|
|
167
162
|
}) => Promise<VoiceSTTBenchmarkSeriesReport>;
|
|
163
|
+
export declare const summarizeSTTBenchmark: (adapterId: string, fixtures: VoiceSTTBenchmarkFixtureResult[]) => VoiceSTTBenchmarkSummary;
|
|
164
|
+
export declare const summarizeSTTBenchmarkSeries: (input: {
|
|
165
|
+
adapterId: string;
|
|
166
|
+
reports: VoiceSTTBenchmarkReport[];
|
|
167
|
+
}) => VoiceSTTBenchmarkSeriesReport;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { VoiceLexiconEntry, VoicePhraseHint, VoiceTurnCorrectionHandler } from
|
|
2
|
-
import { type VoiceExpectedTermAccuracy, type VoiceSTTBenchmarkReport } from
|
|
3
|
-
import type { VoiceSessionBenchmarkReport } from
|
|
4
|
-
import type { VoiceTestFixture } from
|
|
5
|
-
export type VoiceCorrectionHintProfile =
|
|
1
|
+
import type { VoiceLexiconEntry, VoicePhraseHint, VoiceTurnCorrectionHandler } from "../core/types";
|
|
2
|
+
import { type VoiceExpectedTermAccuracy, type VoiceSTTBenchmarkReport } from "./benchmark";
|
|
3
|
+
import type { VoiceSessionBenchmarkReport } from "./sessionBenchmark";
|
|
4
|
+
import type { VoiceTestFixture } from "./fixtures";
|
|
5
|
+
export type VoiceCorrectionHintProfile = "generic" | "benchmark-seeded";
|
|
6
6
|
type VoiceCorrectionAuditSlice<TReport> = {
|
|
7
7
|
fixtureIds: string[];
|
|
8
8
|
raw: TReport;
|
|
@@ -28,14 +28,14 @@ export type VoiceSessionCorrectionAudit = {
|
|
|
28
28
|
};
|
|
29
29
|
export declare const isCorrectionHoldoutFixtureId: (fixtureId: string) => boolean;
|
|
30
30
|
export declare const buildFixturePhraseHints: (fixture: Pick<VoiceTestFixture, "expectedTerms" | "expectedText">, profile?: VoiceCorrectionHintProfile) => VoicePhraseHint[];
|
|
31
|
+
export declare const applyCorrectedBenchmarkReport: (report: VoiceSTTBenchmarkReport, fixtures: VoiceTestFixture[], profile?: VoiceCorrectionHintProfile) => VoiceSTTBenchmarkReport;
|
|
32
|
+
export declare const applyExperimentalBenchmarkReport: (report: VoiceSTTBenchmarkReport, fixtures: VoiceTestFixture[]) => VoiceSTTBenchmarkReport;
|
|
33
|
+
export declare const applyLexiconCorrectedBenchmarkReport: (report: VoiceSTTBenchmarkReport, fixtures: VoiceTestFixture[], buildLexicon: (fixture: Pick<VoiceTestFixture, "expectedTerms" | "expectedText" | "language" | "tags">) => VoiceLexiconEntry[]) => VoiceSTTBenchmarkReport;
|
|
31
34
|
export declare const buildCodeSwitchBenchmarkLexicon: (fixture: Pick<VoiceTestFixture, "expectedTerms" | "expectedText" | "language" | "tags">) => VoiceLexiconEntry[];
|
|
32
35
|
export declare const buildCodeSwitchBenchmarkPhraseHints: (fixture: Pick<VoiceTestFixture, "expectedTerms" | "expectedText" | "language" | "tags">) => VoicePhraseHint[];
|
|
33
|
-
export declare const createCodeSwitchBenchmarkCorrectionHandler: () => VoiceTurnCorrectionHandler;
|
|
34
36
|
export declare const createBenchmarkCorrectionHandler: (profile: VoiceCorrectionHintProfile) => VoiceTurnCorrectionHandler;
|
|
37
|
+
export declare const createCodeSwitchBenchmarkCorrectionHandler: () => VoiceTurnCorrectionHandler;
|
|
35
38
|
export declare const scoreCorrectedExpectedTerms: (actualText: string, expectedTerms: string[] | undefined) => VoiceExpectedTermAccuracy;
|
|
36
|
-
export declare const applyCorrectedBenchmarkReport: (report: VoiceSTTBenchmarkReport, fixtures: VoiceTestFixture[], profile?: VoiceCorrectionHintProfile) => VoiceSTTBenchmarkReport;
|
|
37
|
-
export declare const applyExperimentalBenchmarkReport: (report: VoiceSTTBenchmarkReport, fixtures: VoiceTestFixture[]) => VoiceSTTBenchmarkReport;
|
|
38
|
-
export declare const applyLexiconCorrectedBenchmarkReport: (report: VoiceSTTBenchmarkReport, fixtures: VoiceTestFixture[], buildLexicon: (fixture: Pick<VoiceTestFixture, "expectedTerms" | "expectedText" | "language" | "tags">) => VoiceLexiconEntry[]) => VoiceSTTBenchmarkReport;
|
|
39
39
|
export declare const buildCorrectionBenchmarkAudit: (rawReport: VoiceSTTBenchmarkReport, fixtures: VoiceTestFixture[]) => VoiceCorrectionBenchmarkAudit;
|
|
40
40
|
export declare const buildSessionCorrectionAudit: (raw: VoiceSessionBenchmarkReport, generic: VoiceSessionBenchmarkReport, experimental: VoiceSessionBenchmarkReport, benchmarkSeeded: VoiceSessionBenchmarkReport, scenarios: Array<Pick<VoiceTestFixture, "expectedTerms" | "expectedText" | "expectedTurnTexts" | "id">>) => VoiceSessionCorrectionAudit;
|
|
41
41
|
export {};
|