@absolutejs/voice 0.0.22-beta.522 → 0.0.22-beta.524
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/dist/index.d.ts +4 -0
- package/dist/index.js +31153 -30869
- package/dist/types.d.ts +83 -0
- package/dist/variableAnalytics.d.ts +47 -0
- package/dist/vue/VoiceCostDashboard.d.ts +1 -1
- package/dist/zeroDataRetention.d.ts +41 -0
- package/package.json +1 -1
package/dist/types.d.ts
CHANGED
|
@@ -723,6 +723,12 @@ export type VoiceExpectedSpeakerTurn = {
|
|
|
723
723
|
speaker: string;
|
|
724
724
|
text: string;
|
|
725
725
|
};
|
|
726
|
+
/**
|
|
727
|
+
* Configures one of the plugin's optional route surfaces. Pass that surface's
|
|
728
|
+
* options object to mount it, `false` (or omit) to leave it off. Surfaces whose
|
|
729
|
+
* options are entirely optional may also be enabled with `true` for defaults.
|
|
730
|
+
*/
|
|
731
|
+
export type VoiceSurfaceConfig<O> = false | O | (Record<string, never> extends O ? true : never);
|
|
726
732
|
export type VoicePluginConfig<TContext = unknown, TSession extends VoiceSessionRecord = VoiceSessionRecord, TResult = unknown> = {
|
|
727
733
|
costTelemetry?: VoiceCostTelemetryConfig<TContext, TSession, TResult>;
|
|
728
734
|
path: string;
|
|
@@ -750,6 +756,83 @@ export type VoicePluginConfig<TContext = unknown, TSession extends VoiceSessionR
|
|
|
750
756
|
monitor?: VoiceMonitorRuntimeBinding;
|
|
751
757
|
profileSwitchGuard?: VoicePluginProfileSwitchGuardConfig<TContext, TSession, TResult>;
|
|
752
758
|
trace?: VoiceTraceEventStore;
|
|
759
|
+
assistantHealth?: VoiceSurfaceConfig<import("./assistantHealth").VoiceAssistantHealthRoutesOptions>;
|
|
760
|
+
auditDelivery?: VoiceSurfaceConfig<import("./auditDeliveryRoutes").VoiceAuditDeliveryRoutesOptions>;
|
|
761
|
+
auditTrail?: VoiceSurfaceConfig<import("./auditRoutes").VoiceAuditTrailRoutesOptions>;
|
|
762
|
+
bargeIn?: VoiceSurfaceConfig<import("./bargeInRoutes").VoiceBargeInRoutesOptions>;
|
|
763
|
+
browserCallProfile?: VoiceSurfaceConfig<import("./browserCallProfiles").VoiceBrowserCallProfileRoutesOptions>;
|
|
764
|
+
browserMedia?: VoiceSurfaceConfig<import("./browserMediaRoutes").VoiceBrowserMediaRoutesOptions>;
|
|
765
|
+
callDebugger?: VoiceSurfaceConfig<import("./callDebugger").VoiceCallDebuggerRoutesOptions>;
|
|
766
|
+
campaign?: VoiceSurfaceConfig<import("./campaign").VoiceCampaignRoutesOptions>;
|
|
767
|
+
competitiveCoverage?: VoiceSurfaceConfig<import("./competitiveCoverage").VoiceCompetitiveCoverageRoutesOptions>;
|
|
768
|
+
dataControl?: VoiceSurfaceConfig<import("./dataControl").VoiceDataControlRoutesOptions>;
|
|
769
|
+
deliveryRuntime?: VoiceSurfaceConfig<import("./deliveryRuntime").VoiceDeliveryRuntimeRoutesOptions>;
|
|
770
|
+
deliverySink?: VoiceSurfaceConfig<import("./deliverySinkRoutes").VoiceDeliverySinkRoutesOptions>;
|
|
771
|
+
demoReady?: VoiceSurfaceConfig<import("./demoReadyRoutes").VoiceDemoReadyRoutesOptions>;
|
|
772
|
+
diagnostics?: VoiceSurfaceConfig<import("./diagnosticsRoutes").VoiceDiagnosticsRoutesOptions>;
|
|
773
|
+
eval?: VoiceSurfaceConfig<import("./evalRoutes").VoiceEvalRoutesOptions>;
|
|
774
|
+
guardrail?: VoiceSurfaceConfig<import("./guardrails").VoiceGuardrailRoutesOptions>;
|
|
775
|
+
handoffHealth?: VoiceSurfaceConfig<import("./handoffHealth").VoiceHandoffHealthRoutesOptions>;
|
|
776
|
+
htmxDashboard?: VoiceSurfaceConfig<import("./htmxDashboardRoutes").VoiceHTMXDashboardRoutesOptions>;
|
|
777
|
+
incidentBundle?: VoiceSurfaceConfig<import("./incidentBundle").VoiceIncidentBundleRoutesOptions>;
|
|
778
|
+
incidentTimeline?: VoiceSurfaceConfig<import("./incidentTimeline").VoiceIncidentTimelineRoutesOptions>;
|
|
779
|
+
liveLatency?: VoiceSurfaceConfig<import("./liveLatency").VoiceLiveLatencyRoutesOptions>;
|
|
780
|
+
liveMonitor?: VoiceSurfaceConfig<import("./monitor").VoiceLiveMonitorRoutesOptions>;
|
|
781
|
+
liveOpsConsole?: VoiceSurfaceConfig<import("./liveOps").VoiceLiveOpsRoutesOptions>;
|
|
782
|
+
mediaPipeline?: VoiceSurfaceConfig<import("./mediaPipelineRoutes").VoiceMediaPipelineRoutesOptions>;
|
|
783
|
+
monitorReport?: VoiceSurfaceConfig<import("./voiceMonitoring").VoiceMonitorRoutesOptions>;
|
|
784
|
+
monitorRunner?: VoiceSurfaceConfig<import("./voiceMonitoring").VoiceMonitorRunnerRoutesOptions>;
|
|
785
|
+
observabilityExport?: VoiceSurfaceConfig<import("./observabilityExport").VoiceObservabilityExportRoutesOptions>;
|
|
786
|
+
observabilityExportReplay?: VoiceSurfaceConfig<import("./observabilityExport").VoiceObservabilityExportReplayRoutesOptions>;
|
|
787
|
+
operationalStatus?: VoiceSurfaceConfig<import("./operationalStatus").VoiceOperationalStatusRoutesOptions>;
|
|
788
|
+
operationsRecord?: VoiceSurfaceConfig<import("./operationsRecord").VoiceOperationsRecordRoutesOptions>;
|
|
789
|
+
opsActionAudit?: VoiceSurfaceConfig<import("./opsActionAuditRoutes").VoiceOpsActionAuditRoutesOptions>;
|
|
790
|
+
opsConsole?: VoiceSurfaceConfig<import("./opsConsoleRoutes").VoiceOpsConsoleRoutesOptions>;
|
|
791
|
+
opsRecovery?: VoiceSurfaceConfig<import("./opsRecovery").VoiceOpsRecoveryRoutesOptions>;
|
|
792
|
+
opsStatus?: VoiceSurfaceConfig<import("./opsStatus").VoiceOpsStatusRoutesOptions>;
|
|
793
|
+
opsWebhookReceiver?: VoiceSurfaceConfig<import("./opsWebhook").VoiceOpsWebhookReceiverRoutesOptions>;
|
|
794
|
+
outcomeContract?: VoiceSurfaceConfig<import("./outcomeContract").VoiceOutcomeContractRoutesOptions>;
|
|
795
|
+
phoneAgentProductionSmoke?: VoiceSurfaceConfig<import("./phoneAgentProductionSmoke").VoicePhoneAgentProductionSmokeRoutesOptions>;
|
|
796
|
+
platformCoverage?: VoiceSurfaceConfig<import("./platformCoverage").VoicePlatformCoverageRoutesOptions>;
|
|
797
|
+
postCallAnalysis?: VoiceSurfaceConfig<import("./postCallAnalysis").VoicePostCallAnalysisRoutesOptions>;
|
|
798
|
+
productionReadiness?: VoiceSurfaceConfig<import("./productionReadiness").VoiceProductionReadinessRoutesOptions>;
|
|
799
|
+
profileSwitchLiveDecision?: VoiceSurfaceConfig<import("./profileSwitchRecommendation").VoiceProfileSwitchLiveDecisionRoutesOptions>;
|
|
800
|
+
profileSwitchPolicyProof?: VoiceSurfaceConfig<import("./profileSwitchRecommendation").VoiceProfileSwitchPolicyProofRoutesOptions>;
|
|
801
|
+
profileSwitchReadiness?: VoiceSurfaceConfig<import("./profileSwitchRecommendation").VoiceProfileSwitchReadinessRoutesOptions>;
|
|
802
|
+
proofPack?: VoiceSurfaceConfig<import("./proofPack").VoiceProofPackRoutesOptions>;
|
|
803
|
+
proofTrend?: VoiceSurfaceConfig<import("./proofTrends").VoiceProofTrendRoutesOptions>;
|
|
804
|
+
proofTrendRecommendation?: VoiceSurfaceConfig<import("./proofTrends").VoiceProofTrendRecommendationRoutesOptions>;
|
|
805
|
+
providerCapability?: VoiceSurfaceConfig<import("./providerCapabilities").VoiceProviderCapabilityRoutesOptions>;
|
|
806
|
+
providerContractMatrix?: VoiceSurfaceConfig<import("./providerStackRecommendations").VoiceProviderContractMatrixRoutesOptions>;
|
|
807
|
+
providerDecisionTrace?: VoiceSurfaceConfig<import("./providerDecisionTraces").VoiceProviderDecisionTraceRoutesOptions>;
|
|
808
|
+
providerHealth?: VoiceSurfaceConfig<import("./providerHealth").VoiceProviderHealthRoutesOptions>;
|
|
809
|
+
providerOrchestration?: VoiceSurfaceConfig<import("./providerOrchestration").VoiceProviderOrchestrationRoutesOptions>;
|
|
810
|
+
providerSlo?: VoiceSurfaceConfig<import("./providerSlo").VoiceProviderSloRoutesOptions>;
|
|
811
|
+
quality?: VoiceSurfaceConfig<import("./qualityRoutes").VoiceQualityRoutesOptions>;
|
|
812
|
+
realCallEvidenceRuntime?: VoiceSurfaceConfig<import("./proofTrends").VoiceRealCallEvidenceRuntimeRoutesOptions>;
|
|
813
|
+
realCallProfileHistory?: VoiceSurfaceConfig<import("./proofTrends").VoiceRealCallProfileHistoryRoutesOptions>;
|
|
814
|
+
realCallProfileRecoveryAction?: VoiceSurfaceConfig<import("./proofTrends").VoiceRealCallProfileRecoveryActionRoutesOptions>;
|
|
815
|
+
realtimeChannel?: VoiceSurfaceConfig<import("./realtimeChannel").VoiceRealtimeChannelRoutesOptions>;
|
|
816
|
+
realtimeProviderContract?: VoiceSurfaceConfig<import("./realtimeProviderContracts").VoiceRealtimeProviderContractRoutesOptions>;
|
|
817
|
+
reconnectContract?: VoiceSurfaceConfig<import("./reconnectContract").VoiceReconnectContractRoutesOptions>;
|
|
818
|
+
reconnectProof?: VoiceSurfaceConfig<import("./reconnectContract").VoiceReconnectProofRoutesOptions>;
|
|
819
|
+
resilience?: VoiceSurfaceConfig<import("./resilienceRoutes").VoiceResilienceRoutesOptions>;
|
|
820
|
+
sessionList?: VoiceSurfaceConfig<import("./sessionReplay").VoiceSessionListRoutesOptions>;
|
|
821
|
+
sessionObservability?: VoiceSurfaceConfig<import("./sessionObservability").VoiceSessionObservabilityRoutesOptions>;
|
|
822
|
+
sessionReplay?: VoiceSurfaceConfig<import("./sessionReplay").VoiceSessionReplayRoutesOptions>;
|
|
823
|
+
sessionSnapshot?: VoiceSurfaceConfig<import("./sessionSnapshot").VoiceSessionSnapshotRoutesOptions>;
|
|
824
|
+
simulationSuite?: VoiceSurfaceConfig<import("./simulationSuite").VoiceSimulationSuiteRoutesOptions>;
|
|
825
|
+
sloCalibration?: VoiceSurfaceConfig<import("./sloCalibration").VoiceSloCalibrationRoutesOptions>;
|
|
826
|
+
sloReadinessThreshold?: VoiceSurfaceConfig<import("./sloCalibration").VoiceSloReadinessThresholdRoutesOptions>;
|
|
827
|
+
telephonyCarrierMatrix?: VoiceSurfaceConfig<import("./telephony/matrix").VoiceTelephonyCarrierMatrixRoutesOptions>;
|
|
828
|
+
telephonyMedia?: VoiceSurfaceConfig<import("./telephonyMediaRoutes").VoiceTelephonyMediaRoutesOptions>;
|
|
829
|
+
telephonyWebhook?: VoiceSurfaceConfig<import("./telephonyOutcome").VoiceTelephonyWebhookRoutesOptions>;
|
|
830
|
+
telephonyWebhookSecurity?: VoiceSurfaceConfig<import("./telephony/security").VoiceTelephonyWebhookSecurityRoutesOptions>;
|
|
831
|
+
toolContract?: VoiceSurfaceConfig<import("./toolContract").VoiceToolContractRoutesOptions>;
|
|
832
|
+
traceDelivery?: VoiceSurfaceConfig<import("./traceDeliveryRoutes").VoiceTraceDeliveryRoutesOptions>;
|
|
833
|
+
traceTimeline?: VoiceSurfaceConfig<import("./traceTimeline").VoiceTraceTimelineRoutesOptions>;
|
|
834
|
+
turnLatency?: VoiceSurfaceConfig<import("./turnLatency").VoiceTurnLatencyRoutesOptions>;
|
|
835
|
+
turnQuality?: VoiceSurfaceConfig<import("./turnQuality").VoiceTurnQualityRoutesOptions>;
|
|
753
836
|
} & VoiceRouteConfig<TContext, TSession, TResult>;
|
|
754
837
|
export type VoiceSessionRecordingConfig = {
|
|
755
838
|
channels?: ReadonlyArray<"assistant" | "user">;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export type VoiceAnalyticsVariableValue = string | number | boolean | null;
|
|
2
|
+
export type VoiceAnalyticsCall = {
|
|
3
|
+
sessionId: string;
|
|
4
|
+
variables: Record<string, VoiceAnalyticsVariableValue>;
|
|
5
|
+
durationSeconds?: number;
|
|
6
|
+
costUsd?: number;
|
|
7
|
+
outcome?: string;
|
|
8
|
+
success?: boolean;
|
|
9
|
+
at?: number;
|
|
10
|
+
};
|
|
11
|
+
export type VoiceVariableValueStats = {
|
|
12
|
+
value: string;
|
|
13
|
+
count: number;
|
|
14
|
+
share: number;
|
|
15
|
+
successRate: number | null;
|
|
16
|
+
avgDurationSeconds: number | null;
|
|
17
|
+
avgCostUsd: number | null;
|
|
18
|
+
outcomes: Record<string, number>;
|
|
19
|
+
};
|
|
20
|
+
export type VoiceVariableBreakdown = {
|
|
21
|
+
variable: string;
|
|
22
|
+
distinctValues: number;
|
|
23
|
+
missingCount: number;
|
|
24
|
+
values: VoiceVariableValueStats[];
|
|
25
|
+
};
|
|
26
|
+
export type VoiceVariableAnalyticsReport = {
|
|
27
|
+
totalCalls: number;
|
|
28
|
+
overall: {
|
|
29
|
+
successRate: number | null;
|
|
30
|
+
avgDurationSeconds: number | null;
|
|
31
|
+
avgCostUsd: number | null;
|
|
32
|
+
};
|
|
33
|
+
byVariable: Record<string, VoiceVariableBreakdown>;
|
|
34
|
+
};
|
|
35
|
+
export type BuildVoiceVariableAnalyticsInput = {
|
|
36
|
+
calls: ReadonlyArray<VoiceAnalyticsCall>;
|
|
37
|
+
/** Variable keys to break analytics down by. */
|
|
38
|
+
variables: ReadonlyArray<string>;
|
|
39
|
+
/**
|
|
40
|
+
* Treat these outcome strings as successes when a call has no explicit
|
|
41
|
+
* `success` flag. Case-insensitive.
|
|
42
|
+
*/
|
|
43
|
+
successOutcomes?: ReadonlyArray<string>;
|
|
44
|
+
/** Cap the values returned per variable (highest count first). */
|
|
45
|
+
topValuesPerVariable?: number;
|
|
46
|
+
};
|
|
47
|
+
export declare const buildVoiceVariableAnalytics: (input: BuildVoiceVariableAnalyticsInput) => VoiceVariableAnalyticsReport;
|
|
@@ -53,5 +53,5 @@ export declare const VoiceCostDashboard: import("vue").DefineComponent<import("v
|
|
|
53
53
|
title: string;
|
|
54
54
|
currency: string;
|
|
55
55
|
emptyMessage: string;
|
|
56
|
-
bucketBy: "day" | "
|
|
56
|
+
bucketBy: "day" | "hour" | "month" | undefined;
|
|
57
57
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { VoiceTraceEvent } from "./trace";
|
|
2
|
+
import type { VoiceTurnRecord } from "./types";
|
|
3
|
+
export type VoiceZeroDataRetentionMode = "off" | "strict" | "custom";
|
|
4
|
+
export type VoiceZeroDataRetentionRetainFlags = {
|
|
5
|
+
/** Persist committed/partial transcript text. */
|
|
6
|
+
transcriptText: boolean;
|
|
7
|
+
/** Persist assistant response text. */
|
|
8
|
+
assistantText: boolean;
|
|
9
|
+
/** Persist recorded audio artifacts. */
|
|
10
|
+
recordings: boolean;
|
|
11
|
+
/** Persist free-text payloads on trace events. */
|
|
12
|
+
traceText: boolean;
|
|
13
|
+
/** Persist arbitrary session/turn metadata. */
|
|
14
|
+
metadata: boolean;
|
|
15
|
+
};
|
|
16
|
+
export type VoiceZeroDataRetentionPolicy = {
|
|
17
|
+
mode: VoiceZeroDataRetentionMode;
|
|
18
|
+
retain: VoiceZeroDataRetentionRetainFlags;
|
|
19
|
+
};
|
|
20
|
+
export type CreateVoiceZeroDataRetentionPolicyOptions = {
|
|
21
|
+
mode?: VoiceZeroDataRetentionMode;
|
|
22
|
+
/** Per-flag overrides; only meaningful with mode "custom" (or to relax "strict"). */
|
|
23
|
+
retain?: Partial<VoiceZeroDataRetentionRetainFlags>;
|
|
24
|
+
};
|
|
25
|
+
export declare const createVoiceZeroDataRetentionPolicy: (options?: CreateVoiceZeroDataRetentionPolicyOptions) => VoiceZeroDataRetentionPolicy;
|
|
26
|
+
export declare const isVoiceZeroDataRetentionActive: (policy: VoiceZeroDataRetentionPolicy) => boolean;
|
|
27
|
+
export declare const shouldRetainVoiceRecording: (policy: VoiceZeroDataRetentionPolicy) => boolean;
|
|
28
|
+
export declare const shouldRetainVoiceTranscript: (policy: VoiceZeroDataRetentionPolicy) => boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Returns a scrubbed copy of a turn record honoring the ZDR policy. Structural
|
|
31
|
+
* fields (ids, timestamps, transcript count, citation ids) are preserved;
|
|
32
|
+
* content fields are replaced with a redaction marker or dropped.
|
|
33
|
+
*/
|
|
34
|
+
export declare const scrubVoiceTurnForZeroDataRetention: <TResult = unknown>(turn: VoiceTurnRecord<TResult>, policy: VoiceZeroDataRetentionPolicy) => VoiceTurnRecord<TResult>;
|
|
35
|
+
/**
|
|
36
|
+
* Returns a scrubbed copy of a trace event honoring the ZDR policy. Drops or
|
|
37
|
+
* masks free-text payload fields while keeping the event type, ids, and
|
|
38
|
+
* timestamps so observability/lifecycle accounting still works.
|
|
39
|
+
*/
|
|
40
|
+
export declare const scrubVoiceTraceForZeroDataRetention: (event: VoiceTraceEvent, policy: VoiceZeroDataRetentionPolicy) => VoiceTraceEvent;
|
|
41
|
+
export declare const VOICE_ZERO_DATA_RETENTION_REDACTION_MARKER = "[redacted:zdr]";
|