@absolutejs/voice 0.0.22-beta.61 → 0.0.22-beta.611
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 +4543 -1181
- package/dist/angular/index.d.ts +36 -6
- package/dist/angular/index.js +4203 -457
- 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 +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 +1 -1
- 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 +5 -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 +128 -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 +8 -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 +1345 -84
- package/dist/client/htmxDashboardRenderers.d.ts +71 -0
- package/dist/client/index.d.ts +107 -25
- package/dist/client/index.js +10531 -462
- 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 +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 +3 -3
- package/dist/client/providerSimulationControlsWidget.d.ts +5 -5
- package/dist/client/providerStatus.d.ts +5 -3
- package/dist/client/providerStatusWidget.d.ts +6 -6
- 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 +5 -3
- package/dist/client/routingStatusWidget.d.ts +10 -6
- 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 +5 -3
- package/dist/{agent.d.ts → core/agent.d.ts} +111 -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/{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 +25 -0
- package/dist/core/bargeInDetector.d.ts +41 -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/{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/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/{modelAdapters.d.ts → core/modelAdapters.d.ts} +52 -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} +5 -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} +34 -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/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/{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} +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 +1523 -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/{workflowContract.d.ts → core/workflowContract.d.ts} +21 -21
- 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 +378 -74
- package/dist/index.js +47132 -7488
- 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 +1 -1
- package/dist/react/VoiceProviderStatus.d.ts +1 -1
- 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 +1 -1
- 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 -11
- package/dist/react/index.js +13545 -1593
- 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 +5 -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 +1 -1
- 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 +1 -1
- package/dist/react/useVoiceSessionObservability.d.ts +8 -0
- package/dist/react/useVoiceSessionSnapshot.d.ts +9 -0
- package/dist/react/useVoiceStream.d.ts +5 -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 +2 -2
- package/dist/svelte/createVoiceProviderStatus.d.ts +2 -2
- package/dist/svelte/createVoiceReadinessFailures.d.ts +7 -0
- package/dist/svelte/createVoiceReconnectProfileEvidence.d.ts +7 -0
- package/dist/svelte/createVoiceReplayTimeline.d.ts +13 -0
- package/dist/svelte/createVoiceRoutingStatus.d.ts +2 -2
- 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 -8
- package/dist/svelte/index.js +7177 -1306
- 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 -13
- package/dist/testing/index.js +7291 -926
- 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 +2 -2
- package/dist/vue/VoiceProviderStatus.d.ts +4 -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 +4 -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 -11
- package/dist/vue/index.js +12844 -1711
- 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 +2 -2
- 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 +2 -2
- package/dist/vue/useVoiceSessionObservability.d.ts +9 -0
- package/dist/vue/useVoiceSessionSnapshot.d.ts +10 -0
- package/dist/vue/useVoiceStream.d.ts +10 -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 +155 -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/types.d.ts +0 -968
- 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,21 @@
|
|
|
1
|
+
import type { VoiceTurnQualityReport } from "../core/turnQuality";
|
|
2
|
+
import { type VoiceReactiveSource } from "./reactiveSource";
|
|
3
|
+
export type VoiceTurnQualityClientOptions = {
|
|
4
|
+
fetch?: typeof fetch;
|
|
5
|
+
intervalMs?: number;
|
|
6
|
+
reactiveSource?: VoiceReactiveSource;
|
|
7
|
+
};
|
|
8
|
+
export type VoiceTurnQualitySnapshot = {
|
|
9
|
+
error: string | null;
|
|
10
|
+
isLoading: boolean;
|
|
11
|
+
report?: VoiceTurnQualityReport;
|
|
12
|
+
updatedAt?: number;
|
|
13
|
+
};
|
|
14
|
+
export declare const createVoiceTurnQualityStore: (path?: string, options?: VoiceTurnQualityClientOptions) => {
|
|
15
|
+
close: () => void;
|
|
16
|
+
refresh: () => Promise<VoiceTurnQualityReport | undefined>;
|
|
17
|
+
getServerSnapshot: () => VoiceTurnQualitySnapshot;
|
|
18
|
+
getSnapshot: () => VoiceTurnQualitySnapshot;
|
|
19
|
+
subscribe: (listener: () => void) => () => void;
|
|
20
|
+
};
|
|
21
|
+
export declare const fetchVoiceTurnQuality: (path?: string, options?: Pick<VoiceTurnQualityClientOptions, "fetch">) => Promise<VoiceTurnQualityReport>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { VoiceTurnQualityItem } from "../core/turnQuality";
|
|
2
|
+
import { type VoiceTurnQualityClientOptions, type VoiceTurnQualitySnapshot } from "./turnQuality";
|
|
3
|
+
export type VoiceTurnQualityCardView = VoiceTurnQualityItem & {
|
|
4
|
+
detail: string;
|
|
5
|
+
label: string;
|
|
6
|
+
rows: Array<{
|
|
7
|
+
label: string;
|
|
8
|
+
value: string;
|
|
9
|
+
}>;
|
|
10
|
+
};
|
|
11
|
+
export type VoiceTurnQualityViewModel = {
|
|
12
|
+
description: string;
|
|
13
|
+
error: string | null;
|
|
14
|
+
isLoading: boolean;
|
|
15
|
+
label: string;
|
|
16
|
+
status: "empty" | "error" | "loading" | "ready" | "warning";
|
|
17
|
+
title: string;
|
|
18
|
+
turns: VoiceTurnQualityCardView[];
|
|
19
|
+
updatedAt?: number;
|
|
20
|
+
};
|
|
21
|
+
export type VoiceTurnQualityWidgetOptions = VoiceTurnQualityClientOptions & {
|
|
22
|
+
description?: string;
|
|
23
|
+
title?: string;
|
|
24
|
+
};
|
|
25
|
+
export declare const createVoiceTurnQualityViewModel: (snapshot: VoiceTurnQualitySnapshot, options?: VoiceTurnQualityWidgetOptions) => VoiceTurnQualityViewModel;
|
|
26
|
+
export declare const defineVoiceTurnQualityElement: (tagName?: string) => void;
|
|
27
|
+
export declare const getVoiceTurnQualityCSS: () => string;
|
|
28
|
+
export declare const mountVoiceTurnQuality: (element: Element, path?: string, options?: VoiceTurnQualityWidgetOptions) => {
|
|
29
|
+
refresh: () => Promise<import("..").VoiceTurnQualityReport | undefined>;
|
|
30
|
+
close: () => void;
|
|
31
|
+
};
|
|
32
|
+
export declare const renderVoiceTurnQualityHTML: (snapshot: VoiceTurnQualitySnapshot, options?: VoiceTurnQualityWidgetOptions) => string;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { VoiceAgentUIState } from "../core/agentState";
|
|
2
|
+
import type { VoiceControllerState } from "../core/types";
|
|
3
|
+
export type VoiceWidgetTheme = {
|
|
4
|
+
accent?: string;
|
|
5
|
+
background?: string;
|
|
6
|
+
errorAccent?: string;
|
|
7
|
+
fontFamily?: string;
|
|
8
|
+
foreground?: string;
|
|
9
|
+
radius?: number | string;
|
|
10
|
+
};
|
|
11
|
+
export type VoiceWidgetLabels = {
|
|
12
|
+
callEnded?: string;
|
|
13
|
+
connecting?: string;
|
|
14
|
+
endCall?: string;
|
|
15
|
+
idle?: string;
|
|
16
|
+
listening?: string;
|
|
17
|
+
mute?: string;
|
|
18
|
+
speaking?: string;
|
|
19
|
+
startCall?: string;
|
|
20
|
+
thinking?: string;
|
|
21
|
+
unmute?: string;
|
|
22
|
+
};
|
|
23
|
+
export type VoiceWidgetViewModelInput = {
|
|
24
|
+
labels?: VoiceWidgetLabels;
|
|
25
|
+
state: Pick<VoiceControllerState, "assistantAudio" | "error" | "isConnected" | "isRecording" | "partial" | "status" | "turns">;
|
|
26
|
+
theme?: VoiceWidgetTheme;
|
|
27
|
+
title?: string;
|
|
28
|
+
};
|
|
29
|
+
export type VoiceWidgetViewModel = {
|
|
30
|
+
agentState: VoiceAgentUIState;
|
|
31
|
+
classes: {
|
|
32
|
+
container: string;
|
|
33
|
+
dot: string;
|
|
34
|
+
};
|
|
35
|
+
controls: {
|
|
36
|
+
canEnd: boolean;
|
|
37
|
+
canMute: boolean;
|
|
38
|
+
canStart: boolean;
|
|
39
|
+
};
|
|
40
|
+
errorMessage?: string;
|
|
41
|
+
labels: Required<VoiceWidgetLabels>;
|
|
42
|
+
partial?: string;
|
|
43
|
+
statusLabel: string;
|
|
44
|
+
theme: Required<VoiceWidgetTheme>;
|
|
45
|
+
title: string;
|
|
46
|
+
};
|
|
47
|
+
export declare const createVoiceWidgetViewModel: (input: VoiceWidgetViewModelInput) => VoiceWidgetViewModel;
|
|
48
|
+
export declare const renderVoiceWidgetHTML: (model: VoiceWidgetViewModel) => string;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import type { VoiceScenarioEvalReport } from
|
|
1
|
+
import type { VoiceScenarioEvalReport } from "../core/evalRoutes";
|
|
2
|
+
import { type VoiceReactiveSource } from "./reactiveSource";
|
|
2
3
|
export type VoiceWorkflowStatusClientOptions = {
|
|
3
4
|
fetch?: typeof fetch;
|
|
4
5
|
intervalMs?: number;
|
|
6
|
+
reactiveSource?: VoiceReactiveSource;
|
|
5
7
|
};
|
|
6
8
|
export type VoiceWorkflowStatusSnapshot = {
|
|
7
9
|
error: string | null;
|
|
@@ -9,11 +11,11 @@ export type VoiceWorkflowStatusSnapshot = {
|
|
|
9
11
|
report?: VoiceScenarioEvalReport;
|
|
10
12
|
updatedAt?: number;
|
|
11
13
|
};
|
|
12
|
-
export declare const fetchVoiceWorkflowStatus: (path?: string, options?: Pick<VoiceWorkflowStatusClientOptions, "fetch">) => Promise<VoiceScenarioEvalReport>;
|
|
13
14
|
export declare const createVoiceWorkflowStatusStore: (path?: string, options?: VoiceWorkflowStatusClientOptions) => {
|
|
14
15
|
close: () => void;
|
|
16
|
+
refresh: () => Promise<VoiceScenarioEvalReport | undefined>;
|
|
15
17
|
getServerSnapshot: () => VoiceWorkflowStatusSnapshot;
|
|
16
18
|
getSnapshot: () => VoiceWorkflowStatusSnapshot;
|
|
17
|
-
refresh: () => Promise<VoiceScenarioEvalReport | undefined>;
|
|
18
19
|
subscribe: (listener: () => void) => () => void;
|
|
19
20
|
};
|
|
21
|
+
export declare const fetchVoiceWorkflowStatus: (path?: string, options?: Pick<VoiceWorkflowStatusClientOptions, "fetch">) => Promise<VoiceScenarioEvalReport>;
|
|
@@ -1,7 +1,21 @@
|
|
|
1
|
-
import type { VoiceOnTurnObjectHandler, VoiceRouteResult, VoiceSessionHandle, VoiceSessionRecord, VoiceTurnRecord } from
|
|
2
|
-
import type { VoiceTraceEventStore } from
|
|
3
|
-
|
|
1
|
+
import type { VoiceOnTurnObjectHandler, VoiceRouteResult, VoiceSessionHandle, VoiceSessionRecord, VoiceTurnRecord } from "./types";
|
|
2
|
+
import type { VoiceTraceEventStore } from "./trace";
|
|
3
|
+
import type { VoiceToolRuntime } from "./toolRuntime";
|
|
4
|
+
import { type VoiceAuditEventStore, type VoiceAuditLogger } from "./audit";
|
|
5
|
+
export type VoiceAgentMessageRole = "assistant" | "system" | "tool" | "user";
|
|
6
|
+
type VoiceAgentImageMediaType = "image/gif" | "image/jpeg" | "image/png" | "image/webp";
|
|
7
|
+
export type VoiceAgentMessageAttachment = {
|
|
8
|
+
data: string;
|
|
9
|
+
kind: "image";
|
|
10
|
+
mediaType: VoiceAgentImageMediaType;
|
|
11
|
+
} | {
|
|
12
|
+
data: string;
|
|
13
|
+
kind: "document";
|
|
14
|
+
mediaType: "application/pdf";
|
|
15
|
+
name?: string;
|
|
16
|
+
};
|
|
4
17
|
export type VoiceAgentMessage = {
|
|
18
|
+
attachments?: VoiceAgentMessageAttachment[];
|
|
5
19
|
content: string;
|
|
6
20
|
metadata?: Record<string, unknown>;
|
|
7
21
|
name?: string;
|
|
@@ -18,7 +32,7 @@ export type VoiceAgentToolResult<TResult = unknown> = {
|
|
|
18
32
|
error?: string;
|
|
19
33
|
metadata?: Record<string, unknown>;
|
|
20
34
|
result?: TResult;
|
|
21
|
-
status:
|
|
35
|
+
status: "error" | "ok";
|
|
22
36
|
toolCallId?: string;
|
|
23
37
|
toolName: string;
|
|
24
38
|
};
|
|
@@ -34,13 +48,22 @@ export type VoiceAgentTool<TContext = unknown, TSession extends VoiceSessionReco
|
|
|
34
48
|
name: string;
|
|
35
49
|
parameters?: Record<string, unknown>;
|
|
36
50
|
resultToMessage?: (result: TToolResult) => string;
|
|
51
|
+
/** End the turn after this tool runs — do NOT loop back to the model for
|
|
52
|
+
* another generation. Use for tools that wrap up the call (an app-defined
|
|
53
|
+
* end_call) where the closing line is already in the SAME response: without
|
|
54
|
+
* this the agent generates again off the tool result and the caller hears a
|
|
55
|
+
* SECOND closing. Built-in lifecycle tools (complete/transfer/…) are already
|
|
56
|
+
* terminal; this flag gives an app tool the same behavior. Default false. */
|
|
57
|
+
endsTurn?: boolean;
|
|
37
58
|
};
|
|
38
59
|
export type VoiceAgentModelInput<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord> = {
|
|
39
60
|
agentId: string;
|
|
40
61
|
context: TContext;
|
|
41
62
|
messages: VoiceAgentMessage[];
|
|
63
|
+
onTextDelta?: (delta: string) => void;
|
|
42
64
|
session: TSession;
|
|
43
65
|
system?: string;
|
|
66
|
+
signal?: AbortSignal;
|
|
44
67
|
tools: Array<{
|
|
45
68
|
description?: string;
|
|
46
69
|
name: string;
|
|
@@ -59,12 +82,45 @@ export type VoiceAgentModelOutput<TResult = unknown> = VoiceRouteResult<TResult>
|
|
|
59
82
|
export type VoiceAgentModel<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = {
|
|
60
83
|
generate: (input: VoiceAgentModelInput<TContext, TSession>) => Promise<VoiceAgentModelOutput<TResult>> | VoiceAgentModelOutput<TResult>;
|
|
61
84
|
};
|
|
85
|
+
export type VoiceAgentSquadHandoffStatus = "allowed" | "blocked" | "max-exceeded" | "unknown-target";
|
|
86
|
+
export type VoiceAgentSquadStateHandoff = {
|
|
87
|
+
at: number;
|
|
88
|
+
fromAgentId: string;
|
|
89
|
+
metadata?: Record<string, unknown>;
|
|
90
|
+
originalTargetAgentId?: string;
|
|
91
|
+
reason?: string;
|
|
92
|
+
status: VoiceAgentSquadHandoffStatus;
|
|
93
|
+
summary?: string;
|
|
94
|
+
targetAgentId: string;
|
|
95
|
+
turnId: string;
|
|
96
|
+
};
|
|
97
|
+
export type VoiceAgentSquadState = {
|
|
98
|
+
agentId: string;
|
|
99
|
+
handoffCount: number;
|
|
100
|
+
handoffs: VoiceAgentSquadStateHandoff[];
|
|
101
|
+
lastHandoff?: VoiceAgentSquadStateHandoff;
|
|
102
|
+
previousAgentId?: string;
|
|
103
|
+
};
|
|
62
104
|
export type VoiceAgentRunResult<TResult = unknown> = VoiceRouteResult<TResult> & {
|
|
63
105
|
agentId: string;
|
|
64
|
-
handoff?: VoiceAgentModelOutput<TResult>[
|
|
106
|
+
handoff?: VoiceAgentModelOutput<TResult>["handoff"];
|
|
65
107
|
messages: VoiceAgentMessage[];
|
|
108
|
+
squad?: VoiceAgentSquadState;
|
|
66
109
|
toolResults: VoiceAgentToolResult[];
|
|
67
110
|
};
|
|
111
|
+
export type VoiceAgentSquadHandoffPolicyResult<TResult = unknown> = {
|
|
112
|
+
allow?: boolean;
|
|
113
|
+
escalate?: VoiceRouteResult<TResult>["escalate"];
|
|
114
|
+
metadata?: Record<string, unknown>;
|
|
115
|
+
reason?: string;
|
|
116
|
+
summary?: string;
|
|
117
|
+
targetAgentId?: string;
|
|
118
|
+
};
|
|
119
|
+
export type VoiceAgentSquadContextPolicyResult = {
|
|
120
|
+
messages?: VoiceAgentMessage[];
|
|
121
|
+
metadata?: Record<string, unknown>;
|
|
122
|
+
system?: string;
|
|
123
|
+
};
|
|
68
124
|
export type VoiceAgent<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = {
|
|
69
125
|
id: string;
|
|
70
126
|
onTurn: VoiceOnTurnObjectHandler<TContext, TSession, TResult>;
|
|
@@ -72,11 +128,36 @@ export type VoiceAgent<TContext = unknown, TSession extends VoiceSessionRecord =
|
|
|
72
128
|
api: VoiceSessionHandle<TContext, TSession, TResult>;
|
|
73
129
|
context: TContext;
|
|
74
130
|
messages?: VoiceAgentMessage[];
|
|
131
|
+
onTextDelta?: (delta: string) => void;
|
|
75
132
|
session: TSession;
|
|
133
|
+
system?: string;
|
|
76
134
|
turn: VoiceTurnRecord;
|
|
77
135
|
}) => Promise<VoiceAgentRunResult<TResult>>;
|
|
136
|
+
/**
|
|
137
|
+
* Speculative, side-effect-free generation for eager replies (P3). Runs a
|
|
138
|
+
* SINGLE model round and returns the text the model would say — but executes
|
|
139
|
+
* NOTHING: no tools, no streaming to TTS, no traces, no commit. Returns null
|
|
140
|
+
* if the model wants any tool (the real turn must run so tools fire exactly
|
|
141
|
+
* once) or on any error. Optional — agents that don't implement it simply
|
|
142
|
+
* can't be speculated against. Honors no abort itself; the caller discards
|
|
143
|
+
* the result if the user resumes.
|
|
144
|
+
*/
|
|
145
|
+
runSpeculative?: (input: {
|
|
146
|
+
api: VoiceSessionHandle<TContext, TSession, TResult>;
|
|
147
|
+
context: TContext;
|
|
148
|
+
messages?: VoiceAgentMessage[];
|
|
149
|
+
session: TSession;
|
|
150
|
+
system?: string;
|
|
151
|
+
turn: VoiceTurnRecord;
|
|
152
|
+
signal?: AbortSignal;
|
|
153
|
+
}) => Promise<{
|
|
154
|
+
text: string;
|
|
155
|
+
} | null>;
|
|
78
156
|
};
|
|
79
157
|
export type VoiceAgentOptions<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = {
|
|
158
|
+
audit?: VoiceAuditEventStore | VoiceAuditLogger;
|
|
159
|
+
auditModel?: string;
|
|
160
|
+
auditProvider?: string;
|
|
80
161
|
id: string;
|
|
81
162
|
maxToolRounds?: number;
|
|
82
163
|
model: VoiceAgentModel<TContext, TSession, TResult>;
|
|
@@ -86,18 +167,41 @@ export type VoiceAgentOptions<TContext = unknown, TSession extends VoiceSessionR
|
|
|
86
167
|
turn: VoiceTurnRecord;
|
|
87
168
|
}) => Promise<string | undefined> | string | undefined);
|
|
88
169
|
trace?: VoiceTraceEventStore;
|
|
170
|
+
toolRuntime?: VoiceToolRuntime<TContext, TSession, TResult>;
|
|
89
171
|
tools?: Array<VoiceAgentTool<TContext, TSession, Record<string, unknown>, unknown, TResult>>;
|
|
90
172
|
};
|
|
91
173
|
export type VoiceAgentSquadOptions<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = {
|
|
174
|
+
audit?: VoiceAuditEventStore | VoiceAuditLogger;
|
|
92
175
|
agents: Array<VoiceAgent<TContext, TSession, TResult>>;
|
|
93
176
|
defaultAgentId: string;
|
|
177
|
+
handoffPolicy?: (input: {
|
|
178
|
+
context: TContext;
|
|
179
|
+
fromAgentId: string;
|
|
180
|
+
handoff: NonNullable<VoiceAgentModelOutput<TResult>["handoff"]>;
|
|
181
|
+
messages: VoiceAgentMessage[];
|
|
182
|
+
session: TSession;
|
|
183
|
+
targetAgent?: VoiceAgent<TContext, TSession, TResult>;
|
|
184
|
+
turn: VoiceTurnRecord;
|
|
185
|
+
}) => Promise<VoiceAgentSquadHandoffPolicyResult<TResult> | void> | VoiceAgentSquadHandoffPolicyResult<TResult> | void;
|
|
186
|
+
contextPolicy?: (input: {
|
|
187
|
+
context: TContext;
|
|
188
|
+
fromAgentId: string;
|
|
189
|
+
handoff: VoiceAgentSquadStateHandoff;
|
|
190
|
+
messages: VoiceAgentMessage[];
|
|
191
|
+
session: TSession;
|
|
192
|
+
summaryMessage: VoiceAgentMessage;
|
|
193
|
+
targetAgent: VoiceAgent<TContext, TSession, TResult>;
|
|
194
|
+
turn: VoiceTurnRecord;
|
|
195
|
+
}) => Promise<VoiceAgentSquadContextPolicyResult | void> | VoiceAgentSquadContextPolicyResult | void;
|
|
94
196
|
id: string;
|
|
95
197
|
maxHandoffsPerTurn?: number;
|
|
96
198
|
onHandoff?: (input: {
|
|
97
199
|
context: TContext;
|
|
98
200
|
fromAgentId: string;
|
|
201
|
+
metadata?: Record<string, unknown>;
|
|
99
202
|
reason?: string;
|
|
100
203
|
session: TSession;
|
|
204
|
+
summary?: string;
|
|
101
205
|
targetAgentId: string;
|
|
102
206
|
turn: VoiceTurnRecord;
|
|
103
207
|
}) => Promise<void> | void;
|
|
@@ -108,6 +212,7 @@ export type VoiceAgentSquadOptions<TContext = unknown, TSession extends VoiceSes
|
|
|
108
212
|
turn: VoiceTurnRecord;
|
|
109
213
|
}) => Promise<string | undefined> | string | undefined;
|
|
110
214
|
};
|
|
111
|
-
export declare const createVoiceAgentTool: <TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TArgs = Record<string, unknown>, TToolResult = unknown, TRouteResult = unknown>(tool: VoiceAgentTool<TContext, TSession, TArgs, TToolResult, TRouteResult>) => VoiceAgentTool<TContext, TSession, TArgs, TToolResult, TRouteResult>;
|
|
112
215
|
export declare const createVoiceAgent: <TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown>(options: VoiceAgentOptions<TContext, TSession, TResult>) => VoiceAgent<TContext, TSession, TResult>;
|
|
113
216
|
export declare const createVoiceAgentSquad: <TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown>(options: VoiceAgentSquadOptions<TContext, TSession, TResult>) => VoiceAgent<TContext, TSession, TResult>;
|
|
217
|
+
export declare const createVoiceAgentTool: <TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TArgs = Record<string, unknown>, TToolResult = unknown, TRouteResult = unknown>(tool: VoiceAgentTool<TContext, TSession, TArgs, TToolResult, TRouteResult>) => VoiceAgentTool<TContext, TSession, TArgs, TToolResult, TRouteResult>;
|
|
218
|
+
export {};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { VoiceScorecard } from "./callScorecard";
|
|
2
|
+
export type VoiceAgentPerformanceBucket = "day" | "week" | "month";
|
|
3
|
+
export type VoiceAgentPerformanceCriterionSummary = {
|
|
4
|
+
criterionId: string;
|
|
5
|
+
averageScore: number;
|
|
6
|
+
passRate: number;
|
|
7
|
+
trend: "up" | "down" | "flat";
|
|
8
|
+
delta: number;
|
|
9
|
+
};
|
|
10
|
+
export type VoiceAgentPerformanceBucketSummary = {
|
|
11
|
+
bucketKey: string;
|
|
12
|
+
callsScored: number;
|
|
13
|
+
averageWeightedScore: number;
|
|
14
|
+
passRate: number;
|
|
15
|
+
needsReviewRate: number;
|
|
16
|
+
failRate: number;
|
|
17
|
+
};
|
|
18
|
+
export type VoiceAgentPerformanceReport = {
|
|
19
|
+
agentId: string;
|
|
20
|
+
rubricId: string;
|
|
21
|
+
fromMs: number;
|
|
22
|
+
toMs: number;
|
|
23
|
+
bucket: VoiceAgentPerformanceBucket;
|
|
24
|
+
totalCalls: number;
|
|
25
|
+
buckets: VoiceAgentPerformanceBucketSummary[];
|
|
26
|
+
criteria: VoiceAgentPerformanceCriterionSummary[];
|
|
27
|
+
overallPassRate: number;
|
|
28
|
+
overallAverageScore: number;
|
|
29
|
+
worstCriterion: string | null;
|
|
30
|
+
bestCriterion: string | null;
|
|
31
|
+
};
|
|
32
|
+
export type BuildVoiceAgentPerformanceReportInput = {
|
|
33
|
+
agentId: string;
|
|
34
|
+
rubricId: string;
|
|
35
|
+
scorecards: VoiceScorecard[];
|
|
36
|
+
fromMs?: number;
|
|
37
|
+
toMs?: number;
|
|
38
|
+
bucket?: VoiceAgentPerformanceBucket;
|
|
39
|
+
};
|
|
40
|
+
export declare const buildVoiceAgentPerformanceReport: (input: BuildVoiceAgentPerformanceReportInput) => VoiceAgentPerformanceReport;
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import type { VoiceAgent, VoiceAgentRunResult, VoiceAgentSquadHandoffStatus } from "./agent";
|
|
2
|
+
import type { VoiceTraceEventStore } from "./trace";
|
|
3
|
+
import type { VoiceRouteResult, VoiceSessionHandle, VoiceSessionRecord } from "./types";
|
|
4
|
+
export type VoiceAgentSquadContractOutcome = "assistant" | "complete" | "escalate" | "no-answer" | "transfer" | "voicemail";
|
|
5
|
+
export type VoiceAgentSquadHandoffExpectation = {
|
|
6
|
+
fromAgentId?: string;
|
|
7
|
+
metadata?: Record<string, unknown>;
|
|
8
|
+
reason?: string;
|
|
9
|
+
reasonIncludes?: string[];
|
|
10
|
+
status?: VoiceAgentSquadHandoffStatus;
|
|
11
|
+
summary?: string;
|
|
12
|
+
summaryIncludes?: string[];
|
|
13
|
+
targetAgentId?: string;
|
|
14
|
+
};
|
|
15
|
+
export type VoiceAgentSquadTurnExpectation<TResult = unknown> = {
|
|
16
|
+
assistantIncludes?: string[];
|
|
17
|
+
finalAgentId?: string;
|
|
18
|
+
handoffs?: VoiceAgentSquadHandoffExpectation[];
|
|
19
|
+
outcome?: VoiceAgentSquadContractOutcome;
|
|
20
|
+
result?: (input: {
|
|
21
|
+
result: TResult | undefined;
|
|
22
|
+
routeResult: VoiceRouteResult<TResult>;
|
|
23
|
+
}) => VoiceAgentSquadContractIssue[];
|
|
24
|
+
transferTarget?: string;
|
|
25
|
+
};
|
|
26
|
+
export type VoiceAgentSquadContractTurn<TResult = unknown> = {
|
|
27
|
+
expect?: VoiceAgentSquadTurnExpectation<TResult>;
|
|
28
|
+
id?: string;
|
|
29
|
+
text: string;
|
|
30
|
+
};
|
|
31
|
+
export type VoiceAgentSquadContractDefinition<TResult = unknown> = {
|
|
32
|
+
description?: string;
|
|
33
|
+
id: string;
|
|
34
|
+
label?: string;
|
|
35
|
+
scenarioId?: string;
|
|
36
|
+
turns: Array<VoiceAgentSquadContractTurn<TResult>>;
|
|
37
|
+
};
|
|
38
|
+
export type VoiceAgentSquadContractIssue = {
|
|
39
|
+
code: string;
|
|
40
|
+
message: string;
|
|
41
|
+
turnId?: string;
|
|
42
|
+
};
|
|
43
|
+
export type VoiceAgentSquadContractTurnReport<TResult = unknown> = {
|
|
44
|
+
agentId: string;
|
|
45
|
+
handoffs: VoiceAgentSquadHandoffExpectation[];
|
|
46
|
+
issues: VoiceAgentSquadContractIssue[];
|
|
47
|
+
outcome?: VoiceAgentSquadContractOutcome;
|
|
48
|
+
pass: boolean;
|
|
49
|
+
result: VoiceAgentRunResult<TResult>;
|
|
50
|
+
turnId: string;
|
|
51
|
+
};
|
|
52
|
+
export type VoiceAgentSquadContractReport<TResult = unknown> = {
|
|
53
|
+
contractId: string;
|
|
54
|
+
issues: VoiceAgentSquadContractIssue[];
|
|
55
|
+
pass: boolean;
|
|
56
|
+
scenarioId?: string;
|
|
57
|
+
sessionId: string;
|
|
58
|
+
turns: Array<VoiceAgentSquadContractTurnReport<TResult>>;
|
|
59
|
+
};
|
|
60
|
+
export type VoiceAgentSquadContractRunOptions<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = {
|
|
61
|
+
api?: VoiceSessionHandle<TContext, TSession, TResult>;
|
|
62
|
+
context: TContext;
|
|
63
|
+
contract: VoiceAgentSquadContractDefinition<TResult>;
|
|
64
|
+
session?: TSession;
|
|
65
|
+
squad: VoiceAgent<TContext, TSession, TResult>;
|
|
66
|
+
trace?: VoiceTraceEventStore;
|
|
67
|
+
};
|
|
68
|
+
export type VoiceAgentSquadContractAssertionInput = {
|
|
69
|
+
maxBlockedHandoffs?: number;
|
|
70
|
+
maxFailed?: number;
|
|
71
|
+
maxIssues?: number;
|
|
72
|
+
minContracts?: number;
|
|
73
|
+
minHandoffs?: number;
|
|
74
|
+
requiredContractIds?: string[];
|
|
75
|
+
requiredFinalAgentIds?: string[];
|
|
76
|
+
requiredHandoffStatuses?: VoiceAgentSquadHandoffStatus[];
|
|
77
|
+
requiredHandoffTargets?: string[];
|
|
78
|
+
requiredScenarioIds?: string[];
|
|
79
|
+
};
|
|
80
|
+
export type VoiceAgentSquadContractAssertionReport = {
|
|
81
|
+
blockedHandoffs: number;
|
|
82
|
+
contractIds: string[];
|
|
83
|
+
failed: number;
|
|
84
|
+
finalAgentIds: string[];
|
|
85
|
+
handoffStatuses: VoiceAgentSquadHandoffStatus[];
|
|
86
|
+
handoffTargets: string[];
|
|
87
|
+
handoffs: number;
|
|
88
|
+
issues: string[];
|
|
89
|
+
issueCount: number;
|
|
90
|
+
ok: boolean;
|
|
91
|
+
passed: number;
|
|
92
|
+
scenarioIds: string[];
|
|
93
|
+
total: number;
|
|
94
|
+
};
|
|
95
|
+
export declare const assertVoiceAgentSquadContract: <TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown>(options: VoiceAgentSquadContractRunOptions<TContext, TSession, TResult>) => Promise<VoiceAgentSquadContractReport<TResult>>;
|
|
96
|
+
export declare const assertVoiceAgentSquadContractEvidence: (reports: readonly VoiceAgentSquadContractReport[], input?: VoiceAgentSquadContractAssertionInput) => VoiceAgentSquadContractAssertionReport;
|
|
97
|
+
export declare const evaluateVoiceAgentSquadContractEvidence: (reports: readonly VoiceAgentSquadContractReport[], input?: VoiceAgentSquadContractAssertionInput) => VoiceAgentSquadContractAssertionReport;
|
|
98
|
+
export declare const runVoiceAgentSquadContract: <TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown>(options: VoiceAgentSquadContractRunOptions<TContext, TSession, TResult>) => Promise<VoiceAgentSquadContractReport<TResult>>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type VoiceAgentUIState = "idle" | "listening" | "speaking" | "thinking";
|
|
2
|
+
export type VoiceAgentUIInput = {
|
|
3
|
+
hasActivePartial: boolean;
|
|
4
|
+
isConnected: boolean;
|
|
5
|
+
isPlaying: boolean;
|
|
6
|
+
isRecording: boolean;
|
|
7
|
+
lastAssistantAt?: number;
|
|
8
|
+
lastTranscriptAt?: number;
|
|
9
|
+
};
|
|
10
|
+
export declare const voiceAgentUIStateOrder: ReadonlyArray<VoiceAgentUIState>;
|
|
11
|
+
export declare const deriveVoiceAgentUIState: (input: VoiceAgentUIInput) => VoiceAgentUIState;
|
|
12
|
+
export declare const describeVoiceAgentUIState: (state: VoiceAgentUIState) => string;
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { type VoiceAgentTool } from "./agent";
|
|
2
|
+
import type { VoiceSessionHandle, VoiceSessionRecord } from "./types";
|
|
3
|
+
export type VoiceEndCallToolArgs = {
|
|
4
|
+
reason?: string;
|
|
5
|
+
};
|
|
6
|
+
export type VoiceEndCallToolResult = {
|
|
7
|
+
farewell?: string;
|
|
8
|
+
ok: true;
|
|
9
|
+
reason?: string;
|
|
10
|
+
};
|
|
11
|
+
export type VoiceEndCallToolOptions<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = {
|
|
12
|
+
description?: string;
|
|
13
|
+
farewell?: string | ((input: {
|
|
14
|
+
args: VoiceEndCallToolArgs;
|
|
15
|
+
context: TContext;
|
|
16
|
+
session: TSession;
|
|
17
|
+
}) => string | undefined);
|
|
18
|
+
name?: string;
|
|
19
|
+
resolveResult?: (input: {
|
|
20
|
+
args: VoiceEndCallToolArgs;
|
|
21
|
+
context: TContext;
|
|
22
|
+
session: TSession;
|
|
23
|
+
}) => TResult | undefined;
|
|
24
|
+
};
|
|
25
|
+
export declare const createVoiceEndCallTool: <TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown>(options?: VoiceEndCallToolOptions<TContext, TSession, TResult>) => VoiceAgentTool<TContext, TSession, VoiceEndCallToolArgs, VoiceEndCallToolResult, TResult>;
|
|
26
|
+
export type VoiceTransferCallToolDestination = {
|
|
27
|
+
description?: string;
|
|
28
|
+
id: string;
|
|
29
|
+
message?: string;
|
|
30
|
+
metadata?: Record<string, unknown>;
|
|
31
|
+
target: string;
|
|
32
|
+
transferMode?: "cold" | "warm";
|
|
33
|
+
};
|
|
34
|
+
export type VoiceTransferCallToolArgs = {
|
|
35
|
+
destinationId: string;
|
|
36
|
+
reason?: string;
|
|
37
|
+
};
|
|
38
|
+
export type VoiceTransferCallToolResult = {
|
|
39
|
+
destinationId: string;
|
|
40
|
+
message?: string;
|
|
41
|
+
ok: true;
|
|
42
|
+
target: string;
|
|
43
|
+
};
|
|
44
|
+
export type VoiceTransferCallToolOptions<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = {
|
|
45
|
+
description?: string;
|
|
46
|
+
destinations: readonly VoiceTransferCallToolDestination[];
|
|
47
|
+
name?: string;
|
|
48
|
+
resolveResult?: (input: {
|
|
49
|
+
args: VoiceTransferCallToolArgs;
|
|
50
|
+
context: TContext;
|
|
51
|
+
destination: VoiceTransferCallToolDestination;
|
|
52
|
+
session: TSession;
|
|
53
|
+
}) => TResult | undefined;
|
|
54
|
+
};
|
|
55
|
+
export declare const createVoiceTransferCallTool: <TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown>(options: VoiceTransferCallToolOptions<TContext, TSession, TResult>) => VoiceAgentTool<TContext, TSession, VoiceTransferCallToolArgs, VoiceTransferCallToolResult, TResult>;
|
|
56
|
+
export type VoiceDTMFToolArgs = {
|
|
57
|
+
digits: string;
|
|
58
|
+
};
|
|
59
|
+
export type VoiceDTMFToolResult = {
|
|
60
|
+
digits: string;
|
|
61
|
+
ok: true;
|
|
62
|
+
};
|
|
63
|
+
export type VoiceDTMFToolOptions<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord> = {
|
|
64
|
+
allowedDigits?: string;
|
|
65
|
+
description?: string;
|
|
66
|
+
maxDigits?: number;
|
|
67
|
+
name?: string;
|
|
68
|
+
send: (input: {
|
|
69
|
+
api: VoiceSessionHandle<TContext, TSession>;
|
|
70
|
+
args: VoiceDTMFToolArgs;
|
|
71
|
+
context: TContext;
|
|
72
|
+
session: TSession;
|
|
73
|
+
}) => Promise<void> | void;
|
|
74
|
+
};
|
|
75
|
+
export declare const createVoiceDTMFTool: <TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord>(options: VoiceDTMFToolOptions<TContext, TSession>) => VoiceAgentTool<TContext, TSession, VoiceDTMFToolArgs, VoiceDTMFToolResult>;
|
|
76
|
+
export type VoiceVoicemailDetectionToolArgs = {
|
|
77
|
+
confidence?: number;
|
|
78
|
+
reason?: string;
|
|
79
|
+
};
|
|
80
|
+
export type VoiceVoicemailDetectionToolResult = {
|
|
81
|
+
confidence?: number;
|
|
82
|
+
ok: true;
|
|
83
|
+
reason?: string;
|
|
84
|
+
};
|
|
85
|
+
export type VoiceVoicemailDetectionToolOptions<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = {
|
|
86
|
+
completeAfterMarking?: boolean;
|
|
87
|
+
description?: string;
|
|
88
|
+
message?: string;
|
|
89
|
+
name?: string;
|
|
90
|
+
resolveResult?: (input: {
|
|
91
|
+
args: VoiceVoicemailDetectionToolArgs;
|
|
92
|
+
context: TContext;
|
|
93
|
+
session: TSession;
|
|
94
|
+
}) => TResult | undefined;
|
|
95
|
+
};
|
|
96
|
+
export declare const createVoiceVoicemailDetectionTool: <TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown>(options?: VoiceVoicemailDetectionToolOptions<TContext, TSession, TResult>) => VoiceAgentTool<TContext, TSession, VoiceVoicemailDetectionToolArgs, VoiceVoicemailDetectionToolResult, TResult>;
|
|
97
|
+
export type VoiceApiRequestToolHttpMethod = "DELETE" | "GET" | "PATCH" | "POST" | "PUT";
|
|
98
|
+
export type VoiceApiRequestToolArgs = Record<string, unknown>;
|
|
99
|
+
export type VoiceApiRequestToolResult<TResponse = unknown> = {
|
|
100
|
+
body: TResponse;
|
|
101
|
+
ok: boolean;
|
|
102
|
+
status: number;
|
|
103
|
+
url: string;
|
|
104
|
+
};
|
|
105
|
+
export type VoiceApiRequestToolFetch = (request: Request) => Promise<Response> | Response;
|
|
106
|
+
export type VoiceApiRequestToolOptions<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TArgs extends VoiceApiRequestToolArgs = VoiceApiRequestToolArgs, TResponse = unknown> = {
|
|
107
|
+
buildBody?: (input: {
|
|
108
|
+
args: TArgs;
|
|
109
|
+
context: TContext;
|
|
110
|
+
session: TSession;
|
|
111
|
+
}) => unknown;
|
|
112
|
+
buildHeaders?: (input: {
|
|
113
|
+
args: TArgs;
|
|
114
|
+
context: TContext;
|
|
115
|
+
session: TSession;
|
|
116
|
+
}) => HeadersInit | undefined;
|
|
117
|
+
buildQuery?: (input: {
|
|
118
|
+
args: TArgs;
|
|
119
|
+
context: TContext;
|
|
120
|
+
session: TSession;
|
|
121
|
+
}) => Record<string, string | number | undefined> | undefined;
|
|
122
|
+
description: string;
|
|
123
|
+
fetch?: VoiceApiRequestToolFetch;
|
|
124
|
+
formatResult?: (result: VoiceApiRequestToolResult<TResponse>) => string;
|
|
125
|
+
headers?: HeadersInit;
|
|
126
|
+
method?: VoiceApiRequestToolHttpMethod;
|
|
127
|
+
name: string;
|
|
128
|
+
parameters?: Record<string, unknown>;
|
|
129
|
+
parseResponse?: (response: Response) => Promise<TResponse> | TResponse;
|
|
130
|
+
url: string;
|
|
131
|
+
};
|
|
132
|
+
export declare const createVoiceApiRequestTool: <TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TArgs extends VoiceApiRequestToolArgs = VoiceApiRequestToolArgs, TResponse = unknown>(options: VoiceApiRequestToolOptions<TContext, TSession, TArgs, TResponse>) => VoiceAgentTool<TContext, TSession, TArgs, VoiceApiRequestToolResult<TResponse>>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { type VoiceScorecard, type VoiceScorecardRubric } from "./callScorecard";
|
|
2
|
+
export type VoiceAIScorecardCompletion = (input: {
|
|
3
|
+
prompt: string;
|
|
4
|
+
systemPrompt?: string;
|
|
5
|
+
}) => Promise<string>;
|
|
6
|
+
export type VoiceAIScorecardScoringResult = {
|
|
7
|
+
criterionId: string;
|
|
8
|
+
score: number;
|
|
9
|
+
rationale?: string;
|
|
10
|
+
};
|
|
11
|
+
export type VoiceAIScorecardParsedResponse = {
|
|
12
|
+
scores: VoiceAIScorecardScoringResult[];
|
|
13
|
+
comments?: string;
|
|
14
|
+
};
|
|
15
|
+
export type ScoreVoiceCallWithAIInput = {
|
|
16
|
+
rubric: VoiceScorecardRubric;
|
|
17
|
+
sessionId: string;
|
|
18
|
+
transcript: string;
|
|
19
|
+
agentId?: string;
|
|
20
|
+
reviewerId?: string;
|
|
21
|
+
metadata?: Record<string, unknown>;
|
|
22
|
+
now?: () => number;
|
|
23
|
+
};
|
|
24
|
+
export type CreateVoiceAIScorecardOptions = {
|
|
25
|
+
completion: VoiceAIScorecardCompletion;
|
|
26
|
+
systemPrompt?: string;
|
|
27
|
+
};
|
|
28
|
+
export declare const createVoiceAIScorecard: (options: CreateVoiceAIScorecardOptions) => {
|
|
29
|
+
scoreCall(input: ScoreVoiceCallWithAIInput): Promise<VoiceScorecard>;
|
|
30
|
+
};
|
|
31
|
+
export declare const parseVoiceAIScorecardResponse: (raw: string, rubric: VoiceScorecardRubric) => VoiceAIScorecardParsedResponse;
|
|
32
|
+
export type VoiceAIScorecard = ReturnType<typeof createVoiceAIScorecard>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { AIProviderConfig, AIUsage } from "@absolutejs/ai";
|
|
2
|
+
import type { VoiceAgentModel } from "./agent";
|
|
3
|
+
import type { VoiceSessionRecord } from "./types";
|
|
4
|
+
export type CreateAIVoiceModelOptions = {
|
|
5
|
+
model: string;
|
|
6
|
+
onUsage?: (usage: AIUsage & {
|
|
7
|
+
model: string;
|
|
8
|
+
provider?: string;
|
|
9
|
+
}) => void;
|
|
10
|
+
provider: AIProviderConfig;
|
|
11
|
+
providerName?: string;
|
|
12
|
+
signal?: AbortSignal;
|
|
13
|
+
systemPrompt?: string;
|
|
14
|
+
};
|
|
15
|
+
export declare const createAIVoiceModel: <TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown>(options: CreateAIVoiceModelOptions) => VoiceAgentModel<TContext, TSession, TResult>;
|