@absolutejs/voice 0.0.22-beta.42 → 0.0.22-beta.421

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 (273) hide show
  1. package/README.md +3690 -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 +4647 -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 +1 -0
  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-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 +2 -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/audit.d.ts +130 -0
  30. package/dist/auditDeliveryRoutes.d.ts +85 -0
  31. package/dist/auditExport.d.ts +34 -0
  32. package/dist/auditRoutes.d.ts +66 -0
  33. package/dist/auditSinks.d.ts +151 -0
  34. package/dist/bargeInRoutes.d.ts +56 -0
  35. package/dist/browserCallProfiles.d.ts +120 -0
  36. package/dist/browserMediaRoutes.d.ts +62 -0
  37. package/dist/callDebugger.d.ts +66 -0
  38. package/dist/campaign.d.ts +794 -0
  39. package/dist/campaignDialers.d.ts +111 -0
  40. package/dist/client/actions.d.ts +94 -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/callDebugger.d.ts +19 -0
  46. package/dist/client/callDebuggerWidget.d.ts +30 -0
  47. package/dist/client/campaignDialerProof.d.ts +23 -0
  48. package/dist/client/deliveryRuntime.d.ts +34 -0
  49. package/dist/client/deliveryRuntimeWidget.d.ts +37 -0
  50. package/dist/client/duplex.d.ts +1 -1
  51. package/dist/client/htmxBootstrap.js +950 -14
  52. package/dist/client/index.d.ts +87 -0
  53. package/dist/client/index.js +9890 -52
  54. package/dist/client/liveOps.d.ts +22 -0
  55. package/dist/client/liveOpsWidget.d.ts +23 -0
  56. package/dist/client/liveTurnLatency.d.ts +41 -0
  57. package/dist/client/opsActionCenter.d.ts +54 -0
  58. package/dist/client/opsActionCenterWidget.d.ts +29 -0
  59. package/dist/client/opsActionHistory.d.ts +19 -0
  60. package/dist/client/opsActionHistoryWidget.d.ts +11 -0
  61. package/dist/client/opsStatus.d.ts +19 -0
  62. package/dist/client/opsStatusWidget.d.ts +40 -0
  63. package/dist/client/platformCoverage.d.ts +19 -0
  64. package/dist/client/platformCoverageWidget.d.ts +37 -0
  65. package/dist/client/profileComparison.d.ts +19 -0
  66. package/dist/client/profileComparisonWidget.d.ts +41 -0
  67. package/dist/client/profileSwitchRecommendation.d.ts +19 -0
  68. package/dist/client/profileSwitchRecommendationWidget.d.ts +12 -0
  69. package/dist/client/proofTrends.d.ts +19 -0
  70. package/dist/client/proofTrendsWidget.d.ts +37 -0
  71. package/dist/client/providerCapabilities.d.ts +19 -0
  72. package/dist/client/providerCapabilitiesWidget.d.ts +32 -0
  73. package/dist/client/providerContracts.d.ts +19 -0
  74. package/dist/client/providerContractsWidget.d.ts +37 -0
  75. package/dist/client/providerSimulationControls.d.ts +33 -0
  76. package/dist/client/providerSimulationControlsWidget.d.ts +20 -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 +33 -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/evalRoutes.d.ts +136 -0
  97. package/dist/fileStore.d.ts +14 -2
  98. package/dist/guardrails.d.ts +128 -0
  99. package/dist/incidentBundle.d.ts +116 -0
  100. package/dist/index.d.ts +159 -18
  101. package/dist/index.js +34712 -6662
  102. package/dist/latencySlo.d.ts +56 -0
  103. package/dist/liveLatency.d.ts +78 -0
  104. package/dist/liveOps.d.ts +190 -0
  105. package/dist/mediaPipelineRoutes.d.ts +117 -0
  106. package/dist/modelAdapters.d.ts +54 -2
  107. package/dist/observabilityExport.d.ts +490 -0
  108. package/dist/openaiTTS.d.ts +18 -0
  109. package/dist/operationsRecord.d.ts +351 -0
  110. package/dist/opsActionAuditRoutes.d.ts +99 -0
  111. package/dist/opsConsoleRoutes.d.ts +3 -0
  112. package/dist/opsRecovery.d.ts +137 -0
  113. package/dist/opsStatus.d.ts +76 -0
  114. package/dist/opsStatusRoutes.d.ts +33 -0
  115. package/dist/outcomeContract.d.ts +146 -0
  116. package/dist/phoneAgent.d.ts +139 -0
  117. package/dist/phoneAgentProductionSmoke.d.ts +115 -0
  118. package/dist/platformCoverage.d.ts +91 -0
  119. package/dist/postCallAnalysis.d.ts +98 -0
  120. package/dist/postgresStore.d.ts +13 -2
  121. package/dist/productionReadiness.d.ts +698 -0
  122. package/dist/profileSwitchRecommendation.d.ts +350 -0
  123. package/dist/proofAssertions.d.ts +32 -0
  124. package/dist/proofPack.d.ts +206 -0
  125. package/dist/proofRunner.d.ts +79 -0
  126. package/dist/proofTrends.d.ts +715 -0
  127. package/dist/providerAdapters.d.ts +12 -1
  128. package/dist/providerCapabilities.d.ts +92 -0
  129. package/dist/providerDecisionTraces.d.ts +130 -0
  130. package/dist/providerOrchestration.d.ts +109 -0
  131. package/dist/providerRouterTraces.d.ts +35 -0
  132. package/dist/providerRoutingContract.d.ts +71 -0
  133. package/dist/providerSlo.d.ts +142 -0
  134. package/dist/providerStackRecommendations.d.ts +187 -0
  135. package/dist/queue.d.ts +9 -0
  136. package/dist/react/VoiceAgentSquadStatus.d.ts +5 -0
  137. package/dist/react/VoiceCallDebuggerLaunch.d.ts +6 -0
  138. package/dist/react/VoiceDeliveryRuntime.d.ts +7 -0
  139. package/dist/react/VoiceOpsActionCenter.d.ts +5 -0
  140. package/dist/react/VoiceOpsStatus.d.ts +6 -0
  141. package/dist/react/VoicePlatformCoverage.d.ts +6 -0
  142. package/dist/react/VoiceProfileComparison.d.ts +6 -0
  143. package/dist/react/VoiceProfileSwitchRecommendation.d.ts +6 -0
  144. package/dist/react/VoiceProofTrends.d.ts +6 -0
  145. package/dist/react/VoiceProviderCapabilities.d.ts +6 -0
  146. package/dist/react/VoiceProviderContracts.d.ts +6 -0
  147. package/dist/react/VoiceProviderSimulationControls.d.ts +5 -0
  148. package/dist/react/VoiceProviderStatus.d.ts +6 -0
  149. package/dist/react/VoiceReadinessFailures.d.ts +6 -0
  150. package/dist/react/VoiceRoutingStatus.d.ts +6 -0
  151. package/dist/react/VoiceSessionSnapshot.d.ts +6 -0
  152. package/dist/react/VoiceTraceTimeline.d.ts +6 -0
  153. package/dist/react/VoiceTurnLatency.d.ts +6 -0
  154. package/dist/react/VoiceTurnQuality.d.ts +6 -0
  155. package/dist/react/index.d.ts +40 -0
  156. package/dist/react/index.js +10624 -31
  157. package/dist/react/useVoiceAgentSquadStatus.d.ts +8 -0
  158. package/dist/react/useVoiceCallDebugger.d.ts +8 -0
  159. package/dist/react/useVoiceCampaignDialerProof.d.ts +10 -0
  160. package/dist/react/useVoiceController.d.ts +2 -0
  161. package/dist/react/useVoiceDeliveryRuntime.d.ts +13 -0
  162. package/dist/react/useVoiceLiveOps.d.ts +9 -0
  163. package/dist/react/useVoiceOpsActionCenter.d.ts +11 -0
  164. package/dist/react/useVoiceOpsStatus.d.ts +8 -0
  165. package/dist/react/useVoicePlatformCoverage.d.ts +8 -0
  166. package/dist/react/useVoiceProfileComparison.d.ts +8 -0
  167. package/dist/react/useVoiceProfileSwitchRecommendation.d.ts +8 -0
  168. package/dist/react/useVoiceProofTrends.d.ts +8 -0
  169. package/dist/react/useVoiceProviderCapabilities.d.ts +8 -0
  170. package/dist/react/useVoiceProviderContracts.d.ts +8 -0
  171. package/dist/react/useVoiceProviderSimulationControls.d.ts +10 -0
  172. package/dist/react/useVoiceReadinessFailures.d.ts +8 -0
  173. package/dist/react/useVoiceRoutingStatus.d.ts +8 -0
  174. package/dist/react/useVoiceSessionSnapshot.d.ts +9 -0
  175. package/dist/react/useVoiceStream.d.ts +2 -0
  176. package/dist/react/useVoiceTraceTimeline.d.ts +8 -0
  177. package/dist/react/useVoiceTurnLatency.d.ts +9 -0
  178. package/dist/react/useVoiceTurnQuality.d.ts +8 -0
  179. package/dist/react/useVoiceWorkflowStatus.d.ts +8 -0
  180. package/dist/readinessProfiles.d.ts +38 -0
  181. package/dist/realtimeChannel.d.ts +136 -0
  182. package/dist/realtimeProviderContracts.d.ts +133 -0
  183. package/dist/reconnectContract.d.ts +88 -0
  184. package/dist/resilienceRoutes.d.ts +40 -0
  185. package/dist/sessionReplay.d.ts +12 -0
  186. package/dist/sessionSnapshot.d.ts +109 -0
  187. package/dist/simulationSuite.d.ts +143 -0
  188. package/dist/sloCalibration.d.ts +185 -0
  189. package/dist/sqliteStore.d.ts +13 -2
  190. package/dist/svelte/createVoiceAgentSquadStatus.d.ts +9 -0
  191. package/dist/svelte/createVoiceCallDebugger.d.ts +12 -0
  192. package/dist/svelte/createVoiceCampaignDialerProof.d.ts +9 -0
  193. package/dist/svelte/createVoiceDeliveryRuntime.d.ts +11 -0
  194. package/dist/svelte/createVoiceLiveOps.d.ts +13 -0
  195. package/dist/svelte/createVoiceOpsActionCenter.d.ts +10 -0
  196. package/dist/svelte/createVoiceOpsStatus.d.ts +9 -0
  197. package/dist/svelte/createVoicePlatformCoverage.d.ts +7 -0
  198. package/dist/svelte/createVoiceProfileComparison.d.ts +7 -0
  199. package/dist/svelte/createVoiceProofTrends.d.ts +7 -0
  200. package/dist/svelte/createVoiceProviderCapabilities.d.ts +10 -0
  201. package/dist/svelte/createVoiceProviderContracts.d.ts +10 -0
  202. package/dist/svelte/createVoiceProviderSimulationControls.d.ts +11 -0
  203. package/dist/svelte/createVoiceProviderStatus.d.ts +4 -2
  204. package/dist/svelte/createVoiceReadinessFailures.d.ts +7 -0
  205. package/dist/svelte/createVoiceRoutingStatus.d.ts +10 -0
  206. package/dist/svelte/createVoiceSessionSnapshot.d.ts +13 -0
  207. package/dist/svelte/createVoiceTraceTimeline.d.ts +10 -0
  208. package/dist/svelte/createVoiceTurnLatency.d.ts +11 -0
  209. package/dist/svelte/createVoiceTurnQuality.d.ts +10 -0
  210. package/dist/svelte/createVoiceWorkflowStatus.d.ts +8 -0
  211. package/dist/svelte/index.d.ts +20 -0
  212. package/dist/svelte/index.js +6403 -460
  213. package/dist/telephony/contract.d.ts +61 -0
  214. package/dist/telephony/matrix.d.ts +97 -0
  215. package/dist/telephony/plivo.d.ts +303 -0
  216. package/dist/telephony/security.d.ts +182 -0
  217. package/dist/telephony/telnyx.d.ts +291 -0
  218. package/dist/telephony/twilio.d.ts +136 -2
  219. package/dist/telephonyMediaRoutes.d.ts +72 -0
  220. package/dist/telephonyOutcome.d.ts +273 -0
  221. package/dist/testing/index.js +5363 -163
  222. package/dist/testing/telephony.d.ts +25 -0
  223. package/dist/toolContract.d.ts +161 -0
  224. package/dist/toolRuntime.d.ts +50 -0
  225. package/dist/trace.d.ts +39 -1
  226. package/dist/traceDeliveryRoutes.d.ts +86 -0
  227. package/dist/traceTimeline.d.ts +97 -0
  228. package/dist/turnLatency.d.ts +95 -0
  229. package/dist/turnQuality.d.ts +94 -0
  230. package/dist/types.d.ts +157 -3
  231. package/dist/voiceMonitoring.d.ts +444 -0
  232. package/dist/vue/VoiceCallDebuggerLaunch.d.ts +68 -0
  233. package/dist/vue/VoiceDeliveryRuntime.d.ts +30 -0
  234. package/dist/vue/VoiceOpsActionCenter.d.ts +13 -0
  235. package/dist/vue/VoiceOpsStatus.d.ts +30 -0
  236. package/dist/vue/VoicePlatformCoverage.d.ts +23 -0
  237. package/dist/vue/VoiceProofTrends.d.ts +21 -0
  238. package/dist/vue/VoiceProviderCapabilities.d.ts +51 -0
  239. package/dist/vue/VoiceProviderContracts.d.ts +21 -0
  240. package/dist/vue/VoiceProviderSimulationControls.d.ts +88 -0
  241. package/dist/vue/VoiceProviderStatus.d.ts +51 -0
  242. package/dist/vue/VoiceReadinessFailures.d.ts +21 -0
  243. package/dist/vue/VoiceRoutingStatus.d.ts +51 -0
  244. package/dist/vue/VoiceSessionSnapshot.d.ts +68 -0
  245. package/dist/vue/VoiceTurnLatency.d.ts +69 -0
  246. package/dist/vue/VoiceTurnQuality.d.ts +51 -0
  247. package/dist/vue/index.d.ts +35 -0
  248. package/dist/vue/index.js +10069 -56
  249. package/dist/vue/useVoiceAgentSquadStatus.d.ts +9 -0
  250. package/dist/vue/useVoiceCallDebugger.d.ts +10 -0
  251. package/dist/vue/useVoiceCampaignDialerProof.d.ts +11 -0
  252. package/dist/vue/useVoiceController.d.ts +2 -1
  253. package/dist/vue/useVoiceDeliveryRuntime.d.ts +13 -0
  254. package/dist/vue/useVoiceLiveOps.d.ts +9 -0
  255. package/dist/vue/useVoiceOpsActionCenter.d.ts +11 -0
  256. package/dist/vue/useVoiceOpsStatus.d.ts +9 -0
  257. package/dist/vue/useVoicePlatformCoverage.d.ts +9 -0
  258. package/dist/vue/useVoiceProfileComparison.d.ts +9 -0
  259. package/dist/vue/useVoiceProofTrends.d.ts +9 -0
  260. package/dist/vue/useVoiceProviderCapabilities.d.ts +9 -0
  261. package/dist/vue/useVoiceProviderContracts.d.ts +9 -0
  262. package/dist/vue/useVoiceProviderSimulationControls.d.ts +24 -0
  263. package/dist/vue/useVoiceProviderStatus.d.ts +1 -1
  264. package/dist/vue/useVoiceReadinessFailures.d.ts +899 -0
  265. package/dist/vue/useVoiceRoutingStatus.d.ts +8 -0
  266. package/dist/vue/useVoiceSessionSnapshot.d.ts +10 -0
  267. package/dist/vue/useVoiceStream.d.ts +3 -1
  268. package/dist/vue/useVoiceTraceTimeline.d.ts +9 -0
  269. package/dist/vue/useVoiceTurnLatency.d.ts +10 -0
  270. package/dist/vue/useVoiceTurnQuality.d.ts +9 -0
  271. package/dist/vue/useVoiceWorkflowStatus.d.ts +9 -0
  272. package/dist/workflowContract.d.ts +91 -0
  273. package/package.json +4 -1
@@ -5,6 +5,7 @@ export type VoiceEvalStatus = 'pass' | 'fail';
5
5
  export type VoiceEvalSessionReport = {
6
6
  endedAt?: number;
7
7
  eventCount: number;
8
+ operationsRecordHref?: string;
8
9
  quality: VoiceQualityReport;
9
10
  scenarioId?: string;
10
11
  sessionId: string;
@@ -28,17 +29,124 @@ export type VoiceEvalReport = {
28
29
  total: number;
29
30
  trend: VoiceEvalTrendBucket[];
30
31
  };
32
+ export type VoiceEvalBaselineSummary = {
33
+ failed: number;
34
+ failedSessionIds: string[];
35
+ passRate: number;
36
+ passed: number;
37
+ total: number;
38
+ };
39
+ export type VoiceEvalBaselineComparison = {
40
+ baseline: VoiceEvalBaselineSummary;
41
+ checkedAt: number;
42
+ current: VoiceEvalBaselineSummary;
43
+ deltas: {
44
+ failed: number;
45
+ passRate: number;
46
+ passed: number;
47
+ total: number;
48
+ };
49
+ newFailedSessionIds: string[];
50
+ recoveredSessionIds: string[];
51
+ reasons: string[];
52
+ status: VoiceEvalStatus;
53
+ };
54
+ export type VoiceEvalBaselineComparisonOptions = {
55
+ failOnNewFailedSessions?: boolean;
56
+ maxFailedDelta?: number;
57
+ maxPassRateDrop?: number;
58
+ };
59
+ export type VoiceEvalBaselineStore = {
60
+ get: () => Promise<VoiceEvalReport | undefined>;
61
+ set: (report: VoiceEvalReport) => Promise<void>;
62
+ };
63
+ export type VoiceScenarioEvalDefinition = {
64
+ description?: string;
65
+ forbiddenHandoffActions?: string[];
66
+ forbiddenLifecycleTypes?: string[];
67
+ id: string;
68
+ label?: string;
69
+ maxProviderErrors?: number;
70
+ maxSessionErrors?: number;
71
+ minSessions?: number;
72
+ minTurns?: number;
73
+ requiredAssistantIncludes?: string[];
74
+ requiredDisposition?: string;
75
+ requiredHandoffActions?: string[];
76
+ requiredLifecycleTypes?: string[];
77
+ requiredPayloadPaths?: string[];
78
+ requiredTranscriptIncludes?: string[];
79
+ requiredWorkflowContracts?: string[];
80
+ scenarioId?: string;
81
+ };
82
+ export type VoiceScenarioEvalSessionResult = {
83
+ eventCount: number;
84
+ issues: string[];
85
+ operationsRecordHref?: string;
86
+ sessionId: string;
87
+ status: VoiceEvalStatus;
88
+ };
89
+ export type VoiceScenarioEvalResult = {
90
+ description?: string;
91
+ failed: number;
92
+ id: string;
93
+ issues: string[];
94
+ label: string;
95
+ matchedSessions: number;
96
+ passed: number;
97
+ sessions: VoiceScenarioEvalSessionResult[];
98
+ status: VoiceEvalStatus;
99
+ };
100
+ export type VoiceScenarioEvalReport = {
101
+ checkedAt: number;
102
+ failed: number;
103
+ passed: number;
104
+ scenarios: VoiceScenarioEvalResult[];
105
+ status: VoiceEvalStatus;
106
+ total: number;
107
+ };
108
+ export type VoiceScenarioFixture = {
109
+ description?: string;
110
+ events: StoredVoiceTraceEvent[];
111
+ id: string;
112
+ label?: string;
113
+ };
114
+ export type VoiceScenarioFixtureStore = {
115
+ list: () => Promise<VoiceScenarioFixture[]>;
116
+ };
117
+ export type VoiceScenarioFixtureEvalResult = {
118
+ description?: string;
119
+ fixtureId: string;
120
+ label: string;
121
+ report: VoiceScenarioEvalReport;
122
+ status: VoiceEvalStatus;
123
+ };
124
+ export type VoiceScenarioFixtureEvalReport = {
125
+ checkedAt: number;
126
+ failed: number;
127
+ fixtures: VoiceScenarioFixtureEvalResult[];
128
+ passed: number;
129
+ status: VoiceEvalStatus;
130
+ total: number;
131
+ };
31
132
  export type VoiceEvalLink = {
32
133
  href: string;
33
134
  label: string;
34
135
  };
35
136
  export type VoiceEvalRoutesOptions = {
137
+ baseline?: VoiceEvalReport | (() => Promise<VoiceEvalReport | undefined>);
138
+ baselineComparison?: VoiceEvalBaselineComparisonOptions;
139
+ baselineStore?: VoiceEvalBaselineStore;
36
140
  events?: StoredVoiceTraceEvent[];
141
+ fixtures?: VoiceScenarioFixture[];
142
+ fixtureStore?: VoiceScenarioFixtureStore;
37
143
  headers?: HeadersInit;
38
144
  links?: VoiceEvalLink[];
39
145
  limit?: number;
40
146
  name?: string;
147
+ operationsRecordHref?: false | string | ((sessionId: string) => string);
41
148
  path?: string;
149
+ scenarios?: VoiceScenarioEvalDefinition[];
42
150
  store?: VoiceTraceEventStore;
43
151
  thresholds?: VoiceQualityThresholds;
44
152
  title?: string;
@@ -46,13 +154,41 @@ export type VoiceEvalRoutesOptions = {
46
154
  export declare const runVoiceSessionEvals: (options?: {
47
155
  events?: StoredVoiceTraceEvent[];
48
156
  limit?: number;
157
+ operationsRecordHref?: false | string | ((sessionId: string) => string);
49
158
  store?: VoiceTraceEventStore;
50
159
  thresholds?: VoiceQualityThresholds;
51
160
  }) => Promise<VoiceEvalReport>;
161
+ export declare const runVoiceScenarioEvals: (options?: {
162
+ events?: StoredVoiceTraceEvent[];
163
+ operationsRecordHref?: false | string | ((sessionId: string) => string);
164
+ scenarios?: VoiceScenarioEvalDefinition[];
165
+ store?: VoiceTraceEventStore;
166
+ }) => Promise<VoiceScenarioEvalReport>;
167
+ export declare const runVoiceScenarioFixtureEvals: (options?: {
168
+ fixtures?: VoiceScenarioFixture[];
169
+ fixtureStore?: VoiceScenarioFixtureStore;
170
+ operationsRecordHref?: false | string | ((sessionId: string) => string);
171
+ scenarios?: VoiceScenarioEvalDefinition[];
172
+ }) => Promise<VoiceScenarioFixtureEvalReport>;
173
+ export declare const compareVoiceEvalBaseline: (currentReport: VoiceEvalReport, baselineReport: VoiceEvalReport, options?: VoiceEvalBaselineComparisonOptions) => VoiceEvalBaselineComparison;
174
+ export declare const createVoiceFileEvalBaselineStore: (filePath: string) => VoiceEvalBaselineStore;
175
+ export declare const createVoiceFileScenarioFixtureStore: (filePath: string) => VoiceScenarioFixtureStore;
52
176
  export declare const renderVoiceEvalHTML: (report: VoiceEvalReport, options?: {
53
177
  links?: VoiceEvalLink[];
54
178
  title?: string;
55
179
  }) => string;
180
+ export declare const renderVoiceEvalBaselineHTML: (comparison: VoiceEvalBaselineComparison, options?: {
181
+ links?: VoiceEvalLink[];
182
+ title?: string;
183
+ }) => string;
184
+ export declare const renderVoiceScenarioEvalHTML: (report: VoiceScenarioEvalReport, options?: {
185
+ links?: VoiceEvalLink[];
186
+ title?: string;
187
+ }) => string;
188
+ export declare const renderVoiceScenarioFixtureEvalHTML: (report: VoiceScenarioFixtureEvalReport, options?: {
189
+ links?: VoiceEvalLink[];
190
+ title?: string;
191
+ }) => string;
56
192
  export declare const createVoiceEvalRoutes: (options: VoiceEvalRoutesOptions) => Elysia<"", {
57
193
  decorator: {};
58
194
  store: {};
@@ -1,4 +1,8 @@
1
+ import { type StoredVoiceAuditEvent, type VoiceAuditEventStore } from './audit';
2
+ import type { VoiceAuditSinkDeliveryRecord, VoiceAuditSinkDeliveryStore } from './auditSinks';
3
+ import type { VoiceCampaignStore } from './campaign';
1
4
  import { type VoiceAssistantMemoryRecord, type VoiceAssistantMemoryStore } from './assistantMemory';
5
+ import type { StoredVoiceIncidentBundleArtifact, VoiceIncidentBundleStore } from './incidentBundle';
2
6
  import { type StoredVoiceTraceEvent, type VoiceTraceSinkDeliveryRecord, type VoiceTraceSinkDeliveryStore, type VoiceTraceEventStore } from './trace';
3
7
  import type { StoredVoiceIntegrationEvent, StoredVoiceExternalObjectMap, StoredVoiceOpsTask, VoiceExternalObjectMap, VoiceExternalObjectMapStore, VoiceIntegrationEvent, VoiceIntegrationEventStore, VoiceOpsTask, VoiceOpsTaskStore } from './ops';
4
8
  import type { StoredVoiceCallReviewArtifact, VoiceCallReviewArtifact, VoiceCallReviewStore } from './testing/review';
@@ -7,9 +11,13 @@ export type VoiceFileStoreOptions = {
7
11
  directory: string;
8
12
  pretty?: boolean;
9
13
  };
10
- export type VoiceFileRuntimeStorage<TSession extends VoiceSessionRecord = VoiceSessionRecord, TReview extends StoredVoiceCallReviewArtifact = StoredVoiceCallReviewArtifact, TTask extends StoredVoiceOpsTask = StoredVoiceOpsTask, TEvent extends StoredVoiceIntegrationEvent = StoredVoiceIntegrationEvent, TMapping extends StoredVoiceExternalObjectMap = StoredVoiceExternalObjectMap, TTrace extends StoredVoiceTraceEvent = StoredVoiceTraceEvent, TTraceDelivery extends VoiceTraceSinkDeliveryRecord = VoiceTraceSinkDeliveryRecord, TMemory extends VoiceAssistantMemoryRecord = VoiceAssistantMemoryRecord> = {
14
+ export type VoiceFileRuntimeStorage<TSession extends VoiceSessionRecord = VoiceSessionRecord, TReview extends StoredVoiceCallReviewArtifact = StoredVoiceCallReviewArtifact, TTask extends StoredVoiceOpsTask = StoredVoiceOpsTask, TEvent extends StoredVoiceIntegrationEvent = StoredVoiceIntegrationEvent, TMapping extends StoredVoiceExternalObjectMap = StoredVoiceExternalObjectMap, TTrace extends StoredVoiceTraceEvent = StoredVoiceTraceEvent, TTraceDelivery extends VoiceTraceSinkDeliveryRecord = VoiceTraceSinkDeliveryRecord, TAudit extends StoredVoiceAuditEvent = StoredVoiceAuditEvent, TAuditDelivery extends VoiceAuditSinkDeliveryRecord = VoiceAuditSinkDeliveryRecord, TIncident extends StoredVoiceIncidentBundleArtifact = StoredVoiceIncidentBundleArtifact, TMemory extends VoiceAssistantMemoryRecord = VoiceAssistantMemoryRecord> = {
15
+ audit: VoiceAuditEventStore<TAudit>;
16
+ auditDeliveries: VoiceAuditSinkDeliveryStore<TAuditDelivery>;
17
+ campaigns: VoiceCampaignStore;
11
18
  events: VoiceIntegrationEventStore<TEvent>;
12
19
  externalObjects: VoiceExternalObjectMapStore<TMapping>;
20
+ incidentBundles: VoiceIncidentBundleStore<TIncident>;
13
21
  memories: VoiceAssistantMemoryStore<TMemory>;
14
22
  reviews: VoiceCallReviewStore<TReview>;
15
23
  session: VoiceSessionStore<TSession>;
@@ -20,12 +28,16 @@ export type VoiceFileRuntimeStorage<TSession extends VoiceSessionRecord = VoiceS
20
28
  export declare const createVoiceFileSessionStore: <TSession extends VoiceSessionRecord = VoiceSessionRecord>(options: VoiceFileStoreOptions) => VoiceSessionStore<TSession>;
21
29
  export declare const createVoiceFileReviewStore: <TArtifact extends StoredVoiceCallReviewArtifact = StoredVoiceCallReviewArtifact>(options: VoiceFileStoreOptions) => VoiceCallReviewStore<TArtifact>;
22
30
  export declare const createVoiceFileTaskStore: <TTask extends StoredVoiceOpsTask = StoredVoiceOpsTask>(options: VoiceFileStoreOptions) => VoiceOpsTaskStore<TTask>;
31
+ export declare const createVoiceFileCampaignStore: (options: VoiceFileStoreOptions) => VoiceCampaignStore;
23
32
  export declare const createVoiceFileIntegrationEventStore: <TEvent extends StoredVoiceIntegrationEvent = StoredVoiceIntegrationEvent>(options: VoiceFileStoreOptions) => VoiceIntegrationEventStore<TEvent>;
24
33
  export declare const createVoiceFileExternalObjectMapStore: <TMapping extends StoredVoiceExternalObjectMap = StoredVoiceExternalObjectMap>(options: VoiceFileStoreOptions) => VoiceExternalObjectMapStore<TMapping>;
25
34
  export declare const createVoiceFileTraceEventStore: <TEvent extends StoredVoiceTraceEvent = StoredVoiceTraceEvent>(options: VoiceFileStoreOptions) => VoiceTraceEventStore<TEvent>;
26
35
  export declare const createVoiceFileTraceSinkDeliveryStore: <TDelivery extends VoiceTraceSinkDeliveryRecord = VoiceTraceSinkDeliveryRecord>(options: VoiceFileStoreOptions) => VoiceTraceSinkDeliveryStore<TDelivery>;
36
+ export declare const createVoiceFileAuditEventStore: <TEvent extends StoredVoiceAuditEvent = StoredVoiceAuditEvent>(options: VoiceFileStoreOptions) => VoiceAuditEventStore<TEvent>;
37
+ export declare const createVoiceFileAuditSinkDeliveryStore: <TDelivery extends VoiceAuditSinkDeliveryRecord = VoiceAuditSinkDeliveryRecord>(options: VoiceFileStoreOptions) => VoiceAuditSinkDeliveryStore<TDelivery>;
27
38
  export declare const createVoiceFileAssistantMemoryStore: <TRecord extends VoiceAssistantMemoryRecord = VoiceAssistantMemoryRecord>(options: VoiceFileStoreOptions) => VoiceAssistantMemoryStore<TRecord>;
28
- export declare const createVoiceFileRuntimeStorage: <TSession extends VoiceSessionRecord = VoiceSessionRecord, TReview extends StoredVoiceCallReviewArtifact = StoredVoiceCallReviewArtifact, TTask extends StoredVoiceOpsTask = StoredVoiceOpsTask, TEvent extends StoredVoiceIntegrationEvent = StoredVoiceIntegrationEvent, TMapping extends StoredVoiceExternalObjectMap = StoredVoiceExternalObjectMap, TTrace extends StoredVoiceTraceEvent = StoredVoiceTraceEvent, TTraceDelivery extends VoiceTraceSinkDeliveryRecord = VoiceTraceSinkDeliveryRecord, TMemory extends VoiceAssistantMemoryRecord = VoiceAssistantMemoryRecord>(options: VoiceFileStoreOptions) => VoiceFileRuntimeStorage<TSession, TReview, TTask, TEvent, TMapping, TTrace, TTraceDelivery, TMemory>;
39
+ export declare const createVoiceFileIncidentBundleStore: <TArtifact extends StoredVoiceIncidentBundleArtifact = StoredVoiceIncidentBundleArtifact>(options: VoiceFileStoreOptions) => VoiceIncidentBundleStore<TArtifact>;
40
+ export declare const createVoiceFileRuntimeStorage: <TSession extends VoiceSessionRecord = VoiceSessionRecord, TReview extends StoredVoiceCallReviewArtifact = StoredVoiceCallReviewArtifact, TTask extends StoredVoiceOpsTask = StoredVoiceOpsTask, TEvent extends StoredVoiceIntegrationEvent = StoredVoiceIntegrationEvent, TMapping extends StoredVoiceExternalObjectMap = StoredVoiceExternalObjectMap, TTrace extends StoredVoiceTraceEvent = StoredVoiceTraceEvent, TTraceDelivery extends VoiceTraceSinkDeliveryRecord = VoiceTraceSinkDeliveryRecord, TAudit extends StoredVoiceAuditEvent = StoredVoiceAuditEvent, TAuditDelivery extends VoiceAuditSinkDeliveryRecord = VoiceAuditSinkDeliveryRecord, TIncident extends StoredVoiceIncidentBundleArtifact = StoredVoiceIncidentBundleArtifact, TMemory extends VoiceAssistantMemoryRecord = VoiceAssistantMemoryRecord>(options: VoiceFileStoreOptions) => VoiceFileRuntimeStorage<TSession, TReview, TTask, TEvent, TMapping, TTrace, TTraceDelivery, TAudit, TAuditDelivery, TIncident, TMemory>;
29
41
  export declare const createStoredVoiceCallReviewArtifact: <TArtifact extends VoiceCallReviewArtifact = VoiceCallReviewArtifact>(id: string, artifact: TArtifact) => TArtifact & {
30
42
  id: string;
31
43
  };
@@ -0,0 +1,128 @@
1
+ import { Elysia } from 'elysia';
2
+ import type { VoiceAgentTool } from './agent';
3
+ import type { VoiceTraceEventStore } from './trace';
4
+ import type { VoiceOnTurnObjectHandler, VoiceRouteResult, VoiceSessionRecord } from './types';
5
+ import type { VoiceAssistantGuardrails } from './assistant';
6
+ export type VoiceGuardrailStage = 'assistant-output' | 'handoff' | 'model-input' | 'tool-input' | 'tool-output' | 'transcript';
7
+ export type VoiceGuardrailSeverity = 'block' | 'warn';
8
+ export type VoiceGuardrailStatus = 'blocked' | 'pass' | 'warn';
9
+ export type VoiceGuardrailRule = {
10
+ action?: VoiceGuardrailSeverity;
11
+ description?: string;
12
+ id: string;
13
+ label?: string;
14
+ match: RegExp | string | ((input: VoiceGuardrailEvaluationInput) => boolean | Promise<boolean>);
15
+ redactWith?: string;
16
+ stages?: VoiceGuardrailStage[];
17
+ };
18
+ export type VoiceGuardrailEvaluationInput = {
19
+ content?: unknown;
20
+ metadata?: Record<string, unknown>;
21
+ sessionId?: string;
22
+ stage: VoiceGuardrailStage;
23
+ turnId?: string;
24
+ };
25
+ export type VoiceGuardrailFinding = {
26
+ action: VoiceGuardrailSeverity;
27
+ description?: string;
28
+ label: string;
29
+ ruleId: string;
30
+ stage: VoiceGuardrailStage;
31
+ };
32
+ export type VoiceGuardrailDecision = {
33
+ allowed: boolean;
34
+ checkedAt: number;
35
+ content?: unknown;
36
+ findings: VoiceGuardrailFinding[];
37
+ redactedContent?: unknown;
38
+ sessionId?: string;
39
+ stage: VoiceGuardrailStage;
40
+ status: VoiceGuardrailStatus;
41
+ turnId?: string;
42
+ };
43
+ export type VoiceGuardrailPolicy = {
44
+ defaultAction?: VoiceGuardrailSeverity;
45
+ id: string;
46
+ label?: string;
47
+ rules: VoiceGuardrailRule[];
48
+ };
49
+ export type VoiceGuardrailReport = {
50
+ checkedAt: number;
51
+ decisions: VoiceGuardrailDecision[];
52
+ failed: number;
53
+ policies: Array<{
54
+ id: string;
55
+ label?: string;
56
+ rules: number;
57
+ }>;
58
+ status: 'fail' | 'pass' | 'warn';
59
+ summary: {
60
+ blocked: number;
61
+ passed: number;
62
+ warned: number;
63
+ };
64
+ total: number;
65
+ };
66
+ export type VoiceGuardrailRoutesOptions = {
67
+ headers?: HeadersInit;
68
+ name?: string;
69
+ path?: string;
70
+ policies?: VoiceGuardrailPolicy[];
71
+ source?: ((input: VoiceGuardrailEvaluationInput) => Promise<VoiceGuardrailDecision | VoiceGuardrailReport> | VoiceGuardrailDecision | VoiceGuardrailReport) | VoiceGuardrailDecision | VoiceGuardrailReport;
72
+ trace?: VoiceTraceEventStore;
73
+ };
74
+ export type VoiceGuardrailRuntimeBlockInput<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = Parameters<VoiceOnTurnObjectHandler<TContext, TSession, TResult>>[0] & {
75
+ decision: VoiceGuardrailDecision;
76
+ stage: VoiceGuardrailStage;
77
+ };
78
+ export type VoiceGuardrailRuntimeOptions<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = {
79
+ blockResult?: (input: VoiceGuardrailRuntimeBlockInput<TContext, TSession, TResult>) => Promise<VoiceRouteResult<TResult>> | VoiceRouteResult<TResult>;
80
+ name?: string;
81
+ policies: VoiceGuardrailPolicy[];
82
+ trace?: VoiceTraceEventStore;
83
+ };
84
+ export type VoiceGuardrailRuntime<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = {
85
+ assistantGuardrails: VoiceAssistantGuardrails<TContext, TSession, TResult>;
86
+ evaluate: (input: VoiceGuardrailEvaluationInput) => Promise<VoiceGuardrailDecision>;
87
+ wrapTool: <TArgs extends Record<string, unknown>, TToolResult>(tool: VoiceAgentTool<TContext, TSession, TArgs, TToolResult, TResult>) => VoiceAgentTool<TContext, TSession, TArgs, TToolResult, TResult>;
88
+ wrapTools: (tools: Array<VoiceAgentTool<TContext, TSession, Record<string, unknown>, unknown, TResult>>) => Array<VoiceAgentTool<TContext, TSession, Record<string, unknown>, unknown, TResult>>;
89
+ };
90
+ export declare const evaluateVoiceGuardrailPolicy: (policy: VoiceGuardrailPolicy, input: VoiceGuardrailEvaluationInput) => Promise<VoiceGuardrailDecision>;
91
+ export declare const buildVoiceGuardrailReport: (input?: {
92
+ decisions: VoiceGuardrailDecision[];
93
+ policies?: VoiceGuardrailPolicy[];
94
+ }) => VoiceGuardrailReport;
95
+ export declare const createVoiceGuardrailPolicy: (policy: VoiceGuardrailPolicy) => VoiceGuardrailPolicy;
96
+ export declare const createVoiceGuardrailRuntime: <TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown>(options: VoiceGuardrailRuntimeOptions<TContext, TSession, TResult>) => VoiceGuardrailRuntime<TContext, TSession, TResult>;
97
+ export declare const voiceGuardrailPolicyPresets: {
98
+ supportSafeDefaults: VoiceGuardrailPolicy;
99
+ };
100
+ export declare const renderVoiceGuardrailMarkdown: (report: VoiceGuardrailReport) => string;
101
+ export declare const createVoiceGuardrailRoutes: (options?: VoiceGuardrailRoutesOptions) => Elysia<"", {
102
+ decorator: {};
103
+ store: {};
104
+ derive: {};
105
+ resolve: {};
106
+ }, {
107
+ typebox: {};
108
+ error: {};
109
+ }, {
110
+ schema: {};
111
+ standaloneSchema: {};
112
+ macro: {};
113
+ macroFn: {};
114
+ parser: {};
115
+ response: {};
116
+ }, {}, {
117
+ derive: {};
118
+ resolve: {};
119
+ schema: {};
120
+ standaloneSchema: {};
121
+ response: {};
122
+ }, {
123
+ derive: {};
124
+ resolve: {};
125
+ schema: {};
126
+ standaloneSchema: {};
127
+ response: {};
128
+ }>;
@@ -0,0 +1,116 @@
1
+ import { Elysia } from 'elysia';
2
+ import { type VoiceOperationsRecord, type VoiceOperationsRecordOptions } from './operationsRecord';
3
+ import { type VoiceTraceRedactionConfig } from './trace';
4
+ export type VoiceIncidentBundleFormat = 'json' | 'markdown';
5
+ export type VoiceIncidentBundle = {
6
+ auditMarkdown?: string;
7
+ exportedAt: number;
8
+ formatVersion: 1;
9
+ markdown: string;
10
+ record: VoiceOperationsRecord;
11
+ redacted: boolean;
12
+ sessionId: string;
13
+ summary: VoiceIncidentBundleSummary;
14
+ traceMarkdown: string;
15
+ };
16
+ export type StoredVoiceIncidentBundleArtifact = {
17
+ bundle: VoiceIncidentBundle;
18
+ createdAt: number;
19
+ expiresAt?: number;
20
+ id: string;
21
+ metadata?: Record<string, unknown>;
22
+ redacted: boolean;
23
+ sessionId: string;
24
+ };
25
+ export type VoiceIncidentBundleStoreFilter = {
26
+ expiredAt?: number;
27
+ sessionId?: string;
28
+ };
29
+ export type VoiceIncidentBundleStore<TArtifact extends StoredVoiceIncidentBundleArtifact = StoredVoiceIncidentBundleArtifact> = {
30
+ get: (id: string) => Promise<TArtifact | undefined> | TArtifact | undefined;
31
+ list: (filter?: VoiceIncidentBundleStoreFilter) => Promise<TArtifact[]> | TArtifact[];
32
+ remove: (id: string) => Promise<void> | void;
33
+ set: (id: string, artifact: TArtifact) => Promise<void> | void;
34
+ };
35
+ export type VoiceIncidentBundleSummary = {
36
+ auditEvents: number;
37
+ durationMs?: number;
38
+ errors: number;
39
+ handoffs: number;
40
+ providers: string[];
41
+ sessionId: string;
42
+ status: VoiceOperationsRecord['status'];
43
+ tools: number;
44
+ traceEvents: number;
45
+ turns: number;
46
+ };
47
+ export type VoiceIncidentBundleOptions = VoiceOperationsRecordOptions & {
48
+ redact?: VoiceTraceRedactionConfig;
49
+ title?: string;
50
+ };
51
+ export type VoiceIncidentBundleRoutesOptions = Omit<VoiceIncidentBundleOptions, 'sessionId'> & {
52
+ headers?: HeadersInit;
53
+ markdownPath?: false | string;
54
+ name?: string;
55
+ path?: string;
56
+ };
57
+ export type VoiceIncidentBundleArtifactOptions = {
58
+ createdAt?: number;
59
+ expiresAt?: number;
60
+ id?: string;
61
+ metadata?: Record<string, unknown>;
62
+ ttlMs?: number;
63
+ };
64
+ export type VoiceIncidentBundleRetentionOptions = {
65
+ before?: number;
66
+ beforeOrAt?: number;
67
+ dryRun?: boolean;
68
+ expiredAt?: number;
69
+ keepNewest?: number;
70
+ limit?: number;
71
+ store: VoiceIncidentBundleStore;
72
+ };
73
+ export type VoiceIncidentBundleRetentionReport = {
74
+ deleted: StoredVoiceIncidentBundleArtifact[];
75
+ deletedCount: number;
76
+ deletedIds: string[];
77
+ dryRun: boolean;
78
+ scannedCount: number;
79
+ };
80
+ export declare const createVoiceMemoryIncidentBundleStore: <TArtifact extends StoredVoiceIncidentBundleArtifact = StoredVoiceIncidentBundleArtifact>() => VoiceIncidentBundleStore<TArtifact>;
81
+ export declare const createStoredVoiceIncidentBundleArtifact: (bundle: VoiceIncidentBundle, options?: VoiceIncidentBundleArtifactOptions) => StoredVoiceIncidentBundleArtifact;
82
+ export declare const saveVoiceIncidentBundleArtifact: (input: {
83
+ bundle: VoiceIncidentBundle;
84
+ options?: VoiceIncidentBundleArtifactOptions;
85
+ store: VoiceIncidentBundleStore;
86
+ }) => Promise<StoredVoiceIncidentBundleArtifact>;
87
+ export declare const pruneVoiceIncidentBundleArtifacts: (options: VoiceIncidentBundleRetentionOptions) => Promise<VoiceIncidentBundleRetentionReport>;
88
+ export declare const buildVoiceIncidentBundle: (options: VoiceIncidentBundleOptions) => Promise<VoiceIncidentBundle>;
89
+ export declare const createVoiceIncidentBundleRoutes: (options: VoiceIncidentBundleRoutesOptions) => Elysia<"", {
90
+ decorator: {};
91
+ store: {};
92
+ derive: {};
93
+ resolve: {};
94
+ }, {
95
+ typebox: {};
96
+ error: {};
97
+ }, {
98
+ schema: {};
99
+ standaloneSchema: {};
100
+ macro: {};
101
+ macroFn: {};
102
+ parser: {};
103
+ response: {};
104
+ }, {}, {
105
+ derive: {};
106
+ resolve: {};
107
+ schema: {};
108
+ standaloneSchema: {};
109
+ response: {};
110
+ }, {
111
+ derive: {};
112
+ resolve: {};
113
+ schema: {};
114
+ standaloneSchema: {};
115
+ response: {};
116
+ }>;