phonic 0.32.13 → 0.32.14
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/cjs/custom/ReconnectableConversationsSocket.d.ts +16 -0
- package/dist/cjs/custom/ReconnectableConversationsSocket.js +127 -11
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/custom/ReconnectableConversationsSocket.d.mts +16 -0
- package/dist/esm/custom/ReconnectableConversationsSocket.mjs +127 -11
- package/dist/esm/version.d.mts +1 -1
- package/dist/esm/version.mjs +1 -1
- package/package.json +1 -1
- package/dist/index.d.mts +0 -240
- package/dist/index.d.ts +0 -240
- package/dist/index.js +0 -347
- package/dist/index.mjs +0 -310
package/dist/index.d.mts
DELETED
|
@@ -1,240 +0,0 @@
|
|
|
1
|
-
import WebSocket from 'ws';
|
|
2
|
-
|
|
3
|
-
type PhonicConfig = {
|
|
4
|
-
baseUrl?: string;
|
|
5
|
-
headers?: Record<string, string>;
|
|
6
|
-
__downstreamWebSocketUrl?: string;
|
|
7
|
-
};
|
|
8
|
-
type FetchOptions = {
|
|
9
|
-
method: "GET";
|
|
10
|
-
headers?: Record<string, string>;
|
|
11
|
-
} | {
|
|
12
|
-
method: "POST";
|
|
13
|
-
headers?: Record<string, string>;
|
|
14
|
-
body: string;
|
|
15
|
-
};
|
|
16
|
-
type DataOrError<T> = Promise<{
|
|
17
|
-
data: T;
|
|
18
|
-
error: null;
|
|
19
|
-
} | {
|
|
20
|
-
data: null;
|
|
21
|
-
error: {
|
|
22
|
-
message: string;
|
|
23
|
-
code?: string;
|
|
24
|
-
};
|
|
25
|
-
}>;
|
|
26
|
-
type ISODate = `${string}-${string}-${string}`;
|
|
27
|
-
type ISODateTime$1 = `${string}Z`;
|
|
28
|
-
|
|
29
|
-
type ISODateTime = `${string}Z`;
|
|
30
|
-
type ConversationItem = {
|
|
31
|
-
role: "user";
|
|
32
|
-
item_idx: number;
|
|
33
|
-
text: string;
|
|
34
|
-
duration_ms: number;
|
|
35
|
-
started_at: string;
|
|
36
|
-
} | {
|
|
37
|
-
role: "assistant";
|
|
38
|
-
item_idx: number;
|
|
39
|
-
text: string;
|
|
40
|
-
voice_id: string;
|
|
41
|
-
system_prompt: string;
|
|
42
|
-
output_audio_speed: number;
|
|
43
|
-
duration_ms: number;
|
|
44
|
-
started_at: string;
|
|
45
|
-
};
|
|
46
|
-
type Conversation = {
|
|
47
|
-
id: string;
|
|
48
|
-
external_id: string | null;
|
|
49
|
-
model: string;
|
|
50
|
-
welcome_message: string | null;
|
|
51
|
-
input_format: "pcm_44100" | "mulaw_8000";
|
|
52
|
-
output_format: "pcm_44100" | "mulaw_8000";
|
|
53
|
-
text: string;
|
|
54
|
-
duration_ms: number;
|
|
55
|
-
started_at: ISODateTime;
|
|
56
|
-
ended_at: ISODateTime;
|
|
57
|
-
items: Array<ConversationItem>;
|
|
58
|
-
};
|
|
59
|
-
type ConversationSuccessResponse = {
|
|
60
|
-
conversation: Conversation;
|
|
61
|
-
};
|
|
62
|
-
type ConversationsSuccessResponse = {
|
|
63
|
-
conversations: Array<Conversation>;
|
|
64
|
-
};
|
|
65
|
-
|
|
66
|
-
declare class Conversations {
|
|
67
|
-
private readonly phonic;
|
|
68
|
-
constructor(phonic: Phonic);
|
|
69
|
-
get(id: string): DataOrError<ConversationSuccessResponse>;
|
|
70
|
-
getByExternalId({ project, externalId, }: {
|
|
71
|
-
project?: string;
|
|
72
|
-
externalId: string;
|
|
73
|
-
}): DataOrError<ConversationSuccessResponse>;
|
|
74
|
-
list({ project, durationMin, durationMax, startedAtMin, startedAtMax, }: {
|
|
75
|
-
project?: string;
|
|
76
|
-
durationMin?: number;
|
|
77
|
-
durationMax?: number;
|
|
78
|
-
startedAtMin?: ISODate | ISODateTime$1;
|
|
79
|
-
startedAtMax?: ISODate | ISODateTime$1;
|
|
80
|
-
}): DataOrError<ConversationsSuccessResponse>;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
type PhonicSTSConfig = {
|
|
84
|
-
project: string;
|
|
85
|
-
input_format: "pcm_44100" | "mulaw_8000";
|
|
86
|
-
system_prompt?: string;
|
|
87
|
-
welcome_message?: string;
|
|
88
|
-
voice_id?: string;
|
|
89
|
-
output_format?: "pcm_44100" | "mulaw_8000";
|
|
90
|
-
enable_silent_audio_fallback?: boolean;
|
|
91
|
-
experimental_params?: Record<string, unknown>;
|
|
92
|
-
tools?: string[];
|
|
93
|
-
vad_prebuffer_duration_ms?: number;
|
|
94
|
-
vad_min_speech_duration_ms?: number;
|
|
95
|
-
vad_min_silence_duration_ms?: number;
|
|
96
|
-
vad_threshold?: number;
|
|
97
|
-
};
|
|
98
|
-
type PhonicSTSWebSocketResponseMessage = {
|
|
99
|
-
type: "ready_to_start_conversation";
|
|
100
|
-
} | {
|
|
101
|
-
type: "input_text";
|
|
102
|
-
text: string;
|
|
103
|
-
} | {
|
|
104
|
-
type: "audio_chunk";
|
|
105
|
-
text: string;
|
|
106
|
-
audio: string;
|
|
107
|
-
} | {
|
|
108
|
-
type: "is_user_speaking";
|
|
109
|
-
isUserSpeaking: boolean;
|
|
110
|
-
} | {
|
|
111
|
-
type: "interrupted_response";
|
|
112
|
-
interruptedResponse: string;
|
|
113
|
-
} | {
|
|
114
|
-
type: "assistant_ended_conversation";
|
|
115
|
-
} | {
|
|
116
|
-
type: "error";
|
|
117
|
-
error: {
|
|
118
|
-
message: string;
|
|
119
|
-
code?: string;
|
|
120
|
-
};
|
|
121
|
-
param_errors?: {
|
|
122
|
-
input_format?: string;
|
|
123
|
-
system_prompt?: string;
|
|
124
|
-
welcome_message?: string;
|
|
125
|
-
voice_id?: string;
|
|
126
|
-
output_format?: string;
|
|
127
|
-
};
|
|
128
|
-
};
|
|
129
|
-
type OnMessageCallback = (message: PhonicSTSWebSocketResponseMessage) => void;
|
|
130
|
-
type OnCloseCallback = (event: WebSocket.CloseEvent) => void;
|
|
131
|
-
type OnErrorCallback = (event: WebSocket.ErrorEvent) => void;
|
|
132
|
-
type PhonicSTSOutboundCallConfig = Omit<PhonicSTSConfig, "input_format" | "output_format">;
|
|
133
|
-
type OutboundCallSuccessResponse = {
|
|
134
|
-
success: true;
|
|
135
|
-
};
|
|
136
|
-
|
|
137
|
-
type PhonicSTSTwilioOutboundCallParams = {
|
|
138
|
-
account_sid: string;
|
|
139
|
-
api_key_sid: string;
|
|
140
|
-
api_key_secret: string;
|
|
141
|
-
from_phone_number: string;
|
|
142
|
-
to_phone_number: string;
|
|
143
|
-
};
|
|
144
|
-
type PhonicSTSTwilioOutboundCallConfig = PhonicSTSOutboundCallConfig;
|
|
145
|
-
type TwilioOutboundCallSuccessResponse = {
|
|
146
|
-
success: true;
|
|
147
|
-
callSid: string;
|
|
148
|
-
};
|
|
149
|
-
|
|
150
|
-
declare class Twilio {
|
|
151
|
-
private readonly phonic;
|
|
152
|
-
constructor(phonic: Phonic);
|
|
153
|
-
outboundCall(params: PhonicSTSTwilioOutboundCallParams, config: PhonicSTSTwilioOutboundCallConfig): DataOrError<TwilioOutboundCallSuccessResponse>;
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
declare class PhonicSTSWebSocket {
|
|
157
|
-
private readonly ws;
|
|
158
|
-
private readonly config;
|
|
159
|
-
private onMessageCallback;
|
|
160
|
-
private onCloseCallback;
|
|
161
|
-
private onErrorCallback;
|
|
162
|
-
private buffer;
|
|
163
|
-
private isOpen;
|
|
164
|
-
constructor(ws: WebSocket, config: PhonicSTSConfig);
|
|
165
|
-
onMessage(callback: OnMessageCallback): void;
|
|
166
|
-
onClose(callback: OnCloseCallback): void;
|
|
167
|
-
onError(callback: OnErrorCallback): void;
|
|
168
|
-
audioChunk({ audio }: {
|
|
169
|
-
audio: string;
|
|
170
|
-
}): void;
|
|
171
|
-
updateSystemPrompt({ systemPrompt }: {
|
|
172
|
-
systemPrompt: string;
|
|
173
|
-
}): void;
|
|
174
|
-
setExternalId({ externalId }: {
|
|
175
|
-
externalId: string;
|
|
176
|
-
}): void;
|
|
177
|
-
close(code?: number): void;
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
declare class SpeechToSpeech {
|
|
181
|
-
private readonly phonic;
|
|
182
|
-
readonly twilio: Twilio;
|
|
183
|
-
constructor(phonic: Phonic);
|
|
184
|
-
websocket(config: PhonicSTSConfig): PhonicSTSWebSocket;
|
|
185
|
-
outboundCall(toPhoneNumber: string, config: PhonicSTSOutboundCallConfig): DataOrError<OutboundCallSuccessResponse>;
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
type Voice = {
|
|
189
|
-
id: string;
|
|
190
|
-
name: string;
|
|
191
|
-
};
|
|
192
|
-
type VoicesSuccessResponse = {
|
|
193
|
-
voices: Array<Voice>;
|
|
194
|
-
};
|
|
195
|
-
type VoiceSuccessResponse = {
|
|
196
|
-
voice: Voice;
|
|
197
|
-
};
|
|
198
|
-
|
|
199
|
-
declare class Voices {
|
|
200
|
-
private readonly phonic;
|
|
201
|
-
constructor(phonic: Phonic);
|
|
202
|
-
list({ model }: {
|
|
203
|
-
model: string;
|
|
204
|
-
}): DataOrError<VoicesSuccessResponse>;
|
|
205
|
-
get(id: string): DataOrError<VoiceSuccessResponse>;
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
declare class Phonic {
|
|
209
|
-
readonly apiKey: string;
|
|
210
|
-
readonly baseUrl: string;
|
|
211
|
-
readonly __downstreamWebSocketUrl: string | null;
|
|
212
|
-
readonly headers: Record<string, string>;
|
|
213
|
-
readonly conversations: Conversations;
|
|
214
|
-
readonly voices: Voices;
|
|
215
|
-
readonly sts: SpeechToSpeech;
|
|
216
|
-
constructor(apiKey: string, config?: PhonicConfig);
|
|
217
|
-
fetchRequest<T>(path: string, options: FetchOptions): DataOrError<T>;
|
|
218
|
-
get<T>(path: string): Promise<{
|
|
219
|
-
data: null;
|
|
220
|
-
error: {
|
|
221
|
-
message: string;
|
|
222
|
-
code?: string;
|
|
223
|
-
};
|
|
224
|
-
} | {
|
|
225
|
-
data: T;
|
|
226
|
-
error: null;
|
|
227
|
-
}>;
|
|
228
|
-
post<T>(path: string, body: Record<string, unknown>, headers?: Record<string, string>): Promise<{
|
|
229
|
-
data: null;
|
|
230
|
-
error: {
|
|
231
|
-
message: string;
|
|
232
|
-
code?: string;
|
|
233
|
-
};
|
|
234
|
-
} | {
|
|
235
|
-
data: T;
|
|
236
|
-
error: null;
|
|
237
|
-
}>;
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
export { Phonic, type PhonicSTSConfig, PhonicSTSWebSocket };
|
package/dist/index.d.ts
DELETED
|
@@ -1,240 +0,0 @@
|
|
|
1
|
-
import WebSocket from 'ws';
|
|
2
|
-
|
|
3
|
-
type PhonicConfig = {
|
|
4
|
-
baseUrl?: string;
|
|
5
|
-
headers?: Record<string, string>;
|
|
6
|
-
__downstreamWebSocketUrl?: string;
|
|
7
|
-
};
|
|
8
|
-
type FetchOptions = {
|
|
9
|
-
method: "GET";
|
|
10
|
-
headers?: Record<string, string>;
|
|
11
|
-
} | {
|
|
12
|
-
method: "POST";
|
|
13
|
-
headers?: Record<string, string>;
|
|
14
|
-
body: string;
|
|
15
|
-
};
|
|
16
|
-
type DataOrError<T> = Promise<{
|
|
17
|
-
data: T;
|
|
18
|
-
error: null;
|
|
19
|
-
} | {
|
|
20
|
-
data: null;
|
|
21
|
-
error: {
|
|
22
|
-
message: string;
|
|
23
|
-
code?: string;
|
|
24
|
-
};
|
|
25
|
-
}>;
|
|
26
|
-
type ISODate = `${string}-${string}-${string}`;
|
|
27
|
-
type ISODateTime$1 = `${string}Z`;
|
|
28
|
-
|
|
29
|
-
type ISODateTime = `${string}Z`;
|
|
30
|
-
type ConversationItem = {
|
|
31
|
-
role: "user";
|
|
32
|
-
item_idx: number;
|
|
33
|
-
text: string;
|
|
34
|
-
duration_ms: number;
|
|
35
|
-
started_at: string;
|
|
36
|
-
} | {
|
|
37
|
-
role: "assistant";
|
|
38
|
-
item_idx: number;
|
|
39
|
-
text: string;
|
|
40
|
-
voice_id: string;
|
|
41
|
-
system_prompt: string;
|
|
42
|
-
output_audio_speed: number;
|
|
43
|
-
duration_ms: number;
|
|
44
|
-
started_at: string;
|
|
45
|
-
};
|
|
46
|
-
type Conversation = {
|
|
47
|
-
id: string;
|
|
48
|
-
external_id: string | null;
|
|
49
|
-
model: string;
|
|
50
|
-
welcome_message: string | null;
|
|
51
|
-
input_format: "pcm_44100" | "mulaw_8000";
|
|
52
|
-
output_format: "pcm_44100" | "mulaw_8000";
|
|
53
|
-
text: string;
|
|
54
|
-
duration_ms: number;
|
|
55
|
-
started_at: ISODateTime;
|
|
56
|
-
ended_at: ISODateTime;
|
|
57
|
-
items: Array<ConversationItem>;
|
|
58
|
-
};
|
|
59
|
-
type ConversationSuccessResponse = {
|
|
60
|
-
conversation: Conversation;
|
|
61
|
-
};
|
|
62
|
-
type ConversationsSuccessResponse = {
|
|
63
|
-
conversations: Array<Conversation>;
|
|
64
|
-
};
|
|
65
|
-
|
|
66
|
-
declare class Conversations {
|
|
67
|
-
private readonly phonic;
|
|
68
|
-
constructor(phonic: Phonic);
|
|
69
|
-
get(id: string): DataOrError<ConversationSuccessResponse>;
|
|
70
|
-
getByExternalId({ project, externalId, }: {
|
|
71
|
-
project?: string;
|
|
72
|
-
externalId: string;
|
|
73
|
-
}): DataOrError<ConversationSuccessResponse>;
|
|
74
|
-
list({ project, durationMin, durationMax, startedAtMin, startedAtMax, }: {
|
|
75
|
-
project?: string;
|
|
76
|
-
durationMin?: number;
|
|
77
|
-
durationMax?: number;
|
|
78
|
-
startedAtMin?: ISODate | ISODateTime$1;
|
|
79
|
-
startedAtMax?: ISODate | ISODateTime$1;
|
|
80
|
-
}): DataOrError<ConversationsSuccessResponse>;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
type PhonicSTSConfig = {
|
|
84
|
-
project: string;
|
|
85
|
-
input_format: "pcm_44100" | "mulaw_8000";
|
|
86
|
-
system_prompt?: string;
|
|
87
|
-
welcome_message?: string;
|
|
88
|
-
voice_id?: string;
|
|
89
|
-
output_format?: "pcm_44100" | "mulaw_8000";
|
|
90
|
-
enable_silent_audio_fallback?: boolean;
|
|
91
|
-
experimental_params?: Record<string, unknown>;
|
|
92
|
-
tools?: string[];
|
|
93
|
-
vad_prebuffer_duration_ms?: number;
|
|
94
|
-
vad_min_speech_duration_ms?: number;
|
|
95
|
-
vad_min_silence_duration_ms?: number;
|
|
96
|
-
vad_threshold?: number;
|
|
97
|
-
};
|
|
98
|
-
type PhonicSTSWebSocketResponseMessage = {
|
|
99
|
-
type: "ready_to_start_conversation";
|
|
100
|
-
} | {
|
|
101
|
-
type: "input_text";
|
|
102
|
-
text: string;
|
|
103
|
-
} | {
|
|
104
|
-
type: "audio_chunk";
|
|
105
|
-
text: string;
|
|
106
|
-
audio: string;
|
|
107
|
-
} | {
|
|
108
|
-
type: "is_user_speaking";
|
|
109
|
-
isUserSpeaking: boolean;
|
|
110
|
-
} | {
|
|
111
|
-
type: "interrupted_response";
|
|
112
|
-
interruptedResponse: string;
|
|
113
|
-
} | {
|
|
114
|
-
type: "assistant_ended_conversation";
|
|
115
|
-
} | {
|
|
116
|
-
type: "error";
|
|
117
|
-
error: {
|
|
118
|
-
message: string;
|
|
119
|
-
code?: string;
|
|
120
|
-
};
|
|
121
|
-
param_errors?: {
|
|
122
|
-
input_format?: string;
|
|
123
|
-
system_prompt?: string;
|
|
124
|
-
welcome_message?: string;
|
|
125
|
-
voice_id?: string;
|
|
126
|
-
output_format?: string;
|
|
127
|
-
};
|
|
128
|
-
};
|
|
129
|
-
type OnMessageCallback = (message: PhonicSTSWebSocketResponseMessage) => void;
|
|
130
|
-
type OnCloseCallback = (event: WebSocket.CloseEvent) => void;
|
|
131
|
-
type OnErrorCallback = (event: WebSocket.ErrorEvent) => void;
|
|
132
|
-
type PhonicSTSOutboundCallConfig = Omit<PhonicSTSConfig, "input_format" | "output_format">;
|
|
133
|
-
type OutboundCallSuccessResponse = {
|
|
134
|
-
success: true;
|
|
135
|
-
};
|
|
136
|
-
|
|
137
|
-
type PhonicSTSTwilioOutboundCallParams = {
|
|
138
|
-
account_sid: string;
|
|
139
|
-
api_key_sid: string;
|
|
140
|
-
api_key_secret: string;
|
|
141
|
-
from_phone_number: string;
|
|
142
|
-
to_phone_number: string;
|
|
143
|
-
};
|
|
144
|
-
type PhonicSTSTwilioOutboundCallConfig = PhonicSTSOutboundCallConfig;
|
|
145
|
-
type TwilioOutboundCallSuccessResponse = {
|
|
146
|
-
success: true;
|
|
147
|
-
callSid: string;
|
|
148
|
-
};
|
|
149
|
-
|
|
150
|
-
declare class Twilio {
|
|
151
|
-
private readonly phonic;
|
|
152
|
-
constructor(phonic: Phonic);
|
|
153
|
-
outboundCall(params: PhonicSTSTwilioOutboundCallParams, config: PhonicSTSTwilioOutboundCallConfig): DataOrError<TwilioOutboundCallSuccessResponse>;
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
declare class PhonicSTSWebSocket {
|
|
157
|
-
private readonly ws;
|
|
158
|
-
private readonly config;
|
|
159
|
-
private onMessageCallback;
|
|
160
|
-
private onCloseCallback;
|
|
161
|
-
private onErrorCallback;
|
|
162
|
-
private buffer;
|
|
163
|
-
private isOpen;
|
|
164
|
-
constructor(ws: WebSocket, config: PhonicSTSConfig);
|
|
165
|
-
onMessage(callback: OnMessageCallback): void;
|
|
166
|
-
onClose(callback: OnCloseCallback): void;
|
|
167
|
-
onError(callback: OnErrorCallback): void;
|
|
168
|
-
audioChunk({ audio }: {
|
|
169
|
-
audio: string;
|
|
170
|
-
}): void;
|
|
171
|
-
updateSystemPrompt({ systemPrompt }: {
|
|
172
|
-
systemPrompt: string;
|
|
173
|
-
}): void;
|
|
174
|
-
setExternalId({ externalId }: {
|
|
175
|
-
externalId: string;
|
|
176
|
-
}): void;
|
|
177
|
-
close(code?: number): void;
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
declare class SpeechToSpeech {
|
|
181
|
-
private readonly phonic;
|
|
182
|
-
readonly twilio: Twilio;
|
|
183
|
-
constructor(phonic: Phonic);
|
|
184
|
-
websocket(config: PhonicSTSConfig): PhonicSTSWebSocket;
|
|
185
|
-
outboundCall(toPhoneNumber: string, config: PhonicSTSOutboundCallConfig): DataOrError<OutboundCallSuccessResponse>;
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
type Voice = {
|
|
189
|
-
id: string;
|
|
190
|
-
name: string;
|
|
191
|
-
};
|
|
192
|
-
type VoicesSuccessResponse = {
|
|
193
|
-
voices: Array<Voice>;
|
|
194
|
-
};
|
|
195
|
-
type VoiceSuccessResponse = {
|
|
196
|
-
voice: Voice;
|
|
197
|
-
};
|
|
198
|
-
|
|
199
|
-
declare class Voices {
|
|
200
|
-
private readonly phonic;
|
|
201
|
-
constructor(phonic: Phonic);
|
|
202
|
-
list({ model }: {
|
|
203
|
-
model: string;
|
|
204
|
-
}): DataOrError<VoicesSuccessResponse>;
|
|
205
|
-
get(id: string): DataOrError<VoiceSuccessResponse>;
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
declare class Phonic {
|
|
209
|
-
readonly apiKey: string;
|
|
210
|
-
readonly baseUrl: string;
|
|
211
|
-
readonly __downstreamWebSocketUrl: string | null;
|
|
212
|
-
readonly headers: Record<string, string>;
|
|
213
|
-
readonly conversations: Conversations;
|
|
214
|
-
readonly voices: Voices;
|
|
215
|
-
readonly sts: SpeechToSpeech;
|
|
216
|
-
constructor(apiKey: string, config?: PhonicConfig);
|
|
217
|
-
fetchRequest<T>(path: string, options: FetchOptions): DataOrError<T>;
|
|
218
|
-
get<T>(path: string): Promise<{
|
|
219
|
-
data: null;
|
|
220
|
-
error: {
|
|
221
|
-
message: string;
|
|
222
|
-
code?: string;
|
|
223
|
-
};
|
|
224
|
-
} | {
|
|
225
|
-
data: T;
|
|
226
|
-
error: null;
|
|
227
|
-
}>;
|
|
228
|
-
post<T>(path: string, body: Record<string, unknown>, headers?: Record<string, string>): Promise<{
|
|
229
|
-
data: null;
|
|
230
|
-
error: {
|
|
231
|
-
message: string;
|
|
232
|
-
code?: string;
|
|
233
|
-
};
|
|
234
|
-
} | {
|
|
235
|
-
data: T;
|
|
236
|
-
error: null;
|
|
237
|
-
}>;
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
export { Phonic, type PhonicSTSConfig, PhonicSTSWebSocket };
|