@absolutejs/voice 0.0.22-beta.455 → 0.0.22-beta.456

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.
@@ -6793,6 +6793,70 @@ var createVoiceRealCallEvidenceRuntime = (options) => {
6793
6793
  })
6794
6794
  };
6795
6795
  };
6796
+ var buildVoiceRealCallEvidenceRuntimeReadinessCheck = (report, options = {}) => {
6797
+ const minStoredEvidence = options.minStoredEvidence ?? 1;
6798
+ const minSessions = options.minSessions ?? 1;
6799
+ const minProfiles = options.minProfiles ?? 1;
6800
+ const issues = [];
6801
+ const warnings = [];
6802
+ if (report.summary.storedEvidence < minStoredEvidence) {
6803
+ issues.push(`Expected at least ${String(minStoredEvidence)} stored real-call evidence record(s), observed ${String(report.summary.storedEvidence)}.`);
6804
+ }
6805
+ if (report.summary.sessions < minSessions) {
6806
+ issues.push(`Expected at least ${String(minSessions)} real-call session(s), observed ${String(report.summary.sessions)}.`);
6807
+ }
6808
+ if (report.summary.profiles < minProfiles) {
6809
+ issues.push(`Expected at least ${String(minProfiles)} real-call profile(s), observed ${String(report.summary.profiles)}.`);
6810
+ }
6811
+ if (report.summary.failedProfiles > 0) {
6812
+ issues.push(`${String(report.summary.failedProfiles)} rolling real-call profile(s) are failing.`);
6813
+ }
6814
+ if (report.status === "empty" || report.status === "stale") {
6815
+ issues.push(`Real-call evidence runtime is ${report.status}.`);
6816
+ } else if (report.status === "fail") {
6817
+ issues.push("Real-call evidence runtime has failing evidence.");
6818
+ }
6819
+ if (report.status !== "pass" && options.failOnWarnings === true) {
6820
+ warnings.push(...report.issues);
6821
+ }
6822
+ const status = issues.length > 0 ? "fail" : warnings.length > 0 && options.failOnWarnings === true ? "fail" : warnings.length > 0 ? "warn" : "pass";
6823
+ const sourceHref = options.sourceHref ?? "/api/voice/real-call-evidence-runtime";
6824
+ const href = options.href ?? "/voice/real-call-evidence-runtime";
6825
+ return {
6826
+ actions: [
6827
+ {
6828
+ description: "Collect fresh real browser, phone, reconnect, provider, and latency evidence into the runtime store.",
6829
+ href: options.collectHref ?? `${sourceHref}/collect`,
6830
+ label: "Collect real-call evidence",
6831
+ method: "POST"
6832
+ },
6833
+ {
6834
+ description: "Open rolling real-call evidence and inspect profile/session depth.",
6835
+ href,
6836
+ label: "Open real-call evidence runtime"
6837
+ }
6838
+ ],
6839
+ detail: status === "pass" ? `${String(report.summary.storedEvidence)} stored evidence record(s), ${String(report.summary.sessions)} session(s), ${String(report.summary.profiles)} profile(s).` : [...issues, ...warnings].join(" "),
6840
+ gateExplanation: {
6841
+ evidenceHref: sourceHref,
6842
+ observed: report.summary.storedEvidence,
6843
+ remediation: "Run real browser or phone traffic, collect runtime evidence, and ensure rolling profile history is passing before promotion.",
6844
+ sourceHref: href,
6845
+ threshold: minStoredEvidence,
6846
+ thresholdLabel: "Minimum stored real-call evidence",
6847
+ unit: "count"
6848
+ },
6849
+ href,
6850
+ label: options.label ?? "Real-call evidence runtime",
6851
+ proofSource: {
6852
+ href: sourceHref,
6853
+ source: report.source,
6854
+ sourceLabel: "Real-call evidence runtime"
6855
+ },
6856
+ status,
6857
+ value: `${String(report.summary.storedEvidence)} evidence / ${String(report.summary.sessions)} sessions / ${String(report.summary.profiles)} profiles`
6858
+ };
6859
+ };
6796
6860
  var realCallProfileTraceSignalTypes = new Set([
6797
6861
  "client.barge_in",
6798
6862
  "client.browser_media",
package/dist/index.d.ts CHANGED
@@ -31,7 +31,7 @@ export { assertVoicePlatformCoverage, buildVoicePlatformCoverageSummary, createV
31
31
  export { assertVoiceCompetitiveCoverage, buildVoiceCompetitiveCoverageReport, createVoiceCompetitiveCoverageRoutes, evaluateVoiceCompetitiveCoverage, renderVoiceCompetitiveCoverageHTML, renderVoiceCompetitiveCoverageMarkdown, } from "./competitiveCoverage";
32
32
  export type { VoiceCompetitiveCoverageAssertionInput, VoiceCompetitiveCoverageAssertionReport, VoiceCompetitiveCoverageIssue, VoiceCompetitiveCoverageLevel, VoiceCompetitiveCoverageReport, VoiceCompetitiveCoverageReportInput, VoiceCompetitiveCoverageRoutesOptions, VoiceCompetitiveCoverageStatus, VoiceCompetitiveCoverageSummary, VoiceCompetitiveDepthLevel, VoiceCompetitiveEvidence, VoiceCompetitiveSurface, } from "./competitiveCoverage";
33
33
  export type { VoicePlatformCoverageAssertionInput, VoicePlatformCoverageAssertionReport, VoicePlatformCoverageEvidence, VoicePlatformCoverageRoutesOptions, VoicePlatformCoverageStatus, VoicePlatformCoverageSummary, VoicePlatformCoverageSummaryInput, VoicePlatformCoverageSurface, } from "./platformCoverage";
34
- export { assertVoiceProofTrendEvidence, appendVoiceRealCallProfileRecoveryEvidence, buildEmptyVoiceProofTrendReport, buildVoiceProofTrendProfileSummaries, buildVoiceProofTrendRecommendationReport, buildVoiceProofTrendReportFromRealCallProfiles, buildVoiceProofTrendReport, buildVoiceRealCallProfileEvidenceFromTraceEvents, buildVoiceRealCallProfileEvidenceFromReconnectProofReports, buildVoiceRealCallProfileDefaults, buildVoiceRealCallProfileHistoryReport, buildVoiceRealCallProfileHistoryReportFromStore, buildVoiceRealCallProfileReadinessCheck, buildVoiceRealCallProfileRecoveryJobHistoryCheck, buildVoiceRealCallProfileRecoveryActions, buildVoiceReconnectProfileEvidenceSummary, createVoiceRealCallEvidenceRuntime, createVoiceRealCallEvidenceRuntimeRoutes, createVoiceInMemoryRealCallProfileRecoveryJobStore, createVoiceRealCallProfileTraceCollector, createVoiceSQLiteRealCallProfileEvidenceStore, createVoiceSQLiteRealCallProfileRecoveryJobStore, createVoiceProofTrendRecommendationRoutes, createVoiceProofTrendRoutes, createVoiceRealCallProfileHistoryRoutes, createVoiceRealCallProfileRecoveryActionRoutes, DEFAULT_VOICE_PROOF_TREND_PROFILE_DEFINITIONS, DEFAULT_VOICE_PROOF_TRENDS_MAX_AGE_MS, evaluateVoiceProofTrendEvidence, formatVoiceProofTrendAge, loadVoiceRealCallProfileEvidenceFromStore, loadVoiceRealCallProfileEvidenceFromTraceStore, normalizeVoiceProofTrendReport, readVoiceProofTrendReportFile, renderVoiceProofTrendRecommendationHTML, renderVoiceProofTrendRecommendationMarkdown, renderVoiceRealCallEvidenceRuntimeHTML, renderVoiceRealCallEvidenceRuntimeMarkdown, renderVoiceRealCallProfileHistoryHTML, renderVoiceRealCallProfileHistoryMarkdown, runVoiceRealCallProfileRecoveryLoop, resolveVoiceRealCallProfileProviderRoute, } from "./proofTrends";
34
+ export { assertVoiceProofTrendEvidence, appendVoiceRealCallProfileRecoveryEvidence, buildEmptyVoiceProofTrendReport, buildVoiceProofTrendProfileSummaries, buildVoiceProofTrendRecommendationReport, buildVoiceProofTrendReportFromRealCallProfiles, buildVoiceProofTrendReport, buildVoiceRealCallProfileEvidenceFromTraceEvents, buildVoiceRealCallProfileEvidenceFromReconnectProofReports, buildVoiceRealCallProfileDefaults, buildVoiceRealCallProfileHistoryReport, buildVoiceRealCallProfileHistoryReportFromStore, buildVoiceRealCallEvidenceRuntimeReadinessCheck, buildVoiceRealCallProfileReadinessCheck, buildVoiceRealCallProfileRecoveryJobHistoryCheck, buildVoiceRealCallProfileRecoveryActions, buildVoiceReconnectProfileEvidenceSummary, createVoiceRealCallEvidenceRuntime, createVoiceRealCallEvidenceRuntimeRoutes, createVoiceInMemoryRealCallProfileRecoveryJobStore, createVoiceRealCallProfileTraceCollector, createVoiceSQLiteRealCallProfileEvidenceStore, createVoiceSQLiteRealCallProfileRecoveryJobStore, createVoiceProofTrendRecommendationRoutes, createVoiceProofTrendRoutes, createVoiceRealCallProfileHistoryRoutes, createVoiceRealCallProfileRecoveryActionRoutes, DEFAULT_VOICE_PROOF_TREND_PROFILE_DEFINITIONS, DEFAULT_VOICE_PROOF_TRENDS_MAX_AGE_MS, evaluateVoiceProofTrendEvidence, formatVoiceProofTrendAge, loadVoiceRealCallProfileEvidenceFromStore, loadVoiceRealCallProfileEvidenceFromTraceStore, normalizeVoiceProofTrendReport, readVoiceProofTrendReportFile, renderVoiceProofTrendRecommendationHTML, renderVoiceProofTrendRecommendationMarkdown, renderVoiceRealCallEvidenceRuntimeHTML, renderVoiceRealCallEvidenceRuntimeMarkdown, renderVoiceRealCallProfileHistoryHTML, renderVoiceRealCallProfileHistoryMarkdown, runVoiceRealCallProfileRecoveryLoop, resolveVoiceRealCallProfileProviderRoute, } from "./proofTrends";
35
35
  export { createVoiceEvidenceAssertion, createVoiceProofAssertion, summarizeVoiceProofAssertions, } from "./proofAssertions";
36
36
  export { buildVoiceSessionSnapshot, buildVoiceSessionSnapshotStatus, createVoiceSessionSnapshotRoutes, parseVoiceSessionSnapshot, } from "./sessionSnapshot";
37
37
  export { buildVoiceCallDebuggerReport, createVoiceCallDebuggerRoutes, renderVoiceCallDebuggerHTML, resolveLatestVoiceCallDebuggerSessionId, } from "./callDebugger";
@@ -46,7 +46,7 @@ export { buildVoiceProviderDecisionTraceReport, createVoiceProviderDecisionTrace
46
46
  export type { VoiceProviderDecisionStatus, VoiceProviderDecisionSurfaceReport, VoiceProviderDecisionTrace, VoiceProviderDecisionTraceInput, VoiceProviderDecisionTraceIssue, VoiceProviderDecisionTraceReport, VoiceProviderDecisionTraceReportOptions, VoiceProviderDecisionTraceRoutesOptions, } from "./providerDecisionTraces";
47
47
  export { appendVoiceIOProviderRouterTraceEvent, appendVoiceProviderRouterTraceEvent, buildVoiceIOProviderRouterTraceEvent, buildVoiceProviderRouterTraceEvent, } from "./providerRouterTraces";
48
48
  export type { VoiceIOProviderRouterTraceAppendOptions, VoiceIOProviderRouterTraceEventOptions, VoiceProviderRouterTraceAppendOptions, VoiceProviderRouterTraceEventOptions, } from "./providerRouterTraces";
49
- export type { VoiceProofTrendAssertionInput, VoiceProofTrendAssertionReport, VoiceProofTrendCycle, VoiceProofTrendProfileDefinition, VoiceProofTrendProfileRecommendation, VoiceProofTrendProfileSummaryOptions, VoiceProofTrendProfileSummary, VoiceProofTrendProviderRecommendation, VoiceProofTrendProviderSummary, VoiceProofTrendReconnectSummary, VoiceProofTrendRecommendation, VoiceProofTrendRecommendationOptions, VoiceProofTrendRecommendationReport, VoiceProofTrendRecommendationRoutesOptions, VoiceProofTrendRecommendationStatus, VoiceProofTrendRecommendationSurface, VoiceProofTrendRealCallProfileEvidence, VoiceProofTrendRealCallProfileReportOptions, VoiceProofTrendReport, VoiceProofTrendReportInput, VoiceProofTrendRoutesOptions, VoiceProofTrendRuntimeChannelSummary, VoiceProofTrendStatus, VoiceProofTrendSummary, VoiceRealCallProfileDefault, VoiceRealCallProfileDefaultsOptions, VoiceRealCallProfileDefaultsReport, VoiceRealCallProfileEvidenceCreateInput, VoiceRealCallProfileEvidenceListOptions, VoiceRealCallProfileEvidenceRecord, VoiceRealCallProfileEvidenceStore, VoiceRealCallProfileHistoryOptions, VoiceRealCallProfileHistoryReport, VoiceRealCallProfileHistoryRoutesOptions, VoiceRealCallProfileProviderRouteOptions, VoiceRealCallProfileReadinessCheckOptions, VoiceRealCallProfileRecoveryActionOptions, VoiceRealCallProfileRecoveryAction, VoiceRealCallProfileRecoveryActionHandler, VoiceRealCallProfileRecoveryActionHandlerInput, VoiceRealCallProfileRecoveryActionId, VoiceRealCallProfileRecoveryJobHistoryCheckOptions, VoiceRealCallProfileRecoveryActionResult, VoiceRealCallProfileRecoveryActionRoutesOptions, VoiceRealCallProfileRecoveryJob, VoiceRealCallProfileRecoveryJobCreateInput, VoiceRealCallProfileRecoveryJobListOptions, VoiceRealCallProfileRecoveryJobStatus, VoiceRealCallProfileRecoveryJobStore, VoiceRealCallProfileRecoveryJobUpdate, VoiceRealCallProfileRecoveryLoopAction, VoiceRealCallProfileRecoveryLoopJob, VoiceRealCallProfileRecoveryLoopJobResult, VoiceRealCallProfileRecoveryLoopOptions, VoiceRealCallProfileRecoveryLoopReport, VoiceRealCallProfileRecoveryLoopStartFailure, VoiceRealCallProfileRecoveryEvidenceOptions, VoiceRealCallProfileRecoveryEvidenceProvider, VoiceRealCallProfileRecoveryEvidenceProviderRole, VoiceRealCallProfileRecoveryEvidenceResult, VoiceSQLiteRealCallProfileRecoveryJobStoreOptions, VoiceRealCallProfileTraceCollector, VoiceRealCallProfileTraceCollectorEvidenceOptions, VoiceRealCallProfileTraceCollectorOptions, VoiceRealCallProfileTraceEvidenceOptions, VoiceRealCallProfileTraceStoreEvidenceOptions, VoiceReconnectRealCallProfileEvidenceOptions, VoiceReconnectProfileEvidenceSummary, VoiceReconnectProfileEvidenceSummaryStatus, VoiceRealCallEvidenceRuntime, VoiceRealCallEvidenceRuntimeCollectOptions, VoiceRealCallEvidenceRuntimeOptions, VoiceRealCallEvidenceRuntimeReport, VoiceRealCallEvidenceRuntimeRoutesOptions, VoiceRealCallEvidenceRuntimeSourceOptions, VoiceSQLiteRealCallProfileEvidenceStoreOptions, } from "./proofTrends";
49
+ export type { VoiceProofTrendAssertionInput, VoiceProofTrendAssertionReport, VoiceProofTrendCycle, VoiceProofTrendProfileDefinition, VoiceProofTrendProfileRecommendation, VoiceProofTrendProfileSummaryOptions, VoiceProofTrendProfileSummary, VoiceProofTrendProviderRecommendation, VoiceProofTrendProviderSummary, VoiceProofTrendReconnectSummary, VoiceProofTrendRecommendation, VoiceProofTrendRecommendationOptions, VoiceProofTrendRecommendationReport, VoiceProofTrendRecommendationRoutesOptions, VoiceProofTrendRecommendationStatus, VoiceProofTrendRecommendationSurface, VoiceProofTrendRealCallProfileEvidence, VoiceProofTrendRealCallProfileReportOptions, VoiceProofTrendReport, VoiceProofTrendReportInput, VoiceProofTrendRoutesOptions, VoiceProofTrendRuntimeChannelSummary, VoiceProofTrendStatus, VoiceProofTrendSummary, VoiceRealCallProfileDefault, VoiceRealCallProfileDefaultsOptions, VoiceRealCallProfileDefaultsReport, VoiceRealCallProfileEvidenceCreateInput, VoiceRealCallProfileEvidenceListOptions, VoiceRealCallProfileEvidenceRecord, VoiceRealCallProfileEvidenceStore, VoiceRealCallProfileHistoryOptions, VoiceRealCallProfileHistoryReport, VoiceRealCallProfileHistoryRoutesOptions, VoiceRealCallProfileProviderRouteOptions, VoiceRealCallProfileReadinessCheckOptions, VoiceRealCallProfileRecoveryActionOptions, VoiceRealCallProfileRecoveryAction, VoiceRealCallProfileRecoveryActionHandler, VoiceRealCallProfileRecoveryActionHandlerInput, VoiceRealCallProfileRecoveryActionId, VoiceRealCallProfileRecoveryJobHistoryCheckOptions, VoiceRealCallProfileRecoveryActionResult, VoiceRealCallProfileRecoveryActionRoutesOptions, VoiceRealCallProfileRecoveryJob, VoiceRealCallProfileRecoveryJobCreateInput, VoiceRealCallProfileRecoveryJobListOptions, VoiceRealCallProfileRecoveryJobStatus, VoiceRealCallProfileRecoveryJobStore, VoiceRealCallProfileRecoveryJobUpdate, VoiceRealCallProfileRecoveryLoopAction, VoiceRealCallProfileRecoveryLoopJob, VoiceRealCallProfileRecoveryLoopJobResult, VoiceRealCallProfileRecoveryLoopOptions, VoiceRealCallProfileRecoveryLoopReport, VoiceRealCallProfileRecoveryLoopStartFailure, VoiceRealCallProfileRecoveryEvidenceOptions, VoiceRealCallProfileRecoveryEvidenceProvider, VoiceRealCallProfileRecoveryEvidenceProviderRole, VoiceRealCallProfileRecoveryEvidenceResult, VoiceSQLiteRealCallProfileRecoveryJobStoreOptions, VoiceRealCallProfileTraceCollector, VoiceRealCallProfileTraceCollectorEvidenceOptions, VoiceRealCallProfileTraceCollectorOptions, VoiceRealCallProfileTraceEvidenceOptions, VoiceRealCallProfileTraceStoreEvidenceOptions, VoiceReconnectRealCallProfileEvidenceOptions, VoiceReconnectProfileEvidenceSummary, VoiceReconnectProfileEvidenceSummaryStatus, VoiceRealCallEvidenceRuntime, VoiceRealCallEvidenceRuntimeCollectOptions, VoiceRealCallEvidenceRuntimeOptions, VoiceRealCallEvidenceRuntimeReadinessCheckOptions, VoiceRealCallEvidenceRuntimeReport, VoiceRealCallEvidenceRuntimeRoutesOptions, VoiceRealCallEvidenceRuntimeSourceOptions, VoiceSQLiteRealCallProfileEvidenceStoreOptions, } from "./proofTrends";
50
50
  export { assertVoiceSloCalibration, buildVoiceSloCalibrationReport, buildVoiceSloReadinessThresholdReport, createVoiceSloReadinessThresholdOptions, createVoiceSloReadinessThresholdRoutes, createVoiceSloThresholdProfile, createVoiceSloCalibrationRoutes, renderVoiceSloCalibrationMarkdown, renderVoiceSloReadinessThresholdHTML, renderVoiceSloReadinessThresholdMarkdown, } from "./sloCalibration";
51
51
  export type { VoiceSloCalibrationMetricKey, VoiceSloCalibrationOptions, VoiceSloCalibrationReport, VoiceSloCalibrationRoutesOptions, VoiceSloCalibrationSample, VoiceSloCalibrationStatus, VoiceSloCalibrationThreshold, VoiceSloCalibrationThresholds, VoiceSloReadinessThresholdReport, VoiceSloReadinessThresholdReportOptions, VoiceSloReadinessThresholdOptions, VoiceSloReadinessThresholdRoutesOptions, VoiceSloThresholdProfile, } from "./sloCalibration";
52
52
  export { assertVoiceLiveOpsControlEvidence, assertVoiceLiveOpsEvidence, buildVoiceLiveOpsControlState, createVoiceLiveOpsController, createVoiceLiveOpsRoutes, createVoiceMemoryLiveOpsControlStore, evaluateVoiceLiveOpsControlEvidence, evaluateVoiceLiveOpsEvidence, getVoiceLiveOpsControlStatus, VOICE_LIVE_OPS_ACTIONS, } from "./liveOps";
package/dist/index.js CHANGED
@@ -16983,6 +16983,70 @@ var createVoiceRealCallEvidenceRuntime = (options) => {
16983
16983
  })
16984
16984
  };
16985
16985
  };
16986
+ var buildVoiceRealCallEvidenceRuntimeReadinessCheck = (report, options = {}) => {
16987
+ const minStoredEvidence = options.minStoredEvidence ?? 1;
16988
+ const minSessions = options.minSessions ?? 1;
16989
+ const minProfiles = options.minProfiles ?? 1;
16990
+ const issues = [];
16991
+ const warnings = [];
16992
+ if (report.summary.storedEvidence < minStoredEvidence) {
16993
+ issues.push(`Expected at least ${String(minStoredEvidence)} stored real-call evidence record(s), observed ${String(report.summary.storedEvidence)}.`);
16994
+ }
16995
+ if (report.summary.sessions < minSessions) {
16996
+ issues.push(`Expected at least ${String(minSessions)} real-call session(s), observed ${String(report.summary.sessions)}.`);
16997
+ }
16998
+ if (report.summary.profiles < minProfiles) {
16999
+ issues.push(`Expected at least ${String(minProfiles)} real-call profile(s), observed ${String(report.summary.profiles)}.`);
17000
+ }
17001
+ if (report.summary.failedProfiles > 0) {
17002
+ issues.push(`${String(report.summary.failedProfiles)} rolling real-call profile(s) are failing.`);
17003
+ }
17004
+ if (report.status === "empty" || report.status === "stale") {
17005
+ issues.push(`Real-call evidence runtime is ${report.status}.`);
17006
+ } else if (report.status === "fail") {
17007
+ issues.push("Real-call evidence runtime has failing evidence.");
17008
+ }
17009
+ if (report.status !== "pass" && options.failOnWarnings === true) {
17010
+ warnings.push(...report.issues);
17011
+ }
17012
+ const status = issues.length > 0 ? "fail" : warnings.length > 0 && options.failOnWarnings === true ? "fail" : warnings.length > 0 ? "warn" : "pass";
17013
+ const sourceHref = options.sourceHref ?? "/api/voice/real-call-evidence-runtime";
17014
+ const href = options.href ?? "/voice/real-call-evidence-runtime";
17015
+ return {
17016
+ actions: [
17017
+ {
17018
+ description: "Collect fresh real browser, phone, reconnect, provider, and latency evidence into the runtime store.",
17019
+ href: options.collectHref ?? `${sourceHref}/collect`,
17020
+ label: "Collect real-call evidence",
17021
+ method: "POST"
17022
+ },
17023
+ {
17024
+ description: "Open rolling real-call evidence and inspect profile/session depth.",
17025
+ href,
17026
+ label: "Open real-call evidence runtime"
17027
+ }
17028
+ ],
17029
+ detail: status === "pass" ? `${String(report.summary.storedEvidence)} stored evidence record(s), ${String(report.summary.sessions)} session(s), ${String(report.summary.profiles)} profile(s).` : [...issues, ...warnings].join(" "),
17030
+ gateExplanation: {
17031
+ evidenceHref: sourceHref,
17032
+ observed: report.summary.storedEvidence,
17033
+ remediation: "Run real browser or phone traffic, collect runtime evidence, and ensure rolling profile history is passing before promotion.",
17034
+ sourceHref: href,
17035
+ threshold: minStoredEvidence,
17036
+ thresholdLabel: "Minimum stored real-call evidence",
17037
+ unit: "count"
17038
+ },
17039
+ href,
17040
+ label: options.label ?? "Real-call evidence runtime",
17041
+ proofSource: {
17042
+ href: sourceHref,
17043
+ source: report.source,
17044
+ sourceLabel: "Real-call evidence runtime"
17045
+ },
17046
+ status,
17047
+ value: `${String(report.summary.storedEvidence)} evidence / ${String(report.summary.sessions)} sessions / ${String(report.summary.profiles)} profiles`
17048
+ };
17049
+ };
16986
17050
  var realCallProfileTraceSignalTypes = new Set([
16987
17051
  "client.barge_in",
16988
17052
  "client.browser_media",
@@ -43024,6 +43088,7 @@ export {
43024
43088
  buildVoiceRealCallProfileEvidenceFromTraceEvents,
43025
43089
  buildVoiceRealCallProfileEvidenceFromReconnectProofReports,
43026
43090
  buildVoiceRealCallProfileDefaults,
43091
+ buildVoiceRealCallEvidenceRuntimeReadinessCheck,
43027
43092
  buildVoiceReadinessRecoveryActions,
43028
43093
  buildVoiceProviderSloReport,
43029
43094
  buildVoiceProviderRouterTraceEvent,
@@ -290,6 +290,16 @@ export type VoiceRealCallEvidenceRuntimeRoutesOptions = VoiceRealCallEvidenceRun
290
290
  runtime?: VoiceRealCallEvidenceRuntime;
291
291
  title?: string;
292
292
  };
293
+ export type VoiceRealCallEvidenceRuntimeReadinessCheckOptions = {
294
+ collectHref?: string;
295
+ failOnWarnings?: boolean;
296
+ href?: string;
297
+ label?: string;
298
+ minProfiles?: number;
299
+ minSessions?: number;
300
+ minStoredEvidence?: number;
301
+ sourceHref?: string;
302
+ };
293
303
  export type VoiceProofTrendRealCallProfileReportOptions = VoiceProofTrendProfileSummaryOptions & {
294
304
  baseUrl?: string;
295
305
  evidence: readonly VoiceProofTrendRealCallProfileEvidence[];
@@ -711,6 +721,7 @@ export declare const loadVoiceRealCallProfileEvidenceFromStore: (options: VoiceR
711
721
  store: VoiceRealCallProfileEvidenceStore;
712
722
  }) => Promise<VoiceRealCallProfileEvidenceRecord[]>;
713
723
  export declare const createVoiceRealCallEvidenceRuntime: (options: VoiceRealCallEvidenceRuntimeOptions) => VoiceRealCallEvidenceRuntime;
724
+ export declare const buildVoiceRealCallEvidenceRuntimeReadinessCheck: (report: VoiceRealCallEvidenceRuntimeReport, options?: VoiceRealCallEvidenceRuntimeReadinessCheckOptions) => VoiceProductionReadinessCheck;
714
725
  export declare const createVoiceRealCallProfileTraceCollector: <TEvent extends StoredVoiceTraceEvent = StoredVoiceTraceEvent>(options: VoiceRealCallProfileTraceCollectorOptions<TEvent>) => VoiceRealCallProfileTraceCollector<TEvent>;
715
726
  export declare const buildVoiceProofTrendProfileSummaries: (input: VoiceProofTrendReport | readonly VoiceProofTrendReport[], options?: VoiceProofTrendProfileSummaryOptions) => VoiceProofTrendProfileSummary[];
716
727
  export declare const buildVoiceProofTrendReportFromRealCallProfiles: (options: VoiceProofTrendRealCallProfileReportOptions) => VoiceProofTrendReport;
@@ -3888,6 +3888,70 @@ var createVoiceRealCallEvidenceRuntime = (options) => {
3888
3888
  })
3889
3889
  };
3890
3890
  };
3891
+ var buildVoiceRealCallEvidenceRuntimeReadinessCheck = (report, options = {}) => {
3892
+ const minStoredEvidence = options.minStoredEvidence ?? 1;
3893
+ const minSessions = options.minSessions ?? 1;
3894
+ const minProfiles = options.minProfiles ?? 1;
3895
+ const issues = [];
3896
+ const warnings = [];
3897
+ if (report.summary.storedEvidence < minStoredEvidence) {
3898
+ issues.push(`Expected at least ${String(minStoredEvidence)} stored real-call evidence record(s), observed ${String(report.summary.storedEvidence)}.`);
3899
+ }
3900
+ if (report.summary.sessions < minSessions) {
3901
+ issues.push(`Expected at least ${String(minSessions)} real-call session(s), observed ${String(report.summary.sessions)}.`);
3902
+ }
3903
+ if (report.summary.profiles < minProfiles) {
3904
+ issues.push(`Expected at least ${String(minProfiles)} real-call profile(s), observed ${String(report.summary.profiles)}.`);
3905
+ }
3906
+ if (report.summary.failedProfiles > 0) {
3907
+ issues.push(`${String(report.summary.failedProfiles)} rolling real-call profile(s) are failing.`);
3908
+ }
3909
+ if (report.status === "empty" || report.status === "stale") {
3910
+ issues.push(`Real-call evidence runtime is ${report.status}.`);
3911
+ } else if (report.status === "fail") {
3912
+ issues.push("Real-call evidence runtime has failing evidence.");
3913
+ }
3914
+ if (report.status !== "pass" && options.failOnWarnings === true) {
3915
+ warnings.push(...report.issues);
3916
+ }
3917
+ const status = issues.length > 0 ? "fail" : warnings.length > 0 && options.failOnWarnings === true ? "fail" : warnings.length > 0 ? "warn" : "pass";
3918
+ const sourceHref = options.sourceHref ?? "/api/voice/real-call-evidence-runtime";
3919
+ const href = options.href ?? "/voice/real-call-evidence-runtime";
3920
+ return {
3921
+ actions: [
3922
+ {
3923
+ description: "Collect fresh real browser, phone, reconnect, provider, and latency evidence into the runtime store.",
3924
+ href: options.collectHref ?? `${sourceHref}/collect`,
3925
+ label: "Collect real-call evidence",
3926
+ method: "POST"
3927
+ },
3928
+ {
3929
+ description: "Open rolling real-call evidence and inspect profile/session depth.",
3930
+ href,
3931
+ label: "Open real-call evidence runtime"
3932
+ }
3933
+ ],
3934
+ detail: status === "pass" ? `${String(report.summary.storedEvidence)} stored evidence record(s), ${String(report.summary.sessions)} session(s), ${String(report.summary.profiles)} profile(s).` : [...issues, ...warnings].join(" "),
3935
+ gateExplanation: {
3936
+ evidenceHref: sourceHref,
3937
+ observed: report.summary.storedEvidence,
3938
+ remediation: "Run real browser or phone traffic, collect runtime evidence, and ensure rolling profile history is passing before promotion.",
3939
+ sourceHref: href,
3940
+ threshold: minStoredEvidence,
3941
+ thresholdLabel: "Minimum stored real-call evidence",
3942
+ unit: "count"
3943
+ },
3944
+ href,
3945
+ label: options.label ?? "Real-call evidence runtime",
3946
+ proofSource: {
3947
+ href: sourceHref,
3948
+ source: report.source,
3949
+ sourceLabel: "Real-call evidence runtime"
3950
+ },
3951
+ status,
3952
+ value: `${String(report.summary.storedEvidence)} evidence / ${String(report.summary.sessions)} sessions / ${String(report.summary.profiles)} profiles`
3953
+ };
3954
+ };
3891
3955
  var realCallProfileTraceSignalTypes = new Set([
3892
3956
  "client.barge_in",
3893
3957
  "client.browser_media",
package/dist/vue/index.js CHANGED
@@ -3809,6 +3809,70 @@ var createVoiceRealCallEvidenceRuntime = (options) => {
3809
3809
  })
3810
3810
  };
3811
3811
  };
3812
+ var buildVoiceRealCallEvidenceRuntimeReadinessCheck = (report, options = {}) => {
3813
+ const minStoredEvidence = options.minStoredEvidence ?? 1;
3814
+ const minSessions = options.minSessions ?? 1;
3815
+ const minProfiles = options.minProfiles ?? 1;
3816
+ const issues = [];
3817
+ const warnings = [];
3818
+ if (report.summary.storedEvidence < minStoredEvidence) {
3819
+ issues.push(`Expected at least ${String(minStoredEvidence)} stored real-call evidence record(s), observed ${String(report.summary.storedEvidence)}.`);
3820
+ }
3821
+ if (report.summary.sessions < minSessions) {
3822
+ issues.push(`Expected at least ${String(minSessions)} real-call session(s), observed ${String(report.summary.sessions)}.`);
3823
+ }
3824
+ if (report.summary.profiles < minProfiles) {
3825
+ issues.push(`Expected at least ${String(minProfiles)} real-call profile(s), observed ${String(report.summary.profiles)}.`);
3826
+ }
3827
+ if (report.summary.failedProfiles > 0) {
3828
+ issues.push(`${String(report.summary.failedProfiles)} rolling real-call profile(s) are failing.`);
3829
+ }
3830
+ if (report.status === "empty" || report.status === "stale") {
3831
+ issues.push(`Real-call evidence runtime is ${report.status}.`);
3832
+ } else if (report.status === "fail") {
3833
+ issues.push("Real-call evidence runtime has failing evidence.");
3834
+ }
3835
+ if (report.status !== "pass" && options.failOnWarnings === true) {
3836
+ warnings.push(...report.issues);
3837
+ }
3838
+ const status = issues.length > 0 ? "fail" : warnings.length > 0 && options.failOnWarnings === true ? "fail" : warnings.length > 0 ? "warn" : "pass";
3839
+ const sourceHref = options.sourceHref ?? "/api/voice/real-call-evidence-runtime";
3840
+ const href = options.href ?? "/voice/real-call-evidence-runtime";
3841
+ return {
3842
+ actions: [
3843
+ {
3844
+ description: "Collect fresh real browser, phone, reconnect, provider, and latency evidence into the runtime store.",
3845
+ href: options.collectHref ?? `${sourceHref}/collect`,
3846
+ label: "Collect real-call evidence",
3847
+ method: "POST"
3848
+ },
3849
+ {
3850
+ description: "Open rolling real-call evidence and inspect profile/session depth.",
3851
+ href,
3852
+ label: "Open real-call evidence runtime"
3853
+ }
3854
+ ],
3855
+ detail: status === "pass" ? `${String(report.summary.storedEvidence)} stored evidence record(s), ${String(report.summary.sessions)} session(s), ${String(report.summary.profiles)} profile(s).` : [...issues, ...warnings].join(" "),
3856
+ gateExplanation: {
3857
+ evidenceHref: sourceHref,
3858
+ observed: report.summary.storedEvidence,
3859
+ remediation: "Run real browser or phone traffic, collect runtime evidence, and ensure rolling profile history is passing before promotion.",
3860
+ sourceHref: href,
3861
+ threshold: minStoredEvidence,
3862
+ thresholdLabel: "Minimum stored real-call evidence",
3863
+ unit: "count"
3864
+ },
3865
+ href,
3866
+ label: options.label ?? "Real-call evidence runtime",
3867
+ proofSource: {
3868
+ href: sourceHref,
3869
+ source: report.source,
3870
+ sourceLabel: "Real-call evidence runtime"
3871
+ },
3872
+ status,
3873
+ value: `${String(report.summary.storedEvidence)} evidence / ${String(report.summary.sessions)} sessions / ${String(report.summary.profiles)} profiles`
3874
+ };
3875
+ };
3812
3876
  var realCallProfileTraceSignalTypes = new Set([
3813
3877
  "client.barge_in",
3814
3878
  "client.browser_media",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@absolutejs/voice",
3
- "version": "0.0.22-beta.455",
3
+ "version": "0.0.22-beta.456",
4
4
  "description": "Voice primitives and Elysia plugin for AbsoluteJS",
5
5
  "repository": {
6
6
  "type": "git",