@absolutejs/voice 0.0.22-beta.59 → 0.0.22-beta.591

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