@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,151 @@
|
|
|
1
|
+
import type { S3Client, S3Options } from "bun";
|
|
2
|
+
import type { StoredVoiceAuditEvent, VoiceAuditEventStore, VoiceAuditEventType } from "./audit";
|
|
3
|
+
import type { VoiceIdempotencyStore, VoiceRedisTaskLeaseCoordinator } from "./queue";
|
|
4
|
+
import type { VoiceTraceRedactionConfig } from "./trace";
|
|
5
|
+
export type VoiceAuditSinkDeliveryStatus = "delivered" | "failed" | "skipped";
|
|
6
|
+
export type VoiceAuditSinkDeliveryQueueStatus = VoiceAuditSinkDeliveryStatus | "pending";
|
|
7
|
+
export type VoiceAuditSinkDeliveryResult = {
|
|
8
|
+
attempts: number;
|
|
9
|
+
deliveredAt?: number;
|
|
10
|
+
deliveredTo?: string;
|
|
11
|
+
error?: string;
|
|
12
|
+
eventCount: number;
|
|
13
|
+
responseBody?: unknown;
|
|
14
|
+
status: VoiceAuditSinkDeliveryStatus;
|
|
15
|
+
};
|
|
16
|
+
export type VoiceAuditSink = {
|
|
17
|
+
deliver: (input: {
|
|
18
|
+
events: StoredVoiceAuditEvent[];
|
|
19
|
+
}) => Promise<VoiceAuditSinkDeliveryResult> | VoiceAuditSinkDeliveryResult;
|
|
20
|
+
eventTypes?: VoiceAuditEventType[];
|
|
21
|
+
id: string;
|
|
22
|
+
kind?: string;
|
|
23
|
+
};
|
|
24
|
+
export type VoiceAuditSinkFanoutResult = {
|
|
25
|
+
deliveredAt: number;
|
|
26
|
+
eventCount: number;
|
|
27
|
+
sinkDeliveries: Record<string, VoiceAuditSinkDeliveryResult>;
|
|
28
|
+
status: VoiceAuditSinkDeliveryStatus;
|
|
29
|
+
};
|
|
30
|
+
export type VoiceAuditSinkDeliveryRecord = {
|
|
31
|
+
createdAt: number;
|
|
32
|
+
deliveredAt?: number;
|
|
33
|
+
deliveryAttempts?: number;
|
|
34
|
+
deliveryError?: string;
|
|
35
|
+
deliveryStatus: VoiceAuditSinkDeliveryQueueStatus;
|
|
36
|
+
events: StoredVoiceAuditEvent[];
|
|
37
|
+
id: string;
|
|
38
|
+
sinkDeliveries?: Record<string, VoiceAuditSinkDeliveryResult>;
|
|
39
|
+
updatedAt: number;
|
|
40
|
+
};
|
|
41
|
+
export type VoiceAuditSinkDeliveryStore<TDelivery extends VoiceAuditSinkDeliveryRecord = VoiceAuditSinkDeliveryRecord> = {
|
|
42
|
+
get: (id: string) => Promise<TDelivery | undefined> | TDelivery | undefined;
|
|
43
|
+
list: () => Promise<TDelivery[]> | TDelivery[];
|
|
44
|
+
remove: (id: string) => Promise<void> | void;
|
|
45
|
+
set: (id: string, delivery: TDelivery) => Promise<void> | void;
|
|
46
|
+
};
|
|
47
|
+
export type VoiceAuditHTTPSinkOptions<TBody extends Record<string, unknown> = Record<string, unknown>> = {
|
|
48
|
+
backoffMs?: number;
|
|
49
|
+
body?: (input: {
|
|
50
|
+
events: StoredVoiceAuditEvent[];
|
|
51
|
+
}) => Promise<TBody> | TBody;
|
|
52
|
+
eventTypes?: VoiceAuditEventType[];
|
|
53
|
+
fetch?: typeof fetch;
|
|
54
|
+
headers?: Record<string, string>;
|
|
55
|
+
id: string;
|
|
56
|
+
kind?: string;
|
|
57
|
+
method?: "POST" | "PUT" | "PATCH";
|
|
58
|
+
retries?: number;
|
|
59
|
+
signingSecret?: string;
|
|
60
|
+
timeoutMs?: number;
|
|
61
|
+
url: string;
|
|
62
|
+
};
|
|
63
|
+
export type VoiceS3AuditSinkFile = {
|
|
64
|
+
write: (data: string, options?: BlobPropertyBag) => Promise<number> | number;
|
|
65
|
+
};
|
|
66
|
+
export type VoiceS3AuditSinkClient = Pick<S3Client, "file">;
|
|
67
|
+
export type VoiceAuditS3SinkOptions<TBody extends Record<string, unknown> = Record<string, unknown>> = S3Options & {
|
|
68
|
+
body?: (input: {
|
|
69
|
+
events: StoredVoiceAuditEvent[];
|
|
70
|
+
key: string;
|
|
71
|
+
}) => Promise<TBody> | TBody;
|
|
72
|
+
client?: VoiceS3AuditSinkClient;
|
|
73
|
+
contentType?: string;
|
|
74
|
+
eventTypes?: VoiceAuditEventType[];
|
|
75
|
+
id: string;
|
|
76
|
+
keyPrefix?: string;
|
|
77
|
+
kind?: string;
|
|
78
|
+
};
|
|
79
|
+
export type VoiceAuditSinkStoreOptions<TEvent extends StoredVoiceAuditEvent = StoredVoiceAuditEvent> = {
|
|
80
|
+
awaitDelivery?: boolean;
|
|
81
|
+
deliveryQueue?: VoiceAuditSinkDeliveryStore;
|
|
82
|
+
onDelivery?: (result: VoiceAuditSinkFanoutResult) => Promise<void> | void;
|
|
83
|
+
onError?: (error: unknown) => Promise<void> | void;
|
|
84
|
+
redact?: VoiceTraceRedactionConfig;
|
|
85
|
+
sinks: VoiceAuditSink[];
|
|
86
|
+
store: VoiceAuditEventStore<TEvent>;
|
|
87
|
+
};
|
|
88
|
+
export type VoiceAuditSinkDeliveryWorkerOptions<TDelivery extends VoiceAuditSinkDeliveryRecord = VoiceAuditSinkDeliveryRecord> = {
|
|
89
|
+
deadLetters?: VoiceAuditSinkDeliveryStore<TDelivery>;
|
|
90
|
+
deliveries: VoiceAuditSinkDeliveryStore<TDelivery>;
|
|
91
|
+
idempotency?: VoiceIdempotencyStore;
|
|
92
|
+
idempotencyTtlSeconds?: number;
|
|
93
|
+
leaseMs?: number;
|
|
94
|
+
leases: VoiceRedisTaskLeaseCoordinator;
|
|
95
|
+
maxFailures?: number;
|
|
96
|
+
onDeadLetter?: (delivery: TDelivery) => Promise<void> | void;
|
|
97
|
+
redact?: VoiceTraceRedactionConfig;
|
|
98
|
+
sinks: VoiceAuditSink[];
|
|
99
|
+
statuses?: VoiceAuditSinkDeliveryQueueStatus[];
|
|
100
|
+
workerId: string;
|
|
101
|
+
};
|
|
102
|
+
export type VoiceAuditSinkDeliveryWorkerResult = {
|
|
103
|
+
alreadyProcessed: number;
|
|
104
|
+
attempted: number;
|
|
105
|
+
deadLettered: number;
|
|
106
|
+
delivered: number;
|
|
107
|
+
failed: number;
|
|
108
|
+
skipped: number;
|
|
109
|
+
};
|
|
110
|
+
export type VoiceAuditSinkDeliveryWorkerLoopOptions<TDelivery extends VoiceAuditSinkDeliveryRecord = VoiceAuditSinkDeliveryRecord> = {
|
|
111
|
+
onError?: (error: unknown) => Promise<void> | void;
|
|
112
|
+
pollIntervalMs?: number;
|
|
113
|
+
worker: ReturnType<typeof createVoiceAuditSinkDeliveryWorker<TDelivery>>;
|
|
114
|
+
};
|
|
115
|
+
export type VoiceAuditSinkDeliveryWorkerLoop = {
|
|
116
|
+
isRunning: () => boolean;
|
|
117
|
+
start: () => void;
|
|
118
|
+
stop: () => void;
|
|
119
|
+
tick: () => Promise<VoiceAuditSinkDeliveryWorkerResult>;
|
|
120
|
+
};
|
|
121
|
+
export type VoiceAuditSinkDeliveryQueueSummary = {
|
|
122
|
+
deadLettered: number;
|
|
123
|
+
delivered: number;
|
|
124
|
+
failed: number;
|
|
125
|
+
pending: number;
|
|
126
|
+
retryEligible: number;
|
|
127
|
+
skipped: number;
|
|
128
|
+
total: number;
|
|
129
|
+
};
|
|
130
|
+
export declare const createVoiceAuditHTTPSink: <TBody extends Record<string, unknown> = Record<string, unknown>>(options: VoiceAuditHTTPSinkOptions<TBody>) => VoiceAuditSink;
|
|
131
|
+
export declare const createVoiceAuditS3Sink: <TBody extends Record<string, unknown> = Record<string, unknown>>(options: VoiceAuditS3SinkOptions<TBody>) => VoiceAuditSink;
|
|
132
|
+
export declare const createVoiceAuditSinkDeliveryId: (events: StoredVoiceAuditEvent[]) => string;
|
|
133
|
+
export declare const createVoiceAuditSinkDeliveryRecord: (input: {
|
|
134
|
+
createdAt?: number;
|
|
135
|
+
events: StoredVoiceAuditEvent[];
|
|
136
|
+
id?: string;
|
|
137
|
+
} & Partial<Omit<VoiceAuditSinkDeliveryRecord, "createdAt" | "events" | "id">>) => VoiceAuditSinkDeliveryRecord;
|
|
138
|
+
export declare const createVoiceAuditSinkStore: <TEvent extends StoredVoiceAuditEvent = StoredVoiceAuditEvent>(options: VoiceAuditSinkStoreOptions<TEvent>) => VoiceAuditEventStore<TEvent>;
|
|
139
|
+
export declare const createVoiceMemoryAuditSinkDeliveryStore: <TDelivery extends VoiceAuditSinkDeliveryRecord = VoiceAuditSinkDeliveryRecord>() => VoiceAuditSinkDeliveryStore<TDelivery>;
|
|
140
|
+
export declare const deliverVoiceAuditEventsToSinks: (input: {
|
|
141
|
+
events: StoredVoiceAuditEvent[];
|
|
142
|
+
redact?: VoiceTraceRedactionConfig;
|
|
143
|
+
sinks: VoiceAuditSink[];
|
|
144
|
+
}) => Promise<VoiceAuditSinkFanoutResult>;
|
|
145
|
+
export declare const createVoiceAuditSinkDeliveryWorker: <TDelivery extends VoiceAuditSinkDeliveryRecord = VoiceAuditSinkDeliveryRecord>(options: VoiceAuditSinkDeliveryWorkerOptions<TDelivery>) => {
|
|
146
|
+
drain: () => Promise<VoiceAuditSinkDeliveryWorkerResult>;
|
|
147
|
+
};
|
|
148
|
+
export declare const createVoiceAuditSinkDeliveryWorkerLoop: <TDelivery extends VoiceAuditSinkDeliveryRecord = VoiceAuditSinkDeliveryRecord>(options: VoiceAuditSinkDeliveryWorkerLoopOptions<TDelivery>) => VoiceAuditSinkDeliveryWorkerLoop;
|
|
149
|
+
export declare const summarizeVoiceAuditSinkDeliveries: <TDelivery extends VoiceAuditSinkDeliveryRecord = VoiceAuditSinkDeliveryRecord>(deliveries: TDelivery[], input?: {
|
|
150
|
+
deadLetters?: VoiceAuditSinkDeliveryStore<TDelivery>;
|
|
151
|
+
}) => Promise<VoiceAuditSinkDeliveryQueueSummary> | VoiceAuditSinkDeliveryQueueSummary;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export type VoiceBackchannelCue = {
|
|
2
|
+
audioUrl?: string;
|
|
3
|
+
metadata?: Record<string, unknown>;
|
|
4
|
+
text?: string;
|
|
5
|
+
};
|
|
6
|
+
export type VoiceBackchannelDriverOptions = {
|
|
7
|
+
cues?: ReadonlyArray<VoiceBackchannelCue>;
|
|
8
|
+
cueIntervalMs?: number;
|
|
9
|
+
cueIndex?: (index: number) => number;
|
|
10
|
+
minSpeechMs?: number;
|
|
11
|
+
onCue: (cue: VoiceBackchannelCue) => Promise<void> | void;
|
|
12
|
+
};
|
|
13
|
+
export type VoiceBackchannelDriver = {
|
|
14
|
+
noteSpeech: (timestampMs?: number) => void;
|
|
15
|
+
noteSilence: (timestampMs?: number) => void;
|
|
16
|
+
reset: () => void;
|
|
17
|
+
};
|
|
18
|
+
export declare const createVoiceBackchannelDriver: (options: VoiceBackchannelDriverOptions) => VoiceBackchannelDriver;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { Elysia } from "elysia";
|
|
2
|
+
import type { StoredVoiceTraceEvent, VoiceTraceEventStore } from "./trace";
|
|
3
|
+
import type { VoiceBargeInMonitorSnapshot } from "./types";
|
|
4
|
+
export type VoiceBargeInRoutesOptions = {
|
|
5
|
+
headers?: HeadersInit;
|
|
6
|
+
htmlPath?: string;
|
|
7
|
+
name?: string;
|
|
8
|
+
path?: string;
|
|
9
|
+
store: VoiceTraceEventStore;
|
|
10
|
+
thresholdMs?: number;
|
|
11
|
+
title?: string;
|
|
12
|
+
};
|
|
13
|
+
export type VoiceBargeInReport = VoiceBargeInMonitorSnapshot & {
|
|
14
|
+
checkedAt: number;
|
|
15
|
+
sessions: Array<{
|
|
16
|
+
averageLatencyMs?: number;
|
|
17
|
+
failed: number;
|
|
18
|
+
passed: number;
|
|
19
|
+
sessionId: string;
|
|
20
|
+
total: number;
|
|
21
|
+
}>;
|
|
22
|
+
};
|
|
23
|
+
export declare const createVoiceBargeInRoutes: (options: VoiceBargeInRoutesOptions) => Elysia<"", {
|
|
24
|
+
decorator: {};
|
|
25
|
+
store: {};
|
|
26
|
+
derive: {};
|
|
27
|
+
resolve: {};
|
|
28
|
+
}, {
|
|
29
|
+
typebox: {};
|
|
30
|
+
error: {};
|
|
31
|
+
}, {
|
|
32
|
+
schema: {};
|
|
33
|
+
standaloneSchema: {};
|
|
34
|
+
macro: {};
|
|
35
|
+
macroFn: {};
|
|
36
|
+
parser: {};
|
|
37
|
+
response: {};
|
|
38
|
+
}, {}, {
|
|
39
|
+
derive: {};
|
|
40
|
+
resolve: {};
|
|
41
|
+
schema: {};
|
|
42
|
+
standaloneSchema: {};
|
|
43
|
+
response: {};
|
|
44
|
+
}, {
|
|
45
|
+
derive: {};
|
|
46
|
+
resolve: {};
|
|
47
|
+
schema: {};
|
|
48
|
+
standaloneSchema: {};
|
|
49
|
+
response: {};
|
|
50
|
+
}>;
|
|
51
|
+
export declare const renderVoiceBargeInHTML: (report: VoiceBargeInReport, options?: {
|
|
52
|
+
title?: string;
|
|
53
|
+
}) => string;
|
|
54
|
+
export declare const summarizeVoiceBargeIn: (events: StoredVoiceTraceEvent[], options?: {
|
|
55
|
+
thresholdMs?: number;
|
|
56
|
+
}) => VoiceBargeInReport;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { VoiceCalendarAdapter, VoiceCalendarAppointment } from "./calendarAdapter";
|
|
2
|
+
import type { VoiceCalendarSlot } from "./calendarSlots";
|
|
3
|
+
export type VoiceBookingFlowStep = "ask-service" | "ask-date" | "ask-time" | "confirm" | "booking" | "booked" | "failed";
|
|
4
|
+
export type VoiceBookingFlowState = {
|
|
5
|
+
step: VoiceBookingFlowStep;
|
|
6
|
+
serviceId?: string;
|
|
7
|
+
serviceDurationMinutes?: number;
|
|
8
|
+
attendees?: string[];
|
|
9
|
+
proposedSlots: VoiceCalendarSlot[];
|
|
10
|
+
selectedSlot?: VoiceCalendarSlot;
|
|
11
|
+
appointment?: VoiceCalendarAppointment;
|
|
12
|
+
error?: string;
|
|
13
|
+
};
|
|
14
|
+
export type VoiceBookingFlowServiceCatalog = {
|
|
15
|
+
id: string;
|
|
16
|
+
label: string;
|
|
17
|
+
durationMinutes: number;
|
|
18
|
+
}[];
|
|
19
|
+
export type CreateVoiceBookingFlowOptions = {
|
|
20
|
+
adapter: VoiceCalendarAdapter;
|
|
21
|
+
calendarId: string;
|
|
22
|
+
services?: VoiceBookingFlowServiceCatalog;
|
|
23
|
+
defaultDurationMinutes?: number;
|
|
24
|
+
initialStep?: VoiceBookingFlowStep;
|
|
25
|
+
maxSlotsPerDay?: number;
|
|
26
|
+
};
|
|
27
|
+
export declare const createVoiceBookingFlow: (options: CreateVoiceBookingFlowOptions) => {
|
|
28
|
+
chooseService: (serviceId: string) => void;
|
|
29
|
+
chooseSlot: (slotIndex: number) => void;
|
|
30
|
+
confirm: (input?: {
|
|
31
|
+
attendees?: string[];
|
|
32
|
+
title?: string;
|
|
33
|
+
notes?: string;
|
|
34
|
+
}) => Promise<VoiceCalendarAppointment | null>;
|
|
35
|
+
proposeSlotsForDay: (input: {
|
|
36
|
+
fromMs: number;
|
|
37
|
+
toMs: number;
|
|
38
|
+
}) => Promise<VoiceCalendarSlot[]>;
|
|
39
|
+
reset: () => void;
|
|
40
|
+
getState: () => VoiceBookingFlowState;
|
|
41
|
+
subscribe(listener: (state: VoiceBookingFlowState) => void): () => void;
|
|
42
|
+
};
|
|
43
|
+
export type VoiceBookingFlow = ReturnType<typeof createVoiceBookingFlow>;
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { Elysia } from "elysia";
|
|
2
|
+
export type VoiceBrowserCallProfileStatus = "empty" | "fail" | "pass" | "stale" | "warn";
|
|
3
|
+
export type VoiceBrowserCallProfileFrameworkSummary = {
|
|
4
|
+
messageCount?: number;
|
|
5
|
+
openSockets?: number;
|
|
6
|
+
receivedBytes?: number;
|
|
7
|
+
sentBytes?: number;
|
|
8
|
+
};
|
|
9
|
+
export type VoiceBrowserCallProfileFrameworkEvidence = {
|
|
10
|
+
error?: string;
|
|
11
|
+
framework: string;
|
|
12
|
+
ok?: boolean;
|
|
13
|
+
summary?: VoiceBrowserCallProfileFrameworkSummary;
|
|
14
|
+
url?: string;
|
|
15
|
+
};
|
|
16
|
+
export type VoiceBrowserCallProfileSummary = {
|
|
17
|
+
failedFrameworks: string[];
|
|
18
|
+
openSockets: number;
|
|
19
|
+
passedFrameworks: string[];
|
|
20
|
+
receivedBytes: number;
|
|
21
|
+
sentBytes: number;
|
|
22
|
+
totalFrameworks: number;
|
|
23
|
+
totalMessages: number;
|
|
24
|
+
};
|
|
25
|
+
export type VoiceBrowserCallProfileReportInput = {
|
|
26
|
+
ageMs?: number;
|
|
27
|
+
baseUrl?: string;
|
|
28
|
+
frameworks?: string[];
|
|
29
|
+
freshUntil?: string;
|
|
30
|
+
generatedAt?: string;
|
|
31
|
+
maxAgeMs?: number;
|
|
32
|
+
now?: Date | number | string;
|
|
33
|
+
ok?: boolean;
|
|
34
|
+
outputDir?: string;
|
|
35
|
+
profileId?: string;
|
|
36
|
+
results?: VoiceBrowserCallProfileFrameworkEvidence[];
|
|
37
|
+
runId?: string;
|
|
38
|
+
source?: string;
|
|
39
|
+
status?: VoiceBrowserCallProfileStatus;
|
|
40
|
+
summary?: Partial<VoiceBrowserCallProfileSummary> & VoiceBrowserCallProfileFrameworkSummary;
|
|
41
|
+
};
|
|
42
|
+
export type VoiceBrowserCallProfileReport = {
|
|
43
|
+
ageMs?: number;
|
|
44
|
+
baseUrl?: string;
|
|
45
|
+
frameworks: string[];
|
|
46
|
+
freshUntil?: string;
|
|
47
|
+
generatedAt: string;
|
|
48
|
+
maxAgeMs: number;
|
|
49
|
+
ok: boolean;
|
|
50
|
+
outputDir?: string;
|
|
51
|
+
profileId: string;
|
|
52
|
+
results: VoiceBrowserCallProfileFrameworkEvidence[];
|
|
53
|
+
runId?: string;
|
|
54
|
+
source: string;
|
|
55
|
+
status: VoiceBrowserCallProfileStatus;
|
|
56
|
+
summary: VoiceBrowserCallProfileSummary;
|
|
57
|
+
};
|
|
58
|
+
export type VoiceBrowserCallProfileAssertionInput = {
|
|
59
|
+
maxAgeMs?: number;
|
|
60
|
+
minMessageCountPerFramework?: number;
|
|
61
|
+
minOpenSocketsPerFramework?: number;
|
|
62
|
+
minSentBytesPerFramework?: number;
|
|
63
|
+
requireAllFrameworksPass?: boolean;
|
|
64
|
+
requiredFrameworks?: string[];
|
|
65
|
+
};
|
|
66
|
+
export type VoiceBrowserCallProfileAssertionReport = {
|
|
67
|
+
failedFrameworks: string[];
|
|
68
|
+
issues: string[];
|
|
69
|
+
ok: boolean;
|
|
70
|
+
passedFrameworks: string[];
|
|
71
|
+
status: VoiceBrowserCallProfileStatus;
|
|
72
|
+
summary: VoiceBrowserCallProfileSummary;
|
|
73
|
+
};
|
|
74
|
+
export type VoiceBrowserCallProfileRoutesOptions = {
|
|
75
|
+
headers?: HeadersInit;
|
|
76
|
+
htmlPath?: false | string;
|
|
77
|
+
jsonPath?: string;
|
|
78
|
+
markdownPath?: false | string;
|
|
79
|
+
maxAgeMs?: number;
|
|
80
|
+
name?: string;
|
|
81
|
+
source?: (() => Promise<VoiceBrowserCallProfileReport | VoiceBrowserCallProfileReportInput> | VoiceBrowserCallProfileReport | VoiceBrowserCallProfileReportInput) | VoiceBrowserCallProfileReport | VoiceBrowserCallProfileReportInput;
|
|
82
|
+
title?: string;
|
|
83
|
+
};
|
|
84
|
+
export declare const assertVoiceBrowserCallProfileEvidence: (report: VoiceBrowserCallProfileReport | VoiceBrowserCallProfileReportInput, input?: VoiceBrowserCallProfileAssertionInput) => VoiceBrowserCallProfileAssertionReport;
|
|
85
|
+
export declare const buildVoiceBrowserCallProfileReport: (input?: VoiceBrowserCallProfileReportInput) => VoiceBrowserCallProfileReport;
|
|
86
|
+
export declare const evaluateVoiceBrowserCallProfileEvidence: (report: VoiceBrowserCallProfileReport | VoiceBrowserCallProfileReportInput, input?: VoiceBrowserCallProfileAssertionInput) => VoiceBrowserCallProfileAssertionReport;
|
|
87
|
+
export declare const renderVoiceBrowserCallProfileHTML: (report: VoiceBrowserCallProfileReport | VoiceBrowserCallProfileReportInput, options?: {
|
|
88
|
+
title?: string;
|
|
89
|
+
}) => string;
|
|
90
|
+
export declare const renderVoiceBrowserCallProfileMarkdown: (report: VoiceBrowserCallProfileReport | VoiceBrowserCallProfileReportInput, options?: {
|
|
91
|
+
title?: string;
|
|
92
|
+
}) => string;
|
|
93
|
+
export declare const createVoiceBrowserCallProfileRoutes: (options?: VoiceBrowserCallProfileRoutesOptions) => Elysia<"", {
|
|
94
|
+
decorator: {};
|
|
95
|
+
store: {};
|
|
96
|
+
derive: {};
|
|
97
|
+
resolve: {};
|
|
98
|
+
}, {
|
|
99
|
+
typebox: {};
|
|
100
|
+
error: {};
|
|
101
|
+
}, {
|
|
102
|
+
schema: {};
|
|
103
|
+
standaloneSchema: {};
|
|
104
|
+
macro: {};
|
|
105
|
+
macroFn: {};
|
|
106
|
+
parser: {};
|
|
107
|
+
response: {};
|
|
108
|
+
}, {}, {
|
|
109
|
+
derive: {};
|
|
110
|
+
resolve: {};
|
|
111
|
+
schema: {};
|
|
112
|
+
standaloneSchema: {};
|
|
113
|
+
response: {};
|
|
114
|
+
}, {
|
|
115
|
+
derive: {};
|
|
116
|
+
resolve: {};
|
|
117
|
+
schema: {};
|
|
118
|
+
standaloneSchema: {};
|
|
119
|
+
response: {};
|
|
120
|
+
}>;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { Elysia } from "elysia";
|
|
2
|
+
import type { MediaWebRTCStatsReport, MediaWebRTCStreamContinuityReport } from "@absolutejs/media";
|
|
3
|
+
import type { VoiceTraceEventStore } from "./trace";
|
|
4
|
+
export type VoiceBrowserMediaStatus = "empty" | "fail" | "pass" | "warn";
|
|
5
|
+
export type VoiceBrowserMediaSample = {
|
|
6
|
+
at: number;
|
|
7
|
+
continuity?: MediaWebRTCStreamContinuityReport;
|
|
8
|
+
report: MediaWebRTCStatsReport;
|
|
9
|
+
scenarioId?: string;
|
|
10
|
+
sessionId: string;
|
|
11
|
+
traceId?: string;
|
|
12
|
+
};
|
|
13
|
+
export type VoiceBrowserMediaReport = {
|
|
14
|
+
checkedAt: number;
|
|
15
|
+
latest?: VoiceBrowserMediaSample;
|
|
16
|
+
recent: VoiceBrowserMediaSample[];
|
|
17
|
+
status: VoiceBrowserMediaStatus;
|
|
18
|
+
stale: boolean;
|
|
19
|
+
total: number;
|
|
20
|
+
};
|
|
21
|
+
export type VoiceBrowserMediaRoutesOptions = {
|
|
22
|
+
headers?: HeadersInit;
|
|
23
|
+
htmlPath?: false | string;
|
|
24
|
+
maxAgeMs?: number;
|
|
25
|
+
name?: string;
|
|
26
|
+
path?: string;
|
|
27
|
+
store: VoiceTraceEventStore;
|
|
28
|
+
title?: string;
|
|
29
|
+
};
|
|
30
|
+
export declare const createVoiceBrowserMediaRoutes: (options: VoiceBrowserMediaRoutesOptions) => Elysia<"", {
|
|
31
|
+
decorator: {};
|
|
32
|
+
store: {};
|
|
33
|
+
derive: {};
|
|
34
|
+
resolve: {};
|
|
35
|
+
}, {
|
|
36
|
+
typebox: {};
|
|
37
|
+
error: {};
|
|
38
|
+
}, {
|
|
39
|
+
schema: {};
|
|
40
|
+
standaloneSchema: {};
|
|
41
|
+
macro: {};
|
|
42
|
+
macroFn: {};
|
|
43
|
+
parser: {};
|
|
44
|
+
response: {};
|
|
45
|
+
}, {}, {
|
|
46
|
+
derive: {};
|
|
47
|
+
resolve: {};
|
|
48
|
+
schema: {};
|
|
49
|
+
standaloneSchema: {};
|
|
50
|
+
response: {};
|
|
51
|
+
}, {
|
|
52
|
+
derive: {};
|
|
53
|
+
resolve: {};
|
|
54
|
+
schema: {};
|
|
55
|
+
standaloneSchema: {};
|
|
56
|
+
response: {};
|
|
57
|
+
}>;
|
|
58
|
+
export declare const getLatestVoiceBrowserMediaReport: (options: Pick<VoiceBrowserMediaRoutesOptions, "maxAgeMs" | "store">) => Promise<MediaWebRTCStatsReport | undefined>;
|
|
59
|
+
export declare const renderVoiceBrowserMediaHTML: (report: VoiceBrowserMediaReport, options?: {
|
|
60
|
+
title?: string;
|
|
61
|
+
}) => string;
|
|
62
|
+
export declare const summarizeVoiceBrowserMedia: (options: Pick<VoiceBrowserMediaRoutesOptions, "maxAgeMs" | "store">) => Promise<VoiceBrowserMediaReport>;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { VoiceCalendarBookedRange, VoiceCalendarBusinessHours, VoiceCalendarSlot } from "./calendarSlots";
|
|
2
|
+
export type VoiceCalendarAppointment = {
|
|
3
|
+
id: string;
|
|
4
|
+
calendarId: string;
|
|
5
|
+
startMs: number;
|
|
6
|
+
endMs: number;
|
|
7
|
+
title?: string;
|
|
8
|
+
attendees?: string[];
|
|
9
|
+
notes?: string;
|
|
10
|
+
metadata?: Record<string, string>;
|
|
11
|
+
createdAt: number;
|
|
12
|
+
status: "scheduled" | "cancelled" | "completed" | "no-show";
|
|
13
|
+
};
|
|
14
|
+
export type VoiceCalendarAvailabilityQuery = {
|
|
15
|
+
calendarId: string;
|
|
16
|
+
fromMs: number;
|
|
17
|
+
toMs: number;
|
|
18
|
+
durationMinutes: number;
|
|
19
|
+
bufferMinutes?: number;
|
|
20
|
+
granularityMinutes?: number;
|
|
21
|
+
maxSlots?: number;
|
|
22
|
+
};
|
|
23
|
+
export type VoiceCalendarBookInput = {
|
|
24
|
+
calendarId: string;
|
|
25
|
+
startMs: number;
|
|
26
|
+
endMs: number;
|
|
27
|
+
title?: string;
|
|
28
|
+
attendees?: string[];
|
|
29
|
+
notes?: string;
|
|
30
|
+
metadata?: Record<string, string>;
|
|
31
|
+
};
|
|
32
|
+
export type VoiceCalendarAdapter = {
|
|
33
|
+
readonly providerName: string;
|
|
34
|
+
listAvailability(query: VoiceCalendarAvailabilityQuery): Promise<VoiceCalendarSlot[]>;
|
|
35
|
+
book(input: VoiceCalendarBookInput): Promise<VoiceCalendarAppointment>;
|
|
36
|
+
cancel(appointmentId: string): Promise<VoiceCalendarAppointment | null>;
|
|
37
|
+
get(appointmentId: string): Promise<VoiceCalendarAppointment | null>;
|
|
38
|
+
reschedule(appointmentId: string, nextStartMs: number, nextEndMs: number): Promise<VoiceCalendarAppointment | null>;
|
|
39
|
+
};
|
|
40
|
+
export type CreateVoiceInMemoryCalendarAdapterOptions = {
|
|
41
|
+
businessHours: VoiceCalendarBusinessHours[];
|
|
42
|
+
timezone?: string;
|
|
43
|
+
bookedRanges?: VoiceCalendarBookedRange[];
|
|
44
|
+
generateId?: () => string;
|
|
45
|
+
now?: () => number;
|
|
46
|
+
};
|
|
47
|
+
export declare const createVoiceInMemoryCalendarAdapter: (options: CreateVoiceInMemoryCalendarAdapterOptions) => VoiceCalendarAdapter;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export type VoiceCalendarBusinessHours = {
|
|
2
|
+
weekday: number;
|
|
3
|
+
start: string;
|
|
4
|
+
end: string;
|
|
5
|
+
};
|
|
6
|
+
export type VoiceCalendarBlackout = {
|
|
7
|
+
date: string;
|
|
8
|
+
reason?: string;
|
|
9
|
+
};
|
|
10
|
+
export type VoiceCalendarBookedRange = {
|
|
11
|
+
startMs: number;
|
|
12
|
+
endMs: number;
|
|
13
|
+
};
|
|
14
|
+
export type VoiceCalendarSlot = {
|
|
15
|
+
startMs: number;
|
|
16
|
+
endMs: number;
|
|
17
|
+
durationMinutes: number;
|
|
18
|
+
};
|
|
19
|
+
export type GenerateVoiceCalendarSlotsInput = {
|
|
20
|
+
fromMs: number;
|
|
21
|
+
toMs: number;
|
|
22
|
+
durationMinutes: number;
|
|
23
|
+
bufferMinutes?: number;
|
|
24
|
+
granularityMinutes?: number;
|
|
25
|
+
timezone?: string;
|
|
26
|
+
businessHours: VoiceCalendarBusinessHours[];
|
|
27
|
+
blackoutDates?: VoiceCalendarBlackout[];
|
|
28
|
+
bookedRanges?: VoiceCalendarBookedRange[];
|
|
29
|
+
maxSlots?: number;
|
|
30
|
+
};
|
|
31
|
+
export declare const generateVoiceCalendarSlots: (input: GenerateVoiceCalendarSlotsInput) => VoiceCalendarSlot[];
|
|
32
|
+
export declare const summarizeVoiceCalendarSlot: (slot: VoiceCalendarSlot, options?: {
|
|
33
|
+
timezone?: string;
|
|
34
|
+
locale?: string;
|
|
35
|
+
}) => string;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { Elysia } from "elysia";
|
|
2
|
+
import { type VoiceFailureReplayReport, type VoiceOperationsRecord, type VoiceOperationsRecordOptions } from "./operationsRecord";
|
|
3
|
+
import { type StoredVoiceTraceEvent, type VoiceTraceEventStore } from "./trace";
|
|
4
|
+
import { type VoiceSessionSnapshot, type VoiceSessionSnapshotRouteSource } from "./sessionSnapshot";
|
|
5
|
+
export type VoiceCallDebuggerReport = {
|
|
6
|
+
checkedAt: number;
|
|
7
|
+
failureReplay: VoiceFailureReplayReport;
|
|
8
|
+
incidentMarkdown: string;
|
|
9
|
+
operationsRecord: VoiceOperationsRecord;
|
|
10
|
+
sessionId: string;
|
|
11
|
+
snapshot: VoiceSessionSnapshot;
|
|
12
|
+
status: "failed" | "healthy" | "warning";
|
|
13
|
+
};
|
|
14
|
+
export type VoiceCallDebuggerRoutesOptions = Omit<VoiceOperationsRecordOptions, "sessionId"> & {
|
|
15
|
+
headers?: HeadersInit;
|
|
16
|
+
htmlPath?: false | string;
|
|
17
|
+
incidentPath?: false | string;
|
|
18
|
+
name?: string;
|
|
19
|
+
operationsRecordHref?: string | ((input: {
|
|
20
|
+
sessionId: string;
|
|
21
|
+
}) => string | undefined);
|
|
22
|
+
path?: string;
|
|
23
|
+
render?: (report: VoiceCallDebuggerReport) => string | Promise<string>;
|
|
24
|
+
resolveSessionId?: (input: {
|
|
25
|
+
events: readonly StoredVoiceTraceEvent[];
|
|
26
|
+
request: Request;
|
|
27
|
+
requestedSessionId: string;
|
|
28
|
+
store?: VoiceTraceEventStore;
|
|
29
|
+
}) => Promise<string | undefined> | string | undefined;
|
|
30
|
+
snapshot?: VoiceSessionSnapshotRouteSource;
|
|
31
|
+
title?: string;
|
|
32
|
+
};
|
|
33
|
+
export declare const resolveLatestVoiceCallDebuggerSessionId: (events: readonly StoredVoiceTraceEvent[]) => string | undefined;
|
|
34
|
+
export declare const buildVoiceCallDebuggerReport: (options: VoiceCallDebuggerRoutesOptions, input: {
|
|
35
|
+
request: Request;
|
|
36
|
+
sessionId: string;
|
|
37
|
+
}) => Promise<VoiceCallDebuggerReport>;
|
|
38
|
+
export declare const createVoiceCallDebuggerRoutes: (options: VoiceCallDebuggerRoutesOptions) => Elysia<"", {
|
|
39
|
+
decorator: {};
|
|
40
|
+
store: {};
|
|
41
|
+
derive: {};
|
|
42
|
+
resolve: {};
|
|
43
|
+
}, {
|
|
44
|
+
typebox: {};
|
|
45
|
+
error: {};
|
|
46
|
+
}, {
|
|
47
|
+
schema: {};
|
|
48
|
+
standaloneSchema: {};
|
|
49
|
+
macro: {};
|
|
50
|
+
macroFn: {};
|
|
51
|
+
parser: {};
|
|
52
|
+
response: {};
|
|
53
|
+
}, {}, {
|
|
54
|
+
derive: {};
|
|
55
|
+
resolve: {};
|
|
56
|
+
schema: {};
|
|
57
|
+
standaloneSchema: {};
|
|
58
|
+
response: {};
|
|
59
|
+
}, {
|
|
60
|
+
derive: {};
|
|
61
|
+
resolve: {};
|
|
62
|
+
schema: {};
|
|
63
|
+
standaloneSchema: {};
|
|
64
|
+
response: {};
|
|
65
|
+
}>;
|
|
66
|
+
export declare const renderVoiceCallDebuggerHTML: (report: VoiceCallDebuggerReport, options?: Pick<VoiceCallDebuggerRoutesOptions, "title">) => string;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export type VoiceCallDispositionTaxonomy = "sales" | "support" | "collections" | "survey" | "custom";
|
|
2
|
+
export type VoiceCallDispositionDefinition = {
|
|
3
|
+
code: string;
|
|
4
|
+
label: string;
|
|
5
|
+
outcome: "positive" | "neutral" | "negative" | "no-contact";
|
|
6
|
+
retryable: boolean;
|
|
7
|
+
taxonomy?: VoiceCallDispositionTaxonomy;
|
|
8
|
+
};
|
|
9
|
+
export declare const DEFAULT_VOICE_CALL_DISPOSITIONS: VoiceCallDispositionDefinition[];
|
|
10
|
+
export type VoiceCallDispositionTag = {
|
|
11
|
+
sessionId: string;
|
|
12
|
+
code: string;
|
|
13
|
+
taggedAt: number;
|
|
14
|
+
note?: string;
|
|
15
|
+
};
|
|
16
|
+
export type CreateVoiceCallDispositionTaggerOptions = {
|
|
17
|
+
taxonomy?: VoiceCallDispositionDefinition[];
|
|
18
|
+
allowMultiple?: boolean;
|
|
19
|
+
now?: () => number;
|
|
20
|
+
};
|
|
21
|
+
export declare const createVoiceCallDispositionTagger: (options?: CreateVoiceCallDispositionTaggerOptions) => {
|
|
22
|
+
definitions: VoiceCallDispositionDefinition[];
|
|
23
|
+
listAll: () => VoiceCallDispositionTag[];
|
|
24
|
+
listForSession: (sessionId: string) => VoiceCallDispositionTag[];
|
|
25
|
+
summarize: () => {
|
|
26
|
+
byCode: {
|
|
27
|
+
[k: string]: number;
|
|
28
|
+
};
|
|
29
|
+
byOutcome: Record<"negative" | "neutral" | "positive" | "no-contact", number>;
|
|
30
|
+
retryablePct: number;
|
|
31
|
+
totalSessions: number;
|
|
32
|
+
totalTagged: number;
|
|
33
|
+
};
|
|
34
|
+
tag: (sessionId: string, code: string, note?: string) => VoiceCallDispositionTag;
|
|
35
|
+
untag: (sessionId: string, code?: string) => number;
|
|
36
|
+
definitionFor: (code: string) => VoiceCallDispositionDefinition | null;
|
|
37
|
+
};
|
|
38
|
+
export type VoiceCallDispositionTagger = ReturnType<typeof createVoiceCallDispositionTagger>;
|