@absolutejs/voice 0.0.22-beta.4 → 0.0.22-beta.400

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 (277) hide show
  1. package/README.md +3537 -55
  2. package/dist/agent.d.ts +62 -0
  3. package/dist/agentSquadContract.d.ts +98 -0
  4. package/dist/angular/index.d.ts +19 -0
  5. package/dist/angular/index.js +4599 -1041
  6. package/dist/angular/voice-agent-squad-status.service.d.ts +12 -0
  7. package/dist/angular/voice-campaign-dialer-proof.service.d.ts +14 -0
  8. package/dist/angular/voice-controller.service.d.ts +1 -0
  9. package/dist/angular/voice-delivery-runtime.component.d.ts +17 -0
  10. package/dist/angular/voice-delivery-runtime.service.d.ts +16 -0
  11. package/dist/angular/voice-live-ops.service.d.ts +11 -0
  12. package/dist/angular/voice-ops-action-center.service.d.ts +13 -0
  13. package/dist/angular/voice-ops-status.component.d.ts +15 -0
  14. package/dist/angular/voice-ops-status.service.d.ts +12 -0
  15. package/dist/angular/voice-platform-coverage.service.d.ts +12 -0
  16. package/dist/angular/voice-profile-comparison.service.d.ts +12 -0
  17. package/dist/angular/voice-proof-trends.service.d.ts +12 -0
  18. package/dist/angular/voice-provider-capabilities.service.d.ts +12 -0
  19. package/dist/angular/voice-provider-contracts.service.d.ts +12 -0
  20. package/dist/angular/voice-provider-status.service.d.ts +12 -0
  21. package/dist/angular/voice-readiness-failures.service.d.ts +13 -0
  22. package/dist/angular/voice-routing-status.service.d.ts +11 -0
  23. package/dist/angular/voice-session-snapshot.service.d.ts +13 -0
  24. package/dist/angular/voice-stream.service.d.ts +4 -0
  25. package/dist/angular/voice-trace-timeline.service.d.ts +12 -0
  26. package/dist/angular/voice-turn-latency.service.d.ts +13 -0
  27. package/dist/angular/voice-turn-quality.service.d.ts +12 -0
  28. package/dist/angular/voice-workflow-status.service.d.ts +12 -0
  29. package/dist/assistantHealth.d.ts +81 -0
  30. package/dist/audit.d.ts +128 -0
  31. package/dist/auditDeliveryRoutes.d.ts +85 -0
  32. package/dist/auditExport.d.ts +34 -0
  33. package/dist/auditRoutes.d.ts +66 -0
  34. package/dist/auditSinks.d.ts +151 -0
  35. package/dist/bargeInRoutes.d.ts +56 -0
  36. package/dist/browserCallProfiles.d.ts +120 -0
  37. package/dist/browserMediaRoutes.d.ts +62 -0
  38. package/dist/campaign.d.ts +794 -0
  39. package/dist/campaignDialers.d.ts +111 -0
  40. package/dist/client/actions.d.ts +116 -0
  41. package/dist/client/agentSquadStatus.d.ts +37 -0
  42. package/dist/client/agentSquadStatusWidget.d.ts +24 -0
  43. package/dist/client/bargeInMonitor.d.ts +7 -0
  44. package/dist/client/browserMedia.d.ts +8 -0
  45. package/dist/client/campaignDialerProof.d.ts +23 -0
  46. package/dist/client/connection.d.ts +3 -0
  47. package/dist/client/deliveryRuntime.d.ts +34 -0
  48. package/dist/client/deliveryRuntimeWidget.d.ts +37 -0
  49. package/dist/client/duplex.d.ts +1 -1
  50. package/dist/client/htmxBootstrap.js +994 -16
  51. package/dist/client/index.d.ts +85 -0
  52. package/dist/client/index.js +9689 -10
  53. package/dist/client/liveOps.d.ts +22 -0
  54. package/dist/client/liveOpsWidget.d.ts +23 -0
  55. package/dist/client/liveTurnLatency.d.ts +41 -0
  56. package/dist/client/opsActionCenter.d.ts +54 -0
  57. package/dist/client/opsActionCenterWidget.d.ts +29 -0
  58. package/dist/client/opsActionHistory.d.ts +19 -0
  59. package/dist/client/opsActionHistoryWidget.d.ts +11 -0
  60. package/dist/client/opsStatus.d.ts +19 -0
  61. package/dist/client/opsStatusWidget.d.ts +40 -0
  62. package/dist/client/platformCoverage.d.ts +19 -0
  63. package/dist/client/platformCoverageWidget.d.ts +37 -0
  64. package/dist/client/profileComparison.d.ts +19 -0
  65. package/dist/client/profileComparisonWidget.d.ts +41 -0
  66. package/dist/client/profileSwitchRecommendation.d.ts +19 -0
  67. package/dist/client/profileSwitchRecommendationWidget.d.ts +12 -0
  68. package/dist/client/proofTrends.d.ts +19 -0
  69. package/dist/client/proofTrendsWidget.d.ts +37 -0
  70. package/dist/client/providerCapabilities.d.ts +19 -0
  71. package/dist/client/providerCapabilitiesWidget.d.ts +32 -0
  72. package/dist/client/providerContracts.d.ts +19 -0
  73. package/dist/client/providerContractsWidget.d.ts +37 -0
  74. package/dist/client/providerSimulationControls.d.ts +33 -0
  75. package/dist/client/providerSimulationControlsWidget.d.ts +20 -0
  76. package/dist/client/providerStatus.d.ts +19 -0
  77. package/dist/client/providerStatusWidget.d.ts +32 -0
  78. package/dist/client/readinessFailures.d.ts +19 -0
  79. package/dist/client/readinessFailuresWidget.d.ts +42 -0
  80. package/dist/client/routingStatus.d.ts +19 -0
  81. package/dist/client/routingStatusWidget.d.ts +32 -0
  82. package/dist/client/sessionSnapshot.d.ts +21 -0
  83. package/dist/client/sessionSnapshotWidget.d.ts +28 -0
  84. package/dist/client/traceTimeline.d.ts +19 -0
  85. package/dist/client/traceTimelineWidget.d.ts +36 -0
  86. package/dist/client/turnLatency.d.ts +22 -0
  87. package/dist/client/turnLatencyWidget.d.ts +33 -0
  88. package/dist/client/turnQuality.d.ts +19 -0
  89. package/dist/client/turnQualityWidget.d.ts +32 -0
  90. package/dist/client/workflowStatus.d.ts +19 -0
  91. package/dist/competitiveCoverage.d.ts +141 -0
  92. package/dist/dataControl.d.ts +180 -0
  93. package/dist/deliveryRuntime.d.ts +158 -0
  94. package/dist/deliverySinkRoutes.d.ts +117 -0
  95. package/dist/demoReadyRoutes.d.ts +98 -0
  96. package/dist/diagnosticsRoutes.d.ts +44 -0
  97. package/dist/evalRoutes.d.ts +219 -0
  98. package/dist/fileStore.d.ts +14 -2
  99. package/dist/guardrails.d.ts +128 -0
  100. package/dist/handoff.d.ts +54 -0
  101. package/dist/handoffHealth.d.ts +94 -0
  102. package/dist/incidentBundle.d.ts +116 -0
  103. package/dist/index.d.ts +172 -9
  104. package/dist/index.js +34332 -3644
  105. package/dist/latencySlo.d.ts +56 -0
  106. package/dist/liveLatency.d.ts +78 -0
  107. package/dist/liveOps.d.ts +190 -0
  108. package/dist/mediaPipelineRoutes.d.ts +117 -0
  109. package/dist/modelAdapters.d.ts +151 -0
  110. package/dist/observabilityExport.d.ts +481 -0
  111. package/dist/openaiTTS.d.ts +18 -0
  112. package/dist/operationsRecord.d.ts +351 -0
  113. package/dist/opsActionAuditRoutes.d.ts +99 -0
  114. package/dist/opsConsoleRoutes.d.ts +80 -0
  115. package/dist/opsRecovery.d.ts +137 -0
  116. package/dist/opsStatus.d.ts +76 -0
  117. package/dist/opsStatusRoutes.d.ts +33 -0
  118. package/dist/opsWebhook.d.ts +126 -0
  119. package/dist/outcomeContract.d.ts +146 -0
  120. package/dist/phoneAgent.d.ts +139 -0
  121. package/dist/phoneAgentProductionSmoke.d.ts +115 -0
  122. package/dist/platformCoverage.d.ts +91 -0
  123. package/dist/postCallAnalysis.d.ts +98 -0
  124. package/dist/postgresStore.d.ts +13 -2
  125. package/dist/productionReadiness.d.ts +691 -0
  126. package/dist/profileSwitchRecommendation.d.ts +350 -0
  127. package/dist/proofAssertions.d.ts +32 -0
  128. package/dist/proofRunner.d.ts +79 -0
  129. package/dist/proofTrends.d.ts +715 -0
  130. package/dist/providerAdapters.d.ts +48 -0
  131. package/dist/providerCapabilities.d.ts +92 -0
  132. package/dist/providerDecisionTraces.d.ts +130 -0
  133. package/dist/providerHealth.d.ts +79 -0
  134. package/dist/providerOrchestration.d.ts +109 -0
  135. package/dist/providerRouterTraces.d.ts +35 -0
  136. package/dist/providerRoutingContract.d.ts +71 -0
  137. package/dist/providerSlo.d.ts +142 -0
  138. package/dist/providerStackRecommendations.d.ts +187 -0
  139. package/dist/qualityRoutes.d.ts +76 -0
  140. package/dist/queue.d.ts +61 -0
  141. package/dist/react/VoiceAgentSquadStatus.d.ts +5 -0
  142. package/dist/react/VoiceDeliveryRuntime.d.ts +7 -0
  143. package/dist/react/VoiceOpsActionCenter.d.ts +5 -0
  144. package/dist/react/VoiceOpsStatus.d.ts +6 -0
  145. package/dist/react/VoicePlatformCoverage.d.ts +6 -0
  146. package/dist/react/VoiceProfileComparison.d.ts +6 -0
  147. package/dist/react/VoiceProfileSwitchRecommendation.d.ts +6 -0
  148. package/dist/react/VoiceProofTrends.d.ts +6 -0
  149. package/dist/react/VoiceProviderCapabilities.d.ts +6 -0
  150. package/dist/react/VoiceProviderContracts.d.ts +6 -0
  151. package/dist/react/VoiceProviderSimulationControls.d.ts +5 -0
  152. package/dist/react/VoiceProviderStatus.d.ts +6 -0
  153. package/dist/react/VoiceReadinessFailures.d.ts +6 -0
  154. package/dist/react/VoiceRoutingStatus.d.ts +6 -0
  155. package/dist/react/VoiceSessionSnapshot.d.ts +6 -0
  156. package/dist/react/VoiceTraceTimeline.d.ts +6 -0
  157. package/dist/react/VoiceTurnLatency.d.ts +6 -0
  158. package/dist/react/VoiceTurnQuality.d.ts +6 -0
  159. package/dist/react/index.d.ts +39 -0
  160. package/dist/react/index.js +10432 -14
  161. package/dist/react/useVoiceAgentSquadStatus.d.ts +8 -0
  162. package/dist/react/useVoiceCampaignDialerProof.d.ts +10 -0
  163. package/dist/react/useVoiceController.d.ts +4 -0
  164. package/dist/react/useVoiceDeliveryRuntime.d.ts +13 -0
  165. package/dist/react/useVoiceLiveOps.d.ts +9 -0
  166. package/dist/react/useVoiceOpsActionCenter.d.ts +11 -0
  167. package/dist/react/useVoiceOpsStatus.d.ts +8 -0
  168. package/dist/react/useVoicePlatformCoverage.d.ts +8 -0
  169. package/dist/react/useVoiceProfileComparison.d.ts +8 -0
  170. package/dist/react/useVoiceProfileSwitchRecommendation.d.ts +8 -0
  171. package/dist/react/useVoiceProofTrends.d.ts +8 -0
  172. package/dist/react/useVoiceProviderCapabilities.d.ts +8 -0
  173. package/dist/react/useVoiceProviderContracts.d.ts +8 -0
  174. package/dist/react/useVoiceProviderSimulationControls.d.ts +10 -0
  175. package/dist/react/useVoiceProviderStatus.d.ts +8 -0
  176. package/dist/react/useVoiceReadinessFailures.d.ts +8 -0
  177. package/dist/react/useVoiceRoutingStatus.d.ts +8 -0
  178. package/dist/react/useVoiceSessionSnapshot.d.ts +9 -0
  179. package/dist/react/useVoiceStream.d.ts +4 -0
  180. package/dist/react/useVoiceTraceTimeline.d.ts +8 -0
  181. package/dist/react/useVoiceTurnLatency.d.ts +9 -0
  182. package/dist/react/useVoiceTurnQuality.d.ts +8 -0
  183. package/dist/react/useVoiceWorkflowStatus.d.ts +8 -0
  184. package/dist/readinessProfiles.d.ts +38 -0
  185. package/dist/realtimeChannel.d.ts +136 -0
  186. package/dist/realtimeProviderContracts.d.ts +133 -0
  187. package/dist/reconnectContract.d.ts +88 -0
  188. package/dist/resilienceRoutes.d.ts +146 -0
  189. package/dist/sessionReplay.d.ts +187 -0
  190. package/dist/sessionSnapshot.d.ts +98 -0
  191. package/dist/simulationSuite.d.ts +143 -0
  192. package/dist/sloCalibration.d.ts +185 -0
  193. package/dist/sqliteStore.d.ts +13 -2
  194. package/dist/svelte/createVoiceAgentSquadStatus.d.ts +9 -0
  195. package/dist/svelte/createVoiceCampaignDialerProof.d.ts +9 -0
  196. package/dist/svelte/createVoiceDeliveryRuntime.d.ts +11 -0
  197. package/dist/svelte/createVoiceLiveOps.d.ts +13 -0
  198. package/dist/svelte/createVoiceOpsActionCenter.d.ts +10 -0
  199. package/dist/svelte/createVoiceOpsStatus.d.ts +9 -0
  200. package/dist/svelte/createVoicePlatformCoverage.d.ts +7 -0
  201. package/dist/svelte/createVoiceProfileComparison.d.ts +7 -0
  202. package/dist/svelte/createVoiceProofTrends.d.ts +7 -0
  203. package/dist/svelte/createVoiceProviderCapabilities.d.ts +10 -0
  204. package/dist/svelte/createVoiceProviderContracts.d.ts +10 -0
  205. package/dist/svelte/createVoiceProviderSimulationControls.d.ts +11 -0
  206. package/dist/svelte/createVoiceProviderStatus.d.ts +10 -0
  207. package/dist/svelte/createVoiceReadinessFailures.d.ts +7 -0
  208. package/dist/svelte/createVoiceRoutingStatus.d.ts +10 -0
  209. package/dist/svelte/createVoiceSessionSnapshot.d.ts +13 -0
  210. package/dist/svelte/createVoiceTraceTimeline.d.ts +10 -0
  211. package/dist/svelte/createVoiceTurnLatency.d.ts +11 -0
  212. package/dist/svelte/createVoiceTurnQuality.d.ts +10 -0
  213. package/dist/svelte/createVoiceWorkflowStatus.d.ts +8 -0
  214. package/dist/svelte/index.d.ts +20 -0
  215. package/dist/svelte/index.js +6188 -408
  216. package/dist/telephony/contract.d.ts +61 -0
  217. package/dist/telephony/matrix.d.ts +97 -0
  218. package/dist/telephony/plivo.d.ts +303 -0
  219. package/dist/telephony/security.d.ts +182 -0
  220. package/dist/telephony/telnyx.d.ts +291 -0
  221. package/dist/telephony/twilio.d.ts +136 -2
  222. package/dist/telephonyMediaRoutes.d.ts +72 -0
  223. package/dist/telephonyOutcome.d.ts +273 -0
  224. package/dist/testing/index.d.ts +2 -0
  225. package/dist/testing/index.js +9133 -2560
  226. package/dist/testing/ioProviderSimulator.d.ts +41 -0
  227. package/dist/testing/providerSimulator.d.ts +44 -0
  228. package/dist/testing/telephony.d.ts +25 -0
  229. package/dist/toolContract.d.ts +161 -0
  230. package/dist/toolRuntime.d.ts +50 -0
  231. package/dist/trace.d.ts +31 -1
  232. package/dist/traceDeliveryRoutes.d.ts +86 -0
  233. package/dist/traceTimeline.d.ts +97 -0
  234. package/dist/turnLatency.d.ts +95 -0
  235. package/dist/turnQuality.d.ts +94 -0
  236. package/dist/types.d.ts +240 -4
  237. package/dist/voiceMonitoring.d.ts +444 -0
  238. package/dist/vue/VoiceDeliveryRuntime.d.ts +30 -0
  239. package/dist/vue/VoiceOpsActionCenter.d.ts +13 -0
  240. package/dist/vue/VoiceOpsStatus.d.ts +30 -0
  241. package/dist/vue/VoicePlatformCoverage.d.ts +23 -0
  242. package/dist/vue/VoiceProofTrends.d.ts +21 -0
  243. package/dist/vue/VoiceProviderCapabilities.d.ts +51 -0
  244. package/dist/vue/VoiceProviderContracts.d.ts +21 -0
  245. package/dist/vue/VoiceProviderSimulationControls.d.ts +88 -0
  246. package/dist/vue/VoiceProviderStatus.d.ts +51 -0
  247. package/dist/vue/VoiceReadinessFailures.d.ts +21 -0
  248. package/dist/vue/VoiceRoutingStatus.d.ts +51 -0
  249. package/dist/vue/VoiceSessionSnapshot.d.ts +68 -0
  250. package/dist/vue/VoiceTurnLatency.d.ts +69 -0
  251. package/dist/vue/VoiceTurnQuality.d.ts +51 -0
  252. package/dist/vue/index.d.ts +34 -0
  253. package/dist/vue/index.js +9874 -31
  254. package/dist/vue/useVoiceAgentSquadStatus.d.ts +9 -0
  255. package/dist/vue/useVoiceCampaignDialerProof.d.ts +11 -0
  256. package/dist/vue/useVoiceController.d.ts +2 -1
  257. package/dist/vue/useVoiceDeliveryRuntime.d.ts +13 -0
  258. package/dist/vue/useVoiceLiveOps.d.ts +9 -0
  259. package/dist/vue/useVoiceOpsActionCenter.d.ts +11 -0
  260. package/dist/vue/useVoiceOpsStatus.d.ts +9 -0
  261. package/dist/vue/useVoicePlatformCoverage.d.ts +9 -0
  262. package/dist/vue/useVoiceProfileComparison.d.ts +9 -0
  263. package/dist/vue/useVoiceProofTrends.d.ts +9 -0
  264. package/dist/vue/useVoiceProviderCapabilities.d.ts +9 -0
  265. package/dist/vue/useVoiceProviderContracts.d.ts +9 -0
  266. package/dist/vue/useVoiceProviderSimulationControls.d.ts +24 -0
  267. package/dist/vue/useVoiceProviderStatus.d.ts +9 -0
  268. package/dist/vue/useVoiceReadinessFailures.d.ts +899 -0
  269. package/dist/vue/useVoiceRoutingStatus.d.ts +8 -0
  270. package/dist/vue/useVoiceSessionSnapshot.d.ts +10 -0
  271. package/dist/vue/useVoiceStream.d.ts +5 -1
  272. package/dist/vue/useVoiceTraceTimeline.d.ts +9 -0
  273. package/dist/vue/useVoiceTurnLatency.d.ts +10 -0
  274. package/dist/vue/useVoiceTurnQuality.d.ts +9 -0
  275. package/dist/vue/useVoiceWorkflowStatus.d.ts +9 -0
  276. package/dist/workflowContract.d.ts +91 -0
  277. package/package.json +4 -1
@@ -0,0 +1,146 @@
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
+ export type VoiceRoutingEvent = {
7
+ at: number;
8
+ attempt?: number;
9
+ elapsedMs?: number;
10
+ error?: string;
11
+ fallbackProvider?: string;
12
+ kind: VoiceRoutingEventKind;
13
+ latencyBudgetMs?: number;
14
+ operation?: string;
15
+ profileId?: string;
16
+ profileLabel?: string;
17
+ provider?: string;
18
+ providerRoutes?: Record<string, string>;
19
+ routing?: string;
20
+ scenarioId?: string;
21
+ selectedProvider?: string;
22
+ sessionId: string;
23
+ status?: string;
24
+ suppressionRemainingMs?: number;
25
+ timedOut: boolean;
26
+ turnId?: string;
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
+ };
58
+ export type VoiceResilienceLink = {
59
+ href: string;
60
+ label: string;
61
+ };
62
+ export type VoiceResilienceSimulationProvider<TProvider extends string = string> = {
63
+ configured?: boolean;
64
+ provider: TProvider;
65
+ };
66
+ export type VoiceResilienceIOSimulator<TProvider extends string = string> = {
67
+ failureProviders?: readonly TProvider[];
68
+ fallbackRequiredProvider?: TProvider;
69
+ fallbackRequiredMessage?: string;
70
+ failureMessage?: string;
71
+ label?: string;
72
+ pathPrefix?: string;
73
+ providers: readonly VoiceResilienceSimulationProvider<TProvider>[];
74
+ recoveryMessage?: string;
75
+ run: (provider: TProvider, mode: VoiceIOProviderFailureSimulationMode) => Promise<VoiceIOProviderFailureSimulationResult<TProvider>>;
76
+ };
77
+ export type VoiceResiliencePageData = {
78
+ links?: readonly VoiceResilienceLink[];
79
+ llmProviderHealth: VoiceProviderHealthSummary<string>[];
80
+ routingEvents: VoiceRoutingEvent[];
81
+ routingSessions: VoiceRoutingSessionSummary[];
82
+ sttProviderHealth: VoiceProviderHealthSummary<string>[];
83
+ sttSimulation?: VoiceResilienceIOSimulator<string>;
84
+ title?: string;
85
+ ttsProviderHealth: VoiceProviderHealthSummary<string>[];
86
+ ttsSimulation?: VoiceResilienceIOSimulator<string>;
87
+ };
88
+ export type VoiceResilienceRoutesOptions = {
89
+ headers?: HeadersInit;
90
+ links?: readonly VoiceResilienceLink[];
91
+ llmProviders?: readonly string[];
92
+ name?: string;
93
+ path?: string;
94
+ render?: (input: VoiceResiliencePageData) => string | Promise<string>;
95
+ sttProviders?: readonly string[];
96
+ sttSimulation?: VoiceResilienceIOSimulator<string>;
97
+ store: VoiceTraceEventStore;
98
+ title?: string;
99
+ ttsProviders?: readonly string[];
100
+ ttsSimulation?: VoiceResilienceIOSimulator<string>;
101
+ };
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>;
106
+ export declare const renderVoiceResilienceHTML: (input: VoiceResiliencePageData) => string;
107
+ export declare const createVoiceResilienceRoutes: (options: VoiceResilienceRoutesOptions) => Elysia<"", {
108
+ decorator: {};
109
+ store: {};
110
+ derive: {};
111
+ resolve: {};
112
+ }, {
113
+ typebox: {};
114
+ error: {};
115
+ }, {
116
+ schema: {};
117
+ standaloneSchema: {};
118
+ macro: {};
119
+ macroFn: {};
120
+ parser: {};
121
+ response: {};
122
+ }, {
123
+ [x: string]: {
124
+ get: {
125
+ body: unknown;
126
+ params: {};
127
+ query: unknown;
128
+ headers: unknown;
129
+ response: {
130
+ 200: Response;
131
+ };
132
+ };
133
+ };
134
+ }, {
135
+ derive: {};
136
+ resolve: {};
137
+ schema: {};
138
+ standaloneSchema: {};
139
+ response: {};
140
+ }, {
141
+ derive: {};
142
+ resolve: {};
143
+ schema: {};
144
+ standaloneSchema: {};
145
+ response: {};
146
+ }>;
@@ -0,0 +1,187 @@
1
+ import { Elysia } from 'elysia';
2
+ import { type StoredVoiceTraceEvent, type VoiceTraceEvaluationOptions, type VoiceTraceEventStore, type VoiceTraceRedactionConfig, type VoiceTraceSummary, type VoiceTraceEvaluation } from './trace';
3
+ export type VoiceSessionReplayTurn = {
4
+ assistantReplies: string[];
5
+ committedText?: string;
6
+ errors: Array<Record<string, unknown>>;
7
+ id: string;
8
+ modelCalls: Array<Record<string, unknown>>;
9
+ tools: Array<Record<string, unknown>>;
10
+ transcripts: Array<{
11
+ isFinal: boolean;
12
+ text?: string;
13
+ }>;
14
+ };
15
+ export type VoiceSessionReplay = {
16
+ evaluation: VoiceTraceEvaluation;
17
+ events: StoredVoiceTraceEvent[];
18
+ html: string;
19
+ markdown: string;
20
+ sessionId: string;
21
+ summary: VoiceTraceSummary;
22
+ timeline: Array<{
23
+ at: number;
24
+ offsetMs?: number;
25
+ payload: Record<string, unknown>;
26
+ turnId?: string;
27
+ type: StoredVoiceTraceEvent['type'];
28
+ }>;
29
+ turns: VoiceSessionReplayTurn[];
30
+ };
31
+ export type VoiceSessionListStatus = 'failed' | 'healthy';
32
+ export type VoiceSessionListItem = {
33
+ endedAt?: number;
34
+ errorCount: number;
35
+ eventCount: number;
36
+ latestOutcome?: string;
37
+ operationsRecordHref?: string;
38
+ providerErrors: Record<string, number>;
39
+ providers: string[];
40
+ replayHref: string;
41
+ sessionId: string;
42
+ startedAt?: number;
43
+ status: VoiceSessionListStatus;
44
+ transcriptCount: number;
45
+ turnCount: number;
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
+ };
56
+ export type VoiceSessionListOptions = {
57
+ events?: StoredVoiceTraceEvent[];
58
+ limit?: number;
59
+ operationsRecordHref?: false | string | ((session: Omit<VoiceSessionListItem, 'operationsRecordHref' | 'replayHref'>) => string);
60
+ provider?: string;
61
+ q?: string;
62
+ replayHref?: false | string | ((session: Omit<VoiceSessionListItem, 'replayHref'>) => string);
63
+ status?: VoiceSessionListStatus | 'all';
64
+ store?: VoiceTraceEventStore;
65
+ };
66
+ export type VoiceSessionListHTMLHandlerOptions = VoiceSessionListOptions & {
67
+ headers?: HeadersInit;
68
+ render?: (sessions: VoiceSessionListItem[]) => string | Promise<string>;
69
+ };
70
+ export type VoiceSessionListRoutesOptions = VoiceSessionListHTMLHandlerOptions & {
71
+ htmlPath?: false | string;
72
+ name?: string;
73
+ path?: string;
74
+ };
75
+ export type VoiceSessionReplayOptions = {
76
+ evaluation?: VoiceTraceEvaluationOptions;
77
+ events?: StoredVoiceTraceEvent[];
78
+ redact?: VoiceTraceRedactionConfig;
79
+ sessionId: string;
80
+ store?: VoiceTraceEventStore;
81
+ title?: string;
82
+ };
83
+ export type VoiceSessionReplayHTMLHandlerOptions = Omit<VoiceSessionReplayOptions, 'sessionId'> & {
84
+ headers?: HeadersInit;
85
+ render?: (replay: VoiceSessionReplay) => string | Promise<string>;
86
+ };
87
+ export type VoiceSessionReplayRoutesOptions = VoiceSessionReplayHTMLHandlerOptions & {
88
+ htmlPath?: false | string;
89
+ name?: string;
90
+ path?: string;
91
+ };
92
+ export declare const summarizeVoiceProviderFallbackRecovery: (events: StoredVoiceTraceEvent[]) => VoiceProviderFallbackRecoverySummary;
93
+ export declare const summarizeVoiceSessionReplay: (options: VoiceSessionReplayOptions) => Promise<VoiceSessionReplay>;
94
+ export declare const summarizeVoiceSessions: (options?: VoiceSessionListOptions) => Promise<VoiceSessionListItem[]>;
95
+ export declare const renderVoiceSessionsHTML: (sessions: VoiceSessionListItem[]) => string;
96
+ export declare const createVoiceSessionsJSONHandler: (options?: VoiceSessionListOptions) => ({ query }: {
97
+ query?: Record<string, string | undefined>;
98
+ }) => Promise<VoiceSessionListItem[]>;
99
+ export declare const createVoiceSessionsHTMLHandler: (options?: VoiceSessionListHTMLHandlerOptions) => ({ query }: {
100
+ query?: Record<string, string | undefined>;
101
+ }) => Promise<Response>;
102
+ export declare const createVoiceSessionListRoutes: (options?: VoiceSessionListRoutesOptions) => Elysia<"", {
103
+ decorator: {};
104
+ store: {};
105
+ derive: {};
106
+ resolve: {};
107
+ }, {
108
+ typebox: {};
109
+ error: {};
110
+ }, {
111
+ schema: {};
112
+ standaloneSchema: {};
113
+ macro: {};
114
+ macroFn: {};
115
+ parser: {};
116
+ response: {};
117
+ }, {
118
+ [x: string]: {
119
+ get: {
120
+ body: unknown;
121
+ params: {};
122
+ query: unknown;
123
+ headers: unknown;
124
+ response: {
125
+ 200: VoiceSessionListItem[];
126
+ };
127
+ };
128
+ };
129
+ }, {
130
+ derive: {};
131
+ resolve: {};
132
+ schema: {};
133
+ standaloneSchema: {};
134
+ response: {};
135
+ }, {
136
+ derive: {};
137
+ resolve: {};
138
+ schema: {};
139
+ standaloneSchema: {};
140
+ response: {};
141
+ }>;
142
+ export declare const createVoiceSessionReplayJSONHandler: (options: Omit<VoiceSessionReplayOptions, "sessionId">) => ({ params }: {
143
+ params: Record<string, string | undefined>;
144
+ }) => Promise<VoiceSessionReplay>;
145
+ export declare const createVoiceSessionReplayHTMLHandler: (options: VoiceSessionReplayHTMLHandlerOptions) => ({ params }: {
146
+ params: Record<string, string | undefined>;
147
+ }) => Promise<Response>;
148
+ export declare const createVoiceSessionReplayRoutes: (options: VoiceSessionReplayRoutesOptions) => Elysia<"", {
149
+ decorator: {};
150
+ store: {};
151
+ derive: {};
152
+ resolve: {};
153
+ }, {
154
+ typebox: {};
155
+ error: {};
156
+ }, {
157
+ schema: {};
158
+ standaloneSchema: {};
159
+ macro: {};
160
+ macroFn: {};
161
+ parser: {};
162
+ response: {};
163
+ }, {
164
+ [x: string]: {
165
+ get: {
166
+ body: unknown;
167
+ params: {};
168
+ query: unknown;
169
+ headers: unknown;
170
+ response: {
171
+ 200: VoiceSessionReplay;
172
+ };
173
+ };
174
+ };
175
+ }, {
176
+ derive: {};
177
+ resolve: {};
178
+ schema: {};
179
+ standaloneSchema: {};
180
+ response: {};
181
+ }, {
182
+ derive: {};
183
+ resolve: {};
184
+ schema: {};
185
+ standaloneSchema: {};
186
+ response: {};
187
+ }>;
@@ -0,0 +1,98 @@
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 VoiceSessionSnapshot = {
13
+ capturedAt: number;
14
+ media: readonly MediaProcessorGraphSnapshot[];
15
+ name?: string;
16
+ proofAssertions: readonly VoiceProofAssertionResult[];
17
+ proofSummary: VoiceProofAssertionSummary;
18
+ providerRoutingEvents: readonly StoredVoiceTraceEvent[];
19
+ quality: readonly VoiceSessionSnapshotQualityEvidence[];
20
+ scenarioId?: string;
21
+ schema: 'absolute.voice.session.snapshot.v1';
22
+ sessionId: string;
23
+ status: VoiceSessionSnapshotStatus;
24
+ telephonyOutcomes: readonly VoiceCampaignTelephonyOutcomeSnapshot[];
25
+ turnId?: string;
26
+ };
27
+ export type VoiceSessionSnapshotInput = {
28
+ media?: readonly MediaProcessorGraphSnapshot[];
29
+ name?: string;
30
+ proofAssertions?: readonly VoiceProofAssertionResult[];
31
+ providerRoutingEvents?: readonly StoredVoiceTraceEvent[];
32
+ quality?: readonly VoiceSessionSnapshotQualityEvidence[];
33
+ scenarioId?: string;
34
+ sessionId: string;
35
+ telephonyOutcomes?: readonly VoiceCampaignTelephonyOutcomeSnapshot[];
36
+ turnId?: string;
37
+ };
38
+ export type VoiceSessionSnapshotRouteSourceInput = {
39
+ request: Request;
40
+ sessionId: string;
41
+ turnId?: string;
42
+ };
43
+ export type VoiceSessionSnapshotRouteSource = VoiceSessionSnapshot | VoiceSessionSnapshotInput | ((input: VoiceSessionSnapshotRouteSourceInput) => Promise<VoiceSessionSnapshot | VoiceSessionSnapshotInput> | VoiceSessionSnapshot | VoiceSessionSnapshotInput);
44
+ export type VoiceSessionSnapshotRoutesOptions = Partial<VoiceSessionSnapshotInput> & {
45
+ downloadPath?: false | string;
46
+ headers?: HeadersInit;
47
+ name?: string;
48
+ path?: string;
49
+ source?: VoiceSessionSnapshotRouteSource;
50
+ };
51
+ export declare const buildVoiceSessionSnapshotStatus: (input: {
52
+ media?: readonly Pick<MediaProcessorGraphSnapshot, "report">[];
53
+ proofSummary?: Pick<VoiceProofAssertionSummary, "ok">;
54
+ quality?: readonly Pick<VoiceSessionSnapshotQualityEvidence, "status">[];
55
+ telephonyOutcomes?: readonly Pick<VoiceCampaignTelephonyOutcomeSnapshot, "campaignOutcome" | "duplicate">[];
56
+ }) => VoiceSessionSnapshotStatus;
57
+ export declare const buildVoiceSessionSnapshot: (input: VoiceSessionSnapshotInput) => VoiceSessionSnapshot;
58
+ export declare const parseVoiceSessionSnapshot: (snapshot: VoiceSessionSnapshot) => VoiceSessionSnapshot;
59
+ export declare const createVoiceSessionSnapshotRoutes: (options?: VoiceSessionSnapshotRoutesOptions) => Elysia<"", {
60
+ decorator: {};
61
+ store: {};
62
+ derive: {};
63
+ resolve: {};
64
+ }, {
65
+ typebox: {};
66
+ error: {};
67
+ }, {
68
+ schema: {};
69
+ standaloneSchema: {};
70
+ macro: {};
71
+ macroFn: {};
72
+ parser: {};
73
+ response: {};
74
+ }, {
75
+ [x: string]: {
76
+ get: {
77
+ body: unknown;
78
+ params: {};
79
+ query: unknown;
80
+ headers: unknown;
81
+ response: {
82
+ 200: Response;
83
+ };
84
+ };
85
+ };
86
+ }, {
87
+ derive: {};
88
+ resolve: {};
89
+ schema: {};
90
+ standaloneSchema: {};
91
+ response: {};
92
+ }, {
93
+ derive: {};
94
+ resolve: {};
95
+ schema: {};
96
+ standaloneSchema: {};
97
+ response: {};
98
+ }>;
@@ -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;