@absolutejs/voice 0.0.22-beta.126 → 0.0.22-beta.128
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 +255 -26
- package/dist/agent.d.ts +5 -0
- package/dist/angular/index.d.ts +1 -1
- package/dist/angular/index.js +16 -16
- package/dist/angular/voice-ops-status.service.d.ts +12 -0
- package/dist/audit.d.ts +128 -0
- package/dist/auditDeliveryRoutes.d.ts +85 -0
- package/dist/auditExport.d.ts +34 -0
- package/dist/auditRoutes.d.ts +66 -0
- package/dist/auditSinks.d.ts +133 -0
- package/dist/client/index.d.ts +2 -2
- package/dist/client/index.js +11 -11
- package/dist/client/opsStatus.d.ts +19 -0
- package/dist/client/opsStatusWidget.d.ts +7 -7
- package/dist/dataControl.d.ts +47 -0
- package/dist/demoReadyRoutes.d.ts +98 -0
- package/dist/fileStore.d.ts +8 -2
- package/dist/index.d.ts +27 -6
- package/dist/index.js +15193 -12626
- package/dist/openaiRealtime.d.ts +27 -0
- package/dist/opsStatus.d.ts +65 -0
- package/dist/opsStatusRoutes.d.ts +33 -0
- package/dist/phoneAgent.d.ts +4 -0
- package/dist/phoneAgentProductionSmoke.d.ts +115 -0
- package/dist/postgresStore.d.ts +8 -2
- package/dist/productionReadiness.d.ts +82 -0
- package/dist/react/index.d.ts +1 -1
- package/dist/react/index.js +16 -16
- package/dist/react/useVoiceOpsStatus.d.ts +8 -0
- package/dist/sqliteStore.d.ts +8 -2
- package/dist/svelte/createVoiceOpsStatus.d.ts +2 -2
- package/dist/svelte/index.d.ts +0 -1
- package/dist/svelte/index.js +72 -75
- package/dist/telephony/twilio.d.ts +3 -2
- package/dist/testing/index.js +74 -21
- package/dist/traceDeliveryRoutes.d.ts +86 -0
- package/dist/types.d.ts +6 -2
- package/dist/vue/index.d.ts +1 -1
- package/dist/vue/index.js +15 -15
- package/dist/vue/useVoiceOpsStatus.d.ts +9 -0
- package/package.json +1 -1
- package/dist/angular/voice-app-kit-status.service.d.ts +0 -12
- package/dist/appKit.d.ts +0 -100
- package/dist/client/appKitStatus.d.ts +0 -19
- package/dist/react/useVoiceAppKitStatus.d.ts +0 -8
- package/dist/svelte/createVoiceAppKitStatus.d.ts +0 -8
- package/dist/vue/useVoiceAppKitStatus.d.ts +0 -9
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { RealtimeAdapter } from './types';
|
|
2
|
+
export type OpenAIRealtimeModel = 'gpt-realtime' | 'gpt-realtime-mini' | 'gpt-4o-realtime-preview' | 'gpt-4o-mini-realtime-preview' | (string & {});
|
|
3
|
+
export type OpenAIRealtimeVoice = 'alloy' | 'ash' | 'ballad' | 'cedar' | 'coral' | 'echo' | 'marin' | 'sage' | 'shimmer' | 'verse' | {
|
|
4
|
+
id: string;
|
|
5
|
+
} | (string & {});
|
|
6
|
+
export type OpenAIRealtimeTranscriptionModel = 'gpt-4o-mini-transcribe' | 'gpt-4o-transcribe' | 'whisper-1' | (string & {});
|
|
7
|
+
export type OpenAIRealtimeNoiseReduction = 'near_field' | 'far_field';
|
|
8
|
+
export type OpenAIRealtimeResponseMode = 'audio' | 'text';
|
|
9
|
+
export type OpenAIRealtimeAdapterOptions = {
|
|
10
|
+
apiKey: string;
|
|
11
|
+
autoCommitSilenceMs?: number;
|
|
12
|
+
baseUrl?: string;
|
|
13
|
+
emitResponseTranscripts?: boolean;
|
|
14
|
+
inputTranscriptionLanguage?: string;
|
|
15
|
+
inputTranscriptionModel?: OpenAIRealtimeTranscriptionModel | null;
|
|
16
|
+
inputTranscriptionPrompt?: string;
|
|
17
|
+
instructions?: string;
|
|
18
|
+
maxOutputTokens?: number | 'inf';
|
|
19
|
+
model?: OpenAIRealtimeModel;
|
|
20
|
+
noiseReduction?: OpenAIRealtimeNoiseReduction;
|
|
21
|
+
responseMode?: OpenAIRealtimeResponseMode;
|
|
22
|
+
speed?: number;
|
|
23
|
+
temperature?: number;
|
|
24
|
+
voice?: OpenAIRealtimeVoice;
|
|
25
|
+
webSocket?: typeof WebSocket;
|
|
26
|
+
};
|
|
27
|
+
export declare const createOpenAIRealtimeAdapter: (options: OpenAIRealtimeAdapterOptions) => RealtimeAdapter;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { type VoiceEvalLink, type VoiceEvalRoutesOptions } from './evalRoutes';
|
|
2
|
+
import { type VoiceQualityRoutesOptions } from './qualityRoutes';
|
|
3
|
+
import { type VoiceTraceEventStore } from './trace';
|
|
4
|
+
export type VoiceOpsStatus = 'pass' | 'fail';
|
|
5
|
+
export type VoiceOpsStatusLink = VoiceEvalLink & {
|
|
6
|
+
description?: string;
|
|
7
|
+
statusHref?: string;
|
|
8
|
+
};
|
|
9
|
+
export type VoiceOpsStatusOptions<TProvider extends string = string> = {
|
|
10
|
+
evals?: false | Partial<VoiceEvalRoutesOptions>;
|
|
11
|
+
include?: {
|
|
12
|
+
handoffs?: boolean;
|
|
13
|
+
providers?: boolean;
|
|
14
|
+
quality?: boolean;
|
|
15
|
+
sessions?: boolean;
|
|
16
|
+
workflows?: boolean;
|
|
17
|
+
};
|
|
18
|
+
links?: VoiceOpsStatusLink[];
|
|
19
|
+
llmProviders?: readonly TProvider[];
|
|
20
|
+
preferFixtureWorkflows?: boolean;
|
|
21
|
+
quality?: false | Partial<VoiceQualityRoutesOptions>;
|
|
22
|
+
store: VoiceTraceEventStore;
|
|
23
|
+
sttProviders?: readonly string[];
|
|
24
|
+
ttsProviders?: readonly string[];
|
|
25
|
+
};
|
|
26
|
+
export type VoiceOpsStatusReport = {
|
|
27
|
+
checkedAt: number;
|
|
28
|
+
failed: number;
|
|
29
|
+
links: VoiceOpsStatusLink[];
|
|
30
|
+
passed: number;
|
|
31
|
+
status: VoiceOpsStatus;
|
|
32
|
+
surfaces: {
|
|
33
|
+
handoffs?: {
|
|
34
|
+
failed: number;
|
|
35
|
+
status: VoiceOpsStatus;
|
|
36
|
+
total: number;
|
|
37
|
+
};
|
|
38
|
+
providers?: {
|
|
39
|
+
degraded: number;
|
|
40
|
+
status: VoiceOpsStatus;
|
|
41
|
+
total: number;
|
|
42
|
+
};
|
|
43
|
+
quality?: {
|
|
44
|
+
status: VoiceOpsStatus;
|
|
45
|
+
};
|
|
46
|
+
sessions?: {
|
|
47
|
+
failed: number;
|
|
48
|
+
status: VoiceOpsStatus;
|
|
49
|
+
total: number;
|
|
50
|
+
};
|
|
51
|
+
workflows?: {
|
|
52
|
+
failed: number;
|
|
53
|
+
source: 'fixtures' | 'live';
|
|
54
|
+
status: VoiceOpsStatus;
|
|
55
|
+
total: number;
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
total: number;
|
|
59
|
+
};
|
|
60
|
+
export type VoiceOpsStatusRoutesOptions<TProvider extends string = string> = VoiceOpsStatusOptions<TProvider> & {
|
|
61
|
+
headers?: HeadersInit;
|
|
62
|
+
name?: string;
|
|
63
|
+
path?: string;
|
|
64
|
+
};
|
|
65
|
+
export declare const summarizeVoiceOpsStatus: <TProvider extends string = string>(options: VoiceOpsStatusOptions<TProvider>) => Promise<VoiceOpsStatusReport>;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Elysia } from 'elysia';
|
|
2
|
+
import { type VoiceOpsStatusReport, type VoiceOpsStatusRoutesOptions } from './opsStatus';
|
|
3
|
+
export declare const renderVoiceOpsStatusHTML: (report: VoiceOpsStatusReport, options?: {
|
|
4
|
+
title?: string;
|
|
5
|
+
}) => string;
|
|
6
|
+
export declare const createVoiceOpsStatusRoutes: (options: VoiceOpsStatusRoutesOptions) => Elysia<"", {
|
|
7
|
+
decorator: {};
|
|
8
|
+
store: {};
|
|
9
|
+
derive: {};
|
|
10
|
+
resolve: {};
|
|
11
|
+
}, {
|
|
12
|
+
typebox: {};
|
|
13
|
+
error: {};
|
|
14
|
+
}, {
|
|
15
|
+
schema: {};
|
|
16
|
+
standaloneSchema: {};
|
|
17
|
+
macro: {};
|
|
18
|
+
macroFn: {};
|
|
19
|
+
parser: {};
|
|
20
|
+
response: {};
|
|
21
|
+
}, {}, {
|
|
22
|
+
derive: {};
|
|
23
|
+
resolve: {};
|
|
24
|
+
schema: {};
|
|
25
|
+
standaloneSchema: {};
|
|
26
|
+
response: {};
|
|
27
|
+
}, {
|
|
28
|
+
derive: {};
|
|
29
|
+
resolve: {};
|
|
30
|
+
schema: {};
|
|
31
|
+
standaloneSchema: {};
|
|
32
|
+
response: {};
|
|
33
|
+
}>;
|
package/dist/phoneAgent.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { type PlivoVoiceRoutesOptions } from './telephony/plivo';
|
|
|
3
3
|
import { type TelnyxVoiceRoutesOptions } from './telephony/telnyx';
|
|
4
4
|
import { type TwilioVoiceRoutesOptions } from './telephony/twilio';
|
|
5
5
|
import { type VoiceTelephonyCarrierMatrix, type VoiceTelephonyCarrierMatrixRoutesOptions } from './telephony/matrix';
|
|
6
|
+
import { type VoicePhoneAgentProductionSmokeRoutesOptions } from './phoneAgentProductionSmoke';
|
|
6
7
|
import type { VoiceSessionRecord } from './types';
|
|
7
8
|
export type VoicePhoneAgentLifecycleStage = 'ringing' | 'answered' | 'media-started' | 'transcript' | 'assistant-response' | 'transfer' | 'voicemail' | 'no-answer' | 'completed' | 'failed';
|
|
8
9
|
type VoicePhoneAgentCarrierBase = {
|
|
@@ -27,6 +28,7 @@ export type VoicePhoneAgentRoutesOptions<TContext = unknown, TSession extends Vo
|
|
|
27
28
|
carriers: readonly VoicePhoneAgentCarrier<TContext, TSession, TResult>[];
|
|
28
29
|
matrix?: false | Omit<VoiceTelephonyCarrierMatrixRoutesOptions, 'load'>;
|
|
29
30
|
name?: string;
|
|
31
|
+
productionSmoke?: false | VoicePhoneAgentProductionSmokeRoutesOptions;
|
|
30
32
|
setup?: false | {
|
|
31
33
|
path?: string;
|
|
32
34
|
title?: string;
|
|
@@ -41,6 +43,7 @@ export type VoicePhoneAgentCarrierSummary = {
|
|
|
41
43
|
export type VoicePhoneAgentRoutes = {
|
|
42
44
|
carriers: VoicePhoneAgentCarrierSummary[];
|
|
43
45
|
matrixPath?: string;
|
|
46
|
+
productionSmokePath?: string;
|
|
44
47
|
routes: Elysia;
|
|
45
48
|
setupPath?: string;
|
|
46
49
|
};
|
|
@@ -50,6 +53,7 @@ export type VoicePhoneAgentSetupReport = {
|
|
|
50
53
|
lifecycleStages: VoicePhoneAgentLifecycleStage[];
|
|
51
54
|
matrix?: VoiceTelephonyCarrierMatrix;
|
|
52
55
|
matrixPath?: string;
|
|
56
|
+
productionSmokePath?: string;
|
|
53
57
|
ready: boolean;
|
|
54
58
|
setupPath?: string;
|
|
55
59
|
title: string;
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { Elysia } from 'elysia';
|
|
2
|
+
import type { StoredVoiceTraceEvent, VoiceTraceEventStore } from './trace';
|
|
3
|
+
import type { VoiceTelephonyContractReport, VoiceTelephonyProvider } from './telephony/contract';
|
|
4
|
+
export type VoicePhoneAgentProductionSmokeRequirement = 'assistant-response' | 'carrier-contract' | 'fresh-trace' | 'lifecycle-outcome' | 'media-started' | 'no-session-error' | 'transcript';
|
|
5
|
+
export type VoicePhoneAgentProductionSmokeIssue = {
|
|
6
|
+
message: string;
|
|
7
|
+
requirement: VoicePhoneAgentProductionSmokeRequirement;
|
|
8
|
+
severity: 'error' | 'warning';
|
|
9
|
+
};
|
|
10
|
+
export type VoicePhoneAgentProductionSmokeReport<TProvider extends VoiceTelephonyProvider = VoiceTelephonyProvider> = {
|
|
11
|
+
contract?: VoiceTelephonyContractReport<TProvider>;
|
|
12
|
+
contractId: string;
|
|
13
|
+
generatedAt: number;
|
|
14
|
+
issues: VoicePhoneAgentProductionSmokeIssue[];
|
|
15
|
+
maxAgeMs?: number;
|
|
16
|
+
observed: {
|
|
17
|
+
assistantResponses: number;
|
|
18
|
+
carrierContract?: boolean;
|
|
19
|
+
lifecycleOutcomes: string[];
|
|
20
|
+
latestEventAt?: number;
|
|
21
|
+
mediaStarts: number;
|
|
22
|
+
sessionErrors: number;
|
|
23
|
+
transcripts: number;
|
|
24
|
+
};
|
|
25
|
+
pass: boolean;
|
|
26
|
+
provider?: TProvider;
|
|
27
|
+
required: VoicePhoneAgentProductionSmokeRequirement[];
|
|
28
|
+
scenarioId?: string;
|
|
29
|
+
sessionId?: string;
|
|
30
|
+
traceId?: string;
|
|
31
|
+
};
|
|
32
|
+
export type VoicePhoneAgentProductionSmokeOptions<TProvider extends VoiceTelephonyProvider = VoiceTelephonyProvider> = {
|
|
33
|
+
contract?: VoiceTelephonyContractReport<TProvider>;
|
|
34
|
+
contractId?: string;
|
|
35
|
+
events?: readonly StoredVoiceTraceEvent[];
|
|
36
|
+
maxAgeMs?: number;
|
|
37
|
+
now?: number;
|
|
38
|
+
provider?: TProvider;
|
|
39
|
+
required?: readonly VoicePhoneAgentProductionSmokeRequirement[];
|
|
40
|
+
scenarioId?: string;
|
|
41
|
+
sessionId?: string;
|
|
42
|
+
store?: VoiceTraceEventStore;
|
|
43
|
+
traceId?: string;
|
|
44
|
+
};
|
|
45
|
+
export type VoicePhoneAgentProductionSmokeHandlerOptions<TProvider extends VoiceTelephonyProvider = VoiceTelephonyProvider> = Omit<VoicePhoneAgentProductionSmokeOptions<TProvider>, 'events' | 'scenarioId' | 'sessionId' | 'traceId'> & {
|
|
46
|
+
getContract?: (input: {
|
|
47
|
+
query: Record<string, unknown>;
|
|
48
|
+
request: Request;
|
|
49
|
+
}) => Promise<VoiceTelephonyContractReport<TProvider> | undefined> | VoiceTelephonyContractReport<TProvider> | undefined;
|
|
50
|
+
scenarioId?: string;
|
|
51
|
+
sessionId?: string;
|
|
52
|
+
traceId?: string;
|
|
53
|
+
};
|
|
54
|
+
export type VoicePhoneAgentProductionSmokeHTMLHandlerOptions<TProvider extends VoiceTelephonyProvider = VoiceTelephonyProvider> = VoicePhoneAgentProductionSmokeHandlerOptions<TProvider> & {
|
|
55
|
+
headers?: HeadersInit;
|
|
56
|
+
render?: (report: VoicePhoneAgentProductionSmokeReport<TProvider>) => Promise<string> | string;
|
|
57
|
+
title?: string;
|
|
58
|
+
};
|
|
59
|
+
export type VoicePhoneAgentProductionSmokeRoutesOptions<TProvider extends VoiceTelephonyProvider = VoiceTelephonyProvider> = VoicePhoneAgentProductionSmokeHTMLHandlerOptions<TProvider> & {
|
|
60
|
+
htmlPath?: false | string;
|
|
61
|
+
name?: string;
|
|
62
|
+
path?: string;
|
|
63
|
+
};
|
|
64
|
+
export declare const runVoicePhoneAgentProductionSmokeContract: <TProvider extends VoiceTelephonyProvider = VoiceTelephonyProvider>(options: VoicePhoneAgentProductionSmokeOptions<TProvider>) => Promise<VoicePhoneAgentProductionSmokeReport<TProvider>>;
|
|
65
|
+
export declare const renderVoicePhoneAgentProductionSmokeHTML: <TProvider extends VoiceTelephonyProvider = VoiceTelephonyProvider>(report: VoicePhoneAgentProductionSmokeReport<TProvider>, options?: {
|
|
66
|
+
title?: string;
|
|
67
|
+
}) => string;
|
|
68
|
+
export declare const createVoicePhoneAgentProductionSmokeJSONHandler: <TProvider extends VoiceTelephonyProvider = VoiceTelephonyProvider>(options: VoicePhoneAgentProductionSmokeHandlerOptions<TProvider>) => ({ query, request }: {
|
|
69
|
+
query: Record<string, unknown>;
|
|
70
|
+
request: Request;
|
|
71
|
+
}) => Promise<VoicePhoneAgentProductionSmokeReport<TProvider>>;
|
|
72
|
+
export declare const createVoicePhoneAgentProductionSmokeHTMLHandler: <TProvider extends VoiceTelephonyProvider = VoiceTelephonyProvider>(options: VoicePhoneAgentProductionSmokeHTMLHandlerOptions<TProvider>) => ({ query, request }: {
|
|
73
|
+
query: Record<string, unknown>;
|
|
74
|
+
request: Request;
|
|
75
|
+
}) => Promise<Response>;
|
|
76
|
+
export declare const createVoicePhoneAgentProductionSmokeRoutes: <TProvider extends VoiceTelephonyProvider = VoiceTelephonyProvider>(options: VoicePhoneAgentProductionSmokeRoutesOptions<TProvider>) => Elysia<"", {
|
|
77
|
+
decorator: {};
|
|
78
|
+
store: {};
|
|
79
|
+
derive: {};
|
|
80
|
+
resolve: {};
|
|
81
|
+
}, {
|
|
82
|
+
typebox: {};
|
|
83
|
+
error: {};
|
|
84
|
+
}, {
|
|
85
|
+
schema: {};
|
|
86
|
+
standaloneSchema: {};
|
|
87
|
+
macro: {};
|
|
88
|
+
macroFn: {};
|
|
89
|
+
parser: {};
|
|
90
|
+
response: {};
|
|
91
|
+
}, {
|
|
92
|
+
[x: string]: {
|
|
93
|
+
get: {
|
|
94
|
+
body: unknown;
|
|
95
|
+
params: {};
|
|
96
|
+
query: unknown;
|
|
97
|
+
headers: unknown;
|
|
98
|
+
response: {
|
|
99
|
+
200: VoicePhoneAgentProductionSmokeReport<TProvider>;
|
|
100
|
+
};
|
|
101
|
+
};
|
|
102
|
+
};
|
|
103
|
+
}, {
|
|
104
|
+
derive: {};
|
|
105
|
+
resolve: {};
|
|
106
|
+
schema: {};
|
|
107
|
+
standaloneSchema: {};
|
|
108
|
+
response: {};
|
|
109
|
+
}, {
|
|
110
|
+
derive: {};
|
|
111
|
+
resolve: {};
|
|
112
|
+
schema: {};
|
|
113
|
+
standaloneSchema: {};
|
|
114
|
+
response: {};
|
|
115
|
+
}>;
|
package/dist/postgresStore.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { type StoredVoiceTraceEvent, type VoiceTraceSinkDeliveryRecord, type VoiceTraceSinkDeliveryStore, type VoiceTraceEventStore } from './trace';
|
|
2
|
+
import { type StoredVoiceAuditEvent, type VoiceAuditEventStore } from './audit';
|
|
3
|
+
import type { VoiceAuditSinkDeliveryRecord, VoiceAuditSinkDeliveryStore } from './auditSinks';
|
|
2
4
|
import type { StoredVoiceIntegrationEvent, StoredVoiceExternalObjectMap, StoredVoiceOpsTask, VoiceExternalObjectMapStore, VoiceIntegrationEventStore, VoiceOpsTaskStore } from './ops';
|
|
3
5
|
import type { StoredVoiceCallReviewArtifact, VoiceCallReviewStore } from './testing/review';
|
|
4
6
|
import type { VoiceTelephonyWebhookIdempotencyStore } from './telephonyOutcome';
|
|
@@ -14,7 +16,9 @@ export type VoicePostgresStoreOptions = {
|
|
|
14
16
|
tableName?: string;
|
|
15
17
|
tablePrefix?: string;
|
|
16
18
|
};
|
|
17
|
-
export type VoicePostgresRuntimeStorage<TSession extends VoiceSessionRecord = VoiceSessionRecord, TReview extends StoredVoiceCallReviewArtifact = StoredVoiceCallReviewArtifact, TTask extends StoredVoiceOpsTask = StoredVoiceOpsTask, TEvent extends StoredVoiceIntegrationEvent = StoredVoiceIntegrationEvent, TMapping extends StoredVoiceExternalObjectMap = StoredVoiceExternalObjectMap, TTrace extends StoredVoiceTraceEvent = StoredVoiceTraceEvent, TTraceDelivery extends VoiceTraceSinkDeliveryRecord = VoiceTraceSinkDeliveryRecord> = {
|
|
19
|
+
export type VoicePostgresRuntimeStorage<TSession extends VoiceSessionRecord = VoiceSessionRecord, TReview extends StoredVoiceCallReviewArtifact = StoredVoiceCallReviewArtifact, TTask extends StoredVoiceOpsTask = StoredVoiceOpsTask, TEvent extends StoredVoiceIntegrationEvent = StoredVoiceIntegrationEvent, TMapping extends StoredVoiceExternalObjectMap = StoredVoiceExternalObjectMap, TTrace extends StoredVoiceTraceEvent = StoredVoiceTraceEvent, TTraceDelivery extends VoiceTraceSinkDeliveryRecord = VoiceTraceSinkDeliveryRecord, TAudit extends StoredVoiceAuditEvent = StoredVoiceAuditEvent, TAuditDelivery extends VoiceAuditSinkDeliveryRecord = VoiceAuditSinkDeliveryRecord> = {
|
|
20
|
+
audit: VoiceAuditEventStore<TAudit>;
|
|
21
|
+
auditDeliveries: VoiceAuditSinkDeliveryStore<TAuditDelivery>;
|
|
18
22
|
campaigns: VoiceCampaignStore;
|
|
19
23
|
events: VoiceIntegrationEventStore<TEvent>;
|
|
20
24
|
externalObjects: VoiceExternalObjectMapStore<TMapping>;
|
|
@@ -31,6 +35,8 @@ export declare const createVoicePostgresIntegrationEventStore: <TEvent extends S
|
|
|
31
35
|
export declare const createVoicePostgresExternalObjectMapStore: <TMapping extends StoredVoiceExternalObjectMap = StoredVoiceExternalObjectMap>(options: VoicePostgresStoreOptions) => VoiceExternalObjectMapStore<TMapping>;
|
|
32
36
|
export declare const createVoicePostgresTraceEventStore: <TEvent extends StoredVoiceTraceEvent = StoredVoiceTraceEvent>(options: VoicePostgresStoreOptions) => VoiceTraceEventStore<TEvent>;
|
|
33
37
|
export declare const createVoicePostgresTraceSinkDeliveryStore: <TDelivery extends VoiceTraceSinkDeliveryRecord = VoiceTraceSinkDeliveryRecord>(options: VoicePostgresStoreOptions) => VoiceTraceSinkDeliveryStore<TDelivery>;
|
|
38
|
+
export declare const createVoicePostgresAuditEventStore: <TEvent extends StoredVoiceAuditEvent = StoredVoiceAuditEvent>(options: VoicePostgresStoreOptions) => VoiceAuditEventStore<TEvent>;
|
|
39
|
+
export declare const createVoicePostgresAuditSinkDeliveryStore: <TDelivery extends VoiceAuditSinkDeliveryRecord = VoiceAuditSinkDeliveryRecord>(options: VoicePostgresStoreOptions) => VoiceAuditSinkDeliveryStore<TDelivery>;
|
|
34
40
|
export declare const createVoicePostgresTelephonyWebhookIdempotencyStore: <TResult = unknown>(options: VoicePostgresStoreOptions) => VoiceTelephonyWebhookIdempotencyStore<TResult>;
|
|
35
41
|
export declare const createVoicePostgresCampaignStore: (options: VoicePostgresStoreOptions) => VoiceCampaignStore;
|
|
36
|
-
export declare const createVoicePostgresRuntimeStorage: <TSession extends VoiceSessionRecord = VoiceSessionRecord, TReview extends StoredVoiceCallReviewArtifact = StoredVoiceCallReviewArtifact, TTask extends StoredVoiceOpsTask = StoredVoiceOpsTask, TEvent extends StoredVoiceIntegrationEvent = StoredVoiceIntegrationEvent, TMapping extends StoredVoiceExternalObjectMap = StoredVoiceExternalObjectMap, TTrace extends StoredVoiceTraceEvent = StoredVoiceTraceEvent, TTraceDelivery extends VoiceTraceSinkDeliveryRecord = VoiceTraceSinkDeliveryRecord>(options: VoicePostgresStoreOptions) => VoicePostgresRuntimeStorage<TSession, TReview, TTask, TEvent, TMapping, TTrace, TTraceDelivery>;
|
|
42
|
+
export declare const createVoicePostgresRuntimeStorage: <TSession extends VoiceSessionRecord = VoiceSessionRecord, TReview extends StoredVoiceCallReviewArtifact = StoredVoiceCallReviewArtifact, TTask extends StoredVoiceOpsTask = StoredVoiceOpsTask, TEvent extends StoredVoiceIntegrationEvent = StoredVoiceIntegrationEvent, TMapping extends StoredVoiceExternalObjectMap = StoredVoiceExternalObjectMap, TTrace extends StoredVoiceTraceEvent = StoredVoiceTraceEvent, TTraceDelivery extends VoiceTraceSinkDeliveryRecord = VoiceTraceSinkDeliveryRecord, TAudit extends StoredVoiceAuditEvent = StoredVoiceAuditEvent, TAuditDelivery extends VoiceAuditSinkDeliveryRecord = VoiceAuditSinkDeliveryRecord>(options: VoicePostgresStoreOptions) => VoicePostgresRuntimeStorage<TSession, TReview, TTask, TEvent, TMapping, TTrace, TTraceDelivery, TAudit, TAuditDelivery>;
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import { Elysia } from 'elysia';
|
|
2
2
|
import { type VoiceTelephonyCarrierMatrixInput } from './telephony/matrix';
|
|
3
3
|
import type { VoiceTraceEventStore } from './trace';
|
|
4
|
+
import type { VoiceTraceSinkDeliveryStore } from './trace';
|
|
4
5
|
import type { VoiceAgentSquadContractReport } from './agentSquadContract';
|
|
5
6
|
import type { VoiceProviderRoutingContractReport } from './providerRoutingContract';
|
|
7
|
+
import type { VoicePhoneAgentProductionSmokeReport } from './phoneAgentProductionSmoke';
|
|
8
|
+
import type { VoiceAuditEventStore, VoiceAuditEventType, VoiceAuditOutcome } from './audit';
|
|
9
|
+
import { type VoiceAuditSinkDeliveryStore } from './auditSinks';
|
|
6
10
|
export type VoiceProductionReadinessStatus = 'fail' | 'pass' | 'warn';
|
|
7
11
|
export type VoiceProductionReadinessAction = {
|
|
8
12
|
description?: string;
|
|
@@ -23,14 +27,18 @@ export type VoiceProductionReadinessReport = {
|
|
|
23
27
|
checks: VoiceProductionReadinessCheck[];
|
|
24
28
|
links: {
|
|
25
29
|
agentSquadContracts?: string;
|
|
30
|
+
audit?: string;
|
|
31
|
+
auditDeliveries?: string;
|
|
26
32
|
carriers?: string;
|
|
27
33
|
handoffs?: string;
|
|
28
34
|
handoffRetry?: string;
|
|
29
35
|
liveLatency?: string;
|
|
36
|
+
phoneAgentSmoke?: string;
|
|
30
37
|
providerRoutingContracts?: string;
|
|
31
38
|
quality?: string;
|
|
32
39
|
resilience?: string;
|
|
33
40
|
sessions?: string;
|
|
41
|
+
traceDeliveries?: string;
|
|
34
42
|
};
|
|
35
43
|
status: VoiceProductionReadinessStatus;
|
|
36
44
|
summary: {
|
|
@@ -40,6 +48,8 @@ export type VoiceProductionReadinessReport = {
|
|
|
40
48
|
status: VoiceProductionReadinessStatus;
|
|
41
49
|
total: number;
|
|
42
50
|
};
|
|
51
|
+
audit?: VoiceProductionReadinessAuditSummary;
|
|
52
|
+
auditDeliveries?: VoiceProductionReadinessAuditDeliverySummary;
|
|
43
53
|
carriers?: {
|
|
44
54
|
failing: number;
|
|
45
55
|
providers: number;
|
|
@@ -62,6 +72,12 @@ export type VoiceProductionReadinessReport = {
|
|
|
62
72
|
degraded: number;
|
|
63
73
|
total: number;
|
|
64
74
|
};
|
|
75
|
+
phoneAgentSmokes?: {
|
|
76
|
+
failed: number;
|
|
77
|
+
passed: number;
|
|
78
|
+
status: VoiceProductionReadinessStatus;
|
|
79
|
+
total: number;
|
|
80
|
+
};
|
|
65
81
|
providerRoutingContracts?: {
|
|
66
82
|
failed: number;
|
|
67
83
|
passed: number;
|
|
@@ -79,13 +95,74 @@ export type VoiceProductionReadinessReport = {
|
|
|
79
95
|
failed: number;
|
|
80
96
|
total: number;
|
|
81
97
|
};
|
|
98
|
+
traceDeliveries?: VoiceProductionReadinessTraceDeliverySummary;
|
|
82
99
|
};
|
|
83
100
|
};
|
|
101
|
+
export type VoiceProductionReadinessAuditRequirement = {
|
|
102
|
+
label?: string;
|
|
103
|
+
maxAgeMs?: number;
|
|
104
|
+
outcomes?: VoiceAuditOutcome[];
|
|
105
|
+
status?: VoiceProductionReadinessStatus;
|
|
106
|
+
type: VoiceAuditEventType;
|
|
107
|
+
};
|
|
108
|
+
export type VoiceProductionReadinessAuditSummary = {
|
|
109
|
+
events: number;
|
|
110
|
+
missing: VoiceProductionReadinessAuditRequirement[];
|
|
111
|
+
present: Record<VoiceAuditEventType, number>;
|
|
112
|
+
required: VoiceProductionReadinessAuditRequirement[];
|
|
113
|
+
status: VoiceProductionReadinessStatus;
|
|
114
|
+
};
|
|
115
|
+
export type VoiceProductionReadinessAuditDeliverySummary = {
|
|
116
|
+
deadLettered: number;
|
|
117
|
+
delivered: number;
|
|
118
|
+
failed: number;
|
|
119
|
+
failPendingAfterMs: number;
|
|
120
|
+
pending: number;
|
|
121
|
+
retryEligible: number;
|
|
122
|
+
skipped: number;
|
|
123
|
+
staleFailing: number;
|
|
124
|
+
staleWarning: number;
|
|
125
|
+
status: VoiceProductionReadinessStatus;
|
|
126
|
+
total: number;
|
|
127
|
+
warnPendingAfterMs: number;
|
|
128
|
+
};
|
|
129
|
+
export type VoiceProductionReadinessTraceDeliverySummary = {
|
|
130
|
+
deadLettered: number;
|
|
131
|
+
delivered: number;
|
|
132
|
+
failed: number;
|
|
133
|
+
failPendingAfterMs: number;
|
|
134
|
+
pending: number;
|
|
135
|
+
retryEligible: number;
|
|
136
|
+
skipped: number;
|
|
137
|
+
staleFailing: number;
|
|
138
|
+
staleWarning: number;
|
|
139
|
+
status: VoiceProductionReadinessStatus;
|
|
140
|
+
total: number;
|
|
141
|
+
warnPendingAfterMs: number;
|
|
142
|
+
};
|
|
143
|
+
export type VoiceProductionReadinessAuditOptions = VoiceAuditEventStore | {
|
|
144
|
+
require?: readonly (VoiceAuditEventType | VoiceProductionReadinessAuditRequirement)[];
|
|
145
|
+
store: VoiceAuditEventStore;
|
|
146
|
+
};
|
|
147
|
+
export type VoiceProductionReadinessAuditDeliveryOptions = VoiceAuditSinkDeliveryStore | {
|
|
148
|
+
deadLetters?: VoiceAuditSinkDeliveryStore;
|
|
149
|
+
failPendingAfterMs?: number;
|
|
150
|
+
store: VoiceAuditSinkDeliveryStore;
|
|
151
|
+
warnPendingAfterMs?: number;
|
|
152
|
+
};
|
|
153
|
+
export type VoiceProductionReadinessTraceDeliveryOptions = VoiceTraceSinkDeliveryStore | {
|
|
154
|
+
deadLetters?: VoiceTraceSinkDeliveryStore;
|
|
155
|
+
failPendingAfterMs?: number;
|
|
156
|
+
store: VoiceTraceSinkDeliveryStore;
|
|
157
|
+
warnPendingAfterMs?: number;
|
|
158
|
+
};
|
|
84
159
|
export type VoiceProductionReadinessRoutesOptions = {
|
|
85
160
|
agentSquadContracts?: false | readonly VoiceAgentSquadContractReport[] | ((input: {
|
|
86
161
|
query: Record<string, unknown>;
|
|
87
162
|
request: Request;
|
|
88
163
|
}) => Promise<readonly VoiceAgentSquadContractReport[]> | readonly VoiceAgentSquadContractReport[]);
|
|
164
|
+
audit?: false | VoiceProductionReadinessAuditOptions;
|
|
165
|
+
auditDeliveries?: false | VoiceProductionReadinessAuditDeliveryOptions;
|
|
89
166
|
carriers?: false | readonly VoiceTelephonyCarrierMatrixInput[] | ((input: {
|
|
90
167
|
query: Record<string, unknown>;
|
|
91
168
|
request: Request;
|
|
@@ -96,6 +173,10 @@ export type VoiceProductionReadinessRoutesOptions = {
|
|
|
96
173
|
llmProviders?: readonly string[];
|
|
97
174
|
name?: string;
|
|
98
175
|
path?: string;
|
|
176
|
+
phoneAgentSmokes?: false | readonly VoicePhoneAgentProductionSmokeReport[] | ((input: {
|
|
177
|
+
query: Record<string, unknown>;
|
|
178
|
+
request: Request;
|
|
179
|
+
}) => Promise<readonly VoicePhoneAgentProductionSmokeReport[]> | readonly VoicePhoneAgentProductionSmokeReport[]);
|
|
99
180
|
providerRoutingContracts?: false | readonly VoiceProviderRoutingContractReport[] | ((input: {
|
|
100
181
|
query: Record<string, unknown>;
|
|
101
182
|
request: Request;
|
|
@@ -104,6 +185,7 @@ export type VoiceProductionReadinessRoutesOptions = {
|
|
|
104
185
|
store: VoiceTraceEventStore;
|
|
105
186
|
sttProviders?: readonly string[];
|
|
106
187
|
title?: string;
|
|
188
|
+
traceDeliveries?: false | VoiceProductionReadinessTraceDeliveryOptions;
|
|
107
189
|
ttsProviders?: readonly string[];
|
|
108
190
|
liveLatencyWarnAfterMs?: number;
|
|
109
191
|
liveLatencyFailAfterMs?: number;
|
package/dist/react/index.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export { VoiceRoutingStatus } from './VoiceRoutingStatus';
|
|
|
6
6
|
export { VoiceTraceTimeline } from './VoiceTraceTimeline';
|
|
7
7
|
export { VoiceTurnLatency } from './VoiceTurnLatency';
|
|
8
8
|
export { VoiceTurnQuality } from './VoiceTurnQuality';
|
|
9
|
-
export {
|
|
9
|
+
export { useVoiceOpsStatus } from './useVoiceOpsStatus';
|
|
10
10
|
export { useVoiceCampaignDialerProof } from './useVoiceCampaignDialerProof';
|
|
11
11
|
export { useVoiceStream } from './useVoiceStream';
|
|
12
12
|
export { useVoiceController } from './useVoiceController';
|
package/dist/react/index.js
CHANGED
|
@@ -69,19 +69,19 @@ var __decorateElement = (array, flags, name, decorators, target, extra) => {
|
|
|
69
69
|
return k || __decoratorMetadata(array, target), desc && __defProp(target, name, desc), p ? k ^ 4 ? extra : desc : target;
|
|
70
70
|
};
|
|
71
71
|
|
|
72
|
-
// src/react/
|
|
72
|
+
// src/react/useVoiceOpsStatus.tsx
|
|
73
73
|
import { useEffect, useRef, useSyncExternalStore } from "react";
|
|
74
74
|
|
|
75
|
-
// src/client/
|
|
76
|
-
var
|
|
75
|
+
// src/client/opsStatus.ts
|
|
76
|
+
var fetchVoiceOpsStatus = async (path = "/api/voice/ops-status", options = {}) => {
|
|
77
77
|
const fetchImpl = options.fetch ?? globalThis.fetch;
|
|
78
78
|
const response = await fetchImpl(path);
|
|
79
79
|
if (!response.ok) {
|
|
80
|
-
throw new Error(`Voice
|
|
80
|
+
throw new Error(`Voice ops status failed: HTTP ${response.status}`);
|
|
81
81
|
}
|
|
82
82
|
return await response.json();
|
|
83
83
|
};
|
|
84
|
-
var
|
|
84
|
+
var createVoiceOpsStatusStore = (path = "/api/voice/ops-status", options = {}) => {
|
|
85
85
|
const listeners = new Set;
|
|
86
86
|
let closed = false;
|
|
87
87
|
let timer;
|
|
@@ -105,7 +105,7 @@ var createVoiceAppKitStatusStore = (path = "/app-kit/status", options = {}) => {
|
|
|
105
105
|
};
|
|
106
106
|
emit();
|
|
107
107
|
try {
|
|
108
|
-
const report = await
|
|
108
|
+
const report = await fetchVoiceOpsStatus(path, options);
|
|
109
109
|
snapshot = {
|
|
110
110
|
error: null,
|
|
111
111
|
isLoading: false,
|
|
@@ -151,11 +151,11 @@ var createVoiceAppKitStatusStore = (path = "/app-kit/status", options = {}) => {
|
|
|
151
151
|
};
|
|
152
152
|
};
|
|
153
153
|
|
|
154
|
-
// src/react/
|
|
155
|
-
var
|
|
154
|
+
// src/react/useVoiceOpsStatus.tsx
|
|
155
|
+
var useVoiceOpsStatus = (path = "/api/voice/ops-status", options = {}) => {
|
|
156
156
|
const storeRef = useRef(null);
|
|
157
157
|
if (!storeRef.current) {
|
|
158
|
-
storeRef.current =
|
|
158
|
+
storeRef.current = createVoiceOpsStatusStore(path, options);
|
|
159
159
|
}
|
|
160
160
|
const store = storeRef.current;
|
|
161
161
|
useEffect(() => {
|
|
@@ -170,7 +170,7 @@ var useVoiceAppKitStatus = (path = "/app-kit/status", options = {}) => {
|
|
|
170
170
|
|
|
171
171
|
// src/client/opsStatusWidget.ts
|
|
172
172
|
var DEFAULT_TITLE = "Voice Ops Status";
|
|
173
|
-
var DEFAULT_DESCRIPTION = "Certified workflow, provider, and handoff readiness from
|
|
173
|
+
var DEFAULT_DESCRIPTION = "Certified workflow, provider, and handoff readiness from your AbsoluteJS voice app.";
|
|
174
174
|
var SURFACE_LABELS = {
|
|
175
175
|
handoffs: "Handoffs",
|
|
176
176
|
providers: "Providers",
|
|
@@ -255,8 +255,8 @@ var renderVoiceOpsStatusHTML = (snapshot, options = {}) => {
|
|
|
255
255
|
</section>`;
|
|
256
256
|
};
|
|
257
257
|
var getVoiceOpsStatusCSS = () => `.absolute-voice-ops-status{border:1px solid #d8d2c4;border-radius:20px;background:#fffaf0;color:#16130d;padding:18px;box-shadow:0 18px 40px rgba(47,37,18,.12);font-family:inherit}.absolute-voice-ops-status--fail,.absolute-voice-ops-status--error{border-color:#f2a7a7;background:#fff5f3}.absolute-voice-ops-status__header{align-items:start;display:flex;gap:12px;justify-content:space-between}.absolute-voice-ops-status__eyebrow{color:#73664f;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.absolute-voice-ops-status__label{font-size:28px;line-height:1}.absolute-voice-ops-status__description{color:#514733;margin:12px 0 0}.absolute-voice-ops-status__summary,.absolute-voice-ops-status__links{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.absolute-voice-ops-status__summary span,.absolute-voice-ops-status__links a{border:1px solid #e6ddca;border-radius:999px;color:inherit;padding:6px 10px;text-decoration:none}.absolute-voice-ops-status__surfaces{display:grid;gap:8px;list-style:none;margin:16px 0 0;padding:0}.absolute-voice-ops-status__surface{align-items:center;background:#fff;border:1px solid #eee4d2;border-radius:14px;display:flex;gap:12px;justify-content:space-between;padding:10px 12px}.absolute-voice-ops-status__surface--fail{border-color:#f2a7a7}.absolute-voice-ops-status__surface span{color:#655944}.absolute-voice-ops-status__error{color:#9f1239;font-weight:700}`;
|
|
258
|
-
var mountVoiceOpsStatus = (element, path = "/
|
|
259
|
-
const store =
|
|
258
|
+
var mountVoiceOpsStatus = (element, path = "/api/voice/ops-status", options = {}) => {
|
|
259
|
+
const store = createVoiceOpsStatusStore(path, options);
|
|
260
260
|
const render = () => {
|
|
261
261
|
element.innerHTML = renderVoiceOpsStatusHTML(store.getSnapshot(), options);
|
|
262
262
|
};
|
|
@@ -279,7 +279,7 @@ var defineVoiceOpsStatusElement = (tagName = "absolute-voice-ops-status") => {
|
|
|
279
279
|
mounted;
|
|
280
280
|
connectedCallback() {
|
|
281
281
|
const intervalMs = Number(this.getAttribute("interval-ms") ?? 5000);
|
|
282
|
-
this.mounted = mountVoiceOpsStatus(this, this.getAttribute("path") ?? "/
|
|
282
|
+
this.mounted = mountVoiceOpsStatus(this, this.getAttribute("path") ?? "/api/voice/ops-status", {
|
|
283
283
|
description: this.getAttribute("description") ?? undefined,
|
|
284
284
|
includeLinks: this.getAttribute("include-links") !== "false",
|
|
285
285
|
intervalMs: Number.isFinite(intervalMs) ? intervalMs : 5000,
|
|
@@ -297,10 +297,10 @@ var defineVoiceOpsStatusElement = (tagName = "absolute-voice-ops-status") => {
|
|
|
297
297
|
import { jsxDEV } from "react/jsx-dev-runtime";
|
|
298
298
|
var VoiceOpsStatus = ({
|
|
299
299
|
className,
|
|
300
|
-
path = "/
|
|
300
|
+
path = "/api/voice/ops-status",
|
|
301
301
|
...options
|
|
302
302
|
}) => {
|
|
303
|
-
const snapshot =
|
|
303
|
+
const snapshot = useVoiceOpsStatus(path, options);
|
|
304
304
|
const model = createVoiceOpsStatusViewModel(snapshot, options);
|
|
305
305
|
return /* @__PURE__ */ jsxDEV("section", {
|
|
306
306
|
className: [
|
|
@@ -3820,9 +3820,9 @@ export {
|
|
|
3820
3820
|
useVoiceProviderStatus,
|
|
3821
3821
|
useVoiceProviderSimulationControls,
|
|
3822
3822
|
useVoiceProviderCapabilities,
|
|
3823
|
+
useVoiceOpsStatus,
|
|
3823
3824
|
useVoiceController,
|
|
3824
3825
|
useVoiceCampaignDialerProof,
|
|
3825
|
-
useVoiceAppKitStatus,
|
|
3826
3826
|
VoiceTurnQuality,
|
|
3827
3827
|
VoiceTurnLatency,
|
|
3828
3828
|
VoiceTraceTimeline,
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type VoiceOpsStatusClientOptions } from '../client/opsStatus';
|
|
2
|
+
export declare const useVoiceOpsStatus: (path?: string, options?: VoiceOpsStatusClientOptions) => {
|
|
3
|
+
refresh: () => Promise<import("..").VoiceOpsStatusReport | undefined>;
|
|
4
|
+
error: string | null;
|
|
5
|
+
isLoading: boolean;
|
|
6
|
+
report?: import("..").VoiceOpsStatusReport;
|
|
7
|
+
updatedAt?: number;
|
|
8
|
+
};
|
package/dist/sqliteStore.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { type StoredVoiceTraceEvent, type VoiceTraceSinkDeliveryRecord, type VoiceTraceSinkDeliveryStore, type VoiceTraceEventStore } from './trace';
|
|
2
|
+
import { type StoredVoiceAuditEvent, type VoiceAuditEventStore } from './audit';
|
|
3
|
+
import type { VoiceAuditSinkDeliveryRecord, VoiceAuditSinkDeliveryStore } from './auditSinks';
|
|
2
4
|
import type { StoredVoiceIntegrationEvent, StoredVoiceExternalObjectMap, StoredVoiceOpsTask, VoiceExternalObjectMapStore, VoiceIntegrationEventStore, VoiceOpsTaskStore } from './ops';
|
|
3
5
|
import type { StoredVoiceCallReviewArtifact, VoiceCallReviewStore } from './testing/review';
|
|
4
6
|
import type { VoiceTelephonyWebhookIdempotencyStore } from './telephonyOutcome';
|
|
@@ -9,7 +11,9 @@ export type VoiceSQLiteStoreOptions = {
|
|
|
9
11
|
tableName?: string;
|
|
10
12
|
tablePrefix?: string;
|
|
11
13
|
};
|
|
12
|
-
export type VoiceSQLiteRuntimeStorage<TSession extends VoiceSessionRecord = VoiceSessionRecord, TReview extends StoredVoiceCallReviewArtifact = StoredVoiceCallReviewArtifact, TTask extends StoredVoiceOpsTask = StoredVoiceOpsTask, TEvent extends StoredVoiceIntegrationEvent = StoredVoiceIntegrationEvent, TMapping extends StoredVoiceExternalObjectMap = StoredVoiceExternalObjectMap, TTrace extends StoredVoiceTraceEvent = StoredVoiceTraceEvent, TTraceDelivery extends VoiceTraceSinkDeliveryRecord = VoiceTraceSinkDeliveryRecord> = {
|
|
14
|
+
export type VoiceSQLiteRuntimeStorage<TSession extends VoiceSessionRecord = VoiceSessionRecord, TReview extends StoredVoiceCallReviewArtifact = StoredVoiceCallReviewArtifact, TTask extends StoredVoiceOpsTask = StoredVoiceOpsTask, TEvent extends StoredVoiceIntegrationEvent = StoredVoiceIntegrationEvent, TMapping extends StoredVoiceExternalObjectMap = StoredVoiceExternalObjectMap, TTrace extends StoredVoiceTraceEvent = StoredVoiceTraceEvent, TTraceDelivery extends VoiceTraceSinkDeliveryRecord = VoiceTraceSinkDeliveryRecord, TAudit extends StoredVoiceAuditEvent = StoredVoiceAuditEvent, TAuditDelivery extends VoiceAuditSinkDeliveryRecord = VoiceAuditSinkDeliveryRecord> = {
|
|
15
|
+
audit: VoiceAuditEventStore<TAudit>;
|
|
16
|
+
auditDeliveries: VoiceAuditSinkDeliveryStore<TAuditDelivery>;
|
|
13
17
|
campaigns: VoiceCampaignStore;
|
|
14
18
|
events: VoiceIntegrationEventStore<TEvent>;
|
|
15
19
|
externalObjects: VoiceExternalObjectMapStore<TMapping>;
|
|
@@ -26,6 +30,8 @@ export declare const createVoiceSQLiteIntegrationEventStore: <TEvent extends Sto
|
|
|
26
30
|
export declare const createVoiceSQLiteExternalObjectMapStore: <TMapping extends StoredVoiceExternalObjectMap = StoredVoiceExternalObjectMap>(options: VoiceSQLiteStoreOptions) => VoiceExternalObjectMapStore<TMapping>;
|
|
27
31
|
export declare const createVoiceSQLiteTraceEventStore: <TEvent extends StoredVoiceTraceEvent = StoredVoiceTraceEvent>(options: VoiceSQLiteStoreOptions) => VoiceTraceEventStore<TEvent>;
|
|
28
32
|
export declare const createVoiceSQLiteTraceSinkDeliveryStore: <TDelivery extends VoiceTraceSinkDeliveryRecord = VoiceTraceSinkDeliveryRecord>(options: VoiceSQLiteStoreOptions) => VoiceTraceSinkDeliveryStore<TDelivery>;
|
|
33
|
+
export declare const createVoiceSQLiteAuditEventStore: <TEvent extends StoredVoiceAuditEvent = StoredVoiceAuditEvent>(options: VoiceSQLiteStoreOptions) => VoiceAuditEventStore<TEvent>;
|
|
34
|
+
export declare const createVoiceSQLiteAuditSinkDeliveryStore: <TDelivery extends VoiceAuditSinkDeliveryRecord = VoiceAuditSinkDeliveryRecord>(options: VoiceSQLiteStoreOptions) => VoiceAuditSinkDeliveryStore<TDelivery>;
|
|
29
35
|
export declare const createVoiceSQLiteTelephonyWebhookIdempotencyStore: <TResult = unknown>(options: VoiceSQLiteStoreOptions) => VoiceTelephonyWebhookIdempotencyStore<TResult>;
|
|
30
36
|
export declare const createVoiceSQLiteCampaignStore: (options: VoiceSQLiteStoreOptions) => VoiceCampaignStore;
|
|
31
|
-
export declare const createVoiceSQLiteRuntimeStorage: <TSession extends VoiceSessionRecord = VoiceSessionRecord, TReview extends StoredVoiceCallReviewArtifact = StoredVoiceCallReviewArtifact, TTask extends StoredVoiceOpsTask = StoredVoiceOpsTask, TEvent extends StoredVoiceIntegrationEvent = StoredVoiceIntegrationEvent, TMapping extends StoredVoiceExternalObjectMap = StoredVoiceExternalObjectMap, TTrace extends StoredVoiceTraceEvent = StoredVoiceTraceEvent, TTraceDelivery extends VoiceTraceSinkDeliveryRecord = VoiceTraceSinkDeliveryRecord>(options: VoiceSQLiteStoreOptions) => VoiceSQLiteRuntimeStorage<TSession, TReview, TTask, TEvent, TMapping, TTrace, TTraceDelivery>;
|
|
37
|
+
export declare const createVoiceSQLiteRuntimeStorage: <TSession extends VoiceSessionRecord = VoiceSessionRecord, TReview extends StoredVoiceCallReviewArtifact = StoredVoiceCallReviewArtifact, TTask extends StoredVoiceOpsTask = StoredVoiceOpsTask, TEvent extends StoredVoiceIntegrationEvent = StoredVoiceIntegrationEvent, TMapping extends StoredVoiceExternalObjectMap = StoredVoiceExternalObjectMap, TTrace extends StoredVoiceTraceEvent = StoredVoiceTraceEvent, TTraceDelivery extends VoiceTraceSinkDeliveryRecord = VoiceTraceSinkDeliveryRecord, TAudit extends StoredVoiceAuditEvent = StoredVoiceAuditEvent, TAuditDelivery extends VoiceAuditSinkDeliveryRecord = VoiceAuditSinkDeliveryRecord>(options: VoiceSQLiteStoreOptions) => VoiceSQLiteRuntimeStorage<TSession, TReview, TTask, TEvent, TMapping, TTrace, TTraceDelivery, TAudit, TAuditDelivery>;
|
|
@@ -2,8 +2,8 @@ import { type VoiceOpsStatusWidgetOptions } from '../client/opsStatusWidget';
|
|
|
2
2
|
export declare const createVoiceOpsStatus: (path?: string, options?: VoiceOpsStatusWidgetOptions) => {
|
|
3
3
|
close: () => void;
|
|
4
4
|
getHTML: () => string;
|
|
5
|
-
getSnapshot: () => import("../client").
|
|
5
|
+
getSnapshot: () => import("../client").VoiceOpsStatusSnapshot;
|
|
6
6
|
getViewModel: () => import("../client").VoiceOpsStatusViewModel;
|
|
7
|
-
refresh: () => Promise<import("..").
|
|
7
|
+
refresh: () => Promise<import("..").VoiceOpsStatusReport | undefined>;
|
|
8
8
|
subscribe: (listener: () => void) => () => void;
|
|
9
9
|
};
|
package/dist/svelte/index.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export { createVoiceAppKitStatus } from './createVoiceAppKitStatus';
|
|
2
1
|
export { createVoiceCampaignDialerProof } from './createVoiceCampaignDialerProof';
|
|
3
2
|
export { createVoiceOpsStatus } from './createVoiceOpsStatus';
|
|
4
3
|
export { createVoiceProviderSimulationControls } from './createVoiceProviderSimulationControls';
|