@absolutejs/voice 0.0.22-beta.52 → 0.0.22-beta.520
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4556 -603
- package/dist/agent.d.ts +79 -5
- package/dist/agentPerformanceReport.d.ts +40 -0
- package/dist/agentSquadContract.d.ts +98 -0
- package/dist/agentState.d.ts +12 -0
- package/dist/agentTools.d.ts +133 -0
- package/dist/aiScorecard.d.ts +32 -0
- package/dist/aiVoiceModel.d.ts +15 -0
- package/dist/amdDetector.d.ts +25 -0
- package/dist/angular/index.d.ts +36 -6
- package/dist/angular/index.js +4003 -566
- package/dist/angular/voice-agent-squad-status.service.d.ts +12 -0
- package/dist/angular/voice-call-debugger.service.d.ts +12 -0
- package/dist/angular/voice-call-player.service.d.ts +19 -0
- package/dist/angular/voice-campaign-dialer-proof.service.d.ts +14 -0
- package/dist/angular/voice-controller.service.d.ts +3 -1
- package/dist/angular/voice-cost-dashboard.service.d.ts +15 -0
- package/dist/angular/voice-delivery-runtime.component.d.ts +17 -0
- package/dist/angular/voice-delivery-runtime.service.d.ts +16 -0
- package/dist/angular/voice-live-agent-console.service.d.ts +16 -0
- package/dist/angular/voice-live-call-viewer.service.d.ts +16 -0
- package/dist/angular/voice-live-ops.service.d.ts +11 -0
- package/dist/angular/voice-ops-action-center.service.d.ts +13 -0
- package/dist/angular/voice-ops-status.component.d.ts +2 -2
- package/dist/angular/voice-ops-status.service.d.ts +12 -0
- package/dist/angular/voice-platform-coverage.service.d.ts +12 -0
- package/dist/angular/voice-profile-comparison.service.d.ts +12 -0
- package/dist/angular/voice-proof-trends.service.d.ts +12 -0
- package/dist/angular/voice-provider-capabilities.service.d.ts +12 -0
- package/dist/angular/voice-provider-contracts.service.d.ts +12 -0
- package/dist/angular/voice-provider-status.service.d.ts +2 -2
- package/dist/angular/voice-readiness-failures.service.d.ts +13 -0
- package/dist/angular/voice-reconnect-profile-evidence.service.d.ts +12 -0
- package/dist/angular/voice-replay-timeline.service.d.ts +13 -0
- package/dist/angular/voice-routing-status.service.d.ts +11 -0
- package/dist/angular/voice-session-observability.service.d.ts +12 -0
- package/dist/angular/voice-session-snapshot.service.d.ts +13 -0
- package/dist/angular/voice-stream.service.d.ts +4 -1
- package/dist/angular/voice-trace-timeline.service.d.ts +12 -0
- package/dist/angular/voice-turn-latency.service.d.ts +13 -0
- package/dist/angular/voice-turn-quality.service.d.ts +12 -0
- package/dist/angular/voice-widget.service.d.ts +18 -0
- package/dist/angular/voice-workflow-status.service.d.ts +2 -2
- package/dist/assistant.d.ts +12 -13
- package/dist/assistantExperiment.d.ts +41 -0
- package/dist/assistantHealth.d.ts +6 -6
- package/dist/assistantMemory.d.ts +3 -3
- package/dist/assistantMode.d.ts +22 -0
- package/dist/audioConditioning.d.ts +1 -1
- package/dist/audit.d.ts +131 -0
- package/dist/auditDeliveryRoutes.d.ts +85 -0
- package/dist/auditExport.d.ts +34 -0
- package/dist/auditRoutes.d.ts +66 -0
- package/dist/auditSinks.d.ts +151 -0
- package/dist/backchannel.d.ts +18 -0
- package/dist/bargeInRoutes.d.ts +56 -0
- package/dist/bookingFlow.d.ts +43 -0
- package/dist/browserCallProfiles.d.ts +120 -0
- package/dist/browserMediaRoutes.d.ts +62 -0
- package/dist/calendarAdapter.d.ts +47 -0
- package/dist/calendarSlots.d.ts +35 -0
- package/dist/callDebugger.d.ts +66 -0
- package/dist/callDisposition.d.ts +38 -0
- package/dist/callQuota.d.ts +54 -0
- package/dist/callScorecard.d.ts +53 -0
- package/dist/callerCRMLinker.d.ts +29 -0
- package/dist/callerMemory.d.ts +37 -0
- package/dist/callingWindow.d.ts +26 -0
- package/dist/campaign.d.ts +794 -0
- package/dist/campaignControls.d.ts +37 -0
- package/dist/campaignDialers.d.ts +111 -0
- package/dist/campaignTemplate.d.ts +16 -0
- package/dist/client/actions.d.ts +95 -1
- package/dist/client/agentSquadStatus.d.ts +37 -0
- package/dist/client/agentSquadStatusWidget.d.ts +24 -0
- package/dist/client/audioPlayer.d.ts +2 -2
- package/dist/client/bargeInMonitor.d.ts +7 -0
- package/dist/client/browserMedia.d.ts +8 -0
- package/dist/client/browserNoiseSuppression.d.ts +42 -0
- package/dist/client/browserVoiceSupport.d.ts +22 -0
- package/dist/client/callDebugger.d.ts +19 -0
- package/dist/client/callDebuggerWidget.d.ts +30 -0
- package/dist/client/callPlayer.d.ts +41 -0
- package/dist/client/campaignDialerProof.d.ts +23 -0
- package/dist/client/connection.d.ts +4 -3
- package/dist/client/controller.d.ts +1 -1
- package/dist/client/conversationAnalytics.d.ts +29 -0
- package/dist/client/costDashboard.d.ts +27 -0
- package/dist/client/createVoiceStream.d.ts +1 -1
- package/dist/client/deliveryRuntime.d.ts +34 -0
- package/dist/client/deliveryRuntimeWidget.d.ts +37 -0
- package/dist/client/duplex.d.ts +2 -2
- package/dist/client/htmx.d.ts +1 -1
- package/dist/client/htmxAttributes.d.ts +28 -0
- package/dist/client/htmxBootstrap.js +968 -14
- package/dist/client/htmxDashboardRenderers.d.ts +72 -0
- package/dist/client/index.d.ts +104 -15
- package/dist/client/index.js +10150 -129
- package/dist/client/liveAgentConsole.d.ts +28 -0
- package/dist/client/liveCallViewer.d.ts +42 -0
- package/dist/client/liveOps.d.ts +22 -0
- package/dist/client/liveOpsWidget.d.ts +23 -0
- package/dist/client/liveTurnLatency.d.ts +41 -0
- package/dist/client/microphone.d.ts +4 -4
- package/dist/client/opsActionCenter.d.ts +54 -0
- package/dist/client/opsActionCenterWidget.d.ts +29 -0
- package/dist/client/opsActionHistory.d.ts +19 -0
- package/dist/client/opsActionHistoryWidget.d.ts +11 -0
- package/dist/client/opsStatus.d.ts +19 -0
- package/dist/client/opsStatusWidget.d.ts +10 -9
- package/dist/client/platformCoverage.d.ts +19 -0
- package/dist/client/platformCoverageWidget.d.ts +37 -0
- package/dist/client/profileComparison.d.ts +19 -0
- package/dist/client/profileComparisonWidget.d.ts +41 -0
- package/dist/client/profileSwitchRecommendation.d.ts +19 -0
- package/dist/client/profileSwitchRecommendationWidget.d.ts +12 -0
- package/dist/client/proofTrends.d.ts +19 -0
- package/dist/client/proofTrendsWidget.d.ts +37 -0
- package/dist/client/providerCapabilities.d.ts +19 -0
- package/dist/client/providerCapabilitiesWidget.d.ts +32 -0
- package/dist/client/providerContracts.d.ts +19 -0
- package/dist/client/providerContractsWidget.d.ts +37 -0
- package/dist/client/providerSimulationControls.d.ts +33 -0
- package/dist/client/providerSimulationControlsWidget.d.ts +20 -0
- package/dist/client/providerStatus.d.ts +1 -1
- package/dist/client/providerStatusWidget.d.ts +32 -0
- package/dist/client/readinessFailures.d.ts +19 -0
- package/dist/client/readinessFailuresWidget.d.ts +42 -0
- package/dist/client/reconnectProfileEvidence.d.ts +19 -0
- package/dist/client/reconnectProfileEvidenceWidget.d.ts +39 -0
- package/dist/client/replayTimeline.d.ts +26 -0
- package/dist/client/routingStatus.d.ts +19 -0
- package/dist/client/routingStatusWidget.d.ts +32 -0
- package/dist/client/sessionObservability.d.ts +19 -0
- package/dist/client/sessionObservabilityWidget.d.ts +31 -0
- package/dist/client/sessionSnapshot.d.ts +21 -0
- package/dist/client/sessionSnapshotWidget.d.ts +33 -0
- package/dist/client/store.d.ts +1 -1
- package/dist/client/traceTimeline.d.ts +19 -0
- package/dist/client/traceTimelineWidget.d.ts +36 -0
- package/dist/client/turnLatency.d.ts +22 -0
- package/dist/client/turnLatencyWidget.d.ts +33 -0
- package/dist/client/turnQuality.d.ts +19 -0
- package/dist/client/turnQualityWidget.d.ts +32 -0
- package/dist/client/voiceWidgetView.d.ts +50 -0
- package/dist/client/workflowStatus.d.ts +1 -1
- package/dist/competitiveCoverage.d.ts +141 -0
- package/dist/conversationSimulator.d.ts +73 -0
- package/dist/correction.d.ts +2 -2
- package/dist/costAccounting.d.ts +76 -0
- package/dist/costPredictor.d.ts +74 -0
- package/dist/crmCallLogger.d.ts +37 -0
- package/dist/crmContract.d.ts +70 -0
- package/dist/dataControl.d.ts +180 -0
- package/dist/defineVoiceAssistant.d.ts +68 -0
- package/dist/deliveryRuntime.d.ts +158 -0
- package/dist/deliverySinkRoutes.d.ts +117 -0
- package/dist/demoReadyRoutes.d.ts +98 -0
- package/dist/diagnosticsRoutes.d.ts +2 -2
- package/dist/dncRegistry.d.ts +38 -0
- package/dist/dtmfCollector.d.ts +37 -0
- package/dist/embed/index.d.ts +38 -0
- package/dist/embed/index.js +1708 -0
- package/dist/embed/voice-widget.js +10 -0
- package/dist/evalRoutes.d.ts +10 -4
- package/dist/fileStore.d.ts +21 -7
- package/dist/generated/htmxBootstrapBundle.d.ts +1 -0
- package/dist/guardrails.d.ts +128 -0
- package/dist/handoff.d.ts +6 -6
- package/dist/handoffHealth.d.ts +5 -5
- package/dist/holdAudio.d.ts +23 -0
- package/dist/htmx.d.ts +1 -1
- package/dist/htmxDashboardRoutes.d.ts +249 -0
- package/dist/iceServers.d.ts +34 -0
- package/dist/incidentBundle.d.ts +119 -0
- package/dist/incidentTimeline.d.ts +260 -0
- package/dist/index.d.ts +362 -74
- package/dist/index.js +46209 -7771
- package/dist/ivrPlan.d.ts +40 -0
- package/dist/latencySlo.d.ts +56 -0
- package/dist/liveCoach.d.ts +43 -0
- package/dist/liveLatency.d.ts +78 -0
- package/dist/liveOps.d.ts +190 -0
- package/dist/llmJudge.d.ts +45 -0
- package/dist/logger.d.ts +1 -1
- package/dist/mediaPipelineRoutes.d.ts +171 -0
- package/dist/mediaPipelineSurfaces.d.ts +48 -0
- package/dist/memoryStore.d.ts +1 -1
- package/dist/midCallSummary.d.ts +27 -0
- package/dist/modelAdapters.d.ts +59 -7
- package/dist/monitor.d.ts +148 -0
- package/dist/multilingualProof.d.ts +77 -0
- package/dist/noShowPredictor.d.ts +46 -0
- package/dist/oauth2TokenSource.d.ts +21 -0
- package/dist/observabilityExport.d.ts +501 -0
- package/dist/openaiTTS.d.ts +18 -0
- package/dist/operationalStatus.d.ts +87 -0
- package/dist/operationsRecord.d.ts +370 -0
- package/dist/ops.d.ts +12 -12
- package/dist/opsActionAuditRoutes.d.ts +99 -0
- package/dist/opsConsoleRoutes.d.ts +8 -5
- package/dist/opsPresets.d.ts +2 -2
- package/dist/opsRecovery.d.ts +137 -0
- package/dist/opsRuntime.d.ts +6 -6
- package/dist/opsSinks.d.ts +13 -13
- package/dist/opsStatus.d.ts +76 -0
- package/dist/opsStatusRoutes.d.ts +33 -0
- package/dist/opsWebhook.d.ts +6 -6
- package/dist/otelExporter.d.ts +83 -0
- package/dist/outcomeContract.d.ts +146 -0
- package/dist/outcomeRecipes.d.ts +4 -4
- package/dist/pathway.d.ts +94 -0
- package/dist/pathwayCompiler.d.ts +31 -0
- package/dist/pathwayRuntime.d.ts +57 -0
- package/dist/pathwaySlotCollector.d.ts +29 -0
- package/dist/pathwayVisualizer.d.ts +8 -0
- package/dist/phoneAgent.d.ts +139 -0
- package/dist/phoneAgentProductionSmoke.d.ts +115 -0
- package/dist/phoneProvisioning.d.ts +29 -0
- package/dist/platformCoverage.d.ts +91 -0
- package/dist/plugin.d.ts +2 -2
- package/dist/postCallAnalysis.d.ts +98 -0
- package/dist/postCallSurvey.d.ts +41 -0
- package/dist/postgresStore.d.ts +17 -6
- package/dist/presets.d.ts +3 -3
- package/dist/productionReadiness.d.ts +756 -0
- package/dist/profileSwitchRecommendation.d.ts +350 -0
- package/dist/promptInjectionGuard.d.ts +30 -0
- package/dist/proofAssertions.d.ts +32 -0
- package/dist/proofPack.d.ts +211 -0
- package/dist/proofRunner.d.ts +79 -0
- package/dist/proofTrends.d.ts +966 -0
- package/dist/providerAdapters.d.ts +16 -5
- package/dist/providerCapabilities.d.ts +92 -0
- package/dist/providerDecisionTraces.d.ts +130 -0
- package/dist/providerHealth.d.ts +3 -3
- package/dist/providerOrchestration.d.ts +109 -0
- package/dist/providerRouterTraces.d.ts +35 -0
- package/dist/providerRoutingContract.d.ts +71 -0
- package/dist/providerSlo.d.ts +142 -0
- package/dist/providerStackRecommendations.d.ts +187 -0
- package/dist/qualityDriftDetector.d.ts +44 -0
- package/dist/qualityRoutes.d.ts +4 -4
- package/dist/queue.d.ts +23 -14
- package/dist/ragTool.d.ts +52 -0
- package/dist/react/VoiceAgentSquadStatus.d.ts +5 -0
- package/dist/react/VoiceCallDebuggerLaunch.d.ts +6 -0
- package/dist/react/VoiceCallPlayer.d.ts +11 -0
- package/dist/react/VoiceCostDashboard.d.ts +10 -0
- package/dist/react/VoiceDeliveryRuntime.d.ts +7 -0
- package/dist/react/VoiceLiveAgentConsole.d.ts +11 -0
- package/dist/react/VoiceLiveCallViewer.d.ts +9 -0
- package/dist/react/VoiceOpsActionCenter.d.ts +5 -0
- package/dist/react/VoiceOpsStatus.d.ts +1 -1
- package/dist/react/VoicePlatformCoverage.d.ts +6 -0
- package/dist/react/VoiceProfileComparison.d.ts +6 -0
- package/dist/react/VoiceProfileSwitchRecommendation.d.ts +6 -0
- package/dist/react/VoiceProofTrends.d.ts +6 -0
- package/dist/react/VoiceProviderCapabilities.d.ts +6 -0
- package/dist/react/VoiceProviderContracts.d.ts +6 -0
- package/dist/react/VoiceProviderSimulationControls.d.ts +5 -0
- package/dist/react/VoiceProviderStatus.d.ts +6 -0
- package/dist/react/VoiceReadinessFailures.d.ts +6 -0
- package/dist/react/VoiceReconnectProfileEvidence.d.ts +6 -0
- package/dist/react/VoiceReplayTimeline.d.ts +6 -0
- package/dist/react/VoiceRoutingStatus.d.ts +6 -0
- package/dist/react/VoiceSessionObservability.d.ts +6 -0
- package/dist/react/VoiceSessionSnapshot.d.ts +6 -0
- package/dist/react/VoiceTraceTimeline.d.ts +6 -0
- package/dist/react/VoiceTurnLatency.d.ts +6 -0
- package/dist/react/VoiceTurnQuality.d.ts +6 -0
- package/dist/react/VoiceWidget.d.ts +13 -0
- package/dist/react/index.d.ts +59 -6
- package/dist/react/index.js +12694 -316
- package/dist/react/useVoiceAgentSquadStatus.d.ts +8 -0
- package/dist/react/useVoiceCallDebugger.d.ts +8 -0
- package/dist/react/useVoiceCampaignDialerProof.d.ts +10 -0
- package/dist/react/useVoiceController.d.ts +4 -1
- package/dist/react/useVoiceDeliveryRuntime.d.ts +13 -0
- package/dist/react/useVoiceLiveOps.d.ts +9 -0
- package/dist/react/useVoiceOpsActionCenter.d.ts +11 -0
- package/dist/react/useVoiceOpsStatus.d.ts +8 -0
- package/dist/react/useVoicePlatformCoverage.d.ts +8 -0
- package/dist/react/useVoiceProfileComparison.d.ts +8 -0
- package/dist/react/useVoiceProfileSwitchRecommendation.d.ts +8 -0
- package/dist/react/useVoiceProofTrends.d.ts +8 -0
- package/dist/react/useVoiceProviderCapabilities.d.ts +8 -0
- package/dist/react/useVoiceProviderContracts.d.ts +8 -0
- package/dist/react/useVoiceProviderSimulationControls.d.ts +10 -0
- package/dist/react/useVoiceProviderStatus.d.ts +1 -1
- package/dist/react/useVoiceReadinessFailures.d.ts +8 -0
- package/dist/react/useVoiceReconnectProfileEvidence.d.ts +8 -0
- package/dist/react/useVoiceRoutingStatus.d.ts +8 -0
- package/dist/react/useVoiceSessionObservability.d.ts +8 -0
- package/dist/react/useVoiceSessionSnapshot.d.ts +9 -0
- package/dist/react/useVoiceStream.d.ts +4 -1
- package/dist/react/useVoiceTraceTimeline.d.ts +8 -0
- package/dist/react/useVoiceTurnLatency.d.ts +9 -0
- package/dist/react/useVoiceTurnQuality.d.ts +8 -0
- package/dist/react/useVoiceWorkflowStatus.d.ts +1 -1
- package/dist/readinessProfiles.d.ts +45 -0
- package/dist/realtimeChannel.d.ts +136 -0
- package/dist/realtimeProviderContracts.d.ts +133 -0
- package/dist/reconnectContract.d.ts +176 -0
- package/dist/recordingRedaction.d.ts +47 -0
- package/dist/recordingStore.d.ts +60 -0
- package/dist/redaction.d.ts +13 -0
- package/dist/reminderScheduler.d.ts +43 -0
- package/dist/resilienceRoutes.d.ts +45 -5
- package/dist/retention.d.ts +37 -0
- package/dist/retryPolicy.d.ts +38 -0
- package/dist/routeAuth.d.ts +58 -0
- package/dist/routing.d.ts +1 -1
- package/dist/runtimeOps.d.ts +3 -3
- package/dist/s3Store.d.ts +18 -3
- package/dist/scorecardCalibration.d.ts +31 -0
- package/dist/semanticTurn.d.ts +27 -0
- package/dist/session.d.ts +1 -1
- package/dist/sessionObservability.d.ts +145 -0
- package/dist/sessionReplay.d.ts +19 -7
- package/dist/sessionSnapshot.d.ts +109 -0
- package/dist/simulationSuite.d.ts +143 -0
- package/dist/sloCalibration.d.ts +185 -0
- package/dist/sqliteStore.d.ts +17 -6
- package/dist/store.d.ts +1 -1
- package/dist/supervisorPermissions.d.ts +33 -0
- package/dist/supervisorPresence.d.ts +49 -0
- package/dist/svelte/createVoiceAgentSquadStatus.d.ts +9 -0
- package/dist/svelte/createVoiceCallDebugger.d.ts +12 -0
- package/dist/svelte/createVoiceCallPlayer.d.ts +33 -0
- package/dist/svelte/createVoiceCampaignDialerProof.d.ts +9 -0
- package/dist/svelte/createVoiceCostDashboard.d.ts +13 -0
- package/dist/svelte/createVoiceDeliveryRuntime.d.ts +11 -0
- package/dist/svelte/createVoiceLiveAgentConsole.d.ts +23 -0
- package/dist/svelte/createVoiceLiveCallViewer.d.ts +26 -0
- package/dist/svelte/createVoiceLiveOps.d.ts +13 -0
- package/dist/svelte/createVoiceOpsActionCenter.d.ts +10 -0
- package/dist/svelte/createVoiceOpsStatus.d.ts +3 -3
- package/dist/svelte/createVoicePlatformCoverage.d.ts +7 -0
- package/dist/svelte/createVoiceProfileComparison.d.ts +7 -0
- package/dist/svelte/createVoiceProofTrends.d.ts +7 -0
- package/dist/svelte/createVoiceProviderCapabilities.d.ts +10 -0
- package/dist/svelte/createVoiceProviderContracts.d.ts +10 -0
- package/dist/svelte/createVoiceProviderSimulationControls.d.ts +11 -0
- package/dist/svelte/createVoiceProviderStatus.d.ts +4 -2
- package/dist/svelte/createVoiceReadinessFailures.d.ts +7 -0
- package/dist/svelte/createVoiceReconnectProfileEvidence.d.ts +7 -0
- package/dist/svelte/createVoiceReplayTimeline.d.ts +13 -0
- package/dist/svelte/createVoiceRoutingStatus.d.ts +10 -0
- package/dist/svelte/createVoiceSessionObservability.d.ts +10 -0
- package/dist/svelte/createVoiceSessionSnapshot.d.ts +13 -0
- package/dist/svelte/createVoiceStream.d.ts +1 -1
- package/dist/svelte/createVoiceTraceTimeline.d.ts +10 -0
- package/dist/svelte/createVoiceTurnLatency.d.ts +11 -0
- package/dist/svelte/createVoiceTurnQuality.d.ts +10 -0
- package/dist/svelte/createVoiceWidget.d.ts +19 -0
- package/dist/svelte/createVoiceWorkflowStatus.d.ts +1 -1
- package/dist/svelte/index.d.ts +37 -6
- package/dist/svelte/index.js +6861 -718
- package/dist/telephony/contract.d.ts +61 -0
- package/dist/telephony/matrix.d.ts +97 -0
- package/dist/telephony/plivo.d.ts +303 -0
- package/dist/telephony/response.d.ts +1 -1
- package/dist/telephony/security.d.ts +182 -0
- package/dist/telephony/telnyx.d.ts +291 -0
- package/dist/telephony/twilio.d.ts +147 -13
- package/dist/telephonyMediaRoutes.d.ts +72 -0
- package/dist/telephonyOutcome.d.ts +273 -0
- package/dist/testing/accuracy.d.ts +1 -1
- package/dist/testing/benchmark.d.ts +9 -9
- package/dist/testing/corrected.d.ts +5 -5
- package/dist/testing/duplex.d.ts +3 -3
- package/dist/testing/fixtures.d.ts +3 -3
- package/dist/testing/index.d.ts +13 -13
- package/dist/testing/index.js +5254 -152
- package/dist/testing/ioProviderSimulator.d.ts +5 -5
- package/dist/testing/providerSimulator.d.ts +5 -5
- package/dist/testing/review.d.ts +4 -4
- package/dist/testing/sessionBenchmark.d.ts +3 -3
- package/dist/testing/stt.d.ts +3 -3
- package/dist/testing/telephony.d.ts +25 -0
- package/dist/testing/tts.d.ts +1 -1
- package/dist/toolContract.d.ts +161 -0
- package/dist/toolRuntime.d.ts +50 -0
- package/dist/trace.d.ts +46 -7
- package/dist/traceDeliveryRoutes.d.ts +86 -0
- package/dist/traceTimeline.d.ts +97 -0
- package/dist/transcriptAnnotator.d.ts +41 -0
- package/dist/turnDetection.d.ts +1 -1
- package/dist/turnLatency.d.ts +95 -0
- package/dist/turnProfiles.d.ts +2 -2
- package/dist/turnQuality.d.ts +94 -0
- package/dist/types.d.ts +325 -80
- package/dist/vapiAdapter.d.ts +160 -0
- package/dist/voiceMonitoring.d.ts +444 -0
- package/dist/vue/VoiceCallDebuggerLaunch.d.ts +68 -0
- package/dist/vue/VoiceCallPlayer.d.ts +40 -0
- package/dist/vue/VoiceCostDashboard.d.ts +57 -0
- package/dist/vue/VoiceDeliveryRuntime.d.ts +30 -0
- package/dist/vue/VoiceLiveAgentConsole.d.ts +50 -0
- package/dist/vue/VoiceLiveCallViewer.d.ts +35 -0
- package/dist/vue/VoiceOpsActionCenter.d.ts +13 -0
- package/dist/vue/VoicePlatformCoverage.d.ts +23 -0
- package/dist/vue/VoiceProofTrends.d.ts +21 -0
- package/dist/vue/VoiceProviderCapabilities.d.ts +51 -0
- package/dist/vue/VoiceProviderContracts.d.ts +21 -0
- package/dist/vue/VoiceProviderSimulationControls.d.ts +88 -0
- package/dist/vue/VoiceProviderStatus.d.ts +51 -0
- package/dist/vue/VoiceReadinessFailures.d.ts +21 -0
- package/dist/vue/VoiceReconnectProfileEvidence.d.ts +21 -0
- package/dist/vue/VoiceReplayTimeline.d.ts +17 -0
- package/dist/vue/VoiceRoutingStatus.d.ts +51 -0
- package/dist/vue/VoiceSessionObservability.d.ts +23 -0
- package/dist/vue/VoiceSessionSnapshot.d.ts +68 -0
- package/dist/vue/VoiceTurnLatency.d.ts +69 -0
- package/dist/vue/VoiceTurnQuality.d.ts +51 -0
- package/dist/vue/VoiceWidget.d.ts +77 -0
- package/dist/vue/index.d.ts +49 -6
- package/dist/vue/index.js +11960 -391
- package/dist/vue/useVoiceAgentSquadStatus.d.ts +9 -0
- package/dist/vue/useVoiceCallDebugger.d.ts +10 -0
- package/dist/vue/useVoiceCampaignDialerProof.d.ts +11 -0
- package/dist/vue/useVoiceController.d.ts +4 -2
- package/dist/vue/useVoiceDeliveryRuntime.d.ts +13 -0
- package/dist/vue/useVoiceLiveOps.d.ts +9 -0
- package/dist/vue/useVoiceOpsActionCenter.d.ts +11 -0
- package/dist/vue/useVoiceOpsStatus.d.ts +9 -0
- package/dist/vue/useVoicePlatformCoverage.d.ts +9 -0
- package/dist/vue/useVoiceProfileComparison.d.ts +9 -0
- package/dist/vue/useVoiceProofTrends.d.ts +9 -0
- package/dist/vue/useVoiceProviderCapabilities.d.ts +9 -0
- package/dist/vue/useVoiceProviderContracts.d.ts +9 -0
- package/dist/vue/useVoiceProviderSimulationControls.d.ts +24 -0
- package/dist/vue/useVoiceProviderStatus.d.ts +3 -3
- package/dist/vue/useVoiceReadinessFailures.d.ts +959 -0
- package/dist/vue/useVoiceReconnectProfileEvidence.d.ts +9 -0
- package/dist/vue/useVoiceRoutingStatus.d.ts +8 -0
- package/dist/vue/useVoiceSessionObservability.d.ts +9 -0
- package/dist/vue/useVoiceSessionSnapshot.d.ts +10 -0
- package/dist/vue/useVoiceStream.d.ts +5 -2
- package/dist/vue/useVoiceTraceTimeline.d.ts +9 -0
- package/dist/vue/useVoiceTurnLatency.d.ts +10 -0
- package/dist/vue/useVoiceTurnQuality.d.ts +9 -0
- package/dist/vue/useVoiceWorkflowStatus.d.ts +3 -3
- package/dist/webhookFanout.d.ts +48 -0
- package/dist/webhookVerification.d.ts +27 -0
- package/dist/whisperChannel.d.ts +50 -0
- package/dist/workflowContract.d.ts +8 -8
- package/fixtures/manifest.json +356 -197
- package/package.json +274 -256
- package/dist/angular/voice-app-kit-status.service.d.ts +0 -12
- package/dist/appKit.d.ts +0 -92
- package/dist/client/appKitStatus.d.ts +0 -19
- package/dist/react/useVoiceAppKitStatus.d.ts +0 -8
- package/dist/svelte/createVoiceAppKitStatus.d.ts +0 -8
- package/dist/vue/useVoiceAppKitStatus.d.ts +0 -9
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import { Elysia } from "elysia";
|
|
2
|
+
import type { VoiceReconnectClientState, VoiceSessionRecord, VoiceSessionStore } from "./types";
|
|
3
|
+
import type { StoredVoiceTraceEvent } from "./trace";
|
|
4
|
+
export type VoiceReconnectContractSnapshot = {
|
|
5
|
+
at: number;
|
|
6
|
+
reconnect: VoiceReconnectClientState;
|
|
7
|
+
turnIds?: readonly string[];
|
|
8
|
+
};
|
|
9
|
+
export type VoiceReconnectContractIssue = {
|
|
10
|
+
code: string;
|
|
11
|
+
message: string;
|
|
12
|
+
severity: "error" | "warning";
|
|
13
|
+
};
|
|
14
|
+
export type VoiceReconnectContractReport = {
|
|
15
|
+
checkedAt: number;
|
|
16
|
+
issues: VoiceReconnectContractIssue[];
|
|
17
|
+
pass: boolean;
|
|
18
|
+
resumeLatencyP95Ms?: number;
|
|
19
|
+
snapshotCount: number;
|
|
20
|
+
statuses: VoiceReconnectClientState["status"][];
|
|
21
|
+
summary: {
|
|
22
|
+
attempts: number;
|
|
23
|
+
maxAttempts: number;
|
|
24
|
+
reconnected: boolean;
|
|
25
|
+
resumed: boolean;
|
|
26
|
+
exhausted: boolean;
|
|
27
|
+
duplicateTurnIds: string[];
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
export type VoiceReconnectContractOptions = {
|
|
31
|
+
allowNoSnapshots?: boolean;
|
|
32
|
+
requireReconnect?: boolean;
|
|
33
|
+
requireResume?: boolean;
|
|
34
|
+
requireReplayProtection?: boolean;
|
|
35
|
+
snapshots: readonly VoiceReconnectContractSnapshot[];
|
|
36
|
+
};
|
|
37
|
+
export type VoiceReconnectProofStatus = "fail" | "pass" | "warn";
|
|
38
|
+
export type VoiceReconnectProofReport = {
|
|
39
|
+
checkedAt: number;
|
|
40
|
+
contract: VoiceReconnectContractReport;
|
|
41
|
+
generatedAt: string;
|
|
42
|
+
ok: boolean;
|
|
43
|
+
reconnectAware: true;
|
|
44
|
+
sessionCount: number;
|
|
45
|
+
snapshotCount: number;
|
|
46
|
+
status: VoiceReconnectProofStatus;
|
|
47
|
+
summary: string;
|
|
48
|
+
};
|
|
49
|
+
export type VoiceReconnectProofOptions = {
|
|
50
|
+
completedSessionCount?: number;
|
|
51
|
+
maxAttempts?: number;
|
|
52
|
+
requireObservedReconnect?: boolean;
|
|
53
|
+
requireReplayProtection?: boolean;
|
|
54
|
+
requireResumeAfterReconnect?: boolean;
|
|
55
|
+
sessions?: readonly VoiceSessionRecord[];
|
|
56
|
+
snapshots?: readonly VoiceReconnectContractSnapshot[];
|
|
57
|
+
};
|
|
58
|
+
export type VoiceReconnectProofRoutesOptions = Omit<VoiceReconnectProofOptions, "completedSessionCount" | "sessions" | "snapshots"> & {
|
|
59
|
+
getCompletedSessionCount?: () => number | Promise<number>;
|
|
60
|
+
getSessions?: () => readonly VoiceSessionRecord[] | Promise<readonly VoiceSessionRecord[]>;
|
|
61
|
+
getSnapshots?: () => readonly VoiceReconnectContractSnapshot[] | Promise<readonly VoiceReconnectContractSnapshot[]>;
|
|
62
|
+
headers?: HeadersInit;
|
|
63
|
+
maxCollectedSnapshots?: number;
|
|
64
|
+
name?: string;
|
|
65
|
+
path?: string;
|
|
66
|
+
store?: VoiceSessionStore;
|
|
67
|
+
};
|
|
68
|
+
export type VoiceReconnectContractRoutesOptions = Omit<VoiceReconnectContractOptions, "snapshots"> & {
|
|
69
|
+
getSnapshots: () => readonly VoiceReconnectContractSnapshot[] | Promise<readonly VoiceReconnectContractSnapshot[]>;
|
|
70
|
+
headers?: HeadersInit;
|
|
71
|
+
htmlPath?: false | string;
|
|
72
|
+
name?: string;
|
|
73
|
+
path?: string;
|
|
74
|
+
render?: (report: VoiceReconnectContractReport) => string | Promise<string>;
|
|
75
|
+
};
|
|
76
|
+
export declare const summarizeVoiceReconnectContractSnapshots: (events: readonly StoredVoiceTraceEvent[], options?: {
|
|
77
|
+
sessionId?: string;
|
|
78
|
+
}) => VoiceReconnectContractSnapshot[];
|
|
79
|
+
export declare const summarizeVoiceReconnectProofSessions: (sessions: readonly VoiceSessionRecord[], options?: {
|
|
80
|
+
maxAttempts?: number;
|
|
81
|
+
}) => VoiceReconnectContractSnapshot[];
|
|
82
|
+
export declare const runVoiceReconnectContract: (options: VoiceReconnectContractOptions) => VoiceReconnectContractReport;
|
|
83
|
+
export declare const buildVoiceReconnectProofReport: (options?: VoiceReconnectProofOptions) => VoiceReconnectProofReport;
|
|
84
|
+
export declare const createVoiceReconnectProofRoutes: (options?: VoiceReconnectProofRoutesOptions) => Elysia<"", {
|
|
85
|
+
decorator: {};
|
|
86
|
+
store: {};
|
|
87
|
+
derive: {};
|
|
88
|
+
resolve: {};
|
|
89
|
+
}, {
|
|
90
|
+
typebox: {};
|
|
91
|
+
error: {};
|
|
92
|
+
}, {
|
|
93
|
+
schema: {};
|
|
94
|
+
standaloneSchema: {};
|
|
95
|
+
macro: {};
|
|
96
|
+
macroFn: {};
|
|
97
|
+
parser: {};
|
|
98
|
+
response: {};
|
|
99
|
+
}, {
|
|
100
|
+
[x: string]: {
|
|
101
|
+
get: {
|
|
102
|
+
body: unknown;
|
|
103
|
+
params: {};
|
|
104
|
+
query: unknown;
|
|
105
|
+
headers: unknown;
|
|
106
|
+
response: {
|
|
107
|
+
200: Response;
|
|
108
|
+
};
|
|
109
|
+
};
|
|
110
|
+
};
|
|
111
|
+
} & {
|
|
112
|
+
[x: string]: {
|
|
113
|
+
post: {
|
|
114
|
+
body: unknown;
|
|
115
|
+
params: {};
|
|
116
|
+
query: unknown;
|
|
117
|
+
headers: unknown;
|
|
118
|
+
response: {
|
|
119
|
+
200: Response;
|
|
120
|
+
};
|
|
121
|
+
};
|
|
122
|
+
};
|
|
123
|
+
}, {
|
|
124
|
+
derive: {};
|
|
125
|
+
resolve: {};
|
|
126
|
+
schema: {};
|
|
127
|
+
standaloneSchema: {};
|
|
128
|
+
response: {};
|
|
129
|
+
}, {
|
|
130
|
+
derive: {};
|
|
131
|
+
resolve: {};
|
|
132
|
+
schema: {};
|
|
133
|
+
standaloneSchema: {};
|
|
134
|
+
response: {};
|
|
135
|
+
}>;
|
|
136
|
+
export declare const renderVoiceReconnectContractHTML: (report: VoiceReconnectContractReport) => string;
|
|
137
|
+
export declare const createVoiceReconnectContractRoutes: (options: VoiceReconnectContractRoutesOptions) => Elysia<"", {
|
|
138
|
+
decorator: {};
|
|
139
|
+
store: {};
|
|
140
|
+
derive: {};
|
|
141
|
+
resolve: {};
|
|
142
|
+
}, {
|
|
143
|
+
typebox: {};
|
|
144
|
+
error: {};
|
|
145
|
+
}, {
|
|
146
|
+
schema: {};
|
|
147
|
+
standaloneSchema: {};
|
|
148
|
+
macro: {};
|
|
149
|
+
macroFn: {};
|
|
150
|
+
parser: {};
|
|
151
|
+
response: {};
|
|
152
|
+
}, {
|
|
153
|
+
[x: string]: {
|
|
154
|
+
get: {
|
|
155
|
+
body: unknown;
|
|
156
|
+
params: {};
|
|
157
|
+
query: unknown;
|
|
158
|
+
headers: unknown;
|
|
159
|
+
response: {
|
|
160
|
+
200: Response;
|
|
161
|
+
};
|
|
162
|
+
};
|
|
163
|
+
};
|
|
164
|
+
}, {
|
|
165
|
+
derive: {};
|
|
166
|
+
resolve: {};
|
|
167
|
+
schema: {};
|
|
168
|
+
standaloneSchema: {};
|
|
169
|
+
response: {};
|
|
170
|
+
}, {
|
|
171
|
+
derive: {};
|
|
172
|
+
resolve: {};
|
|
173
|
+
schema: {};
|
|
174
|
+
standaloneSchema: {};
|
|
175
|
+
response: {};
|
|
176
|
+
}>;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { type AudioRedactionFill } from "@absolutejs/media";
|
|
2
|
+
import type { AudioFormat, Transcript } from "./types";
|
|
3
|
+
import { type VoiceRedactionPattern } from "./redaction";
|
|
4
|
+
export type VoiceRecordingRedactionRange = {
|
|
5
|
+
endMs: number;
|
|
6
|
+
label?: string;
|
|
7
|
+
startMs: number;
|
|
8
|
+
};
|
|
9
|
+
export type DeriveVoiceRecordingRedactionRangesInput = {
|
|
10
|
+
/** When the recording starts in epoch ms; used to convert absolute timestamps if transcripts use them. */
|
|
11
|
+
recordingStartedAtEpochMs?: number;
|
|
12
|
+
/** Optional padding around redaction ranges, in ms (default 100). */
|
|
13
|
+
paddingMs?: number;
|
|
14
|
+
/** Patterns to test against transcripts. Defaults to DEFAULT_VOICE_REDACTION_PATTERNS. */
|
|
15
|
+
patterns?: ReadonlyArray<VoiceRedactionPattern>;
|
|
16
|
+
/** Transcripts to scan. */
|
|
17
|
+
transcripts: ReadonlyArray<Transcript>;
|
|
18
|
+
};
|
|
19
|
+
export declare const deriveVoiceRecordingRedactionRanges: (input: DeriveVoiceRecordingRedactionRangesInput) => VoiceRecordingRedactionRange[];
|
|
20
|
+
export type RedactVoiceRecordingInput = {
|
|
21
|
+
/** Raw pcm_s16le bytes of the recorded artifact. */
|
|
22
|
+
pcm: ArrayBuffer | ArrayBufferView;
|
|
23
|
+
/** Format of the recording (must be raw pcm_s16le). */
|
|
24
|
+
format: AudioFormat;
|
|
25
|
+
/** Final transcripts with timing, scanned for sensitive content. */
|
|
26
|
+
transcripts: ReadonlyArray<Transcript>;
|
|
27
|
+
recordingStartedAtEpochMs?: number;
|
|
28
|
+
paddingMs?: number;
|
|
29
|
+
patterns?: ReadonlyArray<VoiceRedactionPattern>;
|
|
30
|
+
/** Bleep style — silence (default) or a tone. */
|
|
31
|
+
fill?: AudioRedactionFill;
|
|
32
|
+
};
|
|
33
|
+
export type RedactVoiceRecordingResult = {
|
|
34
|
+
/** The redacted pcm_s16le bytes. */
|
|
35
|
+
bytes: Uint8Array;
|
|
36
|
+
/** The merged ranges that were bleeped. */
|
|
37
|
+
ranges: VoiceRecordingRedactionRange[];
|
|
38
|
+
/** How many ranges were redacted. */
|
|
39
|
+
redactedCount: number;
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* End-to-end recording redaction: derives sensitive ranges from final
|
|
43
|
+
* transcripts, merges overlaps, and applies the audio bleep via
|
|
44
|
+
* `@absolutejs/media`'s `applyAudioRedaction`. Returns the redacted bytes
|
|
45
|
+
* ready to re-store in place of the original artifact.
|
|
46
|
+
*/
|
|
47
|
+
export declare const redactVoiceRecording: (input: RedactVoiceRecordingInput) => RedactVoiceRecordingResult;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { AudioFormat } from "./types";
|
|
2
|
+
export type VoiceRecordingChannel = "assistant" | "user";
|
|
3
|
+
export type VoiceRecordingArtifact = {
|
|
4
|
+
audioBytes: Uint8Array;
|
|
5
|
+
capturedAt: number;
|
|
6
|
+
channel: VoiceRecordingChannel;
|
|
7
|
+
durationMs: number;
|
|
8
|
+
format: AudioFormat;
|
|
9
|
+
sessionId: string;
|
|
10
|
+
};
|
|
11
|
+
export type StoredVoiceRecordingArtifact = VoiceRecordingArtifact & {
|
|
12
|
+
recordingUrl?: string;
|
|
13
|
+
};
|
|
14
|
+
export type VoiceRecordingEncoderInput = {
|
|
15
|
+
channel: VoiceRecordingChannel;
|
|
16
|
+
format: AudioFormat;
|
|
17
|
+
pcm: Uint8Array;
|
|
18
|
+
sessionId: string;
|
|
19
|
+
};
|
|
20
|
+
export type VoiceRecordingEncoderResult = {
|
|
21
|
+
bytes: Uint8Array;
|
|
22
|
+
contentType: string;
|
|
23
|
+
extension: string;
|
|
24
|
+
};
|
|
25
|
+
export type VoiceRecordingEncoder = {
|
|
26
|
+
encode: (input: VoiceRecordingEncoderInput) => Promise<VoiceRecordingEncoderResult> | VoiceRecordingEncoderResult;
|
|
27
|
+
kind: string;
|
|
28
|
+
};
|
|
29
|
+
export type VoiceRecordingStore = {
|
|
30
|
+
get: (sessionId: string, channel: VoiceRecordingChannel) => Promise<StoredVoiceRecordingArtifact | undefined>;
|
|
31
|
+
list: (sessionId: string) => Promise<StoredVoiceRecordingArtifact[]>;
|
|
32
|
+
put: (artifact: VoiceRecordingArtifact) => Promise<StoredVoiceRecordingArtifact>;
|
|
33
|
+
};
|
|
34
|
+
export declare const encodePcmAsWav: (pcm: Uint8Array, format: AudioFormat) => Uint8Array;
|
|
35
|
+
export type InterleavePcmInput = {
|
|
36
|
+
/** Mono PCM bytes for the left channel. */
|
|
37
|
+
left: Uint8Array;
|
|
38
|
+
/** Mono PCM bytes for the right channel. */
|
|
39
|
+
right: Uint8Array;
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Interleaves two mono pcm_s16le buffers into a single stereo pcm_s16le
|
|
43
|
+
* buffer at the same sample rate. Output length is max(left, right) * 2.
|
|
44
|
+
* The shorter buffer is right-padded with silence to align frame counts.
|
|
45
|
+
*/
|
|
46
|
+
export declare const interleaveStereoPcm: (input: InterleavePcmInput) => Uint8Array;
|
|
47
|
+
export type EncodeStereoWavInput = {
|
|
48
|
+
format: AudioFormat;
|
|
49
|
+
left: Uint8Array;
|
|
50
|
+
right: Uint8Array;
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* Builds a stereo WAV file from two mono pcm_s16le channels. Convention:
|
|
54
|
+
* left = user track, right = assistant track. Review tools can split them
|
|
55
|
+
* back out with any DAW.
|
|
56
|
+
*/
|
|
57
|
+
export declare const encodeStereoWav: ({ format, left, right, }: EncodeStereoWavInput) => Uint8Array;
|
|
58
|
+
export declare const createVoiceWavRecordingEncoder: () => VoiceRecordingEncoder;
|
|
59
|
+
export declare const computePcmDurationMs: (pcmByteLength: number, format: AudioFormat) => number;
|
|
60
|
+
export declare const createVoiceMemoryRecordingStore: () => VoiceRecordingStore;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Transcript } from "./types";
|
|
2
|
+
export type VoiceRedactionPattern = {
|
|
3
|
+
label: string;
|
|
4
|
+
replacement?: string;
|
|
5
|
+
regex: RegExp;
|
|
6
|
+
};
|
|
7
|
+
export declare const DEFAULT_VOICE_REDACTION_PATTERNS: VoiceRedactionPattern[];
|
|
8
|
+
export type VoiceTranscriptRedactor = (transcript: Transcript) => Transcript;
|
|
9
|
+
export type CreateVoiceTranscriptRedactorOptions = {
|
|
10
|
+
patterns?: VoiceRedactionPattern[];
|
|
11
|
+
};
|
|
12
|
+
export declare const createVoiceTranscriptRedactor: (options?: CreateVoiceTranscriptRedactorOptions) => VoiceTranscriptRedactor;
|
|
13
|
+
export declare const redactVoiceTranscript: (transcript: Transcript, patterns?: VoiceRedactionPattern[]) => Transcript;
|
|
@@ -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
|
+
list: (appointmentId?: string) => VoiceReminderJob[];
|
|
37
|
+
markFailed: (jobId: string, error: string) => boolean;
|
|
38
|
+
markInFlight: (jobId: string) => boolean;
|
|
39
|
+
markSent: (jobId: string) => boolean;
|
|
40
|
+
schedule: (input: ScheduleVoiceRemindersInput) => VoiceReminderJob[];
|
|
41
|
+
subscribe(listener: (job: VoiceReminderJob) => void): () => void;
|
|
42
|
+
};
|
|
43
|
+
export type VoiceReminderScheduler = ReturnType<typeof createVoiceReminderScheduler>;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Elysia } from
|
|
2
|
-
import { type VoiceProviderHealthSummary } from
|
|
3
|
-
import type { StoredVoiceTraceEvent, VoiceTraceEventStore } from
|
|
4
|
-
import type { VoiceIOProviderFailureSimulationMode, VoiceIOProviderFailureSimulationResult } from
|
|
5
|
-
export type VoiceRoutingEventKind =
|
|
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
6
|
export type VoiceRoutingEvent = {
|
|
7
7
|
at: number;
|
|
8
8
|
attempt?: number;
|
|
@@ -12,13 +12,49 @@ export type VoiceRoutingEvent = {
|
|
|
12
12
|
kind: VoiceRoutingEventKind;
|
|
13
13
|
latencyBudgetMs?: number;
|
|
14
14
|
operation?: string;
|
|
15
|
+
profileId?: string;
|
|
16
|
+
profileLabel?: string;
|
|
15
17
|
provider?: string;
|
|
18
|
+
providerRoutes?: Record<string, string>;
|
|
19
|
+
routing?: string;
|
|
20
|
+
scenarioId?: string;
|
|
16
21
|
selectedProvider?: string;
|
|
17
22
|
sessionId: string;
|
|
18
23
|
status?: string;
|
|
24
|
+
suppressionRemainingMs?: number;
|
|
19
25
|
timedOut: boolean;
|
|
20
26
|
turnId?: string;
|
|
21
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
|
+
};
|
|
22
58
|
export type VoiceResilienceLink = {
|
|
23
59
|
href: string;
|
|
24
60
|
label: string;
|
|
@@ -42,6 +78,7 @@ export type VoiceResiliencePageData = {
|
|
|
42
78
|
links?: readonly VoiceResilienceLink[];
|
|
43
79
|
llmProviderHealth: VoiceProviderHealthSummary<string>[];
|
|
44
80
|
routingEvents: VoiceRoutingEvent[];
|
|
81
|
+
routingSessions: VoiceRoutingSessionSummary[];
|
|
45
82
|
sttProviderHealth: VoiceProviderHealthSummary<string>[];
|
|
46
83
|
sttSimulation?: VoiceResilienceIOSimulator<string>;
|
|
47
84
|
title?: string;
|
|
@@ -63,6 +100,9 @@ export type VoiceResilienceRoutesOptions = {
|
|
|
63
100
|
ttsSimulation?: VoiceResilienceIOSimulator<string>;
|
|
64
101
|
};
|
|
65
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 summarizeVoiceRoutingSessions: (events: StoredVoiceTraceEvent[] | VoiceRoutingEvent[], options?: VoiceRoutingSessionSummaryOptions) => VoiceRoutingSessionSummary[];
|
|
105
|
+
export declare const createVoiceRoutingDecisionSummary: (options: VoiceRoutingDecisionSummaryOptions) => Promise<VoiceRoutingDecisionSummary | null>;
|
|
66
106
|
export declare const renderVoiceResilienceHTML: (input: VoiceResiliencePageData) => string;
|
|
67
107
|
export declare const createVoiceResilienceRoutes: (options: VoiceResilienceRoutesOptions) => Elysia<"", {
|
|
68
108
|
decorator: {};
|
|
@@ -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
|
+
}>;
|
package/dist/routing.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { VoiceSTTRoutingCorrectionMode, VoiceSTTRoutingGoal, VoiceSTTRoutingStrategy, VoiceTurnCorrectionHandler } from
|
|
1
|
+
import type { VoiceSTTRoutingCorrectionMode, VoiceSTTRoutingGoal, VoiceSTTRoutingStrategy, VoiceTurnCorrectionHandler } from "./types";
|
|
2
2
|
export declare const resolveVoiceSTTRoutingStrategy: (goal?: VoiceSTTRoutingGoal) => VoiceSTTRoutingStrategy;
|
|
3
3
|
export declare const createVoiceSTTRoutingCorrectionHandler: (mode?: VoiceSTTRoutingCorrectionMode) => VoiceTurnCorrectionHandler | undefined;
|
package/dist/runtimeOps.d.ts
CHANGED
|
@@ -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;
|
package/dist/s3Store.d.ts
CHANGED
|
@@ -1,14 +1,29 @@
|
|
|
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
|
+
export type VoiceS3RecordingStoreFile = {
|
|
17
|
+
delete: () => Promise<void>;
|
|
18
|
+
exists: () => Promise<boolean>;
|
|
19
|
+
text: () => Promise<string>;
|
|
20
|
+
bytes: () => Promise<Uint8Array>;
|
|
21
|
+
write: (data: string | Uint8Array) => Promise<number>;
|
|
22
|
+
};
|
|
23
|
+
export type VoiceS3RecordingStoreClient = Pick<S3Client, "file" | "list">;
|
|
24
|
+
export type VoiceS3RecordingStoreOptions = S3Options & {
|
|
25
|
+
client?: VoiceS3RecordingStoreClient;
|
|
26
|
+
keyPrefix?: string;
|
|
27
|
+
publicUrlBase?: string;
|
|
28
|
+
};
|
|
29
|
+
export declare const createVoiceS3RecordingStore: (options: VoiceS3RecordingStoreOptions) => VoiceRecordingStore;
|
|
@@ -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,27 @@
|
|
|
1
|
+
import type { Transcript } from "./types";
|
|
2
|
+
export type VoiceSemanticTurnInput = {
|
|
3
|
+
audioLevel?: number;
|
|
4
|
+
lastFinalTranscript?: Transcript;
|
|
5
|
+
partialText: string;
|
|
6
|
+
silenceMs: number;
|
|
7
|
+
transcripts: Transcript[];
|
|
8
|
+
};
|
|
9
|
+
export type VoiceSemanticTurnVerdict = {
|
|
10
|
+
confidence?: number;
|
|
11
|
+
endOfTurn: boolean;
|
|
12
|
+
reason?: string;
|
|
13
|
+
};
|
|
14
|
+
export type VoiceSemanticTurnDetector = {
|
|
15
|
+
evaluate: (input: VoiceSemanticTurnInput) => Promise<VoiceSemanticTurnVerdict> | VoiceSemanticTurnVerdict;
|
|
16
|
+
};
|
|
17
|
+
export type CreatePunctuationSemanticTurnDetectorOptions = {
|
|
18
|
+
endPunctuation?: ReadonlyArray<string>;
|
|
19
|
+
fillerWords?: ReadonlyArray<string>;
|
|
20
|
+
minPartialWords?: number;
|
|
21
|
+
};
|
|
22
|
+
export declare const createPunctuationSemanticTurnDetector: (options?: CreatePunctuationSemanticTurnDetectorOptions) => VoiceSemanticTurnDetector;
|
|
23
|
+
export type CreateRegexSemanticTurnDetectorOptions = {
|
|
24
|
+
endPattern: RegExp;
|
|
25
|
+
minPartialWords?: number;
|
|
26
|
+
};
|
|
27
|
+
export declare const createRegexSemanticTurnDetector: (options: CreateRegexSemanticTurnDetectorOptions) => VoiceSemanticTurnDetector;
|
package/dist/session.d.ts
CHANGED
|
@@ -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>;
|