@cemscale-voip/voip-sdk 1.24.3 → 1.25.1

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/client.d.ts DELETED
@@ -1,654 +0,0 @@
1
- import type { VoIPClientConfig, RequestOptions, SipProvisioningInfo, LoginParams, AdminLoginParams, AuthResponse, TurnCredentials, CallListParams, CallListResponse, CallRecord, OriginateParams, OriginateResponse, TransferParams, ActiveCall, CallStats, ExportCallsParams, Extension, CreateExtensionParams, UpdateExtensionParams, Tenant, CreateTenantParams, UpdateTenantParams, DidNumber, CreateDidParams, UpdateDidParams, IvrMenu, CreateIvrParams, UpdateIvrParams, IvrTtsParams, IvrVoice, PresenceMap, PresenceDetailMap, WsMessage, RecordingUrlResponse, RecordingListParams, RecordingListResponse, Conference, RingGroup, CreateRingGroupParams, CallQueue, CreateQueueParams, QueueStats, Webhook, WebhookDelivery, CreateWebhookParams, VoicemailMessage, VoicemailListParams, VoicemailListResponse, VoicemailCountResponse, VoicemailGreeting, UpdateGreetingParams, CallForwardParams, CallForwardResponse, ParkedCall, PaginationInfo, DashboardStats, CallsByDayResponse, TopExtensionsResponse, BlockedNumber, CreateBlockedNumberParams, BlocklistCheckResponse, BusinessSchedule, CreateScheduleParams, ScheduleStatusResponse, SipTrunk, CreateTrunkParams, GatewayStatus, SipCredentials, ApiKey, CreateApiKeyParams, UpdateApiKeyParams } from './types.js';
2
- declare class HttpError extends Error {
3
- status: number;
4
- statusText: string;
5
- body: unknown;
6
- constructor(status: number, statusText: string, body: unknown);
7
- }
8
- export { HttpError };
9
- export declare class VoIPClient {
10
- private apiUrl;
11
- private token;
12
- private apiKey;
13
- private tenantId;
14
- private timeout;
15
- private ws;
16
- private wsReconnectTimer;
17
- private wsReconnectAttempts;
18
- private readonly WS_MAX_RECONNECT;
19
- private wsListeners;
20
- private wsPingInterval;
21
- private wsConnected;
22
- constructor(config: VoIPClientConfig);
23
- /** Set or change the API key at runtime */
24
- setApiKey(apiKey: string): void;
25
- /** Get the current API key */
26
- getApiKey(): string | null;
27
- /** Set JWT token (only for browser login flows — most apps should use apiKey) */
28
- setToken(token: string): void;
29
- /** Get current JWT token */
30
- getToken(): string | null;
31
- /** Set tenant ID (only used by superadmin) */
32
- setTenantId(tenantId: string): void;
33
- getTenantId(): string | null;
34
- private request;
35
- /** Login as an extension user */
36
- login(params: LoginParams): Promise<AuthResponse>;
37
- /** Login as a tenant admin */
38
- adminLogin(params: AdminLoginParams): Promise<AuthResponse>;
39
- /** Login as platform superadmin */
40
- superadminLogin(params: AdminLoginParams): Promise<AuthResponse>;
41
- /** Get current user info */
42
- me(): Promise<{
43
- user: any;
44
- }>;
45
- /** Get TURN credentials for WebRTC */
46
- getTurnCredentials(): Promise<TurnCredentials>;
47
- /** List call records with pagination and filters */
48
- listCalls(params?: CallListParams): Promise<CallListResponse>;
49
- /** Get a single call record */
50
- getCall(id: string): Promise<{
51
- call: CallRecord;
52
- }>;
53
- /** Originate a call via FreeSWITCH. Pass `options.tenantId` when using a global superadmin key. */
54
- originate(params: OriginateParams, options?: RequestOptions): Promise<OriginateResponse>;
55
- /** Hang up an active call */
56
- hangup(uuid: string): Promise<{
57
- message: string;
58
- }>;
59
- /** Transfer an active call (blind or attended) */
60
- transfer(uuid: string, params: TransferParams): Promise<{
61
- message: string;
62
- }>;
63
- /** List active calls from FreeSWITCH */
64
- getActiveCalls(): Promise<{
65
- activeCalls: ActiveCall[];
66
- }>;
67
- /** Get call statistics for a period */
68
- getCallStats(period?: 'today' | '7d' | '30d' | '90d'): Promise<CallStats>;
69
- /** Place a call on hold or resume */
70
- holdCall(uuid: string, hold?: boolean): Promise<{
71
- message: string;
72
- }>;
73
- /** Park an active call */
74
- parkCall(uuid: string, slot?: number): Promise<{
75
- message: string;
76
- slot: string;
77
- }>;
78
- /** List parked calls */
79
- getParkedCalls(): Promise<{
80
- parkedCalls: ParkedCall[];
81
- }>;
82
- /** Export CDR as CSV. Returns raw CSV text. */
83
- exportCalls(params?: ExportCallsParams): Promise<string>;
84
- /** List extensions for the current tenant */
85
- listExtensions(): Promise<{
86
- extensions: Extension[];
87
- }>;
88
- /** Get a single extension */
89
- getExtension(id: string): Promise<{
90
- extension: Extension;
91
- }>;
92
- /** Create an extension (also creates Kamailio subscriber). Pass `options.tenantId` when using a global superadmin key. */
93
- createExtension(params: CreateExtensionParams, options?: RequestOptions): Promise<{
94
- extension: Extension;
95
- sip: SipProvisioningInfo;
96
- }>;
97
- /** Update an extension */
98
- updateExtension(id: string, params: UpdateExtensionParams): Promise<{
99
- message: string;
100
- }>;
101
- /** Delete an extension */
102
- deleteExtension(id: string): Promise<{
103
- message: string;
104
- }>;
105
- /** Get call forward settings for an extension */
106
- getCallForward(extensionId: string): Promise<CallForwardResponse>;
107
- /** Set call forward for an extension */
108
- setCallForward(extensionId: string, params: CallForwardParams): Promise<CallForwardResponse>;
109
- /** Lookup extension by CRM user ID */
110
- getExtensionByCrmUser(crmUserId: string): Promise<{
111
- extension: Extension;
112
- }>;
113
- /** Update CRM mapping for an extension */
114
- updateCrmMapping(extensionId: string, params: {
115
- crmUserId: string | null;
116
- crmMetadata?: Record<string, unknown> | null;
117
- }): Promise<{
118
- extension: string;
119
- crmUserId: string;
120
- crmMetadata: any;
121
- }>;
122
- /**
123
- * Get SIP credentials for connecting a WebRTC softphone.
124
- * Returns everything needed to register: extension, password, SIP domain, WebSocket URI.
125
- * Use this so your app never needs to store SIP passwords.
126
- *
127
- * @example
128
- * const { sipCredentials } = await voip.getSipCredentials('extension-uuid');
129
- * // Use with WebRTCPhone or useVoIP hook
130
- */
131
- getSipCredentials(extensionId: string): Promise<{
132
- sipCredentials: SipCredentials;
133
- }>;
134
- /**
135
- * Get SIP credentials by extension number (e.g. "1001") instead of UUID.
136
- * Same as getSipCredentials() but looks up by number.
137
- *
138
- * @example
139
- * const { sipCredentials } = await voip.getSipCredentialsByNumber('1001');
140
- */
141
- getSipCredentialsByNumber(extensionNumber: string): Promise<{
142
- sipCredentials: SipCredentials;
143
- }>;
144
- /** List all tenants (superadmin only) */
145
- listTenants(): Promise<{
146
- tenants: Tenant[];
147
- }>;
148
- /** Get a single tenant */
149
- getTenant(id: string): Promise<{
150
- tenant: Tenant;
151
- }>;
152
- /** Create a tenant (superadmin only) */
153
- createTenant(params: CreateTenantParams): Promise<{
154
- tenant: Tenant;
155
- }>;
156
- /** Update a tenant (superadmin only) */
157
- updateTenant(id: string, params: UpdateTenantParams): Promise<{
158
- tenant: Tenant;
159
- }>;
160
- /** Delete a tenant and all associated data (superadmin only).
161
- * Performs complete cleanup: DB records, FreeSWITCH gateways, audio files, Redis presence. */
162
- deleteTenant(id: string): Promise<{
163
- message: string;
164
- cleaned: {
165
- db: boolean;
166
- gateways: number;
167
- recordings: number;
168
- voicemails: number;
169
- greetings: boolean;
170
- ivrAudio: number;
171
- redisKeys: boolean;
172
- };
173
- warnings?: string[];
174
- }>;
175
- /** Get tenant statistics */
176
- getTenantStats(id: string): Promise<{
177
- stats: {
178
- extensions: number;
179
- dids: number;
180
- totalCalls: number;
181
- };
182
- }>;
183
- /** List DID numbers */
184
- listDids(): Promise<{
185
- dids: DidNumber[];
186
- }>;
187
- /** Create a DID. Pass `options.tenantId` when using a global superadmin key. */
188
- createDid(params: CreateDidParams, options?: RequestOptions): Promise<{
189
- did: DidNumber;
190
- }>;
191
- /** Get a single DID by ID */
192
- getDid(id: string): Promise<{
193
- did: DidNumber;
194
- }>;
195
- /** Update a DID */
196
- updateDid(id: string, params: UpdateDidParams): Promise<{
197
- did: DidNumber;
198
- }>;
199
- /** Delete a DID */
200
- deleteDid(id: string): Promise<{
201
- message: string;
202
- }>;
203
- /** List IVR menus */
204
- listIvrMenus(): Promise<{
205
- menus: IvrMenu[];
206
- }>;
207
- /** Get a single IVR menu */
208
- getIvrMenu(id: string): Promise<{
209
- menu: IvrMenu;
210
- }>;
211
- /** Create an IVR menu. Pass `options.tenantId` when using a global superadmin key. */
212
- createIvrMenu(params: CreateIvrParams, options?: RequestOptions): Promise<{
213
- menu: IvrMenu;
214
- }>;
215
- /** Update an IVR menu */
216
- updateIvrMenu(id: string, params: UpdateIvrParams): Promise<{
217
- menu: IvrMenu;
218
- }>;
219
- /** Delete an IVR menu and its audio files */
220
- deleteIvrMenu(id: string): Promise<{
221
- message: string;
222
- }>;
223
- /**
224
- * Upload a greeting audio file for an IVR menu.
225
- * The file is automatically converted to WAV 8kHz mono (FreeSWITCH format).
226
- * Accepts WAV, MP3, OGG, M4A.
227
- *
228
- * @param id - IVR menu ID
229
- * @param file - File blob or Buffer
230
- * @param filename - Original filename (e.g. "greeting.mp3")
231
- */
232
- uploadIvrAudio(id: string, file: Blob | Buffer, filename: string): Promise<{
233
- message: string;
234
- menu: IvrMenu;
235
- }>;
236
- /**
237
- * Upload a custom "invalid input" audio file for an IVR menu.
238
- * Played when the caller presses an invalid digit.
239
- */
240
- uploadIvrInvalidAudio(id: string, file: Blob | Buffer, filename: string): Promise<{
241
- message: string;
242
- menu: IvrMenu;
243
- }>;
244
- /**
245
- * Get the greeting audio file URL for streaming/download.
246
- * The URL includes the API key as a query parameter so it can be used
247
- * directly in HTML <audio src="..."> elements without custom headers.
248
- */
249
- getIvrAudioUrl(id: string): string;
250
- /**
251
- * Get the invalid input audio file URL for streaming/download.
252
- * The URL includes the API key as a query parameter.
253
- */
254
- getIvrInvalidAudioUrl(id: string): string;
255
- /**
256
- * Download the greeting audio as a Blob (for programmatic use).
257
- * Use getIvrAudioUrl() for direct browser playback via <audio> tags.
258
- */
259
- downloadIvrAudio(id: string): Promise<Blob>;
260
- /**
261
- * Download the invalid input audio as a Blob (for programmatic use).
262
- */
263
- downloadIvrInvalidAudio(id: string): Promise<Blob>;
264
- /** Delete the greeting audio file (reverts to generic prompts) */
265
- deleteIvrAudio(id: string): Promise<{
266
- message: string;
267
- }>;
268
- /** Delete the invalid input audio file (reverts to default) */
269
- deleteIvrInvalidAudio(id: string): Promise<{
270
- message: string;
271
- }>;
272
- /**
273
- * Generate greeting audio via ElevenLabs TTS.
274
- * The generated audio is automatically saved as the IVR greeting.
275
- */
276
- generateIvrTts(id: string, params: IvrTtsParams): Promise<{
277
- message: string;
278
- menu: IvrMenu;
279
- }>;
280
- /** List available TTS voices for IVR greetings */
281
- listIvrVoices(): Promise<{
282
- voices: IvrVoice[];
283
- }>;
284
- /** List recordings with pagination. Each recording includes an audio_url for direct streaming. */
285
- listRecordings(params?: RecordingListParams): Promise<RecordingListResponse>;
286
- /**
287
- * Get a direct URL to stream/download a recording.
288
- * The URL supports auth via ?apiKey= query param for browser <audio> elements.
289
- */
290
- getRecordingUrl(id: string): Promise<RecordingUrlResponse>;
291
- /**
292
- * Get the audio streaming URL for a recording, ready for browser playback.
293
- * Appends the API key as a query parameter so it works with <audio src="...">.
294
- */
295
- getRecordingAudioUrl(id: string): string;
296
- /**
297
- * Get the download URL for a recording (Content-Disposition: attachment).
298
- * Appends the API key as a query parameter.
299
- */
300
- getRecordingDownloadUrl(id: string): string;
301
- /** Delete a recording and its file from the server */
302
- deleteRecording(id: string): Promise<{
303
- message: string;
304
- }>;
305
- /** List active conferences */
306
- listConferences(): Promise<{
307
- conferences: Conference[];
308
- }>;
309
- /** Get conference details */
310
- getConference(name: string): Promise<{
311
- conference: Conference;
312
- }>;
313
- /** Join a call to a conference */
314
- joinConference(conferenceName: string, callUuid: string): Promise<{
315
- message: string;
316
- }>;
317
- /** Transfer a call to conference */
318
- transferToConference(uuid: string, conferenceName?: string): Promise<{
319
- message: string;
320
- }>;
321
- /** Kick a member from conference */
322
- kickFromConference(conferenceName: string, memberId: string): Promise<{
323
- message: string;
324
- }>;
325
- /** Mute/unmute a conference member */
326
- muteConferenceMember(conferenceName: string, memberId: string, mute?: boolean): Promise<{
327
- message: string;
328
- }>;
329
- /** Deaf/undeaf a conference member */
330
- deafConferenceMember(conferenceName: string, memberId: string, deaf?: boolean): Promise<{
331
- message: string;
332
- }>;
333
- /** Lock/unlock a conference */
334
- lockConference(conferenceName: string, lock?: boolean): Promise<{
335
- message: string;
336
- }>;
337
- /** Start/stop conference recording */
338
- recordConference(conferenceName: string, action: 'start' | 'stop'): Promise<{
339
- message: string;
340
- filePath?: string;
341
- }>;
342
- /** List ring groups */
343
- listRingGroups(): Promise<{
344
- ringGroups: RingGroup[];
345
- }>;
346
- /** Get a ring group */
347
- getRingGroup(id: string): Promise<{
348
- ringGroup: RingGroup;
349
- }>;
350
- /** Create a ring group. Pass `options.tenantId` when using a global superadmin key. */
351
- createRingGroup(params: CreateRingGroupParams, options?: RequestOptions): Promise<{
352
- ringGroup: RingGroup;
353
- }>;
354
- /** Update a ring group */
355
- updateRingGroup(id: string, params: Partial<CreateRingGroupParams>): Promise<{
356
- ringGroup: RingGroup;
357
- }>;
358
- /** Delete a ring group */
359
- deleteRingGroup(id: string): Promise<{
360
- message: string;
361
- }>;
362
- /** List call queues */
363
- listQueues(): Promise<{
364
- queues: CallQueue[];
365
- }>;
366
- /** Get a call queue */
367
- getQueue(id: string): Promise<{
368
- queue: CallQueue;
369
- }>;
370
- /** Create a call queue. Pass `options.tenantId` when using a global superadmin key. */
371
- createQueue(params: CreateQueueParams, options?: RequestOptions): Promise<{
372
- queue: CallQueue;
373
- }>;
374
- /** Update a call queue */
375
- updateQueue(id: string, params: Partial<CreateQueueParams>): Promise<{
376
- queue: CallQueue;
377
- }>;
378
- /** Delete a call queue */
379
- deleteQueue(id: string): Promise<{
380
- message: string;
381
- }>;
382
- /** Pause/unpause a queue agent */
383
- pauseQueueAgent(queueId: string, agentId: string, paused?: boolean): Promise<{
384
- message: string;
385
- }>;
386
- /** Login/logout a queue agent */
387
- loginQueueAgent(queueId: string, agentId: string, loggedIn?: boolean): Promise<{
388
- message: string;
389
- }>;
390
- /** Get real-time queue statistics (agent counts, today's call metrics) */
391
- getQueueStats(queueId: string): Promise<{
392
- stats: QueueStats;
393
- }>;
394
- /** List webhooks */
395
- listWebhooks(): Promise<{
396
- webhooks: Webhook[];
397
- supportedEvents: string[];
398
- }>;
399
- /** Get webhook details with recent deliveries */
400
- getWebhook(id: string): Promise<{
401
- webhook: Webhook;
402
- recentDeliveries: WebhookDelivery[];
403
- }>;
404
- /** Create a webhook. Pass `options.tenantId` when using a global superadmin key. */
405
- createWebhook(params: CreateWebhookParams, options?: RequestOptions): Promise<{
406
- webhook: Webhook & {
407
- secret: string;
408
- };
409
- }>;
410
- /** Update a webhook */
411
- updateWebhook(id: string, params: Partial<CreateWebhookParams> & {
412
- active?: boolean;
413
- }): Promise<{
414
- webhook: Webhook;
415
- }>;
416
- /** Delete a webhook */
417
- deleteWebhook(id: string): Promise<{
418
- message: string;
419
- }>;
420
- /** Send a test webhook event */
421
- testWebhook(id: string): Promise<{
422
- message: string;
423
- }>;
424
- /** List webhook delivery history */
425
- listWebhookDeliveries(id: string, page?: number, limit?: number): Promise<{
426
- deliveries: WebhookDelivery[];
427
- pagination: PaginationInfo;
428
- }>;
429
- /** List voicemail messages with pagination */
430
- listVoicemails(params?: VoicemailListParams): Promise<VoicemailListResponse>;
431
- /** Get voicemail count (total and unread) */
432
- getVoicemailCount(extension?: string): Promise<VoicemailCountResponse>;
433
- /** Get a single voicemail */
434
- getVoicemail(id: string): Promise<VoicemailMessage>;
435
- /** Mark voicemail as read */
436
- markVoicemailRead(id: string): Promise<{
437
- message: string;
438
- }>;
439
- /** Delete a voicemail (hard delete — removes audio file from disk) */
440
- deleteVoicemail(id: string): Promise<{
441
- message: string;
442
- }>;
443
- /** Bulk delete voicemails */
444
- bulkDeleteVoicemails(params?: {
445
- extension?: string;
446
- onlyRead?: boolean;
447
- tenantId?: string;
448
- }): Promise<{
449
- deleted: number;
450
- }>;
451
- /**
452
- * Get a direct URL to stream a voicemail's audio in a browser `<audio>` element.
453
- * Appends the API key as a query parameter so no custom headers are needed.
454
- *
455
- * @example
456
- * ```html
457
- * <audio src={client.getVoicemailAudioUrl(id)} controls />
458
- * ```
459
- */
460
- getVoicemailAudioUrl(id: string): string;
461
- /**
462
- * Get a direct URL to download a voicemail as an attachment.
463
- * Appends the API key as a query parameter.
464
- */
465
- getVoicemailDownloadUrl(id: string): string;
466
- /** Get the current greeting configuration for an extension */
467
- getVoicemailGreeting(extension?: string): Promise<VoicemailGreeting>;
468
- /**
469
- * Update the voicemail greeting type and text.
470
- *
471
- * @example
472
- * ```ts
473
- * // Use a custom TTS greeting
474
- * await client.updateVoicemailGreeting({
475
- * extension: '1001',
476
- * greetingType: 'custom_tts',
477
- * greetingText: 'Hi, you have reached John. I am not available right now. Please leave a message.',
478
- * });
479
- *
480
- * // Use the name-based greeting (uses extension's display_name)
481
- * await client.updateVoicemailGreeting({ extension: '1001', greetingType: 'name' });
482
- *
483
- * // Revert to default
484
- * await client.updateVoicemailGreeting({ extension: '1001', greetingType: 'default' });
485
- * ```
486
- */
487
- updateVoicemailGreeting(params: UpdateGreetingParams): Promise<{
488
- message: string;
489
- greeting: {
490
- type: string;
491
- text: string | null;
492
- };
493
- }>;
494
- /**
495
- * Upload a custom greeting audio file for an extension's voicemail.
496
- * The file is automatically converted to WAV 8kHz mono for FreeSWITCH.
497
- * Supported formats: WAV, MP3, OGG, M4A.
498
- * Automatically sets greetingType to 'custom_audio'.
499
- *
500
- * @param audioFile - The audio file (Buffer, Blob, or File)
501
- * @param extension - The extension number (defaults to authenticated user's extension)
502
- * @param filename - Optional filename hint
503
- */
504
- uploadVoicemailGreetingAudio(audioFile: Blob, extension?: string, filename?: string): Promise<{
505
- message: string;
506
- greeting: {
507
- type: string;
508
- has_custom_audio: boolean;
509
- audio_url: string;
510
- };
511
- }>;
512
- /**
513
- * Get a direct URL to stream the custom greeting audio in a browser `<audio>` element.
514
- * Returns null if the extension has no custom greeting audio.
515
- */
516
- getVoicemailGreetingAudioUrl(extension: string): string;
517
- /** Delete custom greeting audio, reverting to default greeting */
518
- deleteVoicemailGreetingAudio(extension?: string): Promise<{
519
- message: string;
520
- }>;
521
- /** Get simple presence (extension -> status) */
522
- getPresence(): Promise<{
523
- presence: PresenceMap;
524
- }>;
525
- /** Get detailed presence with call info */
526
- getPresenceDetailed(): Promise<{
527
- presence: PresenceDetailMap;
528
- }>;
529
- /** Get dashboard summary stats */
530
- getDashboardStats(): Promise<DashboardStats>;
531
- /** Get calls grouped by day */
532
- getCallsByDay(days?: number): Promise<CallsByDayResponse>;
533
- /** Get top extensions by call volume */
534
- getTopExtensions(days?: number, limit?: number): Promise<TopExtensionsResponse>;
535
- /** List all blocked numbers for the tenant */
536
- listBlockedNumbers(): Promise<{
537
- blocked: BlockedNumber[];
538
- }>;
539
- /** Block a phone number. Pass `options.tenantId` when using a global superadmin key. */
540
- blockNumber(params: CreateBlockedNumberParams, options?: RequestOptions): Promise<{
541
- blocked: BlockedNumber;
542
- }>;
543
- /** Unblock a phone number by ID */
544
- unblockNumber(id: string): Promise<{
545
- message: string;
546
- }>;
547
- /** Check if a specific number is blocked */
548
- checkBlocked(number: string): Promise<BlocklistCheckResponse>;
549
- /** List business hour schedules */
550
- listSchedules(): Promise<{
551
- schedules: BusinessSchedule[];
552
- }>;
553
- /** Get a single schedule */
554
- getSchedule(id: string): Promise<{
555
- schedule: BusinessSchedule;
556
- }>;
557
- /** Create a business hours schedule. Pass `options.tenantId` when using a global superadmin key. */
558
- createSchedule(params: CreateScheduleParams, options?: RequestOptions): Promise<{
559
- schedule: BusinessSchedule;
560
- }>;
561
- /** Update a business hours schedule */
562
- updateSchedule(id: string, params: Partial<CreateScheduleParams>): Promise<{
563
- schedule: BusinessSchedule;
564
- }>;
565
- /** Delete a business hours schedule */
566
- deleteSchedule(id: string): Promise<{
567
- message: string;
568
- }>;
569
- /** Check if a schedule is currently open or closed */
570
- getScheduleStatus(id: string): Promise<ScheduleStatusResponse>;
571
- /** List SIP trunks (passwords masked) */
572
- listTrunks(): Promise<{
573
- trunks: SipTrunk[];
574
- }>;
575
- /** Get a single SIP trunk (password masked) */
576
- getTrunk(id: string): Promise<{
577
- trunk: SipTrunk;
578
- }>;
579
- /** Create a SIP trunk. Pass `options.tenantId` when using a global superadmin key.
580
- * Response includes `gatewaySync` indicating whether the FreeSWITCH gateway was loaded. */
581
- createTrunk(params: CreateTrunkParams, options?: RequestOptions): Promise<{
582
- trunk: SipTrunk;
583
- gatewaySync: {
584
- success: boolean;
585
- error?: string;
586
- };
587
- }>;
588
- /** Update a SIP trunk */
589
- updateTrunk(id: string, params: Partial<CreateTrunkParams>): Promise<{
590
- trunk: SipTrunk;
591
- }>;
592
- /** Delete a SIP trunk */
593
- deleteTrunk(id: string): Promise<{
594
- message: string;
595
- gatewayRemoved: string | null;
596
- }>;
597
- /** Get live gateway status for a trunk from FreeSWITCH */
598
- getTrunkStatus(id: string): Promise<{
599
- gatewayName: string;
600
- status: string;
601
- detail: GatewayStatus | null;
602
- }>;
603
- /** Force re-sync a trunk's gateway to FreeSWITCH */
604
- syncTrunk(id: string): Promise<{
605
- trunk: SipTrunk;
606
- gatewaySync: {
607
- success: boolean;
608
- error?: string;
609
- };
610
- }>;
611
- /** List all active gateways in FreeSWITCH */
612
- listActiveGateways(): Promise<{
613
- gateways: string[];
614
- }>;
615
- /** List API keys for the current tenant (admin only) */
616
- listApiKeys(): Promise<{
617
- apiKeys: ApiKey[];
618
- }>;
619
- /** Get a single API key detail */
620
- getApiKeyDetail(id: string): Promise<{
621
- apiKey: ApiKey;
622
- }>;
623
- /** Create a new API key. The full key is only returned once in the response. Pass `options.tenantId` when using a global superadmin key. */
624
- createApiKey(params: CreateApiKeyParams, options?: RequestOptions): Promise<{
625
- apiKey: ApiKey;
626
- }>;
627
- /** Update an API key (name, role, scopes, expiration) */
628
- updateApiKey(id: string, params: UpdateApiKeyParams): Promise<{
629
- apiKey: ApiKey;
630
- }>;
631
- /** Revoke an API key (soft delete — key becomes immediately unusable) */
632
- revokeApiKey(id: string): Promise<{
633
- message: string;
634
- }>;
635
- /** Regenerate an API key (new key value, same ID). Full key returned once. */
636
- regenerateApiKey(id: string): Promise<{
637
- apiKey: ApiKey;
638
- }>;
639
- /** Connect to the real-time WebSocket */
640
- connectWebSocket(): void;
641
- /** Disconnect the WebSocket */
642
- disconnectWebSocket(): void;
643
- /** Check if WebSocket is connected and authenticated */
644
- isWebSocketConnected(): boolean;
645
- /** Subscribe to a WebSocket event type. Returns unsubscribe function. */
646
- onWsEvent<T = WsMessage>(eventType: string, callback: (data: T) => void): () => void;
647
- private emitWs;
648
- private scheduleWsReconnect;
649
- private clearWsReconnect;
650
- private clearWsPing;
651
- /** Disconnect all connections and clean up */
652
- destroy(): void;
653
- }
654
- //# sourceMappingURL=client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}