@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
package/dist/vue/index.js
CHANGED
|
@@ -72,16 +72,16 @@ var __decorateElement = (array, flags, name, decorators, target, extra) => {
|
|
|
72
72
|
// src/vue/VoiceOpsStatus.ts
|
|
73
73
|
import { defineComponent, h } from "vue";
|
|
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,
|
|
@@ -153,7 +153,7 @@ var createVoiceAppKitStatusStore = (path = "/app-kit/status", options = {}) => {
|
|
|
153
153
|
|
|
154
154
|
// src/client/opsStatusWidget.ts
|
|
155
155
|
var DEFAULT_TITLE = "Voice Ops Status";
|
|
156
|
-
var DEFAULT_DESCRIPTION = "Certified workflow, provider, and handoff readiness from
|
|
156
|
+
var DEFAULT_DESCRIPTION = "Certified workflow, provider, and handoff readiness from your AbsoluteJS voice app.";
|
|
157
157
|
var SURFACE_LABELS = {
|
|
158
158
|
handoffs: "Handoffs",
|
|
159
159
|
providers: "Providers",
|
|
@@ -238,8 +238,8 @@ var renderVoiceOpsStatusHTML = (snapshot, options = {}) => {
|
|
|
238
238
|
</section>`;
|
|
239
239
|
};
|
|
240
240
|
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}`;
|
|
241
|
-
var mountVoiceOpsStatus = (element, path = "/
|
|
242
|
-
const store =
|
|
241
|
+
var mountVoiceOpsStatus = (element, path = "/api/voice/ops-status", options = {}) => {
|
|
242
|
+
const store = createVoiceOpsStatusStore(path, options);
|
|
243
243
|
const render = () => {
|
|
244
244
|
element.innerHTML = renderVoiceOpsStatusHTML(store.getSnapshot(), options);
|
|
245
245
|
};
|
|
@@ -262,7 +262,7 @@ var defineVoiceOpsStatusElement = (tagName = "absolute-voice-ops-status") => {
|
|
|
262
262
|
mounted;
|
|
263
263
|
connectedCallback() {
|
|
264
264
|
const intervalMs = Number(this.getAttribute("interval-ms") ?? 5000);
|
|
265
|
-
this.mounted = mountVoiceOpsStatus(this, this.getAttribute("path") ?? "/
|
|
265
|
+
this.mounted = mountVoiceOpsStatus(this, this.getAttribute("path") ?? "/api/voice/ops-status", {
|
|
266
266
|
description: this.getAttribute("description") ?? undefined,
|
|
267
267
|
includeLinks: this.getAttribute("include-links") !== "false",
|
|
268
268
|
intervalMs: Number.isFinite(intervalMs) ? intervalMs : 5000,
|
|
@@ -276,10 +276,10 @@ var defineVoiceOpsStatusElement = (tagName = "absolute-voice-ops-status") => {
|
|
|
276
276
|
});
|
|
277
277
|
};
|
|
278
278
|
|
|
279
|
-
// src/vue/
|
|
279
|
+
// src/vue/useVoiceOpsStatus.ts
|
|
280
280
|
import { onUnmounted, ref, shallowRef } from "vue";
|
|
281
|
-
function
|
|
282
|
-
const store =
|
|
281
|
+
function useVoiceOpsStatus(path = "/api/voice/ops-status", options = {}) {
|
|
282
|
+
const store = createVoiceOpsStatusStore(path, options);
|
|
283
283
|
const error = ref(null);
|
|
284
284
|
const isLoading = ref(false);
|
|
285
285
|
const report = shallowRef(undefined);
|
|
@@ -320,7 +320,7 @@ var VoiceOpsStatus = defineComponent({
|
|
|
320
320
|
},
|
|
321
321
|
intervalMs: Number,
|
|
322
322
|
path: {
|
|
323
|
-
default: "/
|
|
323
|
+
default: "/api/voice/ops-status",
|
|
324
324
|
type: String
|
|
325
325
|
},
|
|
326
326
|
title: String
|
|
@@ -332,7 +332,7 @@ var VoiceOpsStatus = defineComponent({
|
|
|
332
332
|
intervalMs: props.intervalMs,
|
|
333
333
|
title: props.title
|
|
334
334
|
};
|
|
335
|
-
const status =
|
|
335
|
+
const status = useVoiceOpsStatus(props.path, options);
|
|
336
336
|
return () => {
|
|
337
337
|
const model = createVoiceOpsStatusViewModel({
|
|
338
338
|
error: status.error.value,
|
|
@@ -3754,9 +3754,9 @@ export {
|
|
|
3754
3754
|
useVoiceProviderStatus,
|
|
3755
3755
|
useVoiceProviderSimulationControls,
|
|
3756
3756
|
useVoiceProviderCapabilities,
|
|
3757
|
+
useVoiceOpsStatus,
|
|
3757
3758
|
useVoiceController,
|
|
3758
3759
|
useVoiceCampaignDialerProof,
|
|
3759
|
-
useVoiceAppKitStatus,
|
|
3760
3760
|
VoiceTurnQuality,
|
|
3761
3761
|
VoiceTurnLatency,
|
|
3762
3762
|
VoiceRoutingStatus,
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type VoiceOpsStatusClientOptions } from '../client/opsStatus';
|
|
2
|
+
import type { VoiceOpsStatusReport } from '../opsStatus';
|
|
3
|
+
export declare function useVoiceOpsStatus(path?: string, options?: VoiceOpsStatusClientOptions): {
|
|
4
|
+
error: import("vue").Ref<string | null, string | null>;
|
|
5
|
+
isLoading: import("vue").Ref<boolean, boolean>;
|
|
6
|
+
refresh: () => Promise<VoiceOpsStatusReport | undefined>;
|
|
7
|
+
report: import("vue").ShallowRef<VoiceOpsStatusReport | undefined, VoiceOpsStatusReport | undefined>;
|
|
8
|
+
updatedAt: import("vue").Ref<number | undefined, number | undefined>;
|
|
9
|
+
};
|
package/package.json
CHANGED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { type VoiceAppKitStatusClientOptions } from '../client/appKitStatus';
|
|
2
|
-
import type { VoiceAppKitStatusReport } from '../appKit';
|
|
3
|
-
export declare class VoiceAppKitStatusService {
|
|
4
|
-
connect(path?: string, options?: VoiceAppKitStatusClientOptions): {
|
|
5
|
-
close: () => void;
|
|
6
|
-
error: import("@angular/core").Signal<string | null>;
|
|
7
|
-
isLoading: import("@angular/core").Signal<boolean>;
|
|
8
|
-
refresh: () => Promise<VoiceAppKitStatusReport | undefined>;
|
|
9
|
-
report: import("@angular/core").Signal<VoiceAppKitStatusReport | undefined>;
|
|
10
|
-
updatedAt: import("@angular/core").Signal<number | undefined>;
|
|
11
|
-
};
|
|
12
|
-
}
|
package/dist/appKit.d.ts
DELETED
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import { Elysia } from 'elysia';
|
|
2
|
-
import { type VoiceAssistantHealthRoutesOptions } from './assistantHealth';
|
|
3
|
-
import { type VoiceBargeInRoutesOptions } from './bargeInRoutes';
|
|
4
|
-
import { type VoiceDiagnosticsRoutesOptions } from './diagnosticsRoutes';
|
|
5
|
-
import { type VoiceEvalRoutesOptions, type VoiceEvalLink } from './evalRoutes';
|
|
6
|
-
import { type VoiceHandoffHealthRoutesOptions } from './handoffHealth';
|
|
7
|
-
import { type VoiceOpsConsoleRoutesOptions } from './opsConsoleRoutes';
|
|
8
|
-
import { type VoiceProviderHealthRoutesOptions } from './providerHealth';
|
|
9
|
-
import { type VoiceProviderCapabilityRoutesOptions } from './providerCapabilities';
|
|
10
|
-
import { type VoiceProductionReadinessRoutesOptions } from './productionReadiness';
|
|
11
|
-
import { type VoiceQualityRoutesOptions } from './qualityRoutes';
|
|
12
|
-
import { type VoiceResilienceRoutesOptions } from './resilienceRoutes';
|
|
13
|
-
import { type VoiceSessionListRoutesOptions, type VoiceSessionReplayRoutesOptions } from './sessionReplay';
|
|
14
|
-
import { type VoiceTraceEventStore } from './trace';
|
|
15
|
-
import { type VoiceTraceTimelineRoutesOptions } from './traceTimeline';
|
|
16
|
-
export type VoiceAppKitSurface = 'assistantHealth' | 'bargeIn' | 'diagnostics' | 'evals' | 'handoffs' | 'opsConsole' | 'providerCapabilities' | 'providerHealth' | 'productionReadiness' | 'quality' | 'resilience' | 'sessionReplay' | 'sessions' | 'traceTimeline';
|
|
17
|
-
export type VoiceAppKitLink = VoiceEvalLink & {
|
|
18
|
-
description?: string;
|
|
19
|
-
statusHref?: string;
|
|
20
|
-
};
|
|
21
|
-
export type VoiceAppKitRoutesOptions<TProvider extends string = string> = {
|
|
22
|
-
appStatus?: false | VoiceAppKitStatusOptions;
|
|
23
|
-
assistantHealth?: false | Partial<VoiceAssistantHealthRoutesOptions<TProvider>>;
|
|
24
|
-
bargeIn?: false | Partial<VoiceBargeInRoutesOptions>;
|
|
25
|
-
diagnostics?: false | Partial<Omit<VoiceDiagnosticsRoutesOptions, 'store'>>;
|
|
26
|
-
evals?: false | Partial<VoiceEvalRoutesOptions>;
|
|
27
|
-
handoffs?: false | Partial<VoiceHandoffHealthRoutesOptions>;
|
|
28
|
-
headers?: HeadersInit;
|
|
29
|
-
links?: VoiceAppKitLink[];
|
|
30
|
-
llmProviders?: readonly TProvider[];
|
|
31
|
-
name?: string;
|
|
32
|
-
opsConsole?: false | Partial<VoiceOpsConsoleRoutesOptions>;
|
|
33
|
-
providerCapabilities?: false | Partial<VoiceProviderCapabilityRoutesOptions<TProvider>>;
|
|
34
|
-
providerHealth?: false | Partial<VoiceProviderHealthRoutesOptions<TProvider>>;
|
|
35
|
-
productionReadiness?: false | Partial<VoiceProductionReadinessRoutesOptions>;
|
|
36
|
-
quality?: false | Partial<VoiceQualityRoutesOptions>;
|
|
37
|
-
resilience?: false | Partial<VoiceResilienceRoutesOptions>;
|
|
38
|
-
sessionReplay?: false | Partial<VoiceSessionReplayRoutesOptions>;
|
|
39
|
-
sessions?: false | Partial<VoiceSessionListRoutesOptions>;
|
|
40
|
-
store: VoiceTraceEventStore;
|
|
41
|
-
sttProviders?: readonly string[];
|
|
42
|
-
title?: string;
|
|
43
|
-
traceTimeline?: false | Partial<VoiceTraceTimelineRoutesOptions>;
|
|
44
|
-
ttsProviders?: readonly string[];
|
|
45
|
-
};
|
|
46
|
-
export type VoiceAppKitStatus = 'pass' | 'fail';
|
|
47
|
-
export type VoiceAppKitStatusOptions = {
|
|
48
|
-
include?: {
|
|
49
|
-
handoffs?: boolean;
|
|
50
|
-
providers?: boolean;
|
|
51
|
-
quality?: boolean;
|
|
52
|
-
sessions?: boolean;
|
|
53
|
-
workflows?: boolean;
|
|
54
|
-
};
|
|
55
|
-
path?: string;
|
|
56
|
-
preferFixtureWorkflows?: boolean;
|
|
57
|
-
};
|
|
58
|
-
export type VoiceAppKitStatusReport = {
|
|
59
|
-
checkedAt: number;
|
|
60
|
-
failed: number;
|
|
61
|
-
links: VoiceAppKitLink[];
|
|
62
|
-
passed: number;
|
|
63
|
-
status: VoiceAppKitStatus;
|
|
64
|
-
surfaces: {
|
|
65
|
-
handoffs?: {
|
|
66
|
-
failed: number;
|
|
67
|
-
status: VoiceAppKitStatus;
|
|
68
|
-
total: number;
|
|
69
|
-
};
|
|
70
|
-
providers?: {
|
|
71
|
-
degraded: number;
|
|
72
|
-
status: VoiceAppKitStatus;
|
|
73
|
-
total: number;
|
|
74
|
-
};
|
|
75
|
-
quality?: {
|
|
76
|
-
status: VoiceAppKitStatus;
|
|
77
|
-
};
|
|
78
|
-
sessions?: {
|
|
79
|
-
failed: number;
|
|
80
|
-
status: VoiceAppKitStatus;
|
|
81
|
-
total: number;
|
|
82
|
-
};
|
|
83
|
-
workflows?: {
|
|
84
|
-
failed: number;
|
|
85
|
-
source: 'fixtures' | 'live';
|
|
86
|
-
status: VoiceAppKitStatus;
|
|
87
|
-
total: number;
|
|
88
|
-
};
|
|
89
|
-
};
|
|
90
|
-
total: number;
|
|
91
|
-
};
|
|
92
|
-
export type VoiceAppKitRoutes<TProvider extends string = string> = {
|
|
93
|
-
links: VoiceAppKitLink[];
|
|
94
|
-
routes: Elysia;
|
|
95
|
-
surfaces: VoiceAppKitSurface[];
|
|
96
|
-
use: Elysia['use'];
|
|
97
|
-
};
|
|
98
|
-
export declare const summarizeVoiceAppKitStatus: <TProvider extends string = string>(options: VoiceAppKitRoutesOptions<TProvider>) => Promise<VoiceAppKitStatusReport>;
|
|
99
|
-
export declare const createVoiceAppKitRoutes: <TProvider extends string = string>(options: VoiceAppKitRoutesOptions<TProvider>) => VoiceAppKitRoutes<TProvider>;
|
|
100
|
-
export declare const createVoiceAppKit: <TProvider extends string = string>(options: VoiceAppKitRoutesOptions<TProvider>) => VoiceAppKitRoutes<TProvider>;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type { VoiceAppKitStatusReport } from '../appKit';
|
|
2
|
-
export type VoiceAppKitStatusClientOptions = {
|
|
3
|
-
fetch?: typeof fetch;
|
|
4
|
-
intervalMs?: number;
|
|
5
|
-
};
|
|
6
|
-
export type VoiceAppKitStatusSnapshot = {
|
|
7
|
-
error: string | null;
|
|
8
|
-
isLoading: boolean;
|
|
9
|
-
report?: VoiceAppKitStatusReport;
|
|
10
|
-
updatedAt?: number;
|
|
11
|
-
};
|
|
12
|
-
export declare const fetchVoiceAppKitStatus: (path?: string, options?: Pick<VoiceAppKitStatusClientOptions, "fetch">) => Promise<VoiceAppKitStatusReport>;
|
|
13
|
-
export declare const createVoiceAppKitStatusStore: (path?: string, options?: VoiceAppKitStatusClientOptions) => {
|
|
14
|
-
close: () => void;
|
|
15
|
-
getServerSnapshot: () => VoiceAppKitStatusSnapshot;
|
|
16
|
-
getSnapshot: () => VoiceAppKitStatusSnapshot;
|
|
17
|
-
refresh: () => Promise<VoiceAppKitStatusReport | undefined>;
|
|
18
|
-
subscribe: (listener: () => void) => () => void;
|
|
19
|
-
};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { type VoiceAppKitStatusClientOptions } from '../client/appKitStatus';
|
|
2
|
-
export declare const useVoiceAppKitStatus: (path?: string, options?: VoiceAppKitStatusClientOptions) => {
|
|
3
|
-
refresh: () => Promise<import("..").VoiceAppKitStatusReport | undefined>;
|
|
4
|
-
error: string | null;
|
|
5
|
-
isLoading: boolean;
|
|
6
|
-
report?: import("..").VoiceAppKitStatusReport;
|
|
7
|
-
updatedAt?: number;
|
|
8
|
-
};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { VoiceAppKitStatusClientOptions } from '../client/appKitStatus';
|
|
2
|
-
export declare const createVoiceAppKitStatus: (path?: string, options?: VoiceAppKitStatusClientOptions) => {
|
|
3
|
-
close: () => void;
|
|
4
|
-
getServerSnapshot: () => import("../client").VoiceAppKitStatusSnapshot;
|
|
5
|
-
getSnapshot: () => import("../client").VoiceAppKitStatusSnapshot;
|
|
6
|
-
refresh: () => Promise<import("..").VoiceAppKitStatusReport | undefined>;
|
|
7
|
-
subscribe: (listener: () => void) => () => void;
|
|
8
|
-
};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { type VoiceAppKitStatusClientOptions } from '../client/appKitStatus';
|
|
2
|
-
import type { VoiceAppKitStatusReport } from '../appKit';
|
|
3
|
-
export declare function useVoiceAppKitStatus(path?: string, options?: VoiceAppKitStatusClientOptions): {
|
|
4
|
-
error: import("vue").Ref<string | null, string | null>;
|
|
5
|
-
isLoading: import("vue").Ref<boolean, boolean>;
|
|
6
|
-
refresh: () => Promise<VoiceAppKitStatusReport | undefined>;
|
|
7
|
-
report: import("vue").ShallowRef<VoiceAppKitStatusReport | undefined, VoiceAppKitStatusReport | undefined>;
|
|
8
|
-
updatedAt: import("vue").Ref<number | undefined, number | undefined>;
|
|
9
|
-
};
|