@absolutejs/voice 0.0.22-beta.6 → 0.0.22-beta.600
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 +4518 -951
- package/dist/angular/index.d.ts +36 -2
- package/dist/angular/index.js +4610 -320
- 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 +12 -0
- 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 +7 -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 +12 -0
- package/dist/client/actions.d.ts +150 -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 +9 -1
- 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 +1383 -80
- package/dist/client/htmxDashboardRenderers.d.ts +71 -0
- package/dist/client/index.d.ts +107 -7
- package/dist/client/index.js +11063 -103
- 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 +40 -0
- package/dist/client/platformCoverage.d.ts +21 -0
- package/dist/client/platformCoverageWidget.d.ts +38 -0
- package/dist/client/profileComparison.d.ts +21 -0
- package/dist/client/profileComparisonWidget.d.ts +41 -0
- package/dist/client/profileSwitchRecommendation.d.ts +21 -0
- package/dist/client/profileSwitchRecommendationWidget.d.ts +12 -0
- package/dist/client/proofTrends.d.ts +21 -0
- package/dist/client/proofTrendsWidget.d.ts +38 -0
- package/dist/client/providerCapabilities.d.ts +21 -0
- package/dist/client/providerCapabilitiesWidget.d.ts +32 -0
- package/dist/client/providerContracts.d.ts +21 -0
- package/dist/client/providerContractsWidget.d.ts +37 -0
- package/dist/client/providerSimulationControls.d.ts +33 -0
- package/dist/client/providerSimulationControlsWidget.d.ts +20 -0
- package/dist/client/providerStatus.d.ts +21 -0
- package/dist/client/providerStatusWidget.d.ts +32 -0
- package/dist/client/reactiveSource.d.ts +8 -0
- package/dist/client/readinessFailures.d.ts +21 -0
- package/dist/client/readinessFailuresWidget.d.ts +42 -0
- package/dist/client/reconnectProfileEvidence.d.ts +21 -0
- package/dist/client/reconnectProfileEvidenceWidget.d.ts +39 -0
- package/dist/client/replayTimeline.d.ts +26 -0
- package/dist/client/routingStatus.d.ts +21 -0
- package/dist/client/routingStatusWidget.d.ts +32 -0
- package/dist/client/sessionObservability.d.ts +21 -0
- package/dist/client/sessionObservabilityWidget.d.ts +31 -0
- package/dist/client/sessionSnapshot.d.ts +23 -0
- package/dist/client/sessionSnapshotWidget.d.ts +33 -0
- package/dist/client/store.d.ts +1 -1
- package/dist/client/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 +21 -0
- package/dist/{agent.d.ts → core/agent.d.ts} +109 -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/core/assistantHealth.d.ts +81 -0
- 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 +24 -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/core/diagnosticsRoutes.d.ts +44 -0
- package/dist/core/dncRegistry.d.ts +38 -0
- package/dist/core/dtmfCollector.d.ts +37 -0
- package/dist/core/evalRoutes.d.ts +219 -0
- package/dist/{fileStore.d.ts → core/fileStore.d.ts} +34 -20
- package/dist/core/guardrails.d.ts +128 -0
- package/dist/core/handoff.d.ts +54 -0
- package/dist/core/handoffHealth.d.ts +94 -0
- 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/core/modelAdapters.d.ts +159 -0
- 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/core/opsConsoleRoutes.d.ts +80 -0
- 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/core/opsWebhook.d.ts +126 -0
- 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/core/providerAdapters.d.ts +48 -0
- package/dist/core/providerCapabilities.d.ts +92 -0
- package/dist/core/providerDecisionTraces.d.ts +130 -0
- package/dist/core/providerHealth.d.ts +89 -0
- 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/core/qualityRoutes.d.ts +76 -0
- package/dist/{queue.d.ts → core/queue.d.ts} +90 -29
- 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/core/resilienceRoutes.d.ts +146 -0
- 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/core/sessionReplay.d.ts +187 -0
- 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 +1504 -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/core/workflowContract.d.ts +91 -0
- 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 -46
- package/dist/index.js +47984 -4451
- 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 +6 -0
- package/dist/react/VoicePlatformCoverage.d.ts +6 -0
- package/dist/react/VoiceProfileComparison.d.ts +6 -0
- package/dist/react/VoiceProfileSwitchRecommendation.d.ts +6 -0
- package/dist/react/VoiceProofTrends.d.ts +6 -0
- package/dist/react/VoiceProviderCapabilities.d.ts +6 -0
- package/dist/react/VoiceProviderContracts.d.ts +6 -0
- package/dist/react/VoiceProviderSimulationControls.d.ts +5 -0
- package/dist/react/VoiceProviderStatus.d.ts +6 -0
- package/dist/react/VoiceReadinessFailures.d.ts +6 -0
- package/dist/react/VoiceReconnectProfileEvidence.d.ts +6 -0
- package/dist/react/VoiceReplayTimeline.d.ts +6 -0
- package/dist/react/VoiceRoutingStatus.d.ts +6 -0
- package/dist/react/VoiceSessionObservability.d.ts +6 -0
- package/dist/react/VoiceSessionSnapshot.d.ts +6 -0
- package/dist/react/VoiceTraceTimeline.d.ts +6 -0
- package/dist/react/VoiceTurnLatency.d.ts +6 -0
- package/dist/react/VoiceTurnQuality.d.ts +6 -0
- package/dist/react/VoiceWidget.d.ts +13 -0
- package/dist/react/index.d.ts +80 -2
- package/dist/react/index.js +13488 -252
- 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 +7 -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 +8 -0
- 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 +7 -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 +8 -0
- 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 +9 -0
- 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 +10 -0
- package/dist/svelte/createVoiceReadinessFailures.d.ts +7 -0
- package/dist/svelte/createVoiceReconnectProfileEvidence.d.ts +7 -0
- package/dist/svelte/createVoiceReplayTimeline.d.ts +13 -0
- package/dist/svelte/createVoiceRoutingStatus.d.ts +10 -0
- package/dist/svelte/createVoiceSessionObservability.d.ts +10 -0
- package/dist/svelte/createVoiceSessionSnapshot.d.ts +11 -0
- package/dist/svelte/createVoiceStream.d.ts +1 -1
- package/dist/svelte/createVoiceTraceTimeline.d.ts +10 -0
- package/dist/svelte/createVoiceTurnLatency.d.ts +11 -0
- package/dist/svelte/createVoiceTurnQuality.d.ts +10 -0
- package/dist/svelte/createVoiceWidget.d.ts +19 -0
- package/dist/svelte/createVoiceWorkflowStatus.d.ts +8 -0
- package/dist/svelte/index.d.ts +37 -2
- package/dist/svelte/index.js +7013 -222
- 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 -11
- package/dist/testing/index.js +10720 -2970
- package/dist/testing/ioProviderSimulator.d.ts +41 -0
- package/dist/testing/providerSimulator.d.ts +44 -0
- 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 +34 -0
- package/dist/vue/VoicePlatformCoverage.d.ts +27 -0
- package/dist/vue/VoiceProofTrends.d.ts +25 -0
- package/dist/vue/VoiceProviderCapabilities.d.ts +55 -0
- package/dist/vue/VoiceProviderContracts.d.ts +25 -0
- package/dist/vue/VoiceProviderSimulationControls.d.ts +88 -0
- package/dist/vue/VoiceProviderStatus.d.ts +55 -0
- package/dist/vue/VoiceReadinessFailures.d.ts +25 -0
- package/dist/vue/VoiceReconnectProfileEvidence.d.ts +25 -0
- package/dist/vue/VoiceReplayTimeline.d.ts +17 -0
- package/dist/vue/VoiceRoutingStatus.d.ts +55 -0
- package/dist/vue/VoiceSessionObservability.d.ts +27 -0
- package/dist/vue/VoiceSessionSnapshot.d.ts +72 -0
- package/dist/vue/VoiceTurnLatency.d.ts +73 -0
- package/dist/vue/VoiceTurnQuality.d.ts +55 -0
- package/dist/vue/VoiceWidget.d.ts +77 -0
- package/dist/vue/index.d.ts +49 -2
- package/dist/vue/index.js +13420 -958
- 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 +24 -0
- package/dist/vue/useVoiceProviderStatus.d.ts +9 -0
- 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 +11 -5
- 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 +9 -0
- package/package.json +155 -256
- package/dist/modelAdapters.d.ts +0 -39
- package/dist/turnProfiles.d.ts +0 -6
- package/dist/types.d.ts +0 -886
- 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,43 @@
|
|
|
1
|
+
export type VoiceReminderChannel = "call" | "sms" | "email";
|
|
2
|
+
export type VoiceReminderTrigger = {
|
|
3
|
+
id: string;
|
|
4
|
+
channel: VoiceReminderChannel;
|
|
5
|
+
offsetMinutesBeforeStart: number;
|
|
6
|
+
templateId?: string;
|
|
7
|
+
retryOnFailure?: boolean;
|
|
8
|
+
};
|
|
9
|
+
export type VoiceReminderJob = {
|
|
10
|
+
id: string;
|
|
11
|
+
appointmentId: string;
|
|
12
|
+
triggerId: string;
|
|
13
|
+
channel: VoiceReminderChannel;
|
|
14
|
+
scheduledAtMs: number;
|
|
15
|
+
status: "pending" | "in-flight" | "sent" | "skipped" | "failed" | "cancelled";
|
|
16
|
+
attempts: number;
|
|
17
|
+
lastError?: string;
|
|
18
|
+
metadata?: Record<string, string>;
|
|
19
|
+
};
|
|
20
|
+
export type ScheduleVoiceRemindersInput = {
|
|
21
|
+
appointmentId: string;
|
|
22
|
+
appointmentStartMs: number;
|
|
23
|
+
triggers: VoiceReminderTrigger[];
|
|
24
|
+
metadata?: Record<string, string>;
|
|
25
|
+
};
|
|
26
|
+
export type CreateVoiceReminderSchedulerOptions = {
|
|
27
|
+
generateJobId?: () => string;
|
|
28
|
+
now?: () => number;
|
|
29
|
+
defaultTriggers?: VoiceReminderTrigger[];
|
|
30
|
+
maxAttempts?: number;
|
|
31
|
+
};
|
|
32
|
+
export declare const DEFAULT_VOICE_REMINDER_TRIGGERS: VoiceReminderTrigger[];
|
|
33
|
+
export declare const createVoiceReminderScheduler: (options?: CreateVoiceReminderSchedulerOptions) => {
|
|
34
|
+
cancelForAppointment: (appointmentId: string) => number;
|
|
35
|
+
due: (at?: number) => VoiceReminderJob[];
|
|
36
|
+
markFailed: (jobId: string, error: string) => boolean;
|
|
37
|
+
markInFlight: (jobId: string) => boolean;
|
|
38
|
+
markSent: (jobId: string) => boolean;
|
|
39
|
+
schedule: (input: ScheduleVoiceRemindersInput) => VoiceReminderJob[];
|
|
40
|
+
list: (appointmentId?: string) => VoiceReminderJob[];
|
|
41
|
+
subscribe(listener: (job: VoiceReminderJob) => void): () => void;
|
|
42
|
+
};
|
|
43
|
+
export type VoiceReminderScheduler = ReturnType<typeof createVoiceReminderScheduler>;
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { Elysia } from "elysia";
|
|
2
|
+
import { type VoiceProviderHealthSummary } from "./providerHealth";
|
|
3
|
+
import type { StoredVoiceTraceEvent, VoiceTraceEventStore } from "./trace";
|
|
4
|
+
import type { VoiceIOProviderFailureSimulationMode, VoiceIOProviderFailureSimulationResult } from "../testing/ioProviderSimulator";
|
|
5
|
+
export type VoiceRoutingEventKind = "llm" | "stt" | "tts";
|
|
6
|
+
export type VoiceRoutingEvent = {
|
|
7
|
+
at: number;
|
|
8
|
+
attempt?: number;
|
|
9
|
+
elapsedMs?: number;
|
|
10
|
+
error?: string;
|
|
11
|
+
fallbackProvider?: string;
|
|
12
|
+
kind: VoiceRoutingEventKind;
|
|
13
|
+
latencyBudgetMs?: number;
|
|
14
|
+
operation?: string;
|
|
15
|
+
profileId?: string;
|
|
16
|
+
profileLabel?: string;
|
|
17
|
+
provider?: string;
|
|
18
|
+
providerRoutes?: Record<string, string>;
|
|
19
|
+
routing?: string;
|
|
20
|
+
scenarioId?: string;
|
|
21
|
+
selectedProvider?: string;
|
|
22
|
+
sessionId: string;
|
|
23
|
+
status?: string;
|
|
24
|
+
suppressionRemainingMs?: number;
|
|
25
|
+
timedOut: boolean;
|
|
26
|
+
turnId?: string;
|
|
27
|
+
};
|
|
28
|
+
export type VoiceRoutingDecisionSummary = VoiceRoutingEvent;
|
|
29
|
+
export type VoiceRoutingDecisionSummaryOptions = {
|
|
30
|
+
kind?: VoiceRoutingEventKind;
|
|
31
|
+
limit?: number;
|
|
32
|
+
sessionId?: string;
|
|
33
|
+
store: VoiceTraceEventStore;
|
|
34
|
+
};
|
|
35
|
+
export type VoiceRoutingKindSummary = {
|
|
36
|
+
errorCount: number;
|
|
37
|
+
fallbackCount: number;
|
|
38
|
+
latest?: VoiceRoutingEvent;
|
|
39
|
+
providers: string[];
|
|
40
|
+
runCount: number;
|
|
41
|
+
timeoutCount: number;
|
|
42
|
+
};
|
|
43
|
+
export type VoiceRoutingSessionSummary = {
|
|
44
|
+
errorCount: number;
|
|
45
|
+
eventCount: number;
|
|
46
|
+
fallbackCount: number;
|
|
47
|
+
kinds: Record<VoiceRoutingEventKind, VoiceRoutingKindSummary>;
|
|
48
|
+
lastEventAt: number;
|
|
49
|
+
sessionId: string;
|
|
50
|
+
startedAt: number;
|
|
51
|
+
status: "healthy" | "fallback" | "degraded";
|
|
52
|
+
timeoutCount: number;
|
|
53
|
+
};
|
|
54
|
+
export type VoiceRoutingSessionSummaryOptions = {
|
|
55
|
+
limit?: number;
|
|
56
|
+
sessionId?: string;
|
|
57
|
+
};
|
|
58
|
+
export type VoiceResilienceLink = {
|
|
59
|
+
href: string;
|
|
60
|
+
label: string;
|
|
61
|
+
};
|
|
62
|
+
export type VoiceResilienceSimulationProvider<TProvider extends string = string> = {
|
|
63
|
+
configured?: boolean;
|
|
64
|
+
provider: TProvider;
|
|
65
|
+
};
|
|
66
|
+
export type VoiceResilienceIOSimulator<TProvider extends string = string> = {
|
|
67
|
+
failureProviders?: readonly TProvider[];
|
|
68
|
+
fallbackRequiredProvider?: TProvider;
|
|
69
|
+
fallbackRequiredMessage?: string;
|
|
70
|
+
failureMessage?: string;
|
|
71
|
+
label?: string;
|
|
72
|
+
pathPrefix?: string;
|
|
73
|
+
providers: readonly VoiceResilienceSimulationProvider<TProvider>[];
|
|
74
|
+
recoveryMessage?: string;
|
|
75
|
+
run: (provider: TProvider, mode: VoiceIOProviderFailureSimulationMode) => Promise<VoiceIOProviderFailureSimulationResult<TProvider>>;
|
|
76
|
+
};
|
|
77
|
+
export type VoiceResiliencePageData = {
|
|
78
|
+
links?: readonly VoiceResilienceLink[];
|
|
79
|
+
llmProviderHealth: VoiceProviderHealthSummary<string>[];
|
|
80
|
+
routingEvents: VoiceRoutingEvent[];
|
|
81
|
+
routingSessions: VoiceRoutingSessionSummary[];
|
|
82
|
+
sttProviderHealth: VoiceProviderHealthSummary<string>[];
|
|
83
|
+
sttSimulation?: VoiceResilienceIOSimulator<string>;
|
|
84
|
+
title?: string;
|
|
85
|
+
ttsProviderHealth: VoiceProviderHealthSummary<string>[];
|
|
86
|
+
ttsSimulation?: VoiceResilienceIOSimulator<string>;
|
|
87
|
+
};
|
|
88
|
+
export type VoiceResilienceRoutesOptions = {
|
|
89
|
+
headers?: HeadersInit;
|
|
90
|
+
links?: readonly VoiceResilienceLink[];
|
|
91
|
+
llmProviders?: readonly string[];
|
|
92
|
+
name?: string;
|
|
93
|
+
path?: string;
|
|
94
|
+
render?: (input: VoiceResiliencePageData) => string | Promise<string>;
|
|
95
|
+
sttProviders?: readonly string[];
|
|
96
|
+
sttSimulation?: VoiceResilienceIOSimulator<string>;
|
|
97
|
+
store: VoiceTraceEventStore;
|
|
98
|
+
title?: string;
|
|
99
|
+
ttsProviders?: readonly string[];
|
|
100
|
+
ttsSimulation?: VoiceResilienceIOSimulator<string>;
|
|
101
|
+
};
|
|
102
|
+
export declare const listVoiceRoutingEvents: (events: StoredVoiceTraceEvent[]) => VoiceRoutingEvent[];
|
|
103
|
+
export declare const summarizeVoiceRoutingDecision: (events: StoredVoiceTraceEvent[], options?: Omit<VoiceRoutingDecisionSummaryOptions, "store">) => VoiceRoutingDecisionSummary | null;
|
|
104
|
+
export declare const createVoiceRoutingDecisionSummary: (options: VoiceRoutingDecisionSummaryOptions) => Promise<VoiceRoutingDecisionSummary | null>;
|
|
105
|
+
export declare const summarizeVoiceRoutingSessions: (events: StoredVoiceTraceEvent[] | VoiceRoutingEvent[], options?: VoiceRoutingSessionSummaryOptions) => VoiceRoutingSessionSummary[];
|
|
106
|
+
export declare const renderVoiceResilienceHTML: (input: VoiceResiliencePageData) => string;
|
|
107
|
+
export declare const createVoiceResilienceRoutes: (options: VoiceResilienceRoutesOptions) => Elysia<"", {
|
|
108
|
+
decorator: {};
|
|
109
|
+
store: {};
|
|
110
|
+
derive: {};
|
|
111
|
+
resolve: {};
|
|
112
|
+
}, {
|
|
113
|
+
typebox: {};
|
|
114
|
+
error: {};
|
|
115
|
+
}, {
|
|
116
|
+
schema: {};
|
|
117
|
+
standaloneSchema: {};
|
|
118
|
+
macro: {};
|
|
119
|
+
macroFn: {};
|
|
120
|
+
parser: {};
|
|
121
|
+
response: {};
|
|
122
|
+
}, {
|
|
123
|
+
[x: string]: {
|
|
124
|
+
get: {
|
|
125
|
+
body: unknown;
|
|
126
|
+
params: {};
|
|
127
|
+
query: unknown;
|
|
128
|
+
headers: unknown;
|
|
129
|
+
response: {
|
|
130
|
+
200: Response;
|
|
131
|
+
};
|
|
132
|
+
};
|
|
133
|
+
};
|
|
134
|
+
}, {
|
|
135
|
+
derive: {};
|
|
136
|
+
resolve: {};
|
|
137
|
+
schema: {};
|
|
138
|
+
standaloneSchema: {};
|
|
139
|
+
response: {};
|
|
140
|
+
}, {
|
|
141
|
+
derive: {};
|
|
142
|
+
resolve: {};
|
|
143
|
+
schema: {};
|
|
144
|
+
standaloneSchema: {};
|
|
145
|
+
response: {};
|
|
146
|
+
}>;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export type VoiceRetentionPolicyOptions = {
|
|
2
|
+
/** Maximum age in milliseconds; events older than this are eligible for purge. */
|
|
3
|
+
maxAgeMs: number;
|
|
4
|
+
/** Optional override that returns the timestamp for an event. Defaults to event.at. */
|
|
5
|
+
resolveAt?: (event: unknown) => number | undefined;
|
|
6
|
+
};
|
|
7
|
+
export type VoiceRetentionStore<TRecord extends {
|
|
8
|
+
id: string;
|
|
9
|
+
}> = {
|
|
10
|
+
list: (filter?: Record<string, unknown>) => Promise<TRecord[]> | TRecord[];
|
|
11
|
+
remove: (id: string) => Promise<void> | void;
|
|
12
|
+
};
|
|
13
|
+
export type VoicePurgeReport = {
|
|
14
|
+
attempted: number;
|
|
15
|
+
failed: number;
|
|
16
|
+
purgedIds: string[];
|
|
17
|
+
reason: "expired" | "manual";
|
|
18
|
+
removed: number;
|
|
19
|
+
};
|
|
20
|
+
export declare const purgeVoiceRetentionStore: <TRecord extends {
|
|
21
|
+
id: string;
|
|
22
|
+
}>(store: VoiceRetentionStore<TRecord>, options: VoiceRetentionPolicyOptions, now?: number) => Promise<VoicePurgeReport>;
|
|
23
|
+
export type VoiceRetentionScheduler = {
|
|
24
|
+
start: () => void;
|
|
25
|
+
stop: () => void;
|
|
26
|
+
};
|
|
27
|
+
export type CreateVoiceRetentionSchedulerOptions<TRecord extends {
|
|
28
|
+
id: string;
|
|
29
|
+
}> = {
|
|
30
|
+
intervalMs?: number;
|
|
31
|
+
onReport?: (report: VoicePurgeReport) => void;
|
|
32
|
+
policy: VoiceRetentionPolicyOptions;
|
|
33
|
+
store: VoiceRetentionStore<TRecord>;
|
|
34
|
+
};
|
|
35
|
+
export declare const createVoiceRetentionScheduler: <TRecord extends {
|
|
36
|
+
id: string;
|
|
37
|
+
}>(options: CreateVoiceRetentionSchedulerOptions<TRecord>) => VoiceRetentionScheduler;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export type VoiceRetryDispositionAction = "retry" | "abandon" | "escalate";
|
|
2
|
+
export type VoiceRetryDispositionRule = {
|
|
3
|
+
disposition: string;
|
|
4
|
+
action: VoiceRetryDispositionAction;
|
|
5
|
+
cooldownMs?: number;
|
|
6
|
+
maxAttemptsOverride?: number;
|
|
7
|
+
};
|
|
8
|
+
export type VoiceRetryAttempt = {
|
|
9
|
+
disposition: string;
|
|
10
|
+
at: number;
|
|
11
|
+
};
|
|
12
|
+
export type VoiceRetryDecision = {
|
|
13
|
+
action: "retry";
|
|
14
|
+
attemptNumber: number;
|
|
15
|
+
retryAt: number;
|
|
16
|
+
} | {
|
|
17
|
+
action: "abandon";
|
|
18
|
+
reason: "max-attempts" | "non-retryable" | "explicit";
|
|
19
|
+
} | {
|
|
20
|
+
action: "escalate";
|
|
21
|
+
reason: string;
|
|
22
|
+
};
|
|
23
|
+
export type CreateVoiceRetryPolicyOptions = {
|
|
24
|
+
maxAttempts?: number;
|
|
25
|
+
defaultCooldownMs?: number;
|
|
26
|
+
jitterMs?: number;
|
|
27
|
+
backoffMultiplier?: number;
|
|
28
|
+
rules?: VoiceRetryDispositionRule[];
|
|
29
|
+
escalateAfterAttempts?: number;
|
|
30
|
+
now?: () => number;
|
|
31
|
+
};
|
|
32
|
+
export declare const createVoiceRetryPolicy: (options?: CreateVoiceRetryPolicyOptions) => {
|
|
33
|
+
decide: (history: VoiceRetryAttempt[], lastDisposition: string) => VoiceRetryDecision;
|
|
34
|
+
maxAttempts: number;
|
|
35
|
+
rules: () => VoiceRetryDispositionRule[];
|
|
36
|
+
updateRule(rule: VoiceRetryDispositionRule): void;
|
|
37
|
+
};
|
|
38
|
+
export type VoiceRetryPolicy = ReturnType<typeof createVoiceRetryPolicy>;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Elysia } from "elysia";
|
|
2
|
+
export type VoiceRouteAuthDecision = {
|
|
3
|
+
allow: true;
|
|
4
|
+
} | {
|
|
5
|
+
allow: false;
|
|
6
|
+
reason: string;
|
|
7
|
+
status?: number;
|
|
8
|
+
};
|
|
9
|
+
export type VoiceRouteAuthInput = {
|
|
10
|
+
body?: string;
|
|
11
|
+
headers: Headers;
|
|
12
|
+
method: string;
|
|
13
|
+
url: string;
|
|
14
|
+
};
|
|
15
|
+
export type VoiceRouteAuthVerifier = (input: VoiceRouteAuthInput) => Promise<VoiceRouteAuthDecision> | VoiceRouteAuthDecision;
|
|
16
|
+
export type VoiceRouteAuthOptions = {
|
|
17
|
+
bypassPaths?: ReadonlyArray<string>;
|
|
18
|
+
name?: string;
|
|
19
|
+
verify: VoiceRouteAuthVerifier;
|
|
20
|
+
};
|
|
21
|
+
export declare const createVoiceBearerAuthVerifier: (input: {
|
|
22
|
+
expectedToken: string;
|
|
23
|
+
headerName?: string;
|
|
24
|
+
}) => VoiceRouteAuthVerifier;
|
|
25
|
+
export declare const createVoiceHMACAuthVerifier: (input: {
|
|
26
|
+
secret: string;
|
|
27
|
+
toleranceMs?: number;
|
|
28
|
+
}) => VoiceRouteAuthVerifier;
|
|
29
|
+
export declare const createVoiceRouteAuth: (options: VoiceRouteAuthOptions) => Elysia<"", {
|
|
30
|
+
decorator: {};
|
|
31
|
+
store: {};
|
|
32
|
+
derive: {};
|
|
33
|
+
resolve: {};
|
|
34
|
+
}, {
|
|
35
|
+
typebox: {};
|
|
36
|
+
error: {};
|
|
37
|
+
}, {
|
|
38
|
+
schema: {};
|
|
39
|
+
standaloneSchema: {};
|
|
40
|
+
macro: {};
|
|
41
|
+
macroFn: {};
|
|
42
|
+
parser: {};
|
|
43
|
+
response: {};
|
|
44
|
+
}, {}, {
|
|
45
|
+
derive: {};
|
|
46
|
+
resolve: {};
|
|
47
|
+
schema: {};
|
|
48
|
+
standaloneSchema: {};
|
|
49
|
+
response: {};
|
|
50
|
+
}, {
|
|
51
|
+
derive: {};
|
|
52
|
+
resolve: {};
|
|
53
|
+
schema: {};
|
|
54
|
+
standaloneSchema: {};
|
|
55
|
+
response: {
|
|
56
|
+
200: Response;
|
|
57
|
+
};
|
|
58
|
+
}>;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { VoiceSTTRoutingCorrectionMode, VoiceSTTRoutingGoal, VoiceSTTRoutingStrategy, VoiceTurnCorrectionHandler } from
|
|
2
|
-
export declare const resolveVoiceSTTRoutingStrategy: (goal?: VoiceSTTRoutingGoal) => VoiceSTTRoutingStrategy;
|
|
1
|
+
import type { VoiceSTTRoutingCorrectionMode, VoiceSTTRoutingGoal, VoiceSTTRoutingStrategy, VoiceTurnCorrectionHandler } from "./types";
|
|
3
2
|
export declare const createVoiceSTTRoutingCorrectionHandler: (mode?: VoiceSTTRoutingCorrectionMode) => VoiceTurnCorrectionHandler | undefined;
|
|
3
|
+
export declare const resolveVoiceSTTRoutingStrategy: (goal?: VoiceSTTRoutingGoal) => VoiceSTTRoutingStrategy;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { StoredVoiceCallReviewArtifact, VoiceCallReviewArtifact } from
|
|
2
|
-
import type { VoiceOpsTask } from
|
|
3
|
-
import type { VoiceCallDisposition, VoiceRuntimeOpsConfig, VoiceSessionHandle, VoiceSessionRecord } from
|
|
1
|
+
import type { StoredVoiceCallReviewArtifact, VoiceCallReviewArtifact } from "../testing/review";
|
|
2
|
+
import type { VoiceOpsTask } from "./ops";
|
|
3
|
+
import type { VoiceCallDisposition, VoiceRuntimeOpsConfig, VoiceSessionHandle, VoiceSessionRecord } from "./types";
|
|
4
4
|
export declare const createVoiceCallReviewFromSession: <TSession extends VoiceSessionRecord = VoiceSessionRecord>(input: {
|
|
5
5
|
disposition: VoiceCallDisposition;
|
|
6
6
|
generatedAt?: number;
|
|
@@ -1,14 +1,23 @@
|
|
|
1
|
-
import type { S3Client, S3Options } from
|
|
2
|
-
import type { StoredVoiceCallReviewArtifact, VoiceCallReviewStore } from
|
|
1
|
+
import type { S3Client, S3Options } from "bun";
|
|
2
|
+
import type { StoredVoiceCallReviewArtifact, VoiceCallReviewStore } from "../testing/review";
|
|
3
|
+
import type { VoiceRecordingStore } from "./recordingStore";
|
|
3
4
|
export type VoiceS3ReviewStoreFile = {
|
|
4
5
|
delete: () => Promise<void>;
|
|
5
6
|
exists: () => Promise<boolean>;
|
|
6
7
|
text: () => Promise<string>;
|
|
7
8
|
write: (data: string) => Promise<number>;
|
|
8
9
|
};
|
|
9
|
-
export type VoiceS3ReviewStoreClient = Pick<S3Client,
|
|
10
|
+
export type VoiceS3ReviewStoreClient = Pick<S3Client, "file" | "list">;
|
|
10
11
|
export type VoiceS3ReviewStoreOptions = S3Options & {
|
|
11
12
|
client?: VoiceS3ReviewStoreClient;
|
|
12
13
|
keyPrefix?: string;
|
|
13
14
|
};
|
|
14
15
|
export declare const createVoiceS3ReviewStore: <TArtifact extends StoredVoiceCallReviewArtifact = StoredVoiceCallReviewArtifact>(options: VoiceS3ReviewStoreOptions) => VoiceCallReviewStore<TArtifact>;
|
|
16
|
+
type VoiceS3RecordingStoreClient = Pick<S3Client, "file" | "list">;
|
|
17
|
+
type VoiceS3RecordingStoreOptions = S3Options & {
|
|
18
|
+
client?: VoiceS3RecordingStoreClient;
|
|
19
|
+
keyPrefix?: string;
|
|
20
|
+
publicUrlBase?: string;
|
|
21
|
+
};
|
|
22
|
+
export declare const createVoiceS3RecordingStore: (options: VoiceS3RecordingStoreOptions) => VoiceRecordingStore;
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { VoiceScorecard } from "./callScorecard";
|
|
2
|
+
export type VoiceScorecardCalibrationPair = {
|
|
3
|
+
sessionId: string;
|
|
4
|
+
human: VoiceScorecard;
|
|
5
|
+
llm: VoiceScorecard;
|
|
6
|
+
};
|
|
7
|
+
export type VoiceScorecardCalibrationDivergence = {
|
|
8
|
+
sessionId: string;
|
|
9
|
+
criterionId: string;
|
|
10
|
+
humanScore: number;
|
|
11
|
+
llmScore: number;
|
|
12
|
+
normalizedGap: number;
|
|
13
|
+
};
|
|
14
|
+
export type VoiceScorecardCalibrationReport = {
|
|
15
|
+
pairsCompared: number;
|
|
16
|
+
meanAbsoluteError: number;
|
|
17
|
+
rootMeanSquareError: number;
|
|
18
|
+
weightedScoreCorrelation: number;
|
|
19
|
+
gradeAgreementRate: number;
|
|
20
|
+
perCriterion: {
|
|
21
|
+
criterionId: string;
|
|
22
|
+
meanAbsoluteError: number;
|
|
23
|
+
averageHumanScore: number;
|
|
24
|
+
averageLLMScore: number;
|
|
25
|
+
bias: number;
|
|
26
|
+
}[];
|
|
27
|
+
worstDivergences: VoiceScorecardCalibrationDivergence[];
|
|
28
|
+
};
|
|
29
|
+
export declare const computeVoiceScorecardCalibration: (pairs: VoiceScorecardCalibrationPair[], options?: {
|
|
30
|
+
topDivergences?: number;
|
|
31
|
+
}) => VoiceScorecardCalibrationReport;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { AudioChunk, AudioFormat, STTAdapter, Transcript, VoiceCloseEvent, VoiceErrorEvent, VoiceLanguageStrategy, VoiceLexiconEntry, VoicePhraseHint } from "./types";
|
|
2
|
+
export type VoiceScribeTurn = {
|
|
3
|
+
speaker: string;
|
|
4
|
+
text: string;
|
|
5
|
+
confidence?: number;
|
|
6
|
+
startedAtMs?: number;
|
|
7
|
+
endedAtMs?: number;
|
|
8
|
+
};
|
|
9
|
+
export type VoiceScribePartialEvent = {
|
|
10
|
+
type: "partial";
|
|
11
|
+
transcript: Transcript;
|
|
12
|
+
};
|
|
13
|
+
export type VoiceScribeTurnEvent = {
|
|
14
|
+
type: "turn";
|
|
15
|
+
turn: VoiceScribeTurn;
|
|
16
|
+
};
|
|
17
|
+
export type VoiceScribeEventMap = {
|
|
18
|
+
partial: VoiceScribePartialEvent;
|
|
19
|
+
turn: VoiceScribeTurnEvent;
|
|
20
|
+
error: VoiceErrorEvent;
|
|
21
|
+
close: VoiceCloseEvent;
|
|
22
|
+
};
|
|
23
|
+
export type VoiceScribeSession = {
|
|
24
|
+
on: <K extends keyof VoiceScribeEventMap>(event: K, handler: (payload: VoiceScribeEventMap[K]) => void | Promise<void>) => () => void;
|
|
25
|
+
/** Push a chunk of audio (same format declared in `open`). */
|
|
26
|
+
send: (audio: AudioChunk) => Promise<void>;
|
|
27
|
+
/** All finalized, speaker-labelled turns so far, in order. */
|
|
28
|
+
getTranscript: () => VoiceScribeTurn[];
|
|
29
|
+
close: (reason?: string) => Promise<void>;
|
|
30
|
+
};
|
|
31
|
+
export type VoiceScribeOptions = {
|
|
32
|
+
stt: STTAdapter;
|
|
33
|
+
sessionId: string;
|
|
34
|
+
format: AudioFormat;
|
|
35
|
+
languageStrategy?: VoiceLanguageStrategy;
|
|
36
|
+
lexicon?: VoiceLexiconEntry[];
|
|
37
|
+
phraseHints?: VoicePhraseHint[];
|
|
38
|
+
signal?: AbortSignal;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* A listen-only transcription session — a "scribe". It drives an STT adapter
|
|
42
|
+
* over a stream of audio chunks and emits diarized transcript turns, with NO
|
|
43
|
+
* assistant (no LLM) and NO TTS. Use it to turn any audio source — an
|
|
44
|
+
* onSpark-hosted meeting, or a meeting-bot adapter piping in an external call —
|
|
45
|
+
* into a live, speaker-labelled transcript that downstream consumers (e.g. a
|
|
46
|
+
* deal-call analyzer) read or act on. Diarization comes from the STT adapter
|
|
47
|
+
* (e.g. `deepgram({ diarize: true })`); speakers are surfaced as stable string
|
|
48
|
+
* labels on each turn.
|
|
49
|
+
*/
|
|
50
|
+
export declare const createVoiceScribe: (options: VoiceScribeOptions) => Promise<VoiceScribeSession>;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { AudioFormat, Transcript } from "./types";
|
|
2
|
+
export type VoiceSemanticTurnInput = {
|
|
3
|
+
audioLevel?: number;
|
|
4
|
+
lastFinalTranscript?: Transcript;
|
|
5
|
+
partialText: string;
|
|
6
|
+
silenceMs: number;
|
|
7
|
+
transcripts: Transcript[];
|
|
8
|
+
/**
|
|
9
|
+
* The current turn's buffered user audio (PCM chunks, oldest→newest) and its
|
|
10
|
+
* format. Lets an AUDIO-based end-of-turn detector (e.g. a smart-turn / Whisper
|
|
11
|
+
* EOT model) judge completion from prosody — pitch, pace, trailing intonation —
|
|
12
|
+
* which a transcript-only judge fundamentally cannot see. Undefined when no
|
|
13
|
+
* audio was buffered for the turn (the runtime only stores chunks above the
|
|
14
|
+
* speech threshold).
|
|
15
|
+
*/
|
|
16
|
+
turnAudio?: ReadonlyArray<Uint8Array>;
|
|
17
|
+
turnAudioFormat?: AudioFormat;
|
|
18
|
+
};
|
|
19
|
+
export type VoiceSemanticTurnVerdict = {
|
|
20
|
+
confidence?: number;
|
|
21
|
+
endOfTurn: boolean;
|
|
22
|
+
reason?: string;
|
|
23
|
+
};
|
|
24
|
+
export type VoiceSemanticTurnDetector = {
|
|
25
|
+
evaluate: (input: VoiceSemanticTurnInput) => Promise<VoiceSemanticTurnVerdict> | VoiceSemanticTurnVerdict;
|
|
26
|
+
};
|
|
27
|
+
export type CreatePunctuationSemanticTurnDetectorOptions = {
|
|
28
|
+
endPunctuation?: ReadonlyArray<string>;
|
|
29
|
+
fillerWords?: ReadonlyArray<string>;
|
|
30
|
+
minPartialWords?: number;
|
|
31
|
+
};
|
|
32
|
+
export declare const createPunctuationSemanticTurnDetector: (options?: CreatePunctuationSemanticTurnDetectorOptions) => VoiceSemanticTurnDetector;
|
|
33
|
+
export type CreateRegexSemanticTurnDetectorOptions = {
|
|
34
|
+
endPattern: RegExp;
|
|
35
|
+
minPartialWords?: number;
|
|
36
|
+
};
|
|
37
|
+
export declare const createRegexSemanticTurnDetector: (options: CreateRegexSemanticTurnDetectorOptions) => VoiceSemanticTurnDetector;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { CreateVoiceSessionOptions, VoiceSessionHandle, VoiceSessionRecord } from
|
|
1
|
+
import type { CreateVoiceSessionOptions, VoiceSessionHandle, VoiceSessionRecord } from "./types";
|
|
2
2
|
export declare const createVoiceSession: <TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown>(options: CreateVoiceSessionOptions<TContext, TSession, TResult>) => VoiceSessionHandle<TContext, TSession, TResult>;
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { Elysia } from "elysia";
|
|
2
|
+
import { type VoiceFailureReplayReport, type VoiceOperationsRecord, type VoiceOperationsRecordOptions } from "./operationsRecord";
|
|
3
|
+
import type { StoredVoiceTraceEvent } from "./trace";
|
|
4
|
+
export type VoiceSessionObservabilityStatus = "failed" | "healthy" | "warning";
|
|
5
|
+
export type VoiceSessionObservabilityLink = {
|
|
6
|
+
href: string;
|
|
7
|
+
label: string;
|
|
8
|
+
rel: "call-debugger" | "incident-markdown" | "operations-record" | "trace-timeline" | "custom";
|
|
9
|
+
};
|
|
10
|
+
export type VoiceSessionObservabilityStage = {
|
|
11
|
+
at: number;
|
|
12
|
+
elapsedMs?: number;
|
|
13
|
+
label: string;
|
|
14
|
+
offsetMs: number;
|
|
15
|
+
provider?: string;
|
|
16
|
+
status?: string;
|
|
17
|
+
type: StoredVoiceTraceEvent["type"];
|
|
18
|
+
};
|
|
19
|
+
export type VoiceSessionObservabilityTurn = {
|
|
20
|
+
assistantReplies: number;
|
|
21
|
+
durationMs?: number;
|
|
22
|
+
endedAt?: number;
|
|
23
|
+
errors: number;
|
|
24
|
+
providerDecisions: number;
|
|
25
|
+
stages: VoiceSessionObservabilityStage[];
|
|
26
|
+
startedAt?: number;
|
|
27
|
+
toolCalls: number;
|
|
28
|
+
transcripts: number;
|
|
29
|
+
turnId: string;
|
|
30
|
+
};
|
|
31
|
+
export type VoiceSessionObservabilityReport = {
|
|
32
|
+
checkedAt: number;
|
|
33
|
+
failureReplay: VoiceFailureReplayReport;
|
|
34
|
+
incidentMarkdown: string;
|
|
35
|
+
links: VoiceSessionObservabilityLink[];
|
|
36
|
+
record: VoiceOperationsRecord;
|
|
37
|
+
sessionId: string;
|
|
38
|
+
status: VoiceSessionObservabilityStatus;
|
|
39
|
+
summary: {
|
|
40
|
+
durationMs?: number;
|
|
41
|
+
errors: number;
|
|
42
|
+
events: number;
|
|
43
|
+
fallbacks: number;
|
|
44
|
+
guardrailBlocks: number;
|
|
45
|
+
handoffs: number;
|
|
46
|
+
providerRecoveryStatus: VoiceOperationsRecord["providerDecisionSummary"]["recoveryStatus"];
|
|
47
|
+
providers: string[];
|
|
48
|
+
telephonyMediaEvents: number;
|
|
49
|
+
toolCalls: number;
|
|
50
|
+
turns: number;
|
|
51
|
+
};
|
|
52
|
+
turns: VoiceSessionObservabilityTurn[];
|
|
53
|
+
};
|
|
54
|
+
export type VoiceSessionObservabilityEvidenceStatus = "pass" | "warn" | "fail";
|
|
55
|
+
export type VoiceSessionObservabilityEvidenceInput = {
|
|
56
|
+
requireHealthy?: boolean;
|
|
57
|
+
minStageCount?: number;
|
|
58
|
+
minTurns?: number;
|
|
59
|
+
minTurnWaterfalls?: number;
|
|
60
|
+
minProviderDecisions?: number;
|
|
61
|
+
minToolCalls?: number;
|
|
62
|
+
requireOperationsRecordLink?: boolean;
|
|
63
|
+
requireTraceTimelineLink?: boolean;
|
|
64
|
+
requireCallDebuggerLink?: boolean;
|
|
65
|
+
requireIncidentMarkdownLink?: boolean;
|
|
66
|
+
requireIncidentMarkdown?: boolean;
|
|
67
|
+
maxErrors?: number;
|
|
68
|
+
maxFallbacks?: number;
|
|
69
|
+
requireProviderRecoveryStatus?: VoiceOperationsRecord["providerDecisionSummary"]["recoveryStatus"] | readonly VoiceOperationsRecord["providerDecisionSummary"]["recoveryStatus"][];
|
|
70
|
+
};
|
|
71
|
+
export type VoiceSessionObservabilityEvidenceReport = {
|
|
72
|
+
checkedAt: number;
|
|
73
|
+
issues: string[];
|
|
74
|
+
ok: boolean;
|
|
75
|
+
status: VoiceSessionObservabilityEvidenceStatus;
|
|
76
|
+
summary: {
|
|
77
|
+
incidentMarkdownLength: number;
|
|
78
|
+
providerDecisions: number;
|
|
79
|
+
providerRecoveryStatus: VoiceOperationsRecord["providerDecisionSummary"]["recoveryStatus"];
|
|
80
|
+
reportStatus: VoiceSessionObservabilityStatus;
|
|
81
|
+
stages: number;
|
|
82
|
+
turns: number;
|
|
83
|
+
turnsWithWaterfalls: number;
|
|
84
|
+
toolCalls: number;
|
|
85
|
+
links: {
|
|
86
|
+
callDebugger: boolean;
|
|
87
|
+
incidentMarkdown: boolean;
|
|
88
|
+
operationsRecord: boolean;
|
|
89
|
+
traceTimeline: boolean;
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
export type VoiceSessionObservabilityReportOptions = Omit<VoiceOperationsRecordOptions, "sessionId"> & {
|
|
94
|
+
callDebuggerHref?: false | string | ((sessionId: string) => string);
|
|
95
|
+
customLinks?: readonly VoiceSessionObservabilityLink[];
|
|
96
|
+
incidentMarkdownHref?: false | string | ((sessionId: string) => string);
|
|
97
|
+
operationsRecordHref?: false | string | ((sessionId: string) => string);
|
|
98
|
+
sessionId: string;
|
|
99
|
+
traceTimelineHref?: false | string | ((sessionId: string) => string);
|
|
100
|
+
};
|
|
101
|
+
export type VoiceSessionObservabilityRoutesOptions = Omit<VoiceSessionObservabilityReportOptions, "sessionId"> & {
|
|
102
|
+
headers?: HeadersInit;
|
|
103
|
+
htmlPath?: false | string;
|
|
104
|
+
incidentPath?: false | string;
|
|
105
|
+
name?: string;
|
|
106
|
+
path?: string;
|
|
107
|
+
render?: (report: VoiceSessionObservabilityReport) => Promise<string> | string;
|
|
108
|
+
renderIncidentMarkdown?: (report: VoiceSessionObservabilityReport) => Promise<string> | string;
|
|
109
|
+
title?: string;
|
|
110
|
+
};
|
|
111
|
+
export declare const buildVoiceSessionObservabilityReport: (options: VoiceSessionObservabilityReportOptions) => Promise<VoiceSessionObservabilityReport>;
|
|
112
|
+
export declare const renderVoiceSessionObservabilityHTML: (report: VoiceSessionObservabilityReport, options?: {
|
|
113
|
+
title?: string;
|
|
114
|
+
}) => string;
|
|
115
|
+
export declare const renderVoiceSessionObservabilityMarkdown: (report: VoiceSessionObservabilityReport) => string;
|
|
116
|
+
export declare const assertVoiceSessionObservabilityEvidence: (report: VoiceSessionObservabilityReport, input?: VoiceSessionObservabilityEvidenceInput) => VoiceSessionObservabilityEvidenceReport;
|
|
117
|
+
export declare const createVoiceSessionObservabilityRoutes: (options: VoiceSessionObservabilityRoutesOptions) => Elysia<"", {
|
|
118
|
+
decorator: {};
|
|
119
|
+
store: {};
|
|
120
|
+
derive: {};
|
|
121
|
+
resolve: {};
|
|
122
|
+
}, {
|
|
123
|
+
typebox: {};
|
|
124
|
+
error: {};
|
|
125
|
+
}, {
|
|
126
|
+
schema: {};
|
|
127
|
+
standaloneSchema: {};
|
|
128
|
+
macro: {};
|
|
129
|
+
macroFn: {};
|
|
130
|
+
parser: {};
|
|
131
|
+
response: {};
|
|
132
|
+
}, {}, {
|
|
133
|
+
derive: {};
|
|
134
|
+
resolve: {};
|
|
135
|
+
schema: {};
|
|
136
|
+
standaloneSchema: {};
|
|
137
|
+
response: {};
|
|
138
|
+
}, {
|
|
139
|
+
derive: {};
|
|
140
|
+
resolve: {};
|
|
141
|
+
schema: {};
|
|
142
|
+
standaloneSchema: {};
|
|
143
|
+
response: {};
|
|
144
|
+
}>;
|
|
145
|
+
export declare const evaluateVoiceSessionObservabilityEvidence: (report: VoiceSessionObservabilityReport, input?: VoiceSessionObservabilityEvidenceInput) => VoiceSessionObservabilityEvidenceReport;
|