@speakai/shared 2.1.4 → 2.1.5
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/enums/menu.d.ts +7 -2
- package/dist/enums/menu.d.ts.map +1 -1
- package/dist/enums/menu.js +6 -0
- package/dist/enums/menu.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/voice/enums/agent.d.ts +19 -0
- package/dist/voice/enums/agent.d.ts.map +1 -0
- package/dist/voice/enums/agent.js +18 -0
- package/dist/voice/enums/agent.js.map +1 -0
- package/dist/voice/enums/auth.d.ts +19 -0
- package/dist/voice/enums/auth.d.ts.map +1 -0
- package/dist/voice/enums/auth.js +21 -0
- package/dist/voice/enums/auth.js.map +1 -0
- package/dist/voice/enums/avatar.d.ts +6 -0
- package/dist/voice/enums/avatar.d.ts.map +1 -0
- package/dist/voice/enums/avatar.js +5 -0
- package/dist/voice/enums/avatar.js.map +1 -0
- package/dist/voice/enums/billing.d.ts +26 -0
- package/dist/voice/enums/billing.d.ts.map +1 -0
- package/dist/voice/enums/billing.js +29 -0
- package/dist/voice/enums/billing.js.map +1 -0
- package/dist/voice/enums/conversation.d.ts +62 -0
- package/dist/voice/enums/conversation.d.ts.map +1 -0
- package/dist/voice/enums/conversation.js +73 -0
- package/dist/voice/enums/conversation.js.map +1 -0
- package/dist/voice/enums/dataCollection.d.ts +54 -0
- package/dist/voice/enums/dataCollection.d.ts.map +1 -0
- package/dist/voice/enums/dataCollection.js +59 -0
- package/dist/voice/enums/dataCollection.js.map +1 -0
- package/dist/voice/enums/index.d.ts +22 -0
- package/dist/voice/enums/index.d.ts.map +1 -0
- package/dist/voice/enums/index.js +22 -0
- package/dist/voice/enums/index.js.map +1 -0
- package/dist/voice/enums/integration.d.ts +80 -0
- package/dist/voice/enums/integration.d.ts.map +1 -0
- package/dist/voice/enums/integration.js +96 -0
- package/dist/voice/enums/integration.js.map +1 -0
- package/dist/voice/enums/livekit.d.ts +26 -0
- package/dist/voice/enums/livekit.d.ts.map +1 -0
- package/dist/voice/enums/livekit.js +35 -0
- package/dist/voice/enums/livekit.js.map +1 -0
- package/dist/voice/enums/notification.d.ts +6 -0
- package/dist/voice/enums/notification.d.ts.map +1 -0
- package/dist/voice/enums/notification.js +5 -0
- package/dist/voice/enums/notification.js.map +1 -0
- package/dist/voice/enums/organization.d.ts +11 -0
- package/dist/voice/enums/organization.d.ts.map +1 -0
- package/dist/voice/enums/organization.js +12 -0
- package/dist/voice/enums/organization.js.map +1 -0
- package/dist/voice/enums/providers.d.ts +28 -0
- package/dist/voice/enums/providers.d.ts.map +1 -0
- package/dist/voice/enums/providers.js +35 -0
- package/dist/voice/enums/providers.js.map +1 -0
- package/dist/voice/enums/structuredOutput.d.ts +15 -0
- package/dist/voice/enums/structuredOutput.d.ts.map +1 -0
- package/dist/voice/enums/structuredOutput.js +16 -0
- package/dist/voice/enums/structuredOutput.js.map +1 -0
- package/dist/voice/enums/telephony.d.ts +6 -0
- package/dist/voice/enums/telephony.d.ts.map +1 -0
- package/dist/voice/enums/telephony.js +5 -0
- package/dist/voice/enums/telephony.js.map +1 -0
- package/dist/voice/enums/voice.d.ts +6 -0
- package/dist/voice/enums/voice.d.ts.map +1 -0
- package/dist/voice/enums/voice.js +5 -0
- package/dist/voice/enums/voice.js.map +1 -0
- package/dist/voice/index.d.ts +11 -0
- package/dist/voice/index.d.ts.map +1 -0
- package/dist/voice/index.js +11 -0
- package/dist/voice/index.js.map +1 -0
- package/dist/voice/interfaces/agent.d.ts +246 -0
- package/dist/voice/interfaces/agent.d.ts.map +1 -0
- package/dist/voice/interfaces/agent.js +12 -0
- package/dist/voice/interfaces/agent.js.map +1 -0
- package/dist/voice/interfaces/analytics.d.ts +45 -0
- package/dist/voice/interfaces/analytics.d.ts.map +1 -0
- package/dist/voice/interfaces/analytics.js +6 -0
- package/dist/voice/interfaces/analytics.js.map +1 -0
- package/dist/voice/interfaces/avatar.d.ts +60 -0
- package/dist/voice/interfaces/avatar.d.ts.map +1 -0
- package/dist/voice/interfaces/avatar.js +5 -0
- package/dist/voice/interfaces/avatar.js.map +1 -0
- package/dist/voice/interfaces/billing.d.ts +130 -0
- package/dist/voice/interfaces/billing.d.ts.map +1 -0
- package/dist/voice/interfaces/billing.js +6 -0
- package/dist/voice/interfaces/billing.js.map +1 -0
- package/dist/voice/interfaces/conversation.d.ts +132 -0
- package/dist/voice/interfaces/conversation.d.ts.map +1 -0
- package/dist/voice/interfaces/conversation.js +6 -0
- package/dist/voice/interfaces/conversation.js.map +1 -0
- package/dist/voice/interfaces/dataCollection.d.ts +173 -0
- package/dist/voice/interfaces/dataCollection.d.ts.map +1 -0
- package/dist/voice/interfaces/dataCollection.js +6 -0
- package/dist/voice/interfaces/dataCollection.js.map +1 -0
- package/dist/voice/interfaces/index.d.ts +23 -0
- package/dist/voice/interfaces/index.d.ts.map +1 -0
- package/dist/voice/interfaces/index.js +23 -0
- package/dist/voice/interfaces/index.js.map +1 -0
- package/dist/voice/interfaces/integration.d.ts +146 -0
- package/dist/voice/interfaces/integration.d.ts.map +1 -0
- package/dist/voice/interfaces/integration.js +2 -0
- package/dist/voice/interfaces/integration.js.map +1 -0
- package/dist/voice/interfaces/kbGap.d.ts +21 -0
- package/dist/voice/interfaces/kbGap.d.ts.map +1 -0
- package/dist/voice/interfaces/kbGap.js +2 -0
- package/dist/voice/interfaces/kbGap.js.map +1 -0
- package/dist/voice/interfaces/knowledgeBase.d.ts +24 -0
- package/dist/voice/interfaces/knowledgeBase.d.ts.map +1 -0
- package/dist/voice/interfaces/knowledgeBase.js +6 -0
- package/dist/voice/interfaces/knowledgeBase.js.map +1 -0
- package/dist/voice/interfaces/livekit.d.ts +29 -0
- package/dist/voice/interfaces/livekit.d.ts.map +1 -0
- package/dist/voice/interfaces/livekit.js +5 -0
- package/dist/voice/interfaces/livekit.js.map +1 -0
- package/dist/voice/interfaces/notification.d.ts +19 -0
- package/dist/voice/interfaces/notification.d.ts.map +1 -0
- package/dist/voice/interfaces/notification.js +5 -0
- package/dist/voice/interfaces/notification.js.map +1 -0
- package/dist/voice/interfaces/organization.d.ts +49 -0
- package/dist/voice/interfaces/organization.d.ts.map +1 -0
- package/dist/voice/interfaces/organization.js +9 -0
- package/dist/voice/interfaces/organization.js.map +1 -0
- package/dist/voice/interfaces/structuredOutput.d.ts +75 -0
- package/dist/voice/interfaces/structuredOutput.d.ts.map +1 -0
- package/dist/voice/interfaces/structuredOutput.js +6 -0
- package/dist/voice/interfaces/structuredOutput.js.map +1 -0
- package/dist/voice/interfaces/telephony.d.ts +116 -0
- package/dist/voice/interfaces/telephony.d.ts.map +1 -0
- package/dist/voice/interfaces/telephony.js +5 -0
- package/dist/voice/interfaces/telephony.js.map +1 -0
- package/dist/voice/interfaces/testing.d.ts +141 -0
- package/dist/voice/interfaces/testing.d.ts.map +1 -0
- package/dist/voice/interfaces/testing.js +6 -0
- package/dist/voice/interfaces/testing.js.map +1 -0
- package/dist/voice/interfaces/voice.d.ts +34 -0
- package/dist/voice/interfaces/voice.d.ts.map +1 -0
- package/dist/voice/interfaces/voice.js +5 -0
- package/dist/voice/interfaces/voice.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Types and Interfaces
|
|
3
|
+
* Client-facing agent contract shared across backend and client.
|
|
4
|
+
*
|
|
5
|
+
* The proprietary agent-generation pipeline types (GenerationMeta/Step/Event,
|
|
6
|
+
* ExtractedInput, InstructionGapSuggestion, GENERATION_STEP_ORDER/_LABELS,
|
|
7
|
+
* PromptQuality, …) and the runtime AgentConfig/WorkerConfig live privately in
|
|
8
|
+
* speak-server (`@speak-voice-generation-internal`) and are intentionally NOT
|
|
9
|
+
* part of this public package.
|
|
10
|
+
*/
|
|
11
|
+
import { AvatarProvider, TTSProvider, STTProvider } from "../enums/providers.js";
|
|
12
|
+
import { LLMProvider } from "../../enums/llm.js";
|
|
13
|
+
import { AgentStatusType } from "../enums/agent.js";
|
|
14
|
+
import { IntegrationSlug } from "../enums/integration.js";
|
|
15
|
+
import { AgentTelephonySettings } from "./telephony.js";
|
|
16
|
+
/**
|
|
17
|
+
* Pronunciation rule for TTS providers that support pronunciation dictionaries
|
|
18
|
+
* (currently ElevenLabs). `term` is the input text to match; `pronounceAs` is the
|
|
19
|
+
* alias the TTS should speak instead.
|
|
20
|
+
*/
|
|
21
|
+
export interface PronunciationRule {
|
|
22
|
+
term: string;
|
|
23
|
+
pronounceAs: string;
|
|
24
|
+
caseSensitive?: boolean;
|
|
25
|
+
wordBoundaries?: boolean;
|
|
26
|
+
type?: "alias" | "phoneme";
|
|
27
|
+
alphabet?: "cmu-arpabet";
|
|
28
|
+
}
|
|
29
|
+
export type PronunciationAlphabet = "cmu-arpabet" | "respelling";
|
|
30
|
+
export type PronunciationSyncStatus = "synced" | "unsynced" | "failed" | "not_applicable";
|
|
31
|
+
export interface PronunciationSuggestion {
|
|
32
|
+
phonemes: string;
|
|
33
|
+
syllable_breakdown: string;
|
|
34
|
+
confidence: "high" | "medium" | "low";
|
|
35
|
+
}
|
|
36
|
+
export interface PronunciationSuggestionInput {
|
|
37
|
+
term: string;
|
|
38
|
+
alphabet: PronunciationAlphabet;
|
|
39
|
+
hint?: string;
|
|
40
|
+
}
|
|
41
|
+
export interface PronunciationData {
|
|
42
|
+
rules: PronunciationRule[];
|
|
43
|
+
syncStatus: PronunciationSyncStatus;
|
|
44
|
+
syncedAt?: string;
|
|
45
|
+
elevenLabsDictId?: string;
|
|
46
|
+
elevenLabsVersionId?: string;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Widget configuration for embedded agents
|
|
50
|
+
*/
|
|
51
|
+
export interface WidgetConfig {
|
|
52
|
+
displayMode?: "floating" | "inline";
|
|
53
|
+
position?: "bottom-left" | "bottom-right";
|
|
54
|
+
bubbleIconType?: "avatar" | "generic";
|
|
55
|
+
buttonSize?: "small" | "medium" | "large";
|
|
56
|
+
buttonColor?: string;
|
|
57
|
+
theme?: "light" | "dark" | "auto";
|
|
58
|
+
compactMode?: boolean;
|
|
59
|
+
defaultMode?: "voice" | "avatar";
|
|
60
|
+
showAvatar?: boolean;
|
|
61
|
+
voiceEnabled?: boolean;
|
|
62
|
+
fontFamily?: string;
|
|
63
|
+
borderRadius?: number;
|
|
64
|
+
backgroundColor?: string;
|
|
65
|
+
enableUserCamera?: boolean;
|
|
66
|
+
/** When true, the chat panel opens automatically once the agent joins the conversation. Defaults to false. */
|
|
67
|
+
chatOpenByDefault?: boolean;
|
|
68
|
+
language?: string;
|
|
69
|
+
companyLogoUrl?: string;
|
|
70
|
+
/** Launcher greeting title beside the bubble. Default: "👋 Hi! Want to chat?" */
|
|
71
|
+
launcherTitle?: string;
|
|
72
|
+
/** Launcher greeting subtitle beside the bubble. Default: "Start a conversation" */
|
|
73
|
+
launcherSubtitle?: string;
|
|
74
|
+
/** Whether the launcher greeting is shown (floating mode only). Default: true */
|
|
75
|
+
showLauncher?: boolean;
|
|
76
|
+
/** Title on the pre-start screen. Default: "Ready to start" */
|
|
77
|
+
beforeCallTitle?: string;
|
|
78
|
+
/** Description on the pre-start screen. Default: "Tap below to start a quick conversation." */
|
|
79
|
+
beforeCallDescription?: string;
|
|
80
|
+
/** Label for the start button. Default: "Start conversation" */
|
|
81
|
+
startButtonLabel?: string;
|
|
82
|
+
/** Title on the post-end screen. Default: "Thanks for chatting" */
|
|
83
|
+
afterCallTitle?: string;
|
|
84
|
+
/** Description on the post-end screen. Default: "We hope it was useful." */
|
|
85
|
+
afterCallDescription?: string;
|
|
86
|
+
/** When true, show the post-call feedback card (stars + comment). Default: false */
|
|
87
|
+
feedbackEnabled?: boolean;
|
|
88
|
+
}
|
|
89
|
+
/** Subset of WidgetConfig for API update payloads (partial updates) */
|
|
90
|
+
export type WidgetConfigUpdate = Partial<WidgetConfig>;
|
|
91
|
+
/**
|
|
92
|
+
* Agent share settings
|
|
93
|
+
*/
|
|
94
|
+
export interface AgentShareSettings {
|
|
95
|
+
isPublic: boolean;
|
|
96
|
+
shareToken?: string;
|
|
97
|
+
shortCode?: string;
|
|
98
|
+
allowedDomains: string[];
|
|
99
|
+
expiresAt?: string;
|
|
100
|
+
widgetConfig?: WidgetConfig;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* A single Composio tool selected for an agent.
|
|
104
|
+
*
|
|
105
|
+
* The tool's JSON Schema (`paramsSchema`) is persisted at pick-time so the
|
|
106
|
+
* worker/dispatcher can register the live LiveKit tool without making a
|
|
107
|
+
* Composio API call. Connections are ORG-scoped (D3): `slug` references an
|
|
108
|
+
* org-connected app, and `toolName` is the specific Composio tool slug on
|
|
109
|
+
* that app.
|
|
110
|
+
*/
|
|
111
|
+
export interface AgentSelectedTool {
|
|
112
|
+
/** The org-connected Composio app this tool belongs to (e.g. IntegrationSlug.GMAIL). */
|
|
113
|
+
slug: IntegrationSlug;
|
|
114
|
+
/** Composio tool slug, e.g. "GMAIL_SEND_EMAIL". */
|
|
115
|
+
toolName: string;
|
|
116
|
+
/** Human-readable label shown in the UI. */
|
|
117
|
+
displayName: string;
|
|
118
|
+
/** The tool's JSON Schema, persisted at pick-time so the worker needs no Composio call. */
|
|
119
|
+
paramsSchema: Record<string, any>;
|
|
120
|
+
/** When true, the agent must confirm with the user before invoking (drives the confirm gate). */
|
|
121
|
+
destructive?: boolean;
|
|
122
|
+
/**
|
|
123
|
+
* Provider-side account id (Composio connected-account id) this tool is bound
|
|
124
|
+
* to. Optional for backwards compatibility; pins the tool to a specific
|
|
125
|
+
* connected account when multiple accounts exist for the same provider.
|
|
126
|
+
*/
|
|
127
|
+
providerAccountId?: string;
|
|
128
|
+
/** Best-effort account email for the bound account (display only; may be absent). */
|
|
129
|
+
accountEmail?: string;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Full Agent entity (for client/frontend use)
|
|
133
|
+
*/
|
|
134
|
+
export interface Agent {
|
|
135
|
+
agentId: string;
|
|
136
|
+
userId: string;
|
|
137
|
+
name: string;
|
|
138
|
+
avatar: {
|
|
139
|
+
avatarId?: string;
|
|
140
|
+
avatarUrl?: string;
|
|
141
|
+
provider?: AvatarProvider;
|
|
142
|
+
tavusFaceId?: string;
|
|
143
|
+
tavusPalId?: string;
|
|
144
|
+
};
|
|
145
|
+
voice: {
|
|
146
|
+
provider: TTSProvider;
|
|
147
|
+
voiceId: string;
|
|
148
|
+
model?: string;
|
|
149
|
+
pronunciationRules?: PronunciationRule[];
|
|
150
|
+
elevenLabsDictId?: string;
|
|
151
|
+
elevenLabsVersionId?: string;
|
|
152
|
+
pronunciationSyncedAt?: string;
|
|
153
|
+
/**
|
|
154
|
+
* Set to `true` when the most recent ElevenLabs sync attempt failed. The
|
|
155
|
+
* UI uses this to show a persistent "Sync failed" banner across page
|
|
156
|
+
* reloads. Cleared on the next successful sync or when rules are cleared.
|
|
157
|
+
*/
|
|
158
|
+
pronunciationSyncFailed?: boolean;
|
|
159
|
+
};
|
|
160
|
+
stt: {
|
|
161
|
+
provider: STTProvider;
|
|
162
|
+
model?: string;
|
|
163
|
+
lexiconTerms?: string[];
|
|
164
|
+
};
|
|
165
|
+
llm: {
|
|
166
|
+
provider: LLMProvider;
|
|
167
|
+
model?: string;
|
|
168
|
+
};
|
|
169
|
+
personality: string;
|
|
170
|
+
instructions: string;
|
|
171
|
+
chatSettings: {
|
|
172
|
+
welcomeMessage: string;
|
|
173
|
+
conversationStarters: string[];
|
|
174
|
+
maxResponseLength?: number;
|
|
175
|
+
topicsToAvoid: string[];
|
|
176
|
+
maxSessionLength: number;
|
|
177
|
+
language: string;
|
|
178
|
+
};
|
|
179
|
+
knowledgeBaseId?: string;
|
|
180
|
+
creativityLevel: number;
|
|
181
|
+
conversationMode: "voice" | "avatar";
|
|
182
|
+
recordingEnabled?: boolean;
|
|
183
|
+
status: AgentStatusType;
|
|
184
|
+
shareSettings: AgentShareSettings;
|
|
185
|
+
structuredOutputIds?: string[];
|
|
186
|
+
telephony?: AgentTelephonySettings;
|
|
187
|
+
conversationCount?: number;
|
|
188
|
+
websiteUrl?: string;
|
|
189
|
+
enableWebSearch?: boolean;
|
|
190
|
+
/** Composio tools (max 3) selected for this agent; enforced backend-side. */
|
|
191
|
+
selectedTools?: AgentSelectedTool[];
|
|
192
|
+
createdAt: string;
|
|
193
|
+
updatedAt: string;
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Request to create a new agent
|
|
197
|
+
*/
|
|
198
|
+
export interface CreateAgentRequest {
|
|
199
|
+
name: string;
|
|
200
|
+
avatar?: {
|
|
201
|
+
avatarId?: string;
|
|
202
|
+
avatarUrl?: string;
|
|
203
|
+
provider?: AvatarProvider;
|
|
204
|
+
tavusFaceId?: string;
|
|
205
|
+
tavusPalId?: string;
|
|
206
|
+
};
|
|
207
|
+
voice: {
|
|
208
|
+
provider: TTSProvider;
|
|
209
|
+
voiceId: string;
|
|
210
|
+
model?: string;
|
|
211
|
+
};
|
|
212
|
+
stt?: {
|
|
213
|
+
provider: STTProvider;
|
|
214
|
+
model?: string;
|
|
215
|
+
};
|
|
216
|
+
llm?: {
|
|
217
|
+
provider: LLMProvider;
|
|
218
|
+
model?: string;
|
|
219
|
+
};
|
|
220
|
+
personality: string;
|
|
221
|
+
instructions: string;
|
|
222
|
+
chatSettings: {
|
|
223
|
+
welcomeMessage: string;
|
|
224
|
+
conversationStarters: string[];
|
|
225
|
+
maxResponseLength?: number;
|
|
226
|
+
topicsToAvoid: string[];
|
|
227
|
+
maxSessionLength: number;
|
|
228
|
+
language: string;
|
|
229
|
+
};
|
|
230
|
+
creativityLevel: number;
|
|
231
|
+
}
|
|
232
|
+
export interface AgentResource {
|
|
233
|
+
resourceId: string;
|
|
234
|
+
agentId: string;
|
|
235
|
+
organizationId: string;
|
|
236
|
+
url: string;
|
|
237
|
+
title: string;
|
|
238
|
+
description: string;
|
|
239
|
+
action: "link" | "presentation";
|
|
240
|
+
contentType?: "video" | "pdf" | "image";
|
|
241
|
+
isDeleted?: boolean;
|
|
242
|
+
deletedAt?: Date;
|
|
243
|
+
createdAt?: Date;
|
|
244
|
+
updatedAt?: Date;
|
|
245
|
+
}
|
|
246
|
+
//# sourceMappingURL=agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/voice/interfaces/agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,cAAc,EACd,WAAW,EACX,WAAW,EACZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAExD;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED,MAAM,MAAM,qBAAqB,GAAG,aAAa,GAAG,YAAY,CAAC;AAEjE,MAAM,MAAM,uBAAuB,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,gBAAgB,CAAC;AAE1F,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;CACvC;AAED,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,qBAAqB,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,UAAU,EAAE,uBAAuB,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC;IACpC,QAAQ,CAAC,EAAE,aAAa,GAAG,cAAc,CAAC;IAC1C,cAAc,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IACtC,UAAU,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,8GAA8G;IAC9G,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB,iFAAiF;IACjF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oFAAoF;IACpF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iFAAiF;IACjF,YAAY,CAAC,EAAE,OAAO,CAAC;IAGvB,+DAA+D;IAC/D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,+FAA+F;IAC/F,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,gEAAgE;IAChE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAG1B,mEAAmE;IACnE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4EAA4E;IAC5E,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAG9B,oFAAoF;IACpF,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,uEAAuE;AACvE,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAiB;IAChC,wFAAwF;IACxF,IAAI,EAAE,eAAe,CAAC;IACtB,mDAAmD;IACnD,QAAQ,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,2FAA2F;IAC3F,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClC,iGAAiG;IACjG,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qFAAqF;IACrF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE;QACN,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,cAAc,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,KAAK,EAAE;QACL,QAAQ,EAAE,WAAW,CAAC;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,kBAAkB,CAAC,EAAE,iBAAiB,EAAE,CAAC;QACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B;;;;WAIG;QACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;KACnC,CAAC;IACF,GAAG,EAAE;QACH,QAAQ,EAAE,WAAW,CAAC;QACtB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;IACF,GAAG,EAAE;QACH,QAAQ,EAAE,WAAW,CAAC;QACtB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IAErB,YAAY,EAAE;QACZ,cAAc,EAAE,MAAM,CAAC;QACvB,oBAAoB,EAAE,MAAM,EAAE,CAAC;QAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,gBAAgB,EAAE,MAAM,CAAC;QACzB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,OAAO,GAAG,QAAQ,CAAC;IACrC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,EAAE,eAAe,CAAC;IACxB,aAAa,EAAE,kBAAkB,CAAC;IAClC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,SAAS,CAAC,EAAE,sBAAsB,CAAC;IACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,6EAA6E;IAC7E,aAAa,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,cAAc,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,KAAK,EAAE;QACL,QAAQ,EAAE,WAAW,CAAC;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,GAAG,CAAC,EAAE;QACJ,QAAQ,EAAE,WAAW,CAAC;QACtB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,GAAG,CAAC,EAAE;QACJ,QAAQ,EAAE,WAAW,CAAC;QACtB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE;QACZ,cAAc,EAAE,MAAM,CAAC;QACvB,oBAAoB,EAAE,MAAM,EAAE,CAAC;QAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,gBAAgB,EAAE,MAAM,CAAC;QACzB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,cAAc,CAAC;IAChC,WAAW,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,OAAO,CAAC;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Types and Interfaces
|
|
3
|
+
* Client-facing agent contract shared across backend and client.
|
|
4
|
+
*
|
|
5
|
+
* The proprietary agent-generation pipeline types (GenerationMeta/Step/Event,
|
|
6
|
+
* ExtractedInput, InstructionGapSuggestion, GENERATION_STEP_ORDER/_LABELS,
|
|
7
|
+
* PromptQuality, …) and the runtime AgentConfig/WorkerConfig live privately in
|
|
8
|
+
* speak-server (`@speak-voice-generation-internal`) and are intentionally NOT
|
|
9
|
+
* part of this public package.
|
|
10
|
+
*/
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/voice/interfaces/agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Analytics Interfaces
|
|
3
|
+
* Dashboard and reporting aggregations
|
|
4
|
+
*/
|
|
5
|
+
export interface DailyCount {
|
|
6
|
+
date: string;
|
|
7
|
+
count: number;
|
|
8
|
+
}
|
|
9
|
+
export interface AnalyticsOverview {
|
|
10
|
+
totalConversations: number;
|
|
11
|
+
thisWeekCount: number;
|
|
12
|
+
lastWeekCount: number;
|
|
13
|
+
completionRate: number;
|
|
14
|
+
avgDurationSeconds: number;
|
|
15
|
+
dailyCounts: DailyCount[];
|
|
16
|
+
}
|
|
17
|
+
export interface EngagementBucket {
|
|
18
|
+
label: string;
|
|
19
|
+
minMessages: number;
|
|
20
|
+
maxMessages: number | null;
|
|
21
|
+
count: number;
|
|
22
|
+
percentage: number;
|
|
23
|
+
avgDurationSeconds: number;
|
|
24
|
+
sentimentBreakdown: {
|
|
25
|
+
positive: number;
|
|
26
|
+
neutral: number;
|
|
27
|
+
negative: number;
|
|
28
|
+
unanalyzed: number;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
export interface EngagementFunnel {
|
|
32
|
+
buckets: EngagementBucket[];
|
|
33
|
+
totalConversations: number;
|
|
34
|
+
since: string | null;
|
|
35
|
+
}
|
|
36
|
+
export interface AgentFunnelSummary {
|
|
37
|
+
agentId: string;
|
|
38
|
+
agentName: string;
|
|
39
|
+
totalConversations: number;
|
|
40
|
+
bounceRate: number;
|
|
41
|
+
briefRate: number;
|
|
42
|
+
engagedRate: number;
|
|
43
|
+
deepRate: number;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=analytics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../../src/voice/interfaces/analytics.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../../src/voice/interfaces/analytics.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Avatar Interfaces
|
|
3
|
+
*/
|
|
4
|
+
import { AvatarProvider } from "../enums/providers.js";
|
|
5
|
+
import { AvatarCategory } from "../enums/avatar.js";
|
|
6
|
+
/**
|
|
7
|
+
* Tavus-specific avatar data
|
|
8
|
+
*/
|
|
9
|
+
export interface TavusAvatarData {
|
|
10
|
+
faceId: string;
|
|
11
|
+
palId?: string;
|
|
12
|
+
status?: "started" | "completed" | "error";
|
|
13
|
+
trainingProgress?: string;
|
|
14
|
+
faceType?: "user" | "system";
|
|
15
|
+
modelType?: string;
|
|
16
|
+
isRecommended?: boolean;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Beyond Presence-specific avatar data
|
|
20
|
+
*/
|
|
21
|
+
export interface BeyAvatarData {
|
|
22
|
+
avatarId: string;
|
|
23
|
+
gender?: string;
|
|
24
|
+
ethnicity?: string;
|
|
25
|
+
ageRange?: string;
|
|
26
|
+
style?: string;
|
|
27
|
+
isDefault?: boolean;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Custom avatar data
|
|
31
|
+
*/
|
|
32
|
+
export interface CustomAvatarData {
|
|
33
|
+
uploadedBy?: string;
|
|
34
|
+
originalFileName?: string;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Avatar entity
|
|
38
|
+
*/
|
|
39
|
+
export interface Avatar {
|
|
40
|
+
id: string;
|
|
41
|
+
name: string;
|
|
42
|
+
imageUrl: string;
|
|
43
|
+
videoUrl?: string;
|
|
44
|
+
category: AvatarCategory;
|
|
45
|
+
isPremium: boolean;
|
|
46
|
+
provider: AvatarProvider;
|
|
47
|
+
tavus?: TavusAvatarData;
|
|
48
|
+
bey?: BeyAvatarData;
|
|
49
|
+
custom?: CustomAvatarData;
|
|
50
|
+
metadata?: Record<string, unknown>;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Avatar list response
|
|
54
|
+
*/
|
|
55
|
+
export interface AvatarListResponse {
|
|
56
|
+
success: boolean;
|
|
57
|
+
avatars: Avatar[];
|
|
58
|
+
total: number;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=avatar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar.d.ts","sourceRoot":"","sources":["../../../src/voice/interfaces/avatar.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;IAC3C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,cAAc,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,cAAc,CAAC;IACzB,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,GAAG,CAAC,EAAE,aAAa,CAAC;IACpB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar.js","sourceRoot":"","sources":["../../../src/voice/interfaces/avatar.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Billing Interfaces
|
|
3
|
+
* Usage metrics, cost tracking, and transaction records.
|
|
4
|
+
*/
|
|
5
|
+
import { TransactionEventType } from "../enums/billing.js";
|
|
6
|
+
/**
|
|
7
|
+
* Usage metrics tracked per conversation event
|
|
8
|
+
* Fields align with LiveKit Agents SDK metric types
|
|
9
|
+
*/
|
|
10
|
+
export interface UsageMetrics {
|
|
11
|
+
llm?: {
|
|
12
|
+
provider: string;
|
|
13
|
+
model: string;
|
|
14
|
+
inputTokens: number;
|
|
15
|
+
outputTokens: number;
|
|
16
|
+
cachedTokens?: number;
|
|
17
|
+
totalTokens: number;
|
|
18
|
+
latency?: number;
|
|
19
|
+
completionDuration?: number;
|
|
20
|
+
tokensPerSecond?: number;
|
|
21
|
+
speechId?: string;
|
|
22
|
+
cancelled?: boolean;
|
|
23
|
+
};
|
|
24
|
+
tts?: {
|
|
25
|
+
provider: string;
|
|
26
|
+
voice: string;
|
|
27
|
+
characters: number;
|
|
28
|
+
duration?: number;
|
|
29
|
+
latency?: number;
|
|
30
|
+
generationDuration?: number;
|
|
31
|
+
speechId?: string;
|
|
32
|
+
isStreaming?: boolean;
|
|
33
|
+
cancelled?: boolean;
|
|
34
|
+
};
|
|
35
|
+
stt?: {
|
|
36
|
+
provider: string;
|
|
37
|
+
duration?: number;
|
|
38
|
+
latency?: number;
|
|
39
|
+
processingDuration?: number;
|
|
40
|
+
isStreaming?: boolean;
|
|
41
|
+
endOfUtteranceDelay?: number;
|
|
42
|
+
onUserTurnCompletedDelay?: number;
|
|
43
|
+
speechId?: string;
|
|
44
|
+
};
|
|
45
|
+
avatar?: {
|
|
46
|
+
provider: string;
|
|
47
|
+
duration?: number;
|
|
48
|
+
frames?: number;
|
|
49
|
+
latency?: number;
|
|
50
|
+
};
|
|
51
|
+
telephony?: {
|
|
52
|
+
provider: string;
|
|
53
|
+
duration?: number;
|
|
54
|
+
billedMinutes?: number;
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Cost breakdown for a conversation
|
|
59
|
+
*/
|
|
60
|
+
export interface CostBreakdown {
|
|
61
|
+
llmCost: number;
|
|
62
|
+
ttsCost: number;
|
|
63
|
+
sttCost: number;
|
|
64
|
+
avatarCost: number;
|
|
65
|
+
telephonyCost?: number;
|
|
66
|
+
platformCost: number;
|
|
67
|
+
totalCost: number;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* User credits balance
|
|
71
|
+
*/
|
|
72
|
+
export interface Credits {
|
|
73
|
+
totalCredits: number;
|
|
74
|
+
usedCredits: number;
|
|
75
|
+
availableCredits: number;
|
|
76
|
+
orgId: string;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Transaction record (API-facing)
|
|
80
|
+
*/
|
|
81
|
+
export interface Transaction {
|
|
82
|
+
transactionId: string;
|
|
83
|
+
conversationId: string;
|
|
84
|
+
agentId: string;
|
|
85
|
+
orgId: string;
|
|
86
|
+
eventType: TransactionEventType;
|
|
87
|
+
timestamp: string;
|
|
88
|
+
costs: {
|
|
89
|
+
totalCost: number;
|
|
90
|
+
llmCost: number;
|
|
91
|
+
ttsCost: number;
|
|
92
|
+
sttCost: number;
|
|
93
|
+
avatarCost: number;
|
|
94
|
+
telephonyCost: number;
|
|
95
|
+
};
|
|
96
|
+
metadata?: {
|
|
97
|
+
durationMinutes?: number;
|
|
98
|
+
};
|
|
99
|
+
status: string;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Billing statistics
|
|
103
|
+
*/
|
|
104
|
+
export interface BillingStats {
|
|
105
|
+
totalSpend: number;
|
|
106
|
+
todaySpend: number;
|
|
107
|
+
availableCredits: number;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Pricing information
|
|
111
|
+
*/
|
|
112
|
+
export interface Pricing {
|
|
113
|
+
perMinute: number;
|
|
114
|
+
version: string;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Conversation cost summary
|
|
118
|
+
*/
|
|
119
|
+
export interface ConversationCost {
|
|
120
|
+
conversationId: string;
|
|
121
|
+
totalCost: number;
|
|
122
|
+
llmCost: number;
|
|
123
|
+
ttsCost: number;
|
|
124
|
+
sttCost: number;
|
|
125
|
+
avatarCost: number;
|
|
126
|
+
telephonyCost?: number;
|
|
127
|
+
transactionCount: number;
|
|
128
|
+
durationMinutes?: number;
|
|
129
|
+
}
|
|
130
|
+
//# sourceMappingURL=billing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"billing.d.ts","sourceRoot":"","sources":["../../../src/voice/interfaces/billing.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"billing.js","sourceRoot":"","sources":["../../../src/voice/interfaces/billing.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|