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

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 +45955 -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 +173 -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 +6141 -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,151 @@
1
+ import type { S3Client, S3Options } from "bun";
2
+ import type { StoredVoiceAuditEvent, VoiceAuditEventStore, VoiceAuditEventType } from "./audit";
3
+ import type { VoiceIdempotencyStore, VoiceRedisTaskLeaseCoordinator } from "./queue";
4
+ import type { VoiceTraceRedactionConfig } from "./trace";
5
+ export type VoiceAuditSinkDeliveryStatus = "delivered" | "failed" | "skipped";
6
+ export type VoiceAuditSinkDeliveryQueueStatus = VoiceAuditSinkDeliveryStatus | "pending";
7
+ export type VoiceAuditSinkDeliveryResult = {
8
+ attempts: number;
9
+ deliveredAt?: number;
10
+ deliveredTo?: string;
11
+ error?: string;
12
+ eventCount: number;
13
+ responseBody?: unknown;
14
+ status: VoiceAuditSinkDeliveryStatus;
15
+ };
16
+ export type VoiceAuditSink = {
17
+ deliver: (input: {
18
+ events: StoredVoiceAuditEvent[];
19
+ }) => Promise<VoiceAuditSinkDeliveryResult> | VoiceAuditSinkDeliveryResult;
20
+ eventTypes?: VoiceAuditEventType[];
21
+ id: string;
22
+ kind?: string;
23
+ };
24
+ export type VoiceAuditSinkFanoutResult = {
25
+ deliveredAt: number;
26
+ eventCount: number;
27
+ sinkDeliveries: Record<string, VoiceAuditSinkDeliveryResult>;
28
+ status: VoiceAuditSinkDeliveryStatus;
29
+ };
30
+ export type VoiceAuditSinkDeliveryRecord = {
31
+ createdAt: number;
32
+ deliveredAt?: number;
33
+ deliveryAttempts?: number;
34
+ deliveryError?: string;
35
+ deliveryStatus: VoiceAuditSinkDeliveryQueueStatus;
36
+ events: StoredVoiceAuditEvent[];
37
+ id: string;
38
+ sinkDeliveries?: Record<string, VoiceAuditSinkDeliveryResult>;
39
+ updatedAt: number;
40
+ };
41
+ export type VoiceAuditSinkDeliveryStore<TDelivery extends VoiceAuditSinkDeliveryRecord = VoiceAuditSinkDeliveryRecord> = {
42
+ get: (id: string) => Promise<TDelivery | undefined> | TDelivery | undefined;
43
+ list: () => Promise<TDelivery[]> | TDelivery[];
44
+ remove: (id: string) => Promise<void> | void;
45
+ set: (id: string, delivery: TDelivery) => Promise<void> | void;
46
+ };
47
+ export type VoiceAuditHTTPSinkOptions<TBody extends Record<string, unknown> = Record<string, unknown>> = {
48
+ backoffMs?: number;
49
+ body?: (input: {
50
+ events: StoredVoiceAuditEvent[];
51
+ }) => Promise<TBody> | TBody;
52
+ eventTypes?: VoiceAuditEventType[];
53
+ fetch?: typeof fetch;
54
+ headers?: Record<string, string>;
55
+ id: string;
56
+ kind?: string;
57
+ method?: "POST" | "PUT" | "PATCH";
58
+ retries?: number;
59
+ signingSecret?: string;
60
+ timeoutMs?: number;
61
+ url: string;
62
+ };
63
+ export type VoiceS3AuditSinkFile = {
64
+ write: (data: string, options?: BlobPropertyBag) => Promise<number> | number;
65
+ };
66
+ export type VoiceS3AuditSinkClient = Pick<S3Client, "file">;
67
+ export type VoiceAuditS3SinkOptions<TBody extends Record<string, unknown> = Record<string, unknown>> = S3Options & {
68
+ body?: (input: {
69
+ events: StoredVoiceAuditEvent[];
70
+ key: string;
71
+ }) => Promise<TBody> | TBody;
72
+ client?: VoiceS3AuditSinkClient;
73
+ contentType?: string;
74
+ eventTypes?: VoiceAuditEventType[];
75
+ id: string;
76
+ keyPrefix?: string;
77
+ kind?: string;
78
+ };
79
+ export type VoiceAuditSinkStoreOptions<TEvent extends StoredVoiceAuditEvent = StoredVoiceAuditEvent> = {
80
+ awaitDelivery?: boolean;
81
+ deliveryQueue?: VoiceAuditSinkDeliveryStore;
82
+ onDelivery?: (result: VoiceAuditSinkFanoutResult) => Promise<void> | void;
83
+ onError?: (error: unknown) => Promise<void> | void;
84
+ redact?: VoiceTraceRedactionConfig;
85
+ sinks: VoiceAuditSink[];
86
+ store: VoiceAuditEventStore<TEvent>;
87
+ };
88
+ export type VoiceAuditSinkDeliveryWorkerOptions<TDelivery extends VoiceAuditSinkDeliveryRecord = VoiceAuditSinkDeliveryRecord> = {
89
+ deadLetters?: VoiceAuditSinkDeliveryStore<TDelivery>;
90
+ deliveries: VoiceAuditSinkDeliveryStore<TDelivery>;
91
+ idempotency?: VoiceIdempotencyStore;
92
+ idempotencyTtlSeconds?: number;
93
+ leaseMs?: number;
94
+ leases: VoiceRedisTaskLeaseCoordinator;
95
+ maxFailures?: number;
96
+ onDeadLetter?: (delivery: TDelivery) => Promise<void> | void;
97
+ redact?: VoiceTraceRedactionConfig;
98
+ sinks: VoiceAuditSink[];
99
+ statuses?: VoiceAuditSinkDeliveryQueueStatus[];
100
+ workerId: string;
101
+ };
102
+ export type VoiceAuditSinkDeliveryWorkerResult = {
103
+ alreadyProcessed: number;
104
+ attempted: number;
105
+ deadLettered: number;
106
+ delivered: number;
107
+ failed: number;
108
+ skipped: number;
109
+ };
110
+ export type VoiceAuditSinkDeliveryWorkerLoopOptions<TDelivery extends VoiceAuditSinkDeliveryRecord = VoiceAuditSinkDeliveryRecord> = {
111
+ onError?: (error: unknown) => Promise<void> | void;
112
+ pollIntervalMs?: number;
113
+ worker: ReturnType<typeof createVoiceAuditSinkDeliveryWorker<TDelivery>>;
114
+ };
115
+ export type VoiceAuditSinkDeliveryWorkerLoop = {
116
+ isRunning: () => boolean;
117
+ start: () => void;
118
+ stop: () => void;
119
+ tick: () => Promise<VoiceAuditSinkDeliveryWorkerResult>;
120
+ };
121
+ export type VoiceAuditSinkDeliveryQueueSummary = {
122
+ deadLettered: number;
123
+ delivered: number;
124
+ failed: number;
125
+ pending: number;
126
+ retryEligible: number;
127
+ skipped: number;
128
+ total: number;
129
+ };
130
+ export declare const createVoiceAuditHTTPSink: <TBody extends Record<string, unknown> = Record<string, unknown>>(options: VoiceAuditHTTPSinkOptions<TBody>) => VoiceAuditSink;
131
+ export declare const createVoiceAuditS3Sink: <TBody extends Record<string, unknown> = Record<string, unknown>>(options: VoiceAuditS3SinkOptions<TBody>) => VoiceAuditSink;
132
+ export declare const createVoiceAuditSinkDeliveryId: (events: StoredVoiceAuditEvent[]) => string;
133
+ export declare const createVoiceAuditSinkDeliveryRecord: (input: {
134
+ createdAt?: number;
135
+ events: StoredVoiceAuditEvent[];
136
+ id?: string;
137
+ } & Partial<Omit<VoiceAuditSinkDeliveryRecord, "createdAt" | "events" | "id">>) => VoiceAuditSinkDeliveryRecord;
138
+ export declare const createVoiceAuditSinkStore: <TEvent extends StoredVoiceAuditEvent = StoredVoiceAuditEvent>(options: VoiceAuditSinkStoreOptions<TEvent>) => VoiceAuditEventStore<TEvent>;
139
+ export declare const createVoiceMemoryAuditSinkDeliveryStore: <TDelivery extends VoiceAuditSinkDeliveryRecord = VoiceAuditSinkDeliveryRecord>() => VoiceAuditSinkDeliveryStore<TDelivery>;
140
+ export declare const deliverVoiceAuditEventsToSinks: (input: {
141
+ events: StoredVoiceAuditEvent[];
142
+ redact?: VoiceTraceRedactionConfig;
143
+ sinks: VoiceAuditSink[];
144
+ }) => Promise<VoiceAuditSinkFanoutResult>;
145
+ export declare const createVoiceAuditSinkDeliveryWorker: <TDelivery extends VoiceAuditSinkDeliveryRecord = VoiceAuditSinkDeliveryRecord>(options: VoiceAuditSinkDeliveryWorkerOptions<TDelivery>) => {
146
+ drain: () => Promise<VoiceAuditSinkDeliveryWorkerResult>;
147
+ };
148
+ export declare const createVoiceAuditSinkDeliveryWorkerLoop: <TDelivery extends VoiceAuditSinkDeliveryRecord = VoiceAuditSinkDeliveryRecord>(options: VoiceAuditSinkDeliveryWorkerLoopOptions<TDelivery>) => VoiceAuditSinkDeliveryWorkerLoop;
149
+ export declare const summarizeVoiceAuditSinkDeliveries: <TDelivery extends VoiceAuditSinkDeliveryRecord = VoiceAuditSinkDeliveryRecord>(deliveries: TDelivery[], input?: {
150
+ deadLetters?: VoiceAuditSinkDeliveryStore<TDelivery>;
151
+ }) => Promise<VoiceAuditSinkDeliveryQueueSummary> | VoiceAuditSinkDeliveryQueueSummary;
@@ -0,0 +1,18 @@
1
+ export type VoiceBackchannelCue = {
2
+ audioUrl?: string;
3
+ metadata?: Record<string, unknown>;
4
+ text?: string;
5
+ };
6
+ export type VoiceBackchannelDriverOptions = {
7
+ cues?: ReadonlyArray<VoiceBackchannelCue>;
8
+ cueIntervalMs?: number;
9
+ cueIndex?: (index: number) => number;
10
+ minSpeechMs?: number;
11
+ onCue: (cue: VoiceBackchannelCue) => Promise<void> | void;
12
+ };
13
+ export type VoiceBackchannelDriver = {
14
+ noteSpeech: (timestampMs?: number) => void;
15
+ noteSilence: (timestampMs?: number) => void;
16
+ reset: () => void;
17
+ };
18
+ export declare const createVoiceBackchannelDriver: (options: VoiceBackchannelDriverOptions) => VoiceBackchannelDriver;
@@ -0,0 +1,56 @@
1
+ import { Elysia } from "elysia";
2
+ import type { StoredVoiceTraceEvent, VoiceTraceEventStore } from "./trace";
3
+ import type { VoiceBargeInMonitorSnapshot } from "./types";
4
+ export type VoiceBargeInRoutesOptions = {
5
+ headers?: HeadersInit;
6
+ htmlPath?: string;
7
+ name?: string;
8
+ path?: string;
9
+ store: VoiceTraceEventStore;
10
+ thresholdMs?: number;
11
+ title?: string;
12
+ };
13
+ export type VoiceBargeInReport = VoiceBargeInMonitorSnapshot & {
14
+ checkedAt: number;
15
+ sessions: Array<{
16
+ averageLatencyMs?: number;
17
+ failed: number;
18
+ passed: number;
19
+ sessionId: string;
20
+ total: number;
21
+ }>;
22
+ };
23
+ export declare const createVoiceBargeInRoutes: (options: VoiceBargeInRoutesOptions) => Elysia<"", {
24
+ decorator: {};
25
+ store: {};
26
+ derive: {};
27
+ resolve: {};
28
+ }, {
29
+ typebox: {};
30
+ error: {};
31
+ }, {
32
+ schema: {};
33
+ standaloneSchema: {};
34
+ macro: {};
35
+ macroFn: {};
36
+ parser: {};
37
+ response: {};
38
+ }, {}, {
39
+ derive: {};
40
+ resolve: {};
41
+ schema: {};
42
+ standaloneSchema: {};
43
+ response: {};
44
+ }, {
45
+ derive: {};
46
+ resolve: {};
47
+ schema: {};
48
+ standaloneSchema: {};
49
+ response: {};
50
+ }>;
51
+ export declare const renderVoiceBargeInHTML: (report: VoiceBargeInReport, options?: {
52
+ title?: string;
53
+ }) => string;
54
+ export declare const summarizeVoiceBargeIn: (events: StoredVoiceTraceEvent[], options?: {
55
+ thresholdMs?: number;
56
+ }) => VoiceBargeInReport;
@@ -0,0 +1,43 @@
1
+ import type { VoiceCalendarAdapter, VoiceCalendarAppointment } from "./calendarAdapter";
2
+ import type { VoiceCalendarSlot } from "./calendarSlots";
3
+ export type VoiceBookingFlowStep = "ask-service" | "ask-date" | "ask-time" | "confirm" | "booking" | "booked" | "failed";
4
+ export type VoiceBookingFlowState = {
5
+ step: VoiceBookingFlowStep;
6
+ serviceId?: string;
7
+ serviceDurationMinutes?: number;
8
+ attendees?: string[];
9
+ proposedSlots: VoiceCalendarSlot[];
10
+ selectedSlot?: VoiceCalendarSlot;
11
+ appointment?: VoiceCalendarAppointment;
12
+ error?: string;
13
+ };
14
+ export type VoiceBookingFlowServiceCatalog = {
15
+ id: string;
16
+ label: string;
17
+ durationMinutes: number;
18
+ }[];
19
+ export type CreateVoiceBookingFlowOptions = {
20
+ adapter: VoiceCalendarAdapter;
21
+ calendarId: string;
22
+ services?: VoiceBookingFlowServiceCatalog;
23
+ defaultDurationMinutes?: number;
24
+ initialStep?: VoiceBookingFlowStep;
25
+ maxSlotsPerDay?: number;
26
+ };
27
+ export declare const createVoiceBookingFlow: (options: CreateVoiceBookingFlowOptions) => {
28
+ chooseService: (serviceId: string) => void;
29
+ chooseSlot: (slotIndex: number) => void;
30
+ confirm: (input?: {
31
+ attendees?: string[];
32
+ title?: string;
33
+ notes?: string;
34
+ }) => Promise<VoiceCalendarAppointment | null>;
35
+ proposeSlotsForDay: (input: {
36
+ fromMs: number;
37
+ toMs: number;
38
+ }) => Promise<VoiceCalendarSlot[]>;
39
+ reset: () => void;
40
+ getState: () => VoiceBookingFlowState;
41
+ subscribe(listener: (state: VoiceBookingFlowState) => void): () => void;
42
+ };
43
+ export type VoiceBookingFlow = ReturnType<typeof createVoiceBookingFlow>;
@@ -0,0 +1,120 @@
1
+ import { Elysia } from "elysia";
2
+ export type VoiceBrowserCallProfileStatus = "empty" | "fail" | "pass" | "stale" | "warn";
3
+ export type VoiceBrowserCallProfileFrameworkSummary = {
4
+ messageCount?: number;
5
+ openSockets?: number;
6
+ receivedBytes?: number;
7
+ sentBytes?: number;
8
+ };
9
+ export type VoiceBrowserCallProfileFrameworkEvidence = {
10
+ error?: string;
11
+ framework: string;
12
+ ok?: boolean;
13
+ summary?: VoiceBrowserCallProfileFrameworkSummary;
14
+ url?: string;
15
+ };
16
+ export type VoiceBrowserCallProfileSummary = {
17
+ failedFrameworks: string[];
18
+ openSockets: number;
19
+ passedFrameworks: string[];
20
+ receivedBytes: number;
21
+ sentBytes: number;
22
+ totalFrameworks: number;
23
+ totalMessages: number;
24
+ };
25
+ export type VoiceBrowserCallProfileReportInput = {
26
+ ageMs?: number;
27
+ baseUrl?: string;
28
+ frameworks?: string[];
29
+ freshUntil?: string;
30
+ generatedAt?: string;
31
+ maxAgeMs?: number;
32
+ now?: Date | number | string;
33
+ ok?: boolean;
34
+ outputDir?: string;
35
+ profileId?: string;
36
+ results?: VoiceBrowserCallProfileFrameworkEvidence[];
37
+ runId?: string;
38
+ source?: string;
39
+ status?: VoiceBrowserCallProfileStatus;
40
+ summary?: Partial<VoiceBrowserCallProfileSummary> & VoiceBrowserCallProfileFrameworkSummary;
41
+ };
42
+ export type VoiceBrowserCallProfileReport = {
43
+ ageMs?: number;
44
+ baseUrl?: string;
45
+ frameworks: string[];
46
+ freshUntil?: string;
47
+ generatedAt: string;
48
+ maxAgeMs: number;
49
+ ok: boolean;
50
+ outputDir?: string;
51
+ profileId: string;
52
+ results: VoiceBrowserCallProfileFrameworkEvidence[];
53
+ runId?: string;
54
+ source: string;
55
+ status: VoiceBrowserCallProfileStatus;
56
+ summary: VoiceBrowserCallProfileSummary;
57
+ };
58
+ export type VoiceBrowserCallProfileAssertionInput = {
59
+ maxAgeMs?: number;
60
+ minMessageCountPerFramework?: number;
61
+ minOpenSocketsPerFramework?: number;
62
+ minSentBytesPerFramework?: number;
63
+ requireAllFrameworksPass?: boolean;
64
+ requiredFrameworks?: string[];
65
+ };
66
+ export type VoiceBrowserCallProfileAssertionReport = {
67
+ failedFrameworks: string[];
68
+ issues: string[];
69
+ ok: boolean;
70
+ passedFrameworks: string[];
71
+ status: VoiceBrowserCallProfileStatus;
72
+ summary: VoiceBrowserCallProfileSummary;
73
+ };
74
+ export type VoiceBrowserCallProfileRoutesOptions = {
75
+ headers?: HeadersInit;
76
+ htmlPath?: false | string;
77
+ jsonPath?: string;
78
+ markdownPath?: false | string;
79
+ maxAgeMs?: number;
80
+ name?: string;
81
+ source?: (() => Promise<VoiceBrowserCallProfileReport | VoiceBrowserCallProfileReportInput> | VoiceBrowserCallProfileReport | VoiceBrowserCallProfileReportInput) | VoiceBrowserCallProfileReport | VoiceBrowserCallProfileReportInput;
82
+ title?: string;
83
+ };
84
+ export declare const assertVoiceBrowserCallProfileEvidence: (report: VoiceBrowserCallProfileReport | VoiceBrowserCallProfileReportInput, input?: VoiceBrowserCallProfileAssertionInput) => VoiceBrowserCallProfileAssertionReport;
85
+ export declare const buildVoiceBrowserCallProfileReport: (input?: VoiceBrowserCallProfileReportInput) => VoiceBrowserCallProfileReport;
86
+ export declare const evaluateVoiceBrowserCallProfileEvidence: (report: VoiceBrowserCallProfileReport | VoiceBrowserCallProfileReportInput, input?: VoiceBrowserCallProfileAssertionInput) => VoiceBrowserCallProfileAssertionReport;
87
+ export declare const renderVoiceBrowserCallProfileHTML: (report: VoiceBrowserCallProfileReport | VoiceBrowserCallProfileReportInput, options?: {
88
+ title?: string;
89
+ }) => string;
90
+ export declare const renderVoiceBrowserCallProfileMarkdown: (report: VoiceBrowserCallProfileReport | VoiceBrowserCallProfileReportInput, options?: {
91
+ title?: string;
92
+ }) => string;
93
+ export declare const createVoiceBrowserCallProfileRoutes: (options?: VoiceBrowserCallProfileRoutesOptions) => Elysia<"", {
94
+ decorator: {};
95
+ store: {};
96
+ derive: {};
97
+ resolve: {};
98
+ }, {
99
+ typebox: {};
100
+ error: {};
101
+ }, {
102
+ schema: {};
103
+ standaloneSchema: {};
104
+ macro: {};
105
+ macroFn: {};
106
+ parser: {};
107
+ response: {};
108
+ }, {}, {
109
+ derive: {};
110
+ resolve: {};
111
+ schema: {};
112
+ standaloneSchema: {};
113
+ response: {};
114
+ }, {
115
+ derive: {};
116
+ resolve: {};
117
+ schema: {};
118
+ standaloneSchema: {};
119
+ response: {};
120
+ }>;
@@ -0,0 +1,62 @@
1
+ import { Elysia } from "elysia";
2
+ import type { MediaWebRTCStatsReport, MediaWebRTCStreamContinuityReport } from "@absolutejs/media";
3
+ import type { VoiceTraceEventStore } from "./trace";
4
+ export type VoiceBrowserMediaStatus = "empty" | "fail" | "pass" | "warn";
5
+ export type VoiceBrowserMediaSample = {
6
+ at: number;
7
+ continuity?: MediaWebRTCStreamContinuityReport;
8
+ report: MediaWebRTCStatsReport;
9
+ scenarioId?: string;
10
+ sessionId: string;
11
+ traceId?: string;
12
+ };
13
+ export type VoiceBrowserMediaReport = {
14
+ checkedAt: number;
15
+ latest?: VoiceBrowserMediaSample;
16
+ recent: VoiceBrowserMediaSample[];
17
+ status: VoiceBrowserMediaStatus;
18
+ stale: boolean;
19
+ total: number;
20
+ };
21
+ export type VoiceBrowserMediaRoutesOptions = {
22
+ headers?: HeadersInit;
23
+ htmlPath?: false | string;
24
+ maxAgeMs?: number;
25
+ name?: string;
26
+ path?: string;
27
+ store: VoiceTraceEventStore;
28
+ title?: string;
29
+ };
30
+ export declare const createVoiceBrowserMediaRoutes: (options: VoiceBrowserMediaRoutesOptions) => Elysia<"", {
31
+ decorator: {};
32
+ store: {};
33
+ derive: {};
34
+ resolve: {};
35
+ }, {
36
+ typebox: {};
37
+ error: {};
38
+ }, {
39
+ schema: {};
40
+ standaloneSchema: {};
41
+ macro: {};
42
+ macroFn: {};
43
+ parser: {};
44
+ response: {};
45
+ }, {}, {
46
+ derive: {};
47
+ resolve: {};
48
+ schema: {};
49
+ standaloneSchema: {};
50
+ response: {};
51
+ }, {
52
+ derive: {};
53
+ resolve: {};
54
+ schema: {};
55
+ standaloneSchema: {};
56
+ response: {};
57
+ }>;
58
+ export declare const getLatestVoiceBrowserMediaReport: (options: Pick<VoiceBrowserMediaRoutesOptions, "maxAgeMs" | "store">) => Promise<MediaWebRTCStatsReport | undefined>;
59
+ export declare const renderVoiceBrowserMediaHTML: (report: VoiceBrowserMediaReport, options?: {
60
+ title?: string;
61
+ }) => string;
62
+ export declare const summarizeVoiceBrowserMedia: (options: Pick<VoiceBrowserMediaRoutesOptions, "maxAgeMs" | "store">) => Promise<VoiceBrowserMediaReport>;
@@ -0,0 +1,30 @@
1
+ import type { TTSAdapter, TTSAdapterOpenOptions } from "./types";
2
+ export type CachedTTSOptions = {
3
+ /**
4
+ * Return a stable cache key for an utterance whose synthesized audio should
5
+ * be rendered once and replayed verbatim on later calls (typically a
6
+ * greeting / fixed prompt), or `null`/`undefined` to synthesize it live every
7
+ * time (dynamic turn replies).
8
+ *
9
+ * The key must encode everything that affects the audio — the text, the
10
+ * voice, the model, and the output format. Because the cache is
11
+ * content-addressed, editing any of those naturally produces a new key, so a
12
+ * stale rendering is never replayed: the first call after a change re-renders
13
+ * (and re-caches) while the old entry is simply orphaned.
14
+ */
15
+ keyFor: (text: string, openOptions: TTSAdapterOpenOptions) => string | null | undefined;
16
+ /** Max distinct utterances to retain (LRU by insertion). Default 32. */
17
+ maxEntries?: number;
18
+ };
19
+ /**
20
+ * Wrap a TTS adapter so selected utterances are synthesized once and replayed
21
+ * from memory on subsequent `send()`s — eliminating provider latency for fixed
22
+ * prompts like a call greeting. Utterances are selected (and keyed) by
23
+ * `options.keyFor`; everything else passes straight through to the inner
24
+ * adapter, so dynamic replies are unaffected.
25
+ *
26
+ * The cache lives for the lifetime of the wrapper (one per adapter), so it is
27
+ * shared across every session/call the adapter serves. Warm it ahead of the
28
+ * first call by opening a session and `send()`ing the cacheable text once.
29
+ */
30
+ export declare const createCachedTTS: (inner: TTSAdapter, options: CachedTTSOptions) => TTSAdapter<TTSAdapterOpenOptions>;
@@ -0,0 +1,47 @@
1
+ import type { VoiceCalendarBookedRange, VoiceCalendarBusinessHours, VoiceCalendarSlot } from "./calendarSlots";
2
+ export type VoiceCalendarAppointment = {
3
+ id: string;
4
+ calendarId: string;
5
+ startMs: number;
6
+ endMs: number;
7
+ title?: string;
8
+ attendees?: string[];
9
+ notes?: string;
10
+ metadata?: Record<string, string>;
11
+ createdAt: number;
12
+ status: "scheduled" | "cancelled" | "completed" | "no-show";
13
+ };
14
+ export type VoiceCalendarAvailabilityQuery = {
15
+ calendarId: string;
16
+ fromMs: number;
17
+ toMs: number;
18
+ durationMinutes: number;
19
+ bufferMinutes?: number;
20
+ granularityMinutes?: number;
21
+ maxSlots?: number;
22
+ };
23
+ export type VoiceCalendarBookInput = {
24
+ calendarId: string;
25
+ startMs: number;
26
+ endMs: number;
27
+ title?: string;
28
+ attendees?: string[];
29
+ notes?: string;
30
+ metadata?: Record<string, string>;
31
+ };
32
+ export type VoiceCalendarAdapter = {
33
+ readonly providerName: string;
34
+ listAvailability(query: VoiceCalendarAvailabilityQuery): Promise<VoiceCalendarSlot[]>;
35
+ book(input: VoiceCalendarBookInput): Promise<VoiceCalendarAppointment>;
36
+ cancel(appointmentId: string): Promise<VoiceCalendarAppointment | null>;
37
+ get(appointmentId: string): Promise<VoiceCalendarAppointment | null>;
38
+ reschedule(appointmentId: string, nextStartMs: number, nextEndMs: number): Promise<VoiceCalendarAppointment | null>;
39
+ };
40
+ export type CreateVoiceInMemoryCalendarAdapterOptions = {
41
+ businessHours: VoiceCalendarBusinessHours[];
42
+ timezone?: string;
43
+ bookedRanges?: VoiceCalendarBookedRange[];
44
+ generateId?: () => string;
45
+ now?: () => number;
46
+ };
47
+ export declare const createVoiceInMemoryCalendarAdapter: (options: CreateVoiceInMemoryCalendarAdapterOptions) => VoiceCalendarAdapter;
@@ -0,0 +1,35 @@
1
+ export type VoiceCalendarBusinessHours = {
2
+ weekday: number;
3
+ start: string;
4
+ end: string;
5
+ };
6
+ export type VoiceCalendarBlackout = {
7
+ date: string;
8
+ reason?: string;
9
+ };
10
+ export type VoiceCalendarBookedRange = {
11
+ startMs: number;
12
+ endMs: number;
13
+ };
14
+ export type VoiceCalendarSlot = {
15
+ startMs: number;
16
+ endMs: number;
17
+ durationMinutes: number;
18
+ };
19
+ export type GenerateVoiceCalendarSlotsInput = {
20
+ fromMs: number;
21
+ toMs: number;
22
+ durationMinutes: number;
23
+ bufferMinutes?: number;
24
+ granularityMinutes?: number;
25
+ timezone?: string;
26
+ businessHours: VoiceCalendarBusinessHours[];
27
+ blackoutDates?: VoiceCalendarBlackout[];
28
+ bookedRanges?: VoiceCalendarBookedRange[];
29
+ maxSlots?: number;
30
+ };
31
+ export declare const generateVoiceCalendarSlots: (input: GenerateVoiceCalendarSlotsInput) => VoiceCalendarSlot[];
32
+ export declare const summarizeVoiceCalendarSlot: (slot: VoiceCalendarSlot, options?: {
33
+ timezone?: string;
34
+ locale?: string;
35
+ }) => string;
@@ -0,0 +1,66 @@
1
+ import { Elysia } from "elysia";
2
+ import { type VoiceFailureReplayReport, type VoiceOperationsRecord, type VoiceOperationsRecordOptions } from "./operationsRecord";
3
+ import { type StoredVoiceTraceEvent, type VoiceTraceEventStore } from "./trace";
4
+ import { type VoiceSessionSnapshot, type VoiceSessionSnapshotRouteSource } from "./sessionSnapshot";
5
+ export type VoiceCallDebuggerReport = {
6
+ checkedAt: number;
7
+ failureReplay: VoiceFailureReplayReport;
8
+ incidentMarkdown: string;
9
+ operationsRecord: VoiceOperationsRecord;
10
+ sessionId: string;
11
+ snapshot: VoiceSessionSnapshot;
12
+ status: "failed" | "healthy" | "warning";
13
+ };
14
+ export type VoiceCallDebuggerRoutesOptions = Omit<VoiceOperationsRecordOptions, "sessionId"> & {
15
+ headers?: HeadersInit;
16
+ htmlPath?: false | string;
17
+ incidentPath?: false | string;
18
+ name?: string;
19
+ operationsRecordHref?: string | ((input: {
20
+ sessionId: string;
21
+ }) => string | undefined);
22
+ path?: string;
23
+ render?: (report: VoiceCallDebuggerReport) => string | Promise<string>;
24
+ resolveSessionId?: (input: {
25
+ events: readonly StoredVoiceTraceEvent[];
26
+ request: Request;
27
+ requestedSessionId: string;
28
+ store?: VoiceTraceEventStore;
29
+ }) => Promise<string | undefined> | string | undefined;
30
+ snapshot?: VoiceSessionSnapshotRouteSource;
31
+ title?: string;
32
+ };
33
+ export declare const resolveLatestVoiceCallDebuggerSessionId: (events: readonly StoredVoiceTraceEvent[]) => string | undefined;
34
+ export declare const buildVoiceCallDebuggerReport: (options: VoiceCallDebuggerRoutesOptions, input: {
35
+ request: Request;
36
+ sessionId: string;
37
+ }) => Promise<VoiceCallDebuggerReport>;
38
+ export declare const createVoiceCallDebuggerRoutes: (options: VoiceCallDebuggerRoutesOptions) => Elysia<"", {
39
+ decorator: {};
40
+ store: {};
41
+ derive: {};
42
+ resolve: {};
43
+ }, {
44
+ typebox: {};
45
+ error: {};
46
+ }, {
47
+ schema: {};
48
+ standaloneSchema: {};
49
+ macro: {};
50
+ macroFn: {};
51
+ parser: {};
52
+ response: {};
53
+ }, {}, {
54
+ derive: {};
55
+ resolve: {};
56
+ schema: {};
57
+ standaloneSchema: {};
58
+ response: {};
59
+ }, {
60
+ derive: {};
61
+ resolve: {};
62
+ schema: {};
63
+ standaloneSchema: {};
64
+ response: {};
65
+ }>;
66
+ export declare const renderVoiceCallDebuggerHTML: (report: VoiceCallDebuggerReport, options?: Pick<VoiceCallDebuggerRoutesOptions, "title">) => string;
@@ -0,0 +1,38 @@
1
+ export type VoiceCallDispositionTaxonomy = "sales" | "support" | "collections" | "survey" | "custom";
2
+ export type VoiceCallDispositionDefinition = {
3
+ code: string;
4
+ label: string;
5
+ outcome: "positive" | "neutral" | "negative" | "no-contact";
6
+ retryable: boolean;
7
+ taxonomy?: VoiceCallDispositionTaxonomy;
8
+ };
9
+ export declare const DEFAULT_VOICE_CALL_DISPOSITIONS: VoiceCallDispositionDefinition[];
10
+ export type VoiceCallDispositionTag = {
11
+ sessionId: string;
12
+ code: string;
13
+ taggedAt: number;
14
+ note?: string;
15
+ };
16
+ export type CreateVoiceCallDispositionTaggerOptions = {
17
+ taxonomy?: VoiceCallDispositionDefinition[];
18
+ allowMultiple?: boolean;
19
+ now?: () => number;
20
+ };
21
+ export declare const createVoiceCallDispositionTagger: (options?: CreateVoiceCallDispositionTaggerOptions) => {
22
+ definitions: VoiceCallDispositionDefinition[];
23
+ listAll: () => VoiceCallDispositionTag[];
24
+ listForSession: (sessionId: string) => VoiceCallDispositionTag[];
25
+ summarize: () => {
26
+ byCode: {
27
+ [k: string]: number;
28
+ };
29
+ byOutcome: Record<"negative" | "neutral" | "positive" | "no-contact", number>;
30
+ retryablePct: number;
31
+ totalSessions: number;
32
+ totalTagged: number;
33
+ };
34
+ tag: (sessionId: string, code: string, note?: string) => VoiceCallDispositionTag;
35
+ untag: (sessionId: string, code?: string) => number;
36
+ definitionFor: (code: string) => VoiceCallDispositionDefinition | null;
37
+ };
38
+ export type VoiceCallDispositionTagger = ReturnType<typeof createVoiceCallDispositionTagger>;