@absolutejs/voice 0.0.22-beta.279 → 0.0.22-beta.280
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 +75 -0
- package/dist/voiceMonitoring.d.ts +117 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -53,7 +53,7 @@ export { assertVoiceProviderRoutingContractEvidence, assertVoiceProviderRoutingC
|
|
|
53
53
|
export { assertVoiceProviderSloEvidence, buildVoiceProviderSloReport, createVoiceProviderSloRoutes, evaluateVoiceProviderSloEvidence, renderVoiceProviderSloHTML, renderVoiceProviderSloMarkdown } from './providerSlo';
|
|
54
54
|
export { createVoicePhoneAgentProductionSmokeHTMLHandler, createVoicePhoneAgentProductionSmokeJSONHandler, createVoicePhoneAgentProductionSmokeRoutes, renderVoicePhoneAgentProductionSmokeHTML, runVoicePhoneAgentProductionSmokeContract } from './phoneAgentProductionSmoke';
|
|
55
55
|
export { assertVoiceProductionReadinessEvidence, buildVoiceProductionReadinessGate, buildVoiceProductionReadinessReport, createVoiceProductionReadinessRoutes, evaluateVoiceProductionReadinessEvidence, renderVoiceProductionReadinessHTML, summarizeVoiceProductionReadinessGate } from './productionReadiness';
|
|
56
|
-
export { acknowledgeVoiceMonitorIssue, buildVoiceMonitorRunReport, createVoiceMemoryMonitorIssueStore, createVoiceMemoryMonitorNotifierDeliveryReceiptStore, createVoiceMonitorRoutes, createVoiceMonitorWebhookNotifier, deliverVoiceMonitorIssueNotifications, muteVoiceMonitorIssue, renderVoiceMonitorHTML, renderVoiceMonitorMarkdown, resolveVoiceMonitorIssue } from './voiceMonitoring';
|
|
56
|
+
export { acknowledgeVoiceMonitorIssue, buildVoiceMonitorRunReport, createVoiceMemoryMonitorIssueStore, createVoiceMemoryMonitorNotifierDeliveryReceiptStore, createVoiceMonitorRoutes, createVoiceMonitorRunner, createVoiceMonitorRunnerRoutes, createVoiceMonitorWebhookNotifier, deliverVoiceMonitorIssueNotifications, muteVoiceMonitorIssue, renderVoiceMonitorHTML, renderVoiceMonitorMarkdown, resolveVoiceMonitorIssue } from './voiceMonitoring';
|
|
57
57
|
export { createVoiceReadinessProfile, recommendVoiceReadinessProfile } from './readinessProfiles';
|
|
58
58
|
export { assertVoiceProviderContractMatrixEvidence, assertVoiceProviderStackEvidence, buildVoiceProviderContractMatrix, createVoiceProviderContractMatrixHTMLHandler, createVoiceProviderContractMatrixJSONHandler, createVoiceProviderContractMatrixPreset, createVoiceProviderContractMatrixRoutes, evaluateVoiceProviderContractMatrixEvidence, evaluateVoiceProviderStackEvidence, evaluateVoiceProviderStackGaps, renderVoiceProviderContractMatrixHTML, recommendVoiceProviderStack } from './providerStackRecommendations';
|
|
59
59
|
export { buildVoiceOpsConsoleReport, createVoiceOpsConsoleRoutes, renderVoiceOpsConsoleHTML } from './opsConsoleRoutes';
|
|
@@ -122,7 +122,7 @@ export type { VoicePhoneAgentProductionSmokeIssue, VoicePhoneAgentProductionSmok
|
|
|
122
122
|
export type { VoiceOpsConsoleLink, VoiceOpsConsoleReport, VoiceOpsConsoleRoutesOptions } from './opsConsoleRoutes';
|
|
123
123
|
export type { VoiceOpsStatus, VoiceOpsStatusLink, VoiceOpsStatusOptions, VoiceOpsStatusReport, VoiceOpsStatusRoutesOptions } from './opsStatus';
|
|
124
124
|
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';
|
|
125
|
-
export type { VoiceMonitorDefinition, VoiceMonitorEvaluation, VoiceMonitorEvaluationInput, VoiceMonitorIssue, VoiceMonitorIssueStatus, VoiceMonitorIssueStore, VoiceMonitorNotifier, VoiceMonitorNotifierDeliveryInput, VoiceMonitorNotifierDeliveryOptions, VoiceMonitorNotifierDeliveryReceipt, VoiceMonitorNotifierDeliveryReceiptStore, VoiceMonitorNotifierDeliveryReport, VoiceMonitorNotifierDeliveryResult, VoiceMonitorRoutesOptions, VoiceMonitorRun, VoiceMonitorRunOptions, VoiceMonitorRunReport, VoiceMonitorSeverity, VoiceMonitorStatus, VoiceMonitorWebhookNotifierOptions } from './voiceMonitoring';
|
|
125
|
+
export type { VoiceMonitorDefinition, VoiceMonitorEvaluation, VoiceMonitorEvaluationInput, VoiceMonitorIssue, VoiceMonitorIssueStatus, VoiceMonitorIssueStore, VoiceMonitorNotifier, VoiceMonitorNotifierDeliveryInput, VoiceMonitorNotifierDeliveryOptions, VoiceMonitorNotifierDeliveryReceipt, VoiceMonitorNotifierDeliveryReceiptStore, VoiceMonitorNotifierDeliveryReport, VoiceMonitorNotifierDeliveryResult, VoiceMonitorRoutesOptions, VoiceMonitorRun, VoiceMonitorRunOptions, VoiceMonitorRunReport, VoiceMonitorRunner, VoiceMonitorRunnerOptions, VoiceMonitorRunnerRoutesOptions, VoiceMonitorRunnerTickResult, VoiceMonitorSeverity, VoiceMonitorStatus, VoiceMonitorWebhookNotifierOptions } from './voiceMonitoring';
|
|
126
126
|
export type { VoiceReadinessProfileName, VoiceReadinessProfileOptions, VoiceReadinessProfileRecommendation, VoiceReadinessProfileRecommendationScore, VoiceReadinessProfileRoutesOptions } from './readinessProfiles';
|
|
127
127
|
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';
|
|
128
128
|
export type { VoiceOperationsRecord, VoiceOperationsRecordAgentHandoff, VoiceOperationsRecordAuditSummary, VoiceOperationsRecordGuardrailAssertionInput, VoiceOperationsRecordGuardrailAssertionReport, VoiceOperationsRecordGuardrailDecision, VoiceOperationsRecordGuardrailFinding, VoiceOperationsRecordGuardrailSummary, VoiceOperationsRecordIntegrationEventSummary, VoiceOperationsRecordOptions, VoiceOperationsRecordOutcome, VoiceOperationsRecordProviderDecision, VoiceOperationsRecordReviewSummary, VoiceOperationsRecordRoutesOptions, VoiceOperationsRecordStatus, VoiceOperationsRecordTaskSummary, VoiceOperationsRecordTranscriptTurn, VoiceOperationsRecordTool } from './operationsRecord';
|
package/dist/index.js
CHANGED
|
@@ -28746,6 +28746,61 @@ var deliverVoiceMonitorIssueNotifications = async (options) => {
|
|
|
28746
28746
|
}
|
|
28747
28747
|
};
|
|
28748
28748
|
};
|
|
28749
|
+
var createVoiceMonitorRunner = (options) => {
|
|
28750
|
+
const issueStore = options.issueStore ?? createVoiceMemoryMonitorIssueStore();
|
|
28751
|
+
const receiptStore = options.receiptStore ?? createVoiceMemoryMonitorNotifierDeliveryReceiptStore();
|
|
28752
|
+
const pollIntervalMs = options.pollIntervalMs ?? 60000;
|
|
28753
|
+
let timer;
|
|
28754
|
+
const loadEvidence = async () => {
|
|
28755
|
+
if (options.loadEvidence) {
|
|
28756
|
+
return options.loadEvidence();
|
|
28757
|
+
}
|
|
28758
|
+
if (options.evidence !== undefined) {
|
|
28759
|
+
return options.evidence;
|
|
28760
|
+
}
|
|
28761
|
+
throw new Error("createVoiceMonitorRunner requires evidence or loadEvidence.");
|
|
28762
|
+
};
|
|
28763
|
+
const tick = async () => {
|
|
28764
|
+
const startedAt = options.now?.() ?? Date.now();
|
|
28765
|
+
const monitoring = await buildVoiceMonitorRunReport({
|
|
28766
|
+
evidence: await loadEvidence(),
|
|
28767
|
+
issueStore,
|
|
28768
|
+
monitors: options.monitors,
|
|
28769
|
+
now: startedAt
|
|
28770
|
+
});
|
|
28771
|
+
const notifierDelivery = options.notifiers ? await deliverVoiceMonitorIssueNotifications({
|
|
28772
|
+
issueStore,
|
|
28773
|
+
notifiers: options.notifiers,
|
|
28774
|
+
now: options.now?.() ?? Date.now(),
|
|
28775
|
+
receiptStore
|
|
28776
|
+
}) : undefined;
|
|
28777
|
+
return {
|
|
28778
|
+
completedAt: options.now?.() ?? Date.now(),
|
|
28779
|
+
monitoring,
|
|
28780
|
+
notifierDelivery,
|
|
28781
|
+
startedAt
|
|
28782
|
+
};
|
|
28783
|
+
};
|
|
28784
|
+
return {
|
|
28785
|
+
isRunning: () => timer !== undefined,
|
|
28786
|
+
start: () => {
|
|
28787
|
+
if (timer) {
|
|
28788
|
+
return;
|
|
28789
|
+
}
|
|
28790
|
+
timer = setInterval(() => {
|
|
28791
|
+
tick();
|
|
28792
|
+
}, pollIntervalMs);
|
|
28793
|
+
},
|
|
28794
|
+
stop: () => {
|
|
28795
|
+
if (!timer) {
|
|
28796
|
+
return;
|
|
28797
|
+
}
|
|
28798
|
+
clearInterval(timer);
|
|
28799
|
+
timer = undefined;
|
|
28800
|
+
},
|
|
28801
|
+
tick
|
|
28802
|
+
};
|
|
28803
|
+
};
|
|
28749
28804
|
var renderVoiceMonitorMarkdown = (report) => {
|
|
28750
28805
|
const rows = report.runs.map((run) => `| ${run.id} | ${run.status} | ${run.severity} | ${run.value ?? ""} | ${run.threshold ?? ""} | ${run.detail ?? ""} |`).join(`
|
|
28751
28806
|
`);
|
|
@@ -28839,6 +28894,24 @@ var createVoiceMonitorRoutes = (options) => {
|
|
|
28839
28894
|
}
|
|
28840
28895
|
return routes;
|
|
28841
28896
|
};
|
|
28897
|
+
var createVoiceMonitorRunnerRoutes = (options) => {
|
|
28898
|
+
const path = options.path ?? "/api/voice/monitor-runner";
|
|
28899
|
+
return new Elysia44({
|
|
28900
|
+
name: options.name ?? "absolutejs-voice-monitor-runner"
|
|
28901
|
+
}).get(path, () => ({
|
|
28902
|
+
isRunning: options.runner.isRunning()
|
|
28903
|
+
})).post(`${path}/tick`, async () => options.runner.tick()).post(`${path}/start`, () => {
|
|
28904
|
+
options.runner.start();
|
|
28905
|
+
return {
|
|
28906
|
+
isRunning: options.runner.isRunning()
|
|
28907
|
+
};
|
|
28908
|
+
}).post(`${path}/stop`, () => {
|
|
28909
|
+
options.runner.stop();
|
|
28910
|
+
return {
|
|
28911
|
+
isRunning: options.runner.isRunning()
|
|
28912
|
+
};
|
|
28913
|
+
});
|
|
28914
|
+
};
|
|
28842
28915
|
// src/readinessProfiles.ts
|
|
28843
28916
|
var profileSurfaceLabels = {
|
|
28844
28917
|
"meeting-recorder": {
|
|
@@ -32751,6 +32824,8 @@ export {
|
|
|
32751
32824
|
createVoiceObservabilityExportRoutes,
|
|
32752
32825
|
createVoiceObservabilityExportReplayRoutes,
|
|
32753
32826
|
createVoiceMonitorWebhookNotifier,
|
|
32827
|
+
createVoiceMonitorRunnerRoutes,
|
|
32828
|
+
createVoiceMonitorRunner,
|
|
32754
32829
|
createVoiceMonitorRoutes,
|
|
32755
32830
|
createVoiceMemoryTraceSinkDeliveryStore,
|
|
32756
32831
|
createVoiceMemoryTraceEventStore,
|
|
@@ -143,6 +143,34 @@ export type VoiceMonitorRoutesOptions<TEvidence = unknown> = VoiceMonitorRunOpti
|
|
|
143
143
|
render?: (report: VoiceMonitorRunReport) => Promise<string> | string;
|
|
144
144
|
title?: string;
|
|
145
145
|
};
|
|
146
|
+
export type VoiceMonitorRunnerTickResult = {
|
|
147
|
+
completedAt: number;
|
|
148
|
+
monitoring: VoiceMonitorRunReport;
|
|
149
|
+
notifierDelivery?: VoiceMonitorNotifierDeliveryReport;
|
|
150
|
+
startedAt: number;
|
|
151
|
+
};
|
|
152
|
+
export type VoiceMonitorRunner = {
|
|
153
|
+
isRunning: () => boolean;
|
|
154
|
+
start: () => void;
|
|
155
|
+
stop: () => void;
|
|
156
|
+
tick: () => Promise<VoiceMonitorRunnerTickResult>;
|
|
157
|
+
};
|
|
158
|
+
export type VoiceMonitorRunnerOptions<TEvidence = unknown> = {
|
|
159
|
+
evidence?: TEvidence;
|
|
160
|
+
issueStore?: VoiceMonitorIssueStore;
|
|
161
|
+
loadEvidence?: () => Promise<TEvidence> | TEvidence;
|
|
162
|
+
monitors: readonly VoiceMonitorDefinition<TEvidence>[];
|
|
163
|
+
notifiers?: readonly VoiceMonitorNotifier[];
|
|
164
|
+
now?: () => number;
|
|
165
|
+
pollIntervalMs?: number;
|
|
166
|
+
receiptStore?: VoiceMonitorNotifierDeliveryReceiptStore;
|
|
167
|
+
};
|
|
168
|
+
export type VoiceMonitorRunnerRoutesOptions = {
|
|
169
|
+
headers?: HeadersInit;
|
|
170
|
+
name?: string;
|
|
171
|
+
path?: string;
|
|
172
|
+
runner: VoiceMonitorRunner;
|
|
173
|
+
};
|
|
146
174
|
export declare const createVoiceMemoryMonitorIssueStore: (initial?: readonly VoiceMonitorIssue[]) => VoiceMonitorIssueStore;
|
|
147
175
|
export declare const createVoiceMemoryMonitorNotifierDeliveryReceiptStore: (initial?: readonly VoiceMonitorNotifierDeliveryReceipt[]) => VoiceMonitorNotifierDeliveryReceiptStore;
|
|
148
176
|
export declare const buildVoiceMonitorRunReport: <TEvidence = unknown>(options: VoiceMonitorRunOptions<TEvidence>) => Promise<VoiceMonitorRunReport>;
|
|
@@ -160,6 +188,7 @@ export declare const muteVoiceMonitorIssue: (store: VoiceMonitorIssueStore, id:
|
|
|
160
188
|
}) => Promise<VoiceMonitorIssue | undefined>;
|
|
161
189
|
export declare const createVoiceMonitorWebhookNotifier: (options: VoiceMonitorWebhookNotifierOptions) => VoiceMonitorNotifier;
|
|
162
190
|
export declare const deliverVoiceMonitorIssueNotifications: (options: VoiceMonitorNotifierDeliveryOptions) => Promise<VoiceMonitorNotifierDeliveryReport>;
|
|
191
|
+
export declare const createVoiceMonitorRunner: <TEvidence = unknown>(options: VoiceMonitorRunnerOptions<TEvidence>) => VoiceMonitorRunner;
|
|
163
192
|
export declare const renderVoiceMonitorMarkdown: (report: VoiceMonitorRunReport) => string;
|
|
164
193
|
export declare const renderVoiceMonitorHTML: (report: VoiceMonitorRunReport, options?: {
|
|
165
194
|
title?: string;
|
|
@@ -323,3 +352,91 @@ export declare const createVoiceMonitorRoutes: <TEvidence = unknown>(options: Vo
|
|
|
323
352
|
standaloneSchema: {};
|
|
324
353
|
response: {};
|
|
325
354
|
}>;
|
|
355
|
+
export declare const createVoiceMonitorRunnerRoutes: (options: VoiceMonitorRunnerRoutesOptions) => Elysia<"", {
|
|
356
|
+
decorator: {};
|
|
357
|
+
store: {};
|
|
358
|
+
derive: {};
|
|
359
|
+
resolve: {};
|
|
360
|
+
}, {
|
|
361
|
+
typebox: {};
|
|
362
|
+
error: {};
|
|
363
|
+
}, {
|
|
364
|
+
schema: {};
|
|
365
|
+
standaloneSchema: {};
|
|
366
|
+
macro: {};
|
|
367
|
+
macroFn: {};
|
|
368
|
+
parser: {};
|
|
369
|
+
response: {};
|
|
370
|
+
}, {
|
|
371
|
+
[x: string]: {
|
|
372
|
+
get: {
|
|
373
|
+
body: unknown;
|
|
374
|
+
params: {};
|
|
375
|
+
query: unknown;
|
|
376
|
+
headers: unknown;
|
|
377
|
+
response: {
|
|
378
|
+
200: {
|
|
379
|
+
isRunning: boolean;
|
|
380
|
+
};
|
|
381
|
+
};
|
|
382
|
+
};
|
|
383
|
+
};
|
|
384
|
+
} & {
|
|
385
|
+
[x: string]: {
|
|
386
|
+
tick: {
|
|
387
|
+
post: {
|
|
388
|
+
body: unknown;
|
|
389
|
+
params: {};
|
|
390
|
+
query: unknown;
|
|
391
|
+
headers: unknown;
|
|
392
|
+
response: {
|
|
393
|
+
200: VoiceMonitorRunnerTickResult;
|
|
394
|
+
};
|
|
395
|
+
};
|
|
396
|
+
};
|
|
397
|
+
};
|
|
398
|
+
} & {
|
|
399
|
+
[x: string]: {
|
|
400
|
+
start: {
|
|
401
|
+
post: {
|
|
402
|
+
body: unknown;
|
|
403
|
+
params: {};
|
|
404
|
+
query: unknown;
|
|
405
|
+
headers: unknown;
|
|
406
|
+
response: {
|
|
407
|
+
200: {
|
|
408
|
+
isRunning: boolean;
|
|
409
|
+
};
|
|
410
|
+
};
|
|
411
|
+
};
|
|
412
|
+
};
|
|
413
|
+
};
|
|
414
|
+
} & {
|
|
415
|
+
[x: string]: {
|
|
416
|
+
stop: {
|
|
417
|
+
post: {
|
|
418
|
+
body: unknown;
|
|
419
|
+
params: {};
|
|
420
|
+
query: unknown;
|
|
421
|
+
headers: unknown;
|
|
422
|
+
response: {
|
|
423
|
+
200: {
|
|
424
|
+
isRunning: boolean;
|
|
425
|
+
};
|
|
426
|
+
};
|
|
427
|
+
};
|
|
428
|
+
};
|
|
429
|
+
};
|
|
430
|
+
}, {
|
|
431
|
+
derive: {};
|
|
432
|
+
resolve: {};
|
|
433
|
+
schema: {};
|
|
434
|
+
standaloneSchema: {};
|
|
435
|
+
response: {};
|
|
436
|
+
}, {
|
|
437
|
+
derive: {};
|
|
438
|
+
resolve: {};
|
|
439
|
+
schema: {};
|
|
440
|
+
standaloneSchema: {};
|
|
441
|
+
response: {};
|
|
442
|
+
}>;
|