@absolutejs/voice 0.0.22-beta.67 → 0.0.22-beta.670

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 (515) hide show
  1. package/LICENSE +88 -0
  2. package/README.md +4562 -1179
  3. package/dist/angular/index.d.ts +36 -8
  4. package/dist/angular/index.js +4362 -537
  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 +2 -2
  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 +6 -2
  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 +2 -2
  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 +201 -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 +13 -4
  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 +1808 -159
  58. package/dist/client/htmxDashboardRenderers.d.ts +71 -0
  59. package/dist/client/index.d.ts +109 -33
  60. package/dist/client/index.js +10799 -646
  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 +5 -3
  82. package/dist/client/providerCapabilitiesWidget.d.ts +6 -6
  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 +5 -3
  108. package/dist/client/turnQualityWidget.d.ts +6 -6
  109. package/dist/client/voiceWidgetView.d.ts +48 -0
  110. package/dist/client/workflowStatus.d.ts +5 -3
  111. package/dist/core/agent.d.ts +251 -0
  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} +24 -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 +1 -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/numberNormalizer.d.ts +1 -0
  195. package/dist/core/oauth2TokenSource.d.ts +21 -0
  196. package/dist/core/observabilityExport.d.ts +501 -0
  197. package/dist/core/openaiTTS.d.ts +18 -0
  198. package/dist/core/operationalStatus.d.ts +87 -0
  199. package/dist/core/operationsRecord.d.ts +371 -0
  200. package/dist/{ops.d.ts → core/ops.d.ts} +70 -70
  201. package/dist/core/opsActionAuditRoutes.d.ts +99 -0
  202. package/dist/{opsConsoleRoutes.d.ts → core/opsConsoleRoutes.d.ts} +11 -8
  203. package/dist/{opsPresets.d.ts → core/opsPresets.d.ts} +2 -2
  204. package/dist/core/opsRecovery.d.ts +137 -0
  205. package/dist/{opsRuntime.d.ts → core/opsRuntime.d.ts} +6 -6
  206. package/dist/{opsSinks.d.ts → core/opsSinks.d.ts} +19 -19
  207. package/dist/core/opsStatus.d.ts +76 -0
  208. package/dist/core/opsStatusRoutes.d.ts +33 -0
  209. package/dist/{opsWebhook.d.ts → core/opsWebhook.d.ts} +15 -15
  210. package/dist/core/otelExporter.d.ts +83 -0
  211. package/dist/core/outcomeContract.d.ts +146 -0
  212. package/dist/{outcomeRecipes.d.ts → core/outcomeRecipes.d.ts} +4 -4
  213. package/dist/core/pathway.d.ts +94 -0
  214. package/dist/core/pathwayCompiler.d.ts +31 -0
  215. package/dist/core/pathwayGenerator.d.ts +27 -0
  216. package/dist/core/pathwayRuntime.d.ts +57 -0
  217. package/dist/core/pathwaySlotCollector.d.ts +29 -0
  218. package/dist/core/pathwayVisualizer.d.ts +8 -0
  219. package/dist/core/phoneAgent.d.ts +139 -0
  220. package/dist/core/phoneAgentProductionSmoke.d.ts +115 -0
  221. package/dist/core/phoneProvisioning.d.ts +29 -0
  222. package/dist/core/platformCoverage.d.ts +91 -0
  223. package/dist/{plugin.d.ts → core/plugin.d.ts} +11 -8
  224. package/dist/core/postCallAnalysis.d.ts +98 -0
  225. package/dist/core/postCallSurvey.d.ts +41 -0
  226. package/dist/{postgresStore.d.ts → core/postgresStore.d.ts} +20 -9
  227. package/dist/{presets.d.ts → core/presets.d.ts} +3 -3
  228. package/dist/core/productionReadiness.d.ts +757 -0
  229. package/dist/core/profileSwitchRecommendation.d.ts +350 -0
  230. package/dist/core/promptInjectionGuard.d.ts +30 -0
  231. package/dist/core/proofAssertions.d.ts +32 -0
  232. package/dist/core/proofPack.d.ts +211 -0
  233. package/dist/core/proofRunner.d.ts +79 -0
  234. package/dist/core/proofTrends.d.ts +966 -0
  235. package/dist/{providerAdapters.d.ts → core/providerAdapters.d.ts} +5 -5
  236. package/dist/{providerCapabilities.d.ts → core/providerCapabilities.d.ts} +9 -9
  237. package/dist/core/providerDecisionTraces.d.ts +130 -0
  238. package/dist/{providerHealth.d.ts → core/providerHealth.d.ts} +15 -5
  239. package/dist/core/providerOrchestration.d.ts +109 -0
  240. package/dist/core/providerRouterTraces.d.ts +35 -0
  241. package/dist/core/providerRoutingContract.d.ts +71 -0
  242. package/dist/core/providerSlo.d.ts +142 -0
  243. package/dist/core/providerStackRecommendations.d.ts +188 -0
  244. package/dist/core/qualityDriftDetector.d.ts +44 -0
  245. package/dist/{qualityRoutes.d.ts → core/qualityRoutes.d.ts} +7 -7
  246. package/dist/{queue.d.ts → core/queue.d.ts} +48 -39
  247. package/dist/core/ragTool.d.ts +52 -0
  248. package/dist/core/readinessProfiles.d.ts +45 -0
  249. package/dist/core/realtimeChannel.d.ts +136 -0
  250. package/dist/core/realtimeProviderContracts.d.ts +133 -0
  251. package/dist/core/reconnectContract.d.ts +177 -0
  252. package/dist/core/recordingRedaction.d.ts +47 -0
  253. package/dist/core/recordingStore.d.ts +60 -0
  254. package/dist/core/redaction.d.ts +13 -0
  255. package/dist/core/reminderScheduler.d.ts +43 -0
  256. package/dist/{resilienceRoutes.d.ts → core/resilienceRoutes.d.ts} +34 -5
  257. package/dist/core/retention.d.ts +37 -0
  258. package/dist/core/retryPolicy.d.ts +38 -0
  259. package/dist/core/routeAuth.d.ts +58 -0
  260. package/dist/{routing.d.ts → core/routing.d.ts} +2 -2
  261. package/dist/{runtimeOps.d.ts → core/runtimeOps.d.ts} +3 -3
  262. package/dist/{s3Store.d.ts → core/s3Store.d.ts} +12 -3
  263. package/dist/core/scorecardCalibration.d.ts +31 -0
  264. package/dist/core/scribe.d.ts +50 -0
  265. package/dist/core/semanticTurn.d.ts +37 -0
  266. package/dist/{session.d.ts → core/session.d.ts} +1 -1
  267. package/dist/core/sessionObservability.d.ts +145 -0
  268. package/dist/{sessionReplay.d.ts → core/sessionReplay.d.ts} +31 -19
  269. package/dist/core/sessionSnapshot.d.ts +109 -0
  270. package/dist/core/simulationSuite.d.ts +144 -0
  271. package/dist/core/sloCalibration.d.ts +185 -0
  272. package/dist/{sqliteStore.d.ts → core/sqliteStore.d.ts} +20 -9
  273. package/dist/{store.d.ts → core/store.d.ts} +1 -1
  274. package/dist/core/supervisorPermissions.d.ts +33 -0
  275. package/dist/core/supervisorPresence.d.ts +49 -0
  276. package/dist/core/telephonyMediaRoutes.d.ts +72 -0
  277. package/dist/core/telephonyOutcome.d.ts +269 -0
  278. package/dist/{toolContract.d.ts → core/toolContract.d.ts} +46 -15
  279. package/dist/{toolRuntime.d.ts → core/toolRuntime.d.ts} +4 -4
  280. package/dist/{trace.d.ts → core/trace.d.ts} +61 -22
  281. package/dist/core/traceDeliveryRoutes.d.ts +86 -0
  282. package/dist/core/traceTimeline.d.ts +97 -0
  283. package/dist/core/transcriptAnnotator.d.ts +41 -0
  284. package/dist/{turnDetection.d.ts → core/turnDetection.d.ts} +2 -1
  285. package/dist/core/turnLatency.d.ts +95 -0
  286. package/dist/core/turnProfiles.d.ts +3 -0
  287. package/dist/{turnQuality.d.ts → core/turnQuality.d.ts} +9 -9
  288. package/dist/core/types.d.ts +1786 -0
  289. package/dist/core/vapiAdapter.d.ts +160 -0
  290. package/dist/core/variableAnalytics.d.ts +47 -0
  291. package/dist/core/voiceConfiguration.d.ts +8 -0
  292. package/dist/core/voiceMonitoring.d.ts +444 -0
  293. package/dist/core/webhookFanout.d.ts +48 -0
  294. package/dist/core/webhookVerification.d.ts +27 -0
  295. package/dist/core/whisperChannel.d.ts +50 -0
  296. package/dist/{workflowContract.d.ts → core/workflowContract.d.ts} +21 -21
  297. package/dist/core/writeBehindStore.d.ts +41 -0
  298. package/dist/core/zeroDataRetention.d.ts +31 -0
  299. package/dist/drizzle/assistantMemory.d.ts +100 -0
  300. package/dist/drizzle/eval.d.ts +55 -0
  301. package/dist/drizzle/handoff.d.ts +56 -0
  302. package/dist/drizzle/incidentBundle.d.ts +55 -0
  303. package/dist/drizzle/index.d.ts +991 -0
  304. package/dist/drizzle/index.js +3060 -0
  305. package/dist/drizzle/observabilityExport.d.ts +55 -0
  306. package/dist/drizzle/proofTrends.d.ts +114 -0
  307. package/dist/drizzle/runtimeStorage.d.ts +1183 -0
  308. package/dist/drizzle/shared.d.ts +69 -0
  309. package/dist/embed/index.d.ts +38 -0
  310. package/dist/embed/index.js +2100 -0
  311. package/dist/embed/voice-widget.js +10 -0
  312. package/dist/index.d.ts +379 -82
  313. package/dist/index.js +48514 -8241
  314. package/dist/internal/evidence.d.ts +10 -0
  315. package/dist/internal/html.d.ts +6 -0
  316. package/dist/internal/status.d.ts +7 -0
  317. package/dist/manifest.d.ts +17 -0
  318. package/dist/manifest.js +424 -0
  319. package/dist/manifest.json +427 -0
  320. package/dist/react/VoiceAgentSquadStatus.d.ts +5 -0
  321. package/dist/react/VoiceCallDebuggerLaunch.d.ts +6 -0
  322. package/dist/react/VoiceCallPlayer.d.ts +11 -0
  323. package/dist/react/VoiceCostDashboard.d.ts +10 -0
  324. package/dist/react/VoiceDeliveryRuntime.d.ts +7 -0
  325. package/dist/react/VoiceLiveAgentConsole.d.ts +11 -0
  326. package/dist/react/VoiceLiveCallViewer.d.ts +9 -0
  327. package/dist/react/VoiceOpsActionCenter.d.ts +5 -0
  328. package/dist/react/VoiceOpsStatus.d.ts +1 -1
  329. package/dist/react/VoicePlatformCoverage.d.ts +6 -0
  330. package/dist/react/VoiceProfileComparison.d.ts +6 -0
  331. package/dist/react/VoiceProfileSwitchRecommendation.d.ts +6 -0
  332. package/dist/react/VoiceProofTrends.d.ts +6 -0
  333. package/dist/react/VoiceProviderCapabilities.d.ts +1 -1
  334. package/dist/react/VoiceProviderContracts.d.ts +6 -0
  335. package/dist/react/VoiceProviderSimulationControls.d.ts +1 -1
  336. package/dist/react/VoiceProviderStatus.d.ts +1 -1
  337. package/dist/react/VoiceReadinessFailures.d.ts +6 -0
  338. package/dist/react/VoiceReconnectProfileEvidence.d.ts +6 -0
  339. package/dist/react/VoiceReplayTimeline.d.ts +6 -0
  340. package/dist/react/VoiceRoutingStatus.d.ts +1 -1
  341. package/dist/react/VoiceSessionObservability.d.ts +6 -0
  342. package/dist/react/VoiceSessionSnapshot.d.ts +6 -0
  343. package/dist/react/VoiceTraceTimeline.d.ts +6 -0
  344. package/dist/react/VoiceTurnLatency.d.ts +6 -0
  345. package/dist/react/VoiceTurnQuality.d.ts +1 -1
  346. package/dist/react/VoiceWidget.d.ts +13 -0
  347. package/dist/react/index.d.ts +80 -15
  348. package/dist/react/index.js +13740 -2052
  349. package/dist/react/useVoiceAgentSquadStatus.d.ts +8 -0
  350. package/dist/react/useVoiceCallDebugger.d.ts +8 -0
  351. package/dist/react/useVoiceCampaignDialerProof.d.ts +10 -0
  352. package/dist/react/useVoiceController.d.ts +9 -2
  353. package/dist/react/useVoiceDeliveryRuntime.d.ts +13 -0
  354. package/dist/react/useVoiceLiveOps.d.ts +9 -0
  355. package/dist/react/useVoiceOpsActionCenter.d.ts +11 -0
  356. package/dist/react/useVoiceOpsStatus.d.ts +8 -0
  357. package/dist/react/useVoicePlatformCoverage.d.ts +8 -0
  358. package/dist/react/useVoiceProfileComparison.d.ts +8 -0
  359. package/dist/react/useVoiceProfileSwitchRecommendation.d.ts +8 -0
  360. package/dist/react/useVoiceProofTrends.d.ts +8 -0
  361. package/dist/react/useVoiceProviderCapabilities.d.ts +1 -1
  362. package/dist/react/useVoiceProviderContracts.d.ts +8 -0
  363. package/dist/react/useVoiceProviderSimulationControls.d.ts +1 -1
  364. package/dist/react/useVoiceProviderStatus.d.ts +1 -1
  365. package/dist/react/useVoiceReadinessFailures.d.ts +8 -0
  366. package/dist/react/useVoiceReconnectProfileEvidence.d.ts +8 -0
  367. package/dist/react/useVoiceRoutingStatus.d.ts +1 -1
  368. package/dist/react/useVoiceSessionObservability.d.ts +8 -0
  369. package/dist/react/useVoiceSessionSnapshot.d.ts +9 -0
  370. package/dist/react/useVoiceStream.d.ts +9 -2
  371. package/dist/react/useVoiceTraceTimeline.d.ts +8 -0
  372. package/dist/react/useVoiceTurnLatency.d.ts +9 -0
  373. package/dist/react/useVoiceTurnQuality.d.ts +1 -1
  374. package/dist/react/useVoiceWorkflowStatus.d.ts +1 -1
  375. package/dist/svelte/createVoiceAgentSquadStatus.d.ts +9 -0
  376. package/dist/svelte/createVoiceCallDebugger.d.ts +10 -0
  377. package/dist/svelte/createVoiceCallPlayer.d.ts +33 -0
  378. package/dist/svelte/createVoiceCampaignDialerProof.d.ts +9 -0
  379. package/dist/svelte/createVoiceCostDashboard.d.ts +13 -0
  380. package/dist/svelte/createVoiceDeliveryRuntime.d.ts +11 -0
  381. package/dist/svelte/createVoiceLiveAgentConsole.d.ts +23 -0
  382. package/dist/svelte/createVoiceLiveCallViewer.d.ts +26 -0
  383. package/dist/svelte/createVoiceLiveOps.d.ts +13 -0
  384. package/dist/svelte/createVoiceOpsActionCenter.d.ts +10 -0
  385. package/dist/svelte/createVoiceOpsStatus.d.ts +4 -4
  386. package/dist/svelte/createVoicePlatformCoverage.d.ts +7 -0
  387. package/dist/svelte/createVoiceProfileComparison.d.ts +7 -0
  388. package/dist/svelte/createVoiceProofTrends.d.ts +7 -0
  389. package/dist/svelte/createVoiceProviderCapabilities.d.ts +2 -2
  390. package/dist/svelte/createVoiceProviderContracts.d.ts +10 -0
  391. package/dist/svelte/createVoiceProviderSimulationControls.d.ts +2 -2
  392. package/dist/svelte/createVoiceProviderStatus.d.ts +2 -2
  393. package/dist/svelte/createVoiceReadinessFailures.d.ts +7 -0
  394. package/dist/svelte/createVoiceReconnectProfileEvidence.d.ts +7 -0
  395. package/dist/svelte/createVoiceReplayTimeline.d.ts +13 -0
  396. package/dist/svelte/createVoiceRoutingStatus.d.ts +2 -2
  397. package/dist/svelte/createVoiceSessionObservability.d.ts +10 -0
  398. package/dist/svelte/createVoiceSessionSnapshot.d.ts +11 -0
  399. package/dist/svelte/createVoiceStream.d.ts +1 -1
  400. package/dist/svelte/createVoiceTraceTimeline.d.ts +10 -0
  401. package/dist/svelte/createVoiceTurnLatency.d.ts +11 -0
  402. package/dist/svelte/createVoiceTurnQuality.d.ts +2 -2
  403. package/dist/svelte/createVoiceWidget.d.ts +19 -0
  404. package/dist/svelte/createVoiceWorkflowStatus.d.ts +2 -2
  405. package/dist/svelte/index.d.ts +37 -10
  406. package/dist/svelte/index.js +7465 -1676
  407. package/dist/telephony/contract.d.ts +61 -0
  408. package/dist/telephony/matrix.d.ts +97 -0
  409. package/dist/telephony/plivo.d.ts +302 -0
  410. package/dist/telephony/response.d.ts +1 -1
  411. package/dist/telephony/security.d.ts +182 -0
  412. package/dist/telephony/telnyx.d.ts +290 -0
  413. package/dist/telephony/twilio.d.ts +164 -15
  414. package/dist/testing/accuracy.d.ts +18 -1
  415. package/dist/testing/audioMatrix.d.ts +22 -0
  416. package/dist/testing/benchmark.d.ts +24 -15
  417. package/dist/testing/confidenceCalibration.d.ts +19 -0
  418. package/dist/testing/conformance.d.ts +11 -0
  419. package/dist/testing/corrected.d.ts +9 -9
  420. package/dist/testing/criticalFields.d.ts +22 -0
  421. package/dist/testing/duplex.d.ts +5 -5
  422. package/dist/testing/fixtures.d.ts +7 -4
  423. package/dist/testing/index.d.ts +21 -13
  424. package/dist/testing/index.js +9171 -1290
  425. package/dist/testing/ioProviderSimulator.d.ts +5 -5
  426. package/dist/testing/outcomes.d.ts +12 -0
  427. package/dist/testing/provenance.d.ts +44 -0
  428. package/dist/testing/providerSimulator.d.ts +5 -5
  429. package/dist/testing/review.d.ts +8 -8
  430. package/dist/testing/routingBenchmark.d.ts +16 -0
  431. package/dist/testing/sessionBenchmark.d.ts +13 -13
  432. package/dist/testing/statistics.d.ts +30 -0
  433. package/dist/testing/stt.d.ts +3 -3
  434. package/dist/testing/telephony.d.ts +27 -2
  435. package/dist/testing/tts.d.ts +2 -2
  436. package/dist/vue/VoiceCallDebuggerLaunch.d.ts +72 -0
  437. package/dist/vue/VoiceCallPlayer.d.ts +40 -0
  438. package/dist/vue/VoiceCostDashboard.d.ts +57 -0
  439. package/dist/vue/VoiceDeliveryRuntime.d.ts +34 -0
  440. package/dist/vue/VoiceLiveAgentConsole.d.ts +50 -0
  441. package/dist/vue/VoiceLiveCallViewer.d.ts +35 -0
  442. package/dist/vue/VoiceOpsActionCenter.d.ts +13 -0
  443. package/dist/vue/VoiceOpsStatus.d.ts +4 -0
  444. package/dist/vue/VoicePlatformCoverage.d.ts +27 -0
  445. package/dist/vue/VoiceProofTrends.d.ts +25 -0
  446. package/dist/vue/VoiceProviderCapabilities.d.ts +4 -0
  447. package/dist/vue/VoiceProviderContracts.d.ts +25 -0
  448. package/dist/vue/VoiceProviderSimulationControls.d.ts +3 -3
  449. package/dist/vue/VoiceProviderStatus.d.ts +4 -0
  450. package/dist/vue/VoiceReadinessFailures.d.ts +25 -0
  451. package/dist/vue/VoiceReconnectProfileEvidence.d.ts +25 -0
  452. package/dist/vue/VoiceReplayTimeline.d.ts +17 -0
  453. package/dist/vue/VoiceRoutingStatus.d.ts +4 -0
  454. package/dist/vue/VoiceSessionObservability.d.ts +27 -0
  455. package/dist/vue/VoiceSessionSnapshot.d.ts +72 -0
  456. package/dist/vue/VoiceTurnLatency.d.ts +73 -0
  457. package/dist/vue/VoiceTurnQuality.d.ts +4 -0
  458. package/dist/vue/VoiceWidget.d.ts +77 -0
  459. package/dist/vue/index.d.ts +49 -15
  460. package/dist/vue/index.js +13097 -2219
  461. package/dist/vue/useVoiceAgentSquadStatus.d.ts +9 -0
  462. package/dist/vue/useVoiceCallDebugger.d.ts +10 -0
  463. package/dist/vue/useVoiceCampaignDialerProof.d.ts +11 -0
  464. package/dist/vue/useVoiceController.d.ts +10 -7
  465. package/dist/vue/useVoiceDeliveryRuntime.d.ts +13 -0
  466. package/dist/vue/useVoiceLiveOps.d.ts +9 -0
  467. package/dist/vue/useVoiceOpsActionCenter.d.ts +11 -0
  468. package/dist/vue/useVoiceOpsStatus.d.ts +9 -0
  469. package/dist/vue/useVoicePlatformCoverage.d.ts +9 -0
  470. package/dist/vue/useVoiceProfileComparison.d.ts +9 -0
  471. package/dist/vue/useVoiceProofTrends.d.ts +9 -0
  472. package/dist/vue/useVoiceProviderCapabilities.d.ts +3 -3
  473. package/dist/vue/useVoiceProviderContracts.d.ts +9 -0
  474. package/dist/vue/useVoiceProviderSimulationControls.d.ts +2 -2
  475. package/dist/vue/useVoiceProviderStatus.d.ts +3 -3
  476. package/dist/vue/useVoiceReadinessFailures.d.ts +959 -0
  477. package/dist/vue/useVoiceReconnectProfileEvidence.d.ts +9 -0
  478. package/dist/vue/useVoiceRoutingStatus.d.ts +2 -2
  479. package/dist/vue/useVoiceSessionObservability.d.ts +9 -0
  480. package/dist/vue/useVoiceSessionSnapshot.d.ts +10 -0
  481. package/dist/vue/useVoiceStream.d.ts +10 -6
  482. package/dist/vue/useVoiceTraceTimeline.d.ts +9 -0
  483. package/dist/vue/useVoiceTurnLatency.d.ts +10 -0
  484. package/dist/vue/useVoiceTurnQuality.d.ts +3 -3
  485. package/dist/vue/useVoiceWorkflowStatus.d.ts +3 -3
  486. package/package.json +247 -256
  487. package/dist/agent.d.ts +0 -115
  488. package/dist/angular/voice-app-kit-status.service.d.ts +0 -12
  489. package/dist/angular/voice-ops-status.component.d.ts +0 -15
  490. package/dist/appKit.d.ts +0 -94
  491. package/dist/client/appKitStatus.d.ts +0 -19
  492. package/dist/react/useVoiceAppKitStatus.d.ts +0 -8
  493. package/dist/svelte/createVoiceAppKitStatus.d.ts +0 -8
  494. package/dist/turnProfiles.d.ts +0 -6
  495. package/dist/types.d.ts +0 -968
  496. package/dist/vue/useVoiceAppKitStatus.d.ts +0 -9
  497. package/fixtures/README.md +0 -57
  498. package/fixtures/manifest.json +0 -199
  499. package/fixtures/pcm/dialogue-three-clean.pcm +0 -0
  500. package/fixtures/pcm/dialogue-three-mixed.pcm +0 -0
  501. package/fixtures/pcm/dialogue-two-clean.pcm +0 -0
  502. package/fixtures/pcm/dialogue-two-noisy.pcm +0 -0
  503. package/fixtures/pcm/multiturn-three-mixed.pcm +0 -0
  504. package/fixtures/pcm/multiturn-two-clean.pcm +0 -0
  505. package/fixtures/pcm/quietly-alone-clean.pcm +0 -0
  506. package/fixtures/pcm/rainstorms-noisy.pcm +0 -0
  507. package/fixtures/pcm/stella-bulgaria-bulgarian20.pcm +0 -0
  508. package/fixtures/pcm/stella-ghana-english507.pcm +0 -0
  509. package/fixtures/pcm/stella-india-english37.pcm +0 -0
  510. package/fixtures/pcm/stella-jamaica-jamaican-creole-english1.pcm +0 -0
  511. package/fixtures/pcm/stella-liberia-liberian-pidgin-english2.pcm +0 -0
  512. package/fixtures/pcm/stella-pakistan-english519.pcm +0 -0
  513. package/fixtures/pcm/stella-sierra-leone-krio5.pcm +0 -0
  514. package/fixtures/pcm/stella-singapore-english655.pcm +0 -0
  515. package/fixtures/pcm/traveled-back-route-clean.pcm +0 -0
@@ -1,7 +1,9 @@
1
- import type { VoiceTurnQualityReport } from '../turnQuality';
1
+ import type { VoiceTurnQualityReport } from "../core/turnQuality";
2
+ import { type VoiceReactiveSource } from "./reactiveSource";
2
3
  export type VoiceTurnQualityClientOptions = {
3
4
  fetch?: typeof fetch;
4
5
  intervalMs?: number;
6
+ reactiveSource?: VoiceReactiveSource;
5
7
  };
6
8
  export type VoiceTurnQualitySnapshot = {
7
9
  error: string | null;
@@ -9,11 +11,11 @@ export type VoiceTurnQualitySnapshot = {
9
11
  report?: VoiceTurnQualityReport;
10
12
  updatedAt?: number;
11
13
  };
12
- export declare const fetchVoiceTurnQuality: (path?: string, options?: Pick<VoiceTurnQualityClientOptions, "fetch">) => Promise<VoiceTurnQualityReport>;
13
14
  export declare const createVoiceTurnQualityStore: (path?: string, options?: VoiceTurnQualityClientOptions) => {
14
15
  close: () => void;
16
+ refresh: () => Promise<VoiceTurnQualityReport | undefined>;
15
17
  getServerSnapshot: () => VoiceTurnQualitySnapshot;
16
18
  getSnapshot: () => VoiceTurnQualitySnapshot;
17
- refresh: () => Promise<VoiceTurnQualityReport | undefined>;
18
19
  subscribe: (listener: () => void) => () => void;
19
20
  };
21
+ export declare const fetchVoiceTurnQuality: (path?: string, options?: Pick<VoiceTurnQualityClientOptions, "fetch">) => Promise<VoiceTurnQualityReport>;
@@ -1,5 +1,5 @@
1
- import type { VoiceTurnQualityItem } from '../turnQuality';
2
- import { type VoiceTurnQualityClientOptions, type VoiceTurnQualitySnapshot } from './turnQuality';
1
+ import type { VoiceTurnQualityItem } from "../core/turnQuality";
2
+ import { type VoiceTurnQualityClientOptions, type VoiceTurnQualitySnapshot } from "./turnQuality";
3
3
  export type VoiceTurnQualityCardView = VoiceTurnQualityItem & {
4
4
  detail: string;
5
5
  label: string;
@@ -13,7 +13,7 @@ export type VoiceTurnQualityViewModel = {
13
13
  error: string | null;
14
14
  isLoading: boolean;
15
15
  label: string;
16
- status: 'empty' | 'error' | 'loading' | 'ready' | 'warning';
16
+ status: "empty" | "error" | "loading" | "ready" | "warning";
17
17
  title: string;
18
18
  turns: VoiceTurnQualityCardView[];
19
19
  updatedAt?: number;
@@ -23,10 +23,10 @@ export type VoiceTurnQualityWidgetOptions = VoiceTurnQualityClientOptions & {
23
23
  title?: string;
24
24
  };
25
25
  export declare const createVoiceTurnQualityViewModel: (snapshot: VoiceTurnQualitySnapshot, options?: VoiceTurnQualityWidgetOptions) => VoiceTurnQualityViewModel;
26
- export declare const renderVoiceTurnQualityHTML: (snapshot: VoiceTurnQualitySnapshot, options?: VoiceTurnQualityWidgetOptions) => string;
26
+ export declare const defineVoiceTurnQualityElement: (tagName?: string) => void;
27
27
  export declare const getVoiceTurnQualityCSS: () => string;
28
28
  export declare const mountVoiceTurnQuality: (element: Element, path?: string, options?: VoiceTurnQualityWidgetOptions) => {
29
- close: () => void;
30
29
  refresh: () => Promise<import("..").VoiceTurnQualityReport | undefined>;
30
+ close: () => void;
31
31
  };
32
- export declare const defineVoiceTurnQualityElement: (tagName?: string) => void;
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>;
@@ -0,0 +1,251 @@
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
+ };
17
+ export type VoiceAgentMessage = {
18
+ attachments?: VoiceAgentMessageAttachment[];
19
+ content: string;
20
+ metadata?: Record<string, unknown>;
21
+ name?: string;
22
+ role: VoiceAgentMessageRole;
23
+ toolCallId?: string;
24
+ };
25
+ export type VoiceAgentToolCall<TArgs = Record<string, unknown>> = {
26
+ args: TArgs;
27
+ id?: string;
28
+ name: string;
29
+ };
30
+ export type VoiceAgentToolResult<TResult = unknown> = {
31
+ content?: string;
32
+ error?: string;
33
+ metadata?: Record<string, unknown>;
34
+ result?: TResult;
35
+ status: "error" | "ok";
36
+ toolCallId?: string;
37
+ toolName: string;
38
+ };
39
+ export type VoiceAgentToolPolicyDecision = {
40
+ allowed: boolean;
41
+ reason?: string;
42
+ };
43
+ export type VoiceAgentToolPolicy<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = (input: {
44
+ api: VoiceSessionHandle<TContext, TSession, TResult>;
45
+ assistantText?: string;
46
+ context: TContext;
47
+ messages: ReadonlyArray<VoiceAgentMessage>;
48
+ round: number;
49
+ session: TSession;
50
+ toolCall: VoiceAgentToolCall;
51
+ turn: VoiceTurnRecord;
52
+ }) => Promise<VoiceAgentToolPolicyDecision> | VoiceAgentToolPolicyDecision;
53
+ export type VoiceAgentTool<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TArgs = Record<string, unknown>, TToolResult = unknown, TRouteResult = unknown> = {
54
+ description?: string;
55
+ execute: (input: {
56
+ api: VoiceSessionHandle<TContext, TSession, TRouteResult>;
57
+ args: TArgs;
58
+ context: TContext;
59
+ session: TSession;
60
+ turn: VoiceTurnRecord;
61
+ }) => Promise<TToolResult> | TToolResult;
62
+ name: string;
63
+ parameters?: Record<string, unknown>;
64
+ /** Authorize a model-requested side effect before `execute` runs. Unlike
65
+ * post-turn guardrails, this policy sees the assistant text produced in the
66
+ * same model round and can prevent an unsafe tool from mutating call state.
67
+ * A blocked terminal tool still ends the conversational turn so the already
68
+ * streamed reply is not followed by a second model response. */
69
+ policy?: (input: {
70
+ api: VoiceSessionHandle<TContext, TSession, TRouteResult>;
71
+ args: TArgs;
72
+ assistantText?: string;
73
+ context: TContext;
74
+ messages: ReadonlyArray<VoiceAgentMessage>;
75
+ round: number;
76
+ session: TSession;
77
+ toolCall: VoiceAgentToolCall<TArgs>;
78
+ turn: VoiceTurnRecord;
79
+ }) => Promise<VoiceAgentToolPolicyDecision> | VoiceAgentToolPolicyDecision;
80
+ resultToMessage?: (result: TToolResult) => string;
81
+ /** End the turn after this tool runs — do NOT loop back to the model for
82
+ * another generation. Use for tools that wrap up the call (an app-defined
83
+ * end_call) where the closing line is already in the SAME response: without
84
+ * this the agent generates again off the tool result and the caller hears a
85
+ * SECOND closing. Built-in lifecycle tools (complete/transfer/…) are already
86
+ * terminal; this flag gives an app tool the same behavior. Default false. */
87
+ endsTurn?: boolean;
88
+ };
89
+ export type VoiceAgentModelInput<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord> = {
90
+ agentId: string;
91
+ context: TContext;
92
+ messages: VoiceAgentMessage[];
93
+ onTextDelta?: (delta: string) => void;
94
+ session: TSession;
95
+ system?: string;
96
+ signal?: AbortSignal;
97
+ tools: Array<{
98
+ description?: string;
99
+ name: string;
100
+ parameters?: Record<string, unknown>;
101
+ }>;
102
+ turn: VoiceTurnRecord;
103
+ };
104
+ export type VoiceAgentModelOutput<TResult = unknown> = VoiceRouteResult<TResult> & {
105
+ handoff?: {
106
+ metadata?: Record<string, unknown>;
107
+ reason?: string;
108
+ targetAgentId: string;
109
+ };
110
+ toolCalls?: VoiceAgentToolCall[];
111
+ };
112
+ export type VoiceAgentModel<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = {
113
+ generate: (input: VoiceAgentModelInput<TContext, TSession>) => Promise<VoiceAgentModelOutput<TResult>> | VoiceAgentModelOutput<TResult>;
114
+ };
115
+ export type VoiceAgentSquadHandoffStatus = "allowed" | "blocked" | "max-exceeded" | "unknown-target";
116
+ export type VoiceAgentSquadStateHandoff = {
117
+ at: number;
118
+ fromAgentId: string;
119
+ metadata?: Record<string, unknown>;
120
+ originalTargetAgentId?: string;
121
+ reason?: string;
122
+ status: VoiceAgentSquadHandoffStatus;
123
+ summary?: string;
124
+ targetAgentId: string;
125
+ turnId: string;
126
+ };
127
+ export type VoiceAgentSquadState = {
128
+ agentId: string;
129
+ handoffCount: number;
130
+ handoffs: VoiceAgentSquadStateHandoff[];
131
+ lastHandoff?: VoiceAgentSquadStateHandoff;
132
+ previousAgentId?: string;
133
+ };
134
+ export type VoiceAgentRunResult<TResult = unknown> = VoiceRouteResult<TResult> & {
135
+ agentId: string;
136
+ handoff?: VoiceAgentModelOutput<TResult>["handoff"];
137
+ messages: VoiceAgentMessage[];
138
+ squad?: VoiceAgentSquadState;
139
+ toolResults: VoiceAgentToolResult[];
140
+ };
141
+ export type VoiceAgentSquadHandoffPolicyResult<TResult = unknown> = {
142
+ allow?: boolean;
143
+ escalate?: VoiceRouteResult<TResult>["escalate"];
144
+ metadata?: Record<string, unknown>;
145
+ reason?: string;
146
+ summary?: string;
147
+ targetAgentId?: string;
148
+ };
149
+ export type VoiceAgentSquadContextPolicyResult = {
150
+ messages?: VoiceAgentMessage[];
151
+ metadata?: Record<string, unknown>;
152
+ system?: string;
153
+ };
154
+ export type VoiceAgent<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = {
155
+ id: string;
156
+ onTurn: VoiceOnTurnObjectHandler<TContext, TSession, TResult>;
157
+ run: (input: {
158
+ api: VoiceSessionHandle<TContext, TSession, TResult>;
159
+ context: TContext;
160
+ messages?: VoiceAgentMessage[];
161
+ onTextDelta?: (delta: string) => void;
162
+ session: TSession;
163
+ system?: string;
164
+ turn: VoiceTurnRecord;
165
+ }) => Promise<VoiceAgentRunResult<TResult>>;
166
+ /**
167
+ * Speculative, side-effect-free generation for eager replies (P3). Runs a
168
+ * SINGLE model round and returns the text the model would say — but executes
169
+ * NOTHING: no tools, no streaming to TTS, no traces, no commit. Returns null
170
+ * if the model wants any tool (the real turn must run so tools fire exactly
171
+ * once) or on any error. Optional — agents that don't implement it simply
172
+ * can't be speculated against. Honors no abort itself; the caller discards
173
+ * the result if the user resumes.
174
+ */
175
+ runSpeculative?: (input: {
176
+ api: VoiceSessionHandle<TContext, TSession, TResult>;
177
+ context: TContext;
178
+ messages?: VoiceAgentMessage[];
179
+ session: TSession;
180
+ system?: string;
181
+ turn: VoiceTurnRecord;
182
+ signal?: AbortSignal;
183
+ }) => Promise<{
184
+ text: string;
185
+ } | null>;
186
+ };
187
+ export type VoiceAgentOptions<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = {
188
+ audit?: VoiceAuditEventStore | VoiceAuditLogger;
189
+ auditModel?: string;
190
+ auditProvider?: string;
191
+ id: string;
192
+ maxToolRounds?: number;
193
+ model: VoiceAgentModel<TContext, TSession, TResult>;
194
+ system?: string | ((input: {
195
+ context: TContext;
196
+ session: TSession;
197
+ turn: VoiceTurnRecord;
198
+ }) => Promise<string | undefined> | string | undefined);
199
+ trace?: VoiceTraceEventStore;
200
+ /** Authorize every model-requested tool before dispatch, including built-in
201
+ * lifecycle tools such as `complete` and `transfer_call`. */
202
+ toolPolicy?: VoiceAgentToolPolicy<TContext, TSession, TResult>;
203
+ toolRuntime?: VoiceToolRuntime<TContext, TSession, TResult>;
204
+ tools?: Array<VoiceAgentTool<TContext, TSession, Record<string, unknown>, unknown, TResult>>;
205
+ };
206
+ export type VoiceAgentSquadOptions<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = {
207
+ audit?: VoiceAuditEventStore | VoiceAuditLogger;
208
+ agents: Array<VoiceAgent<TContext, TSession, TResult>>;
209
+ defaultAgentId: string;
210
+ handoffPolicy?: (input: {
211
+ context: TContext;
212
+ fromAgentId: string;
213
+ handoff: NonNullable<VoiceAgentModelOutput<TResult>["handoff"]>;
214
+ messages: VoiceAgentMessage[];
215
+ session: TSession;
216
+ targetAgent?: VoiceAgent<TContext, TSession, TResult>;
217
+ turn: VoiceTurnRecord;
218
+ }) => Promise<VoiceAgentSquadHandoffPolicyResult<TResult> | void> | VoiceAgentSquadHandoffPolicyResult<TResult> | void;
219
+ contextPolicy?: (input: {
220
+ context: TContext;
221
+ fromAgentId: string;
222
+ handoff: VoiceAgentSquadStateHandoff;
223
+ messages: VoiceAgentMessage[];
224
+ session: TSession;
225
+ summaryMessage: VoiceAgentMessage;
226
+ targetAgent: VoiceAgent<TContext, TSession, TResult>;
227
+ turn: VoiceTurnRecord;
228
+ }) => Promise<VoiceAgentSquadContextPolicyResult | void> | VoiceAgentSquadContextPolicyResult | void;
229
+ id: string;
230
+ maxHandoffsPerTurn?: number;
231
+ onHandoff?: (input: {
232
+ context: TContext;
233
+ fromAgentId: string;
234
+ metadata?: Record<string, unknown>;
235
+ reason?: string;
236
+ session: TSession;
237
+ summary?: string;
238
+ targetAgentId: string;
239
+ turn: VoiceTurnRecord;
240
+ }) => Promise<void> | void;
241
+ trace?: VoiceTraceEventStore;
242
+ selectAgent?: (input: {
243
+ context: TContext;
244
+ session: TSession;
245
+ turn: VoiceTurnRecord;
246
+ }) => Promise<string | undefined> | string | undefined;
247
+ };
248
+ export declare const createVoiceAgent: <TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown>(options: VoiceAgentOptions<TContext, TSession, TResult>) => VoiceAgent<TContext, TSession, TResult>;
249
+ export declare const createVoiceAgentSquad: <TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown>(options: VoiceAgentSquadOptions<TContext, TSession, TResult>) => VoiceAgent<TContext, TSession, TResult>;
250
+ 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>;
251
+ 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>>;