@absolutejs/voice 0.0.22-beta.55 → 0.0.22-beta.550

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 (495) hide show
  1. package/README.md +4528 -1070
  2. package/dist/angular/index.d.ts +36 -5
  3. package/dist/angular/index.js +4189 -390
  4. package/dist/angular/voice-agent-squad-status.service.d.ts +12 -0
  5. package/dist/angular/voice-call-debugger.service.d.ts +12 -0
  6. package/dist/angular/voice-call-player.service.d.ts +19 -0
  7. package/dist/angular/voice-campaign-dialer-proof.service.d.ts +14 -0
  8. package/dist/angular/voice-controller.service.d.ts +3 -1
  9. package/dist/angular/voice-cost-dashboard.service.d.ts +15 -0
  10. package/dist/angular/voice-delivery-runtime.service.d.ts +16 -0
  11. package/dist/angular/voice-live-agent-console.service.d.ts +16 -0
  12. package/dist/angular/voice-live-call-viewer.service.d.ts +16 -0
  13. package/dist/angular/voice-live-ops.service.d.ts +11 -0
  14. package/dist/angular/voice-ops-action-center.service.d.ts +13 -0
  15. package/dist/angular/voice-ops-status.service.d.ts +12 -0
  16. package/dist/angular/voice-platform-coverage.service.d.ts +12 -0
  17. package/dist/angular/voice-profile-comparison.service.d.ts +12 -0
  18. package/dist/angular/voice-proof-trends.service.d.ts +12 -0
  19. package/dist/angular/voice-provider-capabilities.service.d.ts +12 -0
  20. package/dist/angular/voice-provider-contracts.service.d.ts +12 -0
  21. package/dist/angular/voice-provider-status.service.d.ts +2 -2
  22. package/dist/angular/voice-readiness-failures.service.d.ts +13 -0
  23. package/dist/angular/voice-reconnect-profile-evidence.service.d.ts +12 -0
  24. package/dist/angular/voice-replay-timeline.service.d.ts +13 -0
  25. package/dist/angular/voice-routing-status.service.d.ts +11 -0
  26. package/dist/angular/voice-session-observability.service.d.ts +12 -0
  27. package/dist/angular/voice-session-snapshot.service.d.ts +13 -0
  28. package/dist/angular/voice-stream.service.d.ts +4 -1
  29. package/dist/angular/voice-trace-timeline.service.d.ts +12 -0
  30. package/dist/angular/voice-turn-latency.service.d.ts +13 -0
  31. package/dist/angular/voice-turn-quality.service.d.ts +12 -0
  32. package/dist/angular/voice-widget.service.d.ts +18 -0
  33. package/dist/angular/voice-workflow-status.service.d.ts +2 -2
  34. package/dist/client/actions.d.ts +95 -1
  35. package/dist/client/agentSquadStatus.d.ts +37 -0
  36. package/dist/client/agentSquadStatusWidget.d.ts +24 -0
  37. package/dist/client/audioPlayer.d.ts +2 -2
  38. package/dist/client/bargeInMonitor.d.ts +7 -0
  39. package/dist/client/browserMedia.d.ts +8 -0
  40. package/dist/client/browserNoiseSuppression.d.ts +42 -0
  41. package/dist/client/browserVoiceSupport.d.ts +22 -0
  42. package/dist/client/callDebugger.d.ts +21 -0
  43. package/dist/client/callDebuggerWidget.d.ts +30 -0
  44. package/dist/client/callPlayer.d.ts +41 -0
  45. package/dist/client/campaignDialerProof.d.ts +25 -0
  46. package/dist/client/connection.d.ts +4 -3
  47. package/dist/client/controller.d.ts +1 -1
  48. package/dist/client/conversationAnalytics.d.ts +30 -0
  49. package/dist/client/costDashboard.d.ts +27 -0
  50. package/dist/client/createVoiceStream.d.ts +1 -1
  51. package/dist/client/deliveryRuntime.d.ts +36 -0
  52. package/dist/client/deliveryRuntimeWidget.d.ts +37 -0
  53. package/dist/client/duplex.d.ts +2 -2
  54. package/dist/client/htmx.d.ts +1 -1
  55. package/dist/client/htmxAttributes.d.ts +24 -0
  56. package/dist/client/htmxBootstrap.js +1029 -73
  57. package/dist/client/htmxDashboardRenderers.d.ts +71 -0
  58. package/dist/client/index.d.ts +106 -15
  59. package/dist/client/index.js +10520 -279
  60. package/dist/client/liveAgentConsole.d.ts +28 -0
  61. package/dist/client/liveCallViewer.d.ts +42 -0
  62. package/dist/client/liveOps.d.ts +22 -0
  63. package/dist/client/liveOpsWidget.d.ts +23 -0
  64. package/dist/client/liveTurnLatency.d.ts +41 -0
  65. package/dist/client/microphone.d.ts +4 -4
  66. package/dist/client/opsActionCenter.d.ts +56 -0
  67. package/dist/client/opsActionCenterWidget.d.ts +29 -0
  68. package/dist/client/opsActionHistory.d.ts +21 -0
  69. package/dist/client/opsActionHistoryWidget.d.ts +11 -0
  70. package/dist/client/opsStatus.d.ts +21 -0
  71. package/dist/client/opsStatusWidget.d.ts +10 -10
  72. package/dist/client/platformCoverage.d.ts +21 -0
  73. package/dist/client/platformCoverageWidget.d.ts +38 -0
  74. package/dist/client/profileComparison.d.ts +21 -0
  75. package/dist/client/profileComparisonWidget.d.ts +41 -0
  76. package/dist/client/profileSwitchRecommendation.d.ts +21 -0
  77. package/dist/client/profileSwitchRecommendationWidget.d.ts +12 -0
  78. package/dist/client/proofTrends.d.ts +21 -0
  79. package/dist/client/proofTrendsWidget.d.ts +38 -0
  80. package/dist/client/providerCapabilities.d.ts +21 -0
  81. package/dist/client/providerCapabilitiesWidget.d.ts +32 -0
  82. package/dist/client/providerContracts.d.ts +21 -0
  83. package/dist/client/providerContractsWidget.d.ts +37 -0
  84. package/dist/client/providerSimulationControls.d.ts +33 -0
  85. package/dist/client/providerSimulationControlsWidget.d.ts +20 -0
  86. package/dist/client/providerStatus.d.ts +5 -3
  87. package/dist/client/providerStatusWidget.d.ts +32 -0
  88. package/dist/client/reactiveSource.d.ts +8 -0
  89. package/dist/client/readinessFailures.d.ts +21 -0
  90. package/dist/client/readinessFailuresWidget.d.ts +42 -0
  91. package/dist/client/reconnectProfileEvidence.d.ts +21 -0
  92. package/dist/client/reconnectProfileEvidenceWidget.d.ts +39 -0
  93. package/dist/client/replayTimeline.d.ts +26 -0
  94. package/dist/client/routingStatus.d.ts +21 -0
  95. package/dist/client/routingStatusWidget.d.ts +32 -0
  96. package/dist/client/sessionObservability.d.ts +21 -0
  97. package/dist/client/sessionObservabilityWidget.d.ts +31 -0
  98. package/dist/client/sessionSnapshot.d.ts +23 -0
  99. package/dist/client/sessionSnapshotWidget.d.ts +33 -0
  100. package/dist/client/store.d.ts +1 -1
  101. package/dist/client/traceTimeline.d.ts +21 -0
  102. package/dist/client/traceTimelineWidget.d.ts +36 -0
  103. package/dist/client/turnLatency.d.ts +24 -0
  104. package/dist/client/turnLatencyWidget.d.ts +33 -0
  105. package/dist/client/turnQuality.d.ts +21 -0
  106. package/dist/client/turnQualityWidget.d.ts +32 -0
  107. package/dist/client/voiceWidgetView.d.ts +48 -0
  108. package/dist/client/workflowStatus.d.ts +5 -3
  109. package/dist/{agent.d.ts → core/agent.d.ts} +83 -6
  110. package/dist/core/agentPerformanceReport.d.ts +40 -0
  111. package/dist/core/agentSquadContract.d.ts +98 -0
  112. package/dist/core/agentState.d.ts +12 -0
  113. package/dist/core/agentTools.d.ts +132 -0
  114. package/dist/core/aiScorecard.d.ts +32 -0
  115. package/dist/core/aiVoiceModel.d.ts +15 -0
  116. package/dist/core/amdDetector.d.ts +25 -0
  117. package/dist/{assistant.d.ts → core/assistant.d.ts} +14 -14
  118. package/dist/core/assistantExperiment.d.ts +42 -0
  119. package/dist/{assistantHealth.d.ts → core/assistantHealth.d.ts} +9 -9
  120. package/dist/{assistantMemory.d.ts → core/assistantMemory.d.ts} +10 -10
  121. package/dist/core/assistantMode.d.ts +22 -0
  122. package/dist/{audioConditioning.d.ts → core/audioConditioning.d.ts} +2 -2
  123. package/dist/core/audit.d.ts +131 -0
  124. package/dist/core/auditDeliveryRoutes.d.ts +85 -0
  125. package/dist/core/auditExport.d.ts +34 -0
  126. package/dist/core/auditRoutes.d.ts +66 -0
  127. package/dist/core/auditSinks.d.ts +151 -0
  128. package/dist/core/backchannel.d.ts +18 -0
  129. package/dist/core/bargeInRoutes.d.ts +56 -0
  130. package/dist/core/bookingFlow.d.ts +43 -0
  131. package/dist/core/browserCallProfiles.d.ts +120 -0
  132. package/dist/core/browserMediaRoutes.d.ts +62 -0
  133. package/dist/core/cachedTTS.d.ts +30 -0
  134. package/dist/core/calendarAdapter.d.ts +47 -0
  135. package/dist/core/calendarSlots.d.ts +35 -0
  136. package/dist/core/callDebugger.d.ts +66 -0
  137. package/dist/core/callDisposition.d.ts +38 -0
  138. package/dist/core/callQuota.d.ts +54 -0
  139. package/dist/core/callScorecard.d.ts +53 -0
  140. package/dist/core/callerCRMLinker.d.ts +29 -0
  141. package/dist/core/callerMemory.d.ts +37 -0
  142. package/dist/core/callingWindow.d.ts +26 -0
  143. package/dist/core/campaign.d.ts +795 -0
  144. package/dist/core/campaignControls.d.ts +37 -0
  145. package/dist/core/campaignDialers.d.ts +111 -0
  146. package/dist/core/campaignTemplate.d.ts +16 -0
  147. package/dist/core/competitiveCoverage.d.ts +141 -0
  148. package/dist/core/conversationSimulator.d.ts +73 -0
  149. package/dist/{correction.d.ts → core/correction.d.ts} +5 -4
  150. package/dist/core/costAccounting.d.ts +76 -0
  151. package/dist/core/costPredictor.d.ts +74 -0
  152. package/dist/core/crmCallLogger.d.ts +37 -0
  153. package/dist/core/crmContract.d.ts +70 -0
  154. package/dist/core/dataControl.d.ts +180 -0
  155. package/dist/core/defineVoiceAssistant.d.ts +68 -0
  156. package/dist/core/deliveryRuntime.d.ts +159 -0
  157. package/dist/core/deliverySinkRoutes.d.ts +117 -0
  158. package/dist/core/demoReadyRoutes.d.ts +98 -0
  159. package/dist/{diagnosticsRoutes.d.ts → core/diagnosticsRoutes.d.ts} +2 -2
  160. package/dist/core/dncRegistry.d.ts +38 -0
  161. package/dist/core/dtmfCollector.d.ts +37 -0
  162. package/dist/{evalRoutes.d.ts → core/evalRoutes.d.ts} +26 -20
  163. package/dist/{fileStore.d.ts → core/fileStore.d.ts} +34 -20
  164. package/dist/core/guardrails.d.ts +128 -0
  165. package/dist/{handoff.d.ts → core/handoff.d.ts} +10 -10
  166. package/dist/{handoffHealth.d.ts → core/handoffHealth.d.ts} +9 -9
  167. package/dist/core/holdAudio.d.ts +23 -0
  168. package/dist/{htmx.d.ts → core/htmx.d.ts} +2 -2
  169. package/dist/core/htmxDashboardRoutes.d.ts +250 -0
  170. package/dist/core/iceServers.d.ts +34 -0
  171. package/dist/core/incidentBundle.d.ts +119 -0
  172. package/dist/core/incidentTimeline.d.ts +260 -0
  173. package/dist/core/ivrPlan.d.ts +40 -0
  174. package/dist/core/latencySlo.d.ts +56 -0
  175. package/dist/core/liveCoach.d.ts +43 -0
  176. package/dist/core/liveLatency.d.ts +78 -0
  177. package/dist/core/liveOps.d.ts +190 -0
  178. package/dist/core/llmJudge.d.ts +45 -0
  179. package/dist/{logger.d.ts → core/logger.d.ts} +1 -2
  180. package/dist/core/mcpToolset.d.ts +58 -0
  181. package/dist/core/mediaPipelineRoutes.d.ts +171 -0
  182. package/dist/core/mediaPipelineSurfaces.d.ts +48 -0
  183. package/dist/{memoryStore.d.ts → core/memoryStore.d.ts} +1 -1
  184. package/dist/core/midCallSummary.d.ts +27 -0
  185. package/dist/{modelAdapters.d.ts → core/modelAdapters.d.ts} +59 -7
  186. package/dist/core/monitor.d.ts +148 -0
  187. package/dist/core/multilingualProof.d.ts +77 -0
  188. package/dist/core/noShowPredictor.d.ts +46 -0
  189. package/dist/core/oauth2TokenSource.d.ts +21 -0
  190. package/dist/core/observabilityExport.d.ts +501 -0
  191. package/dist/core/openaiTTS.d.ts +18 -0
  192. package/dist/core/operationalStatus.d.ts +87 -0
  193. package/dist/core/operationsRecord.d.ts +371 -0
  194. package/dist/{ops.d.ts → core/ops.d.ts} +70 -70
  195. package/dist/core/opsActionAuditRoutes.d.ts +99 -0
  196. package/dist/{opsConsoleRoutes.d.ts → core/opsConsoleRoutes.d.ts} +11 -8
  197. package/dist/{opsPresets.d.ts → core/opsPresets.d.ts} +2 -2
  198. package/dist/core/opsRecovery.d.ts +137 -0
  199. package/dist/{opsRuntime.d.ts → core/opsRuntime.d.ts} +6 -6
  200. package/dist/{opsSinks.d.ts → core/opsSinks.d.ts} +19 -19
  201. package/dist/core/opsStatus.d.ts +76 -0
  202. package/dist/core/opsStatusRoutes.d.ts +33 -0
  203. package/dist/{opsWebhook.d.ts → core/opsWebhook.d.ts} +15 -15
  204. package/dist/core/otelExporter.d.ts +83 -0
  205. package/dist/core/outcomeContract.d.ts +146 -0
  206. package/dist/{outcomeRecipes.d.ts → core/outcomeRecipes.d.ts} +4 -4
  207. package/dist/core/pathway.d.ts +94 -0
  208. package/dist/core/pathwayCompiler.d.ts +31 -0
  209. package/dist/core/pathwayGenerator.d.ts +27 -0
  210. package/dist/core/pathwayRuntime.d.ts +57 -0
  211. package/dist/core/pathwaySlotCollector.d.ts +29 -0
  212. package/dist/core/pathwayVisualizer.d.ts +8 -0
  213. package/dist/core/phoneAgent.d.ts +139 -0
  214. package/dist/core/phoneAgentProductionSmoke.d.ts +115 -0
  215. package/dist/core/phoneProvisioning.d.ts +29 -0
  216. package/dist/core/platformCoverage.d.ts +91 -0
  217. package/dist/{plugin.d.ts → core/plugin.d.ts} +2 -2
  218. package/dist/core/postCallAnalysis.d.ts +98 -0
  219. package/dist/core/postCallSurvey.d.ts +41 -0
  220. package/dist/{postgresStore.d.ts → core/postgresStore.d.ts} +20 -9
  221. package/dist/{presets.d.ts → core/presets.d.ts} +3 -3
  222. package/dist/core/productionReadiness.d.ts +757 -0
  223. package/dist/core/profileSwitchRecommendation.d.ts +350 -0
  224. package/dist/core/promptInjectionGuard.d.ts +30 -0
  225. package/dist/core/proofAssertions.d.ts +32 -0
  226. package/dist/core/proofPack.d.ts +211 -0
  227. package/dist/core/proofRunner.d.ts +79 -0
  228. package/dist/core/proofTrends.d.ts +966 -0
  229. package/dist/{providerAdapters.d.ts → core/providerAdapters.d.ts} +16 -5
  230. package/dist/core/providerCapabilities.d.ts +92 -0
  231. package/dist/core/providerDecisionTraces.d.ts +130 -0
  232. package/dist/{providerHealth.d.ts → core/providerHealth.d.ts} +15 -5
  233. package/dist/core/providerOrchestration.d.ts +109 -0
  234. package/dist/core/providerRouterTraces.d.ts +35 -0
  235. package/dist/core/providerRoutingContract.d.ts +71 -0
  236. package/dist/core/providerSlo.d.ts +142 -0
  237. package/dist/core/providerStackRecommendations.d.ts +188 -0
  238. package/dist/core/qualityDriftDetector.d.ts +44 -0
  239. package/dist/{qualityRoutes.d.ts → core/qualityRoutes.d.ts} +7 -7
  240. package/dist/{queue.d.ts → core/queue.d.ts} +48 -39
  241. package/dist/core/ragTool.d.ts +52 -0
  242. package/dist/core/readinessProfiles.d.ts +45 -0
  243. package/dist/core/realtimeChannel.d.ts +136 -0
  244. package/dist/core/realtimeProviderContracts.d.ts +133 -0
  245. package/dist/core/reconnectContract.d.ts +177 -0
  246. package/dist/core/recordingRedaction.d.ts +47 -0
  247. package/dist/core/recordingStore.d.ts +60 -0
  248. package/dist/core/redaction.d.ts +13 -0
  249. package/dist/core/reminderScheduler.d.ts +43 -0
  250. package/dist/{resilienceRoutes.d.ts → core/resilienceRoutes.d.ts} +45 -5
  251. package/dist/core/retention.d.ts +37 -0
  252. package/dist/core/retryPolicy.d.ts +38 -0
  253. package/dist/core/routeAuth.d.ts +58 -0
  254. package/dist/{routing.d.ts → core/routing.d.ts} +2 -2
  255. package/dist/{runtimeOps.d.ts → core/runtimeOps.d.ts} +3 -3
  256. package/dist/{s3Store.d.ts → core/s3Store.d.ts} +12 -3
  257. package/dist/core/scorecardCalibration.d.ts +31 -0
  258. package/dist/core/scribe.d.ts +50 -0
  259. package/dist/core/semanticTurn.d.ts +27 -0
  260. package/dist/{session.d.ts → core/session.d.ts} +1 -1
  261. package/dist/core/sessionObservability.d.ts +145 -0
  262. package/dist/{sessionReplay.d.ts → core/sessionReplay.d.ts} +31 -19
  263. package/dist/core/sessionSnapshot.d.ts +109 -0
  264. package/dist/core/simulationSuite.d.ts +144 -0
  265. package/dist/core/sloCalibration.d.ts +185 -0
  266. package/dist/{sqliteStore.d.ts → core/sqliteStore.d.ts} +20 -9
  267. package/dist/{store.d.ts → core/store.d.ts} +1 -1
  268. package/dist/core/supervisorPermissions.d.ts +33 -0
  269. package/dist/core/supervisorPresence.d.ts +49 -0
  270. package/dist/core/telephonyMediaRoutes.d.ts +72 -0
  271. package/dist/core/telephonyOutcome.d.ts +269 -0
  272. package/dist/core/toolContract.d.ts +161 -0
  273. package/dist/core/toolRuntime.d.ts +50 -0
  274. package/dist/{trace.d.ts → core/trace.d.ts} +61 -22
  275. package/dist/core/traceDeliveryRoutes.d.ts +86 -0
  276. package/dist/core/traceTimeline.d.ts +97 -0
  277. package/dist/core/transcriptAnnotator.d.ts +41 -0
  278. package/dist/{turnDetection.d.ts → core/turnDetection.d.ts} +1 -1
  279. package/dist/core/turnLatency.d.ts +95 -0
  280. package/dist/core/turnProfiles.d.ts +3 -0
  281. package/dist/core/turnQuality.d.ts +94 -0
  282. package/dist/{types.d.ts → core/types.d.ts} +428 -81
  283. package/dist/core/vapiAdapter.d.ts +160 -0
  284. package/dist/core/variableAnalytics.d.ts +47 -0
  285. package/dist/core/voiceConfiguration.d.ts +8 -0
  286. package/dist/core/voiceMonitoring.d.ts +444 -0
  287. package/dist/core/webhookFanout.d.ts +48 -0
  288. package/dist/core/webhookVerification.d.ts +27 -0
  289. package/dist/core/whisperChannel.d.ts +50 -0
  290. package/dist/{workflowContract.d.ts → core/workflowContract.d.ts} +21 -21
  291. package/dist/core/zeroDataRetention.d.ts +31 -0
  292. package/dist/drizzle/assistantMemory.d.ts +112 -0
  293. package/dist/drizzle/eval.d.ts +61 -0
  294. package/dist/drizzle/handoff.d.ts +62 -0
  295. package/dist/drizzle/incidentBundle.d.ts +61 -0
  296. package/dist/drizzle/index.d.ts +1105 -0
  297. package/dist/drizzle/index.js +3059 -0
  298. package/dist/drizzle/observabilityExport.d.ts +61 -0
  299. package/dist/drizzle/proofTrends.d.ts +126 -0
  300. package/dist/drizzle/runtimeStorage.d.ts +1315 -0
  301. package/dist/drizzle/shared.d.ts +76 -0
  302. package/dist/embed/index.d.ts +38 -0
  303. package/dist/embed/index.js +1710 -0
  304. package/dist/embed/voice-widget.js +10 -0
  305. package/dist/index.d.ts +373 -74
  306. package/dist/index.js +45954 -7234
  307. package/dist/internal/evidence.d.ts +10 -0
  308. package/dist/internal/html.d.ts +6 -0
  309. package/dist/internal/status.d.ts +7 -0
  310. package/dist/react/VoiceAgentSquadStatus.d.ts +5 -0
  311. package/dist/react/VoiceCallDebuggerLaunch.d.ts +6 -0
  312. package/dist/react/VoiceCallPlayer.d.ts +11 -0
  313. package/dist/react/VoiceCostDashboard.d.ts +10 -0
  314. package/dist/react/VoiceDeliveryRuntime.d.ts +7 -0
  315. package/dist/react/VoiceLiveAgentConsole.d.ts +11 -0
  316. package/dist/react/VoiceLiveCallViewer.d.ts +9 -0
  317. package/dist/react/VoiceOpsActionCenter.d.ts +5 -0
  318. package/dist/react/VoiceOpsStatus.d.ts +1 -1
  319. package/dist/react/VoicePlatformCoverage.d.ts +6 -0
  320. package/dist/react/VoiceProfileComparison.d.ts +6 -0
  321. package/dist/react/VoiceProfileSwitchRecommendation.d.ts +6 -0
  322. package/dist/react/VoiceProofTrends.d.ts +6 -0
  323. package/dist/react/VoiceProviderCapabilities.d.ts +6 -0
  324. package/dist/react/VoiceProviderContracts.d.ts +6 -0
  325. package/dist/react/VoiceProviderSimulationControls.d.ts +5 -0
  326. package/dist/react/VoiceProviderStatus.d.ts +6 -0
  327. package/dist/react/VoiceReadinessFailures.d.ts +6 -0
  328. package/dist/react/VoiceReconnectProfileEvidence.d.ts +6 -0
  329. package/dist/react/VoiceReplayTimeline.d.ts +6 -0
  330. package/dist/react/VoiceRoutingStatus.d.ts +6 -0
  331. package/dist/react/VoiceSessionObservability.d.ts +6 -0
  332. package/dist/react/VoiceSessionSnapshot.d.ts +6 -0
  333. package/dist/react/VoiceTraceTimeline.d.ts +6 -0
  334. package/dist/react/VoiceTurnLatency.d.ts +6 -0
  335. package/dist/react/VoiceTurnQuality.d.ts +6 -0
  336. package/dist/react/VoiceWidget.d.ts +13 -0
  337. package/dist/react/index.d.ts +80 -6
  338. package/dist/react/index.js +12925 -319
  339. package/dist/react/useVoiceAgentSquadStatus.d.ts +8 -0
  340. package/dist/react/useVoiceCallDebugger.d.ts +8 -0
  341. package/dist/react/useVoiceCampaignDialerProof.d.ts +10 -0
  342. package/dist/react/useVoiceController.d.ts +4 -1
  343. package/dist/react/useVoiceDeliveryRuntime.d.ts +13 -0
  344. package/dist/react/useVoiceLiveOps.d.ts +9 -0
  345. package/dist/react/useVoiceOpsActionCenter.d.ts +11 -0
  346. package/dist/react/useVoiceOpsStatus.d.ts +8 -0
  347. package/dist/react/useVoicePlatformCoverage.d.ts +8 -0
  348. package/dist/react/useVoiceProfileComparison.d.ts +8 -0
  349. package/dist/react/useVoiceProfileSwitchRecommendation.d.ts +8 -0
  350. package/dist/react/useVoiceProofTrends.d.ts +8 -0
  351. package/dist/react/useVoiceProviderCapabilities.d.ts +8 -0
  352. package/dist/react/useVoiceProviderContracts.d.ts +8 -0
  353. package/dist/react/useVoiceProviderSimulationControls.d.ts +10 -0
  354. package/dist/react/useVoiceProviderStatus.d.ts +1 -1
  355. package/dist/react/useVoiceReadinessFailures.d.ts +8 -0
  356. package/dist/react/useVoiceReconnectProfileEvidence.d.ts +8 -0
  357. package/dist/react/useVoiceRoutingStatus.d.ts +8 -0
  358. package/dist/react/useVoiceSessionObservability.d.ts +8 -0
  359. package/dist/react/useVoiceSessionSnapshot.d.ts +9 -0
  360. package/dist/react/useVoiceStream.d.ts +4 -1
  361. package/dist/react/useVoiceTraceTimeline.d.ts +8 -0
  362. package/dist/react/useVoiceTurnLatency.d.ts +9 -0
  363. package/dist/react/useVoiceTurnQuality.d.ts +8 -0
  364. package/dist/react/useVoiceWorkflowStatus.d.ts +1 -1
  365. package/dist/svelte/createVoiceAgentSquadStatus.d.ts +9 -0
  366. package/dist/svelte/createVoiceCallDebugger.d.ts +10 -0
  367. package/dist/svelte/createVoiceCallPlayer.d.ts +33 -0
  368. package/dist/svelte/createVoiceCampaignDialerProof.d.ts +9 -0
  369. package/dist/svelte/createVoiceCostDashboard.d.ts +13 -0
  370. package/dist/svelte/createVoiceDeliveryRuntime.d.ts +11 -0
  371. package/dist/svelte/createVoiceLiveAgentConsole.d.ts +23 -0
  372. package/dist/svelte/createVoiceLiveCallViewer.d.ts +26 -0
  373. package/dist/svelte/createVoiceLiveOps.d.ts +13 -0
  374. package/dist/svelte/createVoiceOpsActionCenter.d.ts +10 -0
  375. package/dist/svelte/createVoiceOpsStatus.d.ts +4 -4
  376. package/dist/svelte/createVoicePlatformCoverage.d.ts +7 -0
  377. package/dist/svelte/createVoiceProfileComparison.d.ts +7 -0
  378. package/dist/svelte/createVoiceProofTrends.d.ts +7 -0
  379. package/dist/svelte/createVoiceProviderCapabilities.d.ts +10 -0
  380. package/dist/svelte/createVoiceProviderContracts.d.ts +10 -0
  381. package/dist/svelte/createVoiceProviderSimulationControls.d.ts +11 -0
  382. package/dist/svelte/createVoiceProviderStatus.d.ts +5 -3
  383. package/dist/svelte/createVoiceReadinessFailures.d.ts +7 -0
  384. package/dist/svelte/createVoiceReconnectProfileEvidence.d.ts +7 -0
  385. package/dist/svelte/createVoiceReplayTimeline.d.ts +13 -0
  386. package/dist/svelte/createVoiceRoutingStatus.d.ts +10 -0
  387. package/dist/svelte/createVoiceSessionObservability.d.ts +10 -0
  388. package/dist/svelte/createVoiceSessionSnapshot.d.ts +11 -0
  389. package/dist/svelte/createVoiceStream.d.ts +1 -1
  390. package/dist/svelte/createVoiceTraceTimeline.d.ts +10 -0
  391. package/dist/svelte/createVoiceTurnLatency.d.ts +11 -0
  392. package/dist/svelte/createVoiceTurnQuality.d.ts +10 -0
  393. package/dist/svelte/createVoiceWidget.d.ts +19 -0
  394. package/dist/svelte/createVoiceWorkflowStatus.d.ts +2 -2
  395. package/dist/svelte/index.d.ts +37 -6
  396. package/dist/svelte/index.js +7067 -768
  397. package/dist/telephony/contract.d.ts +61 -0
  398. package/dist/telephony/matrix.d.ts +97 -0
  399. package/dist/telephony/plivo.d.ts +303 -0
  400. package/dist/telephony/response.d.ts +1 -1
  401. package/dist/telephony/security.d.ts +182 -0
  402. package/dist/telephony/telnyx.d.ts +291 -0
  403. package/dist/telephony/twilio.d.ts +165 -15
  404. package/dist/testing/accuracy.d.ts +1 -1
  405. package/dist/testing/benchmark.d.ts +15 -15
  406. package/dist/testing/corrected.d.ts +9 -9
  407. package/dist/testing/duplex.d.ts +5 -5
  408. package/dist/testing/fixtures.d.ts +4 -4
  409. package/dist/testing/index.d.ts +13 -13
  410. package/dist/testing/index.js +6140 -874
  411. package/dist/testing/ioProviderSimulator.d.ts +5 -5
  412. package/dist/testing/providerSimulator.d.ts +5 -5
  413. package/dist/testing/review.d.ts +8 -8
  414. package/dist/testing/sessionBenchmark.d.ts +13 -13
  415. package/dist/testing/stt.d.ts +3 -3
  416. package/dist/testing/telephony.d.ts +27 -2
  417. package/dist/testing/tts.d.ts +2 -2
  418. package/dist/vue/VoiceCallDebuggerLaunch.d.ts +72 -0
  419. package/dist/vue/VoiceCallPlayer.d.ts +40 -0
  420. package/dist/vue/VoiceCostDashboard.d.ts +57 -0
  421. package/dist/vue/VoiceDeliveryRuntime.d.ts +34 -0
  422. package/dist/vue/VoiceLiveAgentConsole.d.ts +50 -0
  423. package/dist/vue/VoiceLiveCallViewer.d.ts +35 -0
  424. package/dist/vue/VoiceOpsActionCenter.d.ts +13 -0
  425. package/dist/vue/VoiceOpsStatus.d.ts +4 -0
  426. package/dist/vue/VoicePlatformCoverage.d.ts +27 -0
  427. package/dist/vue/VoiceProofTrends.d.ts +25 -0
  428. package/dist/vue/VoiceProviderCapabilities.d.ts +55 -0
  429. package/dist/vue/VoiceProviderContracts.d.ts +25 -0
  430. package/dist/vue/VoiceProviderSimulationControls.d.ts +88 -0
  431. package/dist/vue/VoiceProviderStatus.d.ts +55 -0
  432. package/dist/vue/VoiceReadinessFailures.d.ts +25 -0
  433. package/dist/vue/VoiceReconnectProfileEvidence.d.ts +25 -0
  434. package/dist/vue/VoiceReplayTimeline.d.ts +17 -0
  435. package/dist/vue/VoiceRoutingStatus.d.ts +55 -0
  436. package/dist/vue/VoiceSessionObservability.d.ts +27 -0
  437. package/dist/vue/VoiceSessionSnapshot.d.ts +72 -0
  438. package/dist/vue/VoiceTurnLatency.d.ts +73 -0
  439. package/dist/vue/VoiceTurnQuality.d.ts +55 -0
  440. package/dist/vue/VoiceWidget.d.ts +77 -0
  441. package/dist/vue/index.d.ts +49 -6
  442. package/dist/vue/index.js +12224 -413
  443. package/dist/vue/useVoiceAgentSquadStatus.d.ts +9 -0
  444. package/dist/vue/useVoiceCallDebugger.d.ts +10 -0
  445. package/dist/vue/useVoiceCampaignDialerProof.d.ts +11 -0
  446. package/dist/vue/useVoiceController.d.ts +9 -7
  447. package/dist/vue/useVoiceDeliveryRuntime.d.ts +13 -0
  448. package/dist/vue/useVoiceLiveOps.d.ts +9 -0
  449. package/dist/vue/useVoiceOpsActionCenter.d.ts +11 -0
  450. package/dist/vue/useVoiceOpsStatus.d.ts +9 -0
  451. package/dist/vue/useVoicePlatformCoverage.d.ts +9 -0
  452. package/dist/vue/useVoiceProfileComparison.d.ts +9 -0
  453. package/dist/vue/useVoiceProofTrends.d.ts +9 -0
  454. package/dist/vue/useVoiceProviderCapabilities.d.ts +9 -0
  455. package/dist/vue/useVoiceProviderContracts.d.ts +9 -0
  456. package/dist/vue/useVoiceProviderSimulationControls.d.ts +24 -0
  457. package/dist/vue/useVoiceProviderStatus.d.ts +3 -3
  458. package/dist/vue/useVoiceReadinessFailures.d.ts +959 -0
  459. package/dist/vue/useVoiceReconnectProfileEvidence.d.ts +9 -0
  460. package/dist/vue/useVoiceRoutingStatus.d.ts +8 -0
  461. package/dist/vue/useVoiceSessionObservability.d.ts +9 -0
  462. package/dist/vue/useVoiceSessionSnapshot.d.ts +10 -0
  463. package/dist/vue/useVoiceStream.d.ts +9 -6
  464. package/dist/vue/useVoiceTraceTimeline.d.ts +9 -0
  465. package/dist/vue/useVoiceTurnLatency.d.ts +10 -0
  466. package/dist/vue/useVoiceTurnQuality.d.ts +9 -0
  467. package/dist/vue/useVoiceWorkflowStatus.d.ts +3 -3
  468. package/package.json +51 -152
  469. package/dist/angular/voice-app-kit-status.service.d.ts +0 -12
  470. package/dist/angular/voice-ops-status.component.d.ts +0 -15
  471. package/dist/appKit.d.ts +0 -92
  472. package/dist/client/appKitStatus.d.ts +0 -19
  473. package/dist/react/useVoiceAppKitStatus.d.ts +0 -8
  474. package/dist/svelte/createVoiceAppKitStatus.d.ts +0 -8
  475. package/dist/turnProfiles.d.ts +0 -6
  476. package/dist/vue/useVoiceAppKitStatus.d.ts +0 -9
  477. package/fixtures/README.md +0 -57
  478. package/fixtures/manifest.json +0 -199
  479. package/fixtures/pcm/dialogue-three-clean.pcm +0 -0
  480. package/fixtures/pcm/dialogue-three-mixed.pcm +0 -0
  481. package/fixtures/pcm/dialogue-two-clean.pcm +0 -0
  482. package/fixtures/pcm/dialogue-two-noisy.pcm +0 -0
  483. package/fixtures/pcm/multiturn-three-mixed.pcm +0 -0
  484. package/fixtures/pcm/multiturn-two-clean.pcm +0 -0
  485. package/fixtures/pcm/quietly-alone-clean.pcm +0 -0
  486. package/fixtures/pcm/rainstorms-noisy.pcm +0 -0
  487. package/fixtures/pcm/stella-bulgaria-bulgarian20.pcm +0 -0
  488. package/fixtures/pcm/stella-ghana-english507.pcm +0 -0
  489. package/fixtures/pcm/stella-india-english37.pcm +0 -0
  490. package/fixtures/pcm/stella-jamaica-jamaican-creole-english1.pcm +0 -0
  491. package/fixtures/pcm/stella-liberia-liberian-pidgin-english2.pcm +0 -0
  492. package/fixtures/pcm/stella-pakistan-english519.pcm +0 -0
  493. package/fixtures/pcm/stella-sierra-leone-krio5.pcm +0 -0
  494. package/fixtures/pcm/stella-singapore-english655.pcm +0 -0
  495. package/fixtures/pcm/traveled-back-route-clean.pcm +0 -0
@@ -0,0 +1,291 @@
1
+ import { Database } from "bun:sqlite";
2
+ import type { RedisClient } from "bun";
3
+ import { Elysia } from "elysia";
4
+ import { type VoiceTelephonyContractReport, type VoiceTelephonySetupStatus, type VoiceTelephonySmokeCheck, type VoiceTelephonySmokeReport } from "./contract";
5
+ import { type VoiceTelephonyOutcomePolicy, type VoiceTelephonyWebhookRoutesOptions, type VoiceTelephonyWebhookVerificationResult } from "../core/telephonyOutcome";
6
+ import type { VoiceServerMessage, VoiceSessionRecord } from "../core/types";
7
+ import { type TwilioMediaStreamBridgeOptions } from "./twilio";
8
+ import type { VoicePostgresClient } from "../core/postgresStore";
9
+ export type TelnyxMediaPayload = {
10
+ chunk?: string;
11
+ payload: string;
12
+ timestamp?: string;
13
+ track?: "inbound" | "outbound" | "inbound_track" | "outbound_track";
14
+ };
15
+ export type TelnyxInboundMessage = {
16
+ event: "connected";
17
+ version?: string;
18
+ } | {
19
+ event: "start";
20
+ sequence_number?: string;
21
+ start?: {
22
+ call_control_id?: string;
23
+ call_leg_id?: string;
24
+ call_session_id?: string;
25
+ custom_parameters?: Record<string, string>;
26
+ media_format?: {
27
+ channels?: number;
28
+ encoding?: string;
29
+ sample_rate?: number;
30
+ };
31
+ user_id?: string;
32
+ };
33
+ stream_id?: string;
34
+ } | {
35
+ event: "media";
36
+ media: TelnyxMediaPayload;
37
+ sequence_number?: string;
38
+ stream_id?: string;
39
+ } | {
40
+ event: "mark";
41
+ mark?: {
42
+ name?: string;
43
+ };
44
+ sequence_number?: string;
45
+ stream_id?: string;
46
+ } | {
47
+ event: "dtmf";
48
+ dtmf?: {
49
+ digit?: string;
50
+ };
51
+ sequence_number?: string;
52
+ stream_id?: string;
53
+ } | {
54
+ event: "error";
55
+ payload?: {
56
+ code?: number;
57
+ detail?: string;
58
+ title?: string;
59
+ };
60
+ stream_id?: string;
61
+ } | {
62
+ event: "stop";
63
+ sequence_number?: string;
64
+ stop?: {
65
+ call_control_id?: string;
66
+ user_id?: string;
67
+ };
68
+ stream_id?: string;
69
+ };
70
+ export type TelnyxOutboundMediaMessage = {
71
+ event: "media";
72
+ media: {
73
+ payload: string;
74
+ };
75
+ };
76
+ export type TelnyxOutboundClearMessage = {
77
+ event: "clear";
78
+ };
79
+ export type TelnyxOutboundMarkMessage = {
80
+ event: "mark";
81
+ mark: {
82
+ name: string;
83
+ };
84
+ };
85
+ export type TelnyxOutboundMessage = TelnyxOutboundMediaMessage | TelnyxOutboundClearMessage | TelnyxOutboundMarkMessage;
86
+ export type TelnyxMediaStreamSocket = {
87
+ close: (code?: number, reason?: string) => void | Promise<void>;
88
+ send: (data: string) => void | Promise<void>;
89
+ };
90
+ export type TelnyxMediaStreamBridgeOptions<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = Omit<TwilioMediaStreamBridgeOptions<TContext, TSession, TResult>, "onVoiceMessage"> & {
91
+ onVoiceMessage?: (input: {
92
+ callControlId?: string;
93
+ message: VoiceServerMessage<TResult>;
94
+ sessionId: string;
95
+ streamId?: string;
96
+ }) => Promise<void> | void;
97
+ };
98
+ export type TelnyxMediaStreamBridge = {
99
+ close: (reason?: string) => Promise<void>;
100
+ getSessionId: () => string | null;
101
+ getStreamId: () => string | null;
102
+ handleMessage: (raw: string | TelnyxInboundMessage) => Promise<void>;
103
+ };
104
+ export type TelnyxVoiceResponseOptions = {
105
+ bidirectionalCodec?: "AMR-WB" | "G722" | "OPUS" | "PCMA" | "PCMU";
106
+ bidirectionalMode?: "mp3" | "rtp";
107
+ codec?: "AMR-WB" | "G722" | "OPUS" | "PCMA" | "PCMU" | "default";
108
+ streamName?: string;
109
+ streamUrl: string;
110
+ track?: "both_tracks" | "inbound_track" | "outbound_track";
111
+ };
112
+ export type TelnyxVoiceSetupStatus = VoiceTelephonySetupStatus<"telnyx"> & {
113
+ urls: VoiceTelephonySetupStatus<"telnyx">["urls"] & {
114
+ texml: string;
115
+ };
116
+ };
117
+ export type TelnyxVoiceSetupOptions = {
118
+ path?: false | string;
119
+ requiredEnv?: Record<string, string | undefined>;
120
+ title?: string;
121
+ };
122
+ export type TelnyxVoiceSmokeCheck = VoiceTelephonySmokeCheck;
123
+ export type TelnyxVoiceSmokeReport = VoiceTelephonySmokeReport<"telnyx"> & {
124
+ contract: VoiceTelephonyContractReport<"telnyx">;
125
+ setup: TelnyxVoiceSetupStatus;
126
+ texml?: {
127
+ status: number;
128
+ streamUrl?: string;
129
+ };
130
+ };
131
+ export type TelnyxVoiceSmokeOptions = {
132
+ callControlId?: string;
133
+ callLegId?: string;
134
+ eventType?: string;
135
+ path?: false | string;
136
+ sessionId?: string;
137
+ title?: string;
138
+ };
139
+ export type TelnyxVoiceRoutesOptions<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = {
140
+ bridge?: TelnyxMediaStreamBridgeOptions<TContext, TSession, TResult>;
141
+ context?: TContext;
142
+ name?: string;
143
+ outcomePolicy?: VoiceTelephonyOutcomePolicy;
144
+ setup?: TelnyxVoiceSetupOptions;
145
+ smoke?: TelnyxVoiceSmokeOptions;
146
+ streamPath?: string;
147
+ texml?: {
148
+ path?: string;
149
+ response?: Omit<TelnyxVoiceResponseOptions, "streamUrl">;
150
+ streamUrl?: string | ((input: {
151
+ query: Record<string, unknown>;
152
+ request: Request;
153
+ streamPath: string;
154
+ }) => Promise<string> | string);
155
+ };
156
+ webhook?: Omit<VoiceTelephonyWebhookRoutesOptions<TContext, TSession, TResult>, "context" | "path" | "policy" | "provider"> & {
157
+ eventStore?: VoiceTelnyxWebhookEventStore;
158
+ path?: string;
159
+ policy?: VoiceTelephonyOutcomePolicy;
160
+ publicKey?: string;
161
+ toleranceSeconds?: number;
162
+ };
163
+ };
164
+ export type VoiceTelnyxWebhookEventStore = {
165
+ claim?: (eventId: string) => Promise<boolean> | boolean;
166
+ has: (eventId: string) => Promise<boolean> | boolean;
167
+ set: (eventId: string) => Promise<void> | void;
168
+ };
169
+ export type VoiceTelnyxWebhookEventStoreOptions = {
170
+ ttlSeconds?: number;
171
+ };
172
+ export type VoiceSQLiteTelnyxWebhookEventStoreOptions = VoiceTelnyxWebhookEventStoreOptions & {
173
+ database?: Database;
174
+ path?: string;
175
+ tableName?: string;
176
+ tablePrefix?: string;
177
+ };
178
+ export type VoicePostgresTelnyxWebhookEventStoreOptions = VoiceTelnyxWebhookEventStoreOptions & {
179
+ connectionString?: string;
180
+ schemaName?: string;
181
+ sql?: VoicePostgresClient;
182
+ tableName?: string;
183
+ tablePrefix?: string;
184
+ };
185
+ export type VoiceRedisTelnyxWebhookEventClient = Pick<RedisClient, "exists" | "set">;
186
+ export type VoiceRedisTelnyxWebhookEventStoreOptions = VoiceTelnyxWebhookEventStoreOptions & {
187
+ client?: VoiceRedisTelnyxWebhookEventClient;
188
+ keyPrefix?: string;
189
+ url?: string;
190
+ };
191
+ export type VoiceTelnyxWebhookVerifierOptions = {
192
+ eventStore?: VoiceTelnyxWebhookEventStore;
193
+ publicKey?: string;
194
+ toleranceSeconds?: number;
195
+ };
196
+ export declare const createTelnyxVoiceResponse: (options: TelnyxVoiceResponseOptions) => string;
197
+ export declare const createTelnyxMediaStreamBridge: <TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown>(socket: TelnyxMediaStreamSocket, options: TelnyxMediaStreamBridgeOptions<TContext, TSession, TResult>) => TelnyxMediaStreamBridge;
198
+ export declare const createMemoryVoiceTelnyxWebhookEventStore: () => VoiceTelnyxWebhookEventStore;
199
+ export declare const verifyVoiceTelnyxWebhookSignature: (input: {
200
+ body: string;
201
+ headers: Headers;
202
+ publicKey?: string;
203
+ toleranceSeconds?: number;
204
+ }) => Promise<VoiceTelephonyWebhookVerificationResult>;
205
+ export declare const createVoiceSQLiteTelnyxWebhookEventStore: (options: VoiceSQLiteTelnyxWebhookEventStoreOptions) => VoiceTelnyxWebhookEventStore;
206
+ export declare const createVoicePostgresTelnyxWebhookEventStore: (options?: VoicePostgresTelnyxWebhookEventStoreOptions) => VoiceTelnyxWebhookEventStore;
207
+ export declare const createVoiceRedisTelnyxWebhookEventStore: (options?: VoiceRedisTelnyxWebhookEventStoreOptions) => VoiceTelnyxWebhookEventStore;
208
+ export declare const createVoiceTelnyxWebhookVerifier: (options: VoiceTelnyxWebhookVerifierOptions) => (input: {
209
+ rawBody: string;
210
+ headers: Headers;
211
+ }) => Promise<VoiceTelephonyWebhookVerificationResult>;
212
+ export declare const createTelnyxVoiceRoutes: <TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown>(options?: TelnyxVoiceRoutesOptions<TContext, TSession, TResult>) => Elysia<"", {
213
+ decorator: {};
214
+ store: {};
215
+ derive: {};
216
+ resolve: {};
217
+ }, {
218
+ typebox: {};
219
+ error: {};
220
+ }, {
221
+ schema: {};
222
+ standaloneSchema: {};
223
+ macro: {};
224
+ macroFn: {};
225
+ parser: {};
226
+ response: {};
227
+ }, {
228
+ [x: string]: {
229
+ get: {
230
+ body: unknown;
231
+ params: {};
232
+ query: unknown;
233
+ headers: unknown;
234
+ response: {
235
+ 200: Response;
236
+ };
237
+ };
238
+ };
239
+ } & {
240
+ [x: string]: {
241
+ post: {
242
+ body: unknown;
243
+ params: {};
244
+ query: unknown;
245
+ headers: unknown;
246
+ response: {
247
+ 200: Response;
248
+ };
249
+ };
250
+ };
251
+ } & {
252
+ [x: string]: {
253
+ subscribe: {
254
+ body: unknown;
255
+ params: {};
256
+ query: unknown;
257
+ headers: unknown;
258
+ response: {};
259
+ };
260
+ };
261
+ } & {
262
+ [x: string]: {
263
+ post: {
264
+ body: unknown;
265
+ params: {};
266
+ query: unknown;
267
+ headers: unknown;
268
+ response: {
269
+ 200: Response | import("..").VoiceTelephonyWebhookDecision<TResult>;
270
+ };
271
+ };
272
+ };
273
+ }, {
274
+ derive: {};
275
+ resolve: {};
276
+ schema: {};
277
+ standaloneSchema: {};
278
+ response: {};
279
+ }, {
280
+ derive: {};
281
+ resolve: {};
282
+ schema: {};
283
+ standaloneSchema: {};
284
+ response: {};
285
+ } & {
286
+ derive: {};
287
+ resolve: {};
288
+ schema: {};
289
+ standaloneSchema: {};
290
+ response: {};
291
+ }>;
@@ -1,18 +1,21 @@
1
- import { type VoiceCallReviewArtifact, type VoiceCallReviewConfig } from '../testing/review';
2
- import type { AudioFormat, VoiceLogger, VoicePluginConfig, VoiceSessionRecord, VoiceServerMessage } from '../types';
1
+ import { Elysia } from "elysia";
2
+ import type { VoiceTelephonySetupStatus, VoiceTelephonySmokeCheck, VoiceTelephonySmokeReport } from "./contract";
3
+ import { type VoiceTelephonyOutcomePolicy, type VoiceTelephonyWebhookRoutesOptions } from "../core/telephonyOutcome";
4
+ import { type VoiceCallReviewArtifact, type VoiceCallReviewConfig } from "../testing/review";
5
+ import type { AudioFormat, STTAdapter, VoiceLogger, VoicePluginConfig, VoiceSessionRecord, VoiceServerMessage } from "../core/types";
3
6
  type TwilioMediaPayload = {
4
7
  chunk?: string;
5
8
  payload: string;
6
9
  timestamp?: string;
7
- track?: 'inbound' | 'outbound';
10
+ track?: "inbound" | "outbound";
8
11
  };
9
12
  type TwilioConnectedMessage = {
10
- event: 'connected';
13
+ event: "connected";
11
14
  protocol?: string;
12
15
  version?: string;
13
16
  };
14
17
  type TwilioStartMessage = {
15
- event: 'start';
18
+ event: "start";
16
19
  sequenceNumber?: string;
17
20
  start: {
18
21
  accountSid?: string;
@@ -29,13 +32,13 @@ type TwilioStartMessage = {
29
32
  streamSid?: string;
30
33
  };
31
34
  type TwilioMediaMessage = {
32
- event: 'media';
35
+ event: "media";
33
36
  media: TwilioMediaPayload;
34
37
  sequenceNumber?: string;
35
38
  streamSid: string;
36
39
  };
37
40
  type TwilioMarkMessage = {
38
- event: 'mark';
41
+ event: "mark";
39
42
  mark?: {
40
43
  name?: string;
41
44
  };
@@ -43,7 +46,7 @@ type TwilioMarkMessage = {
43
46
  streamSid: string;
44
47
  };
45
48
  type TwilioStopMessage = {
46
- event: 'stop';
49
+ event: "stop";
47
50
  sequenceNumber?: string;
48
51
  stop?: {
49
52
  accountSid?: string;
@@ -53,18 +56,18 @@ type TwilioStopMessage = {
53
56
  };
54
57
  export type TwilioInboundMessage = TwilioConnectedMessage | TwilioStartMessage | TwilioMediaMessage | TwilioMarkMessage | TwilioStopMessage;
55
58
  export type TwilioOutboundMediaMessage = {
56
- event: 'media';
59
+ event: "media";
57
60
  media: {
58
61
  payload: string;
59
62
  };
60
63
  streamSid: string;
61
64
  };
62
65
  export type TwilioOutboundClearMessage = {
63
- event: 'clear';
66
+ event: "clear";
64
67
  streamSid: string;
65
68
  };
66
69
  export type TwilioOutboundMarkMessage = {
67
- event: 'mark';
70
+ event: "mark";
68
71
  mark: {
69
72
  name: string;
70
73
  };
@@ -75,7 +78,15 @@ export type TwilioMediaStreamSocket = {
75
78
  close: (code?: number, reason?: string) => void | Promise<void>;
76
79
  send: (data: string) => void | Promise<void>;
77
80
  };
78
- export type TwilioMediaStreamBridgeOptions<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = Omit<VoicePluginConfig<TContext, TSession, TResult>, 'htmx' | 'path'> & {
81
+ export type TwilioMediaStreamBridgeOptions<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = Omit<VoicePluginConfig<TContext, TSession, TResult>, "htmx" | "path" | "stt"> & {
82
+ /**
83
+ * Legacy barge-in: send the carrier a "clear" on every inbound media frame
84
+ * once the assistant has spoken. Defaults to `false` — a phone line streams
85
+ * inbound audio continuously (silence included), so this flushes the
86
+ * assistant constantly. Barge-in is handled speech-gated by the session
87
+ * (`socket.clear()` on detected speech); only set `true` to force the old
88
+ * frame-level behavior.
89
+ */
79
90
  clearOnInboundMedia?: boolean;
80
91
  context: TContext;
81
92
  logger?: VoiceLogger;
@@ -94,6 +105,16 @@ export type TwilioMediaStreamBridgeOptions<TContext = unknown, TSession extends
94
105
  };
95
106
  scenarioId?: string;
96
107
  sessionId?: string;
108
+ stt: STTAdapter;
109
+ telephonyMediaCarrier?: "plivo" | "telnyx" | "twilio";
110
+ /** Capture call audio (per-channel) to a recording store. */
111
+ recording?: import("../core/types").VoiceSessionRecordingConfig;
112
+ /** Per-call cost accounting (STT/LLM/TTS) — emits turn.cost/cost.ready traces. */
113
+ costAccountant?: import("../core/costAccounting").VoiceCostAccountant;
114
+ /** Telephony cost provider for the accountant (e.g. "twilio"). */
115
+ costTelephony?: {
116
+ provider?: string;
117
+ };
97
118
  };
98
119
  export type TwilioMediaStreamBridge = {
99
120
  close: (reason?: string) => Promise<void>;
@@ -105,12 +126,141 @@ export type TwilioVoiceResponseOptions = {
105
126
  parameters?: Record<string, string | number | boolean | undefined>;
106
127
  streamName?: string;
107
128
  streamUrl: string;
108
- track?: 'both_tracks' | 'inbound_track' | 'outbound_track';
129
+ track?: "both_tracks" | "inbound_track" | "outbound_track";
130
+ };
131
+ export type TwilioVoiceRouteParameters = Record<string, string | number | boolean | undefined> | ((input: {
132
+ query: Record<string, unknown>;
133
+ request: Request;
134
+ }) => Promise<Record<string, string | number | boolean | undefined>> | Record<string, string | number | boolean | undefined>);
135
+ export type TwilioVoiceSetupStatus = VoiceTelephonySetupStatus<"twilio"> & {
136
+ urls: VoiceTelephonySetupStatus<"twilio">["urls"] & {
137
+ twiml: string;
138
+ };
139
+ };
140
+ export type TwilioVoiceSetupOptions = {
141
+ path?: false | string;
142
+ requiredEnv?: Record<string, string | undefined>;
143
+ title?: string;
144
+ };
145
+ export type TwilioVoiceSmokeCheck = VoiceTelephonySmokeCheck;
146
+ export type TwilioVoiceSmokeReport = VoiceTelephonySmokeReport<"twilio"> & {
147
+ setup: TwilioVoiceSetupStatus;
148
+ };
149
+ export type TwilioVoiceSmokeOptions = {
150
+ callSid?: string;
151
+ path?: false | string;
152
+ scenarioId?: string;
153
+ sessionId?: string;
154
+ sipCode?: number;
155
+ status?: string;
156
+ title?: string;
157
+ };
158
+ export type TwilioVoiceRoutesOptions<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = TwilioMediaStreamBridgeOptions<TContext, TSession, TResult> & {
159
+ name?: string;
160
+ outcomePolicy?: VoiceTelephonyOutcomePolicy;
161
+ smoke?: TwilioVoiceSmokeOptions;
162
+ setup?: TwilioVoiceSetupOptions;
163
+ streamPath?: string;
164
+ twiml?: {
165
+ parameters?: TwilioVoiceRouteParameters;
166
+ path?: string;
167
+ streamName?: string;
168
+ streamUrl?: string | ((input: {
169
+ query: Record<string, unknown>;
170
+ request: Request;
171
+ streamPath: string;
172
+ }) => Promise<string> | string);
173
+ track?: TwilioVoiceResponseOptions["track"];
174
+ };
175
+ webhook?: Omit<VoiceTelephonyWebhookRoutesOptions<TContext, TSession, TResult>, "context" | "path" | "policy" | "provider"> & {
176
+ path?: string;
177
+ policy?: VoiceTelephonyOutcomePolicy;
178
+ };
109
179
  };
110
180
  export declare const decodeTwilioMulawBase64: (payload: string) => Int16Array<ArrayBuffer>;
111
181
  export declare const encodeTwilioMulawBase64: (samples: Int16Array) => string;
112
- export declare const transcodeTwilioInboundPayloadToPCM16: (payload: string) => Uint8Array<ArrayBuffer>;
113
182
  export declare const transcodePCMToTwilioOutboundPayload: (chunk: Uint8Array, format: AudioFormat) => string;
114
- export declare const createTwilioVoiceResponse: (options: TwilioVoiceResponseOptions) => string;
183
+ export declare const transcodeTwilioInboundPayloadToPCM16: (payload: string) => Uint8Array<ArrayBuffer>;
115
184
  export declare const createTwilioMediaStreamBridge: <TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown>(socket: TwilioMediaStreamSocket, options: TwilioMediaStreamBridgeOptions<TContext, TSession, TResult>) => TwilioMediaStreamBridge;
185
+ export declare const createTwilioVoiceResponse: (options: TwilioVoiceResponseOptions) => string;
186
+ export declare const createTwilioVoiceRoutes: <TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown>(options: TwilioVoiceRoutesOptions<TContext, TSession, TResult>) => Elysia<"", {
187
+ decorator: {};
188
+ store: {};
189
+ derive: {};
190
+ resolve: {};
191
+ }, {
192
+ typebox: {};
193
+ error: {};
194
+ }, {
195
+ schema: {};
196
+ standaloneSchema: {};
197
+ macro: {};
198
+ macroFn: {};
199
+ parser: {};
200
+ response: {};
201
+ }, {
202
+ [x: string]: {
203
+ get: {
204
+ body: unknown;
205
+ params: {};
206
+ query: unknown;
207
+ headers: unknown;
208
+ response: {
209
+ 200: Response;
210
+ };
211
+ };
212
+ };
213
+ } & {
214
+ [x: string]: {
215
+ post: {
216
+ body: unknown;
217
+ params: {};
218
+ query: unknown;
219
+ headers: unknown;
220
+ response: {
221
+ 200: Response;
222
+ };
223
+ };
224
+ };
225
+ } & {
226
+ [x: string]: {
227
+ subscribe: {
228
+ body: unknown;
229
+ params: {};
230
+ query: unknown;
231
+ headers: unknown;
232
+ response: {};
233
+ };
234
+ };
235
+ } & {
236
+ [x: string]: {
237
+ post: {
238
+ body: unknown;
239
+ params: {};
240
+ query: unknown;
241
+ headers: unknown;
242
+ response: {
243
+ 200: Response | import("..").VoiceTelephonyWebhookDecision<TResult>;
244
+ };
245
+ };
246
+ };
247
+ }, {
248
+ derive: {};
249
+ resolve: {};
250
+ schema: {};
251
+ standaloneSchema: {};
252
+ response: {};
253
+ }, {
254
+ derive: {};
255
+ resolve: {};
256
+ schema: {};
257
+ standaloneSchema: {};
258
+ response: {};
259
+ } & {
260
+ derive: {};
261
+ resolve: {};
262
+ schema: {};
263
+ standaloneSchema: {};
264
+ response: {};
265
+ }>;
116
266
  export {};
@@ -1,4 +1,4 @@
1
- import type { Transcript } from '../types';
1
+ import type { Transcript } from "../core/types";
2
2
  export type VoiceTranscriptAccuracy = {
3
3
  actualText: string;
4
4
  charDistance: number;
@@ -1,6 +1,6 @@
1
- import type { STTAdapter, STTAdapterOpenOptions } from '../types';
2
- import { type VoiceSTTAdapterHarnessOptions, type VoiceSTTAdapterHarnessResult } from './stt';
3
- import type { VoiceTestFixture } from './fixtures';
1
+ import type { STTAdapter, STTAdapterOpenOptions } from "../core/types";
2
+ import { type VoiceSTTAdapterHarnessOptions, type VoiceSTTAdapterHarnessResult } from "./stt";
3
+ import type { VoiceTestFixture } from "./fixtures";
4
4
  export type VoiceExpectedTermAccuracy = {
5
5
  allMatched: boolean;
6
6
  expectedTerms: string[];
@@ -8,7 +8,7 @@ export type VoiceExpectedTermAccuracy = {
8
8
  missingTerms: string[];
9
9
  recall: number;
10
10
  };
11
- export type VoiceSTTFixtureEnvironment = 'accent' | 'accent-noisy' | 'clean' | 'code-switch' | 'jargon' | 'multilingual' | 'multi-speaker' | 'noisy' | 'telephony' | 'other';
11
+ export type VoiceSTTFixtureEnvironment = "accent" | "accent-noisy" | "clean" | "code-switch" | "jargon" | "multilingual" | "multi-speaker" | "noisy" | "telephony" | "other";
12
12
  export type VoiceSpeakerTurnAccuracy = {
13
13
  available: boolean;
14
14
  actualTurnCount: number;
@@ -18,9 +18,9 @@ export type VoiceSpeakerTurnAccuracy = {
18
18
  postClustered?: boolean;
19
19
  };
20
20
  export type VoiceSTTBenchmarkFixtureResult = {
21
- accuracy: VoiceSTTAdapterHarnessResult['accuracy'];
21
+ accuracy: VoiceSTTAdapterHarnessResult["accuracy"];
22
22
  closeCount: number;
23
- difficulty?: VoiceTestFixture['difficulty'];
23
+ difficulty?: VoiceTestFixture["difficulty"];
24
24
  elapsedMs: number;
25
25
  endOfTurnCount: number;
26
26
  errorCount: number;
@@ -141,27 +141,27 @@ export type VoiceSTTBenchmarkAcceptanceResult = {
141
141
  score: number;
142
142
  };
143
143
  export type VoiceSTTBenchmarkOptions = VoiceSTTAdapterHarnessOptions & {
144
- fixtureOptions?: Record<string, Omit<VoiceSTTAdapterHarnessOptions, 'fixtureOptions' | 'openOptions'>>;
144
+ fixtureOptions?: Record<string, Omit<VoiceSTTAdapterHarnessOptions, "fixtureOptions" | "openOptions">>;
145
145
  openOptions?: Partial<STTAdapterOpenOptions> | ((fixture: VoiceTestFixture) => Partial<STTAdapterOpenOptions> | undefined);
146
146
  };
147
147
  export declare const resolveFixtureEnvironment: (fixture: Pick<VoiceTestFixture, "language" | "tags">) => VoiceSTTFixtureEnvironment;
148
- export declare const summarizeSTTBenchmark: (adapterId: string, fixtures: VoiceSTTBenchmarkFixtureResult[]) => VoiceSTTBenchmarkSummary;
149
- export declare const evaluateSTTBenchmarkAcceptance: (report: VoiceSTTBenchmarkReport, thresholds?: VoiceSTTBenchmarkAcceptanceThresholds) => VoiceSTTBenchmarkAcceptanceResult;
150
148
  export declare const compareSTTBenchmarks: (reports: VoiceSTTBenchmarkReport[]) => VoiceSTTBenchmarkComparison;
151
- export declare const runSTTAdapterBenchmark: ({ adapter, adapterId, fixtures, options }: {
149
+ export declare const evaluateSTTBenchmarkAcceptance: (report: VoiceSTTBenchmarkReport, thresholds?: VoiceSTTBenchmarkAcceptanceThresholds) => VoiceSTTBenchmarkAcceptanceResult;
150
+ export declare const runSTTAdapterBenchmark: ({ adapter, adapterId, fixtures, options, }: {
152
151
  adapter: STTAdapter;
153
152
  adapterId: string;
154
153
  fixtures: VoiceTestFixture[];
155
154
  options?: VoiceSTTBenchmarkOptions;
156
155
  }) => Promise<VoiceSTTBenchmarkReport>;
157
- export declare const summarizeSTTBenchmarkSeries: (input: {
158
- adapterId: string;
159
- reports: VoiceSTTBenchmarkReport[];
160
- }) => VoiceSTTBenchmarkSeriesReport;
161
- export declare const runSTTAdapterBenchmarkSeries: ({ adapter, adapterId, fixtures, options, runs }: {
156
+ export declare const runSTTAdapterBenchmarkSeries: ({ adapter, adapterId, fixtures, options, runs, }: {
162
157
  adapter: STTAdapter;
163
158
  adapterId: string;
164
159
  fixtures: VoiceTestFixture[];
165
160
  options?: VoiceSTTBenchmarkOptions;
166
161
  runs: number;
167
162
  }) => Promise<VoiceSTTBenchmarkSeriesReport>;
163
+ export declare const summarizeSTTBenchmark: (adapterId: string, fixtures: VoiceSTTBenchmarkFixtureResult[]) => VoiceSTTBenchmarkSummary;
164
+ export declare const summarizeSTTBenchmarkSeries: (input: {
165
+ adapterId: string;
166
+ reports: VoiceSTTBenchmarkReport[];
167
+ }) => VoiceSTTBenchmarkSeriesReport;
@@ -1,8 +1,8 @@
1
- import type { VoiceLexiconEntry, VoicePhraseHint, VoiceTurnCorrectionHandler } from '../types';
2
- import { type VoiceExpectedTermAccuracy, type VoiceSTTBenchmarkReport } from './benchmark';
3
- import type { VoiceSessionBenchmarkReport } from './sessionBenchmark';
4
- import type { VoiceTestFixture } from './fixtures';
5
- export type VoiceCorrectionHintProfile = 'generic' | 'benchmark-seeded';
1
+ import type { VoiceLexiconEntry, VoicePhraseHint, VoiceTurnCorrectionHandler } from "../core/types";
2
+ import { type VoiceExpectedTermAccuracy, type VoiceSTTBenchmarkReport } from "./benchmark";
3
+ import type { VoiceSessionBenchmarkReport } from "./sessionBenchmark";
4
+ import type { VoiceTestFixture } from "./fixtures";
5
+ export type VoiceCorrectionHintProfile = "generic" | "benchmark-seeded";
6
6
  type VoiceCorrectionAuditSlice<TReport> = {
7
7
  fixtureIds: string[];
8
8
  raw: TReport;
@@ -28,14 +28,14 @@ export type VoiceSessionCorrectionAudit = {
28
28
  };
29
29
  export declare const isCorrectionHoldoutFixtureId: (fixtureId: string) => boolean;
30
30
  export declare const buildFixturePhraseHints: (fixture: Pick<VoiceTestFixture, "expectedTerms" | "expectedText">, profile?: VoiceCorrectionHintProfile) => VoicePhraseHint[];
31
+ export declare const applyCorrectedBenchmarkReport: (report: VoiceSTTBenchmarkReport, fixtures: VoiceTestFixture[], profile?: VoiceCorrectionHintProfile) => VoiceSTTBenchmarkReport;
32
+ export declare const applyExperimentalBenchmarkReport: (report: VoiceSTTBenchmarkReport, fixtures: VoiceTestFixture[]) => VoiceSTTBenchmarkReport;
33
+ export declare const applyLexiconCorrectedBenchmarkReport: (report: VoiceSTTBenchmarkReport, fixtures: VoiceTestFixture[], buildLexicon: (fixture: Pick<VoiceTestFixture, "expectedTerms" | "expectedText" | "language" | "tags">) => VoiceLexiconEntry[]) => VoiceSTTBenchmarkReport;
31
34
  export declare const buildCodeSwitchBenchmarkLexicon: (fixture: Pick<VoiceTestFixture, "expectedTerms" | "expectedText" | "language" | "tags">) => VoiceLexiconEntry[];
32
35
  export declare const buildCodeSwitchBenchmarkPhraseHints: (fixture: Pick<VoiceTestFixture, "expectedTerms" | "expectedText" | "language" | "tags">) => VoicePhraseHint[];
33
- export declare const createCodeSwitchBenchmarkCorrectionHandler: () => VoiceTurnCorrectionHandler;
34
36
  export declare const createBenchmarkCorrectionHandler: (profile: VoiceCorrectionHintProfile) => VoiceTurnCorrectionHandler;
37
+ export declare const createCodeSwitchBenchmarkCorrectionHandler: () => VoiceTurnCorrectionHandler;
35
38
  export declare const scoreCorrectedExpectedTerms: (actualText: string, expectedTerms: string[] | undefined) => VoiceExpectedTermAccuracy;
36
- export declare const applyCorrectedBenchmarkReport: (report: VoiceSTTBenchmarkReport, fixtures: VoiceTestFixture[], profile?: VoiceCorrectionHintProfile) => VoiceSTTBenchmarkReport;
37
- export declare const applyExperimentalBenchmarkReport: (report: VoiceSTTBenchmarkReport, fixtures: VoiceTestFixture[]) => VoiceSTTBenchmarkReport;
38
- export declare const applyLexiconCorrectedBenchmarkReport: (report: VoiceSTTBenchmarkReport, fixtures: VoiceTestFixture[], buildLexicon: (fixture: Pick<VoiceTestFixture, "expectedTerms" | "expectedText" | "language" | "tags">) => VoiceLexiconEntry[]) => VoiceSTTBenchmarkReport;
39
39
  export declare const buildCorrectionBenchmarkAudit: (rawReport: VoiceSTTBenchmarkReport, fixtures: VoiceTestFixture[]) => VoiceCorrectionBenchmarkAudit;
40
40
  export declare const buildSessionCorrectionAudit: (raw: VoiceSessionBenchmarkReport, generic: VoiceSessionBenchmarkReport, experimental: VoiceSessionBenchmarkReport, benchmarkSeeded: VoiceSessionBenchmarkReport, scenarios: Array<Pick<VoiceTestFixture, "expectedTerms" | "expectedText" | "expectedTurnTexts" | "id">>) => VoiceSessionCorrectionAudit;
41
41
  export {};