@chanl/widget-sdk 0.2.0-canary.0
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 +257 -0
- package/dist/auth.d.ts +26 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +36 -0
- package/dist/auth.js.map +1 -0
- package/dist/chat/chat-client.d.ts +81 -0
- package/dist/chat/chat-client.d.ts.map +1 -0
- package/dist/chat/chat-client.js +192 -0
- package/dist/chat/chat-client.js.map +1 -0
- package/dist/chat/stream-parser.d.ts +20 -0
- package/dist/chat/stream-parser.d.ts.map +1 -0
- package/dist/chat/stream-parser.js +134 -0
- package/dist/chat/stream-parser.js.map +1 -0
- package/dist/chat/widget-config.d.ts +7 -0
- package/dist/chat/widget-config.d.ts.map +1 -0
- package/dist/chat/widget-config.js +26 -0
- package/dist/chat/widget-config.js.map +1 -0
- package/dist/client.d.ts +66 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +49 -0
- package/dist/client.js.map +1 -0
- package/dist/defaults.d.ts +12 -0
- package/dist/defaults.d.ts.map +1 -0
- package/dist/defaults.js +27 -0
- package/dist/defaults.js.map +1 -0
- package/dist/embed/loader-types.d.ts +119 -0
- package/dist/embed/loader-types.d.ts.map +1 -0
- package/dist/embed/loader-types.js +20 -0
- package/dist/embed/loader-types.js.map +1 -0
- package/dist/embed/loader.d.ts +101 -0
- package/dist/embed/loader.d.ts.map +1 -0
- package/dist/embed/loader.js +439 -0
- package/dist/embed/loader.js.map +1 -0
- package/dist/embed/v1.global.js +5 -0
- package/dist/embed/v1.global.js.map +1 -0
- package/dist/events.d.ts +10 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +25 -0
- package/dist/events.js.map +1 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +29 -0
- package/dist/index.js.map +1 -0
- package/dist/logger.d.ts +14 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +3 -0
- package/dist/logger.js.map +1 -0
- package/dist/next/index.d.ts +58 -0
- package/dist/next/index.d.ts.map +1 -0
- package/dist/next/index.js +83 -0
- package/dist/next/index.js.map +1 -0
- package/dist/react/index.d.ts +16 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +20 -0
- package/dist/react/index.js.map +1 -0
- package/dist/react/types.d.ts +27 -0
- package/dist/react/types.d.ts.map +1 -0
- package/dist/react/types.js +8 -0
- package/dist/react/types.js.map +1 -0
- package/dist/react/use-chanl.d.ts +27 -0
- package/dist/react/use-chanl.d.ts.map +1 -0
- package/dist/react/use-chanl.js +57 -0
- package/dist/react/use-chanl.js.map +1 -0
- package/dist/react/use-chat.d.ts +32 -0
- package/dist/react/use-chat.d.ts.map +1 -0
- package/dist/react/use-chat.js +224 -0
- package/dist/react/use-chat.js.map +1 -0
- package/dist/react/use-voice.d.ts +37 -0
- package/dist/react/use-voice.d.ts.map +1 -0
- package/dist/react/use-voice.js +268 -0
- package/dist/react/use-voice.js.map +1 -0
- package/dist/react/widget.d.ts +43 -0
- package/dist/react/widget.d.ts.map +1 -0
- package/dist/react/widget.js +188 -0
- package/dist/react/widget.js.map +1 -0
- package/dist/storage/session-storage.d.ts +48 -0
- package/dist/storage/session-storage.d.ts.map +1 -0
- package/dist/storage/session-storage.js +84 -0
- package/dist/storage/session-storage.js.map +1 -0
- package/dist/types.d.ts +140 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +7 -0
- package/dist/types.js.map +1 -0
- package/dist/voice/audio-recorder.d.ts +43 -0
- package/dist/voice/audio-recorder.d.ts.map +1 -0
- package/dist/voice/audio-recorder.js +127 -0
- package/dist/voice/audio-recorder.js.map +1 -0
- package/dist/voice/index.d.ts +13 -0
- package/dist/voice/index.d.ts.map +1 -0
- package/dist/voice/index.js +16 -0
- package/dist/voice/index.js.map +1 -0
- package/dist/voice/mock-mode.d.ts +93 -0
- package/dist/voice/mock-mode.d.ts.map +1 -0
- package/dist/voice/mock-mode.js +375 -0
- package/dist/voice/mock-mode.js.map +1 -0
- package/dist/voice/transports/index.d.ts +5 -0
- package/dist/voice/transports/index.d.ts.map +1 -0
- package/dist/voice/transports/index.js +10 -0
- package/dist/voice/transports/index.js.map +1 -0
- package/dist/voice/transports/transport.d.ts +70 -0
- package/dist/voice/transports/transport.d.ts.map +1 -0
- package/dist/voice/transports/transport.js +12 -0
- package/dist/voice/transports/transport.js.map +1 -0
- package/dist/voice/transports/vapi.d.ts +147 -0
- package/dist/voice/transports/vapi.d.ts.map +1 -0
- package/dist/voice/transports/vapi.js +337 -0
- package/dist/voice/transports/vapi.js.map +1 -0
- package/dist/voice/transports/webrtc.d.ts +58 -0
- package/dist/voice/transports/webrtc.d.ts.map +1 -0
- package/dist/voice/transports/webrtc.js +318 -0
- package/dist/voice/transports/webrtc.js.map +1 -0
- package/dist/voice/transports/websocket.d.ts +39 -0
- package/dist/voice/transports/websocket.d.ts.map +1 -0
- package/dist/voice/transports/websocket.js +280 -0
- package/dist/voice/transports/websocket.js.map +1 -0
- package/dist/voice/types.d.ts +323 -0
- package/dist/voice/types.d.ts.map +1 -0
- package/dist/voice/types.js +41 -0
- package/dist/voice/types.js.map +1 -0
- package/dist/voice/utils.d.ts +22 -0
- package/dist/voice/utils.d.ts.map +1 -0
- package/dist/voice/utils.js +44 -0
- package/dist/voice/utils.js.map +1 -0
- package/dist/voice/voice-client.d.ts +231 -0
- package/dist/voice/voice-client.d.ts.map +1 -0
- package/dist/voice/voice-client.js +1187 -0
- package/dist/voice/voice-client.js.map +1 -0
- package/package.json +91 -0
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
export type SenderRole = 'assistant' | 'user';
|
|
2
|
+
/** Every WebSocket message MUST declare one of these literal types */
|
|
3
|
+
export type WsMessageType = 'start' | 'ready' | 'audio' | 'transcript' | 'text' | 'interruption' | 'speech-start' | 'speech-end' | 'call-start' | 'call-end' | 'volume-level' | 'error' | 'ping' | 'assistant-overrides' | 'set-context' | 'clear-context' | 'metrics' | 'node-update';
|
|
4
|
+
/** Common shape shared by all messages */
|
|
5
|
+
export interface WsMessageBase {
|
|
6
|
+
type?: WsMessageType;
|
|
7
|
+
}
|
|
8
|
+
export interface WebsocketCallCreatePayload {
|
|
9
|
+
languageCode?: string;
|
|
10
|
+
customerId?: string;
|
|
11
|
+
userHash?: string;
|
|
12
|
+
agentId?: string;
|
|
13
|
+
agentSettings?: {
|
|
14
|
+
name?: string;
|
|
15
|
+
description?: string;
|
|
16
|
+
languageCode?: string;
|
|
17
|
+
prompt?: string;
|
|
18
|
+
voiceId?: string;
|
|
19
|
+
model?: string | {
|
|
20
|
+
provider?: string;
|
|
21
|
+
model?: string;
|
|
22
|
+
temperature?: number;
|
|
23
|
+
storeCompletions?: boolean;
|
|
24
|
+
};
|
|
25
|
+
tools?: any[];
|
|
26
|
+
routings?: any[];
|
|
27
|
+
maxDurationSeconds?: number;
|
|
28
|
+
checkHumanPresence?: boolean;
|
|
29
|
+
checkHumanPresenceCount?: number;
|
|
30
|
+
allowedIdleTime?: number;
|
|
31
|
+
allowInterruptions?: boolean;
|
|
32
|
+
interruptionSensitivity?: 'high' | 'medium' | 'low';
|
|
33
|
+
enableCutoffResponses?: boolean;
|
|
34
|
+
cutoffResponses?: string[];
|
|
35
|
+
};
|
|
36
|
+
customer?: {
|
|
37
|
+
firstName?: string;
|
|
38
|
+
lastName?: string;
|
|
39
|
+
email?: string;
|
|
40
|
+
phoneNumbers?: string[];
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
export declare enum WebsocketRoomStatus {
|
|
44
|
+
Pending = "pending",
|
|
45
|
+
Ready = "ready",
|
|
46
|
+
Active = "active",
|
|
47
|
+
Completed = "completed",
|
|
48
|
+
Failed = "failed",
|
|
49
|
+
Expired = "expired"
|
|
50
|
+
}
|
|
51
|
+
export interface WebsocketRoomResponse {
|
|
52
|
+
id: string;
|
|
53
|
+
workspaceId?: string;
|
|
54
|
+
interactionId?: string;
|
|
55
|
+
status: WebsocketRoomStatus;
|
|
56
|
+
websocketUrl?: string;
|
|
57
|
+
connectionParameters?: Record<string, any>;
|
|
58
|
+
listenUrl?: string;
|
|
59
|
+
expiresAt?: string;
|
|
60
|
+
createdAt: string;
|
|
61
|
+
updatedAt?: string;
|
|
62
|
+
}
|
|
63
|
+
export interface RoomConnectionState {
|
|
64
|
+
roomId?: string;
|
|
65
|
+
/**
|
|
66
|
+
* The interaction id the room belongs to. The WebRTC `/offer` signaling
|
|
67
|
+
* relay looks the room up by interactionId (NOT the room's own id), so this
|
|
68
|
+
* must be carried through to the transport — sending roomId 404s.
|
|
69
|
+
*/
|
|
70
|
+
interactionId?: string;
|
|
71
|
+
status: WebsocketRoomStatus;
|
|
72
|
+
websocketUrl?: string;
|
|
73
|
+
connectionParameters?: Record<string, any>;
|
|
74
|
+
}
|
|
75
|
+
export interface StartMessage extends WsMessageBase {
|
|
76
|
+
type: 'start';
|
|
77
|
+
input_audio_config: AudioConfig;
|
|
78
|
+
output_audio_config: AudioConfig;
|
|
79
|
+
conversation_id?: string;
|
|
80
|
+
/** If true, the server will stream transcript messages back */
|
|
81
|
+
subscribe_transcript?: boolean;
|
|
82
|
+
}
|
|
83
|
+
export interface AudioMessage extends WsMessageBase {
|
|
84
|
+
type: 'audio';
|
|
85
|
+
/** Raw PCM data as base64 string or ArrayBuffer */
|
|
86
|
+
data: string | ArrayBuffer;
|
|
87
|
+
}
|
|
88
|
+
export interface TextMessage extends WsMessageBase {
|
|
89
|
+
type: 'text';
|
|
90
|
+
text: string;
|
|
91
|
+
}
|
|
92
|
+
export interface AssistantOverridesMessage extends WsMessageBase {
|
|
93
|
+
type: 'assistant-overrides';
|
|
94
|
+
overrides: AssistantOverrides;
|
|
95
|
+
}
|
|
96
|
+
export interface SetContextMessage extends WsMessageBase {
|
|
97
|
+
type: 'set-context';
|
|
98
|
+
context: Record<string, any>;
|
|
99
|
+
}
|
|
100
|
+
export interface ClearContextMessage extends WsMessageBase {
|
|
101
|
+
type: 'clear-context';
|
|
102
|
+
}
|
|
103
|
+
export interface TwilioMockConnectMessage extends WsMessageBase {
|
|
104
|
+
event: 'connected';
|
|
105
|
+
protocol: 'Call';
|
|
106
|
+
version: '1.0.0';
|
|
107
|
+
}
|
|
108
|
+
export interface TwilioMockStartMessage extends WsMessageBase {
|
|
109
|
+
event: 'start';
|
|
110
|
+
sequenceNumber: string;
|
|
111
|
+
start: {
|
|
112
|
+
accountSid: string;
|
|
113
|
+
streamSid: string;
|
|
114
|
+
callSid: string;
|
|
115
|
+
tracks: string[];
|
|
116
|
+
mediaFormat: {
|
|
117
|
+
encoding: string;
|
|
118
|
+
sampleRate: number;
|
|
119
|
+
channels: number;
|
|
120
|
+
};
|
|
121
|
+
customParameters: Record<string, any>;
|
|
122
|
+
};
|
|
123
|
+
streamSid: string;
|
|
124
|
+
}
|
|
125
|
+
/** All allowed outbound messages (client → server) */
|
|
126
|
+
export type OutboundClientMessage = TwilioMockConnectMessage | TwilioMockStartMessage | StartMessage | AudioMessage | TextMessage | AssistantOverridesMessage | SetContextMessage | ClearContextMessage;
|
|
127
|
+
export interface ReadyMessage extends WsMessageBase {
|
|
128
|
+
type: 'ready';
|
|
129
|
+
/** Dynamic agent settings returned by backend */
|
|
130
|
+
agentSettings?: unknown;
|
|
131
|
+
}
|
|
132
|
+
export interface TranscriptMessage extends WsMessageBase {
|
|
133
|
+
type: 'transcript';
|
|
134
|
+
text: string;
|
|
135
|
+
sender: SenderRole;
|
|
136
|
+
timestamp: number;
|
|
137
|
+
}
|
|
138
|
+
export interface InterruptionMessage extends WsMessageBase {
|
|
139
|
+
type: 'interruption';
|
|
140
|
+
/** Reason supplied by backend, if any */
|
|
141
|
+
reason?: string;
|
|
142
|
+
}
|
|
143
|
+
export interface SpeechStartMessage extends WsMessageBase {
|
|
144
|
+
type: 'speech-start';
|
|
145
|
+
}
|
|
146
|
+
export interface SpeechEndMessage extends WsMessageBase {
|
|
147
|
+
type: 'speech-end';
|
|
148
|
+
}
|
|
149
|
+
export interface CallStartMessage extends WsMessageBase {
|
|
150
|
+
type: 'call-start';
|
|
151
|
+
}
|
|
152
|
+
export interface CallEndMessage extends WsMessageBase {
|
|
153
|
+
type: 'call-end';
|
|
154
|
+
}
|
|
155
|
+
export interface VolumeLevelMessage extends WsMessageBase {
|
|
156
|
+
type: 'volume-level';
|
|
157
|
+
/** Normalised RMS volume 0.0 … 1.0 */
|
|
158
|
+
volume: number;
|
|
159
|
+
}
|
|
160
|
+
export interface ErrorMessage extends WsMessageBase {
|
|
161
|
+
type: 'error';
|
|
162
|
+
code?: string;
|
|
163
|
+
message: string;
|
|
164
|
+
}
|
|
165
|
+
export interface MetricsMessage extends WsMessageBase {
|
|
166
|
+
type: 'metrics';
|
|
167
|
+
responseTime?: number;
|
|
168
|
+
audioQuality?: number;
|
|
169
|
+
textResponseTime?: number;
|
|
170
|
+
latency?: number;
|
|
171
|
+
}
|
|
172
|
+
export interface NodeUpdateMessage extends WsMessageBase {
|
|
173
|
+
type: 'node-update';
|
|
174
|
+
node_id: string;
|
|
175
|
+
}
|
|
176
|
+
/** All allowed inbound messages (server → client) */
|
|
177
|
+
export type InboundServerMessage = AudioMessage | CallStartMessage | ReadyMessage | SpeechStartMessage | SpeechEndMessage | InterruptionMessage | TranscriptMessage | CallEndMessage | ErrorMessage | MetricsMessage | NodeUpdateMessage;
|
|
178
|
+
export interface AudioConfig {
|
|
179
|
+
sampling_rate: number;
|
|
180
|
+
audio_encoding: 'linear16';
|
|
181
|
+
}
|
|
182
|
+
export interface AudialOptions {
|
|
183
|
+
/** Base HTTP(S) URL without trailing slash. */
|
|
184
|
+
baseUrl?: string;
|
|
185
|
+
/** Enable verbose console output. */
|
|
186
|
+
debug?: boolean;
|
|
187
|
+
/** Whether to start muted. Defaults to false. */
|
|
188
|
+
initialMuted?: boolean;
|
|
189
|
+
/** Maximum attempts to poll room status (default: 30) */
|
|
190
|
+
maxRoomPollAttempts?: number;
|
|
191
|
+
/** Interval between room status polls in ms (default: 1000) */
|
|
192
|
+
roomPollIntervalMs?: number;
|
|
193
|
+
/** Timeout in ms waiting for voice bot 'ready' message (default: 30000) */
|
|
194
|
+
connectionTimeoutMs?: number;
|
|
195
|
+
/** JWT token for Bearer auth (alternative to publicKey). */
|
|
196
|
+
authToken?: string;
|
|
197
|
+
/** Workspace ID header — required when using authToken. */
|
|
198
|
+
workspaceId?: string;
|
|
199
|
+
/** Voice transport: 'auto' (default), 'websocket', or 'webrtc'.
|
|
200
|
+
* Auto uses WebRTC if browser supports it, falls back to WebSocket. */
|
|
201
|
+
transport?: 'auto' | 'websocket' | 'webrtc';
|
|
202
|
+
/** Override WebRTC signaling URL (default: derives from baseUrl + /voice-ws). */
|
|
203
|
+
webrtcSignalingUrl?: string;
|
|
204
|
+
}
|
|
205
|
+
export declare enum AudialState {
|
|
206
|
+
Idle = 0,
|
|
207
|
+
CreatingRoom = 1,
|
|
208
|
+
WaitingForRoom = 2,
|
|
209
|
+
Connecting = 3,
|
|
210
|
+
Active = 4,
|
|
211
|
+
Closing = 5
|
|
212
|
+
}
|
|
213
|
+
export interface AudialConfig extends AudialOptions {
|
|
214
|
+
/** Base HTTP(S) URL without trailing slash. */
|
|
215
|
+
baseUrl: string;
|
|
216
|
+
/** Enable verbose console output. */
|
|
217
|
+
debug: boolean;
|
|
218
|
+
/** Whether to start muted. Defaults to false. */
|
|
219
|
+
initialMuted: boolean;
|
|
220
|
+
/** Whether to automatically reconnect on connection loss */
|
|
221
|
+
autoReconnect: boolean;
|
|
222
|
+
}
|
|
223
|
+
export interface ConnectionStatus {
|
|
224
|
+
connected: boolean;
|
|
225
|
+
state: AudialState;
|
|
226
|
+
readyState: number | null;
|
|
227
|
+
retryCount?: number;
|
|
228
|
+
roomState?: RoomConnectionState;
|
|
229
|
+
}
|
|
230
|
+
export interface RetryPolicy {
|
|
231
|
+
maxRetries: number;
|
|
232
|
+
backoffMs: number;
|
|
233
|
+
}
|
|
234
|
+
export interface AssistantOverrides {
|
|
235
|
+
recordingEnabled?: boolean;
|
|
236
|
+
variableValues?: Record<string, any>;
|
|
237
|
+
customInstructions?: string;
|
|
238
|
+
model?: string;
|
|
239
|
+
voiceId?: string;
|
|
240
|
+
}
|
|
241
|
+
export interface Conversation {
|
|
242
|
+
id: string;
|
|
243
|
+
agentId: string;
|
|
244
|
+
messages: Array<{
|
|
245
|
+
role: 'user' | 'assistant';
|
|
246
|
+
content: string;
|
|
247
|
+
timestamp: number;
|
|
248
|
+
}>;
|
|
249
|
+
createdAt: number;
|
|
250
|
+
updatedAt: number;
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Payload for creating a chat session
|
|
254
|
+
*/
|
|
255
|
+
export interface ChatSessionCreatePayload {
|
|
256
|
+
systemPrompt?: string;
|
|
257
|
+
variables?: Record<string, string>;
|
|
258
|
+
customerId?: string;
|
|
259
|
+
userHash?: string;
|
|
260
|
+
metadata?: Record<string, any>;
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Response when creating a chat session
|
|
264
|
+
*/
|
|
265
|
+
export interface ChatSessionResponse {
|
|
266
|
+
interactionId: string;
|
|
267
|
+
sessionId: string;
|
|
268
|
+
agentId: string;
|
|
269
|
+
agentName?: string;
|
|
270
|
+
model?: string;
|
|
271
|
+
createdAt: string;
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Response when sending a chat message
|
|
275
|
+
*/
|
|
276
|
+
export interface ChatMessageResponse {
|
|
277
|
+
sessionId: string;
|
|
278
|
+
message: string;
|
|
279
|
+
toolCalls?: any[];
|
|
280
|
+
latencyMs?: number;
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* A single chat message
|
|
284
|
+
*/
|
|
285
|
+
export interface ChatMessage {
|
|
286
|
+
role: 'user' | 'assistant' | 'system';
|
|
287
|
+
content: string;
|
|
288
|
+
timestamp?: string;
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Response when getting chat history
|
|
292
|
+
*/
|
|
293
|
+
export interface ChatHistoryResponse {
|
|
294
|
+
sessionId: string;
|
|
295
|
+
messages: ChatMessage[];
|
|
296
|
+
toolCalls?: any[];
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Chat session state
|
|
300
|
+
*/
|
|
301
|
+
export interface ChatSessionState {
|
|
302
|
+
sessionId: string;
|
|
303
|
+
/** ObjectId used for API URL paths (message, history, end) */
|
|
304
|
+
interactionId: string;
|
|
305
|
+
agentId: string;
|
|
306
|
+
agentName?: string;
|
|
307
|
+
model?: string;
|
|
308
|
+
messages: ChatMessage[];
|
|
309
|
+
createdAt: string;
|
|
310
|
+
}
|
|
311
|
+
/**
|
|
312
|
+
* Chat-specific state enum
|
|
313
|
+
*/
|
|
314
|
+
export declare enum ChatState {
|
|
315
|
+
Idle = "idle",
|
|
316
|
+
Creating = "creating",
|
|
317
|
+
Active = "active",
|
|
318
|
+
Sending = "sending",
|
|
319
|
+
Ending = "ending",
|
|
320
|
+
Ended = "ended",
|
|
321
|
+
Error = "error"
|
|
322
|
+
}
|
|
323
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/voice/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// -----------------------------------------------------------------------------
|
|
3
|
+
// types.ts ─ WebSocket message contracts for the Audial SDK
|
|
4
|
+
// -----------------------------------------------------------------------------
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ChatState = exports.AudialState = exports.WebsocketRoomStatus = void 0;
|
|
7
|
+
var WebsocketRoomStatus;
|
|
8
|
+
(function (WebsocketRoomStatus) {
|
|
9
|
+
WebsocketRoomStatus["Pending"] = "pending";
|
|
10
|
+
WebsocketRoomStatus["Ready"] = "ready";
|
|
11
|
+
WebsocketRoomStatus["Active"] = "active";
|
|
12
|
+
WebsocketRoomStatus["Completed"] = "completed";
|
|
13
|
+
WebsocketRoomStatus["Failed"] = "failed";
|
|
14
|
+
WebsocketRoomStatus["Expired"] = "expired";
|
|
15
|
+
})(WebsocketRoomStatus || (exports.WebsocketRoomStatus = WebsocketRoomStatus = {}));
|
|
16
|
+
/* ============================================================================
|
|
17
|
+
6. Enhanced SDK Types
|
|
18
|
+
============================================================================ */
|
|
19
|
+
var AudialState;
|
|
20
|
+
(function (AudialState) {
|
|
21
|
+
AudialState[AudialState["Idle"] = 0] = "Idle";
|
|
22
|
+
AudialState[AudialState["CreatingRoom"] = 1] = "CreatingRoom";
|
|
23
|
+
AudialState[AudialState["WaitingForRoom"] = 2] = "WaitingForRoom";
|
|
24
|
+
AudialState[AudialState["Connecting"] = 3] = "Connecting";
|
|
25
|
+
AudialState[AudialState["Active"] = 4] = "Active";
|
|
26
|
+
AudialState[AudialState["Closing"] = 5] = "Closing";
|
|
27
|
+
})(AudialState || (exports.AudialState = AudialState = {}));
|
|
28
|
+
/**
|
|
29
|
+
* Chat-specific state enum
|
|
30
|
+
*/
|
|
31
|
+
var ChatState;
|
|
32
|
+
(function (ChatState) {
|
|
33
|
+
ChatState["Idle"] = "idle";
|
|
34
|
+
ChatState["Creating"] = "creating";
|
|
35
|
+
ChatState["Active"] = "active";
|
|
36
|
+
ChatState["Sending"] = "sending";
|
|
37
|
+
ChatState["Ending"] = "ending";
|
|
38
|
+
ChatState["Ended"] = "ended";
|
|
39
|
+
ChatState["Error"] = "error";
|
|
40
|
+
})(ChatState || (exports.ChatState = ChatState = {}));
|
|
41
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/voice/types.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,8DAA8D;AAC9D,gFAAgF;;;AA0EhF,IAAY,mBAOX;AAPD,WAAY,mBAAmB;IAC7B,0CAAmB,CAAA;IACnB,sCAAe,CAAA;IACf,wCAAiB,CAAA;IACjB,8CAAuB,CAAA;IACvB,wCAAiB,CAAA;IACjB,0CAAmB,CAAA;AACrB,CAAC,EAPW,mBAAmB,mCAAnB,mBAAmB,QAO9B;AA0MD;;+EAE+E;AAE/E,IAAY,WAOX;AAPD,WAAY,WAAW;IACrB,6CAAQ,CAAA;IACR,6DAAgB,CAAA;IAChB,iEAAkB,CAAA;IAClB,yDAAc,CAAA;IACd,iDAAU,CAAA;IACV,mDAAW,CAAA;AACb,CAAC,EAPW,WAAW,2BAAX,WAAW,QAOtB;AAqHD;;GAEG;AACH,IAAY,SAQX;AARD,WAAY,SAAS;IACnB,0BAAa,CAAA;IACb,kCAAqB,CAAA;IACrB,8BAAiB,CAAA;IACjB,gCAAmB,CAAA;IACnB,8BAAiB,CAAA;IACjB,4BAAe,CAAA;IACf,4BAAe,CAAA;AACjB,CAAC,EARW,SAAS,yBAAT,SAAS,QAQpB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility functions for data conversion and manipulation
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Converts a Blob to a base64 string
|
|
6
|
+
* @param blob The blob to convert
|
|
7
|
+
* @returns Promise resolving to base64 string or null if conversion fails
|
|
8
|
+
*/
|
|
9
|
+
export declare const blobToBase64: (blob: Blob) => Promise<string | null>;
|
|
10
|
+
/**
|
|
11
|
+
* Converts a base64 string to an ArrayBuffer
|
|
12
|
+
* @param base64 The base64 string to convert
|
|
13
|
+
* @returns ArrayBuffer containing the decoded data
|
|
14
|
+
*/
|
|
15
|
+
export declare const base64ToArrayBuffer: (base64: string) => ArrayBuffer;
|
|
16
|
+
/**
|
|
17
|
+
* Converts an ArrayBuffer to a base64 string
|
|
18
|
+
* @param buffer The ArrayBuffer to convert
|
|
19
|
+
* @returns base64 string
|
|
20
|
+
*/
|
|
21
|
+
export declare const arrayBufferToBase64: (buffer: ArrayBuffer) => string;
|
|
22
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/voice/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAU,MAAM,IAAI,KAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAMpE,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,QAAQ,MAAM,KAAG,WAGpD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,QAAQ,WAAW,KAAG,MAOzD,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Utility functions for data conversion and manipulation
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.arrayBufferToBase64 = exports.base64ToArrayBuffer = exports.blobToBase64 = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Converts a Blob to a base64 string
|
|
9
|
+
* @param blob The blob to convert
|
|
10
|
+
* @returns Promise resolving to base64 string or null if conversion fails
|
|
11
|
+
*/
|
|
12
|
+
const blobToBase64 = async (blob) => {
|
|
13
|
+
return await new Promise((resolve) => {
|
|
14
|
+
const reader = new FileReader();
|
|
15
|
+
reader.onloadend = () => { resolve(reader.result?.toString().split(',')[1] || null); };
|
|
16
|
+
reader.readAsDataURL(blob);
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
exports.blobToBase64 = blobToBase64;
|
|
20
|
+
/**
|
|
21
|
+
* Converts a base64 string to an ArrayBuffer
|
|
22
|
+
* @param base64 The base64 string to convert
|
|
23
|
+
* @returns ArrayBuffer containing the decoded data
|
|
24
|
+
*/
|
|
25
|
+
const base64ToArrayBuffer = (base64) => {
|
|
26
|
+
const byteArray = Uint8Array.from(atob(base64), c => c.charCodeAt(0));
|
|
27
|
+
return byteArray.buffer;
|
|
28
|
+
};
|
|
29
|
+
exports.base64ToArrayBuffer = base64ToArrayBuffer;
|
|
30
|
+
/**
|
|
31
|
+
* Converts an ArrayBuffer to a base64 string
|
|
32
|
+
* @param buffer The ArrayBuffer to convert
|
|
33
|
+
* @returns base64 string
|
|
34
|
+
*/
|
|
35
|
+
const arrayBufferToBase64 = (buffer) => {
|
|
36
|
+
const bytes = new Uint8Array(buffer);
|
|
37
|
+
let binary = '';
|
|
38
|
+
for (let i = 0; i < bytes.byteLength; i++) {
|
|
39
|
+
binary += String.fromCharCode(bytes[i]);
|
|
40
|
+
}
|
|
41
|
+
return btoa(binary);
|
|
42
|
+
};
|
|
43
|
+
exports.arrayBufferToBase64 = arrayBufferToBase64;
|
|
44
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/voice/utils.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH;;;;GAIG;AACI,MAAM,YAAY,GAAG,KAAK,EAAE,IAAU,EAA0B,EAAE;IACvE,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAG,EAAE;QACpC,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAA;QAC/B,MAAM,CAAC,SAAS,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAA,CAAC,CAAC,CAAA;QACrF,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AANY,QAAA,YAAY,gBAMxB;AAED;;;;GAIG;AACI,MAAM,mBAAmB,GAAG,CAAC,MAAc,EAAe,EAAE;IACjE,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,OAAO,SAAS,CAAC,MAAM,CAAC;AAC1B,CAAC,CAAC;AAHW,QAAA,mBAAmB,uBAG9B;AAEF;;;;GAIG;AACI,MAAM,mBAAmB,GAAG,CAAC,MAAmB,EAAU,EAAE;IACjE,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC,CAAC;AAPW,QAAA,mBAAmB,uBAO9B"}
|