@absolutejs/voice 0.0.22-beta.234 → 0.0.22-beta.235
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/README.md +14 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +43 -2
- package/dist/observabilityExport.d.ts +40 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2796,7 +2796,8 @@ Replay sources support supplied records plus file, S3, SQLite, and Postgres deli
|
|
|
2796
2796
|
import {
|
|
2797
2797
|
buildVoiceObservabilityExport,
|
|
2798
2798
|
createVoiceFileObservabilityExportDeliveryReceiptStore,
|
|
2799
|
-
createVoiceObservabilityExportRoutes
|
|
2799
|
+
createVoiceObservabilityExportRoutes,
|
|
2800
|
+
createVoiceObservabilityExportReplayRoutes
|
|
2800
2801
|
} from '@absolutejs/voice';
|
|
2801
2802
|
|
|
2802
2803
|
const observabilityReceipts =
|
|
@@ -2856,6 +2857,17 @@ app.use(
|
|
|
2856
2857
|
})
|
|
2857
2858
|
);
|
|
2858
2859
|
|
|
2860
|
+
app.use(
|
|
2861
|
+
createVoiceObservabilityExportReplayRoutes({
|
|
2862
|
+
source: async () => ({
|
|
2863
|
+
kind: 'sqlite',
|
|
2864
|
+
path: '.voice-runtime/observability-exports.sqlite',
|
|
2865
|
+
runId: 'latest-proof-pack',
|
|
2866
|
+
tableName: 'voice_observability_exports'
|
|
2867
|
+
})
|
|
2868
|
+
})
|
|
2869
|
+
);
|
|
2870
|
+
|
|
2859
2871
|
const exportReport = await buildVoiceObservabilityExport({
|
|
2860
2872
|
artifactIntegrity: {
|
|
2861
2873
|
maxAgeMs: 15 * 60 * 1000
|
|
@@ -2871,7 +2883,7 @@ const exportReport = await buildVoiceObservabilityExport({
|
|
|
2871
2883
|
});
|
|
2872
2884
|
```
|
|
2873
2885
|
|
|
2874
|
-
The route helper exposes JSON at `/api/voice/observability-export`, an artifact index at `/api/voice/observability-export/artifacts`, per-artifact downloads at `/api/voice/observability-export/artifacts/:artifactId`, delivery at `POST /api/voice/observability-export/deliveries`, delivery history at `GET /api/voice/observability-export/deliveries`, Markdown at `/voice/observability-export.md`, and HTML at `/voice/observability-export`. Path-backed artifacts are hashed with SHA-256 by default, include byte size and freshness metadata, and can fail the export when required evidence is missing or stale. File delivery writes `manifest.json`, `artifact-index.json`, and artifact files into a customer-owned archive directory; webhook delivery posts the manifest and artifact index to a buyer-owned collector, SIEM bridge, or warehouse endpoint; S3 delivery writes the same manifest, index, and artifact files through Bun's native S3 client; SQLite and Postgres delivery persist the schema id/version, manifest, artifact index, checksum metadata, status, run id, and timestamps into buyer-owned database tables. Delivery receipt stores persist run id, destinations, status, schema, and target history so operators can prove exports have been continuously healthy. Failed trace/audit deliveries fail the export report, pending deliveries warn, and every trace/audit envelope includes the linked operations-record URL when one is configured. This is the primitive to use when customers ask how voice evidence leaves the app without going through a hosted vendor dashboard.
|
|
2886
|
+
The route helper exposes JSON at `/api/voice/observability-export`, an artifact index at `/api/voice/observability-export/artifacts`, per-artifact downloads at `/api/voice/observability-export/artifacts/:artifactId`, delivery at `POST /api/voice/observability-export/deliveries`, delivery history at `GET /api/voice/observability-export/deliveries`, Markdown at `/voice/observability-export.md`, and HTML at `/voice/observability-export`. `createVoiceObservabilityExportReplayRoutes(...)` adds JSON replay proof at `/api/voice/observability-export/replay` and a readable replay proof page at `/voice/observability-export/replay`. Path-backed artifacts are hashed with SHA-256 by default, include byte size and freshness metadata, and can fail the export when required evidence is missing or stale. File delivery writes `manifest.json`, `artifact-index.json`, and artifact files into a customer-owned archive directory; webhook delivery posts the manifest and artifact index to a buyer-owned collector, SIEM bridge, or warehouse endpoint; S3 delivery writes the same manifest, index, and artifact files through Bun's native S3 client; SQLite and Postgres delivery persist the schema id/version, manifest, artifact index, checksum metadata, status, run id, and timestamps into buyer-owned database tables. Delivery receipt stores persist run id, destinations, status, schema, and target history so operators can prove exports have been continuously healthy. Failed trace/audit deliveries fail the export report, pending deliveries warn, and every trace/audit envelope includes the linked operations-record URL when one is configured. This is the primitive to use when customers ask how voice evidence leaves the app without going through a hosted vendor dashboard.
|
|
2875
2887
|
|
|
2876
2888
|
Pass the same report into production readiness when export health should block deploys:
|
|
2877
2889
|
|
package/dist/index.d.ts
CHANGED
|
@@ -53,7 +53,7 @@ export { createVoiceReadinessProfile, recommendVoiceReadinessProfile } from './r
|
|
|
53
53
|
export { buildVoiceProviderContractMatrix, createVoiceProviderContractMatrixHTMLHandler, createVoiceProviderContractMatrixJSONHandler, createVoiceProviderContractMatrixPreset, createVoiceProviderContractMatrixRoutes, evaluateVoiceProviderStackGaps, renderVoiceProviderContractMatrixHTML, recommendVoiceProviderStack } from './providerStackRecommendations';
|
|
54
54
|
export { buildVoiceOpsConsoleReport, createVoiceOpsConsoleRoutes, renderVoiceOpsConsoleHTML } from './opsConsoleRoutes';
|
|
55
55
|
export { buildVoiceOperationsRecord, createVoiceOperationsRecordRoutes, renderVoiceOperationsRecordHTML, renderVoiceOperationsRecordIncidentMarkdown } from './operationsRecord';
|
|
56
|
-
export { assertVoiceObservabilityExportRecord, buildVoiceObservabilityArtifactIndex, buildVoiceObservabilityExportDeliveryHistory, buildVoiceObservabilityExportReplayReport, buildVoiceObservabilityExport, assertVoiceObservabilityExportSchema, createVoiceObservabilityExportSchema, createVoiceFileObservabilityExportDeliveryReceiptStore, createVoiceMemoryObservabilityExportDeliveryReceiptStore, createVoiceObservabilityExportRoutes, deliverVoiceObservabilityExport, loadVoiceObservabilityExportReplaySource, replayVoiceObservabilityExport, renderVoiceObservabilityExportMarkdown, validateVoiceObservabilityExportRecord, voiceObservabilityExportSchemaId, voiceObservabilityExportSchemaVersion } from './observabilityExport';
|
|
56
|
+
export { assertVoiceObservabilityExportRecord, buildVoiceObservabilityArtifactIndex, buildVoiceObservabilityExportDeliveryHistory, buildVoiceObservabilityExportReplayReport, buildVoiceObservabilityExport, assertVoiceObservabilityExportSchema, createVoiceObservabilityExportSchema, createVoiceFileObservabilityExportDeliveryReceiptStore, createVoiceMemoryObservabilityExportDeliveryReceiptStore, createVoiceObservabilityExportRoutes, createVoiceObservabilityExportReplayRoutes, deliverVoiceObservabilityExport, loadVoiceObservabilityExportReplaySource, replayVoiceObservabilityExport, renderVoiceObservabilityExportReplayHTML, renderVoiceObservabilityExportMarkdown, validateVoiceObservabilityExportRecord, voiceObservabilityExportSchemaId, voiceObservabilityExportSchemaVersion } from './observabilityExport';
|
|
57
57
|
export { buildVoiceOpsRecoveryReadinessCheck, buildVoiceOpsRecoveryReport, createVoiceOpsRecoveryRoutes, renderVoiceOpsRecoveryHTML, renderVoiceOpsRecoveryMarkdown } from './opsRecovery';
|
|
58
58
|
export { buildVoiceIncidentBundle, createStoredVoiceIncidentBundleArtifact, createVoiceIncidentBundleRoutes, createVoiceMemoryIncidentBundleStore, pruneVoiceIncidentBundleArtifacts, saveVoiceIncidentBundleArtifact } from './incidentBundle';
|
|
59
59
|
export { summarizeVoiceOpsStatus } from './opsStatus';
|
|
@@ -118,7 +118,7 @@ export type { VoiceProductionReadinessAction, VoiceProductionReadinessAuditOptio
|
|
|
118
118
|
export type { VoiceReadinessProfileName, VoiceReadinessProfileOptions, VoiceReadinessProfileRecommendation, VoiceReadinessProfileRecommendationScore, VoiceReadinessProfileRoutesOptions } from './readinessProfiles';
|
|
119
119
|
export type { VoiceProviderStackChoice, VoiceProviderStackCapabilities, VoiceProviderStackCapabilityGap, VoiceProviderStackCapabilityGapInput, VoiceProviderStackCapabilityGapReport, VoiceProviderContractCheck, VoiceProviderContractCheckStatus, VoiceProviderContractDefinition, VoiceProviderContractMatrixHandlerOptions, VoiceProviderContractMatrixHTMLHandlerOptions, VoiceProviderContractMatrixInput, VoiceProviderContractMatrixPresetOptions, VoiceProviderContractMatrixReport, VoiceProviderContractMatrixRoutesOptions, VoiceProviderContractMatrixRow, VoiceProviderStackInput, VoiceProviderStackKind, VoiceProviderStackRecommendation } from './providerStackRecommendations';
|
|
120
120
|
export type { VoiceOperationsRecord, VoiceOperationsRecordAgentHandoff, VoiceOperationsRecordAuditSummary, VoiceOperationsRecordIntegrationEventSummary, VoiceOperationsRecordOptions, VoiceOperationsRecordOutcome, VoiceOperationsRecordProviderDecision, VoiceOperationsRecordReviewSummary, VoiceOperationsRecordRoutesOptions, VoiceOperationsRecordStatus, VoiceOperationsRecordTaskSummary, VoiceOperationsRecordTranscriptTurn, VoiceOperationsRecordTool } from './operationsRecord';
|
|
121
|
-
export type { VoiceObservabilityExportArtifact, VoiceObservabilityExportArtifactChecksum, VoiceObservabilityExportArtifactFreshness, VoiceObservabilityExportArtifactIndex, VoiceObservabilityExportArtifactIndexItem, VoiceObservabilityExportArtifactKind, VoiceObservabilityExportDeliverySummary, VoiceObservabilityExportDeliveryDestination, VoiceObservabilityExportDeliveryDestinationResult, VoiceObservabilityExportDeliveryHistory, VoiceObservabilityExportDeliveryOptions, VoiceObservabilityExportDeliveryReceipt, VoiceObservabilityExportDeliveryReceiptStore, VoiceObservabilityExportDeliveryReport, VoiceObservabilityExportEnvelope, VoiceObservabilityExportIssue, VoiceObservabilityExportIssueCode, VoiceObservabilityExportOptions, VoiceObservabilityExportIngestedRecordKind, VoiceObservabilityExportRedactionSummary, VoiceObservabilityExportRecordValidationOptions, VoiceObservabilityExportReplayIssue, VoiceObservabilityExportReplayIssueCode, VoiceObservabilityExportReplayRecords, VoiceObservabilityExportReplayReport, VoiceObservabilityExportReplaySource, VoiceObservabilityExportReport, VoiceObservabilityExportRoutesOptions, VoiceObservabilityExportSchema, VoiceObservabilityExportStatus, VoiceObservabilityExportValidationIssue, VoiceObservabilityExportValidationResult } from './observabilityExport';
|
|
121
|
+
export type { VoiceObservabilityExportArtifact, VoiceObservabilityExportArtifactChecksum, VoiceObservabilityExportArtifactFreshness, VoiceObservabilityExportArtifactIndex, VoiceObservabilityExportArtifactIndexItem, VoiceObservabilityExportArtifactKind, VoiceObservabilityExportDeliverySummary, VoiceObservabilityExportDeliveryDestination, VoiceObservabilityExportDeliveryDestinationResult, VoiceObservabilityExportDeliveryHistory, VoiceObservabilityExportDeliveryOptions, VoiceObservabilityExportDeliveryReceipt, VoiceObservabilityExportDeliveryReceiptStore, VoiceObservabilityExportDeliveryReport, VoiceObservabilityExportEnvelope, VoiceObservabilityExportIssue, VoiceObservabilityExportIssueCode, VoiceObservabilityExportOptions, VoiceObservabilityExportIngestedRecordKind, VoiceObservabilityExportRedactionSummary, VoiceObservabilityExportRecordValidationOptions, VoiceObservabilityExportReplayIssue, VoiceObservabilityExportReplayIssueCode, VoiceObservabilityExportReplayRecords, VoiceObservabilityExportReplayReport, VoiceObservabilityExportReplayRoutesOptions, VoiceObservabilityExportReplaySource, VoiceObservabilityExportReport, VoiceObservabilityExportRoutesOptions, VoiceObservabilityExportSchema, VoiceObservabilityExportStatus, VoiceObservabilityExportValidationIssue, VoiceObservabilityExportValidationResult } from './observabilityExport';
|
|
122
122
|
export type { VoiceOpsRecoveryFailedSession, VoiceOpsRecoveryInterventionSummary, VoiceOpsRecoveryIssue, VoiceOpsRecoveryIssueCode, VoiceOpsRecoveryLinks, VoiceOpsRecoveryProviderSummary, VoiceOpsRecoveryReport, VoiceOpsRecoveryReportOptions, VoiceOpsRecoveryRoutesOptions, VoiceOpsRecoveryStatus } from './opsRecovery';
|
|
123
123
|
export type { StoredVoiceIncidentBundleArtifact, VoiceIncidentBundle, VoiceIncidentBundleArtifactOptions, VoiceIncidentBundleFormat, VoiceIncidentBundleOptions, VoiceIncidentBundleRetentionOptions, VoiceIncidentBundleRetentionReport, VoiceIncidentBundleRoutesOptions, VoiceIncidentBundleStore, VoiceIncidentBundleStoreFilter, VoiceIncidentBundleSummary } from './incidentBundle';
|
|
124
124
|
export type { VoiceQualityLink, VoiceQualityMetric, VoiceQualityReport, VoiceQualityRoutesOptions, VoiceQualityStatus, VoiceQualityThresholds } from './qualityRoutes';
|
package/dist/index.js
CHANGED
|
@@ -23509,6 +23509,45 @@ var loadVoiceObservabilityExportReplaySource = async (source) => {
|
|
|
23509
23509
|
};
|
|
23510
23510
|
};
|
|
23511
23511
|
var replayVoiceObservabilityExport = async (source) => buildVoiceObservabilityExportReplayReport(await loadVoiceObservabilityExportReplaySource(source));
|
|
23512
|
+
var escapeObservabilityReplayHtml = (value) => String(value).replaceAll("&", "&").replaceAll("<", "<").replaceAll(">", ">").replaceAll('"', """).replaceAll("'", "'");
|
|
23513
|
+
var isVoiceObservabilityExportReplayReport = (value) => isRecord2(value) && isRecord2(value.summary) && isRecord2(value.records) && Array.isArray(value.issues) && typeof value.checkedAt === "number" && isStatus2(value.status);
|
|
23514
|
+
var resolveVoiceObservabilityExportReplayReport = async (input) => {
|
|
23515
|
+
const resolved = typeof input === "function" ? await input() : input;
|
|
23516
|
+
return isVoiceObservabilityExportReplayReport(resolved) ? resolved : replayVoiceObservabilityExport(resolved);
|
|
23517
|
+
};
|
|
23518
|
+
var renderVoiceObservabilityExportReplayHTML = (report, options = {}) => {
|
|
23519
|
+
const title = options.title ?? "Voice Observability Export Replay";
|
|
23520
|
+
const issues = report.issues.map((issue) => `<tr><td>${escapeObservabilityReplayHtml(issue.severity)}</td><td>${escapeObservabilityReplayHtml(issue.label)}</td><td>${escapeObservabilityReplayHtml(issue.value ?? "")}</td><td>${escapeObservabilityReplayHtml(issue.detail ?? "")}</td></tr>`).join("") || '<tr><td colspan="4">No replay issues.</td></tr>';
|
|
23521
|
+
const records = Object.entries(report.records).map(([kind, result]) => `<tr><td>${escapeObservabilityReplayHtml(kind)}</td><td>${escapeObservabilityReplayHtml(result?.ok ? "valid" : "invalid")}</td><td>${escapeObservabilityReplayHtml(result?.issues.length ?? 0)}</td><td>${escapeObservabilityReplayHtml(result?.schema ? `${result.schema.id ?? "missing"}@${result.schema.version ?? "missing"}` : "not present")}</td></tr>`).join("");
|
|
23522
|
+
return `<!doctype html><html lang="en"><head><meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" /><title>${escapeObservabilityReplayHtml(title)}</title><style>body{background:#0d1117;color:#f8fafc;font-family:ui-sans-serif,system-ui,sans-serif;margin:0}main{margin:auto;max-width:1060px;padding:32px}.hero{background:linear-gradient(135deg,rgba(34,197,94,.16),rgba(14,165,233,.12));border:1px solid #263241;border-radius:26px;margin-bottom:18px;padding:28px}.eyebrow{color:#67e8f9;font-size:.78rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}h1{font-size:clamp(2.1rem,5vw,4.2rem);line-height:.95;margin:.2rem 0 1rem}.status{border:1px solid #334155;border-radius:999px;display:inline-flex;font-weight:800;padding:8px 12px;text-transform:uppercase}.pass{color:#86efac}.warn{color:#fde68a}.fail{color:#fca5a5}.metrics{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin:18px 0}.metrics article,table,.primitive{background:#151b23;border:1px solid #263241;border-radius:18px}.metrics article,.primitive{padding:16px}.metrics span{color:#a8b0b8}.metrics strong{display:block;font-size:2rem;margin-top:.25rem}.primitive{margin:0 0 18px}.primitive p{color:#cbd5e1;line-height:1.55}table{border-collapse:collapse;margin-bottom:18px;overflow:hidden;width:100%}td,th{border-bottom:1px solid #263241;padding:12px;text-align:left}code{color:#bfdbfe}@media(max-width:760px){main{padding:20px}}</style></head><body><main><section class="hero"><p class="eyebrow">Customer-owned observability proof</p><h1>${escapeObservabilityReplayHtml(title)}</h1><p>This page reads back a delivered observability export and validates the manifest, artifact index, delivery evidence, and schema contract from storage you own.</p><p class="status ${escapeObservabilityReplayHtml(report.status)}">Status: ${escapeObservabilityReplayHtml(report.status)}</p><section class="metrics"><article><span>Artifacts</span><strong>${report.summary.artifacts}</strong></article><article><span>Delivery destinations</span><strong>${report.summary.deliveryDestinations}</strong></article><article><span>Validation issues</span><strong>${report.summary.validationIssues}</strong></article><article><span>Failed artifacts</span><strong>${report.summary.failedArtifacts}</strong></article></section></section><section class="primitive"><p class="eyebrow">Primitive</p><p><code>createVoiceObservabilityExportReplayRoutes(...)</code> gives self-hosted apps a readable replay proof and a JSON report for CI, release gates, SIEM ingestion, or customer evidence packets.</p></section><h2>Records</h2><table><thead><tr><th>Record</th><th>Status</th><th>Issues</th><th>Schema</th></tr></thead><tbody>${records}</tbody></table><h2>Issues</h2><table><thead><tr><th>Severity</th><th>Label</th><th>Value</th><th>Detail</th></tr></thead><tbody>${issues}</tbody></table><p>Checked at ${escapeObservabilityReplayHtml(new Date(report.checkedAt).toISOString())}</p></main></body></html>`;
|
|
23523
|
+
};
|
|
23524
|
+
var createVoiceObservabilityExportReplayRoutes = (options) => {
|
|
23525
|
+
const path = options.path ?? "/api/voice/observability-export/replay";
|
|
23526
|
+
const htmlPath = options.htmlPath ?? "/voice/observability-export/replay";
|
|
23527
|
+
const headers = {
|
|
23528
|
+
"cache-control": "no-store",
|
|
23529
|
+
...options.headers ?? {}
|
|
23530
|
+
};
|
|
23531
|
+
const buildReport = () => resolveVoiceObservabilityExportReplayReport(options.source);
|
|
23532
|
+
const app = new Elysia39({
|
|
23533
|
+
name: options.name ?? "absolute-voice-observability-export-replay"
|
|
23534
|
+
});
|
|
23535
|
+
app.get(path, async () => Response.json(await buildReport(), { headers }));
|
|
23536
|
+
if (htmlPath !== false) {
|
|
23537
|
+
app.get(htmlPath, async () => {
|
|
23538
|
+
const report = await buildReport();
|
|
23539
|
+
return new Response(options.render ? await options.render(report) : renderVoiceObservabilityExportReplayHTML(report, {
|
|
23540
|
+
title: options.title
|
|
23541
|
+
}), {
|
|
23542
|
+
headers: {
|
|
23543
|
+
...headers,
|
|
23544
|
+
"content-type": "text/html; charset=utf-8"
|
|
23545
|
+
}
|
|
23546
|
+
});
|
|
23547
|
+
});
|
|
23548
|
+
}
|
|
23549
|
+
return app;
|
|
23550
|
+
};
|
|
23512
23551
|
var deliverObservabilityExportToSQLite = async (input) => {
|
|
23513
23552
|
if (!input.destination.database && !input.destination.path) {
|
|
23514
23553
|
throw new Error("SQLite observability export delivery requires destination.database or destination.path.");
|
|
@@ -24618,13 +24657,13 @@ var resolveObservabilityExportDeliveryHistory = async (options, input) => {
|
|
|
24618
24657
|
}
|
|
24619
24658
|
return;
|
|
24620
24659
|
};
|
|
24621
|
-
var
|
|
24660
|
+
var isVoiceObservabilityExportReplayReport2 = (value) => typeof value.checkedAt === "number" && Array.isArray(value.issues) && typeof value.status === "string" && ("summary" in value);
|
|
24622
24661
|
var resolveObservabilityExportReplay = async (options, input) => {
|
|
24623
24662
|
if (!options.observabilityExportReplay) {
|
|
24624
24663
|
return;
|
|
24625
24664
|
}
|
|
24626
24665
|
const source = typeof options.observabilityExportReplay === "function" ? await options.observabilityExportReplay(input) : options.observabilityExportReplay;
|
|
24627
|
-
return
|
|
24666
|
+
return isVoiceObservabilityExportReplayReport2(source) ? source : replayVoiceObservabilityExport(source);
|
|
24628
24667
|
};
|
|
24629
24668
|
var summarizeTraceDeliveries = async (options) => {
|
|
24630
24669
|
if (!options.traceDeliveries) {
|
|
@@ -29052,6 +29091,7 @@ export {
|
|
|
29052
29091
|
renderVoiceOpsActionHistoryHTML,
|
|
29053
29092
|
renderVoiceOperationsRecordIncidentMarkdown,
|
|
29054
29093
|
renderVoiceOperationsRecordHTML,
|
|
29094
|
+
renderVoiceObservabilityExportReplayHTML,
|
|
29055
29095
|
renderVoiceObservabilityExportMarkdown,
|
|
29056
29096
|
renderVoiceLiveLatencyHTML,
|
|
29057
29097
|
renderVoiceLatencySLOMarkdown,
|
|
@@ -29255,6 +29295,7 @@ export {
|
|
|
29255
29295
|
createVoiceOperationsRecordRoutes,
|
|
29256
29296
|
createVoiceObservabilityExportSchema,
|
|
29257
29297
|
createVoiceObservabilityExportRoutes,
|
|
29298
|
+
createVoiceObservabilityExportReplayRoutes,
|
|
29258
29299
|
createVoiceMemoryTraceSinkDeliveryStore,
|
|
29259
29300
|
createVoiceMemoryTraceEventStore,
|
|
29260
29301
|
createVoiceMemoryStore,
|
|
@@ -301,6 +301,15 @@ export type VoiceObservabilityExportReplaySource = {
|
|
|
301
301
|
sql?: VoicePostgresClient;
|
|
302
302
|
tableName?: string;
|
|
303
303
|
};
|
|
304
|
+
export type VoiceObservabilityExportReplayRoutesOptions = {
|
|
305
|
+
headers?: HeadersInit;
|
|
306
|
+
htmlPath?: false | string;
|
|
307
|
+
name?: string;
|
|
308
|
+
path?: string;
|
|
309
|
+
render?: (report: VoiceObservabilityExportReplayReport) => string | Promise<string>;
|
|
310
|
+
source: VoiceObservabilityExportReplaySource | VoiceObservabilityExportReplayReport | (() => VoiceObservabilityExportReplaySource | VoiceObservabilityExportReplayReport | Promise<VoiceObservabilityExportReplaySource | VoiceObservabilityExportReplayReport>);
|
|
311
|
+
title?: string;
|
|
312
|
+
};
|
|
304
313
|
export type VoiceObservabilityExportDeliveryOptions = {
|
|
305
314
|
destinations: VoiceObservabilityExportDeliveryDestination[];
|
|
306
315
|
report: VoiceObservabilityExportReport;
|
|
@@ -347,6 +356,37 @@ export type VoiceObservabilityExportRoutesOptions = VoiceObservabilityExportOpti
|
|
|
347
356
|
export declare const buildVoiceObservabilityExportReplayReport: (records: VoiceObservabilityExportReplayRecords) => VoiceObservabilityExportReplayReport;
|
|
348
357
|
export declare const loadVoiceObservabilityExportReplaySource: (source: VoiceObservabilityExportReplaySource) => Promise<VoiceObservabilityExportReplayRecords>;
|
|
349
358
|
export declare const replayVoiceObservabilityExport: (source: VoiceObservabilityExportReplaySource) => Promise<VoiceObservabilityExportReplayReport>;
|
|
359
|
+
export declare const renderVoiceObservabilityExportReplayHTML: (report: VoiceObservabilityExportReplayReport, options?: {
|
|
360
|
+
title?: string;
|
|
361
|
+
}) => string;
|
|
362
|
+
export declare const createVoiceObservabilityExportReplayRoutes: (options: VoiceObservabilityExportReplayRoutesOptions) => Elysia<"", {
|
|
363
|
+
decorator: {};
|
|
364
|
+
store: {};
|
|
365
|
+
derive: {};
|
|
366
|
+
resolve: {};
|
|
367
|
+
}, {
|
|
368
|
+
typebox: {};
|
|
369
|
+
error: {};
|
|
370
|
+
}, {
|
|
371
|
+
schema: {};
|
|
372
|
+
standaloneSchema: {};
|
|
373
|
+
macro: {};
|
|
374
|
+
macroFn: {};
|
|
375
|
+
parser: {};
|
|
376
|
+
response: {};
|
|
377
|
+
}, {}, {
|
|
378
|
+
derive: {};
|
|
379
|
+
resolve: {};
|
|
380
|
+
schema: {};
|
|
381
|
+
standaloneSchema: {};
|
|
382
|
+
response: {};
|
|
383
|
+
}, {
|
|
384
|
+
derive: {};
|
|
385
|
+
resolve: {};
|
|
386
|
+
schema: {};
|
|
387
|
+
standaloneSchema: {};
|
|
388
|
+
response: {};
|
|
389
|
+
}>;
|
|
350
390
|
export declare const createVoiceMemoryObservabilityExportDeliveryReceiptStore: () => VoiceObservabilityExportDeliveryReceiptStore;
|
|
351
391
|
export declare const createVoiceFileObservabilityExportDeliveryReceiptStore: (options: {
|
|
352
392
|
directory: string;
|