@absolutejs/voice 0.0.22-beta.253 → 0.0.22-beta.254
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 +139 -0
- package/dist/providerStackRecommendations.d.ts +42 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -54,7 +54,7 @@ export { assertVoiceProviderSloEvidence, buildVoiceProviderSloReport, createVoic
|
|
|
54
54
|
export { createVoicePhoneAgentProductionSmokeHTMLHandler, createVoicePhoneAgentProductionSmokeJSONHandler, createVoicePhoneAgentProductionSmokeRoutes, renderVoicePhoneAgentProductionSmokeHTML, runVoicePhoneAgentProductionSmokeContract } from './phoneAgentProductionSmoke';
|
|
55
55
|
export { assertVoiceProductionReadinessEvidence, buildVoiceProductionReadinessGate, buildVoiceProductionReadinessReport, createVoiceProductionReadinessRoutes, evaluateVoiceProductionReadinessEvidence, renderVoiceProductionReadinessHTML, summarizeVoiceProductionReadinessGate } from './productionReadiness';
|
|
56
56
|
export { createVoiceReadinessProfile, recommendVoiceReadinessProfile } from './readinessProfiles';
|
|
57
|
-
export { buildVoiceProviderContractMatrix, createVoiceProviderContractMatrixHTMLHandler, createVoiceProviderContractMatrixJSONHandler, createVoiceProviderContractMatrixPreset, createVoiceProviderContractMatrixRoutes, evaluateVoiceProviderStackGaps, renderVoiceProviderContractMatrixHTML, recommendVoiceProviderStack } from './providerStackRecommendations';
|
|
57
|
+
export { assertVoiceProviderContractMatrixEvidence, assertVoiceProviderStackEvidence, buildVoiceProviderContractMatrix, createVoiceProviderContractMatrixHTMLHandler, createVoiceProviderContractMatrixJSONHandler, createVoiceProviderContractMatrixPreset, createVoiceProviderContractMatrixRoutes, evaluateVoiceProviderContractMatrixEvidence, evaluateVoiceProviderStackEvidence, evaluateVoiceProviderStackGaps, renderVoiceProviderContractMatrixHTML, recommendVoiceProviderStack } from './providerStackRecommendations';
|
|
58
58
|
export { buildVoiceOpsConsoleReport, createVoiceOpsConsoleRoutes, renderVoiceOpsConsoleHTML } from './opsConsoleRoutes';
|
|
59
59
|
export { assertVoiceOperationsRecordGuardrails, buildVoiceOperationsRecord, createVoiceOperationsRecordRoutes, evaluateVoiceOperationsRecordGuardrails, renderVoiceOperationsRecordGuardrailMarkdown, renderVoiceOperationsRecordHTML, renderVoiceOperationsRecordIncidentMarkdown } from './operationsRecord';
|
|
60
60
|
export { assertVoiceObservabilityExportDeliveryEvidence, assertVoiceObservabilityExportRecord, assertVoiceObservabilityExportReplayEvidence, buildVoiceObservabilityArtifactIndex, buildVoiceObservabilityExportDeliveryHistory, buildVoiceObservabilityExportReplayReport, buildVoiceObservabilityExport, assertVoiceObservabilityExportSchema, createVoiceObservabilityExportSchema, createVoiceFileObservabilityExportDeliveryReceiptStore, createVoiceMemoryObservabilityExportDeliveryReceiptStore, createVoiceObservabilityExportRoutes, createVoiceObservabilityExportReplayRoutes, deliverVoiceObservabilityExport, evaluateVoiceObservabilityExportDeliveryEvidence, evaluateVoiceObservabilityExportReplayEvidence, loadVoiceObservabilityExportReplaySource, replayVoiceObservabilityExport, renderVoiceObservabilityExportReplayHTML, renderVoiceObservabilityExportMarkdown, validateVoiceObservabilityExportRecord, voiceObservabilityExportSchemaId, voiceObservabilityExportSchemaVersion } from './observabilityExport';
|
|
@@ -122,7 +122,7 @@ export type { VoiceOpsConsoleLink, VoiceOpsConsoleReport, VoiceOpsConsoleRoutesO
|
|
|
122
122
|
export type { VoiceOpsStatus, VoiceOpsStatusLink, VoiceOpsStatusOptions, VoiceOpsStatusReport, VoiceOpsStatusRoutesOptions } from './opsStatus';
|
|
123
123
|
export type { VoiceProductionReadinessAction, VoiceProductionReadinessAuditOptions, VoiceProductionReadinessAuditRequirement, VoiceProductionReadinessAuditSummary, VoiceProductionReadinessAssertionInput, VoiceProductionReadinessAssertionReport, VoiceProductionReadinessCheck, VoiceProductionReadinessGateIssue, VoiceProductionReadinessGateOptions, VoiceProductionReadinessGateProfile, VoiceProductionReadinessGateProfileSurface, VoiceProductionReadinessGateReport, VoiceProductionReadinessOpsActionHistoryOptions, VoiceProductionReadinessOpsActionHistorySummary, VoiceProductionReadinessOperationsRecordLink, VoiceProductionReadinessOperationsRecordLinks, VoiceProductionReadinessProfileExplanation, VoiceProductionReadinessProfileSurface, VoiceProductionReadinessProofSource, VoiceProductionReadinessReport, VoiceProductionReadinessRoutesOptions, VoiceProductionReadinessTraceDeliverySummary, VoiceProductionReadinessAuditDeliveryOptions, VoiceProductionReadinessAuditDeliverySummary, VoiceProductionReadinessTraceDeliveryOptions, VoiceProductionReadinessStatus } from './productionReadiness';
|
|
124
124
|
export type { VoiceReadinessProfileName, VoiceReadinessProfileOptions, VoiceReadinessProfileRecommendation, VoiceReadinessProfileRecommendationScore, VoiceReadinessProfileRoutesOptions } from './readinessProfiles';
|
|
125
|
-
export type { VoiceProviderStackChoice, VoiceProviderStackCapabilities, VoiceProviderStackCapabilityGap, VoiceProviderStackCapabilityGapInput, VoiceProviderStackCapabilityGapReport, VoiceProviderContractCheck, VoiceProviderContractCheckStatus, VoiceProviderContractDefinition, VoiceProviderContractMatrixHandlerOptions, VoiceProviderContractMatrixHTMLHandlerOptions, VoiceProviderContractMatrixInput, VoiceProviderContractMatrixPresetOptions, VoiceProviderContractMatrixReport, VoiceProviderContractMatrixRoutesOptions, VoiceProviderContractMatrixRow, VoiceProviderStackInput, VoiceProviderStackKind, VoiceProviderStackRecommendation } from './providerStackRecommendations';
|
|
125
|
+
export type { VoiceProviderStackChoice, VoiceProviderStackCapabilities, VoiceProviderStackCapabilityGap, VoiceProviderStackCapabilityGapInput, VoiceProviderStackCapabilityGapReport, VoiceProviderContractCheck, VoiceProviderContractCheckStatus, VoiceProviderContractDefinition, VoiceProviderContractMatrixAssertionInput, VoiceProviderContractMatrixAssertionReport, VoiceProviderContractMatrixHandlerOptions, VoiceProviderContractMatrixHTMLHandlerOptions, VoiceProviderContractMatrixInput, VoiceProviderContractMatrixPresetOptions, VoiceProviderContractMatrixReport, VoiceProviderContractMatrixRoutesOptions, VoiceProviderContractMatrixRow, VoiceProviderStackAssertionInput, VoiceProviderStackAssertionReport, VoiceProviderStackInput, VoiceProviderStackKind, VoiceProviderStackRecommendation } from './providerStackRecommendations';
|
|
126
126
|
export type { VoiceOperationsRecord, VoiceOperationsRecordAgentHandoff, VoiceOperationsRecordAuditSummary, VoiceOperationsRecordGuardrailAssertionInput, VoiceOperationsRecordGuardrailAssertionReport, VoiceOperationsRecordGuardrailDecision, VoiceOperationsRecordGuardrailFinding, VoiceOperationsRecordGuardrailSummary, VoiceOperationsRecordIntegrationEventSummary, VoiceOperationsRecordOptions, VoiceOperationsRecordOutcome, VoiceOperationsRecordProviderDecision, VoiceOperationsRecordReviewSummary, VoiceOperationsRecordRoutesOptions, VoiceOperationsRecordStatus, VoiceOperationsRecordTaskSummary, VoiceOperationsRecordTranscriptTurn, VoiceOperationsRecordTool } from './operationsRecord';
|
|
127
127
|
export type { VoiceObservabilityExportArtifact, VoiceObservabilityExportArtifactChecksum, VoiceObservabilityExportArtifactFreshness, VoiceObservabilityExportArtifactIndex, VoiceObservabilityExportArtifactIndexItem, VoiceObservabilityExportArtifactKind, VoiceObservabilityExportDeliveryAssertionInput, VoiceObservabilityExportDeliveryAssertionReport, VoiceObservabilityExportDeliverySummary, VoiceObservabilityExportDeliveryDestination, VoiceObservabilityExportDeliveryDestinationResult, VoiceObservabilityExportDeliveryHistory, VoiceObservabilityExportDeliveryOptions, VoiceObservabilityExportDeliveryReceipt, VoiceObservabilityExportDeliveryReceiptStore, VoiceObservabilityExportDeliveryReport, VoiceObservabilityExportEnvelope, VoiceObservabilityExportIssue, VoiceObservabilityExportIssueCode, VoiceObservabilityExportOptions, VoiceObservabilityExportIngestedRecordKind, VoiceObservabilityExportRedactionSummary, VoiceObservabilityExportRecordValidationOptions, VoiceObservabilityExportReplayIssue, VoiceObservabilityExportReplayIssueCode, VoiceObservabilityExportReplayAssertionInput, VoiceObservabilityExportReplayAssertionReport, VoiceObservabilityExportReplayRecords, VoiceObservabilityExportReplayReport, VoiceObservabilityExportReplayRoutesOptions, VoiceObservabilityExportReplaySource, VoiceObservabilityExportReport, VoiceObservabilityExportRoutesOptions, VoiceObservabilityExportSchema, VoiceObservabilityExportStatus, VoiceObservabilityExportValidationIssue, VoiceObservabilityExportValidationResult } from './observabilityExport';
|
|
128
128
|
export type { VoiceOpsRecoveryFailedSession, VoiceOpsRecoveryInterventionSummary, VoiceOpsRecoveryIssue, VoiceOpsRecoveryIssueCode, VoiceOpsRecoveryLinks, VoiceOpsRecoveryProviderSummary, VoiceOpsRecoveryReport, VoiceOpsRecoveryReportOptions, VoiceOpsRecoveryRoutesOptions, VoiceOpsRecoveryStatus } from './opsRecovery';
|
package/dist/index.js
CHANGED
|
@@ -26730,6 +26730,12 @@ var recommendVoiceProviderStack = (input) => {
|
|
|
26730
26730
|
};
|
|
26731
26731
|
};
|
|
26732
26732
|
var rollupContractStatus = (checks) => checks.some((check) => check.status === "fail") ? "fail" : checks.some((check) => check.status === "warn") ? "warn" : "pass";
|
|
26733
|
+
var statusRank2 = {
|
|
26734
|
+
pass: 0,
|
|
26735
|
+
warn: 1,
|
|
26736
|
+
fail: 2
|
|
26737
|
+
};
|
|
26738
|
+
var statusExceeds = (actual, max) => statusRank2[actual] > statusRank2[max];
|
|
26733
26739
|
var buildVoiceProviderContractMatrix = (input) => {
|
|
26734
26740
|
const rows = input.contracts.map((contract) => {
|
|
26735
26741
|
const configured = contract.configured !== false;
|
|
@@ -26830,6 +26836,76 @@ var buildVoiceProviderContractMatrix = (input) => {
|
|
|
26830
26836
|
warned
|
|
26831
26837
|
};
|
|
26832
26838
|
};
|
|
26839
|
+
var evaluateVoiceProviderContractMatrixEvidence = (report, input = {}) => {
|
|
26840
|
+
const issues = [];
|
|
26841
|
+
const maxStatus = input.maxStatus ?? "pass";
|
|
26842
|
+
const maxFailed = input.maxFailed ?? 0;
|
|
26843
|
+
const maxWarned = input.maxWarned ?? 0;
|
|
26844
|
+
const minRows = input.minRows ?? 1;
|
|
26845
|
+
const requireAllSelected = input.requireAllSelected ?? false;
|
|
26846
|
+
const kinds = [...new Set(report.rows.map((row) => row.kind))].sort();
|
|
26847
|
+
const providers = [...new Set(report.rows.map((row) => row.provider))].sort();
|
|
26848
|
+
const selectedKinds = [
|
|
26849
|
+
...new Set(report.rows.filter((row) => row.selected).map((row) => row.kind))
|
|
26850
|
+
].sort();
|
|
26851
|
+
if (statusExceeds(report.status, maxStatus)) {
|
|
26852
|
+
issues.push(`Expected provider contract matrix status at most ${maxStatus}, found ${report.status}.`);
|
|
26853
|
+
}
|
|
26854
|
+
if (report.failed > maxFailed) {
|
|
26855
|
+
issues.push(`Expected at most ${String(maxFailed)} failing provider contract row(s), found ${String(report.failed)}.`);
|
|
26856
|
+
}
|
|
26857
|
+
if (report.warned > maxWarned) {
|
|
26858
|
+
issues.push(`Expected at most ${String(maxWarned)} warning provider contract row(s), found ${String(report.warned)}.`);
|
|
26859
|
+
}
|
|
26860
|
+
if (report.total < minRows) {
|
|
26861
|
+
issues.push(`Expected at least ${String(minRows)} provider contract row(s), found ${String(report.total)}.`);
|
|
26862
|
+
}
|
|
26863
|
+
for (const kind of input.requiredKinds ?? []) {
|
|
26864
|
+
if (!kinds.includes(kind)) {
|
|
26865
|
+
issues.push(`Missing provider contract kind: ${kind}.`);
|
|
26866
|
+
}
|
|
26867
|
+
}
|
|
26868
|
+
for (const provider of input.requiredProviders ?? []) {
|
|
26869
|
+
if (!providers.includes(provider)) {
|
|
26870
|
+
issues.push(`Missing provider contract provider: ${provider}.`);
|
|
26871
|
+
}
|
|
26872
|
+
}
|
|
26873
|
+
for (const kind of input.selectedKinds ?? []) {
|
|
26874
|
+
if (!selectedKinds.includes(kind)) {
|
|
26875
|
+
issues.push(`Missing selected provider contract kind: ${kind}.`);
|
|
26876
|
+
}
|
|
26877
|
+
}
|
|
26878
|
+
for (const key of input.requiredCheckKeys ?? []) {
|
|
26879
|
+
const missingRows = report.rows.filter((row) => !row.checks.some((check) => check.key === key)).length;
|
|
26880
|
+
if (missingRows > 0) {
|
|
26881
|
+
issues.push(`Provider contract check ${key} is missing from ${String(missingRows)} row(s).`);
|
|
26882
|
+
}
|
|
26883
|
+
}
|
|
26884
|
+
if (requireAllSelected) {
|
|
26885
|
+
const unselected = report.rows.filter((row) => !row.selected).length;
|
|
26886
|
+
if (unselected > 0) {
|
|
26887
|
+
issues.push(`Expected every provider contract row to be selected, found ${String(unselected)} unselected row(s).`);
|
|
26888
|
+
}
|
|
26889
|
+
}
|
|
26890
|
+
return {
|
|
26891
|
+
failed: report.failed,
|
|
26892
|
+
issues,
|
|
26893
|
+
kinds,
|
|
26894
|
+
ok: issues.length === 0,
|
|
26895
|
+
providers,
|
|
26896
|
+
selectedKinds,
|
|
26897
|
+
status: report.status,
|
|
26898
|
+
total: report.total,
|
|
26899
|
+
warned: report.warned
|
|
26900
|
+
};
|
|
26901
|
+
};
|
|
26902
|
+
var assertVoiceProviderContractMatrixEvidence = (report, input = {}) => {
|
|
26903
|
+
const assertion = evaluateVoiceProviderContractMatrixEvidence(report, input);
|
|
26904
|
+
if (!assertion.ok) {
|
|
26905
|
+
throw new Error(`Voice provider contract matrix assertion failed: ${assertion.issues.join(" ")}`);
|
|
26906
|
+
}
|
|
26907
|
+
return assertion;
|
|
26908
|
+
};
|
|
26833
26909
|
var createVoiceProviderContractMatrixPreset = (profile, options) => {
|
|
26834
26910
|
const contracts = ["llm", "stt", "tts"].flatMap((kind) => {
|
|
26835
26911
|
const providers = options.providers[kind] ?? [];
|
|
@@ -26965,6 +27041,65 @@ var evaluateVoiceProviderStackGaps = (input) => {
|
|
|
26965
27041
|
status: gaps.some((gap) => gap.status === "fail") ? "fail" : gaps.some((gap) => gap.status === "warn") ? "warn" : "pass"
|
|
26966
27042
|
};
|
|
26967
27043
|
};
|
|
27044
|
+
var evaluateVoiceProviderStackEvidence = (report, input = {}) => {
|
|
27045
|
+
const issues = [];
|
|
27046
|
+
const maxStatus = input.maxStatus ?? "pass";
|
|
27047
|
+
const maxMissing = input.maxMissing ?? 0;
|
|
27048
|
+
const requireProviders = input.requireProviders ?? true;
|
|
27049
|
+
const kinds = [...new Set(report.gaps.map((gap) => gap.kind))].sort();
|
|
27050
|
+
const providers = [
|
|
27051
|
+
...new Set(report.gaps.map((gap) => gap.provider).filter((provider) => provider !== undefined))
|
|
27052
|
+
].sort();
|
|
27053
|
+
if (statusExceeds(report.status, maxStatus)) {
|
|
27054
|
+
issues.push(`Expected provider stack status at most ${maxStatus}, found ${report.status}.`);
|
|
27055
|
+
}
|
|
27056
|
+
if (report.missing > maxMissing) {
|
|
27057
|
+
issues.push(`Expected at most ${String(maxMissing)} missing provider stack capability/capabilities, found ${String(report.missing)}.`);
|
|
27058
|
+
}
|
|
27059
|
+
for (const kind of input.requiredKinds ?? []) {
|
|
27060
|
+
if (!kinds.includes(kind)) {
|
|
27061
|
+
issues.push(`Missing provider stack kind: ${kind}.`);
|
|
27062
|
+
}
|
|
27063
|
+
}
|
|
27064
|
+
for (const provider of input.requiredProviders ?? []) {
|
|
27065
|
+
if (!providers.includes(provider)) {
|
|
27066
|
+
issues.push(`Missing provider stack provider: ${provider}.`);
|
|
27067
|
+
}
|
|
27068
|
+
}
|
|
27069
|
+
for (const [kind, capabilities] of Object.entries(input.requiredCapabilities ?? {})) {
|
|
27070
|
+
const gap = report.gaps.find((entry) => entry.kind === kind);
|
|
27071
|
+
if (!gap) {
|
|
27072
|
+
issues.push(`Missing provider stack kind: ${kind}.`);
|
|
27073
|
+
continue;
|
|
27074
|
+
}
|
|
27075
|
+
for (const capability of capabilities) {
|
|
27076
|
+
if (!includesCapability(gap.present, capability)) {
|
|
27077
|
+
issues.push(`Missing provider stack capability for ${kind}: ${capability}.`);
|
|
27078
|
+
}
|
|
27079
|
+
}
|
|
27080
|
+
}
|
|
27081
|
+
if (requireProviders) {
|
|
27082
|
+
const missingProviders = report.gaps.filter((gap) => !gap.provider).map((gap) => gap.kind);
|
|
27083
|
+
if (missingProviders.length > 0) {
|
|
27084
|
+
issues.push(`Missing provider stack provider for kind(s): ${missingProviders.join(", ")}.`);
|
|
27085
|
+
}
|
|
27086
|
+
}
|
|
27087
|
+
return {
|
|
27088
|
+
issues,
|
|
27089
|
+
kinds,
|
|
27090
|
+
missing: report.missing,
|
|
27091
|
+
ok: issues.length === 0,
|
|
27092
|
+
providers,
|
|
27093
|
+
status: report.status
|
|
27094
|
+
};
|
|
27095
|
+
};
|
|
27096
|
+
var assertVoiceProviderStackEvidence = (report, input = {}) => {
|
|
27097
|
+
const assertion = evaluateVoiceProviderStackEvidence(report, input);
|
|
27098
|
+
if (!assertion.ok) {
|
|
27099
|
+
throw new Error(`Voice provider stack assertion failed: ${assertion.issues.join(" ")}`);
|
|
27100
|
+
}
|
|
27101
|
+
return assertion;
|
|
27102
|
+
};
|
|
26968
27103
|
// src/opsConsoleRoutes.ts
|
|
26969
27104
|
import { Elysia as Elysia44 } from "elysia";
|
|
26970
27105
|
var DEFAULT_LINKS = [
|
|
@@ -30374,7 +30509,9 @@ export {
|
|
|
30374
30509
|
evaluateVoiceTelephonyContract,
|
|
30375
30510
|
evaluateVoiceQuality,
|
|
30376
30511
|
evaluateVoiceProviderStackGaps,
|
|
30512
|
+
evaluateVoiceProviderStackEvidence,
|
|
30377
30513
|
evaluateVoiceProviderSloEvidence,
|
|
30514
|
+
evaluateVoiceProviderContractMatrixEvidence,
|
|
30378
30515
|
evaluateVoiceProofTrendEvidence,
|
|
30379
30516
|
evaluateVoiceProductionReadinessEvidence,
|
|
30380
30517
|
evaluateVoicePlatformCoverage,
|
|
@@ -30693,8 +30830,10 @@ export {
|
|
|
30693
30830
|
buildVoiceAuditDeliveryReport,
|
|
30694
30831
|
buildEmptyVoiceProofTrendReport,
|
|
30695
30832
|
assignVoiceOpsTask,
|
|
30833
|
+
assertVoiceProviderStackEvidence,
|
|
30696
30834
|
assertVoiceProviderSloEvidence,
|
|
30697
30835
|
assertVoiceProviderRoutingContract,
|
|
30836
|
+
assertVoiceProviderContractMatrixEvidence,
|
|
30698
30837
|
assertVoiceProofTrendEvidence,
|
|
30699
30838
|
assertVoiceProductionReadinessEvidence,
|
|
30700
30839
|
assertVoicePlatformCoverage,
|
|
@@ -31,6 +31,22 @@ export type VoiceProviderStackCapabilityGapReport<TProvider extends string = str
|
|
|
31
31
|
profile: VoiceReadinessProfileName;
|
|
32
32
|
status: 'fail' | 'pass' | 'warn';
|
|
33
33
|
};
|
|
34
|
+
export type VoiceProviderStackAssertionInput<TProvider extends string = string> = {
|
|
35
|
+
maxMissing?: number;
|
|
36
|
+
maxStatus?: VoiceProviderContractCheckStatus;
|
|
37
|
+
requireProviders?: boolean;
|
|
38
|
+
requiredKinds?: VoiceProviderStackKind[];
|
|
39
|
+
requiredProviders?: TProvider[];
|
|
40
|
+
requiredCapabilities?: Partial<Record<VoiceProviderStackKind, readonly string[]>>;
|
|
41
|
+
};
|
|
42
|
+
export type VoiceProviderStackAssertionReport<TProvider extends string = string> = {
|
|
43
|
+
issues: string[];
|
|
44
|
+
kinds: VoiceProviderStackKind[];
|
|
45
|
+
missing: number;
|
|
46
|
+
ok: boolean;
|
|
47
|
+
providers: TProvider[];
|
|
48
|
+
status: VoiceProviderContractCheckStatus;
|
|
49
|
+
};
|
|
34
50
|
export type VoiceProviderStackCapabilityGapInput<TProvider extends string = string> = VoiceProviderStackInput<TProvider> & {
|
|
35
51
|
capabilities?: VoiceProviderStackCapabilities<TProvider>;
|
|
36
52
|
recommendation?: VoiceProviderStackRecommendation<TProvider>;
|
|
@@ -106,8 +122,32 @@ export type VoiceProviderContractMatrixReport<TProvider extends string = string>
|
|
|
106
122
|
total: number;
|
|
107
123
|
warned: number;
|
|
108
124
|
};
|
|
125
|
+
export type VoiceProviderContractMatrixAssertionInput<TProvider extends string = string> = {
|
|
126
|
+
maxFailed?: number;
|
|
127
|
+
maxStatus?: VoiceProviderContractCheckStatus;
|
|
128
|
+
maxWarned?: number;
|
|
129
|
+
minRows?: number;
|
|
130
|
+
requireAllSelected?: boolean;
|
|
131
|
+
requiredCheckKeys?: string[];
|
|
132
|
+
requiredKinds?: VoiceProviderStackKind[];
|
|
133
|
+
requiredProviders?: TProvider[];
|
|
134
|
+
selectedKinds?: VoiceProviderStackKind[];
|
|
135
|
+
};
|
|
136
|
+
export type VoiceProviderContractMatrixAssertionReport<TProvider extends string = string> = {
|
|
137
|
+
failed: number;
|
|
138
|
+
issues: string[];
|
|
139
|
+
kinds: VoiceProviderStackKind[];
|
|
140
|
+
ok: boolean;
|
|
141
|
+
providers: TProvider[];
|
|
142
|
+
selectedKinds: VoiceProviderStackKind[];
|
|
143
|
+
status: VoiceProviderContractCheckStatus;
|
|
144
|
+
total: number;
|
|
145
|
+
warned: number;
|
|
146
|
+
};
|
|
109
147
|
export declare const recommendVoiceProviderStack: <TProvider extends string = string>(input: VoiceProviderStackInput<TProvider>) => VoiceProviderStackRecommendation<TProvider>;
|
|
110
148
|
export declare const buildVoiceProviderContractMatrix: <TProvider extends string = string>(input: VoiceProviderContractMatrixInput<TProvider>) => VoiceProviderContractMatrixReport<TProvider>;
|
|
149
|
+
export declare const evaluateVoiceProviderContractMatrixEvidence: <TProvider extends string = string>(report: VoiceProviderContractMatrixReport<TProvider>, input?: VoiceProviderContractMatrixAssertionInput<TProvider>) => VoiceProviderContractMatrixAssertionReport<TProvider>;
|
|
150
|
+
export declare const assertVoiceProviderContractMatrixEvidence: <TProvider extends string = string>(report: VoiceProviderContractMatrixReport<TProvider>, input?: VoiceProviderContractMatrixAssertionInput<TProvider>) => VoiceProviderContractMatrixAssertionReport<TProvider>;
|
|
111
151
|
export declare const createVoiceProviderContractMatrixPreset: <TProvider extends string = string>(profile: VoiceReadinessProfileName, options: VoiceProviderContractMatrixPresetOptions<TProvider>) => VoiceProviderContractMatrixInput<TProvider>;
|
|
112
152
|
export declare const renderVoiceProviderContractMatrixHTML: <TProvider extends string = string>(report: VoiceProviderContractMatrixReport<TProvider>, options?: {
|
|
113
153
|
title?: string;
|
|
@@ -143,3 +183,5 @@ export declare const createVoiceProviderContractMatrixRoutes: <TProvider extends
|
|
|
143
183
|
response: {};
|
|
144
184
|
}>;
|
|
145
185
|
export declare const evaluateVoiceProviderStackGaps: <TProvider extends string = string>(input: VoiceProviderStackCapabilityGapInput<TProvider>) => VoiceProviderStackCapabilityGapReport<TProvider>;
|
|
186
|
+
export declare const evaluateVoiceProviderStackEvidence: <TProvider extends string = string>(report: VoiceProviderStackCapabilityGapReport<TProvider>, input?: VoiceProviderStackAssertionInput<TProvider>) => VoiceProviderStackAssertionReport<TProvider>;
|
|
187
|
+
export declare const assertVoiceProviderStackEvidence: <TProvider extends string = string>(report: VoiceProviderStackCapabilityGapReport<TProvider>, input?: VoiceProviderStackAssertionInput<TProvider>) => VoiceProviderStackAssertionReport<TProvider>;
|