@cemscale-voip/voip-sdk 1.0.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useVoIP.js","sourceRoot":"","sources":["../../src/hooks/useVoIP.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export { VoIPClient, HttpError } from './client.js';
2
+ export { WebRTCPhone } from './webrtc.js';
3
+ export { useVoIP } from './hooks/useVoIP.js';
4
+ export { usePresence } from './hooks/usePresence.js';
5
+ export { useCallStatus } from './hooks/useCallStatus.js';
6
+ export type { VoIPClientConfig, LoginParams, AdminLoginParams, AuthResponse, TurnCredentials, CallRecord, CallListParams, CallListResponse, OriginateParams, OriginateResponse, TransferParams, ActiveCall, CallStats, PaginationInfo, Extension, CreateExtensionParams, UpdateExtensionParams, Tenant, CreateTenantParams, UpdateTenantParams, DidNumber, CreateDidParams, UpdateDidParams, IvrMenu, IvrOption, CreateIvrParams, Recording, RecordingListParams, RecordingListResponse, PresenceStatus, PresenceMap, PresenceDetail, PresenceDetailMap, WsMessage, WsPresenceSnapshot, WsPresenceChange, WsCallStart, WsCallAnswer, WsCallEnd, WebRTCCallState, WebRTCConfig, WebRTCCallInfo, WebRTCEventMap, Conference, ConferenceMember, RingGroup, RingGroupMember, CreateRingGroupParams, CallQueue, QueueAgent, CreateQueueParams, Webhook, WebhookDelivery, CreateWebhookParams, VoicemailMessage, VoicemailListParams, VoicemailListResponse, VoicemailCountResponse, CallForwardParams, CallForwardResponse, ParkedCall, DashboardStats, DayStats, CallsByDayResponse, TopExtension, TopExtensionsResponse, BlockedNumber, CreateBlockedNumberParams, BlocklistCheckResponse, DaySchedule, Holiday, BusinessSchedule, CreateScheduleParams, ScheduleStatusResponse, SipTrunk, CreateTrunkParams, QueueStats, ExportCallsParams, } from './types.js';
7
+ export type { UseVoIPConfig, UseVoIPReturn } from './hooks/useVoIP.js';
8
+ export type { UsePresenceConfig, UsePresenceReturn } from './hooks/usePresence.js';
9
+ export type { UseCallStatusConfig, UseCallStatusReturn, ActiveCallEntry } from './hooks/useCallStatus.js';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGpD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGzD,YAAY,EAEV,gBAAgB,EAGhB,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,eAAe,EAGf,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,SAAS,EACT,cAAc,EAGd,SAAS,EACT,qBAAqB,EACrB,qBAAqB,EAGrB,MAAM,EACN,kBAAkB,EAClB,kBAAkB,EAGlB,SAAS,EACT,eAAe,EACf,eAAe,EAGf,OAAO,EACP,SAAS,EACT,eAAe,EAGf,SAAS,EACT,mBAAmB,EACnB,qBAAqB,EAGrB,cAAc,EACd,WAAW,EACX,cAAc,EACd,iBAAiB,EAGjB,SAAS,EACT,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,SAAS,EAGT,eAAe,EACf,YAAY,EACZ,cAAc,EACd,cAAc,EAGd,UAAU,EACV,gBAAgB,EAGhB,SAAS,EACT,eAAe,EACf,qBAAqB,EAGrB,SAAS,EACT,UAAU,EACV,iBAAiB,EAGjB,OAAO,EACP,eAAe,EACf,mBAAmB,EAGnB,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EAGtB,iBAAiB,EACjB,mBAAmB,EAGnB,UAAU,EAGV,cAAc,EACd,QAAQ,EACR,kBAAkB,EAClB,YAAY,EACZ,qBAAqB,EAGrB,aAAa,EACb,yBAAyB,EACzB,sBAAsB,EAGtB,WAAW,EACX,OAAO,EACP,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EAGtB,QAAQ,EACR,iBAAiB,EAGjB,UAAU,EAGV,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAGpB,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACvE,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACnF,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,12 @@
1
+ // ============================================================
2
+ // @cemscale/voip-sdk — Main barrel export
3
+ // ============================================================
4
+ // Core client
5
+ export { VoIPClient, HttpError } from './client.js';
6
+ // WebRTC phone
7
+ export { WebRTCPhone } from './webrtc.js';
8
+ // React hooks
9
+ export { useVoIP } from './hooks/useVoIP.js';
10
+ export { usePresence } from './hooks/usePresence.js';
11
+ export { useCallStatus } from './hooks/useCallStatus.js';
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,0CAA0C;AAC1C,+DAA+D;AAE/D,cAAc;AACd,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEpD,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,cAAc;AACd,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,628 @@
1
+ export interface LoginParams {
2
+ username: string;
3
+ password: string;
4
+ tenantId: string;
5
+ }
6
+ export interface AdminLoginParams {
7
+ email: string;
8
+ password: string;
9
+ }
10
+ export interface AuthResponse {
11
+ token: string;
12
+ user?: {
13
+ id: string;
14
+ extension: string;
15
+ displayName: string | null;
16
+ tenantId: string;
17
+ };
18
+ tenant?: {
19
+ id: string;
20
+ subdomain: string;
21
+ companyName: string;
22
+ };
23
+ }
24
+ export interface TurnCredentials {
25
+ urls: string[];
26
+ username: string;
27
+ credential: string;
28
+ ttl: number;
29
+ }
30
+ export interface CallRecord {
31
+ id: string;
32
+ call_uuid: string;
33
+ direction: 'inbound' | 'outbound' | 'internal';
34
+ caller_id_name: string | null;
35
+ caller_id_number: string | null;
36
+ destination: string | null;
37
+ status: string | null;
38
+ hangup_cause: string | null;
39
+ duration_seconds: number | null;
40
+ sip_code: number | null;
41
+ recording_url: string | null;
42
+ started_at: string | null;
43
+ answered_at: string | null;
44
+ ended_at: string | null;
45
+ }
46
+ export interface PaginationInfo {
47
+ page: number;
48
+ limit: number;
49
+ total: number;
50
+ pages: number;
51
+ }
52
+ export interface CallListResponse {
53
+ calls: CallRecord[];
54
+ pagination: PaginationInfo;
55
+ }
56
+ export interface CallListParams {
57
+ page?: number;
58
+ limit?: number;
59
+ direction?: 'inbound' | 'outbound' | 'internal' | 'all';
60
+ dateFrom?: string;
61
+ dateTo?: string;
62
+ extension?: string;
63
+ }
64
+ export interface OriginateParams {
65
+ fromExtension: string;
66
+ toNumber: string;
67
+ }
68
+ export interface OriginateResponse {
69
+ message: string;
70
+ callUuid: string;
71
+ }
72
+ export interface TransferParams {
73
+ targetExtension: string;
74
+ type?: 'blind' | 'attended';
75
+ }
76
+ export interface ActiveCall {
77
+ call_uuid: string;
78
+ caller_id_name: string;
79
+ caller_id_number: string;
80
+ destination: string;
81
+ direction: string;
82
+ status: string;
83
+ started_at: string;
84
+ answered: boolean;
85
+ on_hold: boolean;
86
+ }
87
+ export interface CallStats {
88
+ stats: {
89
+ total: number;
90
+ inbound: number;
91
+ outbound: number;
92
+ internal: number;
93
+ period: string;
94
+ };
95
+ }
96
+ export interface Extension {
97
+ id: string;
98
+ extension: string;
99
+ display_name: string | null;
100
+ voicemail_enabled: boolean;
101
+ do_not_disturb: boolean;
102
+ status: string;
103
+ created_at: string;
104
+ call_forward_enabled?: boolean;
105
+ call_forward_number?: string | null;
106
+ call_forward_type?: string | null;
107
+ crm_user_id?: string | null;
108
+ crm_metadata?: Record<string, unknown> | null;
109
+ }
110
+ export interface CreateExtensionParams {
111
+ extension: string;
112
+ password: string;
113
+ displayName: string;
114
+ voicemailEnabled?: boolean;
115
+ }
116
+ export interface UpdateExtensionParams {
117
+ displayName?: string;
118
+ password?: string;
119
+ voicemailEnabled?: boolean;
120
+ doNotDisturb?: boolean;
121
+ status?: 'active' | 'disabled';
122
+ outboundCallerId?: string | null;
123
+ crmUserId?: string | null;
124
+ crmMetadata?: Record<string, unknown> | null;
125
+ }
126
+ export interface Tenant {
127
+ id: string;
128
+ subdomain: string;
129
+ company_name: string;
130
+ sip_domain: string;
131
+ plan: string;
132
+ max_extensions: number;
133
+ max_concurrent_calls: number;
134
+ status: string;
135
+ created_at: string;
136
+ }
137
+ export interface CreateTenantParams {
138
+ subdomain: string;
139
+ companyName: string;
140
+ adminEmail: string;
141
+ adminPassword: string;
142
+ plan?: 'free' | 'starter' | 'pro' | 'enterprise';
143
+ maxExtensions?: number;
144
+ maxConcurrentCalls?: number;
145
+ }
146
+ export interface UpdateTenantParams {
147
+ companyName?: string;
148
+ plan?: 'free' | 'starter' | 'pro' | 'enterprise';
149
+ maxExtensions?: number;
150
+ maxConcurrentCalls?: number;
151
+ status?: 'active' | 'suspended' | 'cancelled';
152
+ }
153
+ export interface DidNumber {
154
+ id: string;
155
+ tenant_id: string;
156
+ number: string;
157
+ carrier: string;
158
+ inbound_route: string;
159
+ route_target: string;
160
+ status: string;
161
+ created_at: string;
162
+ }
163
+ export interface CreateDidParams {
164
+ number: string;
165
+ carrier?: 'twilio' | 'telnyx' | 'other';
166
+ inboundRoute?: 'extension' | 'ivr' | 'queue' | 'external';
167
+ routeTarget: string;
168
+ }
169
+ export interface UpdateDidParams {
170
+ inboundRoute?: 'extension' | 'ivr' | 'queue' | 'external';
171
+ routeTarget?: string;
172
+ status?: 'active' | 'inactive';
173
+ }
174
+ export interface IvrOption {
175
+ id: string;
176
+ digit: string;
177
+ action: string;
178
+ target: string;
179
+ }
180
+ export interface IvrMenu {
181
+ id: string;
182
+ name: string;
183
+ greeting_text: string;
184
+ timeout: number;
185
+ max_retries: number;
186
+ created_at: string;
187
+ ivr_options: IvrOption[];
188
+ }
189
+ export interface CreateIvrParams {
190
+ name: string;
191
+ greetingText: string;
192
+ timeout?: number;
193
+ maxRetries?: number;
194
+ options: Array<{
195
+ digit: string;
196
+ action: string;
197
+ target: string;
198
+ }>;
199
+ }
200
+ export interface Recording {
201
+ id: string;
202
+ call_uuid: string;
203
+ caller_id_name: string;
204
+ caller_id_number: string;
205
+ destination: string;
206
+ direction: string;
207
+ duration_seconds: number;
208
+ recording_url: string;
209
+ started_at: string;
210
+ ended_at: string;
211
+ }
212
+ export interface RecordingListParams {
213
+ page?: number;
214
+ limit?: number;
215
+ dateFrom?: string;
216
+ dateTo?: string;
217
+ }
218
+ export interface RecordingListResponse {
219
+ recordings: Recording[];
220
+ pagination: PaginationInfo;
221
+ }
222
+ export type PresenceStatus = 'available' | 'registered' | 'on_call' | 'busy' | 'ringing' | 'dnd' | 'idle' | 'offline';
223
+ export interface PresenceMap {
224
+ [extension: string]: PresenceStatus | string;
225
+ }
226
+ export interface WsAuthMessage {
227
+ type: 'auth';
228
+ token: string;
229
+ }
230
+ export interface WsAuthSuccess {
231
+ type: 'auth_success';
232
+ tenantId: string;
233
+ }
234
+ export interface WsPresenceSnapshot {
235
+ type: 'presence_snapshot';
236
+ data: PresenceMap;
237
+ }
238
+ export interface WsPresenceChange {
239
+ type: 'presence_change';
240
+ tenantId: string;
241
+ extension: string;
242
+ status: PresenceStatus;
243
+ callUuid?: string;
244
+ }
245
+ export interface WsCallStart {
246
+ type: 'call_start';
247
+ tenantId: string;
248
+ callUuid: string;
249
+ caller: string;
250
+ destination: string;
251
+ direction: string;
252
+ }
253
+ export interface WsCallAnswer {
254
+ type: 'call_answer';
255
+ tenantId: string;
256
+ callUuid: string;
257
+ }
258
+ export interface WsCallEnd {
259
+ type: 'call_end';
260
+ tenantId: string;
261
+ callUuid: string;
262
+ caller: string;
263
+ destination: string;
264
+ duration: number;
265
+ hangupCause: string;
266
+ }
267
+ export type WsMessage = WsAuthSuccess | WsPresenceSnapshot | WsPresenceChange | WsCallStart | WsCallAnswer | WsCallEnd | {
268
+ type: 'pong';
269
+ } | {
270
+ type: 'error';
271
+ message: string;
272
+ } | {
273
+ type: 'auth_error';
274
+ message: string;
275
+ };
276
+ export type WebRTCCallState = 'idle' | 'connecting' | 'ringing' | 'established' | 'held' | 'terminating' | 'terminated';
277
+ export interface WebRTCConfig {
278
+ sipDomain: string;
279
+ wsUri: string;
280
+ extension: string;
281
+ password: string;
282
+ displayName?: string;
283
+ turnServers?: RTCIceServer[];
284
+ audioElement?: HTMLAudioElement;
285
+ /** Auto-answer incoming calls */
286
+ autoAnswer?: boolean;
287
+ }
288
+ export interface WebRTCCallInfo {
289
+ id: string;
290
+ direction: 'inbound' | 'outbound';
291
+ remoteIdentity: string;
292
+ remoteDisplayName: string;
293
+ state: WebRTCCallState;
294
+ startTime: Date | null;
295
+ answerTime: Date | null;
296
+ held: boolean;
297
+ muted: boolean;
298
+ dtmfSent: string;
299
+ }
300
+ export interface WebRTCEventMap {
301
+ registered: () => void;
302
+ unregistered: () => void;
303
+ registrationFailed: (error: Error) => void;
304
+ incomingCall: (call: WebRTCCallInfo) => void;
305
+ callStateChanged: (call: WebRTCCallInfo) => void;
306
+ callEnded: (call: WebRTCCallInfo) => void;
307
+ error: (error: Error) => void;
308
+ }
309
+ export interface ConferenceMember {
310
+ id: string;
311
+ uuid: string;
312
+ callerIdName: string;
313
+ callerIdNumber: string;
314
+ muted: boolean;
315
+ deaf: boolean;
316
+ joinTime: string;
317
+ }
318
+ export interface Conference {
319
+ name: string;
320
+ memberCount: number;
321
+ locked: boolean;
322
+ runTime: string;
323
+ members: ConferenceMember[];
324
+ }
325
+ export interface RingGroupMember {
326
+ id: string;
327
+ extension: string;
328
+ priority: number;
329
+ delay_seconds: number;
330
+ }
331
+ export interface RingGroup {
332
+ id: string;
333
+ name: string;
334
+ strategy: string;
335
+ ring_timeout: number;
336
+ no_answer_action: string;
337
+ no_answer_target: string | null;
338
+ status: string;
339
+ created_at: string;
340
+ members: RingGroupMember[];
341
+ }
342
+ export interface CreateRingGroupParams {
343
+ name: string;
344
+ strategy?: 'simultaneous' | 'sequential' | 'random';
345
+ ringTimeout?: number;
346
+ noAnswerAction?: 'voicemail' | 'ivr' | 'extension' | 'hangup';
347
+ noAnswerTarget?: string;
348
+ members: Array<{
349
+ extension: string;
350
+ priority?: number;
351
+ delaySeconds?: number;
352
+ }>;
353
+ }
354
+ export interface QueueAgent {
355
+ id: string;
356
+ extension: string;
357
+ priority: number;
358
+ penalty: number;
359
+ status: string;
360
+ }
361
+ export interface CallQueue {
362
+ id: string;
363
+ name: string;
364
+ strategy: string;
365
+ moh_sound: string;
366
+ announce_sound: string | null;
367
+ announce_frequency: number;
368
+ max_wait_time: number;
369
+ max_callers: number;
370
+ ring_timeout: number;
371
+ wrap_up_time: number;
372
+ no_agent_action: string;
373
+ no_agent_target: string | null;
374
+ timeout_action: string;
375
+ timeout_target: string | null;
376
+ status: string;
377
+ created_at: string;
378
+ agents: QueueAgent[];
379
+ }
380
+ export interface CreateQueueParams {
381
+ name: string;
382
+ strategy?: 'round-robin' | 'longest-idle' | 'ring-all' | 'least-calls' | 'random';
383
+ mohSound?: string;
384
+ announceSound?: string;
385
+ announceFrequency?: number;
386
+ maxWaitTime?: number;
387
+ maxCallers?: number;
388
+ ringTimeout?: number;
389
+ wrapUpTime?: number;
390
+ noAgentAction?: 'voicemail' | 'ivr' | 'extension' | 'hangup';
391
+ noAgentTarget?: string;
392
+ timeoutAction?: 'voicemail' | 'ivr' | 'extension' | 'hangup';
393
+ timeoutTarget?: string;
394
+ agents: Array<{
395
+ extension: string;
396
+ priority?: number;
397
+ penalty?: number;
398
+ }>;
399
+ }
400
+ export interface Webhook {
401
+ id: string;
402
+ name: string;
403
+ url: string;
404
+ events: string[];
405
+ active: boolean;
406
+ hasSecret: boolean;
407
+ headers: Record<string, string> | null;
408
+ maxRetries: number;
409
+ retryDelaySeconds: number;
410
+ createdAt: string;
411
+ }
412
+ export interface WebhookDelivery {
413
+ id: string;
414
+ eventType: string;
415
+ payload?: Record<string, unknown>;
416
+ responseStatus: number | null;
417
+ responseBody?: string | null;
418
+ attempt: number;
419
+ success: boolean;
420
+ error: string | null;
421
+ deliveredAt: string;
422
+ }
423
+ export interface CreateWebhookParams {
424
+ name: string;
425
+ url: string;
426
+ events: string[];
427
+ secret?: string;
428
+ headers?: Record<string, string>;
429
+ maxRetries?: number;
430
+ retryDelaySeconds?: number;
431
+ }
432
+ export interface VoicemailMessage {
433
+ id: string;
434
+ caller_id: string;
435
+ caller_name: string | null;
436
+ duration_seconds: number;
437
+ is_read: boolean;
438
+ is_urgent: boolean;
439
+ created_at: string;
440
+ read_at: string | null;
441
+ }
442
+ export interface VoicemailListParams {
443
+ page?: number;
444
+ limit?: number;
445
+ unreadOnly?: boolean;
446
+ extension?: string;
447
+ }
448
+ export interface VoicemailListResponse {
449
+ messages: VoicemailMessage[];
450
+ unread: number;
451
+ pagination: PaginationInfo;
452
+ }
453
+ export interface VoicemailCountResponse {
454
+ total: number;
455
+ unread: number;
456
+ extension: string;
457
+ }
458
+ export interface CallForwardParams {
459
+ enabled: boolean;
460
+ number?: string;
461
+ type?: 'always' | 'busy' | 'no-answer';
462
+ }
463
+ export interface CallForwardResponse {
464
+ extension: string;
465
+ callForward: {
466
+ enabled: boolean;
467
+ number: string | null;
468
+ type: string;
469
+ };
470
+ }
471
+ export interface ParkedCall {
472
+ slot: string;
473
+ caller_id_number: string;
474
+ destination: string;
475
+ started_at: string;
476
+ }
477
+ export interface PresenceDetail {
478
+ status: string;
479
+ callUuid?: string;
480
+ caller?: string;
481
+ direction?: string;
482
+ since?: string;
483
+ }
484
+ export type PresenceDetailMap = Record<string, PresenceDetail>;
485
+ export interface DashboardStats {
486
+ dashboard: {
487
+ extensions: number;
488
+ dids: number;
489
+ callsToday: number;
490
+ callsThisMonth: number;
491
+ };
492
+ }
493
+ export interface DayStats {
494
+ total: number;
495
+ inbound: number;
496
+ outbound: number;
497
+ internal: number;
498
+ totalDuration: number;
499
+ }
500
+ export interface CallsByDayResponse {
501
+ callsByDay: Record<string, DayStats>;
502
+ }
503
+ export interface TopExtension {
504
+ extension: string;
505
+ totalCalls: number;
506
+ totalDuration: number;
507
+ }
508
+ export interface TopExtensionsResponse {
509
+ topExtensions: TopExtension[];
510
+ }
511
+ export interface BlockedNumber {
512
+ id: string;
513
+ tenant_id: string;
514
+ number: string;
515
+ reason: string | null;
516
+ direction: string | null;
517
+ created_at: string | null;
518
+ }
519
+ export interface CreateBlockedNumberParams {
520
+ number: string;
521
+ reason?: string;
522
+ direction?: 'inbound' | 'outbound' | 'both';
523
+ }
524
+ export interface BlocklistCheckResponse {
525
+ blocked: boolean;
526
+ entry: BlockedNumber | null;
527
+ }
528
+ export interface DaySchedule {
529
+ day: 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday' | 'sunday';
530
+ enabled: boolean;
531
+ startTime?: string;
532
+ endTime?: string;
533
+ }
534
+ export interface Holiday {
535
+ date: string;
536
+ name?: string;
537
+ }
538
+ export interface BusinessSchedule {
539
+ id: string;
540
+ tenant_id: string;
541
+ name: string;
542
+ timezone: string | null;
543
+ schedules: DaySchedule[] | null;
544
+ holidays: Holiday[] | null;
545
+ after_hours_action: string | null;
546
+ after_hours_target: string | null;
547
+ status: string | null;
548
+ created_at: string | null;
549
+ updated_at: string | null;
550
+ }
551
+ export interface CreateScheduleParams {
552
+ name: string;
553
+ timezone?: string;
554
+ schedules?: DaySchedule[];
555
+ holidays?: Holiday[];
556
+ afterHoursAction?: 'voicemail' | 'ivr' | 'extension' | 'hangup' | 'external';
557
+ afterHoursTarget?: string;
558
+ }
559
+ export interface ScheduleStatusResponse {
560
+ isOpen: boolean;
561
+ schedule: string;
562
+ timezone: string;
563
+ currentTime: string;
564
+ }
565
+ export interface SipTrunk {
566
+ id: string;
567
+ tenant_id: string;
568
+ name: string;
569
+ provider: string | null;
570
+ gateway: string;
571
+ username: string | null;
572
+ password: string | null;
573
+ auth_type: string | null;
574
+ outbound_enabled: boolean | null;
575
+ inbound_enabled: boolean | null;
576
+ priority: number | null;
577
+ max_channels: number | null;
578
+ status: string | null;
579
+ created_at: string | null;
580
+ updated_at: string | null;
581
+ }
582
+ export interface CreateTrunkParams {
583
+ name: string;
584
+ provider?: 'twilio' | 'telnyx' | 'custom';
585
+ gateway: string;
586
+ username?: string;
587
+ password?: string;
588
+ authType?: 'ip' | 'registration' | 'both';
589
+ outboundEnabled?: boolean;
590
+ inboundEnabled?: boolean;
591
+ priority?: number;
592
+ maxChannels?: number;
593
+ }
594
+ export interface QueueStats {
595
+ queueName: string;
596
+ strategy: string;
597
+ agents: {
598
+ total: number;
599
+ available: number;
600
+ paused: number;
601
+ busy: number;
602
+ loggedOut: number;
603
+ };
604
+ today: {
605
+ totalCalls: number;
606
+ answered: number;
607
+ abandoned: number;
608
+ serviceLevel: number;
609
+ avgDuration: number;
610
+ };
611
+ }
612
+ export interface ExportCallsParams {
613
+ dateFrom?: string;
614
+ dateTo?: string;
615
+ direction?: 'inbound' | 'outbound' | 'internal' | 'all';
616
+ limit?: number;
617
+ }
618
+ export interface VoIPClientConfig {
619
+ /** API base URL, e.g. https://voip-api.cemscale.com */
620
+ apiUrl: string;
621
+ /** JWT token (set after login) */
622
+ token?: string;
623
+ /** Tenant ID */
624
+ tenantId?: string;
625
+ /** Request timeout in ms (default 15000) */
626
+ timeout?: number;
627
+ }
628
+ //# sourceMappingURL=types.d.ts.map