@absolutejs/voice 0.0.22-beta.6 → 0.0.22-beta.600
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +88 -0
- package/README.md +4518 -951
- package/dist/angular/index.d.ts +36 -2
- package/dist/angular/index.js +4610 -320
- package/dist/angular/voice-agent-squad-status.service.d.ts +12 -0
- package/dist/angular/voice-call-debugger.service.d.ts +12 -0
- package/dist/angular/voice-call-player.service.d.ts +19 -0
- package/dist/angular/voice-campaign-dialer-proof.service.d.ts +14 -0
- package/dist/angular/voice-controller.service.d.ts +4 -1
- package/dist/angular/voice-cost-dashboard.service.d.ts +15 -0
- package/dist/angular/voice-delivery-runtime.service.d.ts +16 -0
- package/dist/angular/voice-live-agent-console.service.d.ts +16 -0
- package/dist/angular/voice-live-call-viewer.service.d.ts +16 -0
- package/dist/angular/voice-live-ops.service.d.ts +11 -0
- package/dist/angular/voice-ops-action-center.service.d.ts +13 -0
- package/dist/angular/voice-ops-status.service.d.ts +12 -0
- package/dist/angular/voice-platform-coverage.service.d.ts +12 -0
- package/dist/angular/voice-profile-comparison.service.d.ts +12 -0
- package/dist/angular/voice-proof-trends.service.d.ts +12 -0
- package/dist/angular/voice-provider-capabilities.service.d.ts +12 -0
- package/dist/angular/voice-provider-contracts.service.d.ts +12 -0
- package/dist/angular/voice-provider-status.service.d.ts +12 -0
- package/dist/angular/voice-readiness-failures.service.d.ts +13 -0
- package/dist/angular/voice-reconnect-profile-evidence.service.d.ts +12 -0
- package/dist/angular/voice-replay-timeline.service.d.ts +13 -0
- package/dist/angular/voice-routing-status.service.d.ts +11 -0
- package/dist/angular/voice-session-observability.service.d.ts +12 -0
- package/dist/angular/voice-session-snapshot.service.d.ts +13 -0
- package/dist/angular/voice-stream.service.d.ts +7 -1
- package/dist/angular/voice-trace-timeline.service.d.ts +12 -0
- package/dist/angular/voice-turn-latency.service.d.ts +13 -0
- package/dist/angular/voice-turn-quality.service.d.ts +12 -0
- package/dist/angular/voice-widget.service.d.ts +18 -0
- package/dist/angular/voice-workflow-status.service.d.ts +12 -0
- package/dist/client/actions.d.ts +150 -2
- package/dist/client/agentSquadStatus.d.ts +37 -0
- package/dist/client/agentSquadStatusWidget.d.ts +24 -0
- package/dist/client/audioPlayer.d.ts +12 -2
- package/dist/client/bargeInMonitor.d.ts +7 -0
- package/dist/client/browserMedia.d.ts +8 -0
- package/dist/client/browserNoiseSuppression.d.ts +42 -0
- package/dist/client/browserVoiceSupport.d.ts +22 -0
- package/dist/client/callDebugger.d.ts +21 -0
- package/dist/client/callDebuggerWidget.d.ts +30 -0
- package/dist/client/callPlayer.d.ts +41 -0
- package/dist/client/campaignDialerProof.d.ts +25 -0
- package/dist/client/connection.d.ts +9 -1
- package/dist/client/controller.d.ts +1 -1
- package/dist/client/conversationAnalytics.d.ts +30 -0
- package/dist/client/costDashboard.d.ts +27 -0
- package/dist/client/createVoiceStream.d.ts +1 -1
- package/dist/client/deliveryRuntime.d.ts +36 -0
- package/dist/client/deliveryRuntimeWidget.d.ts +37 -0
- package/dist/client/duplex.d.ts +2 -2
- package/dist/client/htmx.d.ts +1 -1
- package/dist/client/htmxAttributes.d.ts +24 -0
- package/dist/client/htmxBootstrap.js +1383 -80
- package/dist/client/htmxDashboardRenderers.d.ts +71 -0
- package/dist/client/index.d.ts +107 -7
- package/dist/client/index.js +11063 -103
- package/dist/client/liveAgentConsole.d.ts +28 -0
- package/dist/client/liveCallViewer.d.ts +42 -0
- package/dist/client/liveOps.d.ts +22 -0
- package/dist/client/liveOpsWidget.d.ts +23 -0
- package/dist/client/liveTurnLatency.d.ts +41 -0
- package/dist/client/microphone.d.ts +5 -4
- package/dist/client/opsActionCenter.d.ts +56 -0
- package/dist/client/opsActionCenterWidget.d.ts +29 -0
- package/dist/client/opsActionHistory.d.ts +21 -0
- package/dist/client/opsActionHistoryWidget.d.ts +11 -0
- package/dist/client/opsStatus.d.ts +21 -0
- package/dist/client/opsStatusWidget.d.ts +40 -0
- package/dist/client/platformCoverage.d.ts +21 -0
- package/dist/client/platformCoverageWidget.d.ts +38 -0
- package/dist/client/profileComparison.d.ts +21 -0
- package/dist/client/profileComparisonWidget.d.ts +41 -0
- package/dist/client/profileSwitchRecommendation.d.ts +21 -0
- package/dist/client/profileSwitchRecommendationWidget.d.ts +12 -0
- package/dist/client/proofTrends.d.ts +21 -0
- package/dist/client/proofTrendsWidget.d.ts +38 -0
- package/dist/client/providerCapabilities.d.ts +21 -0
- package/dist/client/providerCapabilitiesWidget.d.ts +32 -0
- package/dist/client/providerContracts.d.ts +21 -0
- package/dist/client/providerContractsWidget.d.ts +37 -0
- package/dist/client/providerSimulationControls.d.ts +33 -0
- package/dist/client/providerSimulationControlsWidget.d.ts +20 -0
- package/dist/client/providerStatus.d.ts +21 -0
- package/dist/client/providerStatusWidget.d.ts +32 -0
- package/dist/client/reactiveSource.d.ts +8 -0
- package/dist/client/readinessFailures.d.ts +21 -0
- package/dist/client/readinessFailuresWidget.d.ts +42 -0
- package/dist/client/reconnectProfileEvidence.d.ts +21 -0
- package/dist/client/reconnectProfileEvidenceWidget.d.ts +39 -0
- package/dist/client/replayTimeline.d.ts +26 -0
- package/dist/client/routingStatus.d.ts +21 -0
- package/dist/client/routingStatusWidget.d.ts +32 -0
- package/dist/client/sessionObservability.d.ts +21 -0
- package/dist/client/sessionObservabilityWidget.d.ts +31 -0
- package/dist/client/sessionSnapshot.d.ts +23 -0
- package/dist/client/sessionSnapshotWidget.d.ts +33 -0
- package/dist/client/store.d.ts +1 -1
- package/dist/client/timeStretch.d.ts +5 -0
- package/dist/client/traceTimeline.d.ts +21 -0
- package/dist/client/traceTimelineWidget.d.ts +36 -0
- package/dist/client/turnLatency.d.ts +24 -0
- package/dist/client/turnLatencyWidget.d.ts +33 -0
- package/dist/client/turnQuality.d.ts +21 -0
- package/dist/client/turnQualityWidget.d.ts +32 -0
- package/dist/client/voiceWidgetView.d.ts +48 -0
- package/dist/client/workflowStatus.d.ts +21 -0
- package/dist/{agent.d.ts → core/agent.d.ts} +109 -6
- package/dist/core/agentPerformanceReport.d.ts +40 -0
- package/dist/core/agentSquadContract.d.ts +98 -0
- package/dist/core/agentState.d.ts +12 -0
- package/dist/core/agentTools.d.ts +132 -0
- package/dist/core/aiScorecard.d.ts +32 -0
- package/dist/core/aiVoiceModel.d.ts +15 -0
- package/dist/core/amdDetector.d.ts +25 -0
- package/dist/{assistant.d.ts → core/assistant.d.ts} +21 -14
- package/dist/core/assistantExperiment.d.ts +42 -0
- package/dist/core/assistantHealth.d.ts +81 -0
- package/dist/{assistantMemory.d.ts → core/assistantMemory.d.ts} +10 -10
- package/dist/core/assistantMode.d.ts +22 -0
- package/dist/{audioConditioning.d.ts → core/audioConditioning.d.ts} +2 -2
- package/dist/core/audit.d.ts +131 -0
- package/dist/core/auditDeliveryRoutes.d.ts +85 -0
- package/dist/core/auditExport.d.ts +34 -0
- package/dist/core/auditRoutes.d.ts +66 -0
- package/dist/core/auditSinks.d.ts +151 -0
- package/dist/core/backchannel.d.ts +24 -0
- package/dist/core/bargeInRoutes.d.ts +56 -0
- package/dist/core/bookingFlow.d.ts +43 -0
- package/dist/core/browserCallProfiles.d.ts +120 -0
- package/dist/core/browserMediaRoutes.d.ts +62 -0
- package/dist/core/cachedTTS.d.ts +54 -0
- package/dist/core/calendarAdapter.d.ts +47 -0
- package/dist/core/calendarSlots.d.ts +35 -0
- package/dist/core/callDebugger.d.ts +66 -0
- package/dist/core/callDisposition.d.ts +38 -0
- package/dist/core/callQuota.d.ts +54 -0
- package/dist/core/callScorecard.d.ts +53 -0
- package/dist/core/callerCRMLinker.d.ts +29 -0
- package/dist/core/callerMemory.d.ts +37 -0
- package/dist/core/callingWindow.d.ts +26 -0
- package/dist/core/campaign.d.ts +795 -0
- package/dist/core/campaignControls.d.ts +37 -0
- package/dist/core/campaignDialers.d.ts +111 -0
- package/dist/core/campaignTemplate.d.ts +16 -0
- package/dist/core/competitiveCoverage.d.ts +141 -0
- package/dist/core/conversationSimulator.d.ts +73 -0
- package/dist/{correction.d.ts → core/correction.d.ts} +5 -4
- package/dist/core/costAccounting.d.ts +76 -0
- package/dist/core/costPredictor.d.ts +74 -0
- package/dist/core/crmCallLogger.d.ts +37 -0
- package/dist/core/crmContract.d.ts +70 -0
- package/dist/core/dataControl.d.ts +180 -0
- package/dist/core/debugTiming.d.ts +11 -0
- package/dist/core/defineVoiceAssistant.d.ts +68 -0
- package/dist/core/deliveryRuntime.d.ts +159 -0
- package/dist/core/deliverySinkRoutes.d.ts +117 -0
- package/dist/core/demoReadyRoutes.d.ts +98 -0
- package/dist/core/diagnosticsRoutes.d.ts +44 -0
- package/dist/core/dncRegistry.d.ts +38 -0
- package/dist/core/dtmfCollector.d.ts +37 -0
- package/dist/core/evalRoutes.d.ts +219 -0
- package/dist/{fileStore.d.ts → core/fileStore.d.ts} +34 -20
- package/dist/core/guardrails.d.ts +128 -0
- package/dist/core/handoff.d.ts +54 -0
- package/dist/core/handoffHealth.d.ts +94 -0
- package/dist/core/hardenedFetch.d.ts +3 -0
- package/dist/core/holdAudio.d.ts +23 -0
- package/dist/{htmx.d.ts → core/htmx.d.ts} +2 -2
- package/dist/core/htmxDashboardRoutes.d.ts +250 -0
- package/dist/core/iceServers.d.ts +34 -0
- package/dist/core/incidentBundle.d.ts +119 -0
- package/dist/core/incidentTimeline.d.ts +260 -0
- package/dist/core/ivrPlan.d.ts +40 -0
- package/dist/core/latencySlo.d.ts +56 -0
- package/dist/core/liveCoach.d.ts +43 -0
- package/dist/core/liveLatency.d.ts +78 -0
- package/dist/core/liveOps.d.ts +190 -0
- package/dist/core/llmJudge.d.ts +45 -0
- package/dist/{logger.d.ts → core/logger.d.ts} +1 -2
- package/dist/core/mcpToolset.d.ts +58 -0
- package/dist/core/mediaPipelineRoutes.d.ts +171 -0
- package/dist/core/mediaPipelineSurfaces.d.ts +48 -0
- package/dist/{memoryStore.d.ts → core/memoryStore.d.ts} +1 -1
- package/dist/core/midCallSummary.d.ts +27 -0
- package/dist/core/modelAdapters.d.ts +159 -0
- package/dist/core/monitor.d.ts +148 -0
- package/dist/core/multilingualProof.d.ts +77 -0
- package/dist/core/noShowPredictor.d.ts +46 -0
- package/dist/core/oauth2TokenSource.d.ts +21 -0
- package/dist/core/observabilityExport.d.ts +501 -0
- package/dist/core/openaiTTS.d.ts +18 -0
- package/dist/core/operationalStatus.d.ts +87 -0
- package/dist/core/operationsRecord.d.ts +371 -0
- package/dist/{ops.d.ts → core/ops.d.ts} +70 -70
- package/dist/core/opsActionAuditRoutes.d.ts +99 -0
- package/dist/core/opsConsoleRoutes.d.ts +80 -0
- package/dist/{opsPresets.d.ts → core/opsPresets.d.ts} +2 -2
- package/dist/core/opsRecovery.d.ts +137 -0
- package/dist/{opsRuntime.d.ts → core/opsRuntime.d.ts} +6 -6
- package/dist/{opsSinks.d.ts → core/opsSinks.d.ts} +19 -19
- package/dist/core/opsStatus.d.ts +76 -0
- package/dist/core/opsStatusRoutes.d.ts +33 -0
- package/dist/core/opsWebhook.d.ts +126 -0
- package/dist/core/otelExporter.d.ts +83 -0
- package/dist/core/outcomeContract.d.ts +146 -0
- package/dist/{outcomeRecipes.d.ts → core/outcomeRecipes.d.ts} +4 -4
- package/dist/core/pathway.d.ts +94 -0
- package/dist/core/pathwayCompiler.d.ts +31 -0
- package/dist/core/pathwayGenerator.d.ts +27 -0
- package/dist/core/pathwayRuntime.d.ts +57 -0
- package/dist/core/pathwaySlotCollector.d.ts +29 -0
- package/dist/core/pathwayVisualizer.d.ts +8 -0
- package/dist/core/phoneAgent.d.ts +139 -0
- package/dist/core/phoneAgentProductionSmoke.d.ts +115 -0
- package/dist/core/phoneProvisioning.d.ts +29 -0
- package/dist/core/platformCoverage.d.ts +91 -0
- package/dist/{plugin.d.ts → core/plugin.d.ts} +2 -2
- package/dist/core/postCallAnalysis.d.ts +98 -0
- package/dist/core/postCallSurvey.d.ts +41 -0
- package/dist/{postgresStore.d.ts → core/postgresStore.d.ts} +20 -9
- package/dist/{presets.d.ts → core/presets.d.ts} +3 -3
- package/dist/core/productionReadiness.d.ts +757 -0
- package/dist/core/profileSwitchRecommendation.d.ts +350 -0
- package/dist/core/promptInjectionGuard.d.ts +30 -0
- package/dist/core/proofAssertions.d.ts +32 -0
- package/dist/core/proofPack.d.ts +211 -0
- package/dist/core/proofRunner.d.ts +79 -0
- package/dist/core/proofTrends.d.ts +966 -0
- package/dist/core/providerAdapters.d.ts +48 -0
- package/dist/core/providerCapabilities.d.ts +92 -0
- package/dist/core/providerDecisionTraces.d.ts +130 -0
- package/dist/core/providerHealth.d.ts +89 -0
- package/dist/core/providerOrchestration.d.ts +109 -0
- package/dist/core/providerRouterTraces.d.ts +35 -0
- package/dist/core/providerRoutingContract.d.ts +71 -0
- package/dist/core/providerSlo.d.ts +142 -0
- package/dist/core/providerStackRecommendations.d.ts +188 -0
- package/dist/core/qualityDriftDetector.d.ts +44 -0
- package/dist/core/qualityRoutes.d.ts +76 -0
- package/dist/{queue.d.ts → core/queue.d.ts} +90 -29
- package/dist/core/ragTool.d.ts +52 -0
- package/dist/core/readinessProfiles.d.ts +45 -0
- package/dist/core/realtimeChannel.d.ts +136 -0
- package/dist/core/realtimeProviderContracts.d.ts +133 -0
- package/dist/core/reconnectContract.d.ts +177 -0
- package/dist/core/recordingRedaction.d.ts +47 -0
- package/dist/core/recordingStore.d.ts +60 -0
- package/dist/core/redaction.d.ts +13 -0
- package/dist/core/reminderScheduler.d.ts +43 -0
- package/dist/core/resilienceRoutes.d.ts +146 -0
- package/dist/core/retention.d.ts +37 -0
- package/dist/core/retryPolicy.d.ts +38 -0
- package/dist/core/routeAuth.d.ts +58 -0
- package/dist/{routing.d.ts → core/routing.d.ts} +2 -2
- package/dist/{runtimeOps.d.ts → core/runtimeOps.d.ts} +3 -3
- package/dist/{s3Store.d.ts → core/s3Store.d.ts} +12 -3
- package/dist/core/scorecardCalibration.d.ts +31 -0
- package/dist/core/scribe.d.ts +50 -0
- package/dist/core/semanticTurn.d.ts +37 -0
- package/dist/{session.d.ts → core/session.d.ts} +1 -1
- package/dist/core/sessionObservability.d.ts +145 -0
- package/dist/core/sessionReplay.d.ts +187 -0
- package/dist/core/sessionSnapshot.d.ts +109 -0
- package/dist/core/simulationSuite.d.ts +144 -0
- package/dist/core/sloCalibration.d.ts +185 -0
- package/dist/{sqliteStore.d.ts → core/sqliteStore.d.ts} +20 -9
- package/dist/{store.d.ts → core/store.d.ts} +1 -1
- package/dist/core/supervisorPermissions.d.ts +33 -0
- package/dist/core/supervisorPresence.d.ts +49 -0
- package/dist/core/telephonyMediaRoutes.d.ts +72 -0
- package/dist/core/telephonyOutcome.d.ts +269 -0
- package/dist/core/toolContract.d.ts +161 -0
- package/dist/core/toolRuntime.d.ts +50 -0
- package/dist/{trace.d.ts → core/trace.d.ts} +61 -22
- package/dist/core/traceDeliveryRoutes.d.ts +86 -0
- package/dist/core/traceTimeline.d.ts +97 -0
- package/dist/core/transcriptAnnotator.d.ts +41 -0
- package/dist/{turnDetection.d.ts → core/turnDetection.d.ts} +2 -1
- package/dist/core/turnLatency.d.ts +95 -0
- package/dist/core/turnProfiles.d.ts +3 -0
- package/dist/core/turnQuality.d.ts +94 -0
- package/dist/core/types.d.ts +1504 -0
- package/dist/core/vapiAdapter.d.ts +160 -0
- package/dist/core/variableAnalytics.d.ts +47 -0
- package/dist/core/voiceConfiguration.d.ts +8 -0
- package/dist/core/voiceMonitoring.d.ts +444 -0
- package/dist/core/webhookFanout.d.ts +48 -0
- package/dist/core/webhookVerification.d.ts +27 -0
- package/dist/core/whisperChannel.d.ts +50 -0
- package/dist/core/workflowContract.d.ts +91 -0
- package/dist/core/writeBehindStore.d.ts +41 -0
- package/dist/core/zeroDataRetention.d.ts +31 -0
- package/dist/drizzle/assistantMemory.d.ts +100 -0
- package/dist/drizzle/eval.d.ts +55 -0
- package/dist/drizzle/handoff.d.ts +56 -0
- package/dist/drizzle/incidentBundle.d.ts +55 -0
- package/dist/drizzle/index.d.ts +991 -0
- package/dist/drizzle/index.js +3059 -0
- package/dist/drizzle/observabilityExport.d.ts +55 -0
- package/dist/drizzle/proofTrends.d.ts +114 -0
- package/dist/drizzle/runtimeStorage.d.ts +1183 -0
- package/dist/drizzle/shared.d.ts +69 -0
- package/dist/embed/index.d.ts +38 -0
- package/dist/embed/index.js +1775 -0
- package/dist/embed/voice-widget.js +10 -0
- package/dist/index.d.ts +376 -46
- package/dist/index.js +47984 -4451
- package/dist/internal/evidence.d.ts +10 -0
- package/dist/internal/html.d.ts +6 -0
- package/dist/internal/status.d.ts +7 -0
- package/dist/react/VoiceAgentSquadStatus.d.ts +5 -0
- package/dist/react/VoiceCallDebuggerLaunch.d.ts +6 -0
- package/dist/react/VoiceCallPlayer.d.ts +11 -0
- package/dist/react/VoiceCostDashboard.d.ts +10 -0
- package/dist/react/VoiceDeliveryRuntime.d.ts +7 -0
- package/dist/react/VoiceLiveAgentConsole.d.ts +11 -0
- package/dist/react/VoiceLiveCallViewer.d.ts +9 -0
- package/dist/react/VoiceOpsActionCenter.d.ts +5 -0
- package/dist/react/VoiceOpsStatus.d.ts +6 -0
- package/dist/react/VoicePlatformCoverage.d.ts +6 -0
- package/dist/react/VoiceProfileComparison.d.ts +6 -0
- package/dist/react/VoiceProfileSwitchRecommendation.d.ts +6 -0
- package/dist/react/VoiceProofTrends.d.ts +6 -0
- package/dist/react/VoiceProviderCapabilities.d.ts +6 -0
- package/dist/react/VoiceProviderContracts.d.ts +6 -0
- package/dist/react/VoiceProviderSimulationControls.d.ts +5 -0
- package/dist/react/VoiceProviderStatus.d.ts +6 -0
- package/dist/react/VoiceReadinessFailures.d.ts +6 -0
- package/dist/react/VoiceReconnectProfileEvidence.d.ts +6 -0
- package/dist/react/VoiceReplayTimeline.d.ts +6 -0
- package/dist/react/VoiceRoutingStatus.d.ts +6 -0
- package/dist/react/VoiceSessionObservability.d.ts +6 -0
- package/dist/react/VoiceSessionSnapshot.d.ts +6 -0
- package/dist/react/VoiceTraceTimeline.d.ts +6 -0
- package/dist/react/VoiceTurnLatency.d.ts +6 -0
- package/dist/react/VoiceTurnQuality.d.ts +6 -0
- package/dist/react/VoiceWidget.d.ts +13 -0
- package/dist/react/index.d.ts +80 -2
- package/dist/react/index.js +13488 -252
- package/dist/react/useVoiceAgentSquadStatus.d.ts +8 -0
- package/dist/react/useVoiceCallDebugger.d.ts +8 -0
- package/dist/react/useVoiceCampaignDialerProof.d.ts +10 -0
- package/dist/react/useVoiceController.d.ts +7 -1
- package/dist/react/useVoiceDeliveryRuntime.d.ts +13 -0
- package/dist/react/useVoiceLiveOps.d.ts +9 -0
- package/dist/react/useVoiceOpsActionCenter.d.ts +11 -0
- package/dist/react/useVoiceOpsStatus.d.ts +8 -0
- package/dist/react/useVoicePlatformCoverage.d.ts +8 -0
- package/dist/react/useVoiceProfileComparison.d.ts +8 -0
- package/dist/react/useVoiceProfileSwitchRecommendation.d.ts +8 -0
- package/dist/react/useVoiceProofTrends.d.ts +8 -0
- package/dist/react/useVoiceProviderCapabilities.d.ts +8 -0
- package/dist/react/useVoiceProviderContracts.d.ts +8 -0
- package/dist/react/useVoiceProviderSimulationControls.d.ts +10 -0
- package/dist/react/useVoiceProviderStatus.d.ts +8 -0
- package/dist/react/useVoiceReadinessFailures.d.ts +8 -0
- package/dist/react/useVoiceReconnectProfileEvidence.d.ts +8 -0
- package/dist/react/useVoiceRoutingStatus.d.ts +8 -0
- package/dist/react/useVoiceSessionObservability.d.ts +8 -0
- package/dist/react/useVoiceSessionSnapshot.d.ts +9 -0
- package/dist/react/useVoiceStream.d.ts +7 -1
- package/dist/react/useVoiceTraceTimeline.d.ts +8 -0
- package/dist/react/useVoiceTurnLatency.d.ts +9 -0
- package/dist/react/useVoiceTurnQuality.d.ts +8 -0
- package/dist/react/useVoiceWorkflowStatus.d.ts +8 -0
- package/dist/svelte/createVoiceAgentSquadStatus.d.ts +9 -0
- package/dist/svelte/createVoiceCallDebugger.d.ts +10 -0
- package/dist/svelte/createVoiceCallPlayer.d.ts +33 -0
- package/dist/svelte/createVoiceCampaignDialerProof.d.ts +9 -0
- package/dist/svelte/createVoiceCostDashboard.d.ts +13 -0
- package/dist/svelte/createVoiceDeliveryRuntime.d.ts +11 -0
- package/dist/svelte/createVoiceLiveAgentConsole.d.ts +23 -0
- package/dist/svelte/createVoiceLiveCallViewer.d.ts +26 -0
- package/dist/svelte/createVoiceLiveOps.d.ts +13 -0
- package/dist/svelte/createVoiceOpsActionCenter.d.ts +10 -0
- package/dist/svelte/createVoiceOpsStatus.d.ts +9 -0
- package/dist/svelte/createVoicePlatformCoverage.d.ts +7 -0
- package/dist/svelte/createVoiceProfileComparison.d.ts +7 -0
- package/dist/svelte/createVoiceProofTrends.d.ts +7 -0
- package/dist/svelte/createVoiceProviderCapabilities.d.ts +10 -0
- package/dist/svelte/createVoiceProviderContracts.d.ts +10 -0
- package/dist/svelte/createVoiceProviderSimulationControls.d.ts +11 -0
- package/dist/svelte/createVoiceProviderStatus.d.ts +10 -0
- package/dist/svelte/createVoiceReadinessFailures.d.ts +7 -0
- package/dist/svelte/createVoiceReconnectProfileEvidence.d.ts +7 -0
- package/dist/svelte/createVoiceReplayTimeline.d.ts +13 -0
- package/dist/svelte/createVoiceRoutingStatus.d.ts +10 -0
- package/dist/svelte/createVoiceSessionObservability.d.ts +10 -0
- package/dist/svelte/createVoiceSessionSnapshot.d.ts +11 -0
- package/dist/svelte/createVoiceStream.d.ts +1 -1
- package/dist/svelte/createVoiceTraceTimeline.d.ts +10 -0
- package/dist/svelte/createVoiceTurnLatency.d.ts +11 -0
- package/dist/svelte/createVoiceTurnQuality.d.ts +10 -0
- package/dist/svelte/createVoiceWidget.d.ts +19 -0
- package/dist/svelte/createVoiceWorkflowStatus.d.ts +8 -0
- package/dist/svelte/index.d.ts +37 -2
- package/dist/svelte/index.js +7013 -222
- package/dist/telephony/contract.d.ts +61 -0
- package/dist/telephony/matrix.d.ts +97 -0
- package/dist/telephony/plivo.d.ts +303 -0
- package/dist/telephony/response.d.ts +1 -1
- package/dist/telephony/security.d.ts +182 -0
- package/dist/telephony/telnyx.d.ts +291 -0
- package/dist/telephony/twilio.d.ts +152 -15
- package/dist/testing/accuracy.d.ts +1 -1
- package/dist/testing/benchmark.d.ts +15 -15
- package/dist/testing/corrected.d.ts +9 -9
- package/dist/testing/duplex.d.ts +5 -5
- package/dist/testing/fixtures.d.ts +4 -4
- package/dist/testing/index.d.ts +13 -11
- package/dist/testing/index.js +10720 -2970
- package/dist/testing/ioProviderSimulator.d.ts +41 -0
- package/dist/testing/providerSimulator.d.ts +44 -0
- package/dist/testing/review.d.ts +8 -8
- package/dist/testing/sessionBenchmark.d.ts +13 -13
- package/dist/testing/stt.d.ts +3 -3
- package/dist/testing/telephony.d.ts +27 -2
- package/dist/testing/tts.d.ts +2 -2
- package/dist/vue/VoiceCallDebuggerLaunch.d.ts +72 -0
- package/dist/vue/VoiceCallPlayer.d.ts +40 -0
- package/dist/vue/VoiceCostDashboard.d.ts +57 -0
- package/dist/vue/VoiceDeliveryRuntime.d.ts +34 -0
- package/dist/vue/VoiceLiveAgentConsole.d.ts +50 -0
- package/dist/vue/VoiceLiveCallViewer.d.ts +35 -0
- package/dist/vue/VoiceOpsActionCenter.d.ts +13 -0
- package/dist/vue/VoiceOpsStatus.d.ts +34 -0
- package/dist/vue/VoicePlatformCoverage.d.ts +27 -0
- package/dist/vue/VoiceProofTrends.d.ts +25 -0
- package/dist/vue/VoiceProviderCapabilities.d.ts +55 -0
- package/dist/vue/VoiceProviderContracts.d.ts +25 -0
- package/dist/vue/VoiceProviderSimulationControls.d.ts +88 -0
- package/dist/vue/VoiceProviderStatus.d.ts +55 -0
- package/dist/vue/VoiceReadinessFailures.d.ts +25 -0
- package/dist/vue/VoiceReconnectProfileEvidence.d.ts +25 -0
- package/dist/vue/VoiceReplayTimeline.d.ts +17 -0
- package/dist/vue/VoiceRoutingStatus.d.ts +55 -0
- package/dist/vue/VoiceSessionObservability.d.ts +27 -0
- package/dist/vue/VoiceSessionSnapshot.d.ts +72 -0
- package/dist/vue/VoiceTurnLatency.d.ts +73 -0
- package/dist/vue/VoiceTurnQuality.d.ts +55 -0
- package/dist/vue/VoiceWidget.d.ts +77 -0
- package/dist/vue/index.d.ts +49 -2
- package/dist/vue/index.js +13420 -958
- package/dist/vue/useVoiceAgentSquadStatus.d.ts +9 -0
- package/dist/vue/useVoiceCallDebugger.d.ts +10 -0
- package/dist/vue/useVoiceCampaignDialerProof.d.ts +11 -0
- package/dist/vue/useVoiceController.d.ts +10 -7
- package/dist/vue/useVoiceDeliveryRuntime.d.ts +13 -0
- package/dist/vue/useVoiceLiveOps.d.ts +9 -0
- package/dist/vue/useVoiceOpsActionCenter.d.ts +11 -0
- package/dist/vue/useVoiceOpsStatus.d.ts +9 -0
- package/dist/vue/useVoicePlatformCoverage.d.ts +9 -0
- package/dist/vue/useVoiceProfileComparison.d.ts +9 -0
- package/dist/vue/useVoiceProofTrends.d.ts +9 -0
- package/dist/vue/useVoiceProviderCapabilities.d.ts +9 -0
- package/dist/vue/useVoiceProviderContracts.d.ts +9 -0
- package/dist/vue/useVoiceProviderSimulationControls.d.ts +24 -0
- package/dist/vue/useVoiceProviderStatus.d.ts +9 -0
- package/dist/vue/useVoiceReadinessFailures.d.ts +959 -0
- package/dist/vue/useVoiceReconnectProfileEvidence.d.ts +9 -0
- package/dist/vue/useVoiceRoutingStatus.d.ts +8 -0
- package/dist/vue/useVoiceSessionObservability.d.ts +9 -0
- package/dist/vue/useVoiceSessionSnapshot.d.ts +10 -0
- package/dist/vue/useVoiceStream.d.ts +11 -5
- package/dist/vue/useVoiceTraceTimeline.d.ts +9 -0
- package/dist/vue/useVoiceTurnLatency.d.ts +10 -0
- package/dist/vue/useVoiceTurnQuality.d.ts +9 -0
- package/dist/vue/useVoiceWorkflowStatus.d.ts +9 -0
- package/package.json +155 -256
- package/dist/modelAdapters.d.ts +0 -39
- package/dist/turnProfiles.d.ts +0 -6
- package/dist/types.d.ts +0 -886
- package/fixtures/README.md +0 -57
- package/fixtures/manifest.json +0 -199
- package/fixtures/pcm/dialogue-three-clean.pcm +0 -0
- package/fixtures/pcm/dialogue-three-mixed.pcm +0 -0
- package/fixtures/pcm/dialogue-two-clean.pcm +0 -0
- package/fixtures/pcm/dialogue-two-noisy.pcm +0 -0
- package/fixtures/pcm/multiturn-three-mixed.pcm +0 -0
- package/fixtures/pcm/multiturn-two-clean.pcm +0 -0
- package/fixtures/pcm/quietly-alone-clean.pcm +0 -0
- package/fixtures/pcm/rainstorms-noisy.pcm +0 -0
- package/fixtures/pcm/stella-bulgaria-bulgarian20.pcm +0 -0
- package/fixtures/pcm/stella-ghana-english507.pcm +0 -0
- package/fixtures/pcm/stella-india-english37.pcm +0 -0
- package/fixtures/pcm/stella-jamaica-jamaican-creole-english1.pcm +0 -0
- package/fixtures/pcm/stella-liberia-liberian-pidgin-english2.pcm +0 -0
- package/fixtures/pcm/stella-pakistan-english519.pcm +0 -0
- package/fixtures/pcm/stella-sierra-leone-krio5.pcm +0 -0
- package/fixtures/pcm/stella-singapore-english655.pcm +0 -0
- package/fixtures/pcm/traveled-back-route-clean.pcm +0 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export type VoiceSupervisorCapability = "monitor" | "annotate" | "coach" | "whisper" | "barge" | "takeover" | "release" | "end-call" | "view-pii" | "export-recording";
|
|
2
|
+
export type VoiceSupervisorTier = "monitor-only" | "annotate" | "coach" | "whisper" | "full-control";
|
|
3
|
+
export type VoiceSupervisorPermission = {
|
|
4
|
+
supervisorId: string;
|
|
5
|
+
tier: VoiceSupervisorTier;
|
|
6
|
+
extraCapabilities?: VoiceSupervisorCapability[];
|
|
7
|
+
deniedCapabilities?: VoiceSupervisorCapability[];
|
|
8
|
+
expiresAt?: number;
|
|
9
|
+
};
|
|
10
|
+
export type VoiceSupervisorPermissionCheck = {
|
|
11
|
+
allowed: boolean;
|
|
12
|
+
reason?: "no-permission" | "expired" | "denied" | "tier-too-low";
|
|
13
|
+
};
|
|
14
|
+
export type CreateVoiceSupervisorPermissionsOptions = {
|
|
15
|
+
defaultTier?: VoiceSupervisorTier;
|
|
16
|
+
permissions?: VoiceSupervisorPermission[];
|
|
17
|
+
now?: () => number;
|
|
18
|
+
};
|
|
19
|
+
export declare const createVoiceSupervisorPermissions: (options?: CreateVoiceSupervisorPermissionsOptions) => {
|
|
20
|
+
can: (supervisorId: string, capability: VoiceSupervisorCapability) => VoiceSupervisorPermissionCheck;
|
|
21
|
+
capabilitiesFor: (supervisorId: string) => VoiceSupervisorCapability[];
|
|
22
|
+
enforce: (supervisorId: string, capability: VoiceSupervisorCapability) => void;
|
|
23
|
+
get: (supervisorId: string) => VoiceSupervisorPermission | null;
|
|
24
|
+
grant: (supervisorId: string, tier: VoiceSupervisorTier, options?: {
|
|
25
|
+
extraCapabilities?: VoiceSupervisorCapability[];
|
|
26
|
+
deniedCapabilities?: VoiceSupervisorCapability[];
|
|
27
|
+
expiresAt?: number;
|
|
28
|
+
}) => VoiceSupervisorPermission;
|
|
29
|
+
revoke: (supervisorId: string) => boolean;
|
|
30
|
+
tiers: () => VoiceSupervisorTier[];
|
|
31
|
+
};
|
|
32
|
+
export type VoiceSupervisorPermissions = ReturnType<typeof createVoiceSupervisorPermissions>;
|
|
33
|
+
export declare const VOICE_SUPERVISOR_TIER_CAPABILITIES: Record<VoiceSupervisorTier, VoiceSupervisorCapability[]>;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export type VoiceSupervisorRole = "viewer" | "coach" | "whisperer" | "owner";
|
|
2
|
+
export type VoiceSupervisorWatcher = {
|
|
3
|
+
supervisorId: string;
|
|
4
|
+
sessionId: string;
|
|
5
|
+
joinedAt: number;
|
|
6
|
+
lastSeenAt: number;
|
|
7
|
+
role: VoiceSupervisorRole;
|
|
8
|
+
displayName?: string;
|
|
9
|
+
};
|
|
10
|
+
export type VoiceSupervisorPresenceEvent = {
|
|
11
|
+
type: "join";
|
|
12
|
+
watcher: VoiceSupervisorWatcher;
|
|
13
|
+
} | {
|
|
14
|
+
type: "leave";
|
|
15
|
+
supervisorId: string;
|
|
16
|
+
sessionId: string;
|
|
17
|
+
at: number;
|
|
18
|
+
} | {
|
|
19
|
+
type: "role-change";
|
|
20
|
+
supervisorId: string;
|
|
21
|
+
sessionId: string;
|
|
22
|
+
from: VoiceSupervisorRole;
|
|
23
|
+
to: VoiceSupervisorRole;
|
|
24
|
+
at: number;
|
|
25
|
+
} | {
|
|
26
|
+
type: "heartbeat";
|
|
27
|
+
supervisorId: string;
|
|
28
|
+
sessionId: string;
|
|
29
|
+
at: number;
|
|
30
|
+
};
|
|
31
|
+
export type CreateVoiceSupervisorPresenceOptions = {
|
|
32
|
+
staleAfterMs?: number;
|
|
33
|
+
now?: () => number;
|
|
34
|
+
};
|
|
35
|
+
export declare const createVoiceSupervisorPresence: (options?: CreateVoiceSupervisorPresenceOptions) => {
|
|
36
|
+
heartbeat: (sessionId: string, supervisorId: string) => boolean;
|
|
37
|
+
join: (input: {
|
|
38
|
+
supervisorId: string;
|
|
39
|
+
sessionId: string;
|
|
40
|
+
role?: VoiceSupervisorRole;
|
|
41
|
+
displayName?: string;
|
|
42
|
+
}) => VoiceSupervisorWatcher;
|
|
43
|
+
leave: (sessionId: string, supervisorId: string) => boolean;
|
|
44
|
+
list: (sessionId: string) => VoiceSupervisorWatcher[];
|
|
45
|
+
setRole: (sessionId: string, supervisorId: string, role: VoiceSupervisorRole) => boolean;
|
|
46
|
+
sessionsWatchedBy(supervisorId: string): string[];
|
|
47
|
+
subscribe(listener: (event: VoiceSupervisorPresenceEvent) => void): () => void;
|
|
48
|
+
};
|
|
49
|
+
export type VoiceSupervisorPresence = ReturnType<typeof createVoiceSupervisorPresence>;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { Elysia } from "elysia";
|
|
2
|
+
import type { MediaFrame, MediaTelephonyCarrier, MediaTelephonyEnvelope, MediaTelephonyStreamLifecycleReport } from "@absolutejs/media";
|
|
3
|
+
import type { VoiceTraceEventStore } from "./trace";
|
|
4
|
+
export type VoiceTelephonyMediaStatus = "fail" | "pass";
|
|
5
|
+
export type VoiceTelephonyMediaCarrierInput = {
|
|
6
|
+
carrier: MediaTelephonyCarrier;
|
|
7
|
+
envelope?: MediaTelephonyEnvelope;
|
|
8
|
+
lifecycleEnvelopes?: readonly MediaTelephonyEnvelope[];
|
|
9
|
+
};
|
|
10
|
+
export type VoiceTelephonyMediaCarrierReport = {
|
|
11
|
+
audioBytes: number;
|
|
12
|
+
carrier: MediaTelephonyCarrier;
|
|
13
|
+
frame?: MediaFrame;
|
|
14
|
+
issues: string[];
|
|
15
|
+
lifecycle: MediaTelephonyStreamLifecycleReport;
|
|
16
|
+
serialized?: MediaTelephonyEnvelope;
|
|
17
|
+
status: VoiceTelephonyMediaStatus;
|
|
18
|
+
};
|
|
19
|
+
export type VoiceTelephonyMediaReport = {
|
|
20
|
+
carriers: readonly VoiceTelephonyMediaCarrierReport[];
|
|
21
|
+
checkedAt: number;
|
|
22
|
+
issues: string[];
|
|
23
|
+
status: VoiceTelephonyMediaStatus;
|
|
24
|
+
};
|
|
25
|
+
export type VoiceTelephonyMediaRoutesOptions = {
|
|
26
|
+
carriers?: readonly VoiceTelephonyMediaCarrierInput[];
|
|
27
|
+
headers?: HeadersInit;
|
|
28
|
+
htmlPath?: false | string;
|
|
29
|
+
name?: string;
|
|
30
|
+
path?: string;
|
|
31
|
+
store?: VoiceTraceEventStore;
|
|
32
|
+
title?: string;
|
|
33
|
+
};
|
|
34
|
+
export type VoiceTelephonyMediaTraceReportOptions = {
|
|
35
|
+
carriers?: readonly MediaTelephonyCarrier[];
|
|
36
|
+
store: VoiceTraceEventStore;
|
|
37
|
+
};
|
|
38
|
+
export declare const buildVoiceTelephonyMediaReport: (input?: {
|
|
39
|
+
carriers?: readonly VoiceTelephonyMediaCarrierInput[];
|
|
40
|
+
}) => VoiceTelephonyMediaReport;
|
|
41
|
+
export declare const createVoiceTelephonyMediaRoutes: (options?: VoiceTelephonyMediaRoutesOptions) => Elysia<"", {
|
|
42
|
+
decorator: {};
|
|
43
|
+
store: {};
|
|
44
|
+
derive: {};
|
|
45
|
+
resolve: {};
|
|
46
|
+
}, {
|
|
47
|
+
typebox: {};
|
|
48
|
+
error: {};
|
|
49
|
+
}, {
|
|
50
|
+
schema: {};
|
|
51
|
+
standaloneSchema: {};
|
|
52
|
+
macro: {};
|
|
53
|
+
macroFn: {};
|
|
54
|
+
parser: {};
|
|
55
|
+
response: {};
|
|
56
|
+
}, {}, {
|
|
57
|
+
derive: {};
|
|
58
|
+
resolve: {};
|
|
59
|
+
schema: {};
|
|
60
|
+
standaloneSchema: {};
|
|
61
|
+
response: {};
|
|
62
|
+
}, {
|
|
63
|
+
derive: {};
|
|
64
|
+
resolve: {};
|
|
65
|
+
schema: {};
|
|
66
|
+
standaloneSchema: {};
|
|
67
|
+
response: {};
|
|
68
|
+
}>;
|
|
69
|
+
export declare const getLatestVoiceTelephonyMediaReport: (options: VoiceTelephonyMediaTraceReportOptions) => Promise<VoiceTelephonyMediaReport | undefined>;
|
|
70
|
+
export declare const renderVoiceTelephonyMediaHTML: (report: VoiceTelephonyMediaReport, options?: {
|
|
71
|
+
title?: string;
|
|
72
|
+
}) => string;
|
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
import { Elysia } from "elysia";
|
|
2
|
+
import type { VoiceCallDisposition, VoiceRouteResult, VoiceSessionHandle, VoiceSessionRecord } from "./types";
|
|
3
|
+
export type VoiceTelephonyOutcomeAction = "complete" | "escalate" | "ignore" | "no-answer" | "transfer" | "voicemail";
|
|
4
|
+
export type VoiceTelephonyOutcomeProviderEvent = {
|
|
5
|
+
answeredBy?: string;
|
|
6
|
+
durationMs?: number;
|
|
7
|
+
from?: string;
|
|
8
|
+
metadata?: Record<string, unknown>;
|
|
9
|
+
provider?: string;
|
|
10
|
+
reason?: string;
|
|
11
|
+
sipCode?: number;
|
|
12
|
+
status?: string;
|
|
13
|
+
target?: string;
|
|
14
|
+
to?: string;
|
|
15
|
+
};
|
|
16
|
+
export type VoiceTelephonyOutcomeDecision = {
|
|
17
|
+
action: VoiceTelephonyOutcomeAction;
|
|
18
|
+
confidence: "high" | "low" | "medium";
|
|
19
|
+
disposition?: VoiceCallDisposition;
|
|
20
|
+
metadata?: Record<string, unknown>;
|
|
21
|
+
reason?: string;
|
|
22
|
+
source: "answered-by" | "duration" | "explicit-target" | "policy" | "sip" | "status";
|
|
23
|
+
target?: string;
|
|
24
|
+
};
|
|
25
|
+
export type VoiceTelephonyOutcomeStatusDecision = VoiceTelephonyOutcomeAction | (Omit<VoiceTelephonyOutcomeDecision, "confidence" | "source"> & {
|
|
26
|
+
confidence?: VoiceTelephonyOutcomeDecision["confidence"];
|
|
27
|
+
source?: VoiceTelephonyOutcomeDecision["source"];
|
|
28
|
+
});
|
|
29
|
+
export type VoiceTelephonyOutcomePolicy = {
|
|
30
|
+
completedStatuses?: string[];
|
|
31
|
+
escalationStatuses?: string[];
|
|
32
|
+
failedAsNoAnswer?: boolean;
|
|
33
|
+
failedStatuses?: string[];
|
|
34
|
+
includeProviderPayload?: boolean;
|
|
35
|
+
machineDetectionVoicemailValues?: string[];
|
|
36
|
+
metadata?: Record<string, unknown>;
|
|
37
|
+
minAnsweredDurationMs?: number;
|
|
38
|
+
noAnswerOnZeroDuration?: boolean;
|
|
39
|
+
noAnswerSipCodes?: number[];
|
|
40
|
+
noAnswerStatuses?: string[];
|
|
41
|
+
statusMap?: Record<string, VoiceTelephonyOutcomeStatusDecision>;
|
|
42
|
+
transferStatuses?: string[];
|
|
43
|
+
transferTarget?: string | ((event: VoiceTelephonyOutcomeProviderEvent) => string | undefined);
|
|
44
|
+
voicemailStatuses?: string[];
|
|
45
|
+
};
|
|
46
|
+
export type VoiceTelephonyOutcomeRouteResult<TResult = unknown> = VoiceRouteResult<TResult>;
|
|
47
|
+
export type VoiceTelephonyWebhookProvider = "generic" | "plivo" | "telnyx" | "twilio";
|
|
48
|
+
export type VoiceTelephonyWebhookParseInput = {
|
|
49
|
+
body: unknown;
|
|
50
|
+
headers: Headers;
|
|
51
|
+
provider: VoiceTelephonyWebhookProvider;
|
|
52
|
+
query: Record<string, unknown>;
|
|
53
|
+
request: Request;
|
|
54
|
+
};
|
|
55
|
+
export type VoiceTelephonyWebhookDecision<TResult = unknown> = {
|
|
56
|
+
applied: boolean;
|
|
57
|
+
decision: VoiceTelephonyOutcomeDecision;
|
|
58
|
+
duplicate?: boolean;
|
|
59
|
+
event: VoiceTelephonyOutcomeProviderEvent;
|
|
60
|
+
idempotencyKey?: string;
|
|
61
|
+
routeResult: VoiceTelephonyOutcomeRouteResult<TResult>;
|
|
62
|
+
sessionId?: string;
|
|
63
|
+
};
|
|
64
|
+
export type StoredVoiceTelephonyWebhookDecision<TResult = unknown> = VoiceTelephonyWebhookDecision<TResult> & {
|
|
65
|
+
createdAt: number;
|
|
66
|
+
updatedAt: number;
|
|
67
|
+
};
|
|
68
|
+
export type VoiceTelephonyWebhookNormalizationEvidenceDecision = {
|
|
69
|
+
action?: VoiceTelephonyOutcomeAction | string;
|
|
70
|
+
applied?: boolean;
|
|
71
|
+
decision?: {
|
|
72
|
+
action?: VoiceTelephonyOutcomeAction | string;
|
|
73
|
+
disposition?: VoiceCallDisposition | string;
|
|
74
|
+
source?: VoiceTelephonyOutcomeDecision["source"] | string;
|
|
75
|
+
};
|
|
76
|
+
disposition?: VoiceCallDisposition | string;
|
|
77
|
+
duplicate?: boolean;
|
|
78
|
+
campaignOutcome?: unknown;
|
|
79
|
+
event?: VoiceTelephonyOutcomeProviderEvent;
|
|
80
|
+
idempotencyKey?: string;
|
|
81
|
+
provider?: VoiceTelephonyWebhookProvider | string;
|
|
82
|
+
routeResult?: unknown;
|
|
83
|
+
sessionId?: string;
|
|
84
|
+
source?: VoiceTelephonyOutcomeDecision["source"] | string;
|
|
85
|
+
};
|
|
86
|
+
export type VoiceTelephonyWebhookVerificationEvidenceAttempt = {
|
|
87
|
+
decisions?: number;
|
|
88
|
+
provider?: VoiceTelephonyWebhookProvider | string;
|
|
89
|
+
rejected?: boolean;
|
|
90
|
+
replayRejected?: boolean;
|
|
91
|
+
sideEffects?: number;
|
|
92
|
+
status?: number;
|
|
93
|
+
verification?: VoiceTelephonyWebhookVerificationResult;
|
|
94
|
+
};
|
|
95
|
+
export type VoiceTelephonyWebhookNormalizationEvidenceInput = {
|
|
96
|
+
decisions?: VoiceTelephonyWebhookNormalizationEvidenceDecision[];
|
|
97
|
+
maxMissingSessionIds?: number;
|
|
98
|
+
minApplied?: number;
|
|
99
|
+
minDecisions?: number;
|
|
100
|
+
minDuplicateIdempotencyKeys?: number;
|
|
101
|
+
minDuplicates?: number;
|
|
102
|
+
maxDuplicateCampaignOutcomesApplied?: number;
|
|
103
|
+
maxRejectedVerificationSideEffects?: number;
|
|
104
|
+
minRejectedVerificationAttempts?: number;
|
|
105
|
+
minReplayRejectedVerificationAttempts?: number;
|
|
106
|
+
requiredActions?: VoiceTelephonyOutcomeAction[];
|
|
107
|
+
requiredDispositions?: VoiceCallDisposition[];
|
|
108
|
+
requiredDuplicateProviders?: VoiceTelephonyWebhookProvider[];
|
|
109
|
+
requiredProviders?: VoiceTelephonyWebhookProvider[];
|
|
110
|
+
requiredReplayRejectedVerificationProviders?: VoiceTelephonyWebhookProvider[];
|
|
111
|
+
requiredRejectedVerificationProviders?: VoiceTelephonyWebhookProvider[];
|
|
112
|
+
requireRouteResults?: boolean;
|
|
113
|
+
verificationAttempts?: VoiceTelephonyWebhookVerificationEvidenceAttempt[];
|
|
114
|
+
};
|
|
115
|
+
export type VoiceTelephonyWebhookNormalizationEvidenceReport = {
|
|
116
|
+
actions: VoiceTelephonyOutcomeAction[];
|
|
117
|
+
applied: number;
|
|
118
|
+
decisions: number;
|
|
119
|
+
dispositions: VoiceCallDisposition[];
|
|
120
|
+
duplicateCampaignOutcomesApplied: number;
|
|
121
|
+
duplicateIdempotencyKeys: number;
|
|
122
|
+
duplicateOutcomeReasons: string[];
|
|
123
|
+
duplicateProviders: VoiceTelephonyWebhookProvider[];
|
|
124
|
+
duplicates: number;
|
|
125
|
+
issues: string[];
|
|
126
|
+
missingSessionIds: number;
|
|
127
|
+
ok: boolean;
|
|
128
|
+
providers: VoiceTelephonyWebhookProvider[];
|
|
129
|
+
rejectedVerificationAttempts: number;
|
|
130
|
+
rejectedVerificationProviders: VoiceTelephonyWebhookProvider[];
|
|
131
|
+
rejectedVerificationSideEffects: number;
|
|
132
|
+
replayRejectedVerificationAttempts: number;
|
|
133
|
+
replayRejectedVerificationProviders: VoiceTelephonyWebhookProvider[];
|
|
134
|
+
routeResults: number;
|
|
135
|
+
sources: string[];
|
|
136
|
+
verificationAttempts: number;
|
|
137
|
+
};
|
|
138
|
+
export type VoiceTelephonyWebhookIdempotencyStore<TResult = unknown> = {
|
|
139
|
+
get: (key: string) => Promise<StoredVoiceTelephonyWebhookDecision<TResult> | undefined> | StoredVoiceTelephonyWebhookDecision<TResult> | undefined;
|
|
140
|
+
set: (key: string, decision: StoredVoiceTelephonyWebhookDecision<TResult>) => Promise<void> | void;
|
|
141
|
+
};
|
|
142
|
+
export type VoiceTelephonyWebhookVerificationResult = {
|
|
143
|
+
ok: true;
|
|
144
|
+
} | {
|
|
145
|
+
ok: false;
|
|
146
|
+
reason: "invalid-signature" | "missing-secret" | "missing-signature" | "unsupported-provider";
|
|
147
|
+
};
|
|
148
|
+
export type VoiceTelephonyWebhookHandlerOptions<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = {
|
|
149
|
+
apply?: boolean | ((input: VoiceTelephonyWebhookDecision<TResult>) => boolean);
|
|
150
|
+
context?: TContext;
|
|
151
|
+
getSessionHandle?: (input: {
|
|
152
|
+
context: TContext;
|
|
153
|
+
decision: VoiceTelephonyOutcomeDecision;
|
|
154
|
+
event: VoiceTelephonyOutcomeProviderEvent;
|
|
155
|
+
request: Request;
|
|
156
|
+
sessionId?: string;
|
|
157
|
+
}) => Promise<VoiceSessionHandle<TContext, TSession, TResult> | undefined> | VoiceSessionHandle<TContext, TSession, TResult> | undefined;
|
|
158
|
+
idempotency?: {
|
|
159
|
+
enabled?: boolean;
|
|
160
|
+
key?: (input: {
|
|
161
|
+
body: unknown;
|
|
162
|
+
event: VoiceTelephonyOutcomeProviderEvent;
|
|
163
|
+
provider: VoiceTelephonyWebhookProvider;
|
|
164
|
+
query: Record<string, unknown>;
|
|
165
|
+
request: Request;
|
|
166
|
+
sessionId?: string;
|
|
167
|
+
}) => Promise<string | undefined> | string | undefined;
|
|
168
|
+
store?: VoiceTelephonyWebhookIdempotencyStore<TResult>;
|
|
169
|
+
};
|
|
170
|
+
onDecision?: (input: VoiceTelephonyWebhookDecision<TResult> & {
|
|
171
|
+
context: TContext;
|
|
172
|
+
request: Request;
|
|
173
|
+
}) => Promise<void> | void;
|
|
174
|
+
parse?: (input: VoiceTelephonyWebhookParseInput) => Promise<VoiceTelephonyOutcomeProviderEvent> | VoiceTelephonyOutcomeProviderEvent;
|
|
175
|
+
policy?: VoiceTelephonyOutcomePolicy;
|
|
176
|
+
provider?: VoiceTelephonyWebhookProvider;
|
|
177
|
+
requireVerification?: boolean;
|
|
178
|
+
resolveSessionId?: (input: {
|
|
179
|
+
body: unknown;
|
|
180
|
+
event: VoiceTelephonyOutcomeProviderEvent;
|
|
181
|
+
query: Record<string, unknown>;
|
|
182
|
+
request: Request;
|
|
183
|
+
}) => Promise<string | undefined> | string | undefined;
|
|
184
|
+
result?: TResult | ((input: {
|
|
185
|
+
decision: VoiceTelephonyOutcomeDecision;
|
|
186
|
+
event: VoiceTelephonyOutcomeProviderEvent;
|
|
187
|
+
sessionId?: string;
|
|
188
|
+
}) => Promise<TResult | undefined> | TResult | undefined);
|
|
189
|
+
signingSecret?: string;
|
|
190
|
+
verificationUrl?: string | ((input: {
|
|
191
|
+
query: Record<string, unknown>;
|
|
192
|
+
request: Request;
|
|
193
|
+
}) => string);
|
|
194
|
+
verify?: (input: {
|
|
195
|
+
body: unknown;
|
|
196
|
+
headers: Headers;
|
|
197
|
+
provider: VoiceTelephonyWebhookProvider;
|
|
198
|
+
query: Record<string, unknown>;
|
|
199
|
+
rawBody: string;
|
|
200
|
+
request: Request;
|
|
201
|
+
}) => Promise<VoiceTelephonyWebhookVerificationResult> | VoiceTelephonyWebhookVerificationResult;
|
|
202
|
+
};
|
|
203
|
+
export type VoiceTelephonyWebhookRoutesOptions<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = VoiceTelephonyWebhookHandlerOptions<TContext, TSession, TResult> & {
|
|
204
|
+
name?: string;
|
|
205
|
+
path?: string;
|
|
206
|
+
};
|
|
207
|
+
export declare const createMemoryVoiceTelephonyWebhookIdempotencyStore: <TResult = unknown>() => VoiceTelephonyWebhookIdempotencyStore<TResult>;
|
|
208
|
+
export declare const assertVoiceTelephonyWebhookNormalizationEvidence: (input?: VoiceTelephonyWebhookNormalizationEvidenceInput) => VoiceTelephonyWebhookNormalizationEvidenceReport;
|
|
209
|
+
export declare const evaluateVoiceTelephonyWebhookNormalizationEvidence: (input?: VoiceTelephonyWebhookNormalizationEvidenceInput) => VoiceTelephonyWebhookNormalizationEvidenceReport;
|
|
210
|
+
export declare const applyVoiceTelephonyOutcome: <TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown>(api: VoiceSessionHandle<TContext, TSession, TResult>, decision: VoiceTelephonyOutcomeDecision, result?: TResult) => Promise<void>;
|
|
211
|
+
export declare const createVoiceTelephonyOutcomePolicy: (policy?: VoiceTelephonyOutcomePolicy) => Required<Pick<VoiceTelephonyOutcomePolicy, "completedStatuses" | "escalationStatuses" | "failedAsNoAnswer" | "failedStatuses" | "includeProviderPayload" | "machineDetectionVoicemailValues" | "noAnswerOnZeroDuration" | "noAnswerSipCodes" | "noAnswerStatuses" | "transferStatuses" | "voicemailStatuses">> & VoiceTelephonyOutcomePolicy;
|
|
212
|
+
export declare const resolveVoiceTelephonyOutcome: (event: VoiceTelephonyOutcomeProviderEvent, policyInput?: VoiceTelephonyOutcomePolicy) => VoiceTelephonyOutcomeDecision;
|
|
213
|
+
export declare const voiceTelephonyOutcomeToRouteResult: <TResult = unknown>(decision: VoiceTelephonyOutcomeDecision, result?: TResult) => VoiceTelephonyOutcomeRouteResult<TResult>;
|
|
214
|
+
export declare const signVoiceTwilioWebhook: (input: {
|
|
215
|
+
authToken: string;
|
|
216
|
+
body?: unknown;
|
|
217
|
+
url: string;
|
|
218
|
+
}) => Promise<string>;
|
|
219
|
+
export declare const verifyVoiceTwilioWebhookSignature: (input: {
|
|
220
|
+
authToken?: string;
|
|
221
|
+
body?: unknown;
|
|
222
|
+
headers: Headers;
|
|
223
|
+
url: string;
|
|
224
|
+
}) => Promise<VoiceTelephonyWebhookVerificationResult>;
|
|
225
|
+
export declare const parseVoiceTelephonyWebhookEvent: (input: VoiceTelephonyWebhookParseInput) => VoiceTelephonyOutcomeProviderEvent;
|
|
226
|
+
export declare const createVoiceTelephonyWebhookHandler: <TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown>(options?: VoiceTelephonyWebhookHandlerOptions<TContext, TSession, TResult>) => (input: {
|
|
227
|
+
query?: Record<string, unknown>;
|
|
228
|
+
request: Request;
|
|
229
|
+
}) => Promise<VoiceTelephonyWebhookDecision<TResult>>;
|
|
230
|
+
export declare const createVoiceTelephonyWebhookRoutes: <TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown>(options?: VoiceTelephonyWebhookRoutesOptions<TContext, TSession, TResult>) => Elysia<"", {
|
|
231
|
+
decorator: {};
|
|
232
|
+
store: {};
|
|
233
|
+
derive: {};
|
|
234
|
+
resolve: {};
|
|
235
|
+
}, {
|
|
236
|
+
typebox: {};
|
|
237
|
+
error: {};
|
|
238
|
+
}, {
|
|
239
|
+
schema: {};
|
|
240
|
+
standaloneSchema: {};
|
|
241
|
+
macro: {};
|
|
242
|
+
macroFn: {};
|
|
243
|
+
parser: {};
|
|
244
|
+
response: {};
|
|
245
|
+
}, {
|
|
246
|
+
[x: string]: {
|
|
247
|
+
post: {
|
|
248
|
+
body: unknown;
|
|
249
|
+
params: {};
|
|
250
|
+
query: unknown;
|
|
251
|
+
headers: unknown;
|
|
252
|
+
response: {
|
|
253
|
+
200: Response | VoiceTelephonyWebhookDecision<TResult>;
|
|
254
|
+
};
|
|
255
|
+
};
|
|
256
|
+
};
|
|
257
|
+
}, {
|
|
258
|
+
derive: {};
|
|
259
|
+
resolve: {};
|
|
260
|
+
schema: {};
|
|
261
|
+
standaloneSchema: {};
|
|
262
|
+
response: {};
|
|
263
|
+
}, {
|
|
264
|
+
derive: {};
|
|
265
|
+
resolve: {};
|
|
266
|
+
schema: {};
|
|
267
|
+
standaloneSchema: {};
|
|
268
|
+
response: {};
|
|
269
|
+
}>;
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { Elysia } from "elysia";
|
|
2
|
+
import type { VoiceAgentTool } from "./agent";
|
|
3
|
+
import { type VoiceToolRuntimeOptions } from "./toolRuntime";
|
|
4
|
+
import type { VoiceSessionRecord, VoiceTurnRecord } from "./types";
|
|
5
|
+
export type VoiceToolContractExpectation = {
|
|
6
|
+
expectedAttempts?: number;
|
|
7
|
+
expectedErrorIncludes?: string;
|
|
8
|
+
expectedResult?: unknown;
|
|
9
|
+
expectIdempotent?: boolean;
|
|
10
|
+
expectStatus?: "error" | "ok";
|
|
11
|
+
expectTimedOut?: boolean;
|
|
12
|
+
maxElapsedMs?: number;
|
|
13
|
+
};
|
|
14
|
+
export type VoiceToolContractCase<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TArgs = Record<string, unknown>, TToolResult = unknown, TRouteResult = unknown> = {
|
|
15
|
+
args: TArgs;
|
|
16
|
+
context?: TContext;
|
|
17
|
+
expect?: VoiceToolContractExpectation;
|
|
18
|
+
id: string;
|
|
19
|
+
label?: string;
|
|
20
|
+
runtime?: VoiceToolRuntimeOptions<TContext, TSession, TRouteResult>;
|
|
21
|
+
session?: TSession;
|
|
22
|
+
toolCallId?: string;
|
|
23
|
+
turn?: VoiceTurnRecord;
|
|
24
|
+
};
|
|
25
|
+
export type VoiceToolContractDefinition<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TArgs = Record<string, unknown>, TToolResult = unknown, TRouteResult = unknown> = {
|
|
26
|
+
cases: Array<VoiceToolContractCase<TContext, TSession, TArgs, TToolResult, TRouteResult>>;
|
|
27
|
+
defaultRuntime?: VoiceToolRuntimeOptions<TContext, TSession, TRouteResult>;
|
|
28
|
+
description?: string;
|
|
29
|
+
id: string;
|
|
30
|
+
label?: string;
|
|
31
|
+
tool: VoiceAgentTool<TContext, TSession, TArgs, TToolResult, TRouteResult>;
|
|
32
|
+
};
|
|
33
|
+
export type VoiceToolContractIssue = {
|
|
34
|
+
caseId: string;
|
|
35
|
+
code: string;
|
|
36
|
+
message: string;
|
|
37
|
+
};
|
|
38
|
+
export type VoiceToolContractCaseReport = {
|
|
39
|
+
attempts: number;
|
|
40
|
+
caseId: string;
|
|
41
|
+
elapsedMs: number;
|
|
42
|
+
error?: string;
|
|
43
|
+
issues: VoiceToolContractIssue[];
|
|
44
|
+
label?: string;
|
|
45
|
+
operationsRecordHref?: string;
|
|
46
|
+
pass: boolean;
|
|
47
|
+
sessionId: string;
|
|
48
|
+
status: "error" | "ok";
|
|
49
|
+
timedOut: boolean;
|
|
50
|
+
};
|
|
51
|
+
export type VoiceToolContractReport = {
|
|
52
|
+
cases: VoiceToolContractCaseReport[];
|
|
53
|
+
contractId: string;
|
|
54
|
+
label?: string;
|
|
55
|
+
issues: VoiceToolContractIssue[];
|
|
56
|
+
pass: boolean;
|
|
57
|
+
toolName: string;
|
|
58
|
+
};
|
|
59
|
+
export type VoiceToolContractSuiteReport = {
|
|
60
|
+
checkedAt: number;
|
|
61
|
+
contracts: VoiceToolContractReport[];
|
|
62
|
+
failed: number;
|
|
63
|
+
passed: number;
|
|
64
|
+
status: "fail" | "pass";
|
|
65
|
+
total: number;
|
|
66
|
+
};
|
|
67
|
+
export type VoiceToolContractAssertionInput = {
|
|
68
|
+
maxFailed?: number;
|
|
69
|
+
maxIssues?: number;
|
|
70
|
+
maxTimedOut?: number;
|
|
71
|
+
minCases?: number;
|
|
72
|
+
minContracts?: number;
|
|
73
|
+
requireOperationRecordHrefs?: boolean;
|
|
74
|
+
requiredCaseStatuses?: Array<"error" | "ok">;
|
|
75
|
+
requiredContractIds?: string[];
|
|
76
|
+
requiredToolNames?: string[];
|
|
77
|
+
};
|
|
78
|
+
export type VoiceToolContractAssertionReport = {
|
|
79
|
+
caseStatuses: Array<"error" | "ok">;
|
|
80
|
+
cases: number;
|
|
81
|
+
contractIds: string[];
|
|
82
|
+
failed: number;
|
|
83
|
+
issues: string[];
|
|
84
|
+
issueCount: number;
|
|
85
|
+
missingOperationsRecordHrefs: number;
|
|
86
|
+
ok: boolean;
|
|
87
|
+
passed: number;
|
|
88
|
+
status: VoiceToolContractSuiteReport["status"];
|
|
89
|
+
timedOut: number;
|
|
90
|
+
toolNames: string[];
|
|
91
|
+
total: number;
|
|
92
|
+
};
|
|
93
|
+
export type VoiceToolContractHandlerOptions = {
|
|
94
|
+
contracts: VoiceToolContractDefinition[];
|
|
95
|
+
operationsRecordHref?: false | string | ((sessionId: string) => string);
|
|
96
|
+
};
|
|
97
|
+
export type VoiceToolContractHTMLHandlerOptions = VoiceToolContractHandlerOptions & {
|
|
98
|
+
headers?: HeadersInit;
|
|
99
|
+
render?: (report: VoiceToolContractSuiteReport) => string | Promise<string>;
|
|
100
|
+
title?: string;
|
|
101
|
+
};
|
|
102
|
+
export type VoiceToolContractRoutesOptions = VoiceToolContractHTMLHandlerOptions & {
|
|
103
|
+
htmlPath?: false | string;
|
|
104
|
+
name?: string;
|
|
105
|
+
path?: string;
|
|
106
|
+
};
|
|
107
|
+
export declare const assertVoiceToolContractEvidence: (report: VoiceToolContractSuiteReport, input?: VoiceToolContractAssertionInput) => VoiceToolContractAssertionReport;
|
|
108
|
+
export declare const createVoiceToolContract: <TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TArgs = Record<string, unknown>, TToolResult = unknown, TRouteResult = unknown>(definition: VoiceToolContractDefinition<TContext, TSession, TArgs, TToolResult, TRouteResult>) => {
|
|
109
|
+
definition: VoiceToolContractDefinition<TContext, TSession, TArgs, TToolResult, TRouteResult>;
|
|
110
|
+
assert: () => Promise<VoiceToolContractReport>;
|
|
111
|
+
run: () => Promise<VoiceToolContractReport>;
|
|
112
|
+
};
|
|
113
|
+
export declare const createVoiceToolContractHTMLHandler: (options: VoiceToolContractHTMLHandlerOptions) => () => Promise<Response>;
|
|
114
|
+
export declare const createVoiceToolContractJSONHandler: (options: VoiceToolContractHandlerOptions) => () => Promise<VoiceToolContractSuiteReport>;
|
|
115
|
+
export declare const createVoiceToolContractRoutes: (options: VoiceToolContractRoutesOptions) => Elysia<"", {
|
|
116
|
+
decorator: {};
|
|
117
|
+
store: {};
|
|
118
|
+
derive: {};
|
|
119
|
+
resolve: {};
|
|
120
|
+
}, {
|
|
121
|
+
typebox: {};
|
|
122
|
+
error: {};
|
|
123
|
+
}, {
|
|
124
|
+
schema: {};
|
|
125
|
+
standaloneSchema: {};
|
|
126
|
+
macro: {};
|
|
127
|
+
macroFn: {};
|
|
128
|
+
parser: {};
|
|
129
|
+
response: {};
|
|
130
|
+
}, {
|
|
131
|
+
[x: string]: {
|
|
132
|
+
get: {
|
|
133
|
+
body: unknown;
|
|
134
|
+
params: {};
|
|
135
|
+
query: unknown;
|
|
136
|
+
headers: unknown;
|
|
137
|
+
response: {
|
|
138
|
+
200: VoiceToolContractSuiteReport;
|
|
139
|
+
};
|
|
140
|
+
};
|
|
141
|
+
};
|
|
142
|
+
}, {
|
|
143
|
+
derive: {};
|
|
144
|
+
resolve: {};
|
|
145
|
+
schema: {};
|
|
146
|
+
standaloneSchema: {};
|
|
147
|
+
response: {};
|
|
148
|
+
}, {
|
|
149
|
+
derive: {};
|
|
150
|
+
resolve: {};
|
|
151
|
+
schema: {};
|
|
152
|
+
standaloneSchema: {};
|
|
153
|
+
response: {};
|
|
154
|
+
}>;
|
|
155
|
+
export declare const createVoiceToolRuntimeContractDefaults: <TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TRouteResult = unknown>() => VoiceToolRuntimeOptions<TContext, TSession, TRouteResult>;
|
|
156
|
+
export declare const evaluateVoiceToolContractEvidence: (report: VoiceToolContractSuiteReport, input?: VoiceToolContractAssertionInput) => VoiceToolContractAssertionReport;
|
|
157
|
+
export declare const renderVoiceToolContractHTML: (report: VoiceToolContractSuiteReport, options?: {
|
|
158
|
+
title?: string;
|
|
159
|
+
}) => string;
|
|
160
|
+
export declare const runVoiceToolContract: <TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TArgs = Record<string, unknown>, TToolResult = unknown, TRouteResult = unknown>(definition: VoiceToolContractDefinition<TContext, TSession, TArgs, TToolResult, TRouteResult>, options?: Pick<VoiceToolContractHandlerOptions, "operationsRecordHref">) => Promise<VoiceToolContractReport>;
|
|
161
|
+
export declare const runVoiceToolContractSuite: (options: VoiceToolContractHandlerOptions) => Promise<VoiceToolContractSuiteReport>;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { VoiceAgentTool, VoiceAgentToolResult } from "./agent";
|
|
2
|
+
import type { VoiceSessionHandle, VoiceSessionRecord, VoiceTurnRecord } from "./types";
|
|
3
|
+
import type { VoiceTraceEventStore } from "./trace";
|
|
4
|
+
export type VoiceToolRetryDelay = number | ((input: {
|
|
5
|
+
attempt: number;
|
|
6
|
+
error: unknown;
|
|
7
|
+
toolName: string;
|
|
8
|
+
}) => number);
|
|
9
|
+
export type VoiceToolRuntimeOptions<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TRouteResult = unknown> = {
|
|
10
|
+
idempotencyKey?: (input: {
|
|
11
|
+
args: unknown;
|
|
12
|
+
context: TContext;
|
|
13
|
+
session: TSession;
|
|
14
|
+
toolCallId?: string;
|
|
15
|
+
toolName: string;
|
|
16
|
+
turn: VoiceTurnRecord;
|
|
17
|
+
}) => string | undefined;
|
|
18
|
+
idempotencyTtlMs?: number;
|
|
19
|
+
maxRetries?: number;
|
|
20
|
+
retryDelayMs?: VoiceToolRetryDelay;
|
|
21
|
+
timeoutMs?: number;
|
|
22
|
+
trace?: VoiceTraceEventStore;
|
|
23
|
+
};
|
|
24
|
+
export type VoiceToolRuntimeExecuteInput<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TArgs = Record<string, unknown>, TToolResult = unknown, TRouteResult = unknown> = {
|
|
25
|
+
api: VoiceSessionHandle<TContext, TSession, TRouteResult>;
|
|
26
|
+
args: TArgs;
|
|
27
|
+
context: TContext;
|
|
28
|
+
session: TSession;
|
|
29
|
+
tool: VoiceAgentTool<TContext, TSession, TArgs, TToolResult, TRouteResult>;
|
|
30
|
+
toolCallId?: string;
|
|
31
|
+
turn: VoiceTurnRecord;
|
|
32
|
+
};
|
|
33
|
+
export type VoiceToolRuntimeResult<TToolResult = unknown> = VoiceAgentToolResult<TToolResult> & {
|
|
34
|
+
attempts: number;
|
|
35
|
+
elapsedMs: number;
|
|
36
|
+
idempotencyKey?: string;
|
|
37
|
+
timedOut: boolean;
|
|
38
|
+
};
|
|
39
|
+
export type VoiceToolRuntime<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TRouteResult = unknown> = {
|
|
40
|
+
execute: <TArgs = Record<string, unknown>, TToolResult = unknown>(input: VoiceToolRuntimeExecuteInput<TContext, TSession, TArgs, TToolResult, TRouteResult>) => Promise<VoiceToolRuntimeResult<TToolResult>>;
|
|
41
|
+
wrapTool: <TArgs = Record<string, unknown>, TToolResult = unknown>(tool: VoiceAgentTool<TContext, TSession, TArgs, TToolResult, TRouteResult>) => VoiceAgentTool<TContext, TSession, TArgs, TToolResult, TRouteResult>;
|
|
42
|
+
};
|
|
43
|
+
export declare const createVoiceToolIdempotencyKey: (input: {
|
|
44
|
+
args: unknown;
|
|
45
|
+
sessionId: string;
|
|
46
|
+
toolCallId?: string;
|
|
47
|
+
toolName: string;
|
|
48
|
+
turnId: string;
|
|
49
|
+
}) => string;
|
|
50
|
+
export declare const createVoiceToolRuntime: <TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TRouteResult = unknown>(options?: VoiceToolRuntimeOptions<TContext, TSession, TRouteResult>) => VoiceToolRuntime<TContext, TSession, TRouteResult>;
|