@absolutejs/voice 0.0.22-beta.41 → 0.0.22-beta.43

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.
@@ -0,0 +1,123 @@
1
+ import { Elysia } from 'elysia';
2
+ import { type VoiceQualityReport, type VoiceQualityThresholds } from './qualityRoutes';
3
+ import { summarizeVoiceTrace, type StoredVoiceTraceEvent, type VoiceTraceEventStore } from './trace';
4
+ export type VoiceEvalStatus = 'pass' | 'fail';
5
+ export type VoiceEvalSessionReport = {
6
+ endedAt?: number;
7
+ eventCount: number;
8
+ quality: VoiceQualityReport;
9
+ scenarioId?: string;
10
+ sessionId: string;
11
+ startedAt?: number;
12
+ status: VoiceEvalStatus;
13
+ summary: ReturnType<typeof summarizeVoiceTrace>;
14
+ };
15
+ export type VoiceEvalTrendBucket = {
16
+ endedAt: number;
17
+ failed: number;
18
+ key: string;
19
+ passed: number;
20
+ total: number;
21
+ };
22
+ export type VoiceEvalReport = {
23
+ checkedAt: number;
24
+ failed: number;
25
+ passed: number;
26
+ sessions: VoiceEvalSessionReport[];
27
+ status: VoiceEvalStatus;
28
+ total: number;
29
+ trend: VoiceEvalTrendBucket[];
30
+ };
31
+ export type VoiceEvalBaselineSummary = {
32
+ failed: number;
33
+ failedSessionIds: string[];
34
+ passRate: number;
35
+ passed: number;
36
+ total: number;
37
+ };
38
+ export type VoiceEvalBaselineComparison = {
39
+ baseline: VoiceEvalBaselineSummary;
40
+ checkedAt: number;
41
+ current: VoiceEvalBaselineSummary;
42
+ deltas: {
43
+ failed: number;
44
+ passRate: number;
45
+ passed: number;
46
+ total: number;
47
+ };
48
+ newFailedSessionIds: string[];
49
+ recoveredSessionIds: string[];
50
+ reasons: string[];
51
+ status: VoiceEvalStatus;
52
+ };
53
+ export type VoiceEvalBaselineComparisonOptions = {
54
+ failOnNewFailedSessions?: boolean;
55
+ maxFailedDelta?: number;
56
+ maxPassRateDrop?: number;
57
+ };
58
+ export type VoiceEvalBaselineStore = {
59
+ get: () => Promise<VoiceEvalReport | undefined>;
60
+ set: (report: VoiceEvalReport) => Promise<void>;
61
+ };
62
+ export type VoiceEvalLink = {
63
+ href: string;
64
+ label: string;
65
+ };
66
+ export type VoiceEvalRoutesOptions = {
67
+ baseline?: VoiceEvalReport | (() => Promise<VoiceEvalReport | undefined>);
68
+ baselineComparison?: VoiceEvalBaselineComparisonOptions;
69
+ baselineStore?: VoiceEvalBaselineStore;
70
+ events?: StoredVoiceTraceEvent[];
71
+ headers?: HeadersInit;
72
+ links?: VoiceEvalLink[];
73
+ limit?: number;
74
+ name?: string;
75
+ path?: string;
76
+ store?: VoiceTraceEventStore;
77
+ thresholds?: VoiceQualityThresholds;
78
+ title?: string;
79
+ };
80
+ export declare const runVoiceSessionEvals: (options?: {
81
+ events?: StoredVoiceTraceEvent[];
82
+ limit?: number;
83
+ store?: VoiceTraceEventStore;
84
+ thresholds?: VoiceQualityThresholds;
85
+ }) => Promise<VoiceEvalReport>;
86
+ export declare const compareVoiceEvalBaseline: (currentReport: VoiceEvalReport, baselineReport: VoiceEvalReport, options?: VoiceEvalBaselineComparisonOptions) => VoiceEvalBaselineComparison;
87
+ export declare const createVoiceFileEvalBaselineStore: (filePath: string) => VoiceEvalBaselineStore;
88
+ export declare const renderVoiceEvalHTML: (report: VoiceEvalReport, options?: {
89
+ links?: VoiceEvalLink[];
90
+ title?: string;
91
+ }) => string;
92
+ export declare const renderVoiceEvalBaselineHTML: (comparison: VoiceEvalBaselineComparison, options?: {
93
+ links?: VoiceEvalLink[];
94
+ title?: string;
95
+ }) => string;
96
+ export declare const createVoiceEvalRoutes: (options: VoiceEvalRoutesOptions) => Elysia<"", {
97
+ decorator: {};
98
+ store: {};
99
+ derive: {};
100
+ resolve: {};
101
+ }, {
102
+ typebox: {};
103
+ error: {};
104
+ }, {
105
+ schema: {};
106
+ standaloneSchema: {};
107
+ macro: {};
108
+ macroFn: {};
109
+ parser: {};
110
+ response: {};
111
+ }, {}, {
112
+ derive: {};
113
+ resolve: {};
114
+ schema: {};
115
+ standaloneSchema: {};
116
+ response: {};
117
+ }, {
118
+ derive: {};
119
+ resolve: {};
120
+ schema: {};
121
+ standaloneSchema: {};
122
+ response: {};
123
+ }>;
package/dist/index.d.ts CHANGED
@@ -2,6 +2,7 @@ export { voice } from './plugin';
2
2
  export { createVoiceAssistant, createVoiceExperiment, summarizeVoiceAssistantRuns } from './assistant';
3
3
  export { createVoiceAssistantHealthHTMLHandler, createVoiceAssistantHealthJSONHandler, createVoiceAssistantHealthRoutes, renderVoiceAssistantHealthHTML, summarizeVoiceAssistantHealth } from './assistantHealth';
4
4
  export { buildVoiceDiagnosticsMarkdown, createVoiceDiagnosticsRoutes, resolveVoiceDiagnosticsTraceFilter } from './diagnosticsRoutes';
5
+ export { compareVoiceEvalBaseline, createVoiceFileEvalBaselineStore, createVoiceEvalRoutes, renderVoiceEvalBaselineHTML, renderVoiceEvalHTML, runVoiceSessionEvals } from './evalRoutes';
5
6
  export { createVoiceSessionListRoutes, createVoiceSessionReplayHTMLHandler, createVoiceSessionReplayJSONHandler, createVoiceSessionReplayRoutes, createVoiceSessionsHTMLHandler, createVoiceSessionsJSONHandler, renderVoiceSessionsHTML, summarizeVoiceSessions, summarizeVoiceSessionReplay } from './sessionReplay';
6
7
  export { createVoiceAgent, createVoiceAgentSquad, createVoiceAgentTool } from './agent';
7
8
  export { createStoredVoiceCallReviewArtifact, createStoredVoiceExternalObjectMap, createStoredVoiceIntegrationEvent, createStoredVoiceOpsTask, createVoiceFileExternalObjectMapStore, createVoiceFileAssistantMemoryStore, createVoiceFileIntegrationEventStore, createVoiceFileReviewStore, createVoiceFileRuntimeStorage, createVoiceFileSessionStore, createVoiceFileTaskStore, createVoiceFileTraceSinkDeliveryStore, createVoiceFileTraceEventStore } from './fileStore';
@@ -39,6 +40,7 @@ export type { VoiceAssistant, VoiceAssistantArtifactPlan, VoiceAssistantExperime
39
40
  export type { VoiceAssistantHealthFailure, VoiceAssistantHealthHTMLHandlerOptions, VoiceAssistantHealthRoutesOptions, VoiceAssistantHealthSummary, VoiceAssistantHealthSummaryOptions } from './assistantHealth';
40
41
  export type { VoiceAssistantMemoryBinding, VoiceAssistantMemoryHandle, VoiceAssistantMemoryOptions, VoiceAssistantMemoryRecord, VoiceAssistantMemoryStore } from './assistantMemory';
41
42
  export type { VoiceDiagnosticsRoutesOptions } from './diagnosticsRoutes';
43
+ export type { VoiceEvalBaselineComparison, VoiceEvalBaselineComparisonOptions, VoiceEvalBaselineStore, VoiceEvalBaselineSummary, VoiceEvalLink, VoiceEvalReport, VoiceEvalRoutesOptions, VoiceEvalSessionReport, VoiceEvalStatus, VoiceEvalTrendBucket } from './evalRoutes';
42
44
  export type { VoiceSessionListHTMLHandlerOptions, VoiceSessionListItem, VoiceSessionListOptions, VoiceSessionListRoutesOptions, VoiceSessionListStatus, VoiceSessionReplay, VoiceSessionReplayHTMLHandlerOptions, VoiceSessionReplayOptions, VoiceSessionReplayRoutesOptions, VoiceSessionReplayTurn } from './sessionReplay';
43
45
  export type { AnthropicVoiceAssistantModelOptions, GeminiVoiceAssistantModelOptions, OpenAIVoiceAssistantModelOptions, VoiceProviderRouterEvent, VoiceProviderRouterFallbackMode, VoiceProviderRouterHealthOptions, VoiceProviderRouterOptions, VoiceProviderRouterPolicy, VoiceProviderRouterProviderHealth, VoiceProviderRouterProviderProfile, VoiceJSONAssistantModelHandler, VoiceJSONAssistantModelOptions } from './modelAdapters';
44
46
  export type { VoiceProviderHealthStatus, VoiceProviderHealthSummary, VoiceProviderHealthSummaryOptions } from './providerHealth';