@absolutejs/voice 0.0.22-beta.349 → 0.0.22-beta.350
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/client/index.js +36 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +37 -0
- package/dist/proofTrends.d.ts +9 -0
- package/dist/react/index.js +36 -0
- package/dist/vue/index.js +36 -0
- package/package.json +1 -1
package/dist/client/index.js
CHANGED
|
@@ -4165,6 +4165,42 @@ var buildVoiceRealCallProfileDefaults = (input, options = {}) => {
|
|
|
4165
4165
|
}
|
|
4166
4166
|
};
|
|
4167
4167
|
};
|
|
4168
|
+
var normalizeProviderRouteCandidate = (provider, role) => {
|
|
4169
|
+
const rolePrefix = `${role}:`;
|
|
4170
|
+
return provider.startsWith(rolePrefix) ? provider.slice(rolePrefix.length) : provider;
|
|
4171
|
+
};
|
|
4172
|
+
var expandProviderRouteCandidates = (provider, role, aliases = {}) => {
|
|
4173
|
+
if (!provider) {
|
|
4174
|
+
return [];
|
|
4175
|
+
}
|
|
4176
|
+
const explicitAlias = aliases[provider];
|
|
4177
|
+
const normalized = normalizeProviderRouteCandidate(provider, role);
|
|
4178
|
+
const normalizedAlias = aliases[normalized];
|
|
4179
|
+
const aliasCandidates = [
|
|
4180
|
+
...Array.isArray(explicitAlias) ? explicitAlias : explicitAlias ? [explicitAlias] : [],
|
|
4181
|
+
...Array.isArray(normalizedAlias) ? normalizedAlias : normalizedAlias ? [normalizedAlias] : []
|
|
4182
|
+
];
|
|
4183
|
+
return [
|
|
4184
|
+
...aliasCandidates,
|
|
4185
|
+
provider,
|
|
4186
|
+
normalized,
|
|
4187
|
+
...normalized.split("+").filter(Boolean)
|
|
4188
|
+
];
|
|
4189
|
+
};
|
|
4190
|
+
var readRealCallProfileDefaultsReport = (input) => ("defaults" in input) ? input.defaults : input;
|
|
4191
|
+
var resolveVoiceRealCallProfileProviderRoute = (options) => {
|
|
4192
|
+
const defaults = readRealCallProfileDefaultsReport(options.defaults);
|
|
4193
|
+
const profile = defaults.profiles.find((item) => item.profileId === options.profileId) ?? defaults.profiles.find((item) => item.status === "pass") ?? defaults.profiles[0];
|
|
4194
|
+
const provider = profile?.providerRoutes[options.role];
|
|
4195
|
+
const available = new Set(options.availableProviders ?? []);
|
|
4196
|
+
const candidates = expandProviderRouteCandidates(provider, options.role, options.providerAliases);
|
|
4197
|
+
for (const candidate of candidates) {
|
|
4198
|
+
if ((options.availableProviders === undefined || available.has(candidate)) && candidate) {
|
|
4199
|
+
return candidate;
|
|
4200
|
+
}
|
|
4201
|
+
}
|
|
4202
|
+
return options.fallbackProvider;
|
|
4203
|
+
};
|
|
4168
4204
|
var buildVoiceRealCallProfileHistoryReport = (options = {}) => {
|
|
4169
4205
|
const generatedAt = options.generatedAt ?? (options.now instanceof Date ? options.now.toISOString() : typeof options.now === "number" ? new Date(options.now).toISOString() : typeof options.now === "string" ? new Date(options.now).toISOString() : new Date().toISOString());
|
|
4170
4206
|
const evidenceReport = options.evidence && options.evidence.length > 0 ? buildVoiceProofTrendReportFromRealCallProfiles({
|
package/dist/index.d.ts
CHANGED
|
@@ -30,10 +30,10 @@ export { assertVoicePlatformCoverage, buildVoicePlatformCoverageSummary, createV
|
|
|
30
30
|
export { assertVoiceCompetitiveCoverage, buildVoiceCompetitiveCoverageReport, createVoiceCompetitiveCoverageRoutes, evaluateVoiceCompetitiveCoverage, renderVoiceCompetitiveCoverageHTML, renderVoiceCompetitiveCoverageMarkdown } from './competitiveCoverage';
|
|
31
31
|
export type { VoiceCompetitiveCoverageAssertionInput, VoiceCompetitiveCoverageAssertionReport, VoiceCompetitiveCoverageIssue, VoiceCompetitiveCoverageLevel, VoiceCompetitiveCoverageReport, VoiceCompetitiveCoverageReportInput, VoiceCompetitiveCoverageRoutesOptions, VoiceCompetitiveCoverageStatus, VoiceCompetitiveCoverageSummary, VoiceCompetitiveDepthLevel, VoiceCompetitiveEvidence, VoiceCompetitiveSurface } from './competitiveCoverage';
|
|
32
32
|
export type { VoicePlatformCoverageAssertionInput, VoicePlatformCoverageAssertionReport, VoicePlatformCoverageEvidence, VoicePlatformCoverageRoutesOptions, VoicePlatformCoverageStatus, VoicePlatformCoverageSummary, VoicePlatformCoverageSummaryInput, VoicePlatformCoverageSurface } from './platformCoverage';
|
|
33
|
-
export { assertVoiceProofTrendEvidence, buildEmptyVoiceProofTrendReport, buildVoiceProofTrendProfileSummaries, buildVoiceProofTrendRecommendationReport, buildVoiceProofTrendReportFromRealCallProfiles, buildVoiceProofTrendReport, buildVoiceRealCallProfileDefaults, buildVoiceRealCallProfileHistoryReport, createVoiceProofTrendRecommendationRoutes, createVoiceProofTrendRoutes, createVoiceRealCallProfileHistoryRoutes, DEFAULT_VOICE_PROOF_TREND_PROFILE_DEFINITIONS, DEFAULT_VOICE_PROOF_TRENDS_MAX_AGE_MS, evaluateVoiceProofTrendEvidence, formatVoiceProofTrendAge, normalizeVoiceProofTrendReport, readVoiceProofTrendReportFile, renderVoiceProofTrendRecommendationHTML, renderVoiceProofTrendRecommendationMarkdown, renderVoiceRealCallProfileHistoryHTML, renderVoiceRealCallProfileHistoryMarkdown } from './proofTrends';
|
|
33
|
+
export { assertVoiceProofTrendEvidence, buildEmptyVoiceProofTrendReport, buildVoiceProofTrendProfileSummaries, buildVoiceProofTrendRecommendationReport, buildVoiceProofTrendReportFromRealCallProfiles, buildVoiceProofTrendReport, buildVoiceRealCallProfileDefaults, buildVoiceRealCallProfileHistoryReport, createVoiceProofTrendRecommendationRoutes, createVoiceProofTrendRoutes, createVoiceRealCallProfileHistoryRoutes, DEFAULT_VOICE_PROOF_TREND_PROFILE_DEFINITIONS, DEFAULT_VOICE_PROOF_TRENDS_MAX_AGE_MS, evaluateVoiceProofTrendEvidence, formatVoiceProofTrendAge, normalizeVoiceProofTrendReport, readVoiceProofTrendReportFile, renderVoiceProofTrendRecommendationHTML, renderVoiceProofTrendRecommendationMarkdown, renderVoiceRealCallProfileHistoryHTML, renderVoiceRealCallProfileHistoryMarkdown, resolveVoiceRealCallProfileProviderRoute } from './proofTrends';
|
|
34
34
|
export { buildVoiceProviderDecisionTraceReport, createVoiceProviderDecisionTraceEvent, createVoiceProviderDecisionTraceRoutes, listVoiceProviderDecisionTraces, renderVoiceProviderDecisionTraceHTML, renderVoiceProviderDecisionTraceMarkdown } from './providerDecisionTraces';
|
|
35
35
|
export type { VoiceProviderDecisionStatus, VoiceProviderDecisionSurfaceReport, VoiceProviderDecisionTrace, VoiceProviderDecisionTraceInput, VoiceProviderDecisionTraceIssue, VoiceProviderDecisionTraceReport, VoiceProviderDecisionTraceReportOptions, VoiceProviderDecisionTraceRoutesOptions } from './providerDecisionTraces';
|
|
36
|
-
export type { VoiceProofTrendAssertionInput, VoiceProofTrendAssertionReport, VoiceProofTrendCycle, VoiceProofTrendProfileDefinition, VoiceProofTrendProfileRecommendation, VoiceProofTrendProfileSummaryOptions, VoiceProofTrendProfileSummary, VoiceProofTrendProviderRecommendation, VoiceProofTrendProviderSummary, VoiceProofTrendRecommendation, VoiceProofTrendRecommendationOptions, VoiceProofTrendRecommendationReport, VoiceProofTrendRecommendationRoutesOptions, VoiceProofTrendRecommendationStatus, VoiceProofTrendRecommendationSurface, VoiceProofTrendRealCallProfileEvidence, VoiceProofTrendRealCallProfileReportOptions, VoiceProofTrendReport, VoiceProofTrendReportInput, VoiceProofTrendRoutesOptions, VoiceProofTrendRuntimeChannelSummary, VoiceProofTrendStatus, VoiceProofTrendSummary, VoiceRealCallProfileDefault, VoiceRealCallProfileDefaultsOptions, VoiceRealCallProfileDefaultsReport, VoiceRealCallProfileHistoryOptions, VoiceRealCallProfileHistoryReport, VoiceRealCallProfileHistoryRoutesOptions } from './proofTrends';
|
|
36
|
+
export type { VoiceProofTrendAssertionInput, VoiceProofTrendAssertionReport, VoiceProofTrendCycle, VoiceProofTrendProfileDefinition, VoiceProofTrendProfileRecommendation, VoiceProofTrendProfileSummaryOptions, VoiceProofTrendProfileSummary, VoiceProofTrendProviderRecommendation, VoiceProofTrendProviderSummary, VoiceProofTrendRecommendation, VoiceProofTrendRecommendationOptions, VoiceProofTrendRecommendationReport, VoiceProofTrendRecommendationRoutesOptions, VoiceProofTrendRecommendationStatus, VoiceProofTrendRecommendationSurface, VoiceProofTrendRealCallProfileEvidence, VoiceProofTrendRealCallProfileReportOptions, VoiceProofTrendReport, VoiceProofTrendReportInput, VoiceProofTrendRoutesOptions, VoiceProofTrendRuntimeChannelSummary, VoiceProofTrendStatus, VoiceProofTrendSummary, VoiceRealCallProfileDefault, VoiceRealCallProfileDefaultsOptions, VoiceRealCallProfileDefaultsReport, VoiceRealCallProfileHistoryOptions, VoiceRealCallProfileHistoryReport, VoiceRealCallProfileHistoryRoutesOptions, VoiceRealCallProfileProviderRouteOptions } from './proofTrends';
|
|
37
37
|
export { assertVoiceSloCalibration, buildVoiceSloCalibrationReport, buildVoiceSloReadinessThresholdReport, createVoiceSloReadinessThresholdOptions, createVoiceSloReadinessThresholdRoutes, createVoiceSloThresholdProfile, createVoiceSloCalibrationRoutes, renderVoiceSloCalibrationMarkdown, renderVoiceSloReadinessThresholdHTML, renderVoiceSloReadinessThresholdMarkdown } from './sloCalibration';
|
|
38
38
|
export type { VoiceSloCalibrationMetricKey, VoiceSloCalibrationOptions, VoiceSloCalibrationReport, VoiceSloCalibrationRoutesOptions, VoiceSloCalibrationSample, VoiceSloCalibrationStatus, VoiceSloCalibrationThreshold, VoiceSloCalibrationThresholds, VoiceSloReadinessThresholdReport, VoiceSloReadinessThresholdReportOptions, VoiceSloReadinessThresholdOptions, VoiceSloReadinessThresholdRoutesOptions, VoiceSloThresholdProfile } from './sloCalibration';
|
|
39
39
|
export { assertVoiceLiveOpsControlEvidence, assertVoiceLiveOpsEvidence, buildVoiceLiveOpsControlState, createVoiceLiveOpsController, createVoiceLiveOpsRoutes, createVoiceMemoryLiveOpsControlStore, evaluateVoiceLiveOpsControlEvidence, evaluateVoiceLiveOpsEvidence, getVoiceLiveOpsControlStatus, VOICE_LIVE_OPS_ACTIONS } from './liveOps';
|
package/dist/index.js
CHANGED
|
@@ -15067,6 +15067,42 @@ var buildVoiceRealCallProfileDefaults = (input, options = {}) => {
|
|
|
15067
15067
|
}
|
|
15068
15068
|
};
|
|
15069
15069
|
};
|
|
15070
|
+
var normalizeProviderRouteCandidate = (provider, role) => {
|
|
15071
|
+
const rolePrefix = `${role}:`;
|
|
15072
|
+
return provider.startsWith(rolePrefix) ? provider.slice(rolePrefix.length) : provider;
|
|
15073
|
+
};
|
|
15074
|
+
var expandProviderRouteCandidates = (provider, role, aliases = {}) => {
|
|
15075
|
+
if (!provider) {
|
|
15076
|
+
return [];
|
|
15077
|
+
}
|
|
15078
|
+
const explicitAlias = aliases[provider];
|
|
15079
|
+
const normalized = normalizeProviderRouteCandidate(provider, role);
|
|
15080
|
+
const normalizedAlias = aliases[normalized];
|
|
15081
|
+
const aliasCandidates = [
|
|
15082
|
+
...Array.isArray(explicitAlias) ? explicitAlias : explicitAlias ? [explicitAlias] : [],
|
|
15083
|
+
...Array.isArray(normalizedAlias) ? normalizedAlias : normalizedAlias ? [normalizedAlias] : []
|
|
15084
|
+
];
|
|
15085
|
+
return [
|
|
15086
|
+
...aliasCandidates,
|
|
15087
|
+
provider,
|
|
15088
|
+
normalized,
|
|
15089
|
+
...normalized.split("+").filter(Boolean)
|
|
15090
|
+
];
|
|
15091
|
+
};
|
|
15092
|
+
var readRealCallProfileDefaultsReport = (input) => ("defaults" in input) ? input.defaults : input;
|
|
15093
|
+
var resolveVoiceRealCallProfileProviderRoute = (options) => {
|
|
15094
|
+
const defaults = readRealCallProfileDefaultsReport(options.defaults);
|
|
15095
|
+
const profile = defaults.profiles.find((item) => item.profileId === options.profileId) ?? defaults.profiles.find((item) => item.status === "pass") ?? defaults.profiles[0];
|
|
15096
|
+
const provider = profile?.providerRoutes[options.role];
|
|
15097
|
+
const available = new Set(options.availableProviders ?? []);
|
|
15098
|
+
const candidates = expandProviderRouteCandidates(provider, options.role, options.providerAliases);
|
|
15099
|
+
for (const candidate of candidates) {
|
|
15100
|
+
if ((options.availableProviders === undefined || available.has(candidate)) && candidate) {
|
|
15101
|
+
return candidate;
|
|
15102
|
+
}
|
|
15103
|
+
}
|
|
15104
|
+
return options.fallbackProvider;
|
|
15105
|
+
};
|
|
15070
15106
|
var buildVoiceRealCallProfileHistoryReport = (options = {}) => {
|
|
15071
15107
|
const generatedAt = options.generatedAt ?? (options.now instanceof Date ? options.now.toISOString() : typeof options.now === "number" ? new Date(options.now).toISOString() : typeof options.now === "string" ? new Date(options.now).toISOString() : new Date().toISOString());
|
|
15072
15108
|
const evidenceReport = options.evidence && options.evidence.length > 0 ? buildVoiceProofTrendReportFromRealCallProfiles({
|
|
@@ -37166,6 +37202,7 @@ export {
|
|
|
37166
37202
|
resolveVoiceTelephonyOutcome,
|
|
37167
37203
|
resolveVoiceSTTRoutingStrategy,
|
|
37168
37204
|
resolveVoiceRuntimePreset,
|
|
37205
|
+
resolveVoiceRealCallProfileProviderRoute,
|
|
37169
37206
|
resolveVoiceProviderRoutingPolicyPreset,
|
|
37170
37207
|
resolveVoiceOutcomeRecipe,
|
|
37171
37208
|
resolveVoiceOpsTaskPolicy,
|
package/dist/proofTrends.d.ts
CHANGED
|
@@ -325,6 +325,14 @@ export type VoiceRealCallProfileDefaultsOptions = VoiceProofTrendRecommendationO
|
|
|
325
325
|
latencyBudgetHeadroomRatio?: number;
|
|
326
326
|
requiredProviderRoles?: readonly string[];
|
|
327
327
|
};
|
|
328
|
+
export type VoiceRealCallProfileProviderRouteOptions<TProvider extends string = string> = {
|
|
329
|
+
availableProviders?: readonly TProvider[];
|
|
330
|
+
defaults: VoiceRealCallProfileDefaultsReport | VoiceRealCallProfileHistoryReport;
|
|
331
|
+
fallbackProvider?: TProvider;
|
|
332
|
+
profileId?: string;
|
|
333
|
+
providerAliases?: Partial<Record<string, TProvider | readonly TProvider[]>>;
|
|
334
|
+
role: string;
|
|
335
|
+
};
|
|
328
336
|
export type VoiceRealCallProfileHistoryRoutesOptions = Omit<VoiceRealCallProfileHistoryOptions, 'source'> & {
|
|
329
337
|
headers?: HeadersInit;
|
|
330
338
|
htmlPath?: false | string;
|
|
@@ -365,6 +373,7 @@ export declare const readVoiceProofTrendReportFile: (path: string, options?: {
|
|
|
365
373
|
export declare const buildVoiceProofTrendProfileSummaries: (input: VoiceProofTrendReport | readonly VoiceProofTrendReport[], options?: VoiceProofTrendProfileSummaryOptions) => VoiceProofTrendProfileSummary[];
|
|
366
374
|
export declare const buildVoiceProofTrendReportFromRealCallProfiles: (options: VoiceProofTrendRealCallProfileReportOptions) => VoiceProofTrendReport;
|
|
367
375
|
export declare const buildVoiceRealCallProfileDefaults: (input: VoiceRealCallProfileHistoryReport | VoiceProofTrendReport, options?: VoiceRealCallProfileDefaultsOptions) => VoiceRealCallProfileDefaultsReport;
|
|
376
|
+
export declare const resolveVoiceRealCallProfileProviderRoute: <TProvider extends string = string>(options: VoiceRealCallProfileProviderRouteOptions<TProvider>) => TProvider | undefined;
|
|
368
377
|
export declare const buildVoiceRealCallProfileHistoryReport: (options?: VoiceRealCallProfileHistoryOptions) => VoiceRealCallProfileHistoryReport;
|
|
369
378
|
export declare const evaluateVoiceProofTrendEvidence: (report: VoiceProofTrendReport, input?: VoiceProofTrendAssertionInput) => VoiceProofTrendAssertionReport;
|
|
370
379
|
export declare const assertVoiceProofTrendEvidence: (report: VoiceProofTrendReport, input?: VoiceProofTrendAssertionInput) => VoiceProofTrendAssertionReport;
|
package/dist/react/index.js
CHANGED
|
@@ -1913,6 +1913,42 @@ var buildVoiceRealCallProfileDefaults = (input, options = {}) => {
|
|
|
1913
1913
|
}
|
|
1914
1914
|
};
|
|
1915
1915
|
};
|
|
1916
|
+
var normalizeProviderRouteCandidate = (provider, role) => {
|
|
1917
|
+
const rolePrefix = `${role}:`;
|
|
1918
|
+
return provider.startsWith(rolePrefix) ? provider.slice(rolePrefix.length) : provider;
|
|
1919
|
+
};
|
|
1920
|
+
var expandProviderRouteCandidates = (provider, role, aliases = {}) => {
|
|
1921
|
+
if (!provider) {
|
|
1922
|
+
return [];
|
|
1923
|
+
}
|
|
1924
|
+
const explicitAlias = aliases[provider];
|
|
1925
|
+
const normalized = normalizeProviderRouteCandidate(provider, role);
|
|
1926
|
+
const normalizedAlias = aliases[normalized];
|
|
1927
|
+
const aliasCandidates = [
|
|
1928
|
+
...Array.isArray(explicitAlias) ? explicitAlias : explicitAlias ? [explicitAlias] : [],
|
|
1929
|
+
...Array.isArray(normalizedAlias) ? normalizedAlias : normalizedAlias ? [normalizedAlias] : []
|
|
1930
|
+
];
|
|
1931
|
+
return [
|
|
1932
|
+
...aliasCandidates,
|
|
1933
|
+
provider,
|
|
1934
|
+
normalized,
|
|
1935
|
+
...normalized.split("+").filter(Boolean)
|
|
1936
|
+
];
|
|
1937
|
+
};
|
|
1938
|
+
var readRealCallProfileDefaultsReport = (input) => ("defaults" in input) ? input.defaults : input;
|
|
1939
|
+
var resolveVoiceRealCallProfileProviderRoute = (options) => {
|
|
1940
|
+
const defaults = readRealCallProfileDefaultsReport(options.defaults);
|
|
1941
|
+
const profile = defaults.profiles.find((item) => item.profileId === options.profileId) ?? defaults.profiles.find((item) => item.status === "pass") ?? defaults.profiles[0];
|
|
1942
|
+
const provider = profile?.providerRoutes[options.role];
|
|
1943
|
+
const available = new Set(options.availableProviders ?? []);
|
|
1944
|
+
const candidates = expandProviderRouteCandidates(provider, options.role, options.providerAliases);
|
|
1945
|
+
for (const candidate of candidates) {
|
|
1946
|
+
if ((options.availableProviders === undefined || available.has(candidate)) && candidate) {
|
|
1947
|
+
return candidate;
|
|
1948
|
+
}
|
|
1949
|
+
}
|
|
1950
|
+
return options.fallbackProvider;
|
|
1951
|
+
};
|
|
1916
1952
|
var buildVoiceRealCallProfileHistoryReport = (options = {}) => {
|
|
1917
1953
|
const generatedAt = options.generatedAt ?? (options.now instanceof Date ? options.now.toISOString() : typeof options.now === "number" ? new Date(options.now).toISOString() : typeof options.now === "string" ? new Date(options.now).toISOString() : new Date().toISOString());
|
|
1918
1954
|
const evidenceReport = options.evidence && options.evidence.length > 0 ? buildVoiceProofTrendReportFromRealCallProfiles({
|
package/dist/vue/index.js
CHANGED
|
@@ -1834,6 +1834,42 @@ var buildVoiceRealCallProfileDefaults = (input, options = {}) => {
|
|
|
1834
1834
|
}
|
|
1835
1835
|
};
|
|
1836
1836
|
};
|
|
1837
|
+
var normalizeProviderRouteCandidate = (provider, role) => {
|
|
1838
|
+
const rolePrefix = `${role}:`;
|
|
1839
|
+
return provider.startsWith(rolePrefix) ? provider.slice(rolePrefix.length) : provider;
|
|
1840
|
+
};
|
|
1841
|
+
var expandProviderRouteCandidates = (provider, role, aliases = {}) => {
|
|
1842
|
+
if (!provider) {
|
|
1843
|
+
return [];
|
|
1844
|
+
}
|
|
1845
|
+
const explicitAlias = aliases[provider];
|
|
1846
|
+
const normalized = normalizeProviderRouteCandidate(provider, role);
|
|
1847
|
+
const normalizedAlias = aliases[normalized];
|
|
1848
|
+
const aliasCandidates = [
|
|
1849
|
+
...Array.isArray(explicitAlias) ? explicitAlias : explicitAlias ? [explicitAlias] : [],
|
|
1850
|
+
...Array.isArray(normalizedAlias) ? normalizedAlias : normalizedAlias ? [normalizedAlias] : []
|
|
1851
|
+
];
|
|
1852
|
+
return [
|
|
1853
|
+
...aliasCandidates,
|
|
1854
|
+
provider,
|
|
1855
|
+
normalized,
|
|
1856
|
+
...normalized.split("+").filter(Boolean)
|
|
1857
|
+
];
|
|
1858
|
+
};
|
|
1859
|
+
var readRealCallProfileDefaultsReport = (input) => ("defaults" in input) ? input.defaults : input;
|
|
1860
|
+
var resolveVoiceRealCallProfileProviderRoute = (options) => {
|
|
1861
|
+
const defaults = readRealCallProfileDefaultsReport(options.defaults);
|
|
1862
|
+
const profile = defaults.profiles.find((item) => item.profileId === options.profileId) ?? defaults.profiles.find((item) => item.status === "pass") ?? defaults.profiles[0];
|
|
1863
|
+
const provider = profile?.providerRoutes[options.role];
|
|
1864
|
+
const available = new Set(options.availableProviders ?? []);
|
|
1865
|
+
const candidates = expandProviderRouteCandidates(provider, options.role, options.providerAliases);
|
|
1866
|
+
for (const candidate of candidates) {
|
|
1867
|
+
if ((options.availableProviders === undefined || available.has(candidate)) && candidate) {
|
|
1868
|
+
return candidate;
|
|
1869
|
+
}
|
|
1870
|
+
}
|
|
1871
|
+
return options.fallbackProvider;
|
|
1872
|
+
};
|
|
1837
1873
|
var buildVoiceRealCallProfileHistoryReport = (options = {}) => {
|
|
1838
1874
|
const generatedAt = options.generatedAt ?? (options.now instanceof Date ? options.now.toISOString() : typeof options.now === "number" ? new Date(options.now).toISOString() : typeof options.now === "string" ? new Date(options.now).toISOString() : new Date().toISOString());
|
|
1839
1875
|
const evidenceReport = options.evidence && options.evidence.length > 0 ? buildVoiceProofTrendReportFromRealCallProfiles({
|