@absolutejs/voice 0.0.22-beta.62 → 0.0.22-beta.621

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.
Files changed (502) hide show
  1. package/LICENSE +88 -0
  2. package/README.md +4543 -1181
  3. package/dist/angular/index.d.ts +36 -6
  4. package/dist/angular/index.js +4203 -457
  5. package/dist/angular/voice-agent-squad-status.service.d.ts +12 -0
  6. package/dist/angular/voice-call-debugger.service.d.ts +12 -0
  7. package/dist/angular/voice-call-player.service.d.ts +19 -0
  8. package/dist/angular/voice-campaign-dialer-proof.service.d.ts +14 -0
  9. package/dist/angular/voice-controller.service.d.ts +4 -1
  10. package/dist/angular/voice-cost-dashboard.service.d.ts +15 -0
  11. package/dist/angular/voice-delivery-runtime.service.d.ts +16 -0
  12. package/dist/angular/voice-live-agent-console.service.d.ts +16 -0
  13. package/dist/angular/voice-live-call-viewer.service.d.ts +16 -0
  14. package/dist/angular/voice-live-ops.service.d.ts +11 -0
  15. package/dist/angular/voice-ops-action-center.service.d.ts +13 -0
  16. package/dist/angular/voice-ops-status.service.d.ts +12 -0
  17. package/dist/angular/voice-platform-coverage.service.d.ts +12 -0
  18. package/dist/angular/voice-profile-comparison.service.d.ts +12 -0
  19. package/dist/angular/voice-proof-trends.service.d.ts +12 -0
  20. package/dist/angular/voice-provider-capabilities.service.d.ts +12 -0
  21. package/dist/angular/voice-provider-contracts.service.d.ts +12 -0
  22. package/dist/angular/voice-provider-status.service.d.ts +2 -2
  23. package/dist/angular/voice-readiness-failures.service.d.ts +13 -0
  24. package/dist/angular/voice-reconnect-profile-evidence.service.d.ts +12 -0
  25. package/dist/angular/voice-replay-timeline.service.d.ts +13 -0
  26. package/dist/angular/voice-routing-status.service.d.ts +1 -1
  27. package/dist/angular/voice-session-observability.service.d.ts +12 -0
  28. package/dist/angular/voice-session-snapshot.service.d.ts +13 -0
  29. package/dist/angular/voice-stream.service.d.ts +5 -1
  30. package/dist/angular/voice-trace-timeline.service.d.ts +12 -0
  31. package/dist/angular/voice-turn-latency.service.d.ts +13 -0
  32. package/dist/angular/voice-turn-quality.service.d.ts +12 -0
  33. package/dist/angular/voice-widget.service.d.ts +18 -0
  34. package/dist/angular/voice-workflow-status.service.d.ts +2 -2
  35. package/dist/client/actions.d.ts +128 -2
  36. package/dist/client/agentSquadStatus.d.ts +37 -0
  37. package/dist/client/agentSquadStatusWidget.d.ts +24 -0
  38. package/dist/client/audioPlayer.d.ts +12 -2
  39. package/dist/client/bargeInMonitor.d.ts +7 -0
  40. package/dist/client/browserMedia.d.ts +8 -0
  41. package/dist/client/browserNoiseSuppression.d.ts +42 -0
  42. package/dist/client/browserVoiceSupport.d.ts +22 -0
  43. package/dist/client/callDebugger.d.ts +21 -0
  44. package/dist/client/callDebuggerWidget.d.ts +30 -0
  45. package/dist/client/callPlayer.d.ts +41 -0
  46. package/dist/client/campaignDialerProof.d.ts +25 -0
  47. package/dist/client/connection.d.ts +8 -3
  48. package/dist/client/controller.d.ts +1 -1
  49. package/dist/client/conversationAnalytics.d.ts +30 -0
  50. package/dist/client/costDashboard.d.ts +27 -0
  51. package/dist/client/createVoiceStream.d.ts +1 -1
  52. package/dist/client/deliveryRuntime.d.ts +36 -0
  53. package/dist/client/deliveryRuntimeWidget.d.ts +37 -0
  54. package/dist/client/duplex.d.ts +2 -2
  55. package/dist/client/htmx.d.ts +1 -1
  56. package/dist/client/htmxAttributes.d.ts +24 -0
  57. package/dist/client/htmxBootstrap.js +1345 -84
  58. package/dist/client/htmxDashboardRenderers.d.ts +71 -0
  59. package/dist/client/index.d.ts +107 -25
  60. package/dist/client/index.js +10531 -462
  61. package/dist/client/liveAgentConsole.d.ts +28 -0
  62. package/dist/client/liveCallViewer.d.ts +42 -0
  63. package/dist/client/liveOps.d.ts +22 -0
  64. package/dist/client/liveOpsWidget.d.ts +23 -0
  65. package/dist/client/liveTurnLatency.d.ts +41 -0
  66. package/dist/client/microphone.d.ts +5 -4
  67. package/dist/client/opsActionCenter.d.ts +56 -0
  68. package/dist/client/opsActionCenterWidget.d.ts +29 -0
  69. package/dist/client/opsActionHistory.d.ts +21 -0
  70. package/dist/client/opsActionHistoryWidget.d.ts +11 -0
  71. package/dist/client/opsStatus.d.ts +21 -0
  72. package/dist/client/opsStatusWidget.d.ts +10 -10
  73. package/dist/client/platformCoverage.d.ts +21 -0
  74. package/dist/client/platformCoverageWidget.d.ts +38 -0
  75. package/dist/client/profileComparison.d.ts +21 -0
  76. package/dist/client/profileComparisonWidget.d.ts +41 -0
  77. package/dist/client/profileSwitchRecommendation.d.ts +21 -0
  78. package/dist/client/profileSwitchRecommendationWidget.d.ts +12 -0
  79. package/dist/client/proofTrends.d.ts +21 -0
  80. package/dist/client/proofTrendsWidget.d.ts +38 -0
  81. package/dist/client/providerCapabilities.d.ts +21 -0
  82. package/dist/client/providerCapabilitiesWidget.d.ts +32 -0
  83. package/dist/client/providerContracts.d.ts +21 -0
  84. package/dist/client/providerContractsWidget.d.ts +37 -0
  85. package/dist/client/providerSimulationControls.d.ts +3 -3
  86. package/dist/client/providerSimulationControlsWidget.d.ts +5 -5
  87. package/dist/client/providerStatus.d.ts +5 -3
  88. package/dist/client/providerStatusWidget.d.ts +6 -6
  89. package/dist/client/reactiveSource.d.ts +8 -0
  90. package/dist/client/readinessFailures.d.ts +21 -0
  91. package/dist/client/readinessFailuresWidget.d.ts +42 -0
  92. package/dist/client/reconnectProfileEvidence.d.ts +21 -0
  93. package/dist/client/reconnectProfileEvidenceWidget.d.ts +39 -0
  94. package/dist/client/replayTimeline.d.ts +26 -0
  95. package/dist/client/routingStatus.d.ts +5 -3
  96. package/dist/client/routingStatusWidget.d.ts +10 -6
  97. package/dist/client/sessionObservability.d.ts +21 -0
  98. package/dist/client/sessionObservabilityWidget.d.ts +31 -0
  99. package/dist/client/sessionSnapshot.d.ts +23 -0
  100. package/dist/client/sessionSnapshotWidget.d.ts +33 -0
  101. package/dist/client/store.d.ts +1 -1
  102. package/dist/client/timeStretch.d.ts +5 -0
  103. package/dist/client/traceTimeline.d.ts +21 -0
  104. package/dist/client/traceTimelineWidget.d.ts +36 -0
  105. package/dist/client/turnLatency.d.ts +24 -0
  106. package/dist/client/turnLatencyWidget.d.ts +33 -0
  107. package/dist/client/turnQuality.d.ts +21 -0
  108. package/dist/client/turnQualityWidget.d.ts +32 -0
  109. package/dist/client/voiceWidgetView.d.ts +48 -0
  110. package/dist/client/workflowStatus.d.ts +5 -3
  111. package/dist/{agent.d.ts → core/agent.d.ts} +110 -7
  112. package/dist/core/agentPerformanceReport.d.ts +40 -0
  113. package/dist/core/agentSquadContract.d.ts +98 -0
  114. package/dist/core/agentState.d.ts +12 -0
  115. package/dist/core/agentTools.d.ts +132 -0
  116. package/dist/core/aiScorecard.d.ts +32 -0
  117. package/dist/core/aiVoiceModel.d.ts +15 -0
  118. package/dist/core/amdDetector.d.ts +25 -0
  119. package/dist/{assistant.d.ts → core/assistant.d.ts} +21 -14
  120. package/dist/core/assistantExperiment.d.ts +42 -0
  121. package/dist/{assistantHealth.d.ts → core/assistantHealth.d.ts} +9 -9
  122. package/dist/{assistantMemory.d.ts → core/assistantMemory.d.ts} +10 -10
  123. package/dist/core/assistantMode.d.ts +22 -0
  124. package/dist/{audioConditioning.d.ts → core/audioConditioning.d.ts} +2 -2
  125. package/dist/core/audit.d.ts +131 -0
  126. package/dist/core/auditDeliveryRoutes.d.ts +85 -0
  127. package/dist/core/auditExport.d.ts +34 -0
  128. package/dist/core/auditRoutes.d.ts +66 -0
  129. package/dist/core/auditSinks.d.ts +151 -0
  130. package/dist/core/backchannel.d.ts +25 -0
  131. package/dist/core/bargeInDetector.d.ts +51 -0
  132. package/dist/core/bargeInRoutes.d.ts +56 -0
  133. package/dist/core/bookingFlow.d.ts +43 -0
  134. package/dist/core/browserCallProfiles.d.ts +120 -0
  135. package/dist/core/browserMediaRoutes.d.ts +62 -0
  136. package/dist/core/cachedTTS.d.ts +54 -0
  137. package/dist/core/calendarAdapter.d.ts +47 -0
  138. package/dist/core/calendarSlots.d.ts +35 -0
  139. package/dist/core/callDebugger.d.ts +66 -0
  140. package/dist/core/callDisposition.d.ts +38 -0
  141. package/dist/core/callQuota.d.ts +54 -0
  142. package/dist/core/callScorecard.d.ts +53 -0
  143. package/dist/core/callerCRMLinker.d.ts +29 -0
  144. package/dist/core/callerMemory.d.ts +37 -0
  145. package/dist/core/callingWindow.d.ts +26 -0
  146. package/dist/core/campaign.d.ts +795 -0
  147. package/dist/core/campaignControls.d.ts +37 -0
  148. package/dist/core/campaignDialers.d.ts +111 -0
  149. package/dist/core/campaignTemplate.d.ts +16 -0
  150. package/dist/core/competitiveCoverage.d.ts +141 -0
  151. package/dist/core/conversationSimulator.d.ts +73 -0
  152. package/dist/{correction.d.ts → core/correction.d.ts} +5 -4
  153. package/dist/core/costAccounting.d.ts +90 -0
  154. package/dist/core/costPredictor.d.ts +74 -0
  155. package/dist/core/crmCallLogger.d.ts +37 -0
  156. package/dist/core/crmContract.d.ts +70 -0
  157. package/dist/core/dataControl.d.ts +180 -0
  158. package/dist/core/debugTiming.d.ts +11 -0
  159. package/dist/core/defineVoiceAssistant.d.ts +68 -0
  160. package/dist/core/deliveryRuntime.d.ts +159 -0
  161. package/dist/core/deliverySinkRoutes.d.ts +117 -0
  162. package/dist/core/demoReadyRoutes.d.ts +98 -0
  163. package/dist/{diagnosticsRoutes.d.ts → core/diagnosticsRoutes.d.ts} +2 -2
  164. package/dist/core/dncRegistry.d.ts +38 -0
  165. package/dist/core/dtmfCollector.d.ts +37 -0
  166. package/dist/{evalRoutes.d.ts → core/evalRoutes.d.ts} +26 -20
  167. package/dist/{fileStore.d.ts → core/fileStore.d.ts} +34 -20
  168. package/dist/core/guardrails.d.ts +128 -0
  169. package/dist/{handoff.d.ts → core/handoff.d.ts} +10 -10
  170. package/dist/{handoffHealth.d.ts → core/handoffHealth.d.ts} +9 -9
  171. package/dist/core/hardenedFetch.d.ts +3 -0
  172. package/dist/core/holdAudio.d.ts +23 -0
  173. package/dist/{htmx.d.ts → core/htmx.d.ts} +2 -2
  174. package/dist/core/htmxDashboardRoutes.d.ts +250 -0
  175. package/dist/core/iceServers.d.ts +34 -0
  176. package/dist/core/incidentBundle.d.ts +119 -0
  177. package/dist/core/incidentTimeline.d.ts +260 -0
  178. package/dist/core/ivrPlan.d.ts +40 -0
  179. package/dist/core/latencySlo.d.ts +56 -0
  180. package/dist/core/liveCoach.d.ts +43 -0
  181. package/dist/core/liveLatency.d.ts +78 -0
  182. package/dist/core/liveOps.d.ts +190 -0
  183. package/dist/core/llmJudge.d.ts +45 -0
  184. package/dist/{logger.d.ts → core/logger.d.ts} +1 -2
  185. package/dist/core/mcpToolset.d.ts +58 -0
  186. package/dist/core/mediaPipelineRoutes.d.ts +171 -0
  187. package/dist/core/mediaPipelineSurfaces.d.ts +48 -0
  188. package/dist/{memoryStore.d.ts → core/memoryStore.d.ts} +1 -1
  189. package/dist/core/midCallSummary.d.ts +27 -0
  190. package/dist/{modelAdapters.d.ts → core/modelAdapters.d.ts} +64 -7
  191. package/dist/core/monitor.d.ts +148 -0
  192. package/dist/core/multilingualProof.d.ts +77 -0
  193. package/dist/core/noShowPredictor.d.ts +46 -0
  194. package/dist/core/oauth2TokenSource.d.ts +21 -0
  195. package/dist/core/observabilityExport.d.ts +501 -0
  196. package/dist/core/openaiTTS.d.ts +18 -0
  197. package/dist/core/operationalStatus.d.ts +87 -0
  198. package/dist/core/operationsRecord.d.ts +371 -0
  199. package/dist/{ops.d.ts → core/ops.d.ts} +70 -70
  200. package/dist/core/opsActionAuditRoutes.d.ts +99 -0
  201. package/dist/{opsConsoleRoutes.d.ts → core/opsConsoleRoutes.d.ts} +11 -8
  202. package/dist/{opsPresets.d.ts → core/opsPresets.d.ts} +2 -2
  203. package/dist/core/opsRecovery.d.ts +137 -0
  204. package/dist/{opsRuntime.d.ts → core/opsRuntime.d.ts} +6 -6
  205. package/dist/{opsSinks.d.ts → core/opsSinks.d.ts} +19 -19
  206. package/dist/core/opsStatus.d.ts +76 -0
  207. package/dist/core/opsStatusRoutes.d.ts +33 -0
  208. package/dist/{opsWebhook.d.ts → core/opsWebhook.d.ts} +15 -15
  209. package/dist/core/otelExporter.d.ts +83 -0
  210. package/dist/core/outcomeContract.d.ts +146 -0
  211. package/dist/{outcomeRecipes.d.ts → core/outcomeRecipes.d.ts} +4 -4
  212. package/dist/core/pathway.d.ts +94 -0
  213. package/dist/core/pathwayCompiler.d.ts +31 -0
  214. package/dist/core/pathwayGenerator.d.ts +27 -0
  215. package/dist/core/pathwayRuntime.d.ts +57 -0
  216. package/dist/core/pathwaySlotCollector.d.ts +29 -0
  217. package/dist/core/pathwayVisualizer.d.ts +8 -0
  218. package/dist/core/phoneAgent.d.ts +139 -0
  219. package/dist/core/phoneAgentProductionSmoke.d.ts +115 -0
  220. package/dist/core/phoneProvisioning.d.ts +29 -0
  221. package/dist/core/platformCoverage.d.ts +91 -0
  222. package/dist/{plugin.d.ts → core/plugin.d.ts} +2 -2
  223. package/dist/core/postCallAnalysis.d.ts +98 -0
  224. package/dist/core/postCallSurvey.d.ts +41 -0
  225. package/dist/{postgresStore.d.ts → core/postgresStore.d.ts} +20 -9
  226. package/dist/{presets.d.ts → core/presets.d.ts} +3 -3
  227. package/dist/core/productionReadiness.d.ts +757 -0
  228. package/dist/core/profileSwitchRecommendation.d.ts +350 -0
  229. package/dist/core/promptInjectionGuard.d.ts +30 -0
  230. package/dist/core/proofAssertions.d.ts +32 -0
  231. package/dist/core/proofPack.d.ts +211 -0
  232. package/dist/core/proofRunner.d.ts +79 -0
  233. package/dist/core/proofTrends.d.ts +966 -0
  234. package/dist/{providerAdapters.d.ts → core/providerAdapters.d.ts} +5 -5
  235. package/dist/core/providerCapabilities.d.ts +92 -0
  236. package/dist/core/providerDecisionTraces.d.ts +130 -0
  237. package/dist/{providerHealth.d.ts → core/providerHealth.d.ts} +15 -5
  238. package/dist/core/providerOrchestration.d.ts +109 -0
  239. package/dist/core/providerRouterTraces.d.ts +35 -0
  240. package/dist/core/providerRoutingContract.d.ts +71 -0
  241. package/dist/core/providerSlo.d.ts +142 -0
  242. package/dist/core/providerStackRecommendations.d.ts +188 -0
  243. package/dist/core/qualityDriftDetector.d.ts +44 -0
  244. package/dist/{qualityRoutes.d.ts → core/qualityRoutes.d.ts} +7 -7
  245. package/dist/{queue.d.ts → core/queue.d.ts} +48 -39
  246. package/dist/core/ragTool.d.ts +52 -0
  247. package/dist/core/readinessProfiles.d.ts +45 -0
  248. package/dist/core/realtimeChannel.d.ts +136 -0
  249. package/dist/core/realtimeProviderContracts.d.ts +133 -0
  250. package/dist/core/reconnectContract.d.ts +177 -0
  251. package/dist/core/recordingRedaction.d.ts +47 -0
  252. package/dist/core/recordingStore.d.ts +60 -0
  253. package/dist/core/redaction.d.ts +13 -0
  254. package/dist/core/reminderScheduler.d.ts +43 -0
  255. package/dist/{resilienceRoutes.d.ts → core/resilienceRoutes.d.ts} +34 -5
  256. package/dist/core/retention.d.ts +37 -0
  257. package/dist/core/retryPolicy.d.ts +38 -0
  258. package/dist/core/routeAuth.d.ts +58 -0
  259. package/dist/{routing.d.ts → core/routing.d.ts} +2 -2
  260. package/dist/{runtimeOps.d.ts → core/runtimeOps.d.ts} +3 -3
  261. package/dist/{s3Store.d.ts → core/s3Store.d.ts} +12 -3
  262. package/dist/core/scorecardCalibration.d.ts +31 -0
  263. package/dist/core/scribe.d.ts +50 -0
  264. package/dist/core/semanticTurn.d.ts +37 -0
  265. package/dist/{session.d.ts → core/session.d.ts} +1 -1
  266. package/dist/core/sessionObservability.d.ts +145 -0
  267. package/dist/{sessionReplay.d.ts → core/sessionReplay.d.ts} +31 -19
  268. package/dist/core/sessionSnapshot.d.ts +109 -0
  269. package/dist/core/simulationSuite.d.ts +144 -0
  270. package/dist/core/sloCalibration.d.ts +185 -0
  271. package/dist/{sqliteStore.d.ts → core/sqliteStore.d.ts} +20 -9
  272. package/dist/{store.d.ts → core/store.d.ts} +1 -1
  273. package/dist/core/supervisorPermissions.d.ts +33 -0
  274. package/dist/core/supervisorPresence.d.ts +49 -0
  275. package/dist/core/telephonyMediaRoutes.d.ts +72 -0
  276. package/dist/core/telephonyOutcome.d.ts +269 -0
  277. package/dist/core/toolContract.d.ts +161 -0
  278. package/dist/{toolRuntime.d.ts → core/toolRuntime.d.ts} +4 -4
  279. package/dist/{trace.d.ts → core/trace.d.ts} +61 -22
  280. package/dist/core/traceDeliveryRoutes.d.ts +86 -0
  281. package/dist/core/traceTimeline.d.ts +97 -0
  282. package/dist/core/transcriptAnnotator.d.ts +41 -0
  283. package/dist/{turnDetection.d.ts → core/turnDetection.d.ts} +2 -1
  284. package/dist/core/turnLatency.d.ts +95 -0
  285. package/dist/core/turnProfiles.d.ts +3 -0
  286. package/dist/core/turnQuality.d.ts +94 -0
  287. package/dist/core/types.d.ts +1535 -0
  288. package/dist/core/vapiAdapter.d.ts +160 -0
  289. package/dist/core/variableAnalytics.d.ts +47 -0
  290. package/dist/core/voiceConfiguration.d.ts +8 -0
  291. package/dist/core/voiceMonitoring.d.ts +444 -0
  292. package/dist/core/webhookFanout.d.ts +48 -0
  293. package/dist/core/webhookVerification.d.ts +27 -0
  294. package/dist/core/whisperChannel.d.ts +50 -0
  295. package/dist/{workflowContract.d.ts → core/workflowContract.d.ts} +21 -21
  296. package/dist/core/writeBehindStore.d.ts +41 -0
  297. package/dist/core/zeroDataRetention.d.ts +31 -0
  298. package/dist/drizzle/assistantMemory.d.ts +100 -0
  299. package/dist/drizzle/eval.d.ts +55 -0
  300. package/dist/drizzle/handoff.d.ts +56 -0
  301. package/dist/drizzle/incidentBundle.d.ts +55 -0
  302. package/dist/drizzle/index.d.ts +991 -0
  303. package/dist/drizzle/index.js +3059 -0
  304. package/dist/drizzle/observabilityExport.d.ts +55 -0
  305. package/dist/drizzle/proofTrends.d.ts +114 -0
  306. package/dist/drizzle/runtimeStorage.d.ts +1183 -0
  307. package/dist/drizzle/shared.d.ts +69 -0
  308. package/dist/embed/index.d.ts +38 -0
  309. package/dist/embed/index.js +1775 -0
  310. package/dist/embed/voice-widget.js +10 -0
  311. package/dist/index.d.ts +378 -76
  312. package/dist/index.js +47418 -7749
  313. package/dist/internal/evidence.d.ts +10 -0
  314. package/dist/internal/html.d.ts +6 -0
  315. package/dist/internal/status.d.ts +7 -0
  316. package/dist/react/VoiceAgentSquadStatus.d.ts +5 -0
  317. package/dist/react/VoiceCallDebuggerLaunch.d.ts +6 -0
  318. package/dist/react/VoiceCallPlayer.d.ts +11 -0
  319. package/dist/react/VoiceCostDashboard.d.ts +10 -0
  320. package/dist/react/VoiceDeliveryRuntime.d.ts +7 -0
  321. package/dist/react/VoiceLiveAgentConsole.d.ts +11 -0
  322. package/dist/react/VoiceLiveCallViewer.d.ts +9 -0
  323. package/dist/react/VoiceOpsActionCenter.d.ts +5 -0
  324. package/dist/react/VoiceOpsStatus.d.ts +1 -1
  325. package/dist/react/VoicePlatformCoverage.d.ts +6 -0
  326. package/dist/react/VoiceProfileComparison.d.ts +6 -0
  327. package/dist/react/VoiceProfileSwitchRecommendation.d.ts +6 -0
  328. package/dist/react/VoiceProofTrends.d.ts +6 -0
  329. package/dist/react/VoiceProviderCapabilities.d.ts +6 -0
  330. package/dist/react/VoiceProviderContracts.d.ts +6 -0
  331. package/dist/react/VoiceProviderSimulationControls.d.ts +1 -1
  332. package/dist/react/VoiceProviderStatus.d.ts +1 -1
  333. package/dist/react/VoiceReadinessFailures.d.ts +6 -0
  334. package/dist/react/VoiceReconnectProfileEvidence.d.ts +6 -0
  335. package/dist/react/VoiceReplayTimeline.d.ts +6 -0
  336. package/dist/react/VoiceRoutingStatus.d.ts +1 -1
  337. package/dist/react/VoiceSessionObservability.d.ts +6 -0
  338. package/dist/react/VoiceSessionSnapshot.d.ts +6 -0
  339. package/dist/react/VoiceTraceTimeline.d.ts +6 -0
  340. package/dist/react/VoiceTurnLatency.d.ts +6 -0
  341. package/dist/react/VoiceTurnQuality.d.ts +6 -0
  342. package/dist/react/VoiceWidget.d.ts +13 -0
  343. package/dist/react/index.d.ts +80 -11
  344. package/dist/react/index.js +13545 -1593
  345. package/dist/react/useVoiceAgentSquadStatus.d.ts +8 -0
  346. package/dist/react/useVoiceCallDebugger.d.ts +8 -0
  347. package/dist/react/useVoiceCampaignDialerProof.d.ts +10 -0
  348. package/dist/react/useVoiceController.d.ts +5 -1
  349. package/dist/react/useVoiceDeliveryRuntime.d.ts +13 -0
  350. package/dist/react/useVoiceLiveOps.d.ts +9 -0
  351. package/dist/react/useVoiceOpsActionCenter.d.ts +11 -0
  352. package/dist/react/useVoiceOpsStatus.d.ts +8 -0
  353. package/dist/react/useVoicePlatformCoverage.d.ts +8 -0
  354. package/dist/react/useVoiceProfileComparison.d.ts +8 -0
  355. package/dist/react/useVoiceProfileSwitchRecommendation.d.ts +8 -0
  356. package/dist/react/useVoiceProofTrends.d.ts +8 -0
  357. package/dist/react/useVoiceProviderCapabilities.d.ts +8 -0
  358. package/dist/react/useVoiceProviderContracts.d.ts +8 -0
  359. package/dist/react/useVoiceProviderSimulationControls.d.ts +1 -1
  360. package/dist/react/useVoiceProviderStatus.d.ts +1 -1
  361. package/dist/react/useVoiceReadinessFailures.d.ts +8 -0
  362. package/dist/react/useVoiceReconnectProfileEvidence.d.ts +8 -0
  363. package/dist/react/useVoiceRoutingStatus.d.ts +1 -1
  364. package/dist/react/useVoiceSessionObservability.d.ts +8 -0
  365. package/dist/react/useVoiceSessionSnapshot.d.ts +9 -0
  366. package/dist/react/useVoiceStream.d.ts +5 -1
  367. package/dist/react/useVoiceTraceTimeline.d.ts +8 -0
  368. package/dist/react/useVoiceTurnLatency.d.ts +9 -0
  369. package/dist/react/useVoiceTurnQuality.d.ts +8 -0
  370. package/dist/react/useVoiceWorkflowStatus.d.ts +1 -1
  371. package/dist/svelte/createVoiceAgentSquadStatus.d.ts +9 -0
  372. package/dist/svelte/createVoiceCallDebugger.d.ts +10 -0
  373. package/dist/svelte/createVoiceCallPlayer.d.ts +33 -0
  374. package/dist/svelte/createVoiceCampaignDialerProof.d.ts +9 -0
  375. package/dist/svelte/createVoiceCostDashboard.d.ts +13 -0
  376. package/dist/svelte/createVoiceDeliveryRuntime.d.ts +11 -0
  377. package/dist/svelte/createVoiceLiveAgentConsole.d.ts +23 -0
  378. package/dist/svelte/createVoiceLiveCallViewer.d.ts +26 -0
  379. package/dist/svelte/createVoiceLiveOps.d.ts +13 -0
  380. package/dist/svelte/createVoiceOpsActionCenter.d.ts +10 -0
  381. package/dist/svelte/createVoiceOpsStatus.d.ts +4 -4
  382. package/dist/svelte/createVoicePlatformCoverage.d.ts +7 -0
  383. package/dist/svelte/createVoiceProfileComparison.d.ts +7 -0
  384. package/dist/svelte/createVoiceProofTrends.d.ts +7 -0
  385. package/dist/svelte/createVoiceProviderCapabilities.d.ts +10 -0
  386. package/dist/svelte/createVoiceProviderContracts.d.ts +10 -0
  387. package/dist/svelte/createVoiceProviderSimulationControls.d.ts +2 -2
  388. package/dist/svelte/createVoiceProviderStatus.d.ts +2 -2
  389. package/dist/svelte/createVoiceReadinessFailures.d.ts +7 -0
  390. package/dist/svelte/createVoiceReconnectProfileEvidence.d.ts +7 -0
  391. package/dist/svelte/createVoiceReplayTimeline.d.ts +13 -0
  392. package/dist/svelte/createVoiceRoutingStatus.d.ts +2 -2
  393. package/dist/svelte/createVoiceSessionObservability.d.ts +10 -0
  394. package/dist/svelte/createVoiceSessionSnapshot.d.ts +11 -0
  395. package/dist/svelte/createVoiceStream.d.ts +1 -1
  396. package/dist/svelte/createVoiceTraceTimeline.d.ts +10 -0
  397. package/dist/svelte/createVoiceTurnLatency.d.ts +11 -0
  398. package/dist/svelte/createVoiceTurnQuality.d.ts +10 -0
  399. package/dist/svelte/createVoiceWidget.d.ts +19 -0
  400. package/dist/svelte/createVoiceWorkflowStatus.d.ts +2 -2
  401. package/dist/svelte/index.d.ts +37 -8
  402. package/dist/svelte/index.js +7177 -1306
  403. package/dist/telephony/contract.d.ts +61 -0
  404. package/dist/telephony/matrix.d.ts +97 -0
  405. package/dist/telephony/plivo.d.ts +303 -0
  406. package/dist/telephony/response.d.ts +1 -1
  407. package/dist/telephony/security.d.ts +182 -0
  408. package/dist/telephony/telnyx.d.ts +291 -0
  409. package/dist/telephony/twilio.d.ts +153 -15
  410. package/dist/testing/accuracy.d.ts +1 -1
  411. package/dist/testing/benchmark.d.ts +15 -15
  412. package/dist/testing/corrected.d.ts +9 -9
  413. package/dist/testing/duplex.d.ts +5 -5
  414. package/dist/testing/fixtures.d.ts +4 -4
  415. package/dist/testing/index.d.ts +13 -13
  416. package/dist/testing/index.js +7419 -951
  417. package/dist/testing/ioProviderSimulator.d.ts +5 -5
  418. package/dist/testing/providerSimulator.d.ts +5 -5
  419. package/dist/testing/review.d.ts +8 -8
  420. package/dist/testing/sessionBenchmark.d.ts +13 -13
  421. package/dist/testing/stt.d.ts +3 -3
  422. package/dist/testing/telephony.d.ts +27 -2
  423. package/dist/testing/tts.d.ts +2 -2
  424. package/dist/vue/VoiceCallDebuggerLaunch.d.ts +72 -0
  425. package/dist/vue/VoiceCallPlayer.d.ts +40 -0
  426. package/dist/vue/VoiceCostDashboard.d.ts +57 -0
  427. package/dist/vue/VoiceDeliveryRuntime.d.ts +34 -0
  428. package/dist/vue/VoiceLiveAgentConsole.d.ts +50 -0
  429. package/dist/vue/VoiceLiveCallViewer.d.ts +35 -0
  430. package/dist/vue/VoiceOpsActionCenter.d.ts +13 -0
  431. package/dist/vue/VoiceOpsStatus.d.ts +4 -0
  432. package/dist/vue/VoicePlatformCoverage.d.ts +27 -0
  433. package/dist/vue/VoiceProofTrends.d.ts +25 -0
  434. package/dist/vue/VoiceProviderCapabilities.d.ts +55 -0
  435. package/dist/vue/VoiceProviderContracts.d.ts +25 -0
  436. package/dist/vue/VoiceProviderSimulationControls.d.ts +3 -3
  437. package/dist/vue/VoiceProviderStatus.d.ts +4 -0
  438. package/dist/vue/VoiceReadinessFailures.d.ts +25 -0
  439. package/dist/vue/VoiceReconnectProfileEvidence.d.ts +25 -0
  440. package/dist/vue/VoiceReplayTimeline.d.ts +17 -0
  441. package/dist/vue/VoiceRoutingStatus.d.ts +4 -0
  442. package/dist/vue/VoiceSessionObservability.d.ts +27 -0
  443. package/dist/vue/VoiceSessionSnapshot.d.ts +72 -0
  444. package/dist/vue/VoiceTurnLatency.d.ts +73 -0
  445. package/dist/vue/VoiceTurnQuality.d.ts +55 -0
  446. package/dist/vue/VoiceWidget.d.ts +77 -0
  447. package/dist/vue/index.d.ts +49 -11
  448. package/dist/vue/index.js +12844 -1711
  449. package/dist/vue/useVoiceAgentSquadStatus.d.ts +9 -0
  450. package/dist/vue/useVoiceCallDebugger.d.ts +10 -0
  451. package/dist/vue/useVoiceCampaignDialerProof.d.ts +11 -0
  452. package/dist/vue/useVoiceController.d.ts +10 -7
  453. package/dist/vue/useVoiceDeliveryRuntime.d.ts +13 -0
  454. package/dist/vue/useVoiceLiveOps.d.ts +9 -0
  455. package/dist/vue/useVoiceOpsActionCenter.d.ts +11 -0
  456. package/dist/vue/useVoiceOpsStatus.d.ts +9 -0
  457. package/dist/vue/useVoicePlatformCoverage.d.ts +9 -0
  458. package/dist/vue/useVoiceProfileComparison.d.ts +9 -0
  459. package/dist/vue/useVoiceProofTrends.d.ts +9 -0
  460. package/dist/vue/useVoiceProviderCapabilities.d.ts +9 -0
  461. package/dist/vue/useVoiceProviderContracts.d.ts +9 -0
  462. package/dist/vue/useVoiceProviderSimulationControls.d.ts +2 -2
  463. package/dist/vue/useVoiceProviderStatus.d.ts +3 -3
  464. package/dist/vue/useVoiceReadinessFailures.d.ts +959 -0
  465. package/dist/vue/useVoiceReconnectProfileEvidence.d.ts +9 -0
  466. package/dist/vue/useVoiceRoutingStatus.d.ts +2 -2
  467. package/dist/vue/useVoiceSessionObservability.d.ts +9 -0
  468. package/dist/vue/useVoiceSessionSnapshot.d.ts +10 -0
  469. package/dist/vue/useVoiceStream.d.ts +10 -6
  470. package/dist/vue/useVoiceTraceTimeline.d.ts +9 -0
  471. package/dist/vue/useVoiceTurnLatency.d.ts +10 -0
  472. package/dist/vue/useVoiceTurnQuality.d.ts +9 -0
  473. package/dist/vue/useVoiceWorkflowStatus.d.ts +3 -3
  474. package/package.json +159 -256
  475. package/dist/angular/voice-app-kit-status.service.d.ts +0 -12
  476. package/dist/angular/voice-ops-status.component.d.ts +0 -15
  477. package/dist/appKit.d.ts +0 -92
  478. package/dist/client/appKitStatus.d.ts +0 -19
  479. package/dist/react/useVoiceAppKitStatus.d.ts +0 -8
  480. package/dist/svelte/createVoiceAppKitStatus.d.ts +0 -8
  481. package/dist/turnProfiles.d.ts +0 -6
  482. package/dist/types.d.ts +0 -968
  483. package/dist/vue/useVoiceAppKitStatus.d.ts +0 -9
  484. package/fixtures/README.md +0 -57
  485. package/fixtures/manifest.json +0 -199
  486. package/fixtures/pcm/dialogue-three-clean.pcm +0 -0
  487. package/fixtures/pcm/dialogue-three-mixed.pcm +0 -0
  488. package/fixtures/pcm/dialogue-two-clean.pcm +0 -0
  489. package/fixtures/pcm/dialogue-two-noisy.pcm +0 -0
  490. package/fixtures/pcm/multiturn-three-mixed.pcm +0 -0
  491. package/fixtures/pcm/multiturn-two-clean.pcm +0 -0
  492. package/fixtures/pcm/quietly-alone-clean.pcm +0 -0
  493. package/fixtures/pcm/rainstorms-noisy.pcm +0 -0
  494. package/fixtures/pcm/stella-bulgaria-bulgarian20.pcm +0 -0
  495. package/fixtures/pcm/stella-ghana-english507.pcm +0 -0
  496. package/fixtures/pcm/stella-india-english37.pcm +0 -0
  497. package/fixtures/pcm/stella-jamaica-jamaican-creole-english1.pcm +0 -0
  498. package/fixtures/pcm/stella-liberia-liberian-pidgin-english2.pcm +0 -0
  499. package/fixtures/pcm/stella-pakistan-english519.pcm +0 -0
  500. package/fixtures/pcm/stella-sierra-leone-krio5.pcm +0 -0
  501. package/fixtures/pcm/stella-singapore-english655.pcm +0 -0
  502. 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 '../evalRoutes';
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,8 +1,21 @@
1
- import type { VoiceOnTurnObjectHandler, VoiceRouteResult, VoiceSessionHandle, VoiceSessionRecord, VoiceTurnRecord } from './types';
2
- import type { VoiceTraceEventStore } from './trace';
3
- import type { VoiceToolRuntime } from './toolRuntime';
4
- export type VoiceAgentMessageRole = 'assistant' | 'system' | 'tool' | 'user';
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
+ };
5
17
  export type VoiceAgentMessage = {
18
+ attachments?: VoiceAgentMessageAttachment[];
6
19
  content: string;
7
20
  metadata?: Record<string, unknown>;
8
21
  name?: string;
@@ -19,7 +32,7 @@ export type VoiceAgentToolResult<TResult = unknown> = {
19
32
  error?: string;
20
33
  metadata?: Record<string, unknown>;
21
34
  result?: TResult;
22
- status: 'error' | 'ok';
35
+ status: "error" | "ok";
23
36
  toolCallId?: string;
24
37
  toolName: string;
25
38
  };
@@ -35,13 +48,22 @@ export type VoiceAgentTool<TContext = unknown, TSession extends VoiceSessionReco
35
48
  name: string;
36
49
  parameters?: Record<string, unknown>;
37
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;
38
58
  };
39
59
  export type VoiceAgentModelInput<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord> = {
40
60
  agentId: string;
41
61
  context: TContext;
42
62
  messages: VoiceAgentMessage[];
63
+ onTextDelta?: (delta: string) => void;
43
64
  session: TSession;
44
65
  system?: string;
66
+ signal?: AbortSignal;
45
67
  tools: Array<{
46
68
  description?: string;
47
69
  name: string;
@@ -60,12 +82,45 @@ export type VoiceAgentModelOutput<TResult = unknown> = VoiceRouteResult<TResult>
60
82
  export type VoiceAgentModel<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = {
61
83
  generate: (input: VoiceAgentModelInput<TContext, TSession>) => Promise<VoiceAgentModelOutput<TResult>> | VoiceAgentModelOutput<TResult>;
62
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
+ };
63
104
  export type VoiceAgentRunResult<TResult = unknown> = VoiceRouteResult<TResult> & {
64
105
  agentId: string;
65
- handoff?: VoiceAgentModelOutput<TResult>['handoff'];
106
+ handoff?: VoiceAgentModelOutput<TResult>["handoff"];
66
107
  messages: VoiceAgentMessage[];
108
+ squad?: VoiceAgentSquadState;
67
109
  toolResults: VoiceAgentToolResult[];
68
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
+ };
69
124
  export type VoiceAgent<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = {
70
125
  id: string;
71
126
  onTurn: VoiceOnTurnObjectHandler<TContext, TSession, TResult>;
@@ -73,11 +128,36 @@ export type VoiceAgent<TContext = unknown, TSession extends VoiceSessionRecord =
73
128
  api: VoiceSessionHandle<TContext, TSession, TResult>;
74
129
  context: TContext;
75
130
  messages?: VoiceAgentMessage[];
131
+ onTextDelta?: (delta: string) => void;
76
132
  session: TSession;
133
+ system?: string;
77
134
  turn: VoiceTurnRecord;
78
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>;
79
156
  };
80
157
  export type VoiceAgentOptions<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = {
158
+ audit?: VoiceAuditEventStore | VoiceAuditLogger;
159
+ auditModel?: string;
160
+ auditProvider?: string;
81
161
  id: string;
82
162
  maxToolRounds?: number;
83
163
  model: VoiceAgentModel<TContext, TSession, TResult>;
@@ -91,15 +171,37 @@ export type VoiceAgentOptions<TContext = unknown, TSession extends VoiceSessionR
91
171
  tools?: Array<VoiceAgentTool<TContext, TSession, Record<string, unknown>, unknown, TResult>>;
92
172
  };
93
173
  export type VoiceAgentSquadOptions<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = {
174
+ audit?: VoiceAuditEventStore | VoiceAuditLogger;
94
175
  agents: Array<VoiceAgent<TContext, TSession, TResult>>;
95
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;
96
196
  id: string;
97
197
  maxHandoffsPerTurn?: number;
98
198
  onHandoff?: (input: {
99
199
  context: TContext;
100
200
  fromAgentId: string;
201
+ metadata?: Record<string, unknown>;
101
202
  reason?: string;
102
203
  session: TSession;
204
+ summary?: string;
103
205
  targetAgentId: string;
104
206
  turn: VoiceTurnRecord;
105
207
  }) => Promise<void> | void;
@@ -110,6 +212,7 @@ export type VoiceAgentSquadOptions<TContext = unknown, TSession extends VoiceSes
110
212
  turn: VoiceTurnRecord;
111
213
  }) => Promise<string | undefined> | string | undefined;
112
214
  };
113
- 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>;
114
215
  export declare const createVoiceAgent: <TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown>(options: VoiceAgentOptions<TContext, TSession, TResult>) => VoiceAgent<TContext, TSession, TResult>;
115
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>;