@absolutejs/voice 0.0.22-beta.169 → 0.0.22-beta.170
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 +2 -2
- package/dist/index.js +56 -0
- package/dist/providerStackRecommendations.d.ts +12 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -46,7 +46,7 @@ export { assertVoiceProviderRoutingContract, runVoiceProviderRoutingContract } f
|
|
|
46
46
|
export { createVoicePhoneAgentProductionSmokeHTMLHandler, createVoicePhoneAgentProductionSmokeJSONHandler, createVoicePhoneAgentProductionSmokeRoutes, renderVoicePhoneAgentProductionSmokeHTML, runVoicePhoneAgentProductionSmokeContract } from './phoneAgentProductionSmoke';
|
|
47
47
|
export { buildVoiceProductionReadinessGate, buildVoiceProductionReadinessReport, createVoiceProductionReadinessRoutes, renderVoiceProductionReadinessHTML, summarizeVoiceProductionReadinessGate } from './productionReadiness';
|
|
48
48
|
export { createVoiceReadinessProfile, recommendVoiceReadinessProfile } from './readinessProfiles';
|
|
49
|
-
export { buildVoiceProviderContractMatrix, createVoiceProviderContractMatrixHTMLHandler, createVoiceProviderContractMatrixJSONHandler, createVoiceProviderContractMatrixRoutes, evaluateVoiceProviderStackGaps, renderVoiceProviderContractMatrixHTML, recommendVoiceProviderStack } from './providerStackRecommendations';
|
|
49
|
+
export { buildVoiceProviderContractMatrix, createVoiceProviderContractMatrixHTMLHandler, createVoiceProviderContractMatrixJSONHandler, createVoiceProviderContractMatrixPreset, createVoiceProviderContractMatrixRoutes, evaluateVoiceProviderStackGaps, renderVoiceProviderContractMatrixHTML, recommendVoiceProviderStack } from './providerStackRecommendations';
|
|
50
50
|
export { buildVoiceOpsConsoleReport, createVoiceOpsConsoleRoutes, renderVoiceOpsConsoleHTML } from './opsConsoleRoutes';
|
|
51
51
|
export { summarizeVoiceOpsStatus } from './opsStatus';
|
|
52
52
|
export { createVoiceOpsStatusRoutes, renderVoiceOpsStatusHTML } from './opsStatusRoutes';
|
|
@@ -106,7 +106,7 @@ export type { VoiceOpsConsoleLink, VoiceOpsConsoleReport, VoiceOpsConsoleRoutesO
|
|
|
106
106
|
export type { VoiceOpsStatus, VoiceOpsStatusLink, VoiceOpsStatusOptions, VoiceOpsStatusReport, VoiceOpsStatusRoutesOptions } from './opsStatus';
|
|
107
107
|
export type { VoiceProductionReadinessAction, VoiceProductionReadinessAuditOptions, VoiceProductionReadinessAuditRequirement, VoiceProductionReadinessAuditSummary, VoiceProductionReadinessCheck, VoiceProductionReadinessGateIssue, VoiceProductionReadinessGateOptions, VoiceProductionReadinessGateProfile, VoiceProductionReadinessGateProfileSurface, VoiceProductionReadinessGateReport, VoiceProductionReadinessOpsActionHistoryOptions, VoiceProductionReadinessOpsActionHistorySummary, VoiceProductionReadinessProfileExplanation, VoiceProductionReadinessProfileSurface, VoiceProductionReadinessProofSource, VoiceProductionReadinessReport, VoiceProductionReadinessRoutesOptions, VoiceProductionReadinessTraceDeliverySummary, VoiceProductionReadinessAuditDeliveryOptions, VoiceProductionReadinessAuditDeliverySummary, VoiceProductionReadinessTraceDeliveryOptions, VoiceProductionReadinessStatus } from './productionReadiness';
|
|
108
108
|
export type { VoiceReadinessProfileName, VoiceReadinessProfileOptions, VoiceReadinessProfileRecommendation, VoiceReadinessProfileRecommendationScore, VoiceReadinessProfileRoutesOptions } from './readinessProfiles';
|
|
109
|
-
export type { VoiceProviderStackChoice, VoiceProviderStackCapabilities, VoiceProviderStackCapabilityGap, VoiceProviderStackCapabilityGapInput, VoiceProviderStackCapabilityGapReport, VoiceProviderContractCheck, VoiceProviderContractCheckStatus, VoiceProviderContractDefinition, VoiceProviderContractMatrixHandlerOptions, VoiceProviderContractMatrixHTMLHandlerOptions, VoiceProviderContractMatrixInput, VoiceProviderContractMatrixReport, VoiceProviderContractMatrixRoutesOptions, VoiceProviderContractMatrixRow, VoiceProviderStackInput, VoiceProviderStackKind, VoiceProviderStackRecommendation } from './providerStackRecommendations';
|
|
109
|
+
export type { VoiceProviderStackChoice, VoiceProviderStackCapabilities, VoiceProviderStackCapabilityGap, VoiceProviderStackCapabilityGapInput, VoiceProviderStackCapabilityGapReport, VoiceProviderContractCheck, VoiceProviderContractCheckStatus, VoiceProviderContractDefinition, VoiceProviderContractMatrixHandlerOptions, VoiceProviderContractMatrixHTMLHandlerOptions, VoiceProviderContractMatrixInput, VoiceProviderContractMatrixPresetOptions, VoiceProviderContractMatrixReport, VoiceProviderContractMatrixRoutesOptions, VoiceProviderContractMatrixRow, VoiceProviderStackInput, VoiceProviderStackKind, VoiceProviderStackRecommendation } from './providerStackRecommendations';
|
|
110
110
|
export type { VoiceQualityLink, VoiceQualityMetric, VoiceQualityReport, VoiceQualityRoutesOptions, VoiceQualityStatus, VoiceQualityThresholds } from './qualityRoutes';
|
|
111
111
|
export type { VoiceResilienceIOSimulator, VoiceResilienceLink, VoiceResiliencePageData, VoiceResilienceRoutesOptions, VoiceResilienceSimulationProvider, VoiceRoutingKindSummary, VoiceRoutingDecisionSummary, VoiceRoutingDecisionSummaryOptions, VoiceRoutingEvent, VoiceRoutingEventKind, VoiceRoutingSessionSummary, VoiceRoutingSessionSummaryOptions } from './resilienceRoutes';
|
|
112
112
|
export type { VoiceIOProviderRouterEvent, VoiceIOProviderRouterOptions, VoiceIOProviderRouterPolicy, VoiceIOProviderRouterPolicyConfig, VoiceSTTProviderRouterOptions, VoiceTTSProviderRouterOptions } from './providerAdapters';
|
package/dist/index.js
CHANGED
|
@@ -21395,6 +21395,34 @@ var profileRequiredCapabilities = {
|
|
|
21395
21395
|
tts: ["streaming speech", "barge-in friendly"]
|
|
21396
21396
|
}
|
|
21397
21397
|
};
|
|
21398
|
+
var defaultProviderEnv = {
|
|
21399
|
+
anthropic: ["ANTHROPIC_API_KEY"],
|
|
21400
|
+
assemblyai: ["ASSEMBLYAI_API_KEY"],
|
|
21401
|
+
deepgram: ["DEEPGRAM_API_KEY"],
|
|
21402
|
+
gemini: ["GEMINI_API_KEY"],
|
|
21403
|
+
openai: ["OPENAI_API_KEY"]
|
|
21404
|
+
};
|
|
21405
|
+
var defaultStreamingProviders = new Set([
|
|
21406
|
+
"assemblyai",
|
|
21407
|
+
"deepgram",
|
|
21408
|
+
"openai"
|
|
21409
|
+
]);
|
|
21410
|
+
var defaultProviderCapabilities = {
|
|
21411
|
+
anthropic: ["tool calling", "JSON result shaping", "fallback routing"],
|
|
21412
|
+
assemblyai: ["realtime STT", "turn formatting", "fallback STT"],
|
|
21413
|
+
deepgram: ["realtime STT", "VAD events", "smart formatting"],
|
|
21414
|
+
deterministic: ["offline demo mode", "zero external dependency"],
|
|
21415
|
+
emergency: ["spoken playback", "offline fallback"],
|
|
21416
|
+
gemini: ["tool calling", "JSON result shaping", "fallback routing"],
|
|
21417
|
+
openai: [
|
|
21418
|
+
"tool calling",
|
|
21419
|
+
"JSON result shaping",
|
|
21420
|
+
"fallback routing",
|
|
21421
|
+
"streaming speech",
|
|
21422
|
+
"barge-in friendly",
|
|
21423
|
+
"spoken playback"
|
|
21424
|
+
]
|
|
21425
|
+
};
|
|
21398
21426
|
var chooseProvider = (available, priorities) => priorities.find((provider) => available.includes(provider)) ?? available[0];
|
|
21399
21427
|
var recommendVoiceProviderStack = (input) => {
|
|
21400
21428
|
const priorities = profileProviderPriorities[input.profile];
|
|
@@ -21527,6 +21555,33 @@ var buildVoiceProviderContractMatrix = (input) => {
|
|
|
21527
21555
|
warned
|
|
21528
21556
|
};
|
|
21529
21557
|
};
|
|
21558
|
+
var createVoiceProviderContractMatrixPreset = (profile, options) => {
|
|
21559
|
+
const contracts = ["llm", "stt", "tts"].flatMap((kind) => {
|
|
21560
|
+
const providers = options.providers[kind] ?? [];
|
|
21561
|
+
return providers.map((provider) => {
|
|
21562
|
+
const configured = options.configured?.[provider] ?? (defaultProviderEnv[provider]?.length ? defaultProviderEnv[provider].every((name) => options.env?.[name]) : true);
|
|
21563
|
+
const fallbackProviders = options.fallbackProviders?.[kind] ?? providers.filter((candidate) => candidate !== provider);
|
|
21564
|
+
const requiredCapabilities = profileRequiredCapabilities[profile][kind];
|
|
21565
|
+
const capabilities = options.capabilities?.[kind]?.[provider] ?? defaultProviderCapabilities[provider] ?? [];
|
|
21566
|
+
const requiredEnv = defaultProviderEnv[provider] ?? [];
|
|
21567
|
+
return {
|
|
21568
|
+
capabilities,
|
|
21569
|
+
configured,
|
|
21570
|
+
env: options.env,
|
|
21571
|
+
fallbackProviders,
|
|
21572
|
+
kind,
|
|
21573
|
+
latencyBudgetMs: options.latencyBudgets?.[provider],
|
|
21574
|
+
provider,
|
|
21575
|
+
requiredCapabilities,
|
|
21576
|
+
requiredEnv,
|
|
21577
|
+
remediationHref: options.remediationHref,
|
|
21578
|
+
selected: options.selected?.[kind] === provider,
|
|
21579
|
+
streaming: options.streaming?.[provider] ?? defaultStreamingProviders.has(provider)
|
|
21580
|
+
};
|
|
21581
|
+
});
|
|
21582
|
+
});
|
|
21583
|
+
return { contracts };
|
|
21584
|
+
};
|
|
21530
21585
|
var resolveProviderContractMatrixInput = async (matrix) => typeof matrix === "function" ? await matrix() : matrix;
|
|
21531
21586
|
var renderVoiceProviderContractMatrixHTML = (report, options = {}) => {
|
|
21532
21587
|
const title = options.title ?? "Voice Provider Contract Matrix";
|
|
@@ -24549,6 +24604,7 @@ export {
|
|
|
24549
24604
|
createVoiceProviderHealthJSONHandler,
|
|
24550
24605
|
createVoiceProviderHealthHTMLHandler,
|
|
24551
24606
|
createVoiceProviderContractMatrixRoutes,
|
|
24607
|
+
createVoiceProviderContractMatrixPreset,
|
|
24552
24608
|
createVoiceProviderContractMatrixJSONHandler,
|
|
24553
24609
|
createVoiceProviderContractMatrixHTMLHandler,
|
|
24554
24610
|
createVoiceProviderCapabilityRoutes,
|
|
@@ -67,6 +67,17 @@ export type VoiceProviderContractDefinition<TProvider extends string = string> =
|
|
|
67
67
|
export type VoiceProviderContractMatrixInput<TProvider extends string = string> = {
|
|
68
68
|
contracts: readonly VoiceProviderContractDefinition<TProvider>[];
|
|
69
69
|
};
|
|
70
|
+
export type VoiceProviderContractMatrixPresetOptions<TProvider extends string = string> = {
|
|
71
|
+
capabilities?: VoiceProviderStackCapabilities<TProvider>;
|
|
72
|
+
configured?: Partial<Record<TProvider, boolean>>;
|
|
73
|
+
env?: Record<string, string | undefined>;
|
|
74
|
+
fallbackProviders?: Partial<Record<VoiceProviderStackKind, readonly TProvider[]>>;
|
|
75
|
+
latencyBudgets?: Partial<Record<TProvider, number>>;
|
|
76
|
+
providers: Partial<Record<VoiceProviderStackKind, readonly TProvider[]>>;
|
|
77
|
+
remediationHref?: string;
|
|
78
|
+
selected?: Partial<Record<VoiceProviderStackKind, TProvider>>;
|
|
79
|
+
streaming?: Partial<Record<TProvider, boolean>>;
|
|
80
|
+
};
|
|
70
81
|
export type VoiceProviderContractMatrixHandlerOptions<TProvider extends string = string> = VoiceProviderContractMatrixInput<TProvider> | (() => Promise<VoiceProviderContractMatrixInput<TProvider>> | VoiceProviderContractMatrixInput<TProvider>);
|
|
71
82
|
export type VoiceProviderContractMatrixHTMLHandlerOptions<TProvider extends string = string> = {
|
|
72
83
|
matrix: VoiceProviderContractMatrixHandlerOptions<TProvider>;
|
|
@@ -97,6 +108,7 @@ export type VoiceProviderContractMatrixReport<TProvider extends string = string>
|
|
|
97
108
|
};
|
|
98
109
|
export declare const recommendVoiceProviderStack: <TProvider extends string = string>(input: VoiceProviderStackInput<TProvider>) => VoiceProviderStackRecommendation<TProvider>;
|
|
99
110
|
export declare const buildVoiceProviderContractMatrix: <TProvider extends string = string>(input: VoiceProviderContractMatrixInput<TProvider>) => VoiceProviderContractMatrixReport<TProvider>;
|
|
111
|
+
export declare const createVoiceProviderContractMatrixPreset: <TProvider extends string = string>(profile: VoiceReadinessProfileName, options: VoiceProviderContractMatrixPresetOptions<TProvider>) => VoiceProviderContractMatrixInput<TProvider>;
|
|
100
112
|
export declare const renderVoiceProviderContractMatrixHTML: <TProvider extends string = string>(report: VoiceProviderContractMatrixReport<TProvider>, options?: {
|
|
101
113
|
title?: string;
|
|
102
114
|
}) => string;
|