@absolutejs/voice 0.0.22-beta.6 → 0.0.22-beta.600

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/LICENSE +88 -0
  2. package/README.md +4518 -951
  3. package/dist/angular/index.d.ts +36 -2
  4. package/dist/angular/index.js +4610 -320
  5. package/dist/angular/voice-agent-squad-status.service.d.ts +12 -0
  6. package/dist/angular/voice-call-debugger.service.d.ts +12 -0
  7. package/dist/angular/voice-call-player.service.d.ts +19 -0
  8. package/dist/angular/voice-campaign-dialer-proof.service.d.ts +14 -0
  9. package/dist/angular/voice-controller.service.d.ts +4 -1
  10. package/dist/angular/voice-cost-dashboard.service.d.ts +15 -0
  11. package/dist/angular/voice-delivery-runtime.service.d.ts +16 -0
  12. package/dist/angular/voice-live-agent-console.service.d.ts +16 -0
  13. package/dist/angular/voice-live-call-viewer.service.d.ts +16 -0
  14. package/dist/angular/voice-live-ops.service.d.ts +11 -0
  15. package/dist/angular/voice-ops-action-center.service.d.ts +13 -0
  16. package/dist/angular/voice-ops-status.service.d.ts +12 -0
  17. package/dist/angular/voice-platform-coverage.service.d.ts +12 -0
  18. package/dist/angular/voice-profile-comparison.service.d.ts +12 -0
  19. package/dist/angular/voice-proof-trends.service.d.ts +12 -0
  20. package/dist/angular/voice-provider-capabilities.service.d.ts +12 -0
  21. package/dist/angular/voice-provider-contracts.service.d.ts +12 -0
  22. package/dist/angular/voice-provider-status.service.d.ts +12 -0
  23. package/dist/angular/voice-readiness-failures.service.d.ts +13 -0
  24. package/dist/angular/voice-reconnect-profile-evidence.service.d.ts +12 -0
  25. package/dist/angular/voice-replay-timeline.service.d.ts +13 -0
  26. package/dist/angular/voice-routing-status.service.d.ts +11 -0
  27. package/dist/angular/voice-session-observability.service.d.ts +12 -0
  28. package/dist/angular/voice-session-snapshot.service.d.ts +13 -0
  29. package/dist/angular/voice-stream.service.d.ts +7 -1
  30. package/dist/angular/voice-trace-timeline.service.d.ts +12 -0
  31. package/dist/angular/voice-turn-latency.service.d.ts +13 -0
  32. package/dist/angular/voice-turn-quality.service.d.ts +12 -0
  33. package/dist/angular/voice-widget.service.d.ts +18 -0
  34. package/dist/angular/voice-workflow-status.service.d.ts +12 -0
  35. package/dist/client/actions.d.ts +150 -2
  36. package/dist/client/agentSquadStatus.d.ts +37 -0
  37. package/dist/client/agentSquadStatusWidget.d.ts +24 -0
  38. package/dist/client/audioPlayer.d.ts +12 -2
  39. package/dist/client/bargeInMonitor.d.ts +7 -0
  40. package/dist/client/browserMedia.d.ts +8 -0
  41. package/dist/client/browserNoiseSuppression.d.ts +42 -0
  42. package/dist/client/browserVoiceSupport.d.ts +22 -0
  43. package/dist/client/callDebugger.d.ts +21 -0
  44. package/dist/client/callDebuggerWidget.d.ts +30 -0
  45. package/dist/client/callPlayer.d.ts +41 -0
  46. package/dist/client/campaignDialerProof.d.ts +25 -0
  47. package/dist/client/connection.d.ts +9 -1
  48. package/dist/client/controller.d.ts +1 -1
  49. package/dist/client/conversationAnalytics.d.ts +30 -0
  50. package/dist/client/costDashboard.d.ts +27 -0
  51. package/dist/client/createVoiceStream.d.ts +1 -1
  52. package/dist/client/deliveryRuntime.d.ts +36 -0
  53. package/dist/client/deliveryRuntimeWidget.d.ts +37 -0
  54. package/dist/client/duplex.d.ts +2 -2
  55. package/dist/client/htmx.d.ts +1 -1
  56. package/dist/client/htmxAttributes.d.ts +24 -0
  57. package/dist/client/htmxBootstrap.js +1383 -80
  58. package/dist/client/htmxDashboardRenderers.d.ts +71 -0
  59. package/dist/client/index.d.ts +107 -7
  60. package/dist/client/index.js +11063 -103
  61. package/dist/client/liveAgentConsole.d.ts +28 -0
  62. package/dist/client/liveCallViewer.d.ts +42 -0
  63. package/dist/client/liveOps.d.ts +22 -0
  64. package/dist/client/liveOpsWidget.d.ts +23 -0
  65. package/dist/client/liveTurnLatency.d.ts +41 -0
  66. package/dist/client/microphone.d.ts +5 -4
  67. package/dist/client/opsActionCenter.d.ts +56 -0
  68. package/dist/client/opsActionCenterWidget.d.ts +29 -0
  69. package/dist/client/opsActionHistory.d.ts +21 -0
  70. package/dist/client/opsActionHistoryWidget.d.ts +11 -0
  71. package/dist/client/opsStatus.d.ts +21 -0
  72. package/dist/client/opsStatusWidget.d.ts +40 -0
  73. package/dist/client/platformCoverage.d.ts +21 -0
  74. package/dist/client/platformCoverageWidget.d.ts +38 -0
  75. package/dist/client/profileComparison.d.ts +21 -0
  76. package/dist/client/profileComparisonWidget.d.ts +41 -0
  77. package/dist/client/profileSwitchRecommendation.d.ts +21 -0
  78. package/dist/client/profileSwitchRecommendationWidget.d.ts +12 -0
  79. package/dist/client/proofTrends.d.ts +21 -0
  80. package/dist/client/proofTrendsWidget.d.ts +38 -0
  81. package/dist/client/providerCapabilities.d.ts +21 -0
  82. package/dist/client/providerCapabilitiesWidget.d.ts +32 -0
  83. package/dist/client/providerContracts.d.ts +21 -0
  84. package/dist/client/providerContractsWidget.d.ts +37 -0
  85. package/dist/client/providerSimulationControls.d.ts +33 -0
  86. package/dist/client/providerSimulationControlsWidget.d.ts +20 -0
  87. package/dist/client/providerStatus.d.ts +21 -0
  88. package/dist/client/providerStatusWidget.d.ts +32 -0
  89. package/dist/client/reactiveSource.d.ts +8 -0
  90. package/dist/client/readinessFailures.d.ts +21 -0
  91. package/dist/client/readinessFailuresWidget.d.ts +42 -0
  92. package/dist/client/reconnectProfileEvidence.d.ts +21 -0
  93. package/dist/client/reconnectProfileEvidenceWidget.d.ts +39 -0
  94. package/dist/client/replayTimeline.d.ts +26 -0
  95. package/dist/client/routingStatus.d.ts +21 -0
  96. package/dist/client/routingStatusWidget.d.ts +32 -0
  97. package/dist/client/sessionObservability.d.ts +21 -0
  98. package/dist/client/sessionObservabilityWidget.d.ts +31 -0
  99. package/dist/client/sessionSnapshot.d.ts +23 -0
  100. package/dist/client/sessionSnapshotWidget.d.ts +33 -0
  101. package/dist/client/store.d.ts +1 -1
  102. package/dist/client/timeStretch.d.ts +5 -0
  103. package/dist/client/traceTimeline.d.ts +21 -0
  104. package/dist/client/traceTimelineWidget.d.ts +36 -0
  105. package/dist/client/turnLatency.d.ts +24 -0
  106. package/dist/client/turnLatencyWidget.d.ts +33 -0
  107. package/dist/client/turnQuality.d.ts +21 -0
  108. package/dist/client/turnQualityWidget.d.ts +32 -0
  109. package/dist/client/voiceWidgetView.d.ts +48 -0
  110. package/dist/client/workflowStatus.d.ts +21 -0
  111. package/dist/{agent.d.ts → core/agent.d.ts} +109 -6
  112. package/dist/core/agentPerformanceReport.d.ts +40 -0
  113. package/dist/core/agentSquadContract.d.ts +98 -0
  114. package/dist/core/agentState.d.ts +12 -0
  115. package/dist/core/agentTools.d.ts +132 -0
  116. package/dist/core/aiScorecard.d.ts +32 -0
  117. package/dist/core/aiVoiceModel.d.ts +15 -0
  118. package/dist/core/amdDetector.d.ts +25 -0
  119. package/dist/{assistant.d.ts → core/assistant.d.ts} +21 -14
  120. package/dist/core/assistantExperiment.d.ts +42 -0
  121. package/dist/core/assistantHealth.d.ts +81 -0
  122. package/dist/{assistantMemory.d.ts → core/assistantMemory.d.ts} +10 -10
  123. package/dist/core/assistantMode.d.ts +22 -0
  124. package/dist/{audioConditioning.d.ts → core/audioConditioning.d.ts} +2 -2
  125. package/dist/core/audit.d.ts +131 -0
  126. package/dist/core/auditDeliveryRoutes.d.ts +85 -0
  127. package/dist/core/auditExport.d.ts +34 -0
  128. package/dist/core/auditRoutes.d.ts +66 -0
  129. package/dist/core/auditSinks.d.ts +151 -0
  130. package/dist/core/backchannel.d.ts +24 -0
  131. package/dist/core/bargeInRoutes.d.ts +56 -0
  132. package/dist/core/bookingFlow.d.ts +43 -0
  133. package/dist/core/browserCallProfiles.d.ts +120 -0
  134. package/dist/core/browserMediaRoutes.d.ts +62 -0
  135. package/dist/core/cachedTTS.d.ts +54 -0
  136. package/dist/core/calendarAdapter.d.ts +47 -0
  137. package/dist/core/calendarSlots.d.ts +35 -0
  138. package/dist/core/callDebugger.d.ts +66 -0
  139. package/dist/core/callDisposition.d.ts +38 -0
  140. package/dist/core/callQuota.d.ts +54 -0
  141. package/dist/core/callScorecard.d.ts +53 -0
  142. package/dist/core/callerCRMLinker.d.ts +29 -0
  143. package/dist/core/callerMemory.d.ts +37 -0
  144. package/dist/core/callingWindow.d.ts +26 -0
  145. package/dist/core/campaign.d.ts +795 -0
  146. package/dist/core/campaignControls.d.ts +37 -0
  147. package/dist/core/campaignDialers.d.ts +111 -0
  148. package/dist/core/campaignTemplate.d.ts +16 -0
  149. package/dist/core/competitiveCoverage.d.ts +141 -0
  150. package/dist/core/conversationSimulator.d.ts +73 -0
  151. package/dist/{correction.d.ts → core/correction.d.ts} +5 -4
  152. package/dist/core/costAccounting.d.ts +76 -0
  153. package/dist/core/costPredictor.d.ts +74 -0
  154. package/dist/core/crmCallLogger.d.ts +37 -0
  155. package/dist/core/crmContract.d.ts +70 -0
  156. package/dist/core/dataControl.d.ts +180 -0
  157. package/dist/core/debugTiming.d.ts +11 -0
  158. package/dist/core/defineVoiceAssistant.d.ts +68 -0
  159. package/dist/core/deliveryRuntime.d.ts +159 -0
  160. package/dist/core/deliverySinkRoutes.d.ts +117 -0
  161. package/dist/core/demoReadyRoutes.d.ts +98 -0
  162. package/dist/core/diagnosticsRoutes.d.ts +44 -0
  163. package/dist/core/dncRegistry.d.ts +38 -0
  164. package/dist/core/dtmfCollector.d.ts +37 -0
  165. package/dist/core/evalRoutes.d.ts +219 -0
  166. package/dist/{fileStore.d.ts → core/fileStore.d.ts} +34 -20
  167. package/dist/core/guardrails.d.ts +128 -0
  168. package/dist/core/handoff.d.ts +54 -0
  169. package/dist/core/handoffHealth.d.ts +94 -0
  170. package/dist/core/hardenedFetch.d.ts +3 -0
  171. package/dist/core/holdAudio.d.ts +23 -0
  172. package/dist/{htmx.d.ts → core/htmx.d.ts} +2 -2
  173. package/dist/core/htmxDashboardRoutes.d.ts +250 -0
  174. package/dist/core/iceServers.d.ts +34 -0
  175. package/dist/core/incidentBundle.d.ts +119 -0
  176. package/dist/core/incidentTimeline.d.ts +260 -0
  177. package/dist/core/ivrPlan.d.ts +40 -0
  178. package/dist/core/latencySlo.d.ts +56 -0
  179. package/dist/core/liveCoach.d.ts +43 -0
  180. package/dist/core/liveLatency.d.ts +78 -0
  181. package/dist/core/liveOps.d.ts +190 -0
  182. package/dist/core/llmJudge.d.ts +45 -0
  183. package/dist/{logger.d.ts → core/logger.d.ts} +1 -2
  184. package/dist/core/mcpToolset.d.ts +58 -0
  185. package/dist/core/mediaPipelineRoutes.d.ts +171 -0
  186. package/dist/core/mediaPipelineSurfaces.d.ts +48 -0
  187. package/dist/{memoryStore.d.ts → core/memoryStore.d.ts} +1 -1
  188. package/dist/core/midCallSummary.d.ts +27 -0
  189. package/dist/core/modelAdapters.d.ts +159 -0
  190. package/dist/core/monitor.d.ts +148 -0
  191. package/dist/core/multilingualProof.d.ts +77 -0
  192. package/dist/core/noShowPredictor.d.ts +46 -0
  193. package/dist/core/oauth2TokenSource.d.ts +21 -0
  194. package/dist/core/observabilityExport.d.ts +501 -0
  195. package/dist/core/openaiTTS.d.ts +18 -0
  196. package/dist/core/operationalStatus.d.ts +87 -0
  197. package/dist/core/operationsRecord.d.ts +371 -0
  198. package/dist/{ops.d.ts → core/ops.d.ts} +70 -70
  199. package/dist/core/opsActionAuditRoutes.d.ts +99 -0
  200. package/dist/core/opsConsoleRoutes.d.ts +80 -0
  201. package/dist/{opsPresets.d.ts → core/opsPresets.d.ts} +2 -2
  202. package/dist/core/opsRecovery.d.ts +137 -0
  203. package/dist/{opsRuntime.d.ts → core/opsRuntime.d.ts} +6 -6
  204. package/dist/{opsSinks.d.ts → core/opsSinks.d.ts} +19 -19
  205. package/dist/core/opsStatus.d.ts +76 -0
  206. package/dist/core/opsStatusRoutes.d.ts +33 -0
  207. package/dist/core/opsWebhook.d.ts +126 -0
  208. package/dist/core/otelExporter.d.ts +83 -0
  209. package/dist/core/outcomeContract.d.ts +146 -0
  210. package/dist/{outcomeRecipes.d.ts → core/outcomeRecipes.d.ts} +4 -4
  211. package/dist/core/pathway.d.ts +94 -0
  212. package/dist/core/pathwayCompiler.d.ts +31 -0
  213. package/dist/core/pathwayGenerator.d.ts +27 -0
  214. package/dist/core/pathwayRuntime.d.ts +57 -0
  215. package/dist/core/pathwaySlotCollector.d.ts +29 -0
  216. package/dist/core/pathwayVisualizer.d.ts +8 -0
  217. package/dist/core/phoneAgent.d.ts +139 -0
  218. package/dist/core/phoneAgentProductionSmoke.d.ts +115 -0
  219. package/dist/core/phoneProvisioning.d.ts +29 -0
  220. package/dist/core/platformCoverage.d.ts +91 -0
  221. package/dist/{plugin.d.ts → core/plugin.d.ts} +2 -2
  222. package/dist/core/postCallAnalysis.d.ts +98 -0
  223. package/dist/core/postCallSurvey.d.ts +41 -0
  224. package/dist/{postgresStore.d.ts → core/postgresStore.d.ts} +20 -9
  225. package/dist/{presets.d.ts → core/presets.d.ts} +3 -3
  226. package/dist/core/productionReadiness.d.ts +757 -0
  227. package/dist/core/profileSwitchRecommendation.d.ts +350 -0
  228. package/dist/core/promptInjectionGuard.d.ts +30 -0
  229. package/dist/core/proofAssertions.d.ts +32 -0
  230. package/dist/core/proofPack.d.ts +211 -0
  231. package/dist/core/proofRunner.d.ts +79 -0
  232. package/dist/core/proofTrends.d.ts +966 -0
  233. package/dist/core/providerAdapters.d.ts +48 -0
  234. package/dist/core/providerCapabilities.d.ts +92 -0
  235. package/dist/core/providerDecisionTraces.d.ts +130 -0
  236. package/dist/core/providerHealth.d.ts +89 -0
  237. package/dist/core/providerOrchestration.d.ts +109 -0
  238. package/dist/core/providerRouterTraces.d.ts +35 -0
  239. package/dist/core/providerRoutingContract.d.ts +71 -0
  240. package/dist/core/providerSlo.d.ts +142 -0
  241. package/dist/core/providerStackRecommendations.d.ts +188 -0
  242. package/dist/core/qualityDriftDetector.d.ts +44 -0
  243. package/dist/core/qualityRoutes.d.ts +76 -0
  244. package/dist/{queue.d.ts → core/queue.d.ts} +90 -29
  245. package/dist/core/ragTool.d.ts +52 -0
  246. package/dist/core/readinessProfiles.d.ts +45 -0
  247. package/dist/core/realtimeChannel.d.ts +136 -0
  248. package/dist/core/realtimeProviderContracts.d.ts +133 -0
  249. package/dist/core/reconnectContract.d.ts +177 -0
  250. package/dist/core/recordingRedaction.d.ts +47 -0
  251. package/dist/core/recordingStore.d.ts +60 -0
  252. package/dist/core/redaction.d.ts +13 -0
  253. package/dist/core/reminderScheduler.d.ts +43 -0
  254. package/dist/core/resilienceRoutes.d.ts +146 -0
  255. package/dist/core/retention.d.ts +37 -0
  256. package/dist/core/retryPolicy.d.ts +38 -0
  257. package/dist/core/routeAuth.d.ts +58 -0
  258. package/dist/{routing.d.ts → core/routing.d.ts} +2 -2
  259. package/dist/{runtimeOps.d.ts → core/runtimeOps.d.ts} +3 -3
  260. package/dist/{s3Store.d.ts → core/s3Store.d.ts} +12 -3
  261. package/dist/core/scorecardCalibration.d.ts +31 -0
  262. package/dist/core/scribe.d.ts +50 -0
  263. package/dist/core/semanticTurn.d.ts +37 -0
  264. package/dist/{session.d.ts → core/session.d.ts} +1 -1
  265. package/dist/core/sessionObservability.d.ts +145 -0
  266. package/dist/core/sessionReplay.d.ts +187 -0
  267. package/dist/core/sessionSnapshot.d.ts +109 -0
  268. package/dist/core/simulationSuite.d.ts +144 -0
  269. package/dist/core/sloCalibration.d.ts +185 -0
  270. package/dist/{sqliteStore.d.ts → core/sqliteStore.d.ts} +20 -9
  271. package/dist/{store.d.ts → core/store.d.ts} +1 -1
  272. package/dist/core/supervisorPermissions.d.ts +33 -0
  273. package/dist/core/supervisorPresence.d.ts +49 -0
  274. package/dist/core/telephonyMediaRoutes.d.ts +72 -0
  275. package/dist/core/telephonyOutcome.d.ts +269 -0
  276. package/dist/core/toolContract.d.ts +161 -0
  277. package/dist/core/toolRuntime.d.ts +50 -0
  278. package/dist/{trace.d.ts → core/trace.d.ts} +61 -22
  279. package/dist/core/traceDeliveryRoutes.d.ts +86 -0
  280. package/dist/core/traceTimeline.d.ts +97 -0
  281. package/dist/core/transcriptAnnotator.d.ts +41 -0
  282. package/dist/{turnDetection.d.ts → core/turnDetection.d.ts} +2 -1
  283. package/dist/core/turnLatency.d.ts +95 -0
  284. package/dist/core/turnProfiles.d.ts +3 -0
  285. package/dist/core/turnQuality.d.ts +94 -0
  286. package/dist/core/types.d.ts +1504 -0
  287. package/dist/core/vapiAdapter.d.ts +160 -0
  288. package/dist/core/variableAnalytics.d.ts +47 -0
  289. package/dist/core/voiceConfiguration.d.ts +8 -0
  290. package/dist/core/voiceMonitoring.d.ts +444 -0
  291. package/dist/core/webhookFanout.d.ts +48 -0
  292. package/dist/core/webhookVerification.d.ts +27 -0
  293. package/dist/core/whisperChannel.d.ts +50 -0
  294. package/dist/core/workflowContract.d.ts +91 -0
  295. package/dist/core/writeBehindStore.d.ts +41 -0
  296. package/dist/core/zeroDataRetention.d.ts +31 -0
  297. package/dist/drizzle/assistantMemory.d.ts +100 -0
  298. package/dist/drizzle/eval.d.ts +55 -0
  299. package/dist/drizzle/handoff.d.ts +56 -0
  300. package/dist/drizzle/incidentBundle.d.ts +55 -0
  301. package/dist/drizzle/index.d.ts +991 -0
  302. package/dist/drizzle/index.js +3059 -0
  303. package/dist/drizzle/observabilityExport.d.ts +55 -0
  304. package/dist/drizzle/proofTrends.d.ts +114 -0
  305. package/dist/drizzle/runtimeStorage.d.ts +1183 -0
  306. package/dist/drizzle/shared.d.ts +69 -0
  307. package/dist/embed/index.d.ts +38 -0
  308. package/dist/embed/index.js +1775 -0
  309. package/dist/embed/voice-widget.js +10 -0
  310. package/dist/index.d.ts +376 -46
  311. package/dist/index.js +47984 -4451
  312. package/dist/internal/evidence.d.ts +10 -0
  313. package/dist/internal/html.d.ts +6 -0
  314. package/dist/internal/status.d.ts +7 -0
  315. package/dist/react/VoiceAgentSquadStatus.d.ts +5 -0
  316. package/dist/react/VoiceCallDebuggerLaunch.d.ts +6 -0
  317. package/dist/react/VoiceCallPlayer.d.ts +11 -0
  318. package/dist/react/VoiceCostDashboard.d.ts +10 -0
  319. package/dist/react/VoiceDeliveryRuntime.d.ts +7 -0
  320. package/dist/react/VoiceLiveAgentConsole.d.ts +11 -0
  321. package/dist/react/VoiceLiveCallViewer.d.ts +9 -0
  322. package/dist/react/VoiceOpsActionCenter.d.ts +5 -0
  323. package/dist/react/VoiceOpsStatus.d.ts +6 -0
  324. package/dist/react/VoicePlatformCoverage.d.ts +6 -0
  325. package/dist/react/VoiceProfileComparison.d.ts +6 -0
  326. package/dist/react/VoiceProfileSwitchRecommendation.d.ts +6 -0
  327. package/dist/react/VoiceProofTrends.d.ts +6 -0
  328. package/dist/react/VoiceProviderCapabilities.d.ts +6 -0
  329. package/dist/react/VoiceProviderContracts.d.ts +6 -0
  330. package/dist/react/VoiceProviderSimulationControls.d.ts +5 -0
  331. package/dist/react/VoiceProviderStatus.d.ts +6 -0
  332. package/dist/react/VoiceReadinessFailures.d.ts +6 -0
  333. package/dist/react/VoiceReconnectProfileEvidence.d.ts +6 -0
  334. package/dist/react/VoiceReplayTimeline.d.ts +6 -0
  335. package/dist/react/VoiceRoutingStatus.d.ts +6 -0
  336. package/dist/react/VoiceSessionObservability.d.ts +6 -0
  337. package/dist/react/VoiceSessionSnapshot.d.ts +6 -0
  338. package/dist/react/VoiceTraceTimeline.d.ts +6 -0
  339. package/dist/react/VoiceTurnLatency.d.ts +6 -0
  340. package/dist/react/VoiceTurnQuality.d.ts +6 -0
  341. package/dist/react/VoiceWidget.d.ts +13 -0
  342. package/dist/react/index.d.ts +80 -2
  343. package/dist/react/index.js +13488 -252
  344. package/dist/react/useVoiceAgentSquadStatus.d.ts +8 -0
  345. package/dist/react/useVoiceCallDebugger.d.ts +8 -0
  346. package/dist/react/useVoiceCampaignDialerProof.d.ts +10 -0
  347. package/dist/react/useVoiceController.d.ts +7 -1
  348. package/dist/react/useVoiceDeliveryRuntime.d.ts +13 -0
  349. package/dist/react/useVoiceLiveOps.d.ts +9 -0
  350. package/dist/react/useVoiceOpsActionCenter.d.ts +11 -0
  351. package/dist/react/useVoiceOpsStatus.d.ts +8 -0
  352. package/dist/react/useVoicePlatformCoverage.d.ts +8 -0
  353. package/dist/react/useVoiceProfileComparison.d.ts +8 -0
  354. package/dist/react/useVoiceProfileSwitchRecommendation.d.ts +8 -0
  355. package/dist/react/useVoiceProofTrends.d.ts +8 -0
  356. package/dist/react/useVoiceProviderCapabilities.d.ts +8 -0
  357. package/dist/react/useVoiceProviderContracts.d.ts +8 -0
  358. package/dist/react/useVoiceProviderSimulationControls.d.ts +10 -0
  359. package/dist/react/useVoiceProviderStatus.d.ts +8 -0
  360. package/dist/react/useVoiceReadinessFailures.d.ts +8 -0
  361. package/dist/react/useVoiceReconnectProfileEvidence.d.ts +8 -0
  362. package/dist/react/useVoiceRoutingStatus.d.ts +8 -0
  363. package/dist/react/useVoiceSessionObservability.d.ts +8 -0
  364. package/dist/react/useVoiceSessionSnapshot.d.ts +9 -0
  365. package/dist/react/useVoiceStream.d.ts +7 -1
  366. package/dist/react/useVoiceTraceTimeline.d.ts +8 -0
  367. package/dist/react/useVoiceTurnLatency.d.ts +9 -0
  368. package/dist/react/useVoiceTurnQuality.d.ts +8 -0
  369. package/dist/react/useVoiceWorkflowStatus.d.ts +8 -0
  370. package/dist/svelte/createVoiceAgentSquadStatus.d.ts +9 -0
  371. package/dist/svelte/createVoiceCallDebugger.d.ts +10 -0
  372. package/dist/svelte/createVoiceCallPlayer.d.ts +33 -0
  373. package/dist/svelte/createVoiceCampaignDialerProof.d.ts +9 -0
  374. package/dist/svelte/createVoiceCostDashboard.d.ts +13 -0
  375. package/dist/svelte/createVoiceDeliveryRuntime.d.ts +11 -0
  376. package/dist/svelte/createVoiceLiveAgentConsole.d.ts +23 -0
  377. package/dist/svelte/createVoiceLiveCallViewer.d.ts +26 -0
  378. package/dist/svelte/createVoiceLiveOps.d.ts +13 -0
  379. package/dist/svelte/createVoiceOpsActionCenter.d.ts +10 -0
  380. package/dist/svelte/createVoiceOpsStatus.d.ts +9 -0
  381. package/dist/svelte/createVoicePlatformCoverage.d.ts +7 -0
  382. package/dist/svelte/createVoiceProfileComparison.d.ts +7 -0
  383. package/dist/svelte/createVoiceProofTrends.d.ts +7 -0
  384. package/dist/svelte/createVoiceProviderCapabilities.d.ts +10 -0
  385. package/dist/svelte/createVoiceProviderContracts.d.ts +10 -0
  386. package/dist/svelte/createVoiceProviderSimulationControls.d.ts +11 -0
  387. package/dist/svelte/createVoiceProviderStatus.d.ts +10 -0
  388. package/dist/svelte/createVoiceReadinessFailures.d.ts +7 -0
  389. package/dist/svelte/createVoiceReconnectProfileEvidence.d.ts +7 -0
  390. package/dist/svelte/createVoiceReplayTimeline.d.ts +13 -0
  391. package/dist/svelte/createVoiceRoutingStatus.d.ts +10 -0
  392. package/dist/svelte/createVoiceSessionObservability.d.ts +10 -0
  393. package/dist/svelte/createVoiceSessionSnapshot.d.ts +11 -0
  394. package/dist/svelte/createVoiceStream.d.ts +1 -1
  395. package/dist/svelte/createVoiceTraceTimeline.d.ts +10 -0
  396. package/dist/svelte/createVoiceTurnLatency.d.ts +11 -0
  397. package/dist/svelte/createVoiceTurnQuality.d.ts +10 -0
  398. package/dist/svelte/createVoiceWidget.d.ts +19 -0
  399. package/dist/svelte/createVoiceWorkflowStatus.d.ts +8 -0
  400. package/dist/svelte/index.d.ts +37 -2
  401. package/dist/svelte/index.js +7013 -222
  402. package/dist/telephony/contract.d.ts +61 -0
  403. package/dist/telephony/matrix.d.ts +97 -0
  404. package/dist/telephony/plivo.d.ts +303 -0
  405. package/dist/telephony/response.d.ts +1 -1
  406. package/dist/telephony/security.d.ts +182 -0
  407. package/dist/telephony/telnyx.d.ts +291 -0
  408. package/dist/telephony/twilio.d.ts +152 -15
  409. package/dist/testing/accuracy.d.ts +1 -1
  410. package/dist/testing/benchmark.d.ts +15 -15
  411. package/dist/testing/corrected.d.ts +9 -9
  412. package/dist/testing/duplex.d.ts +5 -5
  413. package/dist/testing/fixtures.d.ts +4 -4
  414. package/dist/testing/index.d.ts +13 -11
  415. package/dist/testing/index.js +10720 -2970
  416. package/dist/testing/ioProviderSimulator.d.ts +41 -0
  417. package/dist/testing/providerSimulator.d.ts +44 -0
  418. package/dist/testing/review.d.ts +8 -8
  419. package/dist/testing/sessionBenchmark.d.ts +13 -13
  420. package/dist/testing/stt.d.ts +3 -3
  421. package/dist/testing/telephony.d.ts +27 -2
  422. package/dist/testing/tts.d.ts +2 -2
  423. package/dist/vue/VoiceCallDebuggerLaunch.d.ts +72 -0
  424. package/dist/vue/VoiceCallPlayer.d.ts +40 -0
  425. package/dist/vue/VoiceCostDashboard.d.ts +57 -0
  426. package/dist/vue/VoiceDeliveryRuntime.d.ts +34 -0
  427. package/dist/vue/VoiceLiveAgentConsole.d.ts +50 -0
  428. package/dist/vue/VoiceLiveCallViewer.d.ts +35 -0
  429. package/dist/vue/VoiceOpsActionCenter.d.ts +13 -0
  430. package/dist/vue/VoiceOpsStatus.d.ts +34 -0
  431. package/dist/vue/VoicePlatformCoverage.d.ts +27 -0
  432. package/dist/vue/VoiceProofTrends.d.ts +25 -0
  433. package/dist/vue/VoiceProviderCapabilities.d.ts +55 -0
  434. package/dist/vue/VoiceProviderContracts.d.ts +25 -0
  435. package/dist/vue/VoiceProviderSimulationControls.d.ts +88 -0
  436. package/dist/vue/VoiceProviderStatus.d.ts +55 -0
  437. package/dist/vue/VoiceReadinessFailures.d.ts +25 -0
  438. package/dist/vue/VoiceReconnectProfileEvidence.d.ts +25 -0
  439. package/dist/vue/VoiceReplayTimeline.d.ts +17 -0
  440. package/dist/vue/VoiceRoutingStatus.d.ts +55 -0
  441. package/dist/vue/VoiceSessionObservability.d.ts +27 -0
  442. package/dist/vue/VoiceSessionSnapshot.d.ts +72 -0
  443. package/dist/vue/VoiceTurnLatency.d.ts +73 -0
  444. package/dist/vue/VoiceTurnQuality.d.ts +55 -0
  445. package/dist/vue/VoiceWidget.d.ts +77 -0
  446. package/dist/vue/index.d.ts +49 -2
  447. package/dist/vue/index.js +13420 -958
  448. package/dist/vue/useVoiceAgentSquadStatus.d.ts +9 -0
  449. package/dist/vue/useVoiceCallDebugger.d.ts +10 -0
  450. package/dist/vue/useVoiceCampaignDialerProof.d.ts +11 -0
  451. package/dist/vue/useVoiceController.d.ts +10 -7
  452. package/dist/vue/useVoiceDeliveryRuntime.d.ts +13 -0
  453. package/dist/vue/useVoiceLiveOps.d.ts +9 -0
  454. package/dist/vue/useVoiceOpsActionCenter.d.ts +11 -0
  455. package/dist/vue/useVoiceOpsStatus.d.ts +9 -0
  456. package/dist/vue/useVoicePlatformCoverage.d.ts +9 -0
  457. package/dist/vue/useVoiceProfileComparison.d.ts +9 -0
  458. package/dist/vue/useVoiceProofTrends.d.ts +9 -0
  459. package/dist/vue/useVoiceProviderCapabilities.d.ts +9 -0
  460. package/dist/vue/useVoiceProviderContracts.d.ts +9 -0
  461. package/dist/vue/useVoiceProviderSimulationControls.d.ts +24 -0
  462. package/dist/vue/useVoiceProviderStatus.d.ts +9 -0
  463. package/dist/vue/useVoiceReadinessFailures.d.ts +959 -0
  464. package/dist/vue/useVoiceReconnectProfileEvidence.d.ts +9 -0
  465. package/dist/vue/useVoiceRoutingStatus.d.ts +8 -0
  466. package/dist/vue/useVoiceSessionObservability.d.ts +9 -0
  467. package/dist/vue/useVoiceSessionSnapshot.d.ts +10 -0
  468. package/dist/vue/useVoiceStream.d.ts +11 -5
  469. package/dist/vue/useVoiceTraceTimeline.d.ts +9 -0
  470. package/dist/vue/useVoiceTurnLatency.d.ts +10 -0
  471. package/dist/vue/useVoiceTurnQuality.d.ts +9 -0
  472. package/dist/vue/useVoiceWorkflowStatus.d.ts +9 -0
  473. package/package.json +155 -256
  474. package/dist/modelAdapters.d.ts +0 -39
  475. package/dist/turnProfiles.d.ts +0 -6
  476. package/dist/types.d.ts +0 -886
  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,52 @@
1
+ import { type VoiceAgentTool } from "./agent";
2
+ import type { VoiceSessionRecord, VoiceTurnCitation } from "./types";
3
+ export type VoiceRAGQueryResult = {
4
+ chunkId: string;
5
+ chunkText: string;
6
+ score: number;
7
+ source?: string;
8
+ title?: string;
9
+ metadata?: Record<string, unknown>;
10
+ };
11
+ export type VoiceRAGSearchInput = {
12
+ filter?: Record<string, unknown>;
13
+ query: string;
14
+ scoreThreshold?: number;
15
+ signal?: AbortSignal;
16
+ topK?: number;
17
+ };
18
+ export type VoiceRAGCollectionLike = {
19
+ search: (input: VoiceRAGSearchInput) => Promise<readonly VoiceRAGQueryResult[]> | readonly VoiceRAGQueryResult[];
20
+ };
21
+ export type VoiceRAGToolArgs = {
22
+ filter?: Record<string, unknown>;
23
+ query: string;
24
+ topK?: number;
25
+ };
26
+ export type VoiceRAGToolResult = {
27
+ citations: VoiceRAGQueryResult[];
28
+ message: string;
29
+ query: string;
30
+ topK: number;
31
+ };
32
+ export type VoiceRAGCitationSummary = VoiceTurnCitation;
33
+ export declare const extractVoiceRAGCitations: (toolResults: ReadonlyArray<{
34
+ result?: unknown;
35
+ toolName: string;
36
+ }>, toolName?: string) => VoiceRAGCitationSummary[];
37
+ export type VoiceRAGToolOptions<TContext = unknown> = {
38
+ allowedFilterKeys?: readonly string[];
39
+ description?: string;
40
+ fixedFilter?: Record<string, unknown> | ((input: {
41
+ context: TContext;
42
+ }) => Record<string, unknown> | undefined);
43
+ formatResult?: (citations: readonly VoiceRAGQueryResult[], args: VoiceRAGToolArgs) => string;
44
+ maxChunkChars?: number;
45
+ maxTopK?: number;
46
+ name?: string;
47
+ parameters?: Record<string, unknown>;
48
+ resultToMessage?: (result: VoiceRAGToolResult) => string;
49
+ scoreThreshold?: number;
50
+ topK?: number;
51
+ };
52
+ export declare const createVoiceRAGTool: <TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord>(collection: VoiceRAGCollectionLike, options?: VoiceRAGToolOptions<TContext>) => VoiceAgentTool<TContext, TSession, VoiceRAGToolArgs, VoiceRAGToolResult>;
@@ -0,0 +1,45 @@
1
+ import type { VoiceProductionReadinessAuditOptions, VoiceProductionReadinessAuditDeliveryOptions, VoiceProductionReadinessOpsActionHistoryOptions, VoiceProductionReadinessRoutesOptions, VoiceProductionReadinessTraceDeliveryOptions } from "./productionReadiness";
2
+ export type VoiceReadinessProfileName = "meeting-recorder" | "ops-heavy" | "phone-agent";
3
+ export type VoiceReadinessProfileOptions = {
4
+ audit?: VoiceProductionReadinessAuditOptions;
5
+ auditDeliveries?: VoiceProductionReadinessAuditDeliveryOptions;
6
+ bargeInReports?: VoiceProductionReadinessRoutesOptions["bargeInReports"];
7
+ campaignReadiness?: VoiceProductionReadinessRoutesOptions["campaignReadiness"];
8
+ carriers?: VoiceProductionReadinessRoutesOptions["carriers"];
9
+ deliveryRuntime?: VoiceProductionReadinessRoutesOptions["deliveryRuntime"];
10
+ explain?: boolean;
11
+ gate?: VoiceProductionReadinessRoutesOptions["gate"];
12
+ links?: VoiceProductionReadinessRoutesOptions["links"];
13
+ observabilityExportDeliveryHistory?: VoiceProductionReadinessRoutesOptions["observabilityExportDeliveryHistory"];
14
+ opsActionHistory?: VoiceProductionReadinessOpsActionHistoryOptions;
15
+ phoneAgentSmokes?: VoiceProductionReadinessRoutesOptions["phoneAgentSmokes"];
16
+ proofSources?: VoiceProductionReadinessRoutesOptions["proofSources"];
17
+ providerRoutingContracts?: VoiceProductionReadinessRoutesOptions["providerRoutingContracts"];
18
+ reconnectContracts?: VoiceProductionReadinessRoutesOptions["reconnectContracts"];
19
+ reconnectContractsMinCount?: VoiceProductionReadinessRoutesOptions["reconnectContractsMinCount"];
20
+ reconnectContractsMinSnapshotsPerContract?: VoiceProductionReadinessRoutesOptions["reconnectContractsMinSnapshotsPerContract"];
21
+ telephonyMediaMinCarriers?: VoiceProductionReadinessRoutesOptions["telephonyMediaMinCarriers"];
22
+ telephonyMediaMinMediaEvents?: VoiceProductionReadinessRoutesOptions["telephonyMediaMinMediaEvents"];
23
+ browserMediaMinActiveCandidatePairs?: VoiceProductionReadinessRoutesOptions["browserMediaMinActiveCandidatePairs"];
24
+ browserMediaMinLiveAudioTracks?: VoiceProductionReadinessRoutesOptions["browserMediaMinLiveAudioTracks"];
25
+ browserMediaMinTotalStats?: VoiceProductionReadinessRoutesOptions["browserMediaMinTotalStats"];
26
+ telephonyWebhookSecurity?: VoiceProductionReadinessRoutesOptions["telephonyWebhookSecurity"];
27
+ traceDeliveries?: VoiceProductionReadinessTraceDeliveryOptions;
28
+ };
29
+ export type VoiceReadinessProfileRoutesOptions = Partial<Omit<VoiceProductionReadinessRoutesOptions, "store">>;
30
+ export type VoiceReadinessProfileRecommendationScore = {
31
+ configured: string[];
32
+ confidence: number;
33
+ missing: string[];
34
+ profile: VoiceReadinessProfileName;
35
+ reasons: string[];
36
+ };
37
+ export type VoiceReadinessProfileRecommendation = {
38
+ confidence: number;
39
+ missing: string[];
40
+ profile: VoiceReadinessProfileName;
41
+ reasons: string[];
42
+ scores: VoiceReadinessProfileRecommendationScore[];
43
+ };
44
+ export declare const createVoiceReadinessProfile: (profile: VoiceReadinessProfileName, options?: VoiceReadinessProfileOptions) => VoiceReadinessProfileRoutesOptions;
45
+ export declare const recommendVoiceReadinessProfile: (options: VoiceReadinessProfileOptions) => VoiceReadinessProfileRecommendation;
@@ -0,0 +1,136 @@
1
+ import { Elysia } from "elysia";
2
+ import type { AudioFormat } from "./types";
3
+ import type { StoredVoiceTraceEvent } from "./trace";
4
+ export type VoiceRealtimeChannelStatus = "fail" | "pass" | "warn";
5
+ export type VoiceRealtimeChannelRuntimeSample = {
6
+ format?: AudioFormat;
7
+ observedAt?: number;
8
+ kind: "assistant-audio" | "browser-capture" | "input-audio" | "reconnect" | "turn-commit";
9
+ latencyMs?: number;
10
+ ok?: boolean;
11
+ sessionId?: string;
12
+ source?: string;
13
+ turnId?: string;
14
+ };
15
+ export type VoiceRealtimeChannelBrowserCapture = {
16
+ audioContextSampleRateHz?: number;
17
+ channelCount?: 1 | 2;
18
+ processorBufferSize?: number;
19
+ sampleRateHz?: number;
20
+ };
21
+ export type VoiceRealtimeChannelReportOptions = {
22
+ browserCapture?: VoiceRealtimeChannelBrowserCapture;
23
+ expectedInputFormat?: AudioFormat;
24
+ expectedOutputFormat?: AudioFormat;
25
+ inputFormat?: AudioFormat;
26
+ maxFirstAudioLatencyMs?: number;
27
+ minAssistantAudioSamples?: number;
28
+ minInputAudioSamples?: number;
29
+ operationsRecordHref?: string;
30
+ outputFormat?: AudioFormat;
31
+ provider: string;
32
+ readinessHref?: string;
33
+ runtimeSamples?: VoiceRealtimeChannelRuntimeSample[];
34
+ surface?: string;
35
+ };
36
+ export type VoiceRealtimeChannelIssue = {
37
+ code: string;
38
+ message: string;
39
+ severity: "error" | "warning";
40
+ };
41
+ export type VoiceRealtimeChannelReport = {
42
+ browserCapture?: VoiceRealtimeChannelBrowserCapture & {
43
+ resamplingRequired: boolean;
44
+ resamplingTargetHz?: number;
45
+ };
46
+ checkedAt: number;
47
+ inputFormat: AudioFormat;
48
+ issues: VoiceRealtimeChannelIssue[];
49
+ operationsRecordHref?: string;
50
+ outputFormat: AudioFormat;
51
+ provider: string;
52
+ readinessHref?: string;
53
+ runtime: {
54
+ assistantAudioSamples: number;
55
+ firstAudioLatencyMs?: number;
56
+ inputAudioSamples: number;
57
+ samples: VoiceRealtimeChannelRuntimeSample[];
58
+ };
59
+ status: VoiceRealtimeChannelStatus;
60
+ surface: string;
61
+ };
62
+ export type VoiceRealtimeChannelAssertionInput = {
63
+ maxFirstAudioLatencyMs?: number;
64
+ minAssistantAudioSamples?: number;
65
+ minInputAudioSamples?: number;
66
+ requireBrowserCapture?: boolean;
67
+ requireOperationsRecordHref?: boolean;
68
+ requirePass?: boolean;
69
+ requireReadinessHref?: boolean;
70
+ };
71
+ export type VoiceRealtimeChannelAssertionReport = {
72
+ issues: string[];
73
+ ok: boolean;
74
+ provider: string;
75
+ status: VoiceRealtimeChannelStatus;
76
+ surface: string;
77
+ };
78
+ export type VoiceRealtimeChannelRoutesOptions = VoiceRealtimeChannelReportOptions & {
79
+ headers?: HeadersInit;
80
+ htmlPath?: false | string;
81
+ markdownPath?: false | string;
82
+ name?: string;
83
+ path?: string;
84
+ render?: (report: VoiceRealtimeChannelReport) => Promise<string> | string;
85
+ source?: (() => Promise<VoiceRealtimeChannelReportOptions> | VoiceRealtimeChannelReportOptions) | VoiceRealtimeChannelReportOptions;
86
+ title?: string;
87
+ };
88
+ export declare const assertVoiceRealtimeChannelEvidence: (report: VoiceRealtimeChannelReport, input?: VoiceRealtimeChannelAssertionInput) => VoiceRealtimeChannelAssertionReport;
89
+ export declare const buildVoiceRealtimeChannelReport: (options: VoiceRealtimeChannelReportOptions) => VoiceRealtimeChannelReport;
90
+ export declare const buildVoiceRealtimeChannelRuntimeSamplesFromTrace: (events: readonly StoredVoiceTraceEvent[], options?: {
91
+ format?: AudioFormat;
92
+ source?: string;
93
+ }) => VoiceRealtimeChannelRuntimeSample[];
94
+ export declare const createVoiceRealtimeChannelRoutes: (options: VoiceRealtimeChannelRoutesOptions) => Elysia<"", {
95
+ decorator: {};
96
+ store: {};
97
+ derive: {};
98
+ resolve: {};
99
+ }, {
100
+ typebox: {};
101
+ error: {};
102
+ }, {
103
+ schema: {};
104
+ standaloneSchema: {};
105
+ macro: {};
106
+ macroFn: {};
107
+ parser: {};
108
+ response: {};
109
+ }, {
110
+ [x: string]: {
111
+ get: {
112
+ body: unknown;
113
+ params: {};
114
+ query: unknown;
115
+ headers: unknown;
116
+ response: {
117
+ 200: Response;
118
+ };
119
+ };
120
+ };
121
+ }, {
122
+ derive: {};
123
+ resolve: {};
124
+ schema: {};
125
+ standaloneSchema: {};
126
+ response: {};
127
+ }, {
128
+ derive: {};
129
+ resolve: {};
130
+ schema: {};
131
+ standaloneSchema: {};
132
+ response: {};
133
+ }>;
134
+ export declare const evaluateVoiceRealtimeChannelEvidence: (report: VoiceRealtimeChannelReport, input?: VoiceRealtimeChannelAssertionInput) => VoiceRealtimeChannelAssertionReport;
135
+ export declare const renderVoiceRealtimeChannelHTML: (report: VoiceRealtimeChannelReport, title?: string) => string;
136
+ export declare const renderVoiceRealtimeChannelMarkdown: (report: VoiceRealtimeChannelReport) => string;
@@ -0,0 +1,133 @@
1
+ import { Elysia } from "elysia";
2
+ import type { VoiceRealtimeChannelReport } from "./realtimeChannel";
3
+ export type VoiceRealtimeProviderContractStatus = "fail" | "pass" | "warn";
4
+ export type VoiceRealtimeProviderContractCapability = "barge-in" | "browser-format-negotiation" | "duplex-audio" | "first-audio-latency" | "raw-pcm" | "reconnect" | "trace-evidence" | "turn-commit";
5
+ export type VoiceRealtimeProviderContractDefinition<TProvider extends string = string> = {
6
+ capabilities?: readonly VoiceRealtimeProviderContractCapability[];
7
+ configured?: boolean;
8
+ env?: Record<string, string | undefined>;
9
+ fallbackProviders?: readonly TProvider[];
10
+ implementationStatus?: "available" | "planned";
11
+ latencyBudgetMs?: number;
12
+ provider: TProvider;
13
+ readinessHref?: string;
14
+ realtimeChannel?: VoiceRealtimeChannelReport;
15
+ requiredCapabilities?: readonly VoiceRealtimeProviderContractCapability[];
16
+ requiredEnv?: readonly string[];
17
+ selected?: boolean;
18
+ traceHref?: string;
19
+ };
20
+ export type VoiceRealtimeProviderPresetProvider = "gemini-live" | "openai-realtime" | (string & {});
21
+ export type VoiceRealtimeProviderContractMatrixPresetOptions<TProvider extends string = VoiceRealtimeProviderPresetProvider> = {
22
+ capabilities?: Record<string, readonly VoiceRealtimeProviderContractCapability[]>;
23
+ configured?: Record<string, boolean>;
24
+ env?: Record<string, string | undefined>;
25
+ fallbackProviders?: Record<string, readonly TProvider[]>;
26
+ implementationStatus?: Record<string, "available" | "planned">;
27
+ latencyBudgets?: Record<string, number>;
28
+ providers?: readonly TProvider[];
29
+ readinessHref?: string | Record<string, string | undefined>;
30
+ realtimeChannels?: Record<string, VoiceRealtimeChannelReport | undefined>;
31
+ requiredCapabilities?: Record<string, readonly VoiceRealtimeProviderContractCapability[]>;
32
+ requiredEnv?: Record<string, readonly string[]>;
33
+ selected?: TProvider;
34
+ traceHref?: string | Record<string, string | undefined>;
35
+ };
36
+ export type VoiceRealtimeProviderContractCheck = {
37
+ detail?: string;
38
+ key: string;
39
+ label: string;
40
+ status: VoiceRealtimeProviderContractStatus;
41
+ };
42
+ export type VoiceRealtimeProviderContractRow<TProvider extends string = string> = {
43
+ checks: VoiceRealtimeProviderContractCheck[];
44
+ configured: boolean;
45
+ provider: TProvider;
46
+ selected: boolean;
47
+ status: VoiceRealtimeProviderContractStatus;
48
+ };
49
+ export type VoiceRealtimeProviderContractMatrixInput<TProvider extends string = string> = {
50
+ contracts: readonly VoiceRealtimeProviderContractDefinition<TProvider>[];
51
+ };
52
+ export type VoiceRealtimeProviderContractMatrixReport<TProvider extends string = string> = {
53
+ failed: number;
54
+ passed: number;
55
+ rows: VoiceRealtimeProviderContractRow<TProvider>[];
56
+ status: VoiceRealtimeProviderContractStatus;
57
+ total: number;
58
+ warned: number;
59
+ };
60
+ export type VoiceRealtimeProviderContractAssertionInput<TProvider extends string = string> = {
61
+ maxFailed?: number;
62
+ maxStatus?: VoiceRealtimeProviderContractStatus;
63
+ maxWarned?: number;
64
+ minRows?: number;
65
+ requireSelected?: boolean;
66
+ requiredCapabilities?: readonly VoiceRealtimeProviderContractCapability[];
67
+ requiredCheckKeys?: readonly string[];
68
+ requiredProviders?: readonly TProvider[];
69
+ };
70
+ export type VoiceRealtimeProviderContractAssertionReport<TProvider extends string = string> = {
71
+ failed: number;
72
+ issues: string[];
73
+ ok: boolean;
74
+ providers: TProvider[];
75
+ selectedProviders: TProvider[];
76
+ status: VoiceRealtimeProviderContractStatus;
77
+ total: number;
78
+ warned: number;
79
+ };
80
+ export type VoiceRealtimeProviderContractRoutesOptions<TProvider extends string = string> = {
81
+ headers?: HeadersInit;
82
+ htmlPath?: false | string;
83
+ matrix: (() => Promise<VoiceRealtimeProviderContractMatrixInput<TProvider>> | VoiceRealtimeProviderContractMatrixInput<TProvider>) | VoiceRealtimeProviderContractMatrixInput<TProvider>;
84
+ name?: string;
85
+ path?: string;
86
+ render?: (report: VoiceRealtimeProviderContractMatrixReport<TProvider>) => Promise<string> | string;
87
+ title?: string;
88
+ };
89
+ export declare const assertVoiceRealtimeProviderContractEvidence: <TProvider extends string = string>(report: VoiceRealtimeProviderContractMatrixReport<TProvider>, input?: VoiceRealtimeProviderContractAssertionInput<TProvider>) => VoiceRealtimeProviderContractAssertionReport<TProvider>;
90
+ export declare const buildVoiceRealtimeProviderContractMatrix: <TProvider extends string = string>(input: VoiceRealtimeProviderContractMatrixInput<TProvider>) => VoiceRealtimeProviderContractMatrixReport<TProvider>;
91
+ export declare const createVoiceRealtimeProviderContractMatrixPreset: <TProvider extends string = VoiceRealtimeProviderPresetProvider>(options?: VoiceRealtimeProviderContractMatrixPresetOptions<TProvider>) => VoiceRealtimeProviderContractMatrixInput<TProvider>;
92
+ export declare const evaluateVoiceRealtimeProviderContractEvidence: <TProvider extends string = string>(report: VoiceRealtimeProviderContractMatrixReport<TProvider>, input?: VoiceRealtimeProviderContractAssertionInput<TProvider>) => VoiceRealtimeProviderContractAssertionReport<TProvider>;
93
+ export declare const createVoiceRealtimeProviderContractRoutes: <TProvider extends string = string>(options: VoiceRealtimeProviderContractRoutesOptions<TProvider>) => 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
+ [x: string]: {
110
+ get: {
111
+ body: unknown;
112
+ params: {};
113
+ query: unknown;
114
+ headers: unknown;
115
+ response: {
116
+ 200: Response;
117
+ };
118
+ };
119
+ };
120
+ }, {
121
+ derive: {};
122
+ resolve: {};
123
+ schema: {};
124
+ standaloneSchema: {};
125
+ response: {};
126
+ }, {
127
+ derive: {};
128
+ resolve: {};
129
+ schema: {};
130
+ standaloneSchema: {};
131
+ response: {};
132
+ }>;
133
+ export declare const renderVoiceRealtimeProviderContractHTML: <TProvider extends string = string>(report: VoiceRealtimeProviderContractMatrixReport<TProvider>, title?: string) => string;
@@ -0,0 +1,177 @@
1
+ import { Elysia } from "elysia";
2
+ import type { VoiceReconnectClientState, VoiceSessionRecord, VoiceSessionStore } from "./types";
3
+ import type { StoredVoiceTraceEvent } from "./trace";
4
+ export type VoiceReconnectContractSnapshot = {
5
+ at: number;
6
+ reconnect: VoiceReconnectClientState;
7
+ turnIds?: readonly string[];
8
+ };
9
+ type VoiceReconnectContractIssue = {
10
+ code: string;
11
+ message: string;
12
+ severity: "error" | "warning";
13
+ };
14
+ export type VoiceReconnectContractReport = {
15
+ checkedAt: number;
16
+ issues: VoiceReconnectContractIssue[];
17
+ pass: boolean;
18
+ resumeLatencyP95Ms?: number;
19
+ snapshotCount: number;
20
+ statuses: VoiceReconnectClientState["status"][];
21
+ summary: {
22
+ attempts: number;
23
+ maxAttempts: number;
24
+ reconnected: boolean;
25
+ resumed: boolean;
26
+ exhausted: boolean;
27
+ duplicateTurnIds: string[];
28
+ };
29
+ };
30
+ export type VoiceReconnectContractOptions = {
31
+ allowNoSnapshots?: boolean;
32
+ requireReconnect?: boolean;
33
+ requireResume?: boolean;
34
+ requireReplayProtection?: boolean;
35
+ snapshots: readonly VoiceReconnectContractSnapshot[];
36
+ };
37
+ export type VoiceReconnectProofStatus = "fail" | "pass" | "warn";
38
+ export type VoiceReconnectProofReport = {
39
+ checkedAt: number;
40
+ contract: VoiceReconnectContractReport;
41
+ generatedAt: string;
42
+ ok: boolean;
43
+ reconnectAware: true;
44
+ sessionCount: number;
45
+ snapshotCount: number;
46
+ status: VoiceReconnectProofStatus;
47
+ summary: string;
48
+ };
49
+ export type VoiceReconnectProofOptions = {
50
+ completedSessionCount?: number;
51
+ maxAttempts?: number;
52
+ requireObservedReconnect?: boolean;
53
+ requireReplayProtection?: boolean;
54
+ requireResumeAfterReconnect?: boolean;
55
+ sessions?: readonly VoiceSessionRecord[];
56
+ snapshots?: readonly VoiceReconnectContractSnapshot[];
57
+ };
58
+ export type VoiceReconnectProofRoutesOptions = Omit<VoiceReconnectProofOptions, "completedSessionCount" | "sessions" | "snapshots"> & {
59
+ getCompletedSessionCount?: () => number | Promise<number>;
60
+ getSessions?: () => readonly VoiceSessionRecord[] | Promise<readonly VoiceSessionRecord[]>;
61
+ getSnapshots?: () => readonly VoiceReconnectContractSnapshot[] | Promise<readonly VoiceReconnectContractSnapshot[]>;
62
+ headers?: HeadersInit;
63
+ maxCollectedSnapshots?: number;
64
+ name?: string;
65
+ path?: string;
66
+ store?: VoiceSessionStore;
67
+ };
68
+ export type VoiceReconnectContractRoutesOptions = Omit<VoiceReconnectContractOptions, "snapshots"> & {
69
+ getSnapshots: () => readonly VoiceReconnectContractSnapshot[] | Promise<readonly VoiceReconnectContractSnapshot[]>;
70
+ headers?: HeadersInit;
71
+ htmlPath?: false | string;
72
+ name?: string;
73
+ path?: string;
74
+ render?: (report: VoiceReconnectContractReport) => string | Promise<string>;
75
+ };
76
+ export declare const summarizeVoiceReconnectContractSnapshots: (events: readonly StoredVoiceTraceEvent[], options?: {
77
+ sessionId?: string;
78
+ }) => VoiceReconnectContractSnapshot[];
79
+ export declare const summarizeVoiceReconnectProofSessions: (sessions: readonly VoiceSessionRecord[], options?: {
80
+ maxAttempts?: number;
81
+ }) => VoiceReconnectContractSnapshot[];
82
+ export declare const buildVoiceReconnectProofReport: (options?: VoiceReconnectProofOptions) => VoiceReconnectProofReport;
83
+ export declare const runVoiceReconnectContract: (options: VoiceReconnectContractOptions) => VoiceReconnectContractReport;
84
+ export declare const createVoiceReconnectContractRoutes: (options: VoiceReconnectContractRoutesOptions) => Elysia<"", {
85
+ decorator: {};
86
+ store: {};
87
+ derive: {};
88
+ resolve: {};
89
+ }, {
90
+ typebox: {};
91
+ error: {};
92
+ }, {
93
+ schema: {};
94
+ standaloneSchema: {};
95
+ macro: {};
96
+ macroFn: {};
97
+ parser: {};
98
+ response: {};
99
+ }, {
100
+ [x: string]: {
101
+ get: {
102
+ body: unknown;
103
+ params: {};
104
+ query: unknown;
105
+ headers: unknown;
106
+ response: {
107
+ 200: Response;
108
+ };
109
+ };
110
+ };
111
+ }, {
112
+ derive: {};
113
+ resolve: {};
114
+ schema: {};
115
+ standaloneSchema: {};
116
+ response: {};
117
+ }, {
118
+ derive: {};
119
+ resolve: {};
120
+ schema: {};
121
+ standaloneSchema: {};
122
+ response: {};
123
+ }>;
124
+ export declare const createVoiceReconnectProofRoutes: (options?: VoiceReconnectProofRoutesOptions) => Elysia<"", {
125
+ decorator: {};
126
+ store: {};
127
+ derive: {};
128
+ resolve: {};
129
+ }, {
130
+ typebox: {};
131
+ error: {};
132
+ }, {
133
+ schema: {};
134
+ standaloneSchema: {};
135
+ macro: {};
136
+ macroFn: {};
137
+ parser: {};
138
+ response: {};
139
+ }, {
140
+ [x: string]: {
141
+ get: {
142
+ body: unknown;
143
+ params: {};
144
+ query: unknown;
145
+ headers: unknown;
146
+ response: {
147
+ 200: Response;
148
+ };
149
+ };
150
+ };
151
+ } & {
152
+ [x: string]: {
153
+ post: {
154
+ body: unknown;
155
+ params: {};
156
+ query: unknown;
157
+ headers: unknown;
158
+ response: {
159
+ 200: Response;
160
+ };
161
+ };
162
+ };
163
+ }, {
164
+ derive: {};
165
+ resolve: {};
166
+ schema: {};
167
+ standaloneSchema: {};
168
+ response: {};
169
+ }, {
170
+ derive: {};
171
+ resolve: {};
172
+ schema: {};
173
+ standaloneSchema: {};
174
+ response: {};
175
+ }>;
176
+ export declare const renderVoiceReconnectContractHTML: (report: VoiceReconnectContractReport) => string;
177
+ export {};
@@ -0,0 +1,47 @@
1
+ import { type AudioRedactionFill } from "@absolutejs/media";
2
+ import type { AudioFormat, Transcript } from "./types";
3
+ import { type VoiceRedactionPattern } from "./redaction";
4
+ export type VoiceRecordingRedactionRange = {
5
+ endMs: number;
6
+ label?: string;
7
+ startMs: number;
8
+ };
9
+ export type DeriveVoiceRecordingRedactionRangesInput = {
10
+ /** When the recording starts in epoch ms; used to convert absolute timestamps if transcripts use them. */
11
+ recordingStartedAtEpochMs?: number;
12
+ /** Optional padding around redaction ranges, in ms (default 100). */
13
+ paddingMs?: number;
14
+ /** Patterns to test against transcripts. Defaults to DEFAULT_VOICE_REDACTION_PATTERNS. */
15
+ patterns?: ReadonlyArray<VoiceRedactionPattern>;
16
+ /** Transcripts to scan. */
17
+ transcripts: ReadonlyArray<Transcript>;
18
+ };
19
+ export declare const deriveVoiceRecordingRedactionRanges: (input: DeriveVoiceRecordingRedactionRangesInput) => VoiceRecordingRedactionRange[];
20
+ export type RedactVoiceRecordingInput = {
21
+ /** Raw pcm_s16le bytes of the recorded artifact. */
22
+ pcm: ArrayBuffer | ArrayBufferView;
23
+ /** Format of the recording (must be raw pcm_s16le). */
24
+ format: AudioFormat;
25
+ /** Final transcripts with timing, scanned for sensitive content. */
26
+ transcripts: ReadonlyArray<Transcript>;
27
+ recordingStartedAtEpochMs?: number;
28
+ paddingMs?: number;
29
+ patterns?: ReadonlyArray<VoiceRedactionPattern>;
30
+ /** Bleep style — silence (default) or a tone. */
31
+ fill?: AudioRedactionFill;
32
+ };
33
+ export type RedactVoiceRecordingResult = {
34
+ /** The redacted pcm_s16le bytes. */
35
+ bytes: Uint8Array;
36
+ /** The merged ranges that were bleeped. */
37
+ ranges: VoiceRecordingRedactionRange[];
38
+ /** How many ranges were redacted. */
39
+ redactedCount: number;
40
+ };
41
+ /**
42
+ * End-to-end recording redaction: derives sensitive ranges from final
43
+ * transcripts, merges overlaps, and applies the audio bleep via
44
+ * `@absolutejs/media`'s `applyAudioRedaction`. Returns the redacted bytes
45
+ * ready to re-store in place of the original artifact.
46
+ */
47
+ export declare const redactVoiceRecording: (input: RedactVoiceRecordingInput) => RedactVoiceRecordingResult;
@@ -0,0 +1,60 @@
1
+ import type { AudioFormat } from "./types";
2
+ export type VoiceRecordingChannel = "assistant" | "user";
3
+ export type VoiceRecordingArtifact = {
4
+ audioBytes: Uint8Array;
5
+ capturedAt: number;
6
+ channel: VoiceRecordingChannel;
7
+ durationMs: number;
8
+ format: AudioFormat;
9
+ sessionId: string;
10
+ };
11
+ export type StoredVoiceRecordingArtifact = VoiceRecordingArtifact & {
12
+ recordingUrl?: string;
13
+ };
14
+ export type VoiceRecordingEncoderInput = {
15
+ channel: VoiceRecordingChannel;
16
+ format: AudioFormat;
17
+ pcm: Uint8Array;
18
+ sessionId: string;
19
+ };
20
+ export type VoiceRecordingEncoderResult = {
21
+ bytes: Uint8Array;
22
+ contentType: string;
23
+ extension: string;
24
+ };
25
+ export type VoiceRecordingEncoder = {
26
+ encode: (input: VoiceRecordingEncoderInput) => Promise<VoiceRecordingEncoderResult> | VoiceRecordingEncoderResult;
27
+ kind: string;
28
+ };
29
+ export type VoiceRecordingStore = {
30
+ get: (sessionId: string, channel: VoiceRecordingChannel) => Promise<StoredVoiceRecordingArtifact | undefined>;
31
+ list: (sessionId: string) => Promise<StoredVoiceRecordingArtifact[]>;
32
+ put: (artifact: VoiceRecordingArtifact) => Promise<StoredVoiceRecordingArtifact>;
33
+ };
34
+ export declare const encodePcmAsWav: (pcm: Uint8Array, format: AudioFormat) => Uint8Array;
35
+ export type InterleavePcmInput = {
36
+ /** Mono PCM bytes for the left channel. */
37
+ left: Uint8Array;
38
+ /** Mono PCM bytes for the right channel. */
39
+ right: Uint8Array;
40
+ };
41
+ /**
42
+ * Interleaves two mono pcm_s16le buffers into a single stereo pcm_s16le
43
+ * buffer at the same sample rate. Output length is max(left, right) * 2.
44
+ * The shorter buffer is right-padded with silence to align frame counts.
45
+ */
46
+ export declare const interleaveStereoPcm: (input: InterleavePcmInput) => Uint8Array;
47
+ export type EncodeStereoWavInput = {
48
+ format: AudioFormat;
49
+ left: Uint8Array;
50
+ right: Uint8Array;
51
+ };
52
+ /**
53
+ * Builds a stereo WAV file from two mono pcm_s16le channels. Convention:
54
+ * left = user track, right = assistant track. Review tools can split them
55
+ * back out with any DAW.
56
+ */
57
+ export declare const computePcmDurationMs: (pcmByteLength: number, format: AudioFormat) => number;
58
+ export declare const createVoiceMemoryRecordingStore: () => VoiceRecordingStore;
59
+ export declare const createVoiceWavRecordingEncoder: () => VoiceRecordingEncoder;
60
+ export declare const encodeStereoWav: ({ format, left, right, }: EncodeStereoWavInput) => Uint8Array;
@@ -0,0 +1,13 @@
1
+ import type { Transcript } from "./types";
2
+ export type VoiceRedactionPattern = {
3
+ label: string;
4
+ replacement?: string;
5
+ regex: RegExp;
6
+ };
7
+ export declare const DEFAULT_VOICE_REDACTION_PATTERNS: VoiceRedactionPattern[];
8
+ export type VoiceTranscriptRedactor = (transcript: Transcript) => Transcript;
9
+ export type CreateVoiceTranscriptRedactorOptions = {
10
+ patterns?: VoiceRedactionPattern[];
11
+ };
12
+ export declare const createVoiceTranscriptRedactor: (options?: CreateVoiceTranscriptRedactorOptions) => VoiceTranscriptRedactor;
13
+ export declare const redactVoiceTranscript: (transcript: Transcript, patterns?: VoiceRedactionPattern[]) => Transcript;