@absolutejs/voice 0.0.22-beta.54 → 0.0.22-beta.540
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4518 -951
- package/dist/angular/index.d.ts +36 -5
- package/dist/angular/index.js +4189 -390
- package/dist/angular/voice-agent-squad-status.service.d.ts +12 -0
- package/dist/angular/voice-call-debugger.service.d.ts +12 -0
- package/dist/angular/voice-call-player.service.d.ts +19 -0
- package/dist/angular/voice-campaign-dialer-proof.service.d.ts +14 -0
- package/dist/angular/voice-controller.service.d.ts +3 -1
- package/dist/angular/voice-cost-dashboard.service.d.ts +15 -0
- package/dist/angular/voice-delivery-runtime.service.d.ts +16 -0
- package/dist/angular/voice-live-agent-console.service.d.ts +16 -0
- package/dist/angular/voice-live-call-viewer.service.d.ts +16 -0
- package/dist/angular/voice-live-ops.service.d.ts +11 -0
- package/dist/angular/voice-ops-action-center.service.d.ts +13 -0
- package/dist/angular/voice-ops-status.service.d.ts +12 -0
- package/dist/angular/voice-platform-coverage.service.d.ts +12 -0
- package/dist/angular/voice-profile-comparison.service.d.ts +12 -0
- package/dist/angular/voice-proof-trends.service.d.ts +12 -0
- package/dist/angular/voice-provider-capabilities.service.d.ts +12 -0
- package/dist/angular/voice-provider-contracts.service.d.ts +12 -0
- package/dist/angular/voice-provider-status.service.d.ts +2 -2
- package/dist/angular/voice-readiness-failures.service.d.ts +13 -0
- package/dist/angular/voice-reconnect-profile-evidence.service.d.ts +12 -0
- package/dist/angular/voice-replay-timeline.service.d.ts +13 -0
- package/dist/angular/voice-routing-status.service.d.ts +11 -0
- package/dist/angular/voice-session-observability.service.d.ts +12 -0
- package/dist/angular/voice-session-snapshot.service.d.ts +13 -0
- package/dist/angular/voice-stream.service.d.ts +4 -1
- package/dist/angular/voice-trace-timeline.service.d.ts +12 -0
- package/dist/angular/voice-turn-latency.service.d.ts +13 -0
- package/dist/angular/voice-turn-quality.service.d.ts +12 -0
- package/dist/angular/voice-widget.service.d.ts +18 -0
- package/dist/angular/voice-workflow-status.service.d.ts +2 -2
- package/dist/client/actions.d.ts +95 -1
- package/dist/client/agentSquadStatus.d.ts +37 -0
- package/dist/client/agentSquadStatusWidget.d.ts +24 -0
- package/dist/client/audioPlayer.d.ts +2 -2
- package/dist/client/bargeInMonitor.d.ts +7 -0
- package/dist/client/browserMedia.d.ts +8 -0
- package/dist/client/browserNoiseSuppression.d.ts +42 -0
- package/dist/client/browserVoiceSupport.d.ts +22 -0
- package/dist/client/callDebugger.d.ts +21 -0
- package/dist/client/callDebuggerWidget.d.ts +30 -0
- package/dist/client/callPlayer.d.ts +41 -0
- package/dist/client/campaignDialerProof.d.ts +25 -0
- package/dist/client/connection.d.ts +4 -3
- package/dist/client/controller.d.ts +1 -1
- package/dist/client/conversationAnalytics.d.ts +30 -0
- package/dist/client/costDashboard.d.ts +27 -0
- package/dist/client/createVoiceStream.d.ts +1 -1
- package/dist/client/deliveryRuntime.d.ts +36 -0
- package/dist/client/deliveryRuntimeWidget.d.ts +37 -0
- package/dist/client/duplex.d.ts +2 -2
- package/dist/client/htmx.d.ts +1 -1
- package/dist/client/htmxAttributes.d.ts +24 -0
- package/dist/client/htmxBootstrap.js +1029 -73
- package/dist/client/htmxDashboardRenderers.d.ts +71 -0
- package/dist/client/index.d.ts +106 -15
- package/dist/client/index.js +10494 -279
- package/dist/client/liveAgentConsole.d.ts +28 -0
- package/dist/client/liveCallViewer.d.ts +42 -0
- package/dist/client/liveOps.d.ts +22 -0
- package/dist/client/liveOpsWidget.d.ts +23 -0
- package/dist/client/liveTurnLatency.d.ts +41 -0
- package/dist/client/microphone.d.ts +4 -4
- package/dist/client/opsActionCenter.d.ts +56 -0
- package/dist/client/opsActionCenterWidget.d.ts +29 -0
- package/dist/client/opsActionHistory.d.ts +21 -0
- package/dist/client/opsActionHistoryWidget.d.ts +11 -0
- package/dist/client/opsStatus.d.ts +21 -0
- package/dist/client/opsStatusWidget.d.ts +10 -10
- package/dist/client/platformCoverage.d.ts +21 -0
- package/dist/client/platformCoverageWidget.d.ts +38 -0
- package/dist/client/profileComparison.d.ts +21 -0
- package/dist/client/profileComparisonWidget.d.ts +41 -0
- package/dist/client/profileSwitchRecommendation.d.ts +21 -0
- package/dist/client/profileSwitchRecommendationWidget.d.ts +12 -0
- package/dist/client/proofTrends.d.ts +21 -0
- package/dist/client/proofTrendsWidget.d.ts +38 -0
- package/dist/client/providerCapabilities.d.ts +21 -0
- package/dist/client/providerCapabilitiesWidget.d.ts +32 -0
- package/dist/client/providerContracts.d.ts +21 -0
- package/dist/client/providerContractsWidget.d.ts +37 -0
- package/dist/client/providerSimulationControls.d.ts +33 -0
- package/dist/client/providerSimulationControlsWidget.d.ts +20 -0
- package/dist/client/providerStatus.d.ts +5 -3
- package/dist/client/providerStatusWidget.d.ts +32 -0
- package/dist/client/reactiveSource.d.ts +8 -0
- package/dist/client/readinessFailures.d.ts +21 -0
- package/dist/client/readinessFailuresWidget.d.ts +42 -0
- package/dist/client/reconnectProfileEvidence.d.ts +21 -0
- package/dist/client/reconnectProfileEvidenceWidget.d.ts +39 -0
- package/dist/client/replayTimeline.d.ts +26 -0
- package/dist/client/routingStatus.d.ts +21 -0
- package/dist/client/routingStatusWidget.d.ts +32 -0
- package/dist/client/sessionObservability.d.ts +21 -0
- package/dist/client/sessionObservabilityWidget.d.ts +31 -0
- package/dist/client/sessionSnapshot.d.ts +23 -0
- package/dist/client/sessionSnapshotWidget.d.ts +33 -0
- package/dist/client/store.d.ts +1 -1
- package/dist/client/traceTimeline.d.ts +21 -0
- package/dist/client/traceTimelineWidget.d.ts +36 -0
- package/dist/client/turnLatency.d.ts +24 -0
- package/dist/client/turnLatencyWidget.d.ts +33 -0
- package/dist/client/turnQuality.d.ts +21 -0
- package/dist/client/turnQualityWidget.d.ts +32 -0
- package/dist/client/voiceWidgetView.d.ts +48 -0
- package/dist/client/workflowStatus.d.ts +5 -3
- package/dist/{agent.d.ts → core/agent.d.ts} +81 -6
- package/dist/core/agentPerformanceReport.d.ts +40 -0
- package/dist/core/agentSquadContract.d.ts +98 -0
- package/dist/core/agentState.d.ts +12 -0
- package/dist/core/agentTools.d.ts +132 -0
- package/dist/core/aiScorecard.d.ts +32 -0
- package/dist/core/aiVoiceModel.d.ts +15 -0
- package/dist/core/amdDetector.d.ts +25 -0
- package/dist/{assistant.d.ts → core/assistant.d.ts} +14 -14
- package/dist/core/assistantExperiment.d.ts +42 -0
- package/dist/{assistantHealth.d.ts → core/assistantHealth.d.ts} +9 -9
- package/dist/{assistantMemory.d.ts → core/assistantMemory.d.ts} +10 -10
- package/dist/core/assistantMode.d.ts +22 -0
- package/dist/{audioConditioning.d.ts → core/audioConditioning.d.ts} +2 -2
- package/dist/core/audit.d.ts +131 -0
- package/dist/core/auditDeliveryRoutes.d.ts +85 -0
- package/dist/core/auditExport.d.ts +34 -0
- package/dist/core/auditRoutes.d.ts +66 -0
- package/dist/core/auditSinks.d.ts +151 -0
- package/dist/core/backchannel.d.ts +18 -0
- package/dist/core/bargeInRoutes.d.ts +56 -0
- package/dist/core/bookingFlow.d.ts +43 -0
- package/dist/core/browserCallProfiles.d.ts +120 -0
- package/dist/core/browserMediaRoutes.d.ts +62 -0
- package/dist/core/calendarAdapter.d.ts +47 -0
- package/dist/core/calendarSlots.d.ts +35 -0
- package/dist/core/callDebugger.d.ts +66 -0
- package/dist/core/callDisposition.d.ts +38 -0
- package/dist/core/callQuota.d.ts +54 -0
- package/dist/core/callScorecard.d.ts +53 -0
- package/dist/core/callerCRMLinker.d.ts +29 -0
- package/dist/core/callerMemory.d.ts +37 -0
- package/dist/core/callingWindow.d.ts +26 -0
- package/dist/core/campaign.d.ts +795 -0
- package/dist/core/campaignControls.d.ts +37 -0
- package/dist/core/campaignDialers.d.ts +111 -0
- package/dist/core/campaignTemplate.d.ts +16 -0
- package/dist/core/competitiveCoverage.d.ts +141 -0
- package/dist/core/conversationSimulator.d.ts +73 -0
- package/dist/{correction.d.ts → core/correction.d.ts} +5 -4
- package/dist/core/costAccounting.d.ts +76 -0
- package/dist/core/costPredictor.d.ts +74 -0
- package/dist/core/crmCallLogger.d.ts +37 -0
- package/dist/core/crmContract.d.ts +70 -0
- package/dist/core/dataControl.d.ts +180 -0
- package/dist/core/defineVoiceAssistant.d.ts +68 -0
- package/dist/core/deliveryRuntime.d.ts +159 -0
- package/dist/core/deliverySinkRoutes.d.ts +117 -0
- package/dist/core/demoReadyRoutes.d.ts +98 -0
- package/dist/{diagnosticsRoutes.d.ts → core/diagnosticsRoutes.d.ts} +2 -2
- package/dist/core/dncRegistry.d.ts +38 -0
- package/dist/core/dtmfCollector.d.ts +37 -0
- package/dist/{evalRoutes.d.ts → core/evalRoutes.d.ts} +26 -20
- package/dist/{fileStore.d.ts → core/fileStore.d.ts} +34 -20
- package/dist/core/guardrails.d.ts +128 -0
- package/dist/{handoff.d.ts → core/handoff.d.ts} +10 -10
- package/dist/{handoffHealth.d.ts → core/handoffHealth.d.ts} +9 -9
- package/dist/core/holdAudio.d.ts +23 -0
- package/dist/{htmx.d.ts → core/htmx.d.ts} +2 -2
- package/dist/core/htmxDashboardRoutes.d.ts +250 -0
- package/dist/core/iceServers.d.ts +34 -0
- package/dist/core/incidentBundle.d.ts +119 -0
- package/dist/core/incidentTimeline.d.ts +260 -0
- package/dist/core/ivrPlan.d.ts +40 -0
- package/dist/core/latencySlo.d.ts +56 -0
- package/dist/core/liveCoach.d.ts +43 -0
- package/dist/core/liveLatency.d.ts +78 -0
- package/dist/core/liveOps.d.ts +190 -0
- package/dist/core/llmJudge.d.ts +45 -0
- package/dist/{logger.d.ts → core/logger.d.ts} +1 -2
- package/dist/core/mcpToolset.d.ts +58 -0
- package/dist/core/mediaPipelineRoutes.d.ts +171 -0
- package/dist/core/mediaPipelineSurfaces.d.ts +48 -0
- package/dist/{memoryStore.d.ts → core/memoryStore.d.ts} +1 -1
- package/dist/core/midCallSummary.d.ts +27 -0
- package/dist/{modelAdapters.d.ts → core/modelAdapters.d.ts} +59 -7
- package/dist/core/monitor.d.ts +148 -0
- package/dist/core/multilingualProof.d.ts +77 -0
- package/dist/core/noShowPredictor.d.ts +46 -0
- package/dist/core/oauth2TokenSource.d.ts +21 -0
- package/dist/core/observabilityExport.d.ts +501 -0
- package/dist/core/openaiTTS.d.ts +18 -0
- package/dist/core/operationalStatus.d.ts +87 -0
- package/dist/core/operationsRecord.d.ts +371 -0
- package/dist/{ops.d.ts → core/ops.d.ts} +70 -70
- package/dist/core/opsActionAuditRoutes.d.ts +99 -0
- package/dist/{opsConsoleRoutes.d.ts → core/opsConsoleRoutes.d.ts} +11 -8
- package/dist/{opsPresets.d.ts → core/opsPresets.d.ts} +2 -2
- package/dist/core/opsRecovery.d.ts +137 -0
- package/dist/{opsRuntime.d.ts → core/opsRuntime.d.ts} +6 -6
- package/dist/{opsSinks.d.ts → core/opsSinks.d.ts} +19 -19
- package/dist/core/opsStatus.d.ts +76 -0
- package/dist/core/opsStatusRoutes.d.ts +33 -0
- package/dist/{opsWebhook.d.ts → core/opsWebhook.d.ts} +15 -15
- package/dist/core/otelExporter.d.ts +83 -0
- package/dist/core/outcomeContract.d.ts +146 -0
- package/dist/{outcomeRecipes.d.ts → core/outcomeRecipes.d.ts} +4 -4
- package/dist/core/pathway.d.ts +94 -0
- package/dist/core/pathwayCompiler.d.ts +31 -0
- package/dist/core/pathwayGenerator.d.ts +27 -0
- package/dist/core/pathwayRuntime.d.ts +57 -0
- package/dist/core/pathwaySlotCollector.d.ts +29 -0
- package/dist/core/pathwayVisualizer.d.ts +8 -0
- package/dist/core/phoneAgent.d.ts +139 -0
- package/dist/core/phoneAgentProductionSmoke.d.ts +115 -0
- package/dist/core/phoneProvisioning.d.ts +29 -0
- package/dist/core/platformCoverage.d.ts +91 -0
- package/dist/{plugin.d.ts → core/plugin.d.ts} +2 -2
- package/dist/core/postCallAnalysis.d.ts +98 -0
- package/dist/core/postCallSurvey.d.ts +41 -0
- package/dist/{postgresStore.d.ts → core/postgresStore.d.ts} +20 -9
- package/dist/{presets.d.ts → core/presets.d.ts} +3 -3
- package/dist/core/productionReadiness.d.ts +757 -0
- package/dist/core/profileSwitchRecommendation.d.ts +350 -0
- package/dist/core/promptInjectionGuard.d.ts +30 -0
- package/dist/core/proofAssertions.d.ts +32 -0
- package/dist/core/proofPack.d.ts +211 -0
- package/dist/core/proofRunner.d.ts +79 -0
- package/dist/core/proofTrends.d.ts +966 -0
- package/dist/{providerAdapters.d.ts → core/providerAdapters.d.ts} +16 -5
- package/dist/core/providerCapabilities.d.ts +92 -0
- package/dist/core/providerDecisionTraces.d.ts +130 -0
- package/dist/{providerHealth.d.ts → core/providerHealth.d.ts} +15 -5
- package/dist/core/providerOrchestration.d.ts +109 -0
- package/dist/core/providerRouterTraces.d.ts +35 -0
- package/dist/core/providerRoutingContract.d.ts +71 -0
- package/dist/core/providerSlo.d.ts +142 -0
- package/dist/core/providerStackRecommendations.d.ts +188 -0
- package/dist/core/qualityDriftDetector.d.ts +44 -0
- package/dist/{qualityRoutes.d.ts → core/qualityRoutes.d.ts} +7 -7
- package/dist/{queue.d.ts → core/queue.d.ts} +48 -39
- package/dist/core/ragTool.d.ts +52 -0
- package/dist/core/readinessProfiles.d.ts +45 -0
- package/dist/core/realtimeChannel.d.ts +136 -0
- package/dist/core/realtimeProviderContracts.d.ts +133 -0
- package/dist/core/reconnectContract.d.ts +177 -0
- package/dist/core/recordingRedaction.d.ts +47 -0
- package/dist/core/recordingStore.d.ts +60 -0
- package/dist/core/redaction.d.ts +13 -0
- package/dist/core/reminderScheduler.d.ts +43 -0
- package/dist/{resilienceRoutes.d.ts → core/resilienceRoutes.d.ts} +45 -5
- package/dist/core/retention.d.ts +37 -0
- package/dist/core/retryPolicy.d.ts +38 -0
- package/dist/core/routeAuth.d.ts +58 -0
- package/dist/{routing.d.ts → core/routing.d.ts} +2 -2
- package/dist/{runtimeOps.d.ts → core/runtimeOps.d.ts} +3 -3
- package/dist/{s3Store.d.ts → core/s3Store.d.ts} +12 -3
- package/dist/core/scorecardCalibration.d.ts +31 -0
- package/dist/core/semanticTurn.d.ts +27 -0
- package/dist/{session.d.ts → core/session.d.ts} +1 -1
- package/dist/core/sessionObservability.d.ts +145 -0
- package/dist/{sessionReplay.d.ts → core/sessionReplay.d.ts} +31 -19
- package/dist/core/sessionSnapshot.d.ts +109 -0
- package/dist/core/simulationSuite.d.ts +144 -0
- package/dist/core/sloCalibration.d.ts +185 -0
- package/dist/{sqliteStore.d.ts → core/sqliteStore.d.ts} +20 -9
- package/dist/{store.d.ts → core/store.d.ts} +1 -1
- package/dist/core/supervisorPermissions.d.ts +33 -0
- package/dist/core/supervisorPresence.d.ts +49 -0
- package/dist/core/telephonyMediaRoutes.d.ts +72 -0
- package/dist/core/telephonyOutcome.d.ts +269 -0
- package/dist/core/toolContract.d.ts +161 -0
- package/dist/core/toolRuntime.d.ts +50 -0
- package/dist/{trace.d.ts → core/trace.d.ts} +61 -22
- package/dist/core/traceDeliveryRoutes.d.ts +86 -0
- package/dist/core/traceTimeline.d.ts +97 -0
- package/dist/core/transcriptAnnotator.d.ts +41 -0
- package/dist/{turnDetection.d.ts → core/turnDetection.d.ts} +1 -1
- package/dist/core/turnLatency.d.ts +95 -0
- package/dist/core/turnProfiles.d.ts +3 -0
- package/dist/core/turnQuality.d.ts +94 -0
- package/dist/{types.d.ts → core/types.d.ts} +416 -81
- package/dist/core/vapiAdapter.d.ts +160 -0
- package/dist/core/variableAnalytics.d.ts +47 -0
- package/dist/core/voiceConfiguration.d.ts +8 -0
- package/dist/core/voiceMonitoring.d.ts +444 -0
- package/dist/core/webhookFanout.d.ts +48 -0
- package/dist/core/webhookVerification.d.ts +27 -0
- package/dist/core/whisperChannel.d.ts +50 -0
- package/dist/{workflowContract.d.ts → core/workflowContract.d.ts} +21 -21
- package/dist/core/zeroDataRetention.d.ts +31 -0
- package/dist/drizzle/assistantMemory.d.ts +112 -0
- package/dist/drizzle/eval.d.ts +61 -0
- package/dist/drizzle/handoff.d.ts +62 -0
- package/dist/drizzle/incidentBundle.d.ts +61 -0
- package/dist/drizzle/index.d.ts +1105 -0
- package/dist/drizzle/index.js +3059 -0
- package/dist/drizzle/observabilityExport.d.ts +61 -0
- package/dist/drizzle/proofTrends.d.ts +126 -0
- package/dist/drizzle/runtimeStorage.d.ts +1315 -0
- package/dist/drizzle/shared.d.ts +76 -0
- package/dist/embed/index.d.ts +38 -0
- package/dist/embed/index.js +1710 -0
- package/dist/embed/voice-widget.js +10 -0
- package/dist/index.d.ts +369 -74
- package/dist/index.js +45779 -7413
- package/dist/internal/evidence.d.ts +10 -0
- package/dist/internal/html.d.ts +6 -0
- package/dist/internal/status.d.ts +7 -0
- package/dist/react/VoiceAgentSquadStatus.d.ts +5 -0
- package/dist/react/VoiceCallDebuggerLaunch.d.ts +6 -0
- package/dist/react/VoiceCallPlayer.d.ts +11 -0
- package/dist/react/VoiceCostDashboard.d.ts +10 -0
- package/dist/react/VoiceDeliveryRuntime.d.ts +7 -0
- package/dist/react/VoiceLiveAgentConsole.d.ts +11 -0
- package/dist/react/VoiceLiveCallViewer.d.ts +9 -0
- package/dist/react/VoiceOpsActionCenter.d.ts +5 -0
- package/dist/react/VoiceOpsStatus.d.ts +1 -1
- package/dist/react/VoicePlatformCoverage.d.ts +6 -0
- package/dist/react/VoiceProfileComparison.d.ts +6 -0
- package/dist/react/VoiceProfileSwitchRecommendation.d.ts +6 -0
- package/dist/react/VoiceProofTrends.d.ts +6 -0
- package/dist/react/VoiceProviderCapabilities.d.ts +6 -0
- package/dist/react/VoiceProviderContracts.d.ts +6 -0
- package/dist/react/VoiceProviderSimulationControls.d.ts +5 -0
- package/dist/react/VoiceProviderStatus.d.ts +6 -0
- package/dist/react/VoiceReadinessFailures.d.ts +6 -0
- package/dist/react/VoiceReconnectProfileEvidence.d.ts +6 -0
- package/dist/react/VoiceReplayTimeline.d.ts +6 -0
- package/dist/react/VoiceRoutingStatus.d.ts +6 -0
- package/dist/react/VoiceSessionObservability.d.ts +6 -0
- package/dist/react/VoiceSessionSnapshot.d.ts +6 -0
- package/dist/react/VoiceTraceTimeline.d.ts +6 -0
- package/dist/react/VoiceTurnLatency.d.ts +6 -0
- package/dist/react/VoiceTurnQuality.d.ts +6 -0
- package/dist/react/VoiceWidget.d.ts +13 -0
- package/dist/react/index.d.ts +80 -6
- package/dist/react/index.js +12900 -320
- package/dist/react/useVoiceAgentSquadStatus.d.ts +8 -0
- package/dist/react/useVoiceCallDebugger.d.ts +8 -0
- package/dist/react/useVoiceCampaignDialerProof.d.ts +10 -0
- package/dist/react/useVoiceController.d.ts +4 -1
- package/dist/react/useVoiceDeliveryRuntime.d.ts +13 -0
- package/dist/react/useVoiceLiveOps.d.ts +9 -0
- package/dist/react/useVoiceOpsActionCenter.d.ts +11 -0
- package/dist/react/useVoiceOpsStatus.d.ts +8 -0
- package/dist/react/useVoicePlatformCoverage.d.ts +8 -0
- package/dist/react/useVoiceProfileComparison.d.ts +8 -0
- package/dist/react/useVoiceProfileSwitchRecommendation.d.ts +8 -0
- package/dist/react/useVoiceProofTrends.d.ts +8 -0
- package/dist/react/useVoiceProviderCapabilities.d.ts +8 -0
- package/dist/react/useVoiceProviderContracts.d.ts +8 -0
- package/dist/react/useVoiceProviderSimulationControls.d.ts +10 -0
- package/dist/react/useVoiceProviderStatus.d.ts +1 -1
- package/dist/react/useVoiceReadinessFailures.d.ts +8 -0
- package/dist/react/useVoiceReconnectProfileEvidence.d.ts +8 -0
- package/dist/react/useVoiceRoutingStatus.d.ts +8 -0
- package/dist/react/useVoiceSessionObservability.d.ts +8 -0
- package/dist/react/useVoiceSessionSnapshot.d.ts +9 -0
- package/dist/react/useVoiceStream.d.ts +4 -1
- package/dist/react/useVoiceTraceTimeline.d.ts +8 -0
- package/dist/react/useVoiceTurnLatency.d.ts +9 -0
- package/dist/react/useVoiceTurnQuality.d.ts +8 -0
- package/dist/react/useVoiceWorkflowStatus.d.ts +1 -1
- package/dist/svelte/createVoiceAgentSquadStatus.d.ts +9 -0
- package/dist/svelte/createVoiceCallDebugger.d.ts +10 -0
- package/dist/svelte/createVoiceCallPlayer.d.ts +33 -0
- package/dist/svelte/createVoiceCampaignDialerProof.d.ts +9 -0
- package/dist/svelte/createVoiceCostDashboard.d.ts +13 -0
- package/dist/svelte/createVoiceDeliveryRuntime.d.ts +11 -0
- package/dist/svelte/createVoiceLiveAgentConsole.d.ts +23 -0
- package/dist/svelte/createVoiceLiveCallViewer.d.ts +26 -0
- package/dist/svelte/createVoiceLiveOps.d.ts +13 -0
- package/dist/svelte/createVoiceOpsActionCenter.d.ts +10 -0
- package/dist/svelte/createVoiceOpsStatus.d.ts +4 -4
- package/dist/svelte/createVoicePlatformCoverage.d.ts +7 -0
- package/dist/svelte/createVoiceProfileComparison.d.ts +7 -0
- package/dist/svelte/createVoiceProofTrends.d.ts +7 -0
- package/dist/svelte/createVoiceProviderCapabilities.d.ts +10 -0
- package/dist/svelte/createVoiceProviderContracts.d.ts +10 -0
- package/dist/svelte/createVoiceProviderSimulationControls.d.ts +11 -0
- package/dist/svelte/createVoiceProviderStatus.d.ts +5 -3
- package/dist/svelte/createVoiceReadinessFailures.d.ts +7 -0
- package/dist/svelte/createVoiceReconnectProfileEvidence.d.ts +7 -0
- package/dist/svelte/createVoiceReplayTimeline.d.ts +13 -0
- package/dist/svelte/createVoiceRoutingStatus.d.ts +10 -0
- package/dist/svelte/createVoiceSessionObservability.d.ts +10 -0
- package/dist/svelte/createVoiceSessionSnapshot.d.ts +11 -0
- package/dist/svelte/createVoiceStream.d.ts +1 -1
- package/dist/svelte/createVoiceTraceTimeline.d.ts +10 -0
- package/dist/svelte/createVoiceTurnLatency.d.ts +11 -0
- package/dist/svelte/createVoiceTurnQuality.d.ts +10 -0
- package/dist/svelte/createVoiceWidget.d.ts +19 -0
- package/dist/svelte/createVoiceWorkflowStatus.d.ts +2 -2
- package/dist/svelte/index.d.ts +37 -6
- package/dist/svelte/index.js +7047 -768
- package/dist/telephony/contract.d.ts +61 -0
- package/dist/telephony/matrix.d.ts +97 -0
- package/dist/telephony/plivo.d.ts +303 -0
- package/dist/telephony/response.d.ts +1 -1
- package/dist/telephony/security.d.ts +182 -0
- package/dist/telephony/telnyx.d.ts +291 -0
- package/dist/telephony/twilio.d.ts +149 -15
- package/dist/testing/accuracy.d.ts +1 -1
- package/dist/testing/benchmark.d.ts +15 -15
- package/dist/testing/corrected.d.ts +9 -9
- package/dist/testing/duplex.d.ts +5 -5
- package/dist/testing/fixtures.d.ts +4 -4
- package/dist/testing/index.d.ts +13 -13
- package/dist/testing/index.js +5756 -636
- package/dist/testing/ioProviderSimulator.d.ts +5 -5
- package/dist/testing/providerSimulator.d.ts +5 -5
- package/dist/testing/review.d.ts +8 -8
- package/dist/testing/sessionBenchmark.d.ts +13 -13
- package/dist/testing/stt.d.ts +3 -3
- package/dist/testing/telephony.d.ts +27 -2
- package/dist/testing/tts.d.ts +2 -2
- package/dist/vue/VoiceCallDebuggerLaunch.d.ts +72 -0
- package/dist/vue/VoiceCallPlayer.d.ts +40 -0
- package/dist/vue/VoiceCostDashboard.d.ts +57 -0
- package/dist/vue/VoiceDeliveryRuntime.d.ts +34 -0
- package/dist/vue/VoiceLiveAgentConsole.d.ts +50 -0
- package/dist/vue/VoiceLiveCallViewer.d.ts +35 -0
- package/dist/vue/VoiceOpsActionCenter.d.ts +13 -0
- package/dist/vue/VoiceOpsStatus.d.ts +4 -0
- package/dist/vue/VoicePlatformCoverage.d.ts +27 -0
- package/dist/vue/VoiceProofTrends.d.ts +25 -0
- package/dist/vue/VoiceProviderCapabilities.d.ts +55 -0
- package/dist/vue/VoiceProviderContracts.d.ts +25 -0
- package/dist/vue/VoiceProviderSimulationControls.d.ts +88 -0
- package/dist/vue/VoiceProviderStatus.d.ts +55 -0
- package/dist/vue/VoiceReadinessFailures.d.ts +25 -0
- package/dist/vue/VoiceReconnectProfileEvidence.d.ts +25 -0
- package/dist/vue/VoiceReplayTimeline.d.ts +17 -0
- package/dist/vue/VoiceRoutingStatus.d.ts +55 -0
- package/dist/vue/VoiceSessionObservability.d.ts +27 -0
- package/dist/vue/VoiceSessionSnapshot.d.ts +72 -0
- package/dist/vue/VoiceTurnLatency.d.ts +73 -0
- package/dist/vue/VoiceTurnQuality.d.ts +55 -0
- package/dist/vue/VoiceWidget.d.ts +77 -0
- package/dist/vue/index.d.ts +49 -6
- package/dist/vue/index.js +12193 -402
- package/dist/vue/useVoiceAgentSquadStatus.d.ts +9 -0
- package/dist/vue/useVoiceCallDebugger.d.ts +10 -0
- package/dist/vue/useVoiceCampaignDialerProof.d.ts +11 -0
- package/dist/vue/useVoiceController.d.ts +9 -7
- package/dist/vue/useVoiceDeliveryRuntime.d.ts +13 -0
- package/dist/vue/useVoiceLiveOps.d.ts +9 -0
- package/dist/vue/useVoiceOpsActionCenter.d.ts +11 -0
- package/dist/vue/useVoiceOpsStatus.d.ts +9 -0
- package/dist/vue/useVoicePlatformCoverage.d.ts +9 -0
- package/dist/vue/useVoiceProfileComparison.d.ts +9 -0
- package/dist/vue/useVoiceProofTrends.d.ts +9 -0
- package/dist/vue/useVoiceProviderCapabilities.d.ts +9 -0
- package/dist/vue/useVoiceProviderContracts.d.ts +9 -0
- package/dist/vue/useVoiceProviderSimulationControls.d.ts +24 -0
- package/dist/vue/useVoiceProviderStatus.d.ts +3 -3
- package/dist/vue/useVoiceReadinessFailures.d.ts +959 -0
- package/dist/vue/useVoiceReconnectProfileEvidence.d.ts +9 -0
- package/dist/vue/useVoiceRoutingStatus.d.ts +8 -0
- package/dist/vue/useVoiceSessionObservability.d.ts +9 -0
- package/dist/vue/useVoiceSessionSnapshot.d.ts +10 -0
- package/dist/vue/useVoiceStream.d.ts +9 -6
- package/dist/vue/useVoiceTraceTimeline.d.ts +9 -0
- package/dist/vue/useVoiceTurnLatency.d.ts +10 -0
- package/dist/vue/useVoiceTurnQuality.d.ts +9 -0
- package/dist/vue/useVoiceWorkflowStatus.d.ts +3 -3
- package/package.json +154 -256
- package/dist/angular/voice-app-kit-status.service.d.ts +0 -12
- package/dist/angular/voice-ops-status.component.d.ts +0 -15
- package/dist/appKit.d.ts +0 -92
- package/dist/client/appKitStatus.d.ts +0 -19
- package/dist/react/useVoiceAppKitStatus.d.ts +0 -8
- package/dist/svelte/createVoiceAppKitStatus.d.ts +0 -8
- package/dist/turnProfiles.d.ts +0 -6
- package/dist/vue/useVoiceAppKitStatus.d.ts +0 -9
- package/fixtures/README.md +0 -57
- package/fixtures/manifest.json +0 -199
- package/fixtures/pcm/dialogue-three-clean.pcm +0 -0
- package/fixtures/pcm/dialogue-three-mixed.pcm +0 -0
- package/fixtures/pcm/dialogue-two-clean.pcm +0 -0
- package/fixtures/pcm/dialogue-two-noisy.pcm +0 -0
- package/fixtures/pcm/multiturn-three-mixed.pcm +0 -0
- package/fixtures/pcm/multiturn-two-clean.pcm +0 -0
- package/fixtures/pcm/quietly-alone-clean.pcm +0 -0
- package/fixtures/pcm/rainstorms-noisy.pcm +0 -0
- package/fixtures/pcm/stella-bulgaria-bulgarian20.pcm +0 -0
- package/fixtures/pcm/stella-ghana-english507.pcm +0 -0
- package/fixtures/pcm/stella-india-english37.pcm +0 -0
- package/fixtures/pcm/stella-jamaica-jamaican-creole-english1.pcm +0 -0
- package/fixtures/pcm/stella-liberia-liberian-pidgin-english2.pcm +0 -0
- package/fixtures/pcm/stella-pakistan-english519.pcm +0 -0
- package/fixtures/pcm/stella-sierra-leone-krio5.pcm +0 -0
- package/fixtures/pcm/stella-singapore-english655.pcm +0 -0
- package/fixtures/pcm/traveled-back-route-clean.pcm +0 -0
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import { Elysia } from "elysia";
|
|
2
|
+
import type { VoiceProviderSloThresholdConfig } from "./providerSlo";
|
|
3
|
+
import type { VoiceProductionReadinessRoutesOptions } from "./productionReadiness";
|
|
4
|
+
import type { VoiceProofTrendReport } from "./proofTrends";
|
|
5
|
+
export type VoiceSloCalibrationStatus = "fail" | "pass" | "warn";
|
|
6
|
+
export type VoiceSloCalibrationMetricKey = "interruption" | "liveLatency" | "monitorRun" | "notifierDelivery" | "provider" | "reconnect" | "turnLatency";
|
|
7
|
+
export type VoiceSloCalibrationSample = {
|
|
8
|
+
generatedAt?: string;
|
|
9
|
+
interruptionP95Ms?: number;
|
|
10
|
+
liveP95Ms?: number;
|
|
11
|
+
monitorRunP95Ms?: number;
|
|
12
|
+
notifierDeliveryP95Ms?: number;
|
|
13
|
+
ok?: boolean;
|
|
14
|
+
providerP95Ms?: number;
|
|
15
|
+
reconnectP95Ms?: number;
|
|
16
|
+
runId?: string;
|
|
17
|
+
source?: string;
|
|
18
|
+
turnP95Ms?: number;
|
|
19
|
+
};
|
|
20
|
+
export type VoiceSloCalibrationThreshold = {
|
|
21
|
+
baselineP95Ms?: number;
|
|
22
|
+
failAfterMs?: number;
|
|
23
|
+
headroomMultiplier: number;
|
|
24
|
+
maxObservedMs?: number;
|
|
25
|
+
metric: VoiceSloCalibrationMetricKey;
|
|
26
|
+
minimumMs: number;
|
|
27
|
+
recommendedMs?: number;
|
|
28
|
+
samples: number;
|
|
29
|
+
status: VoiceSloCalibrationStatus;
|
|
30
|
+
warnAfterMs?: number;
|
|
31
|
+
};
|
|
32
|
+
export type VoiceSloCalibrationThresholds = {
|
|
33
|
+
interruption: VoiceSloCalibrationThreshold;
|
|
34
|
+
liveLatency: VoiceSloCalibrationThreshold;
|
|
35
|
+
monitorRun: VoiceSloCalibrationThreshold;
|
|
36
|
+
notifierDelivery: VoiceSloCalibrationThreshold;
|
|
37
|
+
provider: VoiceSloCalibrationThreshold;
|
|
38
|
+
reconnect: VoiceSloCalibrationThreshold;
|
|
39
|
+
turnLatency: VoiceSloCalibrationThreshold;
|
|
40
|
+
};
|
|
41
|
+
export type VoiceSloCalibrationReport = {
|
|
42
|
+
generatedAt: string;
|
|
43
|
+
issues: string[];
|
|
44
|
+
minPassingRuns: number;
|
|
45
|
+
ok: boolean;
|
|
46
|
+
passingRuns: number;
|
|
47
|
+
recommendedProviderSloThresholds: VoiceProviderSloThresholdConfig;
|
|
48
|
+
runs: number;
|
|
49
|
+
sources: string[];
|
|
50
|
+
status: VoiceSloCalibrationStatus;
|
|
51
|
+
thresholds: VoiceSloCalibrationThresholds;
|
|
52
|
+
};
|
|
53
|
+
export type VoiceSloThresholdProfile = {
|
|
54
|
+
bargeIn: {
|
|
55
|
+
thresholdMs?: number;
|
|
56
|
+
};
|
|
57
|
+
issues: string[];
|
|
58
|
+
liveLatency: {
|
|
59
|
+
failAfterMs?: number;
|
|
60
|
+
warnAfterMs?: number;
|
|
61
|
+
};
|
|
62
|
+
monitoring: {
|
|
63
|
+
monitorRunFailAfterMs?: number;
|
|
64
|
+
notifierDeliveryFailAfterMs?: number;
|
|
65
|
+
};
|
|
66
|
+
providerSlo: VoiceProviderSloThresholdConfig;
|
|
67
|
+
reconnect: {
|
|
68
|
+
failAfterMs?: number;
|
|
69
|
+
};
|
|
70
|
+
status: VoiceSloCalibrationStatus;
|
|
71
|
+
};
|
|
72
|
+
export type VoiceSloReadinessThresholdOptions = Pick<VoiceProductionReadinessRoutesOptions, "liveLatencyFailAfterMs" | "liveLatencyWarnAfterMs" | "monitoringNotifierDeliveryFailAfterMs" | "monitoringRunFailAfterMs" | "reconnectResumeFailAfterMs">;
|
|
73
|
+
export type VoiceSloReadinessThresholdReport = {
|
|
74
|
+
bargeIn: VoiceSloThresholdProfile["bargeIn"];
|
|
75
|
+
generatedAt: string;
|
|
76
|
+
issues: string[];
|
|
77
|
+
liveLatencyMaxAgeMs?: number;
|
|
78
|
+
ok: boolean;
|
|
79
|
+
providerSlo: VoiceProviderSloThresholdConfig;
|
|
80
|
+
readinessOptions: VoiceSloReadinessThresholdOptions;
|
|
81
|
+
sources: string[];
|
|
82
|
+
status: VoiceSloCalibrationStatus;
|
|
83
|
+
};
|
|
84
|
+
export type VoiceSloCalibrationOptions = {
|
|
85
|
+
headroomMultiplier?: number;
|
|
86
|
+
liveLatencyMinimumMs?: number;
|
|
87
|
+
minPassingRuns?: number;
|
|
88
|
+
monitorRunMinimumMs?: number;
|
|
89
|
+
notifierDeliveryMinimumMs?: number;
|
|
90
|
+
providerMinimumMs?: number;
|
|
91
|
+
reconnectMinimumMs?: number;
|
|
92
|
+
interruptionMinimumMs?: number;
|
|
93
|
+
turnLatencyMinimumMs?: number;
|
|
94
|
+
warnRatio?: number;
|
|
95
|
+
};
|
|
96
|
+
export type VoiceSloCalibrationRoutesOptions = VoiceSloCalibrationOptions & {
|
|
97
|
+
headers?: HeadersInit;
|
|
98
|
+
markdownPath?: false | string;
|
|
99
|
+
name?: string;
|
|
100
|
+
path?: string;
|
|
101
|
+
source: (() => Promise<Array<VoiceProofTrendReport | VoiceSloCalibrationSample>> | Array<VoiceProofTrendReport | VoiceSloCalibrationSample>) | Array<VoiceProofTrendReport | VoiceSloCalibrationSample>;
|
|
102
|
+
title?: string;
|
|
103
|
+
};
|
|
104
|
+
export type VoiceSloReadinessThresholdReportOptions = VoiceSloCalibrationOptions & {
|
|
105
|
+
liveLatencyMaxAgeMs?: number;
|
|
106
|
+
};
|
|
107
|
+
export type VoiceSloReadinessThresholdRoutesOptions = VoiceSloReadinessThresholdReportOptions & {
|
|
108
|
+
headers?: HeadersInit;
|
|
109
|
+
htmlPath?: false | string;
|
|
110
|
+
markdownPath?: false | string;
|
|
111
|
+
name?: string;
|
|
112
|
+
path?: string;
|
|
113
|
+
source: (() => Promise<VoiceSloCalibrationReport | VoiceSloThresholdProfile | Array<VoiceProofTrendReport | VoiceSloCalibrationSample>> | VoiceSloCalibrationReport | VoiceSloThresholdProfile | Array<VoiceProofTrendReport | VoiceSloCalibrationSample>) | VoiceSloCalibrationReport | VoiceSloThresholdProfile | Array<VoiceProofTrendReport | VoiceSloCalibrationSample>;
|
|
114
|
+
title?: string;
|
|
115
|
+
};
|
|
116
|
+
export declare const assertVoiceSloCalibration: (input: Array<VoiceProofTrendReport | VoiceSloCalibrationSample>, options?: VoiceSloCalibrationOptions) => VoiceSloCalibrationReport;
|
|
117
|
+
export declare const buildVoiceSloCalibrationReport: (input: Array<VoiceProofTrendReport | VoiceSloCalibrationSample>, options?: VoiceSloCalibrationOptions) => VoiceSloCalibrationReport;
|
|
118
|
+
export declare const buildVoiceSloReadinessThresholdReport: (input: VoiceSloCalibrationReport | VoiceSloThresholdProfile | Array<VoiceProofTrendReport | VoiceSloCalibrationSample>, options?: VoiceSloReadinessThresholdReportOptions) => VoiceSloReadinessThresholdReport;
|
|
119
|
+
export declare const createVoiceSloReadinessThresholdOptions: (input: VoiceSloCalibrationReport | VoiceSloThresholdProfile | Array<VoiceProofTrendReport | VoiceSloCalibrationSample>, options?: VoiceSloCalibrationOptions) => VoiceSloReadinessThresholdOptions;
|
|
120
|
+
export declare const createVoiceSloThresholdProfile: (input: VoiceSloCalibrationReport | Array<VoiceProofTrendReport | VoiceSloCalibrationSample>, options?: VoiceSloCalibrationOptions) => VoiceSloThresholdProfile;
|
|
121
|
+
export declare const createVoiceSloCalibrationRoutes: (options: VoiceSloCalibrationRoutesOptions) => Elysia<"", {
|
|
122
|
+
decorator: {};
|
|
123
|
+
store: {};
|
|
124
|
+
derive: {};
|
|
125
|
+
resolve: {};
|
|
126
|
+
}, {
|
|
127
|
+
typebox: {};
|
|
128
|
+
error: {};
|
|
129
|
+
}, {
|
|
130
|
+
schema: {};
|
|
131
|
+
standaloneSchema: {};
|
|
132
|
+
macro: {};
|
|
133
|
+
macroFn: {};
|
|
134
|
+
parser: {};
|
|
135
|
+
response: {};
|
|
136
|
+
}, {}, {
|
|
137
|
+
derive: {};
|
|
138
|
+
resolve: {};
|
|
139
|
+
schema: {};
|
|
140
|
+
standaloneSchema: {};
|
|
141
|
+
response: {};
|
|
142
|
+
}, {
|
|
143
|
+
derive: {};
|
|
144
|
+
resolve: {};
|
|
145
|
+
schema: {};
|
|
146
|
+
standaloneSchema: {};
|
|
147
|
+
response: {};
|
|
148
|
+
}>;
|
|
149
|
+
export declare const createVoiceSloReadinessThresholdRoutes: (options: VoiceSloReadinessThresholdRoutesOptions) => Elysia<"", {
|
|
150
|
+
decorator: {};
|
|
151
|
+
store: {};
|
|
152
|
+
derive: {};
|
|
153
|
+
resolve: {};
|
|
154
|
+
}, {
|
|
155
|
+
typebox: {};
|
|
156
|
+
error: {};
|
|
157
|
+
}, {
|
|
158
|
+
schema: {};
|
|
159
|
+
standaloneSchema: {};
|
|
160
|
+
macro: {};
|
|
161
|
+
macroFn: {};
|
|
162
|
+
parser: {};
|
|
163
|
+
response: {};
|
|
164
|
+
}, {}, {
|
|
165
|
+
derive: {};
|
|
166
|
+
resolve: {};
|
|
167
|
+
schema: {};
|
|
168
|
+
standaloneSchema: {};
|
|
169
|
+
response: {};
|
|
170
|
+
}, {
|
|
171
|
+
derive: {};
|
|
172
|
+
resolve: {};
|
|
173
|
+
schema: {};
|
|
174
|
+
standaloneSchema: {};
|
|
175
|
+
response: {};
|
|
176
|
+
}>;
|
|
177
|
+
export declare const renderVoiceSloCalibrationMarkdown: (report: VoiceSloCalibrationReport, options?: {
|
|
178
|
+
title?: string;
|
|
179
|
+
}) => string;
|
|
180
|
+
export declare const renderVoiceSloReadinessThresholdHTML: (report: VoiceSloReadinessThresholdReport, options?: {
|
|
181
|
+
title?: string;
|
|
182
|
+
}) => string;
|
|
183
|
+
export declare const renderVoiceSloReadinessThresholdMarkdown: (report: VoiceSloReadinessThresholdReport, options?: {
|
|
184
|
+
title?: string;
|
|
185
|
+
}) => string;
|
|
@@ -1,13 +1,20 @@
|
|
|
1
|
-
import { type StoredVoiceTraceEvent, type VoiceTraceSinkDeliveryRecord, type VoiceTraceSinkDeliveryStore, type VoiceTraceEventStore } from
|
|
2
|
-
import
|
|
3
|
-
import type {
|
|
4
|
-
import type {
|
|
1
|
+
import { type StoredVoiceTraceEvent, type VoiceTraceSinkDeliveryRecord, type VoiceTraceSinkDeliveryStore, type VoiceTraceEventStore } from "./trace";
|
|
2
|
+
import { type StoredVoiceAuditEvent, type VoiceAuditEventStore } from "./audit";
|
|
3
|
+
import type { VoiceAuditSinkDeliveryRecord, VoiceAuditSinkDeliveryStore } from "./auditSinks";
|
|
4
|
+
import type { StoredVoiceIntegrationEvent, StoredVoiceExternalObjectMap, StoredVoiceOpsTask, VoiceExternalObjectMapStore, VoiceIntegrationEventStore, VoiceOpsTaskStore } from "./ops";
|
|
5
|
+
import type { StoredVoiceCallReviewArtifact, VoiceCallReviewStore } from "../testing/review";
|
|
6
|
+
import type { VoiceTelephonyWebhookIdempotencyStore } from "./telephonyOutcome";
|
|
7
|
+
import type { VoiceCampaignStore } from "./campaign";
|
|
8
|
+
import type { VoiceSessionRecord, VoiceSessionStore } from "./types";
|
|
5
9
|
export type VoiceSQLiteStoreOptions = {
|
|
6
10
|
path: string;
|
|
7
11
|
tableName?: string;
|
|
8
12
|
tablePrefix?: string;
|
|
9
13
|
};
|
|
10
|
-
export type VoiceSQLiteRuntimeStorage<TSession extends VoiceSessionRecord = VoiceSessionRecord, TReview extends StoredVoiceCallReviewArtifact = StoredVoiceCallReviewArtifact, TTask extends StoredVoiceOpsTask = StoredVoiceOpsTask, TEvent extends StoredVoiceIntegrationEvent = StoredVoiceIntegrationEvent, TMapping extends StoredVoiceExternalObjectMap = StoredVoiceExternalObjectMap, TTrace extends StoredVoiceTraceEvent = StoredVoiceTraceEvent, TTraceDelivery extends VoiceTraceSinkDeliveryRecord = VoiceTraceSinkDeliveryRecord> = {
|
|
14
|
+
export type VoiceSQLiteRuntimeStorage<TSession extends VoiceSessionRecord = VoiceSessionRecord, TReview extends StoredVoiceCallReviewArtifact = StoredVoiceCallReviewArtifact, TTask extends StoredVoiceOpsTask = StoredVoiceOpsTask, TEvent extends StoredVoiceIntegrationEvent = StoredVoiceIntegrationEvent, TMapping extends StoredVoiceExternalObjectMap = StoredVoiceExternalObjectMap, TTrace extends StoredVoiceTraceEvent = StoredVoiceTraceEvent, TTraceDelivery extends VoiceTraceSinkDeliveryRecord = VoiceTraceSinkDeliveryRecord, TAudit extends StoredVoiceAuditEvent = StoredVoiceAuditEvent, TAuditDelivery extends VoiceAuditSinkDeliveryRecord = VoiceAuditSinkDeliveryRecord> = {
|
|
15
|
+
audit: VoiceAuditEventStore<TAudit>;
|
|
16
|
+
auditDeliveries: VoiceAuditSinkDeliveryStore<TAuditDelivery>;
|
|
17
|
+
campaigns: VoiceCampaignStore;
|
|
11
18
|
events: VoiceIntegrationEventStore<TEvent>;
|
|
12
19
|
externalObjects: VoiceExternalObjectMapStore<TMapping>;
|
|
13
20
|
reviews: VoiceCallReviewStore<TReview>;
|
|
@@ -16,11 +23,15 @@ export type VoiceSQLiteRuntimeStorage<TSession extends VoiceSessionRecord = Voic
|
|
|
16
23
|
traceDeliveries: VoiceTraceSinkDeliveryStore<TTraceDelivery>;
|
|
17
24
|
traces: VoiceTraceEventStore<TTrace>;
|
|
18
25
|
};
|
|
19
|
-
export declare const
|
|
26
|
+
export declare const createVoiceSQLiteAuditEventStore: <TEvent extends StoredVoiceAuditEvent = StoredVoiceAuditEvent>(options: VoiceSQLiteStoreOptions) => VoiceAuditEventStore<TEvent>;
|
|
27
|
+
export declare const createVoiceSQLiteAuditSinkDeliveryStore: <TDelivery extends VoiceAuditSinkDeliveryRecord = VoiceAuditSinkDeliveryRecord>(options: VoiceSQLiteStoreOptions) => VoiceAuditSinkDeliveryStore<TDelivery>;
|
|
28
|
+
export declare const createVoiceSQLiteCampaignStore: (options: VoiceSQLiteStoreOptions) => VoiceCampaignStore;
|
|
29
|
+
export declare const createVoiceSQLiteExternalObjectMapStore: <TMapping extends StoredVoiceExternalObjectMap = StoredVoiceExternalObjectMap>(options: VoiceSQLiteStoreOptions) => VoiceExternalObjectMapStore<TMapping>;
|
|
30
|
+
export declare const createVoiceSQLiteIntegrationEventStore: <TEvent extends StoredVoiceIntegrationEvent = StoredVoiceIntegrationEvent>(options: VoiceSQLiteStoreOptions) => VoiceIntegrationEventStore<TEvent>;
|
|
20
31
|
export declare const createVoiceSQLiteReviewStore: <TArtifact extends StoredVoiceCallReviewArtifact = StoredVoiceCallReviewArtifact>(options: VoiceSQLiteStoreOptions) => VoiceCallReviewStore<TArtifact>;
|
|
32
|
+
export declare const createVoiceSQLiteRuntimeStorage: <TSession extends VoiceSessionRecord = VoiceSessionRecord, TReview extends StoredVoiceCallReviewArtifact = StoredVoiceCallReviewArtifact, TTask extends StoredVoiceOpsTask = StoredVoiceOpsTask, TEvent extends StoredVoiceIntegrationEvent = StoredVoiceIntegrationEvent, TMapping extends StoredVoiceExternalObjectMap = StoredVoiceExternalObjectMap, TTrace extends StoredVoiceTraceEvent = StoredVoiceTraceEvent, TTraceDelivery extends VoiceTraceSinkDeliveryRecord = VoiceTraceSinkDeliveryRecord, TAudit extends StoredVoiceAuditEvent = StoredVoiceAuditEvent, TAuditDelivery extends VoiceAuditSinkDeliveryRecord = VoiceAuditSinkDeliveryRecord>(options: VoiceSQLiteStoreOptions) => VoiceSQLiteRuntimeStorage<TSession, TReview, TTask, TEvent, TMapping, TTrace, TTraceDelivery, TAudit, TAuditDelivery>;
|
|
33
|
+
export declare const createVoiceSQLiteSessionStore: <TSession extends VoiceSessionRecord = VoiceSessionRecord>(options: VoiceSQLiteStoreOptions) => VoiceSessionStore<TSession>;
|
|
21
34
|
export declare const createVoiceSQLiteTaskStore: <TTask extends StoredVoiceOpsTask = StoredVoiceOpsTask>(options: VoiceSQLiteStoreOptions) => VoiceOpsTaskStore<TTask>;
|
|
22
|
-
export declare const
|
|
23
|
-
export declare const createVoiceSQLiteExternalObjectMapStore: <TMapping extends StoredVoiceExternalObjectMap = StoredVoiceExternalObjectMap>(options: VoiceSQLiteStoreOptions) => VoiceExternalObjectMapStore<TMapping>;
|
|
35
|
+
export declare const createVoiceSQLiteTelephonyWebhookIdempotencyStore: <TResult = unknown>(options: VoiceSQLiteStoreOptions) => VoiceTelephonyWebhookIdempotencyStore<TResult>;
|
|
24
36
|
export declare const createVoiceSQLiteTraceEventStore: <TEvent extends StoredVoiceTraceEvent = StoredVoiceTraceEvent>(options: VoiceSQLiteStoreOptions) => VoiceTraceEventStore<TEvent>;
|
|
25
37
|
export declare const createVoiceSQLiteTraceSinkDeliveryStore: <TDelivery extends VoiceTraceSinkDeliveryRecord = VoiceTraceSinkDeliveryRecord>(options: VoiceSQLiteStoreOptions) => VoiceTraceSinkDeliveryStore<TDelivery>;
|
|
26
|
-
export declare const createVoiceSQLiteRuntimeStorage: <TSession extends VoiceSessionRecord = VoiceSessionRecord, TReview extends StoredVoiceCallReviewArtifact = StoredVoiceCallReviewArtifact, TTask extends StoredVoiceOpsTask = StoredVoiceOpsTask, TEvent extends StoredVoiceIntegrationEvent = StoredVoiceIntegrationEvent, TMapping extends StoredVoiceExternalObjectMap = StoredVoiceExternalObjectMap, TTrace extends StoredVoiceTraceEvent = StoredVoiceTraceEvent, TTraceDelivery extends VoiceTraceSinkDeliveryRecord = VoiceTraceSinkDeliveryRecord>(options: VoiceSQLiteStoreOptions) => VoiceSQLiteRuntimeStorage<TSession, TReview, TTask, TEvent, TMapping, TTrace, TTraceDelivery>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Transcript, VoiceSessionRecord, VoiceSessionSummary } from
|
|
1
|
+
import type { Transcript, VoiceSessionRecord, VoiceSessionSummary } from "./types";
|
|
2
2
|
export declare const createId: () => `${string}-${string}-${string}-${string}-${string}`;
|
|
3
3
|
export declare const createTranscript: (text: string, input?: Partial<Transcript>) => Transcript;
|
|
4
4
|
export declare const createVoiceSessionRecord: <TSession extends VoiceSessionRecord = VoiceSessionRecord>(id: string, scenarioId?: string) => TSession;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export type VoiceSupervisorCapability = "monitor" | "annotate" | "coach" | "whisper" | "barge" | "takeover" | "release" | "end-call" | "view-pii" | "export-recording";
|
|
2
|
+
export type VoiceSupervisorTier = "monitor-only" | "annotate" | "coach" | "whisper" | "full-control";
|
|
3
|
+
export type VoiceSupervisorPermission = {
|
|
4
|
+
supervisorId: string;
|
|
5
|
+
tier: VoiceSupervisorTier;
|
|
6
|
+
extraCapabilities?: VoiceSupervisorCapability[];
|
|
7
|
+
deniedCapabilities?: VoiceSupervisorCapability[];
|
|
8
|
+
expiresAt?: number;
|
|
9
|
+
};
|
|
10
|
+
export type VoiceSupervisorPermissionCheck = {
|
|
11
|
+
allowed: boolean;
|
|
12
|
+
reason?: "no-permission" | "expired" | "denied" | "tier-too-low";
|
|
13
|
+
};
|
|
14
|
+
export type CreateVoiceSupervisorPermissionsOptions = {
|
|
15
|
+
defaultTier?: VoiceSupervisorTier;
|
|
16
|
+
permissions?: VoiceSupervisorPermission[];
|
|
17
|
+
now?: () => number;
|
|
18
|
+
};
|
|
19
|
+
export declare const createVoiceSupervisorPermissions: (options?: CreateVoiceSupervisorPermissionsOptions) => {
|
|
20
|
+
can: (supervisorId: string, capability: VoiceSupervisorCapability) => VoiceSupervisorPermissionCheck;
|
|
21
|
+
capabilitiesFor: (supervisorId: string) => VoiceSupervisorCapability[];
|
|
22
|
+
enforce: (supervisorId: string, capability: VoiceSupervisorCapability) => void;
|
|
23
|
+
get: (supervisorId: string) => VoiceSupervisorPermission | null;
|
|
24
|
+
grant: (supervisorId: string, tier: VoiceSupervisorTier, options?: {
|
|
25
|
+
extraCapabilities?: VoiceSupervisorCapability[];
|
|
26
|
+
deniedCapabilities?: VoiceSupervisorCapability[];
|
|
27
|
+
expiresAt?: number;
|
|
28
|
+
}) => VoiceSupervisorPermission;
|
|
29
|
+
revoke: (supervisorId: string) => boolean;
|
|
30
|
+
tiers: () => VoiceSupervisorTier[];
|
|
31
|
+
};
|
|
32
|
+
export type VoiceSupervisorPermissions = ReturnType<typeof createVoiceSupervisorPermissions>;
|
|
33
|
+
export declare const VOICE_SUPERVISOR_TIER_CAPABILITIES: Record<VoiceSupervisorTier, VoiceSupervisorCapability[]>;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export type VoiceSupervisorRole = "viewer" | "coach" | "whisperer" | "owner";
|
|
2
|
+
export type VoiceSupervisorWatcher = {
|
|
3
|
+
supervisorId: string;
|
|
4
|
+
sessionId: string;
|
|
5
|
+
joinedAt: number;
|
|
6
|
+
lastSeenAt: number;
|
|
7
|
+
role: VoiceSupervisorRole;
|
|
8
|
+
displayName?: string;
|
|
9
|
+
};
|
|
10
|
+
export type VoiceSupervisorPresenceEvent = {
|
|
11
|
+
type: "join";
|
|
12
|
+
watcher: VoiceSupervisorWatcher;
|
|
13
|
+
} | {
|
|
14
|
+
type: "leave";
|
|
15
|
+
supervisorId: string;
|
|
16
|
+
sessionId: string;
|
|
17
|
+
at: number;
|
|
18
|
+
} | {
|
|
19
|
+
type: "role-change";
|
|
20
|
+
supervisorId: string;
|
|
21
|
+
sessionId: string;
|
|
22
|
+
from: VoiceSupervisorRole;
|
|
23
|
+
to: VoiceSupervisorRole;
|
|
24
|
+
at: number;
|
|
25
|
+
} | {
|
|
26
|
+
type: "heartbeat";
|
|
27
|
+
supervisorId: string;
|
|
28
|
+
sessionId: string;
|
|
29
|
+
at: number;
|
|
30
|
+
};
|
|
31
|
+
export type CreateVoiceSupervisorPresenceOptions = {
|
|
32
|
+
staleAfterMs?: number;
|
|
33
|
+
now?: () => number;
|
|
34
|
+
};
|
|
35
|
+
export declare const createVoiceSupervisorPresence: (options?: CreateVoiceSupervisorPresenceOptions) => {
|
|
36
|
+
heartbeat: (sessionId: string, supervisorId: string) => boolean;
|
|
37
|
+
join: (input: {
|
|
38
|
+
supervisorId: string;
|
|
39
|
+
sessionId: string;
|
|
40
|
+
role?: VoiceSupervisorRole;
|
|
41
|
+
displayName?: string;
|
|
42
|
+
}) => VoiceSupervisorWatcher;
|
|
43
|
+
leave: (sessionId: string, supervisorId: string) => boolean;
|
|
44
|
+
list: (sessionId: string) => VoiceSupervisorWatcher[];
|
|
45
|
+
setRole: (sessionId: string, supervisorId: string, role: VoiceSupervisorRole) => boolean;
|
|
46
|
+
sessionsWatchedBy(supervisorId: string): string[];
|
|
47
|
+
subscribe(listener: (event: VoiceSupervisorPresenceEvent) => void): () => void;
|
|
48
|
+
};
|
|
49
|
+
export type VoiceSupervisorPresence = ReturnType<typeof createVoiceSupervisorPresence>;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { Elysia } from "elysia";
|
|
2
|
+
import type { MediaFrame, MediaTelephonyCarrier, MediaTelephonyEnvelope, MediaTelephonyStreamLifecycleReport } from "@absolutejs/media";
|
|
3
|
+
import type { VoiceTraceEventStore } from "./trace";
|
|
4
|
+
export type VoiceTelephonyMediaStatus = "fail" | "pass";
|
|
5
|
+
export type VoiceTelephonyMediaCarrierInput = {
|
|
6
|
+
carrier: MediaTelephonyCarrier;
|
|
7
|
+
envelope?: MediaTelephonyEnvelope;
|
|
8
|
+
lifecycleEnvelopes?: readonly MediaTelephonyEnvelope[];
|
|
9
|
+
};
|
|
10
|
+
export type VoiceTelephonyMediaCarrierReport = {
|
|
11
|
+
audioBytes: number;
|
|
12
|
+
carrier: MediaTelephonyCarrier;
|
|
13
|
+
frame?: MediaFrame;
|
|
14
|
+
issues: string[];
|
|
15
|
+
lifecycle: MediaTelephonyStreamLifecycleReport;
|
|
16
|
+
serialized?: MediaTelephonyEnvelope;
|
|
17
|
+
status: VoiceTelephonyMediaStatus;
|
|
18
|
+
};
|
|
19
|
+
export type VoiceTelephonyMediaReport = {
|
|
20
|
+
carriers: readonly VoiceTelephonyMediaCarrierReport[];
|
|
21
|
+
checkedAt: number;
|
|
22
|
+
issues: string[];
|
|
23
|
+
status: VoiceTelephonyMediaStatus;
|
|
24
|
+
};
|
|
25
|
+
export type VoiceTelephonyMediaRoutesOptions = {
|
|
26
|
+
carriers?: readonly VoiceTelephonyMediaCarrierInput[];
|
|
27
|
+
headers?: HeadersInit;
|
|
28
|
+
htmlPath?: false | string;
|
|
29
|
+
name?: string;
|
|
30
|
+
path?: string;
|
|
31
|
+
store?: VoiceTraceEventStore;
|
|
32
|
+
title?: string;
|
|
33
|
+
};
|
|
34
|
+
export type VoiceTelephonyMediaTraceReportOptions = {
|
|
35
|
+
carriers?: readonly MediaTelephonyCarrier[];
|
|
36
|
+
store: VoiceTraceEventStore;
|
|
37
|
+
};
|
|
38
|
+
export declare const buildVoiceTelephonyMediaReport: (input?: {
|
|
39
|
+
carriers?: readonly VoiceTelephonyMediaCarrierInput[];
|
|
40
|
+
}) => VoiceTelephonyMediaReport;
|
|
41
|
+
export declare const createVoiceTelephonyMediaRoutes: (options?: VoiceTelephonyMediaRoutesOptions) => Elysia<"", {
|
|
42
|
+
decorator: {};
|
|
43
|
+
store: {};
|
|
44
|
+
derive: {};
|
|
45
|
+
resolve: {};
|
|
46
|
+
}, {
|
|
47
|
+
typebox: {};
|
|
48
|
+
error: {};
|
|
49
|
+
}, {
|
|
50
|
+
schema: {};
|
|
51
|
+
standaloneSchema: {};
|
|
52
|
+
macro: {};
|
|
53
|
+
macroFn: {};
|
|
54
|
+
parser: {};
|
|
55
|
+
response: {};
|
|
56
|
+
}, {}, {
|
|
57
|
+
derive: {};
|
|
58
|
+
resolve: {};
|
|
59
|
+
schema: {};
|
|
60
|
+
standaloneSchema: {};
|
|
61
|
+
response: {};
|
|
62
|
+
}, {
|
|
63
|
+
derive: {};
|
|
64
|
+
resolve: {};
|
|
65
|
+
schema: {};
|
|
66
|
+
standaloneSchema: {};
|
|
67
|
+
response: {};
|
|
68
|
+
}>;
|
|
69
|
+
export declare const getLatestVoiceTelephonyMediaReport: (options: VoiceTelephonyMediaTraceReportOptions) => Promise<VoiceTelephonyMediaReport | undefined>;
|
|
70
|
+
export declare const renderVoiceTelephonyMediaHTML: (report: VoiceTelephonyMediaReport, options?: {
|
|
71
|
+
title?: string;
|
|
72
|
+
}) => string;
|
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
import { Elysia } from "elysia";
|
|
2
|
+
import type { VoiceCallDisposition, VoiceRouteResult, VoiceSessionHandle, VoiceSessionRecord } from "./types";
|
|
3
|
+
export type VoiceTelephonyOutcomeAction = "complete" | "escalate" | "ignore" | "no-answer" | "transfer" | "voicemail";
|
|
4
|
+
export type VoiceTelephonyOutcomeProviderEvent = {
|
|
5
|
+
answeredBy?: string;
|
|
6
|
+
durationMs?: number;
|
|
7
|
+
from?: string;
|
|
8
|
+
metadata?: Record<string, unknown>;
|
|
9
|
+
provider?: string;
|
|
10
|
+
reason?: string;
|
|
11
|
+
sipCode?: number;
|
|
12
|
+
status?: string;
|
|
13
|
+
target?: string;
|
|
14
|
+
to?: string;
|
|
15
|
+
};
|
|
16
|
+
export type VoiceTelephonyOutcomeDecision = {
|
|
17
|
+
action: VoiceTelephonyOutcomeAction;
|
|
18
|
+
confidence: "high" | "low" | "medium";
|
|
19
|
+
disposition?: VoiceCallDisposition;
|
|
20
|
+
metadata?: Record<string, unknown>;
|
|
21
|
+
reason?: string;
|
|
22
|
+
source: "answered-by" | "duration" | "explicit-target" | "policy" | "sip" | "status";
|
|
23
|
+
target?: string;
|
|
24
|
+
};
|
|
25
|
+
export type VoiceTelephonyOutcomeStatusDecision = VoiceTelephonyOutcomeAction | (Omit<VoiceTelephonyOutcomeDecision, "confidence" | "source"> & {
|
|
26
|
+
confidence?: VoiceTelephonyOutcomeDecision["confidence"];
|
|
27
|
+
source?: VoiceTelephonyOutcomeDecision["source"];
|
|
28
|
+
});
|
|
29
|
+
export type VoiceTelephonyOutcomePolicy = {
|
|
30
|
+
completedStatuses?: string[];
|
|
31
|
+
escalationStatuses?: string[];
|
|
32
|
+
failedAsNoAnswer?: boolean;
|
|
33
|
+
failedStatuses?: string[];
|
|
34
|
+
includeProviderPayload?: boolean;
|
|
35
|
+
machineDetectionVoicemailValues?: string[];
|
|
36
|
+
metadata?: Record<string, unknown>;
|
|
37
|
+
minAnsweredDurationMs?: number;
|
|
38
|
+
noAnswerOnZeroDuration?: boolean;
|
|
39
|
+
noAnswerSipCodes?: number[];
|
|
40
|
+
noAnswerStatuses?: string[];
|
|
41
|
+
statusMap?: Record<string, VoiceTelephonyOutcomeStatusDecision>;
|
|
42
|
+
transferStatuses?: string[];
|
|
43
|
+
transferTarget?: string | ((event: VoiceTelephonyOutcomeProviderEvent) => string | undefined);
|
|
44
|
+
voicemailStatuses?: string[];
|
|
45
|
+
};
|
|
46
|
+
export type VoiceTelephonyOutcomeRouteResult<TResult = unknown> = VoiceRouteResult<TResult>;
|
|
47
|
+
export type VoiceTelephonyWebhookProvider = "generic" | "plivo" | "telnyx" | "twilio";
|
|
48
|
+
export type VoiceTelephonyWebhookParseInput = {
|
|
49
|
+
body: unknown;
|
|
50
|
+
headers: Headers;
|
|
51
|
+
provider: VoiceTelephonyWebhookProvider;
|
|
52
|
+
query: Record<string, unknown>;
|
|
53
|
+
request: Request;
|
|
54
|
+
};
|
|
55
|
+
export type VoiceTelephonyWebhookDecision<TResult = unknown> = {
|
|
56
|
+
applied: boolean;
|
|
57
|
+
decision: VoiceTelephonyOutcomeDecision;
|
|
58
|
+
duplicate?: boolean;
|
|
59
|
+
event: VoiceTelephonyOutcomeProviderEvent;
|
|
60
|
+
idempotencyKey?: string;
|
|
61
|
+
routeResult: VoiceTelephonyOutcomeRouteResult<TResult>;
|
|
62
|
+
sessionId?: string;
|
|
63
|
+
};
|
|
64
|
+
export type StoredVoiceTelephonyWebhookDecision<TResult = unknown> = VoiceTelephonyWebhookDecision<TResult> & {
|
|
65
|
+
createdAt: number;
|
|
66
|
+
updatedAt: number;
|
|
67
|
+
};
|
|
68
|
+
export type VoiceTelephonyWebhookNormalizationEvidenceDecision = {
|
|
69
|
+
action?: VoiceTelephonyOutcomeAction | string;
|
|
70
|
+
applied?: boolean;
|
|
71
|
+
decision?: {
|
|
72
|
+
action?: VoiceTelephonyOutcomeAction | string;
|
|
73
|
+
disposition?: VoiceCallDisposition | string;
|
|
74
|
+
source?: VoiceTelephonyOutcomeDecision["source"] | string;
|
|
75
|
+
};
|
|
76
|
+
disposition?: VoiceCallDisposition | string;
|
|
77
|
+
duplicate?: boolean;
|
|
78
|
+
campaignOutcome?: unknown;
|
|
79
|
+
event?: VoiceTelephonyOutcomeProviderEvent;
|
|
80
|
+
idempotencyKey?: string;
|
|
81
|
+
provider?: VoiceTelephonyWebhookProvider | string;
|
|
82
|
+
routeResult?: unknown;
|
|
83
|
+
sessionId?: string;
|
|
84
|
+
source?: VoiceTelephonyOutcomeDecision["source"] | string;
|
|
85
|
+
};
|
|
86
|
+
export type VoiceTelephonyWebhookVerificationEvidenceAttempt = {
|
|
87
|
+
decisions?: number;
|
|
88
|
+
provider?: VoiceTelephonyWebhookProvider | string;
|
|
89
|
+
rejected?: boolean;
|
|
90
|
+
replayRejected?: boolean;
|
|
91
|
+
sideEffects?: number;
|
|
92
|
+
status?: number;
|
|
93
|
+
verification?: VoiceTelephonyWebhookVerificationResult;
|
|
94
|
+
};
|
|
95
|
+
export type VoiceTelephonyWebhookNormalizationEvidenceInput = {
|
|
96
|
+
decisions?: VoiceTelephonyWebhookNormalizationEvidenceDecision[];
|
|
97
|
+
maxMissingSessionIds?: number;
|
|
98
|
+
minApplied?: number;
|
|
99
|
+
minDecisions?: number;
|
|
100
|
+
minDuplicateIdempotencyKeys?: number;
|
|
101
|
+
minDuplicates?: number;
|
|
102
|
+
maxDuplicateCampaignOutcomesApplied?: number;
|
|
103
|
+
maxRejectedVerificationSideEffects?: number;
|
|
104
|
+
minRejectedVerificationAttempts?: number;
|
|
105
|
+
minReplayRejectedVerificationAttempts?: number;
|
|
106
|
+
requiredActions?: VoiceTelephonyOutcomeAction[];
|
|
107
|
+
requiredDispositions?: VoiceCallDisposition[];
|
|
108
|
+
requiredDuplicateProviders?: VoiceTelephonyWebhookProvider[];
|
|
109
|
+
requiredProviders?: VoiceTelephonyWebhookProvider[];
|
|
110
|
+
requiredReplayRejectedVerificationProviders?: VoiceTelephonyWebhookProvider[];
|
|
111
|
+
requiredRejectedVerificationProviders?: VoiceTelephonyWebhookProvider[];
|
|
112
|
+
requireRouteResults?: boolean;
|
|
113
|
+
verificationAttempts?: VoiceTelephonyWebhookVerificationEvidenceAttempt[];
|
|
114
|
+
};
|
|
115
|
+
export type VoiceTelephonyWebhookNormalizationEvidenceReport = {
|
|
116
|
+
actions: VoiceTelephonyOutcomeAction[];
|
|
117
|
+
applied: number;
|
|
118
|
+
decisions: number;
|
|
119
|
+
dispositions: VoiceCallDisposition[];
|
|
120
|
+
duplicateCampaignOutcomesApplied: number;
|
|
121
|
+
duplicateIdempotencyKeys: number;
|
|
122
|
+
duplicateOutcomeReasons: string[];
|
|
123
|
+
duplicateProviders: VoiceTelephonyWebhookProvider[];
|
|
124
|
+
duplicates: number;
|
|
125
|
+
issues: string[];
|
|
126
|
+
missingSessionIds: number;
|
|
127
|
+
ok: boolean;
|
|
128
|
+
providers: VoiceTelephonyWebhookProvider[];
|
|
129
|
+
rejectedVerificationAttempts: number;
|
|
130
|
+
rejectedVerificationProviders: VoiceTelephonyWebhookProvider[];
|
|
131
|
+
rejectedVerificationSideEffects: number;
|
|
132
|
+
replayRejectedVerificationAttempts: number;
|
|
133
|
+
replayRejectedVerificationProviders: VoiceTelephonyWebhookProvider[];
|
|
134
|
+
routeResults: number;
|
|
135
|
+
sources: string[];
|
|
136
|
+
verificationAttempts: number;
|
|
137
|
+
};
|
|
138
|
+
export type VoiceTelephonyWebhookIdempotencyStore<TResult = unknown> = {
|
|
139
|
+
get: (key: string) => Promise<StoredVoiceTelephonyWebhookDecision<TResult> | undefined> | StoredVoiceTelephonyWebhookDecision<TResult> | undefined;
|
|
140
|
+
set: (key: string, decision: StoredVoiceTelephonyWebhookDecision<TResult>) => Promise<void> | void;
|
|
141
|
+
};
|
|
142
|
+
export type VoiceTelephonyWebhookVerificationResult = {
|
|
143
|
+
ok: true;
|
|
144
|
+
} | {
|
|
145
|
+
ok: false;
|
|
146
|
+
reason: "invalid-signature" | "missing-secret" | "missing-signature" | "unsupported-provider";
|
|
147
|
+
};
|
|
148
|
+
export type VoiceTelephonyWebhookHandlerOptions<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = {
|
|
149
|
+
apply?: boolean | ((input: VoiceTelephonyWebhookDecision<TResult>) => boolean);
|
|
150
|
+
context?: TContext;
|
|
151
|
+
getSessionHandle?: (input: {
|
|
152
|
+
context: TContext;
|
|
153
|
+
decision: VoiceTelephonyOutcomeDecision;
|
|
154
|
+
event: VoiceTelephonyOutcomeProviderEvent;
|
|
155
|
+
request: Request;
|
|
156
|
+
sessionId?: string;
|
|
157
|
+
}) => Promise<VoiceSessionHandle<TContext, TSession, TResult> | undefined> | VoiceSessionHandle<TContext, TSession, TResult> | undefined;
|
|
158
|
+
idempotency?: {
|
|
159
|
+
enabled?: boolean;
|
|
160
|
+
key?: (input: {
|
|
161
|
+
body: unknown;
|
|
162
|
+
event: VoiceTelephonyOutcomeProviderEvent;
|
|
163
|
+
provider: VoiceTelephonyWebhookProvider;
|
|
164
|
+
query: Record<string, unknown>;
|
|
165
|
+
request: Request;
|
|
166
|
+
sessionId?: string;
|
|
167
|
+
}) => Promise<string | undefined> | string | undefined;
|
|
168
|
+
store?: VoiceTelephonyWebhookIdempotencyStore<TResult>;
|
|
169
|
+
};
|
|
170
|
+
onDecision?: (input: VoiceTelephonyWebhookDecision<TResult> & {
|
|
171
|
+
context: TContext;
|
|
172
|
+
request: Request;
|
|
173
|
+
}) => Promise<void> | void;
|
|
174
|
+
parse?: (input: VoiceTelephonyWebhookParseInput) => Promise<VoiceTelephonyOutcomeProviderEvent> | VoiceTelephonyOutcomeProviderEvent;
|
|
175
|
+
policy?: VoiceTelephonyOutcomePolicy;
|
|
176
|
+
provider?: VoiceTelephonyWebhookProvider;
|
|
177
|
+
requireVerification?: boolean;
|
|
178
|
+
resolveSessionId?: (input: {
|
|
179
|
+
body: unknown;
|
|
180
|
+
event: VoiceTelephonyOutcomeProviderEvent;
|
|
181
|
+
query: Record<string, unknown>;
|
|
182
|
+
request: Request;
|
|
183
|
+
}) => Promise<string | undefined> | string | undefined;
|
|
184
|
+
result?: TResult | ((input: {
|
|
185
|
+
decision: VoiceTelephonyOutcomeDecision;
|
|
186
|
+
event: VoiceTelephonyOutcomeProviderEvent;
|
|
187
|
+
sessionId?: string;
|
|
188
|
+
}) => Promise<TResult | undefined> | TResult | undefined);
|
|
189
|
+
signingSecret?: string;
|
|
190
|
+
verificationUrl?: string | ((input: {
|
|
191
|
+
query: Record<string, unknown>;
|
|
192
|
+
request: Request;
|
|
193
|
+
}) => string);
|
|
194
|
+
verify?: (input: {
|
|
195
|
+
body: unknown;
|
|
196
|
+
headers: Headers;
|
|
197
|
+
provider: VoiceTelephonyWebhookProvider;
|
|
198
|
+
query: Record<string, unknown>;
|
|
199
|
+
rawBody: string;
|
|
200
|
+
request: Request;
|
|
201
|
+
}) => Promise<VoiceTelephonyWebhookVerificationResult> | VoiceTelephonyWebhookVerificationResult;
|
|
202
|
+
};
|
|
203
|
+
export type VoiceTelephonyWebhookRoutesOptions<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = VoiceTelephonyWebhookHandlerOptions<TContext, TSession, TResult> & {
|
|
204
|
+
name?: string;
|
|
205
|
+
path?: string;
|
|
206
|
+
};
|
|
207
|
+
export declare const createMemoryVoiceTelephonyWebhookIdempotencyStore: <TResult = unknown>() => VoiceTelephonyWebhookIdempotencyStore<TResult>;
|
|
208
|
+
export declare const assertVoiceTelephonyWebhookNormalizationEvidence: (input?: VoiceTelephonyWebhookNormalizationEvidenceInput) => VoiceTelephonyWebhookNormalizationEvidenceReport;
|
|
209
|
+
export declare const evaluateVoiceTelephonyWebhookNormalizationEvidence: (input?: VoiceTelephonyWebhookNormalizationEvidenceInput) => VoiceTelephonyWebhookNormalizationEvidenceReport;
|
|
210
|
+
export declare const applyVoiceTelephonyOutcome: <TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown>(api: VoiceSessionHandle<TContext, TSession, TResult>, decision: VoiceTelephonyOutcomeDecision, result?: TResult) => Promise<void>;
|
|
211
|
+
export declare const createVoiceTelephonyOutcomePolicy: (policy?: VoiceTelephonyOutcomePolicy) => Required<Pick<VoiceTelephonyOutcomePolicy, "completedStatuses" | "escalationStatuses" | "failedAsNoAnswer" | "failedStatuses" | "includeProviderPayload" | "machineDetectionVoicemailValues" | "noAnswerOnZeroDuration" | "noAnswerSipCodes" | "noAnswerStatuses" | "transferStatuses" | "voicemailStatuses">> & VoiceTelephonyOutcomePolicy;
|
|
212
|
+
export declare const resolveVoiceTelephonyOutcome: (event: VoiceTelephonyOutcomeProviderEvent, policyInput?: VoiceTelephonyOutcomePolicy) => VoiceTelephonyOutcomeDecision;
|
|
213
|
+
export declare const voiceTelephonyOutcomeToRouteResult: <TResult = unknown>(decision: VoiceTelephonyOutcomeDecision, result?: TResult) => VoiceTelephonyOutcomeRouteResult<TResult>;
|
|
214
|
+
export declare const signVoiceTwilioWebhook: (input: {
|
|
215
|
+
authToken: string;
|
|
216
|
+
body?: unknown;
|
|
217
|
+
url: string;
|
|
218
|
+
}) => Promise<string>;
|
|
219
|
+
export declare const verifyVoiceTwilioWebhookSignature: (input: {
|
|
220
|
+
authToken?: string;
|
|
221
|
+
body?: unknown;
|
|
222
|
+
headers: Headers;
|
|
223
|
+
url: string;
|
|
224
|
+
}) => Promise<VoiceTelephonyWebhookVerificationResult>;
|
|
225
|
+
export declare const parseVoiceTelephonyWebhookEvent: (input: VoiceTelephonyWebhookParseInput) => VoiceTelephonyOutcomeProviderEvent;
|
|
226
|
+
export declare const createVoiceTelephonyWebhookHandler: <TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown>(options?: VoiceTelephonyWebhookHandlerOptions<TContext, TSession, TResult>) => (input: {
|
|
227
|
+
query?: Record<string, unknown>;
|
|
228
|
+
request: Request;
|
|
229
|
+
}) => Promise<VoiceTelephonyWebhookDecision<TResult>>;
|
|
230
|
+
export declare const createVoiceTelephonyWebhookRoutes: <TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown>(options?: VoiceTelephonyWebhookRoutesOptions<TContext, TSession, TResult>) => Elysia<"", {
|
|
231
|
+
decorator: {};
|
|
232
|
+
store: {};
|
|
233
|
+
derive: {};
|
|
234
|
+
resolve: {};
|
|
235
|
+
}, {
|
|
236
|
+
typebox: {};
|
|
237
|
+
error: {};
|
|
238
|
+
}, {
|
|
239
|
+
schema: {};
|
|
240
|
+
standaloneSchema: {};
|
|
241
|
+
macro: {};
|
|
242
|
+
macroFn: {};
|
|
243
|
+
parser: {};
|
|
244
|
+
response: {};
|
|
245
|
+
}, {
|
|
246
|
+
[x: string]: {
|
|
247
|
+
post: {
|
|
248
|
+
body: unknown;
|
|
249
|
+
params: {};
|
|
250
|
+
query: unknown;
|
|
251
|
+
headers: unknown;
|
|
252
|
+
response: {
|
|
253
|
+
200: Response | VoiceTelephonyWebhookDecision<TResult>;
|
|
254
|
+
};
|
|
255
|
+
};
|
|
256
|
+
};
|
|
257
|
+
}, {
|
|
258
|
+
derive: {};
|
|
259
|
+
resolve: {};
|
|
260
|
+
schema: {};
|
|
261
|
+
standaloneSchema: {};
|
|
262
|
+
response: {};
|
|
263
|
+
}, {
|
|
264
|
+
derive: {};
|
|
265
|
+
resolve: {};
|
|
266
|
+
schema: {};
|
|
267
|
+
standaloneSchema: {};
|
|
268
|
+
response: {};
|
|
269
|
+
}>;
|