@absolutejs/voice 0.0.22-beta.336 → 0.0.22-beta.337
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 +5 -4
- package/dist/index.js +5 -4
- package/dist/react/index.js +5 -4
- package/dist/vue/index.js +5 -4
- package/package.json +1 -1
package/dist/client/index.js
CHANGED
|
@@ -3935,7 +3935,7 @@ var bestProviderByRole = (providers) => {
|
|
|
3935
3935
|
}
|
|
3936
3936
|
return [...best.values()].sort((left, right) => String(left.role ?? left.id).localeCompare(String(right.role ?? right.id)));
|
|
3937
3937
|
};
|
|
3938
|
-
var formatProviderMix = (providers) => providers.length === 0 ? "n/a" : providers.map((provider) => provider.role ? `${provider.role.toUpperCase()} ${provider.label ?? provider.id}` : provider.label ?? provider.id).join(", ");
|
|
3938
|
+
var formatProviderMix = (providers) => providers.length === 0 ? "n/a" : providers.map((provider) => provider.role && !(provider.label ?? provider.id).toLowerCase().startsWith(provider.role.toLowerCase()) ? `${provider.role.toUpperCase()} ${provider.label ?? provider.id}` : provider.label ?? provider.id).join(", ");
|
|
3939
3939
|
var evaluateVoiceProofTrendEvidence = (report, input = {}) => {
|
|
3940
3940
|
const issues = [];
|
|
3941
3941
|
const requiredStatus = input.requireStatus ?? "pass";
|
|
@@ -4054,6 +4054,7 @@ var buildVoiceProofTrendRecommendationReport = (report, options = {}) => {
|
|
|
4054
4054
|
const bestProvider = providers.find((provider) => provider.status === "pass") ?? providers[0];
|
|
4055
4055
|
const bestProviders = bestProviderByRole(providers).filter((provider) => provider.status === "pass");
|
|
4056
4056
|
const currentProvider = options.currentProviderId ? providers.find((provider) => provider.id === options.currentProviderId) : undefined;
|
|
4057
|
+
const hasSingleProviderRole = new Set(bestProviders.map((provider) => provider.role ?? provider.id)).size <= 1;
|
|
4057
4058
|
const bestComparableProvider = currentProvider?.role ? bestProviders.find((provider) => provider.role === currentProvider.role) : bestProvider;
|
|
4058
4059
|
const providerSwitchRecommended = shouldSwitchProvider(currentProvider, bestComparableProvider, options);
|
|
4059
4060
|
const recommendations = [];
|
|
@@ -4063,9 +4064,9 @@ var buildVoiceProofTrendRecommendationReport = (report, options = {}) => {
|
|
|
4063
4064
|
}
|
|
4064
4065
|
recommendations.push({
|
|
4065
4066
|
evidence: {
|
|
4066
|
-
bestProviderId: bestComparableProvider?.id ?? bestProvider?.id,
|
|
4067
|
+
bestProviderId: currentProvider || hasSingleProviderRole ? bestComparableProvider?.id ?? bestProvider?.id : undefined,
|
|
4067
4068
|
bestProviderMix: formatProviderMix(bestProviders),
|
|
4068
|
-
bestProviderP95Ms: bestComparableProvider?.p95Ms ?? bestProvider?.p95Ms,
|
|
4069
|
+
bestProviderP95Ms: currentProvider || hasSingleProviderRole ? bestComparableProvider?.p95Ms ?? bestProvider?.p95Ms : undefined,
|
|
4069
4070
|
budgetMs: budgets.maxProviderP95Ms,
|
|
4070
4071
|
currentProviderId: currentProvider?.id ?? options.currentProviderId,
|
|
4071
4072
|
currentProviderP95Ms: currentProvider?.p95Ms,
|
|
@@ -4075,7 +4076,7 @@ var buildVoiceProofTrendRecommendationReport = (report, options = {}) => {
|
|
|
4075
4076
|
nextMove: providers.length > 0 ? providerSwitchRecommended ? `Route latency-sensitive ${currentProvider?.role ?? "provider"} traffic to ${bestComparableProvider?.label ?? bestComparableProvider?.id} for this call profile and keep the current path as fallback.` : bestProviders.length > 0 ? `Use the fastest proven provider mix for this call profile: ${formatProviderMix(bestProviders)}.` : "Collect provider-specific sustained samples before making provider-specific routing decisions." : withinBudget(maxProviderP95Ms, budgets.maxProviderP95Ms) ? "Keep the current provider route for latency-sensitive turns and keep collecting sustained proof." : "Route latency-sensitive turns to a faster provider profile or tighten fallback/circuit-breaker budgets before promotion.",
|
|
4076
4077
|
providerId: providerSwitchRecommended ? bestComparableProvider?.id : bestProviders.length === 1 ? bestProviders[0]?.id : undefined,
|
|
4077
4078
|
recommendation: providers.length > 0 ? providerSwitchRecommended ? `Switch latency-sensitive ${currentProvider?.role ?? "provider"} routing to ${bestComparableProvider?.label ?? bestComparableProvider?.id}` : bestProviders.length > 0 ? "Prefer the fastest proven provider mix for this call profile" : "Collect provider-specific latency samples" : withinBudget(maxProviderP95Ms, budgets.maxProviderP95Ms) ? "Keep current provider path" : "Change provider routing for latency-sensitive traffic",
|
|
4078
|
-
role: bestComparableProvider?.role,
|
|
4079
|
+
role: currentProvider || hasSingleProviderRole ? bestComparableProvider?.role : undefined,
|
|
4079
4080
|
status: providers.length > 0 ? providerSwitchRecommended ? "warn" : bestProviders.length > 0 ? "pass" : bestProvider?.status ?? "fail" : withinBudget(maxProviderP95Ms, budgets.maxProviderP95Ms) ? "pass" : maxProviderP95Ms === undefined ? "fail" : "warn",
|
|
4080
4081
|
surface: "provider-path"
|
|
4081
4082
|
});
|
package/dist/index.js
CHANGED
|
@@ -14652,7 +14652,7 @@ var bestProviderByRole = (providers) => {
|
|
|
14652
14652
|
}
|
|
14653
14653
|
return [...best.values()].sort((left, right) => String(left.role ?? left.id).localeCompare(String(right.role ?? right.id)));
|
|
14654
14654
|
};
|
|
14655
|
-
var formatProviderMix = (providers) => providers.length === 0 ? "n/a" : providers.map((provider) => provider.role ? `${provider.role.toUpperCase()} ${provider.label ?? provider.id}` : provider.label ?? provider.id).join(", ");
|
|
14655
|
+
var formatProviderMix = (providers) => providers.length === 0 ? "n/a" : providers.map((provider) => provider.role && !(provider.label ?? provider.id).toLowerCase().startsWith(provider.role.toLowerCase()) ? `${provider.role.toUpperCase()} ${provider.label ?? provider.id}` : provider.label ?? provider.id).join(", ");
|
|
14656
14656
|
var evaluateVoiceProofTrendEvidence = (report, input = {}) => {
|
|
14657
14657
|
const issues = [];
|
|
14658
14658
|
const requiredStatus = input.requireStatus ?? "pass";
|
|
@@ -14771,6 +14771,7 @@ var buildVoiceProofTrendRecommendationReport = (report, options = {}) => {
|
|
|
14771
14771
|
const bestProvider = providers.find((provider) => provider.status === "pass") ?? providers[0];
|
|
14772
14772
|
const bestProviders = bestProviderByRole(providers).filter((provider) => provider.status === "pass");
|
|
14773
14773
|
const currentProvider = options.currentProviderId ? providers.find((provider) => provider.id === options.currentProviderId) : undefined;
|
|
14774
|
+
const hasSingleProviderRole = new Set(bestProviders.map((provider) => provider.role ?? provider.id)).size <= 1;
|
|
14774
14775
|
const bestComparableProvider = currentProvider?.role ? bestProviders.find((provider) => provider.role === currentProvider.role) : bestProvider;
|
|
14775
14776
|
const providerSwitchRecommended = shouldSwitchProvider(currentProvider, bestComparableProvider, options);
|
|
14776
14777
|
const recommendations = [];
|
|
@@ -14780,9 +14781,9 @@ var buildVoiceProofTrendRecommendationReport = (report, options = {}) => {
|
|
|
14780
14781
|
}
|
|
14781
14782
|
recommendations.push({
|
|
14782
14783
|
evidence: {
|
|
14783
|
-
bestProviderId: bestComparableProvider?.id ?? bestProvider?.id,
|
|
14784
|
+
bestProviderId: currentProvider || hasSingleProviderRole ? bestComparableProvider?.id ?? bestProvider?.id : undefined,
|
|
14784
14785
|
bestProviderMix: formatProviderMix(bestProviders),
|
|
14785
|
-
bestProviderP95Ms: bestComparableProvider?.p95Ms ?? bestProvider?.p95Ms,
|
|
14786
|
+
bestProviderP95Ms: currentProvider || hasSingleProviderRole ? bestComparableProvider?.p95Ms ?? bestProvider?.p95Ms : undefined,
|
|
14786
14787
|
budgetMs: budgets.maxProviderP95Ms,
|
|
14787
14788
|
currentProviderId: currentProvider?.id ?? options.currentProviderId,
|
|
14788
14789
|
currentProviderP95Ms: currentProvider?.p95Ms,
|
|
@@ -14792,7 +14793,7 @@ var buildVoiceProofTrendRecommendationReport = (report, options = {}) => {
|
|
|
14792
14793
|
nextMove: providers.length > 0 ? providerSwitchRecommended ? `Route latency-sensitive ${currentProvider?.role ?? "provider"} traffic to ${bestComparableProvider?.label ?? bestComparableProvider?.id} for this call profile and keep the current path as fallback.` : bestProviders.length > 0 ? `Use the fastest proven provider mix for this call profile: ${formatProviderMix(bestProviders)}.` : "Collect provider-specific sustained samples before making provider-specific routing decisions." : withinBudget(maxProviderP95Ms, budgets.maxProviderP95Ms) ? "Keep the current provider route for latency-sensitive turns and keep collecting sustained proof." : "Route latency-sensitive turns to a faster provider profile or tighten fallback/circuit-breaker budgets before promotion.",
|
|
14793
14794
|
providerId: providerSwitchRecommended ? bestComparableProvider?.id : bestProviders.length === 1 ? bestProviders[0]?.id : undefined,
|
|
14794
14795
|
recommendation: providers.length > 0 ? providerSwitchRecommended ? `Switch latency-sensitive ${currentProvider?.role ?? "provider"} routing to ${bestComparableProvider?.label ?? bestComparableProvider?.id}` : bestProviders.length > 0 ? "Prefer the fastest proven provider mix for this call profile" : "Collect provider-specific latency samples" : withinBudget(maxProviderP95Ms, budgets.maxProviderP95Ms) ? "Keep current provider path" : "Change provider routing for latency-sensitive traffic",
|
|
14795
|
-
role: bestComparableProvider?.role,
|
|
14796
|
+
role: currentProvider || hasSingleProviderRole ? bestComparableProvider?.role : undefined,
|
|
14796
14797
|
status: providers.length > 0 ? providerSwitchRecommended ? "warn" : bestProviders.length > 0 ? "pass" : bestProvider?.status ?? "fail" : withinBudget(maxProviderP95Ms, budgets.maxProviderP95Ms) ? "pass" : maxProviderP95Ms === undefined ? "fail" : "warn",
|
|
14797
14798
|
surface: "provider-path"
|
|
14798
14799
|
});
|
package/dist/react/index.js
CHANGED
|
@@ -1683,7 +1683,7 @@ var bestProviderByRole = (providers) => {
|
|
|
1683
1683
|
}
|
|
1684
1684
|
return [...best.values()].sort((left, right) => String(left.role ?? left.id).localeCompare(String(right.role ?? right.id)));
|
|
1685
1685
|
};
|
|
1686
|
-
var formatProviderMix = (providers) => providers.length === 0 ? "n/a" : providers.map((provider) => provider.role ? `${provider.role.toUpperCase()} ${provider.label ?? provider.id}` : provider.label ?? provider.id).join(", ");
|
|
1686
|
+
var formatProviderMix = (providers) => providers.length === 0 ? "n/a" : providers.map((provider) => provider.role && !(provider.label ?? provider.id).toLowerCase().startsWith(provider.role.toLowerCase()) ? `${provider.role.toUpperCase()} ${provider.label ?? provider.id}` : provider.label ?? provider.id).join(", ");
|
|
1687
1687
|
var evaluateVoiceProofTrendEvidence = (report, input = {}) => {
|
|
1688
1688
|
const issues = [];
|
|
1689
1689
|
const requiredStatus = input.requireStatus ?? "pass";
|
|
@@ -1802,6 +1802,7 @@ var buildVoiceProofTrendRecommendationReport = (report, options = {}) => {
|
|
|
1802
1802
|
const bestProvider = providers.find((provider) => provider.status === "pass") ?? providers[0];
|
|
1803
1803
|
const bestProviders = bestProviderByRole(providers).filter((provider) => provider.status === "pass");
|
|
1804
1804
|
const currentProvider = options.currentProviderId ? providers.find((provider) => provider.id === options.currentProviderId) : undefined;
|
|
1805
|
+
const hasSingleProviderRole = new Set(bestProviders.map((provider) => provider.role ?? provider.id)).size <= 1;
|
|
1805
1806
|
const bestComparableProvider = currentProvider?.role ? bestProviders.find((provider) => provider.role === currentProvider.role) : bestProvider;
|
|
1806
1807
|
const providerSwitchRecommended = shouldSwitchProvider(currentProvider, bestComparableProvider, options);
|
|
1807
1808
|
const recommendations = [];
|
|
@@ -1811,9 +1812,9 @@ var buildVoiceProofTrendRecommendationReport = (report, options = {}) => {
|
|
|
1811
1812
|
}
|
|
1812
1813
|
recommendations.push({
|
|
1813
1814
|
evidence: {
|
|
1814
|
-
bestProviderId: bestComparableProvider?.id ?? bestProvider?.id,
|
|
1815
|
+
bestProviderId: currentProvider || hasSingleProviderRole ? bestComparableProvider?.id ?? bestProvider?.id : undefined,
|
|
1815
1816
|
bestProviderMix: formatProviderMix(bestProviders),
|
|
1816
|
-
bestProviderP95Ms: bestComparableProvider?.p95Ms ?? bestProvider?.p95Ms,
|
|
1817
|
+
bestProviderP95Ms: currentProvider || hasSingleProviderRole ? bestComparableProvider?.p95Ms ?? bestProvider?.p95Ms : undefined,
|
|
1817
1818
|
budgetMs: budgets.maxProviderP95Ms,
|
|
1818
1819
|
currentProviderId: currentProvider?.id ?? options.currentProviderId,
|
|
1819
1820
|
currentProviderP95Ms: currentProvider?.p95Ms,
|
|
@@ -1823,7 +1824,7 @@ var buildVoiceProofTrendRecommendationReport = (report, options = {}) => {
|
|
|
1823
1824
|
nextMove: providers.length > 0 ? providerSwitchRecommended ? `Route latency-sensitive ${currentProvider?.role ?? "provider"} traffic to ${bestComparableProvider?.label ?? bestComparableProvider?.id} for this call profile and keep the current path as fallback.` : bestProviders.length > 0 ? `Use the fastest proven provider mix for this call profile: ${formatProviderMix(bestProviders)}.` : "Collect provider-specific sustained samples before making provider-specific routing decisions." : withinBudget(maxProviderP95Ms, budgets.maxProviderP95Ms) ? "Keep the current provider route for latency-sensitive turns and keep collecting sustained proof." : "Route latency-sensitive turns to a faster provider profile or tighten fallback/circuit-breaker budgets before promotion.",
|
|
1824
1825
|
providerId: providerSwitchRecommended ? bestComparableProvider?.id : bestProviders.length === 1 ? bestProviders[0]?.id : undefined,
|
|
1825
1826
|
recommendation: providers.length > 0 ? providerSwitchRecommended ? `Switch latency-sensitive ${currentProvider?.role ?? "provider"} routing to ${bestComparableProvider?.label ?? bestComparableProvider?.id}` : bestProviders.length > 0 ? "Prefer the fastest proven provider mix for this call profile" : "Collect provider-specific latency samples" : withinBudget(maxProviderP95Ms, budgets.maxProviderP95Ms) ? "Keep current provider path" : "Change provider routing for latency-sensitive traffic",
|
|
1826
|
-
role: bestComparableProvider?.role,
|
|
1827
|
+
role: currentProvider || hasSingleProviderRole ? bestComparableProvider?.role : undefined,
|
|
1827
1828
|
status: providers.length > 0 ? providerSwitchRecommended ? "warn" : bestProviders.length > 0 ? "pass" : bestProvider?.status ?? "fail" : withinBudget(maxProviderP95Ms, budgets.maxProviderP95Ms) ? "pass" : maxProviderP95Ms === undefined ? "fail" : "warn",
|
|
1828
1829
|
surface: "provider-path"
|
|
1829
1830
|
});
|
package/dist/vue/index.js
CHANGED
|
@@ -1604,7 +1604,7 @@ var bestProviderByRole = (providers) => {
|
|
|
1604
1604
|
}
|
|
1605
1605
|
return [...best.values()].sort((left, right) => String(left.role ?? left.id).localeCompare(String(right.role ?? right.id)));
|
|
1606
1606
|
};
|
|
1607
|
-
var formatProviderMix = (providers) => providers.length === 0 ? "n/a" : providers.map((provider) => provider.role ? `${provider.role.toUpperCase()} ${provider.label ?? provider.id}` : provider.label ?? provider.id).join(", ");
|
|
1607
|
+
var formatProviderMix = (providers) => providers.length === 0 ? "n/a" : providers.map((provider) => provider.role && !(provider.label ?? provider.id).toLowerCase().startsWith(provider.role.toLowerCase()) ? `${provider.role.toUpperCase()} ${provider.label ?? provider.id}` : provider.label ?? provider.id).join(", ");
|
|
1608
1608
|
var evaluateVoiceProofTrendEvidence = (report, input = {}) => {
|
|
1609
1609
|
const issues = [];
|
|
1610
1610
|
const requiredStatus = input.requireStatus ?? "pass";
|
|
@@ -1723,6 +1723,7 @@ var buildVoiceProofTrendRecommendationReport = (report, options = {}) => {
|
|
|
1723
1723
|
const bestProvider = providers.find((provider) => provider.status === "pass") ?? providers[0];
|
|
1724
1724
|
const bestProviders = bestProviderByRole(providers).filter((provider) => provider.status === "pass");
|
|
1725
1725
|
const currentProvider = options.currentProviderId ? providers.find((provider) => provider.id === options.currentProviderId) : undefined;
|
|
1726
|
+
const hasSingleProviderRole = new Set(bestProviders.map((provider) => provider.role ?? provider.id)).size <= 1;
|
|
1726
1727
|
const bestComparableProvider = currentProvider?.role ? bestProviders.find((provider) => provider.role === currentProvider.role) : bestProvider;
|
|
1727
1728
|
const providerSwitchRecommended = shouldSwitchProvider(currentProvider, bestComparableProvider, options);
|
|
1728
1729
|
const recommendations = [];
|
|
@@ -1732,9 +1733,9 @@ var buildVoiceProofTrendRecommendationReport = (report, options = {}) => {
|
|
|
1732
1733
|
}
|
|
1733
1734
|
recommendations.push({
|
|
1734
1735
|
evidence: {
|
|
1735
|
-
bestProviderId: bestComparableProvider?.id ?? bestProvider?.id,
|
|
1736
|
+
bestProviderId: currentProvider || hasSingleProviderRole ? bestComparableProvider?.id ?? bestProvider?.id : undefined,
|
|
1736
1737
|
bestProviderMix: formatProviderMix(bestProviders),
|
|
1737
|
-
bestProviderP95Ms: bestComparableProvider?.p95Ms ?? bestProvider?.p95Ms,
|
|
1738
|
+
bestProviderP95Ms: currentProvider || hasSingleProviderRole ? bestComparableProvider?.p95Ms ?? bestProvider?.p95Ms : undefined,
|
|
1738
1739
|
budgetMs: budgets.maxProviderP95Ms,
|
|
1739
1740
|
currentProviderId: currentProvider?.id ?? options.currentProviderId,
|
|
1740
1741
|
currentProviderP95Ms: currentProvider?.p95Ms,
|
|
@@ -1744,7 +1745,7 @@ var buildVoiceProofTrendRecommendationReport = (report, options = {}) => {
|
|
|
1744
1745
|
nextMove: providers.length > 0 ? providerSwitchRecommended ? `Route latency-sensitive ${currentProvider?.role ?? "provider"} traffic to ${bestComparableProvider?.label ?? bestComparableProvider?.id} for this call profile and keep the current path as fallback.` : bestProviders.length > 0 ? `Use the fastest proven provider mix for this call profile: ${formatProviderMix(bestProviders)}.` : "Collect provider-specific sustained samples before making provider-specific routing decisions." : withinBudget(maxProviderP95Ms, budgets.maxProviderP95Ms) ? "Keep the current provider route for latency-sensitive turns and keep collecting sustained proof." : "Route latency-sensitive turns to a faster provider profile or tighten fallback/circuit-breaker budgets before promotion.",
|
|
1745
1746
|
providerId: providerSwitchRecommended ? bestComparableProvider?.id : bestProviders.length === 1 ? bestProviders[0]?.id : undefined,
|
|
1746
1747
|
recommendation: providers.length > 0 ? providerSwitchRecommended ? `Switch latency-sensitive ${currentProvider?.role ?? "provider"} routing to ${bestComparableProvider?.label ?? bestComparableProvider?.id}` : bestProviders.length > 0 ? "Prefer the fastest proven provider mix for this call profile" : "Collect provider-specific latency samples" : withinBudget(maxProviderP95Ms, budgets.maxProviderP95Ms) ? "Keep current provider path" : "Change provider routing for latency-sensitive traffic",
|
|
1747
|
-
role: bestComparableProvider?.role,
|
|
1748
|
+
role: currentProvider || hasSingleProviderRole ? bestComparableProvider?.role : undefined,
|
|
1748
1749
|
status: providers.length > 0 ? providerSwitchRecommended ? "warn" : bestProviders.length > 0 ? "pass" : bestProvider?.status ?? "fail" : withinBudget(maxProviderP95Ms, budgets.maxProviderP95Ms) ? "pass" : maxProviderP95Ms === undefined ? "fail" : "warn",
|
|
1749
1750
|
surface: "provider-path"
|
|
1750
1751
|
});
|