@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,371 @@
|
|
|
1
|
+
import { Elysia } from "elysia";
|
|
2
|
+
import { type MediaPipelineStatus } from "@absolutejs/media";
|
|
3
|
+
import { type StoredVoiceAuditEvent, type VoiceAuditEventStore } from "./audit";
|
|
4
|
+
import type { VoiceMediaPipelineReport } from "./mediaPipelineRoutes";
|
|
5
|
+
import type { StoredVoiceIntegrationEvent, StoredVoiceOpsTask, VoiceIntegrationEventStore, VoiceOpsTaskStore } from "./ops";
|
|
6
|
+
import { type VoiceSessionReplay } from "./sessionReplay";
|
|
7
|
+
import type { StoredVoiceCallReviewArtifact, VoiceCallReviewStore } from "../testing/review";
|
|
8
|
+
import { type VoiceTraceTimelineEvent, type VoiceTraceTimelineProviderSummary } from "./traceTimeline";
|
|
9
|
+
import { type StoredVoiceTraceEvent, type VoiceTraceEvaluationOptions, type VoiceTraceEventStore, type VoiceTraceRedactionConfig, type VoiceTraceSummary } from "./trace";
|
|
10
|
+
export type VoiceOperationsRecordStatus = "failed" | "healthy" | "warning";
|
|
11
|
+
export type VoiceOperationsRecordOutcome = {
|
|
12
|
+
assistantReplies: number;
|
|
13
|
+
complete: boolean;
|
|
14
|
+
escalated: boolean;
|
|
15
|
+
noAnswer: boolean;
|
|
16
|
+
transferred: boolean;
|
|
17
|
+
voicemail: boolean;
|
|
18
|
+
};
|
|
19
|
+
export type VoiceOperationsRecordAgentHandoff = {
|
|
20
|
+
at: number;
|
|
21
|
+
fromAgentId?: string;
|
|
22
|
+
metadata?: Record<string, unknown>;
|
|
23
|
+
reason?: string;
|
|
24
|
+
status?: string;
|
|
25
|
+
summary?: string;
|
|
26
|
+
targetAgentId?: string;
|
|
27
|
+
turnId?: string;
|
|
28
|
+
};
|
|
29
|
+
export type VoiceOperationsRecordTool = {
|
|
30
|
+
at: number;
|
|
31
|
+
elapsedMs?: number;
|
|
32
|
+
error?: string;
|
|
33
|
+
status?: string;
|
|
34
|
+
toolCallId?: string;
|
|
35
|
+
toolName?: string;
|
|
36
|
+
turnId?: string;
|
|
37
|
+
};
|
|
38
|
+
export type VoiceOperationsRecordTranscriptTurn = {
|
|
39
|
+
assistantReplies: string[];
|
|
40
|
+
committedText?: string;
|
|
41
|
+
errors: string[];
|
|
42
|
+
id: string;
|
|
43
|
+
transcripts: string[];
|
|
44
|
+
};
|
|
45
|
+
export type VoiceOperationsRecordProviderDecision = {
|
|
46
|
+
at: number;
|
|
47
|
+
elapsedMs?: number;
|
|
48
|
+
error?: string;
|
|
49
|
+
fallbackProvider?: string;
|
|
50
|
+
kind?: string;
|
|
51
|
+
provider?: string;
|
|
52
|
+
reason?: string;
|
|
53
|
+
selectedProvider?: string;
|
|
54
|
+
status?: string;
|
|
55
|
+
surface?: string;
|
|
56
|
+
type: StoredVoiceTraceEvent["type"];
|
|
57
|
+
turnId?: string;
|
|
58
|
+
};
|
|
59
|
+
export type VoiceOperationsRecordProviderDecisionRecoveryStatus = "degraded" | "failed" | "none" | "recovered" | "selected";
|
|
60
|
+
export type VoiceOperationsRecordProviderDecisionSummary = {
|
|
61
|
+
degraded: number;
|
|
62
|
+
errors: number;
|
|
63
|
+
fallbacks: number;
|
|
64
|
+
providers: string[];
|
|
65
|
+
recoveryStatus: VoiceOperationsRecordProviderDecisionRecoveryStatus;
|
|
66
|
+
selected: number;
|
|
67
|
+
surfaces: string[];
|
|
68
|
+
total: number;
|
|
69
|
+
};
|
|
70
|
+
export type VoiceOperationsRecordAuditSummary = {
|
|
71
|
+
error: number;
|
|
72
|
+
events: StoredVoiceAuditEvent[];
|
|
73
|
+
skipped: number;
|
|
74
|
+
success: number;
|
|
75
|
+
total: number;
|
|
76
|
+
};
|
|
77
|
+
export type VoiceOperationsRecordReviewSummary = {
|
|
78
|
+
failed: number;
|
|
79
|
+
reviews: StoredVoiceCallReviewArtifact[];
|
|
80
|
+
total: number;
|
|
81
|
+
};
|
|
82
|
+
export type VoiceOperationsRecordTaskSummary = {
|
|
83
|
+
done: number;
|
|
84
|
+
inProgress: number;
|
|
85
|
+
open: number;
|
|
86
|
+
overdue: number;
|
|
87
|
+
tasks: StoredVoiceOpsTask[];
|
|
88
|
+
total: number;
|
|
89
|
+
};
|
|
90
|
+
export type VoiceOperationsRecordIntegrationEventSummary = {
|
|
91
|
+
delivered: number;
|
|
92
|
+
events: StoredVoiceIntegrationEvent[];
|
|
93
|
+
failed: number;
|
|
94
|
+
pending: number;
|
|
95
|
+
sinkDeliveries: number;
|
|
96
|
+
skipped: number;
|
|
97
|
+
total: number;
|
|
98
|
+
};
|
|
99
|
+
export type VoiceOperationsRecordGuardrailFinding = {
|
|
100
|
+
action?: string;
|
|
101
|
+
label?: string;
|
|
102
|
+
ruleId?: string;
|
|
103
|
+
};
|
|
104
|
+
export type VoiceOperationsRecordGuardrailDecision = {
|
|
105
|
+
allowed?: boolean;
|
|
106
|
+
at: number;
|
|
107
|
+
findings: VoiceOperationsRecordGuardrailFinding[];
|
|
108
|
+
metadata?: Record<string, unknown>;
|
|
109
|
+
proof?: string;
|
|
110
|
+
stage?: string;
|
|
111
|
+
status?: string;
|
|
112
|
+
toolName?: string;
|
|
113
|
+
turnId?: string;
|
|
114
|
+
};
|
|
115
|
+
export type VoiceOperationsRecordGuardrailSummary = {
|
|
116
|
+
blocked: number;
|
|
117
|
+
decisions: VoiceOperationsRecordGuardrailDecision[];
|
|
118
|
+
passed: number;
|
|
119
|
+
stages: string[];
|
|
120
|
+
total: number;
|
|
121
|
+
warned: number;
|
|
122
|
+
};
|
|
123
|
+
export type VoiceOperationsRecordTelephonyMediaEvent = {
|
|
124
|
+
at: number;
|
|
125
|
+
audioBytes: number;
|
|
126
|
+
callSid?: string;
|
|
127
|
+
carrier?: string;
|
|
128
|
+
direction?: string;
|
|
129
|
+
event: string;
|
|
130
|
+
sequenceNumber?: string;
|
|
131
|
+
streamId?: string;
|
|
132
|
+
};
|
|
133
|
+
export type VoiceOperationsRecordTelephonyMediaSummary = {
|
|
134
|
+
audioBytes: number;
|
|
135
|
+
carriers: string[];
|
|
136
|
+
clears: number;
|
|
137
|
+
errors: number;
|
|
138
|
+
events: VoiceOperationsRecordTelephonyMediaEvent[];
|
|
139
|
+
inbound: number;
|
|
140
|
+
marks: number;
|
|
141
|
+
media: number;
|
|
142
|
+
outbound: number;
|
|
143
|
+
starts: number;
|
|
144
|
+
stops: number;
|
|
145
|
+
streamIds: string[];
|
|
146
|
+
total: number;
|
|
147
|
+
};
|
|
148
|
+
type VoiceOperationsRecordMediaPipelineSummary = {
|
|
149
|
+
frames: number;
|
|
150
|
+
issueCodes: readonly string[];
|
|
151
|
+
jitterMs?: number;
|
|
152
|
+
processorGraphStatus?: MediaPipelineStatus;
|
|
153
|
+
qualityStatus: MediaPipelineStatus;
|
|
154
|
+
status: MediaPipelineStatus;
|
|
155
|
+
surface: string;
|
|
156
|
+
transportStatus?: MediaPipelineStatus;
|
|
157
|
+
};
|
|
158
|
+
export type VoiceOperationsRecordGuardrailAssertionInput = {
|
|
159
|
+
minBlocked?: number;
|
|
160
|
+
minDecisions?: number;
|
|
161
|
+
minPassed?: number;
|
|
162
|
+
minWarned?: number;
|
|
163
|
+
proofs?: string[];
|
|
164
|
+
ruleIds?: string[];
|
|
165
|
+
stages?: string[];
|
|
166
|
+
statuses?: string[];
|
|
167
|
+
toolNames?: string[];
|
|
168
|
+
};
|
|
169
|
+
export type VoiceOperationsRecordGuardrailAssertionReport = {
|
|
170
|
+
blocked: number;
|
|
171
|
+
decisions: number;
|
|
172
|
+
issues: string[];
|
|
173
|
+
ok: boolean;
|
|
174
|
+
passed: number;
|
|
175
|
+
proofs: string[];
|
|
176
|
+
ruleIds: string[];
|
|
177
|
+
stages: string[];
|
|
178
|
+
statuses: string[];
|
|
179
|
+
toolNames: string[];
|
|
180
|
+
warned: number;
|
|
181
|
+
};
|
|
182
|
+
export type VoiceOperationsRecordProviderRecoveryAssertionInput = {
|
|
183
|
+
minDegraded?: number;
|
|
184
|
+
minErrors?: number;
|
|
185
|
+
minFallbacks?: number;
|
|
186
|
+
minSelected?: number;
|
|
187
|
+
minTotal?: number;
|
|
188
|
+
recoveryStatus?: VoiceOperationsRecordProviderDecisionRecoveryStatus;
|
|
189
|
+
requiredFallbackProviders?: string[];
|
|
190
|
+
requiredProviders?: string[];
|
|
191
|
+
requiredReasonIncludes?: string[];
|
|
192
|
+
requiredSelectedProviders?: string[];
|
|
193
|
+
requiredStatuses?: string[];
|
|
194
|
+
requiredSurfaces?: string[];
|
|
195
|
+
};
|
|
196
|
+
export type VoiceOperationsRecordProviderRecoveryAssertionReport = {
|
|
197
|
+
degraded: number;
|
|
198
|
+
errors: number;
|
|
199
|
+
fallbacks: number;
|
|
200
|
+
issues: string[];
|
|
201
|
+
ok: boolean;
|
|
202
|
+
providers: string[];
|
|
203
|
+
recoveryStatus: VoiceOperationsRecordProviderDecisionRecoveryStatus;
|
|
204
|
+
selected: number;
|
|
205
|
+
selectedProviders: string[];
|
|
206
|
+
statuses: string[];
|
|
207
|
+
surfaces: string[];
|
|
208
|
+
total: number;
|
|
209
|
+
};
|
|
210
|
+
export type VoiceOperationsRecord = {
|
|
211
|
+
audit?: VoiceOperationsRecordAuditSummary;
|
|
212
|
+
checkedAt: number;
|
|
213
|
+
guardrails: VoiceOperationsRecordGuardrailSummary;
|
|
214
|
+
handoffs: VoiceOperationsRecordAgentHandoff[];
|
|
215
|
+
integrationEvents?: VoiceOperationsRecordIntegrationEventSummary;
|
|
216
|
+
mediaPipeline?: VoiceOperationsRecordMediaPipelineSummary;
|
|
217
|
+
outcome: VoiceOperationsRecordOutcome;
|
|
218
|
+
providerDecisions: VoiceOperationsRecordProviderDecision[];
|
|
219
|
+
providerDecisionSummary: VoiceOperationsRecordProviderDecisionSummary;
|
|
220
|
+
providers: VoiceTraceTimelineProviderSummary[];
|
|
221
|
+
replay: VoiceSessionReplay;
|
|
222
|
+
reviews?: VoiceOperationsRecordReviewSummary;
|
|
223
|
+
sessionId: string;
|
|
224
|
+
status: VoiceOperationsRecordStatus;
|
|
225
|
+
summary: VoiceTraceSummary;
|
|
226
|
+
tasks?: VoiceOperationsRecordTaskSummary;
|
|
227
|
+
telephonyMedia: VoiceOperationsRecordTelephonyMediaSummary;
|
|
228
|
+
timeline: VoiceTraceTimelineEvent[];
|
|
229
|
+
tools: VoiceOperationsRecordTool[];
|
|
230
|
+
traceEvents: StoredVoiceTraceEvent[];
|
|
231
|
+
transcript: VoiceOperationsRecordTranscriptTurn[];
|
|
232
|
+
};
|
|
233
|
+
export type VoiceFailureReplayStatus = "degraded" | "failed" | "healthy" | "recovered";
|
|
234
|
+
export type VoiceFailureReplayProviderStep = {
|
|
235
|
+
at: number;
|
|
236
|
+
elapsedMs?: number;
|
|
237
|
+
error?: string;
|
|
238
|
+
fallbackProvider?: string;
|
|
239
|
+
kind?: string;
|
|
240
|
+
provider?: string;
|
|
241
|
+
reason?: string;
|
|
242
|
+
selectedProvider?: string;
|
|
243
|
+
status?: string;
|
|
244
|
+
surface?: string;
|
|
245
|
+
turnId?: string;
|
|
246
|
+
userHeard: string[];
|
|
247
|
+
};
|
|
248
|
+
export type VoiceFailureReplayMediaStep = {
|
|
249
|
+
at: number;
|
|
250
|
+
audioBytes: number;
|
|
251
|
+
carrier?: string;
|
|
252
|
+
direction?: string;
|
|
253
|
+
event: string;
|
|
254
|
+
issue?: string;
|
|
255
|
+
streamId?: string;
|
|
256
|
+
};
|
|
257
|
+
export type VoiceFailureReplayTurn = {
|
|
258
|
+
assistantReplies: string[];
|
|
259
|
+
committedText?: string;
|
|
260
|
+
errors: string[];
|
|
261
|
+
id: string;
|
|
262
|
+
media: VoiceFailureReplayMediaStep[];
|
|
263
|
+
providers: VoiceFailureReplayProviderStep[];
|
|
264
|
+
transcripts: string[];
|
|
265
|
+
};
|
|
266
|
+
export type VoiceFailureReplayReport = {
|
|
267
|
+
incidentMarkdown: string;
|
|
268
|
+
media: {
|
|
269
|
+
audioBytes: number;
|
|
270
|
+
clears: number;
|
|
271
|
+
errors: number;
|
|
272
|
+
issues: string[];
|
|
273
|
+
pipelineIssueCodes: readonly string[];
|
|
274
|
+
pipelineStatus?: MediaPipelineStatus;
|
|
275
|
+
steps: VoiceFailureReplayMediaStep[];
|
|
276
|
+
total: number;
|
|
277
|
+
};
|
|
278
|
+
ok: boolean;
|
|
279
|
+
operationsRecordHref?: string;
|
|
280
|
+
providers: {
|
|
281
|
+
degraded: number;
|
|
282
|
+
errors: number;
|
|
283
|
+
fallbacks: number;
|
|
284
|
+
recoveryStatus: VoiceOperationsRecordProviderDecisionRecoveryStatus;
|
|
285
|
+
selected: number;
|
|
286
|
+
steps: VoiceFailureReplayProviderStep[];
|
|
287
|
+
total: number;
|
|
288
|
+
};
|
|
289
|
+
sessionId: string;
|
|
290
|
+
status: VoiceFailureReplayStatus;
|
|
291
|
+
summary: {
|
|
292
|
+
callDurationMs?: number;
|
|
293
|
+
issues: string[];
|
|
294
|
+
userHeard: string[];
|
|
295
|
+
};
|
|
296
|
+
turns: VoiceFailureReplayTurn[];
|
|
297
|
+
};
|
|
298
|
+
export type VoiceFailureReplayOptions = {
|
|
299
|
+
operationsRecordHref?: string | ((input: {
|
|
300
|
+
record: VoiceOperationsRecord;
|
|
301
|
+
sessionId: string;
|
|
302
|
+
}) => string);
|
|
303
|
+
};
|
|
304
|
+
export type VoiceOperationsRecordOptions = {
|
|
305
|
+
audit?: VoiceAuditEventStore;
|
|
306
|
+
evaluation?: VoiceTraceEvaluationOptions;
|
|
307
|
+
events?: StoredVoiceTraceEvent[];
|
|
308
|
+
integrationEvents?: VoiceIntegrationEventStore;
|
|
309
|
+
mediaPipeline?: VoiceMediaPipelineReport;
|
|
310
|
+
redact?: VoiceTraceRedactionConfig;
|
|
311
|
+
reviews?: VoiceCallReviewStore;
|
|
312
|
+
sessionId: string;
|
|
313
|
+
store?: VoiceTraceEventStore;
|
|
314
|
+
tasks?: VoiceOpsTaskStore;
|
|
315
|
+
};
|
|
316
|
+
export type VoiceOperationsRecordRoutesOptions = Omit<VoiceOperationsRecordOptions, "sessionId" | "mediaPipeline"> & {
|
|
317
|
+
headers?: HeadersInit;
|
|
318
|
+
htmlPath?: false | string;
|
|
319
|
+
incidentHtmlPath?: false | string;
|
|
320
|
+
incidentPath?: false | string;
|
|
321
|
+
mediaPipeline?: VoiceMediaPipelineReport | ((input: {
|
|
322
|
+
sessionId: string;
|
|
323
|
+
}) => Promise<VoiceMediaPipelineReport | undefined> | VoiceMediaPipelineReport | undefined);
|
|
324
|
+
name?: string;
|
|
325
|
+
path?: string;
|
|
326
|
+
render?: (record: VoiceOperationsRecord) => string | Promise<string>;
|
|
327
|
+
renderIncidentMarkdown?: (record: VoiceOperationsRecord) => string | Promise<string>;
|
|
328
|
+
title?: string;
|
|
329
|
+
};
|
|
330
|
+
export declare const assertVoiceOperationsRecordGuardrails: (record: VoiceOperationsRecord, input?: VoiceOperationsRecordGuardrailAssertionInput) => VoiceOperationsRecordGuardrailAssertionReport;
|
|
331
|
+
export declare const assertVoiceOperationsRecordProviderRecovery: (record: VoiceOperationsRecord, input?: VoiceOperationsRecordProviderRecoveryAssertionInput) => VoiceOperationsRecordProviderRecoveryAssertionReport;
|
|
332
|
+
export declare const buildVoiceOperationsRecord: (options: VoiceOperationsRecordOptions) => Promise<VoiceOperationsRecord>;
|
|
333
|
+
export declare const evaluateVoiceOperationsRecordGuardrails: (record: VoiceOperationsRecord, input?: VoiceOperationsRecordGuardrailAssertionInput) => VoiceOperationsRecordGuardrailAssertionReport;
|
|
334
|
+
export declare const evaluateVoiceOperationsRecordProviderRecovery: (record: VoiceOperationsRecord, input?: VoiceOperationsRecordProviderRecoveryAssertionInput) => VoiceOperationsRecordProviderRecoveryAssertionReport;
|
|
335
|
+
export declare const buildVoiceFailureReplay: (record: VoiceOperationsRecord, options?: VoiceFailureReplayOptions) => VoiceFailureReplayReport;
|
|
336
|
+
export declare const renderVoiceFailureReplayMarkdown: (report: Omit<VoiceFailureReplayReport, "incidentMarkdown"> | VoiceFailureReplayReport) => string;
|
|
337
|
+
export declare const createVoiceOperationsRecordRoutes: (options: VoiceOperationsRecordRoutesOptions) => Elysia<"", {
|
|
338
|
+
decorator: {};
|
|
339
|
+
store: {};
|
|
340
|
+
derive: {};
|
|
341
|
+
resolve: {};
|
|
342
|
+
}, {
|
|
343
|
+
typebox: {};
|
|
344
|
+
error: {};
|
|
345
|
+
}, {
|
|
346
|
+
schema: {};
|
|
347
|
+
standaloneSchema: {};
|
|
348
|
+
macro: {};
|
|
349
|
+
macroFn: {};
|
|
350
|
+
parser: {};
|
|
351
|
+
response: {};
|
|
352
|
+
}, {}, {
|
|
353
|
+
derive: {};
|
|
354
|
+
resolve: {};
|
|
355
|
+
schema: {};
|
|
356
|
+
standaloneSchema: {};
|
|
357
|
+
response: {};
|
|
358
|
+
}, {
|
|
359
|
+
derive: {};
|
|
360
|
+
resolve: {};
|
|
361
|
+
schema: {};
|
|
362
|
+
standaloneSchema: {};
|
|
363
|
+
response: {};
|
|
364
|
+
}>;
|
|
365
|
+
export declare const renderVoiceOperationsRecordGuardrailMarkdown: (record: VoiceOperationsRecord) => string;
|
|
366
|
+
export declare const renderVoiceOperationsRecordHTML: (record: VoiceOperationsRecord, options?: {
|
|
367
|
+
incidentHref?: string;
|
|
368
|
+
title?: string;
|
|
369
|
+
}) => string;
|
|
370
|
+
export declare const renderVoiceOperationsRecordIncidentMarkdown: (record: VoiceOperationsRecord) => string;
|
|
371
|
+
export {};
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import type { VoiceCallDisposition, VoiceSessionRecord, VoiceSessionSummary } from
|
|
2
|
-
import type { StoredVoiceCallReviewArtifact } from
|
|
3
|
-
export type VoiceOpsTaskStatus =
|
|
4
|
-
export type VoiceOpsTaskKind =
|
|
5
|
-
export type VoiceOpsTaskPriority =
|
|
1
|
+
import type { VoiceCallDisposition, VoiceSessionRecord, VoiceSessionSummary } from "./types";
|
|
2
|
+
import type { StoredVoiceCallReviewArtifact } from "../testing/review";
|
|
3
|
+
export type VoiceOpsTaskStatus = "open" | "in-progress" | "done";
|
|
4
|
+
export type VoiceOpsTaskKind = "appointment-booking" | "callback" | "escalation" | "lead-qualification" | "transfer-check" | "retry-review" | "support-triage";
|
|
5
|
+
export type VoiceOpsTaskPriority = "low" | "normal" | "high" | "urgent";
|
|
6
6
|
export type VoiceOpsTaskHistoryEntry = {
|
|
7
7
|
actor: string;
|
|
8
8
|
at: number;
|
|
9
9
|
detail?: string;
|
|
10
|
-
type:
|
|
10
|
+
type: "created" | "assigned" | "started" | "claimed" | "heartbeat" | "failed" | "dead-lettered" | "policy-applied" | "sla-breached" | "completed" | "reopened" | "requeued";
|
|
11
11
|
};
|
|
12
12
|
export type VoiceOpsTask = {
|
|
13
13
|
assignee?: string;
|
|
@@ -45,15 +45,10 @@ export type VoiceExternalObjectMap = {
|
|
|
45
45
|
provider: string;
|
|
46
46
|
sinkId?: string;
|
|
47
47
|
sourceId: string;
|
|
48
|
-
sourceType:
|
|
48
|
+
sourceType: "session" | "review" | "task" | "event";
|
|
49
49
|
updatedAt: number;
|
|
50
50
|
};
|
|
51
51
|
export type StoredVoiceExternalObjectMap = VoiceExternalObjectMap;
|
|
52
|
-
export declare const createVoiceExternalObjectMapId: (input: {
|
|
53
|
-
provider: string;
|
|
54
|
-
sinkId?: string;
|
|
55
|
-
sourceId: string;
|
|
56
|
-
}) => string;
|
|
57
52
|
export declare const createVoiceExternalObjectMap: (input: {
|
|
58
53
|
at?: number;
|
|
59
54
|
externalId: string;
|
|
@@ -62,12 +57,17 @@ export declare const createVoiceExternalObjectMap: (input: {
|
|
|
62
57
|
sourceId: string;
|
|
63
58
|
sourceType: VoiceExternalObjectMap["sourceType"];
|
|
64
59
|
}) => StoredVoiceExternalObjectMap;
|
|
60
|
+
export declare const createVoiceExternalObjectMapId: (input: {
|
|
61
|
+
provider: string;
|
|
62
|
+
sinkId?: string;
|
|
63
|
+
sourceId: string;
|
|
64
|
+
}) => string;
|
|
65
65
|
export type VoiceExternalObjectMapStore<TMapping extends StoredVoiceExternalObjectMap = StoredVoiceExternalObjectMap> = {
|
|
66
66
|
find: (input: {
|
|
67
67
|
provider: string;
|
|
68
68
|
sinkId?: string;
|
|
69
69
|
sourceId: string;
|
|
70
|
-
sourceType?: VoiceExternalObjectMap[
|
|
70
|
+
sourceType?: VoiceExternalObjectMap["sourceType"];
|
|
71
71
|
}) => Promise<TMapping | undefined> | TMapping | undefined;
|
|
72
72
|
get: (id: string) => Promise<TMapping | undefined> | TMapping | undefined;
|
|
73
73
|
list: () => Promise<TMapping[]> | TMapping[];
|
|
@@ -96,7 +96,7 @@ export type VoiceOpsTaskSummary = {
|
|
|
96
96
|
topTargets: Array<[string, number]>;
|
|
97
97
|
total: number;
|
|
98
98
|
};
|
|
99
|
-
export type VoiceOpsTaskAgeBucket =
|
|
99
|
+
export type VoiceOpsTaskAgeBucket = "fresh" | "aging" | "due-soon" | "overdue" | "stale";
|
|
100
100
|
export type VoiceOpsTaskAssigneeAnalytics = {
|
|
101
101
|
assignee: string;
|
|
102
102
|
averageCompletionMs?: number;
|
|
@@ -161,9 +161,9 @@ export type VoiceOpsTaskAnalyticsOptions = {
|
|
|
161
161
|
dueSoonMs?: number;
|
|
162
162
|
staleMs?: number;
|
|
163
163
|
};
|
|
164
|
-
export type VoiceIntegrationEventType =
|
|
164
|
+
export type VoiceIntegrationEventType = "call.completed" | "review.saved" | "task.created" | "task.updated" | "task.sla_breached";
|
|
165
165
|
export type VoiceOpsSLABreachPolicy = {
|
|
166
|
-
action?:
|
|
166
|
+
action?: "event" | "event-and-task" | "task";
|
|
167
167
|
assignee?: string;
|
|
168
168
|
description?: string;
|
|
169
169
|
dueInMs?: number;
|
|
@@ -173,7 +173,7 @@ export type VoiceOpsSLABreachPolicy = {
|
|
|
173
173
|
recommendedAction?: string;
|
|
174
174
|
title?: string;
|
|
175
175
|
};
|
|
176
|
-
export type VoiceIntegrationDeliveryStatus =
|
|
176
|
+
export type VoiceIntegrationDeliveryStatus = "pending" | "delivered" | "failed" | "skipped";
|
|
177
177
|
export type VoiceIntegrationSinkDelivery = {
|
|
178
178
|
attempts: number;
|
|
179
179
|
deliveredAt?: number;
|
|
@@ -216,42 +216,19 @@ export declare const deliverVoiceIntegrationEvent: (input: {
|
|
|
216
216
|
event: StoredVoiceIntegrationEvent;
|
|
217
217
|
webhook: VoiceIntegrationWebhookConfig;
|
|
218
218
|
}) => Promise<StoredVoiceIntegrationEvent>;
|
|
219
|
-
export declare const
|
|
219
|
+
export declare const buildVoiceOpsTaskFromReview: (review: StoredVoiceCallReviewArtifact) => StoredVoiceOpsTask | null;
|
|
220
|
+
export declare const withVoiceIntegrationEventId: <TEvent extends Omit<VoiceIntegrationEvent, "id"> = Omit<VoiceIntegrationEvent, "id">>(id: string, event: TEvent) => TEvent & {
|
|
220
221
|
id: string;
|
|
221
222
|
};
|
|
222
|
-
export declare const
|
|
223
|
+
export declare const withVoiceOpsTaskId: <TTask extends Omit<VoiceOpsTask, "id"> = Omit<VoiceOpsTask, "id">>(id: string, task: TTask) => TTask & {
|
|
223
224
|
id: string;
|
|
224
225
|
};
|
|
225
|
-
export declare const
|
|
226
|
-
export declare const resolveVoiceOpsTaskPolicy: (input: {
|
|
227
|
-
disposition?: VoiceCallDisposition;
|
|
228
|
-
policies?: VoiceOpsDispositionTaskPolicies;
|
|
229
|
-
}) => {
|
|
230
|
-
assignee?: string;
|
|
231
|
-
dueInMs?: number;
|
|
232
|
-
name?: string;
|
|
233
|
-
priority?: VoiceOpsTaskPriority;
|
|
234
|
-
queue?: string;
|
|
235
|
-
recommendedAction?: string;
|
|
236
|
-
target?: string;
|
|
237
|
-
title?: string;
|
|
238
|
-
} | undefined;
|
|
239
|
-
export declare const isVoiceOpsTaskOverdue: (task: StoredVoiceOpsTask, input?: {
|
|
240
|
-
at?: number;
|
|
241
|
-
}) => boolean;
|
|
242
|
-
export declare const hasVoiceOpsTaskSLABreach: (task: StoredVoiceOpsTask) => boolean;
|
|
243
|
-
export declare const resolveVoiceOpsTaskAgeBucket: (task: StoredVoiceOpsTask, input?: VoiceOpsTaskAnalyticsOptions) => VoiceOpsTaskAgeBucket;
|
|
244
|
-
export declare const applyVoiceOpsTaskPolicy: (task: StoredVoiceOpsTask, policy: VoiceOpsTaskPolicy, input?: {
|
|
226
|
+
export declare const applyVoiceOpsTaskAssignmentRule: (task: StoredVoiceOpsTask, rule: VoiceOpsTaskAssignmentRule, input?: {
|
|
245
227
|
at?: number;
|
|
246
228
|
actor?: string;
|
|
247
229
|
detail?: string;
|
|
248
230
|
}) => StoredVoiceOpsTask;
|
|
249
|
-
export declare const
|
|
250
|
-
export declare const resolveVoiceOpsTaskAssignment: (input: {
|
|
251
|
-
rules?: VoiceOpsTaskAssignmentRules;
|
|
252
|
-
task: StoredVoiceOpsTask;
|
|
253
|
-
}) => VoiceOpsTaskAssignmentRule | undefined;
|
|
254
|
-
export declare const applyVoiceOpsTaskAssignmentRule: (task: StoredVoiceOpsTask, rule: VoiceOpsTaskAssignmentRule, input?: {
|
|
231
|
+
export declare const applyVoiceOpsTaskPolicy: (task: StoredVoiceOpsTask, policy: VoiceOpsTaskPolicy, input?: {
|
|
255
232
|
at?: number;
|
|
256
233
|
actor?: string;
|
|
257
234
|
detail?: string;
|
|
@@ -260,22 +237,35 @@ export declare const assignVoiceOpsTask: (task: StoredVoiceOpsTask, owner: strin
|
|
|
260
237
|
at?: number;
|
|
261
238
|
actor?: string;
|
|
262
239
|
}) => StoredVoiceOpsTask;
|
|
263
|
-
export declare const
|
|
240
|
+
export declare const buildVoiceOpsTaskFromSLABreach: (task: StoredVoiceOpsTask, policy?: VoiceOpsSLABreachPolicy) => StoredVoiceOpsTask;
|
|
241
|
+
export declare const claimVoiceOpsTask: (task: StoredVoiceOpsTask, workerId: string, input?: {
|
|
264
242
|
at?: number;
|
|
265
243
|
actor?: string;
|
|
266
244
|
detail?: string;
|
|
245
|
+
leaseMs: number;
|
|
267
246
|
}) => StoredVoiceOpsTask;
|
|
268
|
-
export declare const
|
|
247
|
+
export declare const completeVoiceOpsTask: (task: StoredVoiceOpsTask, input?: {
|
|
269
248
|
at?: number;
|
|
270
249
|
actor?: string;
|
|
271
250
|
detail?: string;
|
|
272
|
-
leaseMs: number;
|
|
273
251
|
}) => StoredVoiceOpsTask;
|
|
274
|
-
export declare const
|
|
252
|
+
export declare const createVoiceCallCompletedEvent: (input: {
|
|
253
|
+
disposition?: VoiceCallDisposition;
|
|
254
|
+
session: VoiceSessionRecord;
|
|
255
|
+
sessionSummary?: VoiceSessionSummary;
|
|
256
|
+
}) => StoredVoiceIntegrationEvent;
|
|
257
|
+
export declare const createVoiceIntegrationEvent: <TPayload extends Record<string, unknown> = Record<string, unknown>>(type: VoiceIntegrationEventType, payload: TPayload, input?: {
|
|
258
|
+
createdAt?: number;
|
|
259
|
+
id?: string;
|
|
260
|
+
}) => StoredVoiceIntegrationEvent;
|
|
261
|
+
export declare const createVoiceReviewSavedEvent: (review: StoredVoiceCallReviewArtifact) => StoredVoiceIntegrationEvent;
|
|
262
|
+
export declare const createVoiceTaskCreatedEvent: (task: StoredVoiceOpsTask) => StoredVoiceIntegrationEvent;
|
|
263
|
+
export declare const createVoiceTaskSLABreachedEvent: (task: StoredVoiceOpsTask) => StoredVoiceIntegrationEvent;
|
|
264
|
+
export declare const createVoiceTaskUpdatedEvent: (task: StoredVoiceOpsTask) => StoredVoiceIntegrationEvent;
|
|
265
|
+
export declare const deadLetterVoiceOpsTask: (task: StoredVoiceOpsTask, input?: {
|
|
275
266
|
at?: number;
|
|
276
267
|
actor?: string;
|
|
277
268
|
detail?: string;
|
|
278
|
-
leaseMs: number;
|
|
279
269
|
}) => StoredVoiceOpsTask;
|
|
280
270
|
export declare const failVoiceOpsTask: (task: StoredVoiceOpsTask, input?: {
|
|
281
271
|
at?: number;
|
|
@@ -283,45 +273,55 @@ export declare const failVoiceOpsTask: (task: StoredVoiceOpsTask, input?: {
|
|
|
283
273
|
detail?: string;
|
|
284
274
|
error?: string;
|
|
285
275
|
}) => StoredVoiceOpsTask;
|
|
286
|
-
export declare const
|
|
276
|
+
export declare const hasVoiceOpsTaskSLABreach: (task: StoredVoiceOpsTask) => boolean;
|
|
277
|
+
export declare const heartbeatVoiceOpsTask: (task: StoredVoiceOpsTask, workerId: string, input?: {
|
|
287
278
|
at?: number;
|
|
288
279
|
actor?: string;
|
|
289
280
|
detail?: string;
|
|
281
|
+
leaseMs: number;
|
|
290
282
|
}) => StoredVoiceOpsTask;
|
|
283
|
+
export declare const isVoiceOpsTaskOverdue: (task: StoredVoiceOpsTask, input?: {
|
|
284
|
+
at?: number;
|
|
285
|
+
}) => boolean;
|
|
286
|
+
export declare const listVoiceOpsTasks: (tasks: StoredVoiceOpsTask[]) => VoiceOpsTask[];
|
|
291
287
|
export declare const markVoiceOpsTaskSLABreached: (task: StoredVoiceOpsTask, input?: {
|
|
292
288
|
at?: number;
|
|
293
289
|
actor?: string;
|
|
294
290
|
detail?: string;
|
|
295
291
|
}) => StoredVoiceOpsTask;
|
|
296
|
-
export declare const
|
|
292
|
+
export declare const matchesVoiceOpsTaskAssignmentRule: (task: StoredVoiceOpsTask, rule: VoiceOpsTaskAssignmentRule) => boolean;
|
|
293
|
+
export declare const reopenVoiceOpsTask: (task: StoredVoiceOpsTask, input?: {
|
|
297
294
|
at?: number;
|
|
298
295
|
actor?: string;
|
|
299
296
|
detail?: string;
|
|
300
297
|
}) => StoredVoiceOpsTask;
|
|
301
|
-
export declare const
|
|
298
|
+
export declare const requeueVoiceOpsTask: (task: StoredVoiceOpsTask, input?: {
|
|
302
299
|
at?: number;
|
|
303
300
|
actor?: string;
|
|
304
301
|
detail?: string;
|
|
305
302
|
}) => StoredVoiceOpsTask;
|
|
306
|
-
export declare const
|
|
303
|
+
export declare const resolveVoiceOpsTaskAgeBucket: (task: StoredVoiceOpsTask, input?: VoiceOpsTaskAnalyticsOptions) => VoiceOpsTaskAgeBucket;
|
|
304
|
+
export declare const resolveVoiceOpsTaskAssignment: (input: {
|
|
305
|
+
rules?: VoiceOpsTaskAssignmentRules;
|
|
306
|
+
task: StoredVoiceOpsTask;
|
|
307
|
+
}) => VoiceOpsTaskAssignmentRule | undefined;
|
|
308
|
+
export declare const resolveVoiceOpsTaskPolicy: (input: {
|
|
309
|
+
disposition?: VoiceCallDisposition;
|
|
310
|
+
policies?: VoiceOpsDispositionTaskPolicies;
|
|
311
|
+
}) => {
|
|
312
|
+
assignee?: string;
|
|
313
|
+
dueInMs?: number;
|
|
314
|
+
name?: string;
|
|
315
|
+
priority?: VoiceOpsTaskPriority;
|
|
316
|
+
queue?: string;
|
|
317
|
+
recommendedAction?: string;
|
|
318
|
+
target?: string;
|
|
319
|
+
title?: string;
|
|
320
|
+
} | undefined;
|
|
321
|
+
export declare const startVoiceOpsTask: (task: StoredVoiceOpsTask, input?: {
|
|
307
322
|
at?: number;
|
|
308
323
|
actor?: string;
|
|
309
324
|
detail?: string;
|
|
310
325
|
}) => StoredVoiceOpsTask;
|
|
311
|
-
export declare const listVoiceOpsTasks: (tasks: StoredVoiceOpsTask[]) => VoiceOpsTask[];
|
|
312
|
-
export declare const summarizeVoiceOpsTasks: (tasks: StoredVoiceOpsTask[]) => VoiceOpsTaskSummary;
|
|
313
326
|
export declare const summarizeVoiceOpsTaskAnalytics: (tasks: StoredVoiceOpsTask[], input?: VoiceOpsTaskAnalyticsOptions) => VoiceOpsTaskAnalyticsSummary;
|
|
314
|
-
export declare const
|
|
315
|
-
createdAt?: number;
|
|
316
|
-
id?: string;
|
|
317
|
-
}) => StoredVoiceIntegrationEvent;
|
|
318
|
-
export declare const createVoiceCallCompletedEvent: (input: {
|
|
319
|
-
disposition?: VoiceCallDisposition;
|
|
320
|
-
session: VoiceSessionRecord;
|
|
321
|
-
sessionSummary?: VoiceSessionSummary;
|
|
322
|
-
}) => StoredVoiceIntegrationEvent;
|
|
323
|
-
export declare const createVoiceReviewSavedEvent: (review: StoredVoiceCallReviewArtifact) => StoredVoiceIntegrationEvent;
|
|
324
|
-
export declare const createVoiceTaskCreatedEvent: (task: StoredVoiceOpsTask) => StoredVoiceIntegrationEvent;
|
|
325
|
-
export declare const createVoiceTaskUpdatedEvent: (task: StoredVoiceOpsTask) => StoredVoiceIntegrationEvent;
|
|
326
|
-
export declare const createVoiceTaskSLABreachedEvent: (task: StoredVoiceOpsTask) => StoredVoiceIntegrationEvent;
|
|
327
|
-
export declare const buildVoiceOpsTaskFromSLABreach: (task: StoredVoiceOpsTask, policy?: VoiceOpsSLABreachPolicy) => StoredVoiceOpsTask;
|
|
327
|
+
export declare const summarizeVoiceOpsTasks: (tasks: StoredVoiceOpsTask[]) => VoiceOpsTaskSummary;
|