@absolutejs/voice 0.0.22-beta.40 → 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.
- package/README.md +3537 -55
- package/dist/agent.d.ts +62 -0
- package/dist/agentSquadContract.d.ts +98 -0
- package/dist/angular/index.d.ts +18 -0
- package/dist/angular/index.js +4551 -1163
- package/dist/angular/voice-agent-squad-status.service.d.ts +12 -0
- package/dist/angular/voice-campaign-dialer-proof.service.d.ts +14 -0
- package/dist/angular/voice-controller.service.d.ts +1 -0
- package/dist/angular/voice-delivery-runtime.component.d.ts +17 -0
- package/dist/angular/voice-delivery-runtime.service.d.ts +16 -0
- package/dist/angular/voice-live-ops.service.d.ts +11 -0
- package/dist/angular/voice-ops-action-center.service.d.ts +13 -0
- package/dist/angular/voice-ops-status.component.d.ts +15 -0
- package/dist/angular/voice-ops-status.service.d.ts +12 -0
- package/dist/angular/voice-platform-coverage.service.d.ts +12 -0
- package/dist/angular/voice-profile-comparison.service.d.ts +12 -0
- package/dist/angular/voice-proof-trends.service.d.ts +12 -0
- package/dist/angular/voice-provider-capabilities.service.d.ts +12 -0
- package/dist/angular/voice-provider-contracts.service.d.ts +12 -0
- package/dist/angular/voice-readiness-failures.service.d.ts +13 -0
- package/dist/angular/voice-routing-status.service.d.ts +11 -0
- package/dist/angular/voice-session-snapshot.service.d.ts +13 -0
- package/dist/angular/voice-stream.service.d.ts +2 -0
- package/dist/angular/voice-trace-timeline.service.d.ts +12 -0
- package/dist/angular/voice-turn-latency.service.d.ts +13 -0
- package/dist/angular/voice-turn-quality.service.d.ts +12 -0
- package/dist/angular/voice-workflow-status.service.d.ts +12 -0
- package/dist/audit.d.ts +128 -0
- package/dist/auditDeliveryRoutes.d.ts +85 -0
- package/dist/auditExport.d.ts +34 -0
- package/dist/auditRoutes.d.ts +66 -0
- package/dist/auditSinks.d.ts +151 -0
- package/dist/bargeInRoutes.d.ts +56 -0
- package/dist/browserCallProfiles.d.ts +120 -0
- package/dist/browserMediaRoutes.d.ts +62 -0
- package/dist/campaign.d.ts +794 -0
- package/dist/campaignDialers.d.ts +111 -0
- package/dist/client/actions.d.ts +94 -0
- package/dist/client/agentSquadStatus.d.ts +37 -0
- package/dist/client/agentSquadStatusWidget.d.ts +24 -0
- package/dist/client/bargeInMonitor.d.ts +7 -0
- package/dist/client/browserMedia.d.ts +8 -0
- package/dist/client/campaignDialerProof.d.ts +23 -0
- package/dist/client/deliveryRuntime.d.ts +34 -0
- package/dist/client/deliveryRuntimeWidget.d.ts +37 -0
- package/dist/client/duplex.d.ts +1 -1
- package/dist/client/htmxBootstrap.js +950 -14
- package/dist/client/index.d.ts +83 -0
- package/dist/client/index.js +9608 -52
- package/dist/client/liveOps.d.ts +22 -0
- package/dist/client/liveOpsWidget.d.ts +23 -0
- package/dist/client/liveTurnLatency.d.ts +41 -0
- package/dist/client/opsActionCenter.d.ts +54 -0
- package/dist/client/opsActionCenterWidget.d.ts +29 -0
- package/dist/client/opsActionHistory.d.ts +19 -0
- package/dist/client/opsActionHistoryWidget.d.ts +11 -0
- package/dist/client/opsStatus.d.ts +19 -0
- package/dist/client/opsStatusWidget.d.ts +40 -0
- package/dist/client/platformCoverage.d.ts +19 -0
- package/dist/client/platformCoverageWidget.d.ts +37 -0
- package/dist/client/profileComparison.d.ts +19 -0
- package/dist/client/profileComparisonWidget.d.ts +41 -0
- package/dist/client/profileSwitchRecommendation.d.ts +19 -0
- package/dist/client/profileSwitchRecommendationWidget.d.ts +12 -0
- package/dist/client/proofTrends.d.ts +19 -0
- package/dist/client/proofTrendsWidget.d.ts +37 -0
- package/dist/client/providerCapabilities.d.ts +19 -0
- package/dist/client/providerCapabilitiesWidget.d.ts +32 -0
- package/dist/client/providerContracts.d.ts +19 -0
- package/dist/client/providerContractsWidget.d.ts +37 -0
- package/dist/client/providerSimulationControls.d.ts +33 -0
- package/dist/client/providerSimulationControlsWidget.d.ts +20 -0
- package/dist/client/providerStatusWidget.d.ts +32 -0
- package/dist/client/readinessFailures.d.ts +19 -0
- package/dist/client/readinessFailuresWidget.d.ts +42 -0
- package/dist/client/routingStatus.d.ts +19 -0
- package/dist/client/routingStatusWidget.d.ts +32 -0
- package/dist/client/sessionSnapshot.d.ts +21 -0
- package/dist/client/sessionSnapshotWidget.d.ts +28 -0
- package/dist/client/traceTimeline.d.ts +19 -0
- package/dist/client/traceTimelineWidget.d.ts +36 -0
- package/dist/client/turnLatency.d.ts +22 -0
- package/dist/client/turnLatencyWidget.d.ts +33 -0
- package/dist/client/turnQuality.d.ts +19 -0
- package/dist/client/turnQualityWidget.d.ts +32 -0
- package/dist/client/workflowStatus.d.ts +19 -0
- package/dist/competitiveCoverage.d.ts +141 -0
- package/dist/dataControl.d.ts +180 -0
- package/dist/deliveryRuntime.d.ts +158 -0
- package/dist/deliverySinkRoutes.d.ts +117 -0
- package/dist/demoReadyRoutes.d.ts +98 -0
- package/dist/evalRoutes.d.ts +219 -0
- package/dist/fileStore.d.ts +14 -2
- package/dist/guardrails.d.ts +128 -0
- package/dist/incidentBundle.d.ts +116 -0
- package/dist/index.d.ts +157 -16
- package/dist/index.js +33561 -6176
- package/dist/latencySlo.d.ts +56 -0
- package/dist/liveLatency.d.ts +78 -0
- package/dist/liveOps.d.ts +190 -0
- package/dist/mediaPipelineRoutes.d.ts +117 -0
- package/dist/modelAdapters.d.ts +54 -2
- package/dist/observabilityExport.d.ts +481 -0
- package/dist/openaiTTS.d.ts +18 -0
- package/dist/operationsRecord.d.ts +351 -0
- package/dist/opsActionAuditRoutes.d.ts +99 -0
- package/dist/opsConsoleRoutes.d.ts +80 -0
- package/dist/opsRecovery.d.ts +137 -0
- package/dist/opsStatus.d.ts +76 -0
- package/dist/opsStatusRoutes.d.ts +33 -0
- package/dist/outcomeContract.d.ts +146 -0
- package/dist/phoneAgent.d.ts +139 -0
- package/dist/phoneAgentProductionSmoke.d.ts +115 -0
- package/dist/platformCoverage.d.ts +91 -0
- package/dist/postCallAnalysis.d.ts +98 -0
- package/dist/postgresStore.d.ts +13 -2
- package/dist/productionReadiness.d.ts +691 -0
- package/dist/profileSwitchRecommendation.d.ts +350 -0
- package/dist/proofAssertions.d.ts +32 -0
- package/dist/proofRunner.d.ts +79 -0
- package/dist/proofTrends.d.ts +715 -0
- package/dist/providerAdapters.d.ts +12 -1
- package/dist/providerCapabilities.d.ts +92 -0
- package/dist/providerDecisionTraces.d.ts +130 -0
- package/dist/providerOrchestration.d.ts +109 -0
- package/dist/providerRouterTraces.d.ts +35 -0
- package/dist/providerRoutingContract.d.ts +71 -0
- package/dist/providerSlo.d.ts +142 -0
- package/dist/providerStackRecommendations.d.ts +187 -0
- package/dist/queue.d.ts +9 -0
- package/dist/react/VoiceAgentSquadStatus.d.ts +5 -0
- package/dist/react/VoiceDeliveryRuntime.d.ts +7 -0
- package/dist/react/VoiceOpsActionCenter.d.ts +5 -0
- package/dist/react/VoiceOpsStatus.d.ts +6 -0
- package/dist/react/VoicePlatformCoverage.d.ts +6 -0
- package/dist/react/VoiceProfileComparison.d.ts +6 -0
- package/dist/react/VoiceProfileSwitchRecommendation.d.ts +6 -0
- package/dist/react/VoiceProofTrends.d.ts +6 -0
- package/dist/react/VoiceProviderCapabilities.d.ts +6 -0
- package/dist/react/VoiceProviderContracts.d.ts +6 -0
- package/dist/react/VoiceProviderSimulationControls.d.ts +5 -0
- package/dist/react/VoiceProviderStatus.d.ts +6 -0
- package/dist/react/VoiceReadinessFailures.d.ts +6 -0
- package/dist/react/VoiceRoutingStatus.d.ts +6 -0
- package/dist/react/VoiceSessionSnapshot.d.ts +6 -0
- package/dist/react/VoiceTraceTimeline.d.ts +6 -0
- package/dist/react/VoiceTurnLatency.d.ts +6 -0
- package/dist/react/VoiceTurnQuality.d.ts +6 -0
- package/dist/react/index.d.ts +38 -0
- package/dist/react/index.js +10303 -31
- package/dist/react/useVoiceAgentSquadStatus.d.ts +8 -0
- package/dist/react/useVoiceCampaignDialerProof.d.ts +10 -0
- package/dist/react/useVoiceController.d.ts +2 -0
- package/dist/react/useVoiceDeliveryRuntime.d.ts +13 -0
- package/dist/react/useVoiceLiveOps.d.ts +9 -0
- package/dist/react/useVoiceOpsActionCenter.d.ts +11 -0
- package/dist/react/useVoiceOpsStatus.d.ts +8 -0
- package/dist/react/useVoicePlatformCoverage.d.ts +8 -0
- package/dist/react/useVoiceProfileComparison.d.ts +8 -0
- package/dist/react/useVoiceProfileSwitchRecommendation.d.ts +8 -0
- package/dist/react/useVoiceProofTrends.d.ts +8 -0
- package/dist/react/useVoiceProviderCapabilities.d.ts +8 -0
- package/dist/react/useVoiceProviderContracts.d.ts +8 -0
- package/dist/react/useVoiceProviderSimulationControls.d.ts +10 -0
- package/dist/react/useVoiceReadinessFailures.d.ts +8 -0
- package/dist/react/useVoiceRoutingStatus.d.ts +8 -0
- package/dist/react/useVoiceSessionSnapshot.d.ts +9 -0
- package/dist/react/useVoiceStream.d.ts +2 -0
- package/dist/react/useVoiceTraceTimeline.d.ts +8 -0
- package/dist/react/useVoiceTurnLatency.d.ts +9 -0
- package/dist/react/useVoiceTurnQuality.d.ts +8 -0
- package/dist/react/useVoiceWorkflowStatus.d.ts +8 -0
- package/dist/readinessProfiles.d.ts +38 -0
- package/dist/realtimeChannel.d.ts +136 -0
- package/dist/realtimeProviderContracts.d.ts +133 -0
- package/dist/reconnectContract.d.ts +88 -0
- package/dist/resilienceRoutes.d.ts +40 -0
- package/dist/sessionReplay.d.ts +12 -0
- package/dist/sessionSnapshot.d.ts +98 -0
- package/dist/simulationSuite.d.ts +143 -0
- package/dist/sloCalibration.d.ts +185 -0
- package/dist/sqliteStore.d.ts +13 -2
- package/dist/svelte/createVoiceAgentSquadStatus.d.ts +9 -0
- package/dist/svelte/createVoiceCampaignDialerProof.d.ts +9 -0
- package/dist/svelte/createVoiceDeliveryRuntime.d.ts +11 -0
- package/dist/svelte/createVoiceLiveOps.d.ts +13 -0
- package/dist/svelte/createVoiceOpsActionCenter.d.ts +10 -0
- package/dist/svelte/createVoiceOpsStatus.d.ts +9 -0
- package/dist/svelte/createVoicePlatformCoverage.d.ts +7 -0
- package/dist/svelte/createVoiceProfileComparison.d.ts +7 -0
- package/dist/svelte/createVoiceProofTrends.d.ts +7 -0
- package/dist/svelte/createVoiceProviderCapabilities.d.ts +10 -0
- package/dist/svelte/createVoiceProviderContracts.d.ts +10 -0
- package/dist/svelte/createVoiceProviderSimulationControls.d.ts +11 -0
- package/dist/svelte/createVoiceProviderStatus.d.ts +4 -2
- package/dist/svelte/createVoiceReadinessFailures.d.ts +7 -0
- package/dist/svelte/createVoiceRoutingStatus.d.ts +10 -0
- package/dist/svelte/createVoiceSessionSnapshot.d.ts +13 -0
- package/dist/svelte/createVoiceTraceTimeline.d.ts +10 -0
- package/dist/svelte/createVoiceTurnLatency.d.ts +11 -0
- package/dist/svelte/createVoiceTurnQuality.d.ts +10 -0
- package/dist/svelte/createVoiceWorkflowStatus.d.ts +8 -0
- package/dist/svelte/index.d.ts +19 -0
- package/dist/svelte/index.js +6075 -420
- package/dist/telephony/contract.d.ts +61 -0
- package/dist/telephony/matrix.d.ts +97 -0
- package/dist/telephony/plivo.d.ts +303 -0
- package/dist/telephony/security.d.ts +182 -0
- package/dist/telephony/telnyx.d.ts +291 -0
- package/dist/telephony/twilio.d.ts +136 -2
- package/dist/telephonyMediaRoutes.d.ts +72 -0
- package/dist/telephonyOutcome.d.ts +273 -0
- package/dist/testing/index.js +5303 -191
- package/dist/testing/telephony.d.ts +25 -0
- package/dist/toolContract.d.ts +161 -0
- package/dist/toolRuntime.d.ts +50 -0
- package/dist/trace.d.ts +31 -1
- package/dist/traceDeliveryRoutes.d.ts +86 -0
- package/dist/traceTimeline.d.ts +97 -0
- package/dist/turnLatency.d.ts +95 -0
- package/dist/turnQuality.d.ts +94 -0
- package/dist/types.d.ts +157 -3
- package/dist/voiceMonitoring.d.ts +444 -0
- package/dist/vue/VoiceDeliveryRuntime.d.ts +30 -0
- package/dist/vue/VoiceOpsActionCenter.d.ts +13 -0
- package/dist/vue/VoiceOpsStatus.d.ts +30 -0
- package/dist/vue/VoicePlatformCoverage.d.ts +23 -0
- package/dist/vue/VoiceProofTrends.d.ts +21 -0
- package/dist/vue/VoiceProviderCapabilities.d.ts +51 -0
- package/dist/vue/VoiceProviderContracts.d.ts +21 -0
- package/dist/vue/VoiceProviderSimulationControls.d.ts +88 -0
- package/dist/vue/VoiceProviderStatus.d.ts +51 -0
- package/dist/vue/VoiceReadinessFailures.d.ts +21 -0
- package/dist/vue/VoiceRoutingStatus.d.ts +51 -0
- package/dist/vue/VoiceSessionSnapshot.d.ts +68 -0
- package/dist/vue/VoiceTurnLatency.d.ts +69 -0
- package/dist/vue/VoiceTurnQuality.d.ts +51 -0
- package/dist/vue/index.d.ts +33 -0
- package/dist/vue/index.js +9740 -56
- package/dist/vue/useVoiceAgentSquadStatus.d.ts +9 -0
- package/dist/vue/useVoiceCampaignDialerProof.d.ts +11 -0
- package/dist/vue/useVoiceController.d.ts +2 -1
- package/dist/vue/useVoiceDeliveryRuntime.d.ts +13 -0
- package/dist/vue/useVoiceLiveOps.d.ts +9 -0
- package/dist/vue/useVoiceOpsActionCenter.d.ts +11 -0
- package/dist/vue/useVoiceOpsStatus.d.ts +9 -0
- package/dist/vue/useVoicePlatformCoverage.d.ts +9 -0
- package/dist/vue/useVoiceProfileComparison.d.ts +9 -0
- package/dist/vue/useVoiceProofTrends.d.ts +9 -0
- package/dist/vue/useVoiceProviderCapabilities.d.ts +9 -0
- package/dist/vue/useVoiceProviderContracts.d.ts +9 -0
- package/dist/vue/useVoiceProviderSimulationControls.d.ts +24 -0
- package/dist/vue/useVoiceProviderStatus.d.ts +1 -1
- package/dist/vue/useVoiceReadinessFailures.d.ts +899 -0
- package/dist/vue/useVoiceRoutingStatus.d.ts +8 -0
- package/dist/vue/useVoiceSessionSnapshot.d.ts +10 -0
- package/dist/vue/useVoiceStream.d.ts +3 -1
- package/dist/vue/useVoiceTraceTimeline.d.ts +9 -0
- package/dist/vue/useVoiceTurnLatency.d.ts +10 -0
- package/dist/vue/useVoiceTurnQuality.d.ts +9 -0
- package/dist/vue/useVoiceWorkflowStatus.d.ts +9 -0
- package/dist/workflowContract.d.ts +91 -0
- package/package.json +4 -1
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { type VoiceEvalLink, type VoiceEvalRoutesOptions } from './evalRoutes';
|
|
2
|
+
import { type VoiceDeliverySinkRoutesOptions } from './deliverySinkRoutes';
|
|
3
|
+
import { type VoiceQualityRoutesOptions } from './qualityRoutes';
|
|
4
|
+
import { type VoiceProviderFallbackRecoverySummary } from './sessionReplay';
|
|
5
|
+
import { type VoiceTraceEventStore } from './trace';
|
|
6
|
+
export type VoiceOpsStatus = 'pass' | 'fail';
|
|
7
|
+
export type VoiceOpsStatusLink = VoiceEvalLink & {
|
|
8
|
+
description?: string;
|
|
9
|
+
statusHref?: string;
|
|
10
|
+
};
|
|
11
|
+
export type VoiceOpsStatusOptions<TProvider extends string = string> = {
|
|
12
|
+
deliverySinks?: false | VoiceDeliverySinkRoutesOptions;
|
|
13
|
+
evals?: false | Partial<VoiceEvalRoutesOptions>;
|
|
14
|
+
include?: {
|
|
15
|
+
deliverySinks?: boolean;
|
|
16
|
+
handoffs?: boolean;
|
|
17
|
+
providers?: boolean;
|
|
18
|
+
providerRecovery?: boolean;
|
|
19
|
+
quality?: boolean;
|
|
20
|
+
sessions?: boolean;
|
|
21
|
+
workflows?: boolean;
|
|
22
|
+
};
|
|
23
|
+
links?: VoiceOpsStatusLink[];
|
|
24
|
+
llmProviders?: readonly TProvider[];
|
|
25
|
+
preferFixtureWorkflows?: boolean;
|
|
26
|
+
quality?: false | Partial<VoiceQualityRoutesOptions>;
|
|
27
|
+
store: VoiceTraceEventStore;
|
|
28
|
+
sttProviders?: readonly string[];
|
|
29
|
+
ttsProviders?: readonly string[];
|
|
30
|
+
};
|
|
31
|
+
export type VoiceOpsStatusReport = {
|
|
32
|
+
checkedAt: number;
|
|
33
|
+
failed: number;
|
|
34
|
+
links: VoiceOpsStatusLink[];
|
|
35
|
+
passed: number;
|
|
36
|
+
status: VoiceOpsStatus;
|
|
37
|
+
surfaces: {
|
|
38
|
+
handoffs?: {
|
|
39
|
+
failed: number;
|
|
40
|
+
status: VoiceOpsStatus;
|
|
41
|
+
total: number;
|
|
42
|
+
};
|
|
43
|
+
deliverySinks?: {
|
|
44
|
+
auditTotal: number;
|
|
45
|
+
status: VoiceOpsStatus;
|
|
46
|
+
traceTotal: number;
|
|
47
|
+
};
|
|
48
|
+
providers?: {
|
|
49
|
+
degraded: number;
|
|
50
|
+
status: VoiceOpsStatus;
|
|
51
|
+
total: number;
|
|
52
|
+
};
|
|
53
|
+
providerRecovery?: VoiceProviderFallbackRecoverySummary;
|
|
54
|
+
quality?: {
|
|
55
|
+
status: VoiceOpsStatus;
|
|
56
|
+
};
|
|
57
|
+
sessions?: {
|
|
58
|
+
failed: number;
|
|
59
|
+
status: VoiceOpsStatus;
|
|
60
|
+
total: number;
|
|
61
|
+
};
|
|
62
|
+
workflows?: {
|
|
63
|
+
failed: number;
|
|
64
|
+
source: 'fixtures' | 'live';
|
|
65
|
+
status: VoiceOpsStatus;
|
|
66
|
+
total: number;
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
total: number;
|
|
70
|
+
};
|
|
71
|
+
export type VoiceOpsStatusRoutesOptions<TProvider extends string = string> = VoiceOpsStatusOptions<TProvider> & {
|
|
72
|
+
headers?: HeadersInit;
|
|
73
|
+
name?: string;
|
|
74
|
+
path?: string;
|
|
75
|
+
};
|
|
76
|
+
export declare const summarizeVoiceOpsStatus: <TProvider extends string = string>(options: VoiceOpsStatusOptions<TProvider>) => Promise<VoiceOpsStatusReport>;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Elysia } from 'elysia';
|
|
2
|
+
import { type VoiceOpsStatusReport, type VoiceOpsStatusRoutesOptions } from './opsStatus';
|
|
3
|
+
export declare const renderVoiceOpsStatusHTML: (report: VoiceOpsStatusReport, options?: {
|
|
4
|
+
title?: string;
|
|
5
|
+
}) => string;
|
|
6
|
+
export declare const createVoiceOpsStatusRoutes: (options: VoiceOpsStatusRoutesOptions) => Elysia<"", {
|
|
7
|
+
decorator: {};
|
|
8
|
+
store: {};
|
|
9
|
+
derive: {};
|
|
10
|
+
resolve: {};
|
|
11
|
+
}, {
|
|
12
|
+
typebox: {};
|
|
13
|
+
error: {};
|
|
14
|
+
}, {
|
|
15
|
+
schema: {};
|
|
16
|
+
standaloneSchema: {};
|
|
17
|
+
macro: {};
|
|
18
|
+
macroFn: {};
|
|
19
|
+
parser: {};
|
|
20
|
+
response: {};
|
|
21
|
+
}, {}, {
|
|
22
|
+
derive: {};
|
|
23
|
+
resolve: {};
|
|
24
|
+
schema: {};
|
|
25
|
+
standaloneSchema: {};
|
|
26
|
+
response: {};
|
|
27
|
+
}, {
|
|
28
|
+
derive: {};
|
|
29
|
+
resolve: {};
|
|
30
|
+
schema: {};
|
|
31
|
+
standaloneSchema: {};
|
|
32
|
+
response: {};
|
|
33
|
+
}>;
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { Elysia } from 'elysia';
|
|
2
|
+
import type { StoredVoiceHandoffDelivery, VoiceCallDisposition, VoiceHandoffAction, VoiceHandoffDeliveryStore, VoiceSessionRecord, VoiceSessionStore } from './types';
|
|
3
|
+
import type { StoredVoiceIntegrationEvent, StoredVoiceOpsTask, VoiceIntegrationEventType } from './ops';
|
|
4
|
+
import type { StoredVoiceCallReviewArtifact } from './testing/review';
|
|
5
|
+
export type VoiceOutcomeContractStatus = 'pass' | 'fail';
|
|
6
|
+
export type VoiceOutcomeContractDefinition = {
|
|
7
|
+
description?: string;
|
|
8
|
+
expectedDisposition?: VoiceCallDisposition;
|
|
9
|
+
id: string;
|
|
10
|
+
label?: string;
|
|
11
|
+
minSessions?: number;
|
|
12
|
+
minTasks?: number;
|
|
13
|
+
requireHandoffActions?: VoiceHandoffAction[];
|
|
14
|
+
requireIntegrationEvents?: VoiceIntegrationEventType[];
|
|
15
|
+
requireReview?: boolean;
|
|
16
|
+
requireTask?: boolean;
|
|
17
|
+
scenarioId?: string;
|
|
18
|
+
};
|
|
19
|
+
export type VoiceOutcomeContractIssue = {
|
|
20
|
+
code: string;
|
|
21
|
+
message: string;
|
|
22
|
+
};
|
|
23
|
+
export type VoiceOutcomeContractReport = {
|
|
24
|
+
contractId: string;
|
|
25
|
+
description?: string;
|
|
26
|
+
issues: VoiceOutcomeContractIssue[];
|
|
27
|
+
label?: string;
|
|
28
|
+
matched: {
|
|
29
|
+
handoffs: number;
|
|
30
|
+
integrationEvents: number;
|
|
31
|
+
reviews: number;
|
|
32
|
+
sessions: number;
|
|
33
|
+
tasks: number;
|
|
34
|
+
};
|
|
35
|
+
operationsRecordHrefs: string[];
|
|
36
|
+
pass: boolean;
|
|
37
|
+
sessionIds: string[];
|
|
38
|
+
};
|
|
39
|
+
export type VoiceOutcomeContractSuiteReport = {
|
|
40
|
+
checkedAt: number;
|
|
41
|
+
contracts: VoiceOutcomeContractReport[];
|
|
42
|
+
failed: number;
|
|
43
|
+
passed: number;
|
|
44
|
+
status: VoiceOutcomeContractStatus;
|
|
45
|
+
total: number;
|
|
46
|
+
};
|
|
47
|
+
export type VoiceOutcomeContractAssertionInput = {
|
|
48
|
+
maxFailed?: number;
|
|
49
|
+
maxIssues?: number;
|
|
50
|
+
minContracts?: number;
|
|
51
|
+
minHandoffs?: number;
|
|
52
|
+
minIntegrationEvents?: number;
|
|
53
|
+
minOperationsRecordHrefs?: number;
|
|
54
|
+
minReviews?: number;
|
|
55
|
+
minSessions?: number;
|
|
56
|
+
minTasks?: number;
|
|
57
|
+
requiredContractIds?: string[];
|
|
58
|
+
requireOperationRecordHrefs?: boolean;
|
|
59
|
+
};
|
|
60
|
+
export type VoiceOutcomeContractAssertionReport = {
|
|
61
|
+
contractIds: string[];
|
|
62
|
+
failed: number;
|
|
63
|
+
handoffs: number;
|
|
64
|
+
integrationEvents: number;
|
|
65
|
+
issues: string[];
|
|
66
|
+
issueCount: number;
|
|
67
|
+
ok: boolean;
|
|
68
|
+
operationsRecordHrefs: number;
|
|
69
|
+
passed: number;
|
|
70
|
+
reviews: number;
|
|
71
|
+
sessions: number;
|
|
72
|
+
status: VoiceOutcomeContractStatus;
|
|
73
|
+
tasks: number;
|
|
74
|
+
total: number;
|
|
75
|
+
};
|
|
76
|
+
type ListStore<T> = {
|
|
77
|
+
list: () => Promise<T[]> | T[];
|
|
78
|
+
};
|
|
79
|
+
export type VoiceOutcomeContractOptions<TSession extends VoiceSessionRecord = VoiceSessionRecord> = {
|
|
80
|
+
contracts: VoiceOutcomeContractDefinition[];
|
|
81
|
+
events?: StoredVoiceIntegrationEvent[] | ListStore<StoredVoiceIntegrationEvent>;
|
|
82
|
+
handoffs?: StoredVoiceHandoffDelivery[] | VoiceHandoffDeliveryStore;
|
|
83
|
+
operationsRecordHref?: false | string | ((sessionId: string) => string);
|
|
84
|
+
reviews?: StoredVoiceCallReviewArtifact[] | ListStore<StoredVoiceCallReviewArtifact>;
|
|
85
|
+
sessions?: TSession[] | VoiceSessionStore<TSession>;
|
|
86
|
+
tasks?: StoredVoiceOpsTask[] | ListStore<StoredVoiceOpsTask>;
|
|
87
|
+
};
|
|
88
|
+
export type VoiceOutcomeContractHTMLHandlerOptions<TSession extends VoiceSessionRecord = VoiceSessionRecord> = VoiceOutcomeContractOptions<TSession> & {
|
|
89
|
+
headers?: HeadersInit;
|
|
90
|
+
render?: (report: VoiceOutcomeContractSuiteReport) => string | Promise<string>;
|
|
91
|
+
title?: string;
|
|
92
|
+
};
|
|
93
|
+
export type VoiceOutcomeContractRoutesOptions<TSession extends VoiceSessionRecord = VoiceSessionRecord> = VoiceOutcomeContractHTMLHandlerOptions<TSession> & {
|
|
94
|
+
htmlPath?: false | string;
|
|
95
|
+
name?: string;
|
|
96
|
+
path?: string;
|
|
97
|
+
};
|
|
98
|
+
export declare const runVoiceOutcomeContractSuite: <TSession extends VoiceSessionRecord = VoiceSessionRecord>(options: VoiceOutcomeContractOptions<TSession>) => Promise<VoiceOutcomeContractSuiteReport>;
|
|
99
|
+
export declare const evaluateVoiceOutcomeContractEvidence: (report: VoiceOutcomeContractSuiteReport, input?: VoiceOutcomeContractAssertionInput) => VoiceOutcomeContractAssertionReport;
|
|
100
|
+
export declare const assertVoiceOutcomeContractEvidence: (report: VoiceOutcomeContractSuiteReport, input?: VoiceOutcomeContractAssertionInput) => VoiceOutcomeContractAssertionReport;
|
|
101
|
+
export declare const renderVoiceOutcomeContractHTML: (report: VoiceOutcomeContractSuiteReport, options?: {
|
|
102
|
+
title?: string;
|
|
103
|
+
}) => string;
|
|
104
|
+
export declare const createVoiceOutcomeContractJSONHandler: <TSession extends VoiceSessionRecord = VoiceSessionRecord>(options: VoiceOutcomeContractOptions<TSession>) => () => Promise<VoiceOutcomeContractSuiteReport>;
|
|
105
|
+
export declare const createVoiceOutcomeContractHTMLHandler: <TSession extends VoiceSessionRecord = VoiceSessionRecord>(options: VoiceOutcomeContractHTMLHandlerOptions<TSession>) => () => Promise<Response>;
|
|
106
|
+
export declare const createVoiceOutcomeContractRoutes: <TSession extends VoiceSessionRecord = VoiceSessionRecord>(options: VoiceOutcomeContractRoutesOptions<TSession>) => Elysia<"", {
|
|
107
|
+
decorator: {};
|
|
108
|
+
store: {};
|
|
109
|
+
derive: {};
|
|
110
|
+
resolve: {};
|
|
111
|
+
}, {
|
|
112
|
+
typebox: {};
|
|
113
|
+
error: {};
|
|
114
|
+
}, {
|
|
115
|
+
schema: {};
|
|
116
|
+
standaloneSchema: {};
|
|
117
|
+
macro: {};
|
|
118
|
+
macroFn: {};
|
|
119
|
+
parser: {};
|
|
120
|
+
response: {};
|
|
121
|
+
}, {
|
|
122
|
+
[x: string]: {
|
|
123
|
+
get: {
|
|
124
|
+
body: unknown;
|
|
125
|
+
params: {};
|
|
126
|
+
query: unknown;
|
|
127
|
+
headers: unknown;
|
|
128
|
+
response: {
|
|
129
|
+
200: VoiceOutcomeContractSuiteReport;
|
|
130
|
+
};
|
|
131
|
+
};
|
|
132
|
+
};
|
|
133
|
+
}, {
|
|
134
|
+
derive: {};
|
|
135
|
+
resolve: {};
|
|
136
|
+
schema: {};
|
|
137
|
+
standaloneSchema: {};
|
|
138
|
+
response: {};
|
|
139
|
+
}, {
|
|
140
|
+
derive: {};
|
|
141
|
+
resolve: {};
|
|
142
|
+
schema: {};
|
|
143
|
+
standaloneSchema: {};
|
|
144
|
+
response: {};
|
|
145
|
+
}>;
|
|
146
|
+
export {};
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { Elysia } from 'elysia';
|
|
2
|
+
import { type PlivoVoiceRoutesOptions } from './telephony/plivo';
|
|
3
|
+
import { type TelnyxVoiceRoutesOptions } from './telephony/telnyx';
|
|
4
|
+
import { type TwilioVoiceRoutesOptions } from './telephony/twilio';
|
|
5
|
+
import { type VoiceTelephonyCarrierMatrix, type VoiceTelephonyCarrierMatrixRoutesOptions } from './telephony/matrix';
|
|
6
|
+
import { type VoicePhoneAgentProductionSmokeRoutesOptions } from './phoneAgentProductionSmoke';
|
|
7
|
+
import { type VoiceCampaignDialerProofAssertionReport, type VoiceCampaignDialerProofProvider, type VoiceCampaignDialerProofReport } from './campaignDialers';
|
|
8
|
+
import type { VoiceTelephonyProvider } from './telephony/contract';
|
|
9
|
+
import type { VoicePhoneAgentProductionSmokeReport } from './phoneAgentProductionSmoke';
|
|
10
|
+
import type { VoiceSessionRecord } from './types';
|
|
11
|
+
export type VoicePhoneAgentLifecycleStage = 'ringing' | 'answered' | 'media-started' | 'transcript' | 'assistant-response' | 'transfer' | 'voicemail' | 'no-answer' | 'completed' | 'failed';
|
|
12
|
+
type VoicePhoneAgentCarrierBase = {
|
|
13
|
+
name?: string;
|
|
14
|
+
smokePath?: false | string;
|
|
15
|
+
setupPath?: false | string;
|
|
16
|
+
};
|
|
17
|
+
export type VoicePhoneAgentTwilioCarrier<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = VoicePhoneAgentCarrierBase & {
|
|
18
|
+
options: TwilioVoiceRoutesOptions<TContext, TSession, TResult>;
|
|
19
|
+
provider: 'twilio';
|
|
20
|
+
};
|
|
21
|
+
export type VoicePhoneAgentTelnyxCarrier<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = VoicePhoneAgentCarrierBase & {
|
|
22
|
+
options?: TelnyxVoiceRoutesOptions<TContext, TSession, TResult>;
|
|
23
|
+
provider: 'telnyx';
|
|
24
|
+
};
|
|
25
|
+
export type VoicePhoneAgentPlivoCarrier<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = VoicePhoneAgentCarrierBase & {
|
|
26
|
+
options?: PlivoVoiceRoutesOptions<TContext, TSession, TResult>;
|
|
27
|
+
provider: 'plivo';
|
|
28
|
+
};
|
|
29
|
+
export type VoicePhoneAgentCarrier<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = VoicePhoneAgentTwilioCarrier<TContext, TSession, TResult> | VoicePhoneAgentTelnyxCarrier<TContext, TSession, TResult> | VoicePhoneAgentPlivoCarrier<TContext, TSession, TResult>;
|
|
30
|
+
export type VoicePhoneAgentRoutesOptions<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = {
|
|
31
|
+
carriers: readonly VoicePhoneAgentCarrier<TContext, TSession, TResult>[];
|
|
32
|
+
matrix?: false | Omit<VoiceTelephonyCarrierMatrixRoutesOptions, 'load'>;
|
|
33
|
+
name?: string;
|
|
34
|
+
productionSmoke?: false | VoicePhoneAgentProductionSmokeRoutesOptions;
|
|
35
|
+
setup?: false | {
|
|
36
|
+
path?: string;
|
|
37
|
+
title?: string;
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
export type VoicePhoneAgentCarrierSummary = {
|
|
41
|
+
name?: string;
|
|
42
|
+
provider: 'plivo' | 'telnyx' | 'twilio';
|
|
43
|
+
setupPath?: false | string;
|
|
44
|
+
smokePath?: false | string;
|
|
45
|
+
};
|
|
46
|
+
export type VoicePhoneAgentSetupInstruction = {
|
|
47
|
+
answerLabel: string;
|
|
48
|
+
answerUrl?: string;
|
|
49
|
+
carrierName: string;
|
|
50
|
+
issues: string[];
|
|
51
|
+
provider: 'plivo' | 'telnyx' | 'twilio';
|
|
52
|
+
setupPath?: false | string;
|
|
53
|
+
smokePath?: false | string;
|
|
54
|
+
status: 'fail' | 'pass' | 'unknown' | 'warn';
|
|
55
|
+
steps: string[];
|
|
56
|
+
streamUrl?: string;
|
|
57
|
+
webhookUrl?: string;
|
|
58
|
+
};
|
|
59
|
+
export type VoicePhoneAgentRoutes = {
|
|
60
|
+
carriers: VoicePhoneAgentCarrierSummary[];
|
|
61
|
+
matrixPath?: string;
|
|
62
|
+
productionSmokePath?: string;
|
|
63
|
+
routes: Elysia;
|
|
64
|
+
setupPath?: string;
|
|
65
|
+
};
|
|
66
|
+
export type VoicePhoneAgentSetupReport = {
|
|
67
|
+
carriers: VoicePhoneAgentCarrierSummary[];
|
|
68
|
+
generatedAt: number;
|
|
69
|
+
lifecycleStages: VoicePhoneAgentLifecycleStage[];
|
|
70
|
+
matrix?: VoiceTelephonyCarrierMatrix;
|
|
71
|
+
matrixPath?: string;
|
|
72
|
+
productionSmokePath?: string;
|
|
73
|
+
ready: boolean;
|
|
74
|
+
setupInstructions: VoicePhoneAgentSetupInstruction[];
|
|
75
|
+
setupPath?: string;
|
|
76
|
+
title: string;
|
|
77
|
+
};
|
|
78
|
+
export type VoicePhoneAssistantEvidenceInput = {
|
|
79
|
+
dialerProof?: VoiceCampaignDialerProofReport;
|
|
80
|
+
maxCarrierFailures?: number;
|
|
81
|
+
maxCarrierWarnings?: number;
|
|
82
|
+
maxFailedDialerProviders?: number;
|
|
83
|
+
minCarriers?: number;
|
|
84
|
+
minDialerCarrierRequests?: number;
|
|
85
|
+
minReadyCarriers?: number;
|
|
86
|
+
minSmokePassing?: number;
|
|
87
|
+
minSuccessfulDialerOutcomes?: number;
|
|
88
|
+
requiredDialerProviders?: VoiceCampaignDialerProofProvider[];
|
|
89
|
+
requiredLifecycleStages?: VoicePhoneAgentLifecycleStage[];
|
|
90
|
+
requiredProviders?: VoiceTelephonyProvider[];
|
|
91
|
+
requireCarrierMatrix?: boolean;
|
|
92
|
+
requireDialerProof?: boolean;
|
|
93
|
+
requireMatrixPass?: boolean;
|
|
94
|
+
requireProductionSmokePath?: boolean;
|
|
95
|
+
requireReady?: boolean;
|
|
96
|
+
requireSetupPath?: boolean;
|
|
97
|
+
};
|
|
98
|
+
export type VoicePhoneAssistantEvidenceReport = {
|
|
99
|
+
carrierFailures: number;
|
|
100
|
+
carrierWarnings: number;
|
|
101
|
+
carriers: number;
|
|
102
|
+
dialer?: VoiceCampaignDialerProofAssertionReport;
|
|
103
|
+
issues: string[];
|
|
104
|
+
lifecycleStages: VoicePhoneAgentLifecycleStage[];
|
|
105
|
+
matrixPass?: boolean;
|
|
106
|
+
ok: boolean;
|
|
107
|
+
productionSmokePath?: string;
|
|
108
|
+
providers: VoiceTelephonyProvider[];
|
|
109
|
+
ready: boolean;
|
|
110
|
+
readyCarriers: number;
|
|
111
|
+
setupPath?: string;
|
|
112
|
+
smokePassing: number;
|
|
113
|
+
};
|
|
114
|
+
export type VoicePhoneCallControlEvidenceInput = {
|
|
115
|
+
maxFailedSmokeReports?: number;
|
|
116
|
+
minPassingSmokeReports?: number;
|
|
117
|
+
productionSmokes?: VoicePhoneAgentProductionSmokeReport[];
|
|
118
|
+
requiredLifecycleStages?: VoicePhoneAgentLifecycleStage[];
|
|
119
|
+
requiredOutcomes?: string[];
|
|
120
|
+
requiredProviders?: VoiceTelephonyProvider[];
|
|
121
|
+
requireSetupLifecycleStages?: boolean;
|
|
122
|
+
setup?: VoicePhoneAgentSetupReport;
|
|
123
|
+
};
|
|
124
|
+
export type VoicePhoneCallControlEvidenceReport = {
|
|
125
|
+
failedSmokeReports: number;
|
|
126
|
+
issues: string[];
|
|
127
|
+
lifecycleStages: VoicePhoneAgentLifecycleStage[];
|
|
128
|
+
ok: boolean;
|
|
129
|
+
outcomes: string[];
|
|
130
|
+
passingSmokeReports: number;
|
|
131
|
+
providers: VoiceTelephonyProvider[];
|
|
132
|
+
smokeReports: number;
|
|
133
|
+
};
|
|
134
|
+
export declare const evaluateVoicePhoneAssistantEvidence: (report: VoicePhoneAgentSetupReport, input?: VoicePhoneAssistantEvidenceInput) => VoicePhoneAssistantEvidenceReport;
|
|
135
|
+
export declare const assertVoicePhoneAssistantEvidence: (report: VoicePhoneAgentSetupReport, input?: VoicePhoneAssistantEvidenceInput) => VoicePhoneAssistantEvidenceReport;
|
|
136
|
+
export declare const evaluateVoicePhoneCallControlEvidence: (input?: VoicePhoneCallControlEvidenceInput) => VoicePhoneCallControlEvidenceReport;
|
|
137
|
+
export declare const assertVoicePhoneCallControlEvidence: (input?: VoicePhoneCallControlEvidenceInput) => VoicePhoneCallControlEvidenceReport;
|
|
138
|
+
export declare const createVoicePhoneAgent: <TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown>(options: VoicePhoneAgentRoutesOptions<TContext, TSession, TResult>) => VoicePhoneAgentRoutes;
|
|
139
|
+
export {};
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { Elysia } from 'elysia';
|
|
2
|
+
import type { StoredVoiceTraceEvent, VoiceTraceEventStore } from './trace';
|
|
3
|
+
import type { VoiceTelephonyContractReport, VoiceTelephonyProvider } from './telephony/contract';
|
|
4
|
+
export type VoicePhoneAgentProductionSmokeRequirement = 'assistant-response' | 'carrier-contract' | 'fresh-trace' | 'lifecycle-outcome' | 'media-started' | 'no-session-error' | 'transcript';
|
|
5
|
+
export type VoicePhoneAgentProductionSmokeIssue = {
|
|
6
|
+
message: string;
|
|
7
|
+
requirement: VoicePhoneAgentProductionSmokeRequirement;
|
|
8
|
+
severity: 'error' | 'warning';
|
|
9
|
+
};
|
|
10
|
+
export type VoicePhoneAgentProductionSmokeReport<TProvider extends VoiceTelephonyProvider = VoiceTelephonyProvider> = {
|
|
11
|
+
contract?: VoiceTelephonyContractReport<TProvider>;
|
|
12
|
+
contractId: string;
|
|
13
|
+
generatedAt: number;
|
|
14
|
+
issues: VoicePhoneAgentProductionSmokeIssue[];
|
|
15
|
+
maxAgeMs?: number;
|
|
16
|
+
observed: {
|
|
17
|
+
assistantResponses: number;
|
|
18
|
+
carrierContract?: boolean;
|
|
19
|
+
lifecycleOutcomes: string[];
|
|
20
|
+
latestEventAt?: number;
|
|
21
|
+
mediaStarts: number;
|
|
22
|
+
sessionErrors: number;
|
|
23
|
+
transcripts: number;
|
|
24
|
+
};
|
|
25
|
+
pass: boolean;
|
|
26
|
+
provider?: TProvider;
|
|
27
|
+
required: VoicePhoneAgentProductionSmokeRequirement[];
|
|
28
|
+
scenarioId?: string;
|
|
29
|
+
sessionId?: string;
|
|
30
|
+
traceId?: string;
|
|
31
|
+
};
|
|
32
|
+
export type VoicePhoneAgentProductionSmokeOptions<TProvider extends VoiceTelephonyProvider = VoiceTelephonyProvider> = {
|
|
33
|
+
contract?: VoiceTelephonyContractReport<TProvider>;
|
|
34
|
+
contractId?: string;
|
|
35
|
+
events?: readonly StoredVoiceTraceEvent[];
|
|
36
|
+
maxAgeMs?: number;
|
|
37
|
+
now?: number;
|
|
38
|
+
provider?: TProvider;
|
|
39
|
+
required?: readonly VoicePhoneAgentProductionSmokeRequirement[];
|
|
40
|
+
scenarioId?: string;
|
|
41
|
+
sessionId?: string;
|
|
42
|
+
store?: VoiceTraceEventStore;
|
|
43
|
+
traceId?: string;
|
|
44
|
+
};
|
|
45
|
+
export type VoicePhoneAgentProductionSmokeHandlerOptions<TProvider extends VoiceTelephonyProvider = VoiceTelephonyProvider> = Omit<VoicePhoneAgentProductionSmokeOptions<TProvider>, 'events' | 'scenarioId' | 'sessionId' | 'traceId'> & {
|
|
46
|
+
getContract?: (input: {
|
|
47
|
+
query: Record<string, unknown>;
|
|
48
|
+
request: Request;
|
|
49
|
+
}) => Promise<VoiceTelephonyContractReport<TProvider> | undefined> | VoiceTelephonyContractReport<TProvider> | undefined;
|
|
50
|
+
scenarioId?: string;
|
|
51
|
+
sessionId?: string;
|
|
52
|
+
traceId?: string;
|
|
53
|
+
};
|
|
54
|
+
export type VoicePhoneAgentProductionSmokeHTMLHandlerOptions<TProvider extends VoiceTelephonyProvider = VoiceTelephonyProvider> = VoicePhoneAgentProductionSmokeHandlerOptions<TProvider> & {
|
|
55
|
+
headers?: HeadersInit;
|
|
56
|
+
render?: (report: VoicePhoneAgentProductionSmokeReport<TProvider>) => Promise<string> | string;
|
|
57
|
+
title?: string;
|
|
58
|
+
};
|
|
59
|
+
export type VoicePhoneAgentProductionSmokeRoutesOptions<TProvider extends VoiceTelephonyProvider = VoiceTelephonyProvider> = VoicePhoneAgentProductionSmokeHTMLHandlerOptions<TProvider> & {
|
|
60
|
+
htmlPath?: false | string;
|
|
61
|
+
name?: string;
|
|
62
|
+
path?: string;
|
|
63
|
+
};
|
|
64
|
+
export declare const runVoicePhoneAgentProductionSmokeContract: <TProvider extends VoiceTelephonyProvider = VoiceTelephonyProvider>(options: VoicePhoneAgentProductionSmokeOptions<TProvider>) => Promise<VoicePhoneAgentProductionSmokeReport<TProvider>>;
|
|
65
|
+
export declare const renderVoicePhoneAgentProductionSmokeHTML: <TProvider extends VoiceTelephonyProvider = VoiceTelephonyProvider>(report: VoicePhoneAgentProductionSmokeReport<TProvider>, options?: {
|
|
66
|
+
title?: string;
|
|
67
|
+
}) => string;
|
|
68
|
+
export declare const createVoicePhoneAgentProductionSmokeJSONHandler: <TProvider extends VoiceTelephonyProvider = VoiceTelephonyProvider>(options: VoicePhoneAgentProductionSmokeHandlerOptions<TProvider>) => ({ query, request }: {
|
|
69
|
+
query: Record<string, unknown>;
|
|
70
|
+
request: Request;
|
|
71
|
+
}) => Promise<VoicePhoneAgentProductionSmokeReport<TProvider>>;
|
|
72
|
+
export declare const createVoicePhoneAgentProductionSmokeHTMLHandler: <TProvider extends VoiceTelephonyProvider = VoiceTelephonyProvider>(options: VoicePhoneAgentProductionSmokeHTMLHandlerOptions<TProvider>) => ({ query, request }: {
|
|
73
|
+
query: Record<string, unknown>;
|
|
74
|
+
request: Request;
|
|
75
|
+
}) => Promise<Response>;
|
|
76
|
+
export declare const createVoicePhoneAgentProductionSmokeRoutes: <TProvider extends VoiceTelephonyProvider = VoiceTelephonyProvider>(options: VoicePhoneAgentProductionSmokeRoutesOptions<TProvider>) => Elysia<"", {
|
|
77
|
+
decorator: {};
|
|
78
|
+
store: {};
|
|
79
|
+
derive: {};
|
|
80
|
+
resolve: {};
|
|
81
|
+
}, {
|
|
82
|
+
typebox: {};
|
|
83
|
+
error: {};
|
|
84
|
+
}, {
|
|
85
|
+
schema: {};
|
|
86
|
+
standaloneSchema: {};
|
|
87
|
+
macro: {};
|
|
88
|
+
macroFn: {};
|
|
89
|
+
parser: {};
|
|
90
|
+
response: {};
|
|
91
|
+
}, {
|
|
92
|
+
[x: string]: {
|
|
93
|
+
get: {
|
|
94
|
+
body: unknown;
|
|
95
|
+
params: {};
|
|
96
|
+
query: unknown;
|
|
97
|
+
headers: unknown;
|
|
98
|
+
response: {
|
|
99
|
+
200: VoicePhoneAgentProductionSmokeReport<TProvider>;
|
|
100
|
+
};
|
|
101
|
+
};
|
|
102
|
+
};
|
|
103
|
+
}, {
|
|
104
|
+
derive: {};
|
|
105
|
+
resolve: {};
|
|
106
|
+
schema: {};
|
|
107
|
+
standaloneSchema: {};
|
|
108
|
+
response: {};
|
|
109
|
+
}, {
|
|
110
|
+
derive: {};
|
|
111
|
+
resolve: {};
|
|
112
|
+
schema: {};
|
|
113
|
+
standaloneSchema: {};
|
|
114
|
+
response: {};
|
|
115
|
+
}>;
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { Elysia } from 'elysia';
|
|
2
|
+
export type VoicePlatformCoverageStatus = 'fail' | 'missing' | 'pass' | 'stale';
|
|
3
|
+
export type VoicePlatformCoverageEvidence = {
|
|
4
|
+
method?: string;
|
|
5
|
+
name: string;
|
|
6
|
+
ok?: boolean;
|
|
7
|
+
path?: string;
|
|
8
|
+
status?: number;
|
|
9
|
+
url?: string;
|
|
10
|
+
};
|
|
11
|
+
export type VoicePlatformCoverageSurface = {
|
|
12
|
+
evidence: VoicePlatformCoverageEvidence[];
|
|
13
|
+
failed?: number;
|
|
14
|
+
gap?: string;
|
|
15
|
+
missing?: number;
|
|
16
|
+
missingEvidence?: string[];
|
|
17
|
+
replacement: string;
|
|
18
|
+
status: 'fail' | 'pass' | string;
|
|
19
|
+
surface: string;
|
|
20
|
+
};
|
|
21
|
+
export type VoicePlatformCoverageSummary = {
|
|
22
|
+
generatedAt?: string;
|
|
23
|
+
ok: boolean;
|
|
24
|
+
outputDir?: string;
|
|
25
|
+
runId?: string;
|
|
26
|
+
source?: string;
|
|
27
|
+
status: VoicePlatformCoverageStatus;
|
|
28
|
+
total: number;
|
|
29
|
+
coverage: VoicePlatformCoverageSurface[];
|
|
30
|
+
};
|
|
31
|
+
export type VoicePlatformCoverageSummaryInput = {
|
|
32
|
+
coverage?: VoicePlatformCoverageSurface[];
|
|
33
|
+
generatedAt?: string;
|
|
34
|
+
ok?: boolean;
|
|
35
|
+
outputDir?: string;
|
|
36
|
+
runId?: string;
|
|
37
|
+
source?: string;
|
|
38
|
+
};
|
|
39
|
+
export type VoicePlatformCoverageRoutesOptions = {
|
|
40
|
+
headers?: HeadersInit;
|
|
41
|
+
name?: string;
|
|
42
|
+
path?: string;
|
|
43
|
+
source: (() => Promise<VoicePlatformCoverageSummary | VoicePlatformCoverageSummaryInput> | VoicePlatformCoverageSummary | VoicePlatformCoverageSummaryInput) | VoicePlatformCoverageSummary | VoicePlatformCoverageSummaryInput;
|
|
44
|
+
};
|
|
45
|
+
export type VoicePlatformCoverageAssertionInput = {
|
|
46
|
+
maxFailedSurfaces?: number;
|
|
47
|
+
minSurfaces?: number;
|
|
48
|
+
requiredEvidence?: string[];
|
|
49
|
+
requiredSurfaces?: string[];
|
|
50
|
+
requirePass?: boolean;
|
|
51
|
+
};
|
|
52
|
+
export type VoicePlatformCoverageAssertionReport = {
|
|
53
|
+
failed: number;
|
|
54
|
+
issues: string[];
|
|
55
|
+
missing: number;
|
|
56
|
+
ok: boolean;
|
|
57
|
+
status: VoicePlatformCoverageStatus;
|
|
58
|
+
surfaces: string[];
|
|
59
|
+
total: number;
|
|
60
|
+
};
|
|
61
|
+
export declare const buildVoicePlatformCoverageSummary: (input: VoicePlatformCoverageSummaryInput) => VoicePlatformCoverageSummary;
|
|
62
|
+
export declare const evaluateVoicePlatformCoverage: (summary: VoicePlatformCoverageSummary, input?: VoicePlatformCoverageAssertionInput) => VoicePlatformCoverageAssertionReport;
|
|
63
|
+
export declare const assertVoicePlatformCoverage: (summary: VoicePlatformCoverageSummary, input?: VoicePlatformCoverageAssertionInput) => VoicePlatformCoverageAssertionReport;
|
|
64
|
+
export declare const createVoicePlatformCoverageRoutes: (options: VoicePlatformCoverageRoutesOptions) => Elysia<"", {
|
|
65
|
+
decorator: {};
|
|
66
|
+
store: {};
|
|
67
|
+
derive: {};
|
|
68
|
+
resolve: {};
|
|
69
|
+
}, {
|
|
70
|
+
typebox: {};
|
|
71
|
+
error: {};
|
|
72
|
+
}, {
|
|
73
|
+
schema: {};
|
|
74
|
+
standaloneSchema: {};
|
|
75
|
+
macro: {};
|
|
76
|
+
macroFn: {};
|
|
77
|
+
parser: {};
|
|
78
|
+
response: {};
|
|
79
|
+
}, {}, {
|
|
80
|
+
derive: {};
|
|
81
|
+
resolve: {};
|
|
82
|
+
schema: {};
|
|
83
|
+
standaloneSchema: {};
|
|
84
|
+
response: {};
|
|
85
|
+
}, {
|
|
86
|
+
derive: {};
|
|
87
|
+
resolve: {};
|
|
88
|
+
schema: {};
|
|
89
|
+
standaloneSchema: {};
|
|
90
|
+
response: {};
|
|
91
|
+
}>;
|