@absolutejs/voice 0.0.22-beta.45 → 0.0.22-beta.451

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 (329) hide show
  1. package/README.md +4269 -603
  2. package/dist/agent.d.ts +67 -5
  3. package/dist/agentSquadContract.d.ts +98 -0
  4. package/dist/angular/index.d.ts +22 -3
  5. package/dist/angular/index.js +4660 -1140
  6. package/dist/angular/voice-agent-squad-status.service.d.ts +12 -0
  7. package/dist/angular/voice-call-debugger.service.d.ts +12 -0
  8. package/dist/angular/voice-campaign-dialer-proof.service.d.ts +14 -0
  9. package/dist/angular/voice-controller.service.d.ts +3 -1
  10. package/dist/angular/voice-delivery-runtime.component.d.ts +17 -0
  11. package/dist/angular/voice-delivery-runtime.service.d.ts +16 -0
  12. package/dist/angular/voice-live-ops.service.d.ts +11 -0
  13. package/dist/angular/voice-ops-action-center.service.d.ts +13 -0
  14. package/dist/angular/voice-ops-status.component.d.ts +15 -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-routing-status.service.d.ts +11 -0
  24. package/dist/angular/voice-session-snapshot.service.d.ts +13 -0
  25. package/dist/angular/voice-stream.service.d.ts +4 -1
  26. package/dist/angular/voice-trace-timeline.service.d.ts +12 -0
  27. package/dist/angular/voice-turn-latency.service.d.ts +13 -0
  28. package/dist/angular/voice-turn-quality.service.d.ts +12 -0
  29. package/dist/angular/voice-workflow-status.service.d.ts +12 -0
  30. package/dist/assistant.d.ts +11 -11
  31. package/dist/assistantHealth.d.ts +6 -6
  32. package/dist/assistantMemory.d.ts +3 -3
  33. package/dist/audioConditioning.d.ts +1 -1
  34. package/dist/audit.d.ts +131 -0
  35. package/dist/auditDeliveryRoutes.d.ts +85 -0
  36. package/dist/auditExport.d.ts +34 -0
  37. package/dist/auditRoutes.d.ts +66 -0
  38. package/dist/auditSinks.d.ts +151 -0
  39. package/dist/bargeInRoutes.d.ts +56 -0
  40. package/dist/browserCallProfiles.d.ts +120 -0
  41. package/dist/browserMediaRoutes.d.ts +62 -0
  42. package/dist/callDebugger.d.ts +66 -0
  43. package/dist/campaign.d.ts +794 -0
  44. package/dist/campaignDialers.d.ts +111 -0
  45. package/dist/client/actions.d.ts +95 -1
  46. package/dist/client/agentSquadStatus.d.ts +37 -0
  47. package/dist/client/agentSquadStatusWidget.d.ts +24 -0
  48. package/dist/client/audioPlayer.d.ts +2 -2
  49. package/dist/client/bargeInMonitor.d.ts +7 -0
  50. package/dist/client/browserMedia.d.ts +8 -0
  51. package/dist/client/callDebugger.d.ts +19 -0
  52. package/dist/client/callDebuggerWidget.d.ts +30 -0
  53. package/dist/client/campaignDialerProof.d.ts +23 -0
  54. package/dist/client/connection.d.ts +4 -3
  55. package/dist/client/controller.d.ts +1 -1
  56. package/dist/client/createVoiceStream.d.ts +1 -1
  57. package/dist/client/deliveryRuntime.d.ts +34 -0
  58. package/dist/client/deliveryRuntimeWidget.d.ts +37 -0
  59. package/dist/client/duplex.d.ts +2 -2
  60. package/dist/client/htmx.d.ts +1 -1
  61. package/dist/client/htmxBootstrap.js +967 -14
  62. package/dist/client/index.d.ts +96 -9
  63. package/dist/client/index.js +9953 -44
  64. package/dist/client/liveOps.d.ts +22 -0
  65. package/dist/client/liveOpsWidget.d.ts +23 -0
  66. package/dist/client/liveTurnLatency.d.ts +41 -0
  67. package/dist/client/microphone.d.ts +4 -4
  68. package/dist/client/opsActionCenter.d.ts +54 -0
  69. package/dist/client/opsActionCenterWidget.d.ts +29 -0
  70. package/dist/client/opsActionHistory.d.ts +19 -0
  71. package/dist/client/opsActionHistoryWidget.d.ts +11 -0
  72. package/dist/client/opsStatus.d.ts +19 -0
  73. package/dist/client/opsStatusWidget.d.ts +40 -0
  74. package/dist/client/platformCoverage.d.ts +19 -0
  75. package/dist/client/platformCoverageWidget.d.ts +37 -0
  76. package/dist/client/profileComparison.d.ts +19 -0
  77. package/dist/client/profileComparisonWidget.d.ts +41 -0
  78. package/dist/client/profileSwitchRecommendation.d.ts +19 -0
  79. package/dist/client/profileSwitchRecommendationWidget.d.ts +12 -0
  80. package/dist/client/proofTrends.d.ts +19 -0
  81. package/dist/client/proofTrendsWidget.d.ts +37 -0
  82. package/dist/client/providerCapabilities.d.ts +19 -0
  83. package/dist/client/providerCapabilitiesWidget.d.ts +32 -0
  84. package/dist/client/providerContracts.d.ts +19 -0
  85. package/dist/client/providerContractsWidget.d.ts +37 -0
  86. package/dist/client/providerSimulationControls.d.ts +33 -0
  87. package/dist/client/providerSimulationControlsWidget.d.ts +20 -0
  88. package/dist/client/providerStatus.d.ts +1 -1
  89. package/dist/client/providerStatusWidget.d.ts +32 -0
  90. package/dist/client/readinessFailures.d.ts +19 -0
  91. package/dist/client/readinessFailuresWidget.d.ts +42 -0
  92. package/dist/client/routingStatus.d.ts +19 -0
  93. package/dist/client/routingStatusWidget.d.ts +32 -0
  94. package/dist/client/sessionSnapshot.d.ts +21 -0
  95. package/dist/client/sessionSnapshotWidget.d.ts +33 -0
  96. package/dist/client/store.d.ts +1 -1
  97. package/dist/client/traceTimeline.d.ts +19 -0
  98. package/dist/client/traceTimelineWidget.d.ts +36 -0
  99. package/dist/client/turnLatency.d.ts +22 -0
  100. package/dist/client/turnLatencyWidget.d.ts +33 -0
  101. package/dist/client/turnQuality.d.ts +19 -0
  102. package/dist/client/turnQualityWidget.d.ts +32 -0
  103. package/dist/client/workflowStatus.d.ts +19 -0
  104. package/dist/competitiveCoverage.d.ts +141 -0
  105. package/dist/correction.d.ts +2 -2
  106. package/dist/dataControl.d.ts +180 -0
  107. package/dist/deliveryRuntime.d.ts +158 -0
  108. package/dist/deliverySinkRoutes.d.ts +117 -0
  109. package/dist/demoReadyRoutes.d.ts +98 -0
  110. package/dist/diagnosticsRoutes.d.ts +2 -2
  111. package/dist/evalRoutes.d.ts +11 -4
  112. package/dist/fileStore.d.ts +19 -7
  113. package/dist/generated/htmxBootstrapBundle.d.ts +1 -0
  114. package/dist/guardrails.d.ts +128 -0
  115. package/dist/handoff.d.ts +6 -6
  116. package/dist/handoffHealth.d.ts +5 -5
  117. package/dist/htmx.d.ts +1 -1
  118. package/dist/incidentBundle.d.ts +119 -0
  119. package/dist/incidentTimeline.d.ts +259 -0
  120. package/dist/index.d.ts +216 -70
  121. package/dist/index.js +35935 -6781
  122. package/dist/latencySlo.d.ts +56 -0
  123. package/dist/liveLatency.d.ts +78 -0
  124. package/dist/liveOps.d.ts +190 -0
  125. package/dist/logger.d.ts +1 -1
  126. package/dist/mediaPipelineRoutes.d.ts +117 -0
  127. package/dist/memoryStore.d.ts +1 -1
  128. package/dist/modelAdapters.d.ts +59 -7
  129. package/dist/observabilityExport.d.ts +501 -0
  130. package/dist/openaiTTS.d.ts +18 -0
  131. package/dist/operationalStatus.d.ts +87 -0
  132. package/dist/operationsRecord.d.ts +351 -0
  133. package/dist/ops.d.ts +12 -12
  134. package/dist/opsActionAuditRoutes.d.ts +99 -0
  135. package/dist/opsConsoleRoutes.d.ts +8 -5
  136. package/dist/opsPresets.d.ts +2 -2
  137. package/dist/opsRecovery.d.ts +137 -0
  138. package/dist/opsRuntime.d.ts +6 -6
  139. package/dist/opsSinks.d.ts +13 -13
  140. package/dist/opsStatus.d.ts +76 -0
  141. package/dist/opsStatusRoutes.d.ts +33 -0
  142. package/dist/opsWebhook.d.ts +6 -6
  143. package/dist/outcomeContract.d.ts +146 -0
  144. package/dist/outcomeRecipes.d.ts +4 -4
  145. package/dist/phoneAgent.d.ts +139 -0
  146. package/dist/phoneAgentProductionSmoke.d.ts +115 -0
  147. package/dist/platformCoverage.d.ts +91 -0
  148. package/dist/plugin.d.ts +2 -2
  149. package/dist/postCallAnalysis.d.ts +98 -0
  150. package/dist/postgresStore.d.ts +17 -6
  151. package/dist/presets.d.ts +3 -3
  152. package/dist/productionReadiness.d.ts +739 -0
  153. package/dist/profileSwitchRecommendation.d.ts +350 -0
  154. package/dist/proofAssertions.d.ts +32 -0
  155. package/dist/proofPack.d.ts +206 -0
  156. package/dist/proofRunner.d.ts +79 -0
  157. package/dist/proofTrends.d.ts +716 -0
  158. package/dist/providerAdapters.d.ts +16 -5
  159. package/dist/providerCapabilities.d.ts +92 -0
  160. package/dist/providerDecisionTraces.d.ts +130 -0
  161. package/dist/providerHealth.d.ts +3 -3
  162. package/dist/providerOrchestration.d.ts +109 -0
  163. package/dist/providerRouterTraces.d.ts +35 -0
  164. package/dist/providerRoutingContract.d.ts +71 -0
  165. package/dist/providerSlo.d.ts +142 -0
  166. package/dist/providerStackRecommendations.d.ts +187 -0
  167. package/dist/qualityRoutes.d.ts +4 -4
  168. package/dist/queue.d.ts +23 -14
  169. package/dist/react/VoiceAgentSquadStatus.d.ts +5 -0
  170. package/dist/react/VoiceCallDebuggerLaunch.d.ts +6 -0
  171. package/dist/react/VoiceDeliveryRuntime.d.ts +7 -0
  172. package/dist/react/VoiceOpsActionCenter.d.ts +5 -0
  173. package/dist/react/VoiceOpsStatus.d.ts +6 -0
  174. package/dist/react/VoicePlatformCoverage.d.ts +6 -0
  175. package/dist/react/VoiceProfileComparison.d.ts +6 -0
  176. package/dist/react/VoiceProfileSwitchRecommendation.d.ts +6 -0
  177. package/dist/react/VoiceProofTrends.d.ts +6 -0
  178. package/dist/react/VoiceProviderCapabilities.d.ts +6 -0
  179. package/dist/react/VoiceProviderContracts.d.ts +6 -0
  180. package/dist/react/VoiceProviderSimulationControls.d.ts +5 -0
  181. package/dist/react/VoiceProviderStatus.d.ts +6 -0
  182. package/dist/react/VoiceReadinessFailures.d.ts +6 -0
  183. package/dist/react/VoiceRoutingStatus.d.ts +6 -0
  184. package/dist/react/VoiceSessionSnapshot.d.ts +6 -0
  185. package/dist/react/VoiceTraceTimeline.d.ts +6 -0
  186. package/dist/react/VoiceTurnLatency.d.ts +6 -0
  187. package/dist/react/VoiceTurnQuality.d.ts +6 -0
  188. package/dist/react/index.d.ts +43 -3
  189. package/dist/react/index.js +10698 -32
  190. package/dist/react/useVoiceAgentSquadStatus.d.ts +8 -0
  191. package/dist/react/useVoiceCallDebugger.d.ts +8 -0
  192. package/dist/react/useVoiceCampaignDialerProof.d.ts +10 -0
  193. package/dist/react/useVoiceController.d.ts +4 -1
  194. package/dist/react/useVoiceDeliveryRuntime.d.ts +13 -0
  195. package/dist/react/useVoiceLiveOps.d.ts +9 -0
  196. package/dist/react/useVoiceOpsActionCenter.d.ts +11 -0
  197. package/dist/react/useVoiceOpsStatus.d.ts +8 -0
  198. package/dist/react/useVoicePlatformCoverage.d.ts +8 -0
  199. package/dist/react/useVoiceProfileComparison.d.ts +8 -0
  200. package/dist/react/useVoiceProfileSwitchRecommendation.d.ts +8 -0
  201. package/dist/react/useVoiceProofTrends.d.ts +8 -0
  202. package/dist/react/useVoiceProviderCapabilities.d.ts +8 -0
  203. package/dist/react/useVoiceProviderContracts.d.ts +8 -0
  204. package/dist/react/useVoiceProviderSimulationControls.d.ts +10 -0
  205. package/dist/react/useVoiceProviderStatus.d.ts +1 -1
  206. package/dist/react/useVoiceReadinessFailures.d.ts +8 -0
  207. package/dist/react/useVoiceRoutingStatus.d.ts +8 -0
  208. package/dist/react/useVoiceSessionSnapshot.d.ts +9 -0
  209. package/dist/react/useVoiceStream.d.ts +4 -1
  210. package/dist/react/useVoiceTraceTimeline.d.ts +8 -0
  211. package/dist/react/useVoiceTurnLatency.d.ts +9 -0
  212. package/dist/react/useVoiceTurnQuality.d.ts +8 -0
  213. package/dist/react/useVoiceWorkflowStatus.d.ts +8 -0
  214. package/dist/readinessProfiles.d.ts +45 -0
  215. package/dist/realtimeChannel.d.ts +136 -0
  216. package/dist/realtimeProviderContracts.d.ts +133 -0
  217. package/dist/reconnectContract.d.ts +176 -0
  218. package/dist/resilienceRoutes.d.ts +45 -5
  219. package/dist/routing.d.ts +1 -1
  220. package/dist/runtimeOps.d.ts +3 -3
  221. package/dist/s3Store.d.ts +3 -3
  222. package/dist/session.d.ts +1 -1
  223. package/dist/sessionReplay.d.ts +19 -7
  224. package/dist/sessionSnapshot.d.ts +109 -0
  225. package/dist/simulationSuite.d.ts +143 -0
  226. package/dist/sloCalibration.d.ts +185 -0
  227. package/dist/sqliteStore.d.ts +17 -6
  228. package/dist/store.d.ts +1 -1
  229. package/dist/svelte/createVoiceAgentSquadStatus.d.ts +9 -0
  230. package/dist/svelte/createVoiceCallDebugger.d.ts +12 -0
  231. package/dist/svelte/createVoiceCampaignDialerProof.d.ts +9 -0
  232. package/dist/svelte/createVoiceDeliveryRuntime.d.ts +11 -0
  233. package/dist/svelte/createVoiceLiveOps.d.ts +13 -0
  234. package/dist/svelte/createVoiceOpsActionCenter.d.ts +10 -0
  235. package/dist/svelte/createVoiceOpsStatus.d.ts +9 -0
  236. package/dist/svelte/createVoicePlatformCoverage.d.ts +7 -0
  237. package/dist/svelte/createVoiceProfileComparison.d.ts +7 -0
  238. package/dist/svelte/createVoiceProofTrends.d.ts +7 -0
  239. package/dist/svelte/createVoiceProviderCapabilities.d.ts +10 -0
  240. package/dist/svelte/createVoiceProviderContracts.d.ts +10 -0
  241. package/dist/svelte/createVoiceProviderSimulationControls.d.ts +11 -0
  242. package/dist/svelte/createVoiceProviderStatus.d.ts +4 -2
  243. package/dist/svelte/createVoiceReadinessFailures.d.ts +7 -0
  244. package/dist/svelte/createVoiceRoutingStatus.d.ts +10 -0
  245. package/dist/svelte/createVoiceSessionSnapshot.d.ts +13 -0
  246. package/dist/svelte/createVoiceStream.d.ts +1 -1
  247. package/dist/svelte/createVoiceTraceTimeline.d.ts +10 -0
  248. package/dist/svelte/createVoiceTurnLatency.d.ts +11 -0
  249. package/dist/svelte/createVoiceTurnQuality.d.ts +10 -0
  250. package/dist/svelte/createVoiceWorkflowStatus.d.ts +8 -0
  251. package/dist/svelte/index.d.ts +23 -3
  252. package/dist/svelte/index.js +6436 -460
  253. package/dist/telephony/contract.d.ts +61 -0
  254. package/dist/telephony/matrix.d.ts +97 -0
  255. package/dist/telephony/plivo.d.ts +303 -0
  256. package/dist/telephony/response.d.ts +1 -1
  257. package/dist/telephony/security.d.ts +182 -0
  258. package/dist/telephony/telnyx.d.ts +291 -0
  259. package/dist/telephony/twilio.d.ts +147 -13
  260. package/dist/telephonyMediaRoutes.d.ts +72 -0
  261. package/dist/telephonyOutcome.d.ts +273 -0
  262. package/dist/testing/accuracy.d.ts +1 -1
  263. package/dist/testing/benchmark.d.ts +9 -9
  264. package/dist/testing/corrected.d.ts +5 -5
  265. package/dist/testing/duplex.d.ts +3 -3
  266. package/dist/testing/fixtures.d.ts +3 -3
  267. package/dist/testing/index.d.ts +13 -13
  268. package/dist/testing/index.js +5425 -185
  269. package/dist/testing/ioProviderSimulator.d.ts +5 -5
  270. package/dist/testing/providerSimulator.d.ts +5 -5
  271. package/dist/testing/review.d.ts +4 -4
  272. package/dist/testing/sessionBenchmark.d.ts +3 -3
  273. package/dist/testing/stt.d.ts +3 -3
  274. package/dist/testing/telephony.d.ts +25 -0
  275. package/dist/testing/tts.d.ts +1 -1
  276. package/dist/toolContract.d.ts +161 -0
  277. package/dist/toolRuntime.d.ts +50 -0
  278. package/dist/trace.d.ts +46 -7
  279. package/dist/traceDeliveryRoutes.d.ts +86 -0
  280. package/dist/traceTimeline.d.ts +97 -0
  281. package/dist/turnDetection.d.ts +1 -1
  282. package/dist/turnLatency.d.ts +95 -0
  283. package/dist/turnProfiles.d.ts +2 -2
  284. package/dist/turnQuality.d.ts +94 -0
  285. package/dist/types.d.ts +236 -80
  286. package/dist/voiceMonitoring.d.ts +444 -0
  287. package/dist/vue/VoiceCallDebuggerLaunch.d.ts +68 -0
  288. package/dist/vue/VoiceDeliveryRuntime.d.ts +30 -0
  289. package/dist/vue/VoiceOpsActionCenter.d.ts +13 -0
  290. package/dist/vue/VoiceOpsStatus.d.ts +30 -0
  291. package/dist/vue/VoicePlatformCoverage.d.ts +23 -0
  292. package/dist/vue/VoiceProofTrends.d.ts +21 -0
  293. package/dist/vue/VoiceProviderCapabilities.d.ts +51 -0
  294. package/dist/vue/VoiceProviderContracts.d.ts +21 -0
  295. package/dist/vue/VoiceProviderSimulationControls.d.ts +88 -0
  296. package/dist/vue/VoiceProviderStatus.d.ts +51 -0
  297. package/dist/vue/VoiceReadinessFailures.d.ts +21 -0
  298. package/dist/vue/VoiceRoutingStatus.d.ts +51 -0
  299. package/dist/vue/VoiceSessionSnapshot.d.ts +68 -0
  300. package/dist/vue/VoiceTurnLatency.d.ts +69 -0
  301. package/dist/vue/VoiceTurnQuality.d.ts +51 -0
  302. package/dist/vue/index.d.ts +38 -3
  303. package/dist/vue/index.js +10142 -56
  304. package/dist/vue/useVoiceAgentSquadStatus.d.ts +9 -0
  305. package/dist/vue/useVoiceCallDebugger.d.ts +10 -0
  306. package/dist/vue/useVoiceCampaignDialerProof.d.ts +11 -0
  307. package/dist/vue/useVoiceController.d.ts +4 -2
  308. package/dist/vue/useVoiceDeliveryRuntime.d.ts +13 -0
  309. package/dist/vue/useVoiceLiveOps.d.ts +9 -0
  310. package/dist/vue/useVoiceOpsActionCenter.d.ts +11 -0
  311. package/dist/vue/useVoiceOpsStatus.d.ts +9 -0
  312. package/dist/vue/useVoicePlatformCoverage.d.ts +9 -0
  313. package/dist/vue/useVoiceProfileComparison.d.ts +9 -0
  314. package/dist/vue/useVoiceProofTrends.d.ts +9 -0
  315. package/dist/vue/useVoiceProviderCapabilities.d.ts +9 -0
  316. package/dist/vue/useVoiceProviderContracts.d.ts +9 -0
  317. package/dist/vue/useVoiceProviderSimulationControls.d.ts +24 -0
  318. package/dist/vue/useVoiceProviderStatus.d.ts +3 -3
  319. package/dist/vue/useVoiceReadinessFailures.d.ts +943 -0
  320. package/dist/vue/useVoiceRoutingStatus.d.ts +8 -0
  321. package/dist/vue/useVoiceSessionSnapshot.d.ts +10 -0
  322. package/dist/vue/useVoiceStream.d.ts +5 -2
  323. package/dist/vue/useVoiceTraceTimeline.d.ts +9 -0
  324. package/dist/vue/useVoiceTurnLatency.d.ts +10 -0
  325. package/dist/vue/useVoiceTurnQuality.d.ts +9 -0
  326. package/dist/vue/useVoiceWorkflowStatus.d.ts +9 -0
  327. package/dist/workflowContract.d.ts +91 -0
  328. package/fixtures/manifest.json +356 -197
  329. package/package.json +260 -256
@@ -0,0 +1,176 @@
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
+ export 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 runVoiceReconnectContract: (options: VoiceReconnectContractOptions) => VoiceReconnectContractReport;
83
+ export declare const buildVoiceReconnectProofReport: (options?: VoiceReconnectProofOptions) => VoiceReconnectProofReport;
84
+ export declare const createVoiceReconnectProofRoutes: (options?: VoiceReconnectProofRoutesOptions) => 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
+ [x: string]: {
113
+ post: {
114
+ body: unknown;
115
+ params: {};
116
+ query: unknown;
117
+ headers: unknown;
118
+ response: {
119
+ 200: Response;
120
+ };
121
+ };
122
+ };
123
+ }, {
124
+ derive: {};
125
+ resolve: {};
126
+ schema: {};
127
+ standaloneSchema: {};
128
+ response: {};
129
+ }, {
130
+ derive: {};
131
+ resolve: {};
132
+ schema: {};
133
+ standaloneSchema: {};
134
+ response: {};
135
+ }>;
136
+ export declare const renderVoiceReconnectContractHTML: (report: VoiceReconnectContractReport) => string;
137
+ export declare const createVoiceReconnectContractRoutes: (options: VoiceReconnectContractRoutesOptions) => Elysia<"", {
138
+ decorator: {};
139
+ store: {};
140
+ derive: {};
141
+ resolve: {};
142
+ }, {
143
+ typebox: {};
144
+ error: {};
145
+ }, {
146
+ schema: {};
147
+ standaloneSchema: {};
148
+ macro: {};
149
+ macroFn: {};
150
+ parser: {};
151
+ response: {};
152
+ }, {
153
+ [x: string]: {
154
+ get: {
155
+ body: unknown;
156
+ params: {};
157
+ query: unknown;
158
+ headers: unknown;
159
+ response: {
160
+ 200: Response;
161
+ };
162
+ };
163
+ };
164
+ }, {
165
+ derive: {};
166
+ resolve: {};
167
+ schema: {};
168
+ standaloneSchema: {};
169
+ response: {};
170
+ }, {
171
+ derive: {};
172
+ resolve: {};
173
+ schema: {};
174
+ standaloneSchema: {};
175
+ response: {};
176
+ }>;
@@ -1,8 +1,8 @@
1
- import { Elysia } from 'elysia';
2
- import { type VoiceProviderHealthSummary } from './providerHealth';
3
- import type { StoredVoiceTraceEvent, VoiceTraceEventStore } from './trace';
4
- import type { VoiceIOProviderFailureSimulationMode, VoiceIOProviderFailureSimulationResult } from './testing/ioProviderSimulator';
5
- export type VoiceRoutingEventKind = 'llm' | 'stt' | 'tts';
1
+ import { Elysia } from "elysia";
2
+ import { type VoiceProviderHealthSummary } from "./providerHealth";
3
+ import type { StoredVoiceTraceEvent, VoiceTraceEventStore } from "./trace";
4
+ import type { VoiceIOProviderFailureSimulationMode, VoiceIOProviderFailureSimulationResult } from "./testing/ioProviderSimulator";
5
+ export type VoiceRoutingEventKind = "llm" | "stt" | "tts";
6
6
  export type VoiceRoutingEvent = {
7
7
  at: number;
8
8
  attempt?: number;
@@ -12,13 +12,49 @@ export type VoiceRoutingEvent = {
12
12
  kind: VoiceRoutingEventKind;
13
13
  latencyBudgetMs?: number;
14
14
  operation?: string;
15
+ profileId?: string;
16
+ profileLabel?: string;
15
17
  provider?: string;
18
+ providerRoutes?: Record<string, string>;
19
+ routing?: string;
20
+ scenarioId?: string;
16
21
  selectedProvider?: string;
17
22
  sessionId: string;
18
23
  status?: string;
24
+ suppressionRemainingMs?: number;
19
25
  timedOut: boolean;
20
26
  turnId?: string;
21
27
  };
28
+ export type VoiceRoutingDecisionSummary = VoiceRoutingEvent;
29
+ export type VoiceRoutingDecisionSummaryOptions = {
30
+ kind?: VoiceRoutingEventKind;
31
+ limit?: number;
32
+ sessionId?: string;
33
+ store: VoiceTraceEventStore;
34
+ };
35
+ export type VoiceRoutingKindSummary = {
36
+ errorCount: number;
37
+ fallbackCount: number;
38
+ latest?: VoiceRoutingEvent;
39
+ providers: string[];
40
+ runCount: number;
41
+ timeoutCount: number;
42
+ };
43
+ export type VoiceRoutingSessionSummary = {
44
+ errorCount: number;
45
+ eventCount: number;
46
+ fallbackCount: number;
47
+ kinds: Record<VoiceRoutingEventKind, VoiceRoutingKindSummary>;
48
+ lastEventAt: number;
49
+ sessionId: string;
50
+ startedAt: number;
51
+ status: "healthy" | "fallback" | "degraded";
52
+ timeoutCount: number;
53
+ };
54
+ export type VoiceRoutingSessionSummaryOptions = {
55
+ limit?: number;
56
+ sessionId?: string;
57
+ };
22
58
  export type VoiceResilienceLink = {
23
59
  href: string;
24
60
  label: string;
@@ -42,6 +78,7 @@ export type VoiceResiliencePageData = {
42
78
  links?: readonly VoiceResilienceLink[];
43
79
  llmProviderHealth: VoiceProviderHealthSummary<string>[];
44
80
  routingEvents: VoiceRoutingEvent[];
81
+ routingSessions: VoiceRoutingSessionSummary[];
45
82
  sttProviderHealth: VoiceProviderHealthSummary<string>[];
46
83
  sttSimulation?: VoiceResilienceIOSimulator<string>;
47
84
  title?: string;
@@ -63,6 +100,9 @@ export type VoiceResilienceRoutesOptions = {
63
100
  ttsSimulation?: VoiceResilienceIOSimulator<string>;
64
101
  };
65
102
  export declare const listVoiceRoutingEvents: (events: StoredVoiceTraceEvent[]) => VoiceRoutingEvent[];
103
+ export declare const summarizeVoiceRoutingDecision: (events: StoredVoiceTraceEvent[], options?: Omit<VoiceRoutingDecisionSummaryOptions, "store">) => VoiceRoutingDecisionSummary | null;
104
+ export declare const summarizeVoiceRoutingSessions: (events: StoredVoiceTraceEvent[] | VoiceRoutingEvent[], options?: VoiceRoutingSessionSummaryOptions) => VoiceRoutingSessionSummary[];
105
+ export declare const createVoiceRoutingDecisionSummary: (options: VoiceRoutingDecisionSummaryOptions) => Promise<VoiceRoutingDecisionSummary | null>;
66
106
  export declare const renderVoiceResilienceHTML: (input: VoiceResiliencePageData) => string;
67
107
  export declare const createVoiceResilienceRoutes: (options: VoiceResilienceRoutesOptions) => Elysia<"", {
68
108
  decorator: {};
package/dist/routing.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- import type { VoiceSTTRoutingCorrectionMode, VoiceSTTRoutingGoal, VoiceSTTRoutingStrategy, VoiceTurnCorrectionHandler } from './types';
1
+ import type { VoiceSTTRoutingCorrectionMode, VoiceSTTRoutingGoal, VoiceSTTRoutingStrategy, VoiceTurnCorrectionHandler } from "./types";
2
2
  export declare const resolveVoiceSTTRoutingStrategy: (goal?: VoiceSTTRoutingGoal) => VoiceSTTRoutingStrategy;
3
3
  export declare const createVoiceSTTRoutingCorrectionHandler: (mode?: VoiceSTTRoutingCorrectionMode) => VoiceTurnCorrectionHandler | undefined;
@@ -1,6 +1,6 @@
1
- import type { StoredVoiceCallReviewArtifact, VoiceCallReviewArtifact } from './testing/review';
2
- import type { VoiceOpsTask } from './ops';
3
- import type { VoiceCallDisposition, VoiceRuntimeOpsConfig, VoiceSessionHandle, VoiceSessionRecord } from './types';
1
+ import type { StoredVoiceCallReviewArtifact, VoiceCallReviewArtifact } from "./testing/review";
2
+ import type { VoiceOpsTask } from "./ops";
3
+ import type { VoiceCallDisposition, VoiceRuntimeOpsConfig, VoiceSessionHandle, VoiceSessionRecord } from "./types";
4
4
  export declare const createVoiceCallReviewFromSession: <TSession extends VoiceSessionRecord = VoiceSessionRecord>(input: {
5
5
  disposition: VoiceCallDisposition;
6
6
  generatedAt?: number;
package/dist/s3Store.d.ts CHANGED
@@ -1,12 +1,12 @@
1
- import type { S3Client, S3Options } from 'bun';
2
- import type { StoredVoiceCallReviewArtifact, VoiceCallReviewStore } from './testing/review';
1
+ import type { S3Client, S3Options } from "bun";
2
+ import type { StoredVoiceCallReviewArtifact, VoiceCallReviewStore } from "./testing/review";
3
3
  export type VoiceS3ReviewStoreFile = {
4
4
  delete: () => Promise<void>;
5
5
  exists: () => Promise<boolean>;
6
6
  text: () => Promise<string>;
7
7
  write: (data: string) => Promise<number>;
8
8
  };
9
- export type VoiceS3ReviewStoreClient = Pick<S3Client, 'file' | 'list'>;
9
+ export type VoiceS3ReviewStoreClient = Pick<S3Client, "file" | "list">;
10
10
  export type VoiceS3ReviewStoreOptions = S3Options & {
11
11
  client?: VoiceS3ReviewStoreClient;
12
12
  keyPrefix?: string;
package/dist/session.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import type { CreateVoiceSessionOptions, VoiceSessionHandle, VoiceSessionRecord } from './types';
1
+ import type { CreateVoiceSessionOptions, VoiceSessionHandle, VoiceSessionRecord } from "./types";
2
2
  export declare const createVoiceSession: <TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown>(options: CreateVoiceSessionOptions<TContext, TSession, TResult>) => VoiceSessionHandle<TContext, TSession, TResult>;
@@ -1,5 +1,5 @@
1
- import { Elysia } from 'elysia';
2
- import { type StoredVoiceTraceEvent, type VoiceTraceEvaluationOptions, type VoiceTraceEventStore, type VoiceTraceRedactionConfig, type VoiceTraceSummary, type VoiceTraceEvaluation } from './trace';
1
+ import { Elysia } from "elysia";
2
+ import { type StoredVoiceTraceEvent, type VoiceTraceEvaluationOptions, type VoiceTraceEventStore, type VoiceTraceRedactionConfig, type VoiceTraceSummary, type VoiceTraceEvaluation } from "./trace";
3
3
  export type VoiceSessionReplayTurn = {
4
4
  assistantReplies: string[];
5
5
  committedText?: string;
@@ -24,16 +24,17 @@ export type VoiceSessionReplay = {
24
24
  offsetMs?: number;
25
25
  payload: Record<string, unknown>;
26
26
  turnId?: string;
27
- type: StoredVoiceTraceEvent['type'];
27
+ type: StoredVoiceTraceEvent["type"];
28
28
  }>;
29
29
  turns: VoiceSessionReplayTurn[];
30
30
  };
31
- export type VoiceSessionListStatus = 'failed' | 'healthy';
31
+ export type VoiceSessionListStatus = "failed" | "healthy";
32
32
  export type VoiceSessionListItem = {
33
33
  endedAt?: number;
34
34
  errorCount: number;
35
35
  eventCount: number;
36
36
  latestOutcome?: string;
37
+ operationsRecordHref?: string;
37
38
  providerErrors: Record<string, number>;
38
39
  providers: string[];
39
40
  replayHref: string;
@@ -43,13 +44,23 @@ export type VoiceSessionListItem = {
43
44
  transcriptCount: number;
44
45
  turnCount: number;
45
46
  };
47
+ export type VoiceProviderFallbackRecoverySummary = {
48
+ recovered: number;
49
+ recoveredSessions: number;
50
+ recoveredTurns: number;
51
+ status: "fail" | "pass";
52
+ total: number;
53
+ unresolvedErrors: number;
54
+ unresolvedSessions: number;
55
+ };
46
56
  export type VoiceSessionListOptions = {
47
57
  events?: StoredVoiceTraceEvent[];
48
58
  limit?: number;
59
+ operationsRecordHref?: false | string | ((session: Omit<VoiceSessionListItem, "operationsRecordHref" | "replayHref">) => string);
49
60
  provider?: string;
50
61
  q?: string;
51
- replayHref?: false | string | ((session: Omit<VoiceSessionListItem, 'replayHref'>) => string);
52
- status?: VoiceSessionListStatus | 'all';
62
+ replayHref?: false | string | ((session: Omit<VoiceSessionListItem, "replayHref">) => string);
63
+ status?: VoiceSessionListStatus | "all";
53
64
  store?: VoiceTraceEventStore;
54
65
  };
55
66
  export type VoiceSessionListHTMLHandlerOptions = VoiceSessionListOptions & {
@@ -69,7 +80,7 @@ export type VoiceSessionReplayOptions = {
69
80
  store?: VoiceTraceEventStore;
70
81
  title?: string;
71
82
  };
72
- export type VoiceSessionReplayHTMLHandlerOptions = Omit<VoiceSessionReplayOptions, 'sessionId'> & {
83
+ export type VoiceSessionReplayHTMLHandlerOptions = Omit<VoiceSessionReplayOptions, "sessionId"> & {
73
84
  headers?: HeadersInit;
74
85
  render?: (replay: VoiceSessionReplay) => string | Promise<string>;
75
86
  };
@@ -78,6 +89,7 @@ export type VoiceSessionReplayRoutesOptions = VoiceSessionReplayHTMLHandlerOptio
78
89
  name?: string;
79
90
  path?: string;
80
91
  };
92
+ export declare const summarizeVoiceProviderFallbackRecovery: (events: StoredVoiceTraceEvent[]) => VoiceProviderFallbackRecoverySummary;
81
93
  export declare const summarizeVoiceSessionReplay: (options: VoiceSessionReplayOptions) => Promise<VoiceSessionReplay>;
82
94
  export declare const summarizeVoiceSessions: (options?: VoiceSessionListOptions) => Promise<VoiceSessionListItem[]>;
83
95
  export declare const renderVoiceSessionsHTML: (sessions: VoiceSessionListItem[]) => string;
@@ -0,0 +1,109 @@
1
+ import { Elysia } from "elysia";
2
+ import type { MediaProcessorGraphSnapshot } from "@absolutejs/media";
3
+ import type { VoiceProofAssertionResult, VoiceProofAssertionSummary } from "./proofAssertions";
4
+ import type { VoiceCampaignTelephonyOutcomeSnapshot } from "./campaign";
5
+ import type { StoredVoiceTraceEvent } from "./trace";
6
+ export type VoiceSessionSnapshotStatus = "fail" | "pass" | "warn";
7
+ export type VoiceSessionSnapshotQualityEvidence = {
8
+ name: string;
9
+ report: unknown;
10
+ status?: VoiceSessionSnapshotStatus;
11
+ };
12
+ export type VoiceSessionSnapshotArtifactKind = "failure-replay" | "incident-bundle" | "operations-record" | "provider-fallback" | "trace" | "custom";
13
+ export type VoiceSessionSnapshotArtifact = {
14
+ href?: string;
15
+ kind: VoiceSessionSnapshotArtifactKind;
16
+ label: string;
17
+ report?: unknown;
18
+ status?: VoiceSessionSnapshotStatus;
19
+ };
20
+ export type VoiceSessionSnapshot = {
21
+ artifacts: readonly VoiceSessionSnapshotArtifact[];
22
+ capturedAt: number;
23
+ media: readonly MediaProcessorGraphSnapshot[];
24
+ name?: string;
25
+ proofAssertions: readonly VoiceProofAssertionResult[];
26
+ proofSummary: VoiceProofAssertionSummary;
27
+ providerRoutingEvents: readonly StoredVoiceTraceEvent[];
28
+ quality: readonly VoiceSessionSnapshotQualityEvidence[];
29
+ scenarioId?: string;
30
+ schema: "absolute.voice.session.snapshot.v1";
31
+ sessionId: string;
32
+ status: VoiceSessionSnapshotStatus;
33
+ telephonyOutcomes: readonly VoiceCampaignTelephonyOutcomeSnapshot[];
34
+ turnId?: string;
35
+ };
36
+ export type VoiceSessionSnapshotInput = {
37
+ artifacts?: readonly VoiceSessionSnapshotArtifact[];
38
+ media?: readonly MediaProcessorGraphSnapshot[];
39
+ name?: string;
40
+ proofAssertions?: readonly VoiceProofAssertionResult[];
41
+ providerRoutingEvents?: readonly StoredVoiceTraceEvent[];
42
+ quality?: readonly VoiceSessionSnapshotQualityEvidence[];
43
+ scenarioId?: string;
44
+ sessionId: string;
45
+ telephonyOutcomes?: readonly VoiceCampaignTelephonyOutcomeSnapshot[];
46
+ turnId?: string;
47
+ };
48
+ export type VoiceSessionSnapshotRouteSourceInput = {
49
+ request: Request;
50
+ sessionId: string;
51
+ turnId?: string;
52
+ };
53
+ export type VoiceSessionSnapshotRouteSource = VoiceSessionSnapshot | VoiceSessionSnapshotInput | ((input: VoiceSessionSnapshotRouteSourceInput) => Promise<VoiceSessionSnapshot | VoiceSessionSnapshotInput> | VoiceSessionSnapshot | VoiceSessionSnapshotInput);
54
+ export type VoiceSessionSnapshotRoutesOptions = Partial<VoiceSessionSnapshotInput> & {
55
+ downloadPath?: false | string;
56
+ headers?: HeadersInit;
57
+ name?: string;
58
+ path?: string;
59
+ source?: VoiceSessionSnapshotRouteSource;
60
+ };
61
+ export declare const buildVoiceSessionSnapshotStatus: (input: {
62
+ artifacts?: readonly Pick<VoiceSessionSnapshotArtifact, "status">[];
63
+ media?: readonly Pick<MediaProcessorGraphSnapshot, "report">[];
64
+ proofSummary?: Pick<VoiceProofAssertionSummary, "ok">;
65
+ quality?: readonly Pick<VoiceSessionSnapshotQualityEvidence, "status">[];
66
+ telephonyOutcomes?: readonly Pick<VoiceCampaignTelephonyOutcomeSnapshot, "campaignOutcome" | "duplicate">[];
67
+ }) => VoiceSessionSnapshotStatus;
68
+ export declare const buildVoiceSessionSnapshot: (input: VoiceSessionSnapshotInput) => VoiceSessionSnapshot;
69
+ export declare const parseVoiceSessionSnapshot: (snapshot: VoiceSessionSnapshot) => VoiceSessionSnapshot;
70
+ export declare const createVoiceSessionSnapshotRoutes: (options?: VoiceSessionSnapshotRoutesOptions) => Elysia<"", {
71
+ decorator: {};
72
+ store: {};
73
+ derive: {};
74
+ resolve: {};
75
+ }, {
76
+ typebox: {};
77
+ error: {};
78
+ }, {
79
+ schema: {};
80
+ standaloneSchema: {};
81
+ macro: {};
82
+ macroFn: {};
83
+ parser: {};
84
+ response: {};
85
+ }, {
86
+ [x: string]: {
87
+ get: {
88
+ body: unknown;
89
+ params: {};
90
+ query: unknown;
91
+ headers: unknown;
92
+ response: {
93
+ 200: Response;
94
+ };
95
+ };
96
+ };
97
+ }, {
98
+ derive: {};
99
+ resolve: {};
100
+ schema: {};
101
+ standaloneSchema: {};
102
+ response: {};
103
+ }, {
104
+ derive: {};
105
+ resolve: {};
106
+ schema: {};
107
+ standaloneSchema: {};
108
+ response: {};
109
+ }>;
@@ -0,0 +1,143 @@
1
+ import { Elysia } from "elysia";
2
+ import { type VoiceEvalReport, type VoiceEvalRoutesOptions, type VoiceScenarioEvalDefinition, type VoiceScenarioEvalReport, type VoiceScenarioFixture, type VoiceScenarioFixtureEvalReport, type VoiceScenarioFixtureStore } from "./evalRoutes";
3
+ import { type VoiceOutcomeContractDefinition, type VoiceOutcomeContractOptions, type VoiceOutcomeContractSuiteReport } from "./outcomeContract";
4
+ import { type VoiceToolContractDefinition, type VoiceToolContractSuiteReport } from "./toolContract";
5
+ import type { VoiceQualityThresholds } from "./qualityRoutes";
6
+ import type { VoiceTraceEventStore } from "./trace";
7
+ import type { VoiceSessionRecord } from "./types";
8
+ export type VoiceSimulationSuiteStatus = "pass" | "fail";
9
+ export type VoiceSimulationSuiteReport = {
10
+ actions: VoiceSimulationSuiteAction[];
11
+ checkedAt: number;
12
+ failed: number;
13
+ fixtures?: VoiceScenarioFixtureEvalReport;
14
+ outcomes?: VoiceOutcomeContractSuiteReport;
15
+ passed: number;
16
+ scenarios?: VoiceScenarioEvalReport;
17
+ sessions?: VoiceEvalReport;
18
+ status: VoiceSimulationSuiteStatus;
19
+ summary: {
20
+ fixtures?: VoiceSimulationSuiteSectionSummary;
21
+ outcomes?: VoiceSimulationSuiteSectionSummary;
22
+ scenarios?: VoiceSimulationSuiteSectionSummary;
23
+ sessions?: VoiceSimulationSuiteSectionSummary;
24
+ tools?: VoiceSimulationSuiteSectionSummary;
25
+ };
26
+ tools?: VoiceToolContractSuiteReport;
27
+ total: number;
28
+ };
29
+ export type VoiceSimulationSuiteAction = {
30
+ description: string;
31
+ href?: string;
32
+ label: string;
33
+ section: "fixtures" | "outcomes" | "scenarios" | "sessions" | "tools";
34
+ severity: "error" | "warning";
35
+ };
36
+ export type VoiceSimulationSuiteSectionSummary = {
37
+ failed: number;
38
+ passed: number;
39
+ status: VoiceSimulationSuiteStatus;
40
+ total: number;
41
+ };
42
+ export type VoiceSimulationSuiteSection = "fixtures" | "outcomes" | "scenarios" | "sessions" | "tools";
43
+ export type VoiceSimulationSuiteAssertionInput = {
44
+ maxActions?: number;
45
+ maxFailed?: number;
46
+ minPassed?: number;
47
+ minSections?: number;
48
+ requiredSections?: VoiceSimulationSuiteSection[];
49
+ sectionMinimums?: Partial<Record<VoiceSimulationSuiteSection, number>>;
50
+ };
51
+ export type VoiceSimulationSuiteAssertionReport = {
52
+ actions: number;
53
+ failed: number;
54
+ issues: string[];
55
+ ok: boolean;
56
+ passed: number;
57
+ sections: VoiceSimulationSuiteSection[];
58
+ sectionTotals: Partial<Record<VoiceSimulationSuiteSection, number>>;
59
+ status: VoiceSimulationSuiteStatus;
60
+ total: number;
61
+ };
62
+ export type VoiceSimulationSuiteOptions<TSession extends VoiceSessionRecord = VoiceSessionRecord> = {
63
+ actionLinks?: {
64
+ fixtures?: string;
65
+ outcomes?: string;
66
+ scenarios?: string;
67
+ sessions?: string;
68
+ tools?: string;
69
+ };
70
+ fixtures?: VoiceScenarioFixture[];
71
+ fixtureStore?: VoiceScenarioFixtureStore;
72
+ include?: {
73
+ fixtures?: boolean;
74
+ outcomes?: boolean;
75
+ scenarios?: boolean;
76
+ sessions?: boolean;
77
+ tools?: boolean;
78
+ };
79
+ limit?: number;
80
+ operationsRecordHref?: false | string | ((sessionId: string) => string);
81
+ outcomes?: Omit<VoiceOutcomeContractOptions<TSession>, "contracts"> & {
82
+ contracts: VoiceOutcomeContractDefinition[];
83
+ };
84
+ scenarios?: VoiceScenarioEvalDefinition[];
85
+ store?: VoiceTraceEventStore;
86
+ thresholds?: VoiceQualityThresholds;
87
+ tools?: VoiceToolContractDefinition[];
88
+ };
89
+ export type VoiceSimulationSuiteRoutesOptions<TSession extends VoiceSessionRecord = VoiceSessionRecord> = VoiceSimulationSuiteOptions<TSession> & {
90
+ headers?: HeadersInit;
91
+ htmlPath?: false | string;
92
+ name?: string;
93
+ path?: string;
94
+ render?: (report: VoiceSimulationSuiteReport) => string | Promise<string>;
95
+ title?: string;
96
+ };
97
+ export declare const runVoiceSimulationSuite: <TSession extends VoiceSessionRecord = VoiceSessionRecord>(options: VoiceSimulationSuiteOptions<TSession>) => Promise<VoiceSimulationSuiteReport>;
98
+ export declare const evaluateVoiceSimulationSuiteEvidence: (report: VoiceSimulationSuiteReport, input?: VoiceSimulationSuiteAssertionInput) => VoiceSimulationSuiteAssertionReport;
99
+ export declare const assertVoiceSimulationSuiteEvidence: (report: VoiceSimulationSuiteReport, input?: VoiceSimulationSuiteAssertionInput) => VoiceSimulationSuiteAssertionReport;
100
+ export declare const renderVoiceSimulationSuiteHTML: (report: VoiceSimulationSuiteReport, options?: {
101
+ title?: string;
102
+ }) => string;
103
+ export declare const createVoiceSimulationSuiteRoutes: <TSession extends VoiceSessionRecord = VoiceSessionRecord>(options: VoiceSimulationSuiteRoutesOptions<TSession>) => Elysia<"", {
104
+ decorator: {};
105
+ store: {};
106
+ derive: {};
107
+ resolve: {};
108
+ }, {
109
+ typebox: {};
110
+ error: {};
111
+ }, {
112
+ schema: {};
113
+ standaloneSchema: {};
114
+ macro: {};
115
+ macroFn: {};
116
+ parser: {};
117
+ response: {};
118
+ }, {
119
+ [x: string]: {
120
+ get: {
121
+ body: unknown;
122
+ params: {};
123
+ query: unknown;
124
+ headers: unknown;
125
+ response: {
126
+ 200: VoiceSimulationSuiteReport;
127
+ };
128
+ };
129
+ };
130
+ }, {
131
+ derive: {};
132
+ resolve: {};
133
+ schema: {};
134
+ standaloneSchema: {};
135
+ response: {};
136
+ }, {
137
+ derive: {};
138
+ resolve: {};
139
+ schema: {};
140
+ standaloneSchema: {};
141
+ response: {};
142
+ }>;
143
+ export type VoiceSimulationSuiteEvalRoutesOptions = VoiceEvalRoutesOptions;