@absolutejs/voice 0.0.22-beta.144 → 0.0.22-beta.145
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/deliverySinkRoutes.d.ts +30 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +62 -2
- package/package.json +1 -1
|
@@ -9,6 +9,29 @@ export type VoiceDeliverySinkDescriptor = {
|
|
|
9
9
|
id: string;
|
|
10
10
|
kind: VoiceDeliverySinkKind;
|
|
11
11
|
label: string;
|
|
12
|
+
mode?: string;
|
|
13
|
+
target?: string;
|
|
14
|
+
};
|
|
15
|
+
export type VoiceDeliverySinkDescriptorInput = {
|
|
16
|
+
description?: string;
|
|
17
|
+
href?: string;
|
|
18
|
+
id?: string;
|
|
19
|
+
kind: VoiceDeliverySinkKind;
|
|
20
|
+
label?: string;
|
|
21
|
+
mode?: string;
|
|
22
|
+
target?: string;
|
|
23
|
+
};
|
|
24
|
+
export type VoiceDeliverySinkPairOptions = {
|
|
25
|
+
auditHref?: string;
|
|
26
|
+
auditId?: string;
|
|
27
|
+
auditLabel?: string;
|
|
28
|
+
description?: string;
|
|
29
|
+
kind: VoiceDeliverySinkKind;
|
|
30
|
+
mode?: string;
|
|
31
|
+
target?: string;
|
|
32
|
+
traceHref?: string;
|
|
33
|
+
traceId?: string;
|
|
34
|
+
traceLabel?: string;
|
|
12
35
|
};
|
|
13
36
|
export type VoiceDeliverySinkReport = {
|
|
14
37
|
auditDeliveries?: VoiceTraceDeliverySinkSurface<VoiceAuditSinkDeliveryQueueSummary>;
|
|
@@ -41,6 +64,13 @@ export type VoiceDeliverySinkRoutesOptions = {
|
|
|
41
64
|
store: VoiceTraceSinkDeliveryStore;
|
|
42
65
|
};
|
|
43
66
|
};
|
|
67
|
+
export declare const createVoiceDeliverySinkDescriptor: (input: VoiceDeliverySinkDescriptorInput) => VoiceDeliverySinkDescriptor;
|
|
68
|
+
export declare const createVoiceFileDeliverySink: (input?: Omit<VoiceDeliverySinkDescriptorInput, "kind">) => VoiceDeliverySinkDescriptor;
|
|
69
|
+
export declare const createVoiceWebhookDeliverySink: (input?: Omit<VoiceDeliverySinkDescriptorInput, "kind">) => VoiceDeliverySinkDescriptor;
|
|
70
|
+
export declare const createVoiceS3DeliverySink: (input?: Omit<VoiceDeliverySinkDescriptorInput, "kind">) => VoiceDeliverySinkDescriptor;
|
|
71
|
+
export declare const createVoicePostgresDeliverySink: (input?: Omit<VoiceDeliverySinkDescriptorInput, "kind">) => VoiceDeliverySinkDescriptor;
|
|
72
|
+
export declare const createVoiceSQLiteDeliverySink: (input?: Omit<VoiceDeliverySinkDescriptorInput, "kind">) => VoiceDeliverySinkDescriptor;
|
|
73
|
+
export declare const createVoiceDeliverySinkPair: (options: VoiceDeliverySinkPairOptions) => VoiceDeliverySinkDescriptor[];
|
|
44
74
|
export declare const buildVoiceDeliverySinkReport: (options: VoiceDeliverySinkRoutesOptions) => Promise<VoiceDeliverySinkReport>;
|
|
45
75
|
export declare const renderVoiceDeliverySinkHTML: (report: VoiceDeliverySinkReport, options?: {
|
|
46
76
|
title?: string;
|
package/dist/index.d.ts
CHANGED
|
@@ -12,11 +12,11 @@ export { createVoiceBargeInRoutes, renderVoiceBargeInHTML, summarizeVoiceBargeIn
|
|
|
12
12
|
export { createVoiceReconnectContractRoutes, renderVoiceReconnectContractHTML, summarizeVoiceReconnectContractSnapshots, runVoiceReconnectContract } from './reconnectContract';
|
|
13
13
|
export { buildVoiceDiagnosticsMarkdown, createVoiceDiagnosticsRoutes, resolveVoiceDiagnosticsTraceFilter } from './diagnosticsRoutes';
|
|
14
14
|
export { buildVoiceDemoReadyReport, createVoiceDemoReadyRoutes, renderVoiceDemoReadyHTML } from './demoReadyRoutes';
|
|
15
|
-
export { buildVoiceDeliverySinkReport, createVoiceDeliverySinkRoutes, renderVoiceDeliverySinkHTML } from './deliverySinkRoutes';
|
|
15
|
+
export { buildVoiceDeliverySinkReport, createVoiceDeliverySinkDescriptor, createVoiceDeliverySinkPair, createVoiceDeliverySinkRoutes, createVoiceFileDeliverySink, createVoicePostgresDeliverySink, createVoiceS3DeliverySink, createVoiceSQLiteDeliverySink, createVoiceWebhookDeliverySink, renderVoiceDeliverySinkHTML } from './deliverySinkRoutes';
|
|
16
16
|
export { applyVoiceDataRetentionPolicy, buildVoiceDataRetentionPlan } from './dataControl';
|
|
17
17
|
export type { VoiceDataRetentionPolicy, VoiceDataRetentionReport, VoiceDataRetentionScope, VoiceDataRetentionScopeReport, VoiceDataRetentionStores } from './dataControl';
|
|
18
18
|
export type { VoiceDemoReadyReport, VoiceDemoReadyRoutesOptions, VoiceDemoReadySection, VoiceDemoReadyStatus } from './demoReadyRoutes';
|
|
19
|
-
export type { VoiceDeliverySinkDescriptor, VoiceDeliverySinkKind, VoiceDeliverySinkReport, VoiceDeliverySinkRoutesOptions, VoiceTraceDeliverySinkSurface } from './deliverySinkRoutes';
|
|
19
|
+
export type { VoiceDeliverySinkDescriptor, VoiceDeliverySinkDescriptorInput, VoiceDeliverySinkKind, VoiceDeliverySinkPairOptions, VoiceDeliverySinkReport, VoiceDeliverySinkRoutesOptions, VoiceTraceDeliverySinkSurface } from './deliverySinkRoutes';
|
|
20
20
|
export { compareVoiceEvalBaseline, createVoiceFileEvalBaselineStore, createVoiceFileScenarioFixtureStore, createVoiceEvalRoutes, renderVoiceEvalBaselineHTML, renderVoiceEvalHTML, renderVoiceScenarioEvalHTML, renderVoiceScenarioFixtureEvalHTML, runVoiceScenarioEvals, runVoiceScenarioFixtureEvals, runVoiceSessionEvals } from './evalRoutes';
|
|
21
21
|
export { createVoiceSimulationSuiteRoutes, renderVoiceSimulationSuiteHTML, runVoiceSimulationSuite } from './simulationSuite';
|
|
22
22
|
export { createVoiceWorkflowContract, createVoiceWorkflowContractHandler, createVoiceWorkflowContractPreset, createVoiceWorkflowScenario, recordVoiceWorkflowContractTrace, validateVoiceWorkflowRouteResult } from './workflowContract';
|
package/dist/index.js
CHANGED
|
@@ -11348,6 +11348,56 @@ var rollupDeliverySinkStatus = (report) => {
|
|
|
11348
11348
|
];
|
|
11349
11349
|
return statuses.includes("fail") ? "fail" : statuses.includes("warn") ? "warn" : "pass";
|
|
11350
11350
|
};
|
|
11351
|
+
var deliverySinkLabel = (kind) => `${String(kind).replaceAll(/[-_]+/g, " ")} sink`;
|
|
11352
|
+
var createVoiceDeliverySinkDescriptor = (input) => ({
|
|
11353
|
+
description: input.description,
|
|
11354
|
+
href: input.href,
|
|
11355
|
+
id: input.id ?? `${input.kind}-sink`,
|
|
11356
|
+
kind: input.kind,
|
|
11357
|
+
label: input.label ?? deliverySinkLabel(input.kind),
|
|
11358
|
+
mode: input.mode,
|
|
11359
|
+
target: input.target
|
|
11360
|
+
});
|
|
11361
|
+
var createVoiceFileDeliverySink = (input = {}) => createVoiceDeliverySinkDescriptor({
|
|
11362
|
+
...input,
|
|
11363
|
+
kind: "file"
|
|
11364
|
+
});
|
|
11365
|
+
var createVoiceWebhookDeliverySink = (input = {}) => createVoiceDeliverySinkDescriptor({
|
|
11366
|
+
...input,
|
|
11367
|
+
kind: "webhook"
|
|
11368
|
+
});
|
|
11369
|
+
var createVoiceS3DeliverySink = (input = {}) => createVoiceDeliverySinkDescriptor({
|
|
11370
|
+
...input,
|
|
11371
|
+
kind: "s3"
|
|
11372
|
+
});
|
|
11373
|
+
var createVoicePostgresDeliverySink = (input = {}) => createVoiceDeliverySinkDescriptor({
|
|
11374
|
+
...input,
|
|
11375
|
+
kind: "postgres"
|
|
11376
|
+
});
|
|
11377
|
+
var createVoiceSQLiteDeliverySink = (input = {}) => createVoiceDeliverySinkDescriptor({
|
|
11378
|
+
...input,
|
|
11379
|
+
kind: "sqlite"
|
|
11380
|
+
});
|
|
11381
|
+
var createVoiceDeliverySinkPair = (options) => [
|
|
11382
|
+
createVoiceDeliverySinkDescriptor({
|
|
11383
|
+
description: options.description,
|
|
11384
|
+
href: options.auditHref,
|
|
11385
|
+
id: options.auditId ?? `${options.kind}-audit-sink`,
|
|
11386
|
+
kind: options.kind,
|
|
11387
|
+
label: options.auditLabel ?? `${deliverySinkLabel(options.kind)} audit`,
|
|
11388
|
+
mode: options.mode,
|
|
11389
|
+
target: options.target
|
|
11390
|
+
}),
|
|
11391
|
+
createVoiceDeliverySinkDescriptor({
|
|
11392
|
+
description: options.description,
|
|
11393
|
+
href: options.traceHref,
|
|
11394
|
+
id: options.traceId ?? `${options.kind}-trace-sink`,
|
|
11395
|
+
kind: options.kind,
|
|
11396
|
+
label: options.traceLabel ?? `${deliverySinkLabel(options.kind)} trace`,
|
|
11397
|
+
mode: options.mode,
|
|
11398
|
+
target: options.target
|
|
11399
|
+
})
|
|
11400
|
+
];
|
|
11351
11401
|
var buildVoiceDeliverySinkReport = async (options) => {
|
|
11352
11402
|
const [auditSummary, traceSummary] = await Promise.all([
|
|
11353
11403
|
options.auditDeliveries ? Promise.resolve(options.auditDeliveries.store.list()).then((deliveries) => summarizeVoiceAuditSinkDeliveries(deliveries)) : undefined,
|
|
@@ -11382,11 +11432,14 @@ var renderSurfaceCard = (surface) => {
|
|
|
11382
11432
|
};
|
|
11383
11433
|
var renderVoiceDeliverySinkHTML = (report, options = {}) => {
|
|
11384
11434
|
const title = options.title ?? "AbsoluteJS Voice Delivery Sinks";
|
|
11385
|
-
const sinks = report.sinks.length ? report.sinks.map((sink) => `<article><span>${escapeHtml14(sink.kind)}</span><strong style="font-size:1.5rem">${escapeHtml14(sink.label)}</strong>${sink.description ? `<p class="muted">${escapeHtml14(sink.description)}</p>` : ""}${sink.href ? `<p><a href="${escapeHtml14(sink.href)}">Open sink</a></p>` : ""}</article>`).join("") : '<article><span>Sink</span><strong style="font-size:1.5rem">Not described</strong><p class="muted">Pass sink descriptors to document your file, webhook, S3, SQLite, or Postgres targets.</p></article>';
|
|
11435
|
+
const sinks = report.sinks.length ? report.sinks.map((sink) => `<article><span>${escapeHtml14(sink.kind)}</span><strong style="font-size:1.5rem">${escapeHtml14(sink.label)}</strong>${sink.description ? `<p class="muted">${escapeHtml14(sink.description)}</p>` : ""}${sink.mode ? `<p class="muted">Mode: ${escapeHtml14(sink.mode)}</p>` : ""}${sink.target ? `<p class="muted">Target: <code>${escapeHtml14(sink.target)}</code></p>` : ""}${sink.href ? `<p><a href="${escapeHtml14(sink.href)}">Open sink</a></p>` : ""}</article>`).join("") : '<article><span>Sink</span><strong style="font-size:1.5rem">Not described</strong><p class="muted">Pass sink descriptors to document your file, webhook, S3, SQLite, or Postgres targets.</p></article>';
|
|
11386
11436
|
return `<!doctype html><html lang="en"><head><meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" /><title>${escapeHtml14(title)}</title><style>body{background:#11120d;color:#fbf7e8;font-family:ui-sans-serif,system-ui,sans-serif;margin:0}main{max-width:1120px;margin:auto;padding:32px}a{color:#fde68a;text-decoration:none}.hero{background:linear-gradient(135deg,rgba(253,230,138,.2),rgba(34,197,94,.14));border:1px solid #3a3420;border-radius:30px;margin-bottom:18px;padding:28px}.eyebrow{color:#fde68a;font-weight:900;letter-spacing:.12em;text-transform:uppercase}h1{font-size:clamp(2.4rem,6vw,4.8rem);line-height:.9;margin:.2rem 0 1rem}.status{border:1px solid #575030;border-radius:999px;display:inline-flex;font-weight:900;padding:8px 12px}.status.pass{border-color:rgba(34,197,94,.65)}.status.warn{border-color:rgba(245,158,11,.65)}.status.fail{border-color:rgba(239,68,68,.75)}.muted{color:#b8b093}.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:18px 0}article,.card{background:#191a13;border:1px solid #33311f;border-radius:22px;padding:18px}article span{color:#b8b093;display:block;font-weight:800}article strong{display:block;font-size:2.4rem;margin-top:8px}pre{background:#0c0d09;border:1px solid #33311f;border-radius:18px;color:#fef3c7;overflow:auto;padding:16px}code{color:#fef3c7}</style></head><body><main><p><a href="/production-readiness">Production readiness</a></p><section class="hero"><p class="eyebrow">Composable sink primitive</p><h1>${escapeHtml14(title)}</h1><p class="muted">Delivery queues prove audit and trace exports without owning your infrastructure. Swap file, webhook, S3, SQLite, or Postgres sinks behind the same readiness surface.</p><p class="status ${escapeHtml14(report.status)}">Overall: ${escapeHtml14(report.status.toUpperCase())}</p><p class="muted">Checked ${escapeHtml14(new Date(report.checkedAt).toLocaleString())}</p></section><section class="grid">${renderSurfaceCard(report.auditDeliveries)}${renderSurfaceCard(report.traceDeliveries)}${sinks}</section><section class="card"><h2>Primitive shape</h2><p class="muted">Mount delivery sink routes beside audit and trace delivery queues. Production readiness can consume the same stores for pass/fail evidence.</p><pre>createVoiceDeliverySinkRoutes({
|
|
11387
11437
|
auditDeliveries: { store: runtimeStorage.auditDeliveries },
|
|
11388
11438
|
traceDeliveries: { store: runtimeStorage.traceDeliveries },
|
|
11389
|
-
sinks:
|
|
11439
|
+
sinks: createVoiceDeliverySinkPair({
|
|
11440
|
+
kind: "file",
|
|
11441
|
+
target: "file://.voice-runtime/voice-demo"
|
|
11442
|
+
})
|
|
11390
11443
|
})</pre></section></main></body></html>`;
|
|
11391
11444
|
};
|
|
11392
11445
|
var createVoiceDeliverySinkRoutes = (options) => {
|
|
@@ -23062,6 +23115,7 @@ export {
|
|
|
23062
23115
|
createVoiceWebhookHandoffAdapter,
|
|
23063
23116
|
createVoiceWebhookDeliveryWorkerLoop,
|
|
23064
23117
|
createVoiceWebhookDeliveryWorker,
|
|
23118
|
+
createVoiceWebhookDeliverySink,
|
|
23065
23119
|
createVoiceTwilioRedirectHandoffAdapter,
|
|
23066
23120
|
createVoiceTwilioCampaignDialer,
|
|
23067
23121
|
createVoiceTurnQualityRoutes,
|
|
@@ -23119,10 +23173,12 @@ export {
|
|
|
23119
23173
|
createVoiceSQLiteReviewStore,
|
|
23120
23174
|
createVoiceSQLiteIntegrationEventStore,
|
|
23121
23175
|
createVoiceSQLiteExternalObjectMapStore,
|
|
23176
|
+
createVoiceSQLiteDeliverySink,
|
|
23122
23177
|
createVoiceSQLiteCampaignStore,
|
|
23123
23178
|
createVoiceSQLiteAuditSinkDeliveryStore,
|
|
23124
23179
|
createVoiceSQLiteAuditEventStore,
|
|
23125
23180
|
createVoiceS3ReviewStore,
|
|
23181
|
+
createVoiceS3DeliverySink,
|
|
23126
23182
|
createVoiceRoutingDecisionSummary,
|
|
23127
23183
|
createVoiceReviewSavedEvent,
|
|
23128
23184
|
createVoiceResilienceRoutes,
|
|
@@ -23148,6 +23204,7 @@ export {
|
|
|
23148
23204
|
createVoicePostgresReviewStore,
|
|
23149
23205
|
createVoicePostgresIntegrationEventStore,
|
|
23150
23206
|
createVoicePostgresExternalObjectMapStore,
|
|
23207
|
+
createVoicePostgresDeliverySink,
|
|
23151
23208
|
createVoicePostgresCampaignStore,
|
|
23152
23209
|
createVoicePostgresAuditSinkDeliveryStore,
|
|
23153
23210
|
createVoicePostgresAuditEventStore,
|
|
@@ -23204,6 +23261,7 @@ export {
|
|
|
23204
23261
|
createVoiceFileIntegrationEventStore,
|
|
23205
23262
|
createVoiceFileExternalObjectMapStore,
|
|
23206
23263
|
createVoiceFileEvalBaselineStore,
|
|
23264
|
+
createVoiceFileDeliverySink,
|
|
23207
23265
|
createVoiceFileCampaignStore,
|
|
23208
23266
|
createVoiceFileAuditSinkDeliveryStore,
|
|
23209
23267
|
createVoiceFileAuditEventStore,
|
|
@@ -23215,6 +23273,8 @@ export {
|
|
|
23215
23273
|
createVoiceDiagnosticsRoutes,
|
|
23216
23274
|
createVoiceDemoReadyRoutes,
|
|
23217
23275
|
createVoiceDeliverySinkRoutes,
|
|
23276
|
+
createVoiceDeliverySinkPair,
|
|
23277
|
+
createVoiceDeliverySinkDescriptor,
|
|
23218
23278
|
createVoiceCampaignWorkerLoop,
|
|
23219
23279
|
createVoiceCampaignWorker,
|
|
23220
23280
|
createVoiceCampaignTelephonyOutcomeHandler,
|