@telnyx/react-voice-commons-sdk 0.1.2 → 0.1.4

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.
Files changed (55) hide show
  1. package/CHANGELOG.md +60 -0
  2. package/README.md +469 -483
  3. package/ios/CallKitBridge.swift +2 -7
  4. package/lib/callkit/callkit-coordinator.d.ts +110 -117
  5. package/lib/callkit/callkit-coordinator.js +664 -727
  6. package/lib/callkit/callkit.d.ts +41 -41
  7. package/lib/callkit/callkit.js +252 -242
  8. package/lib/callkit/index.js +15 -47
  9. package/lib/callkit/use-callkit.d.ts +19 -19
  10. package/lib/callkit/use-callkit.js +270 -310
  11. package/lib/context/TelnyxVoiceContext.d.ts +9 -9
  12. package/lib/context/TelnyxVoiceContext.js +10 -13
  13. package/lib/hooks/use-callkit-coordinator.d.ts +9 -17
  14. package/lib/hooks/use-callkit-coordinator.js +45 -50
  15. package/lib/hooks/useAppReadyNotifier.js +13 -15
  16. package/lib/hooks/useAppStateHandler.d.ts +6 -11
  17. package/lib/hooks/useAppStateHandler.js +95 -110
  18. package/lib/hooks/useNetworkStateHandler.d.ts +0 -0
  19. package/lib/hooks/useNetworkStateHandler.js +0 -0
  20. package/lib/index.d.ts +3 -21
  21. package/lib/index.js +50 -201
  22. package/lib/internal/CallKitHandler.d.ts +6 -6
  23. package/lib/internal/CallKitHandler.js +96 -104
  24. package/lib/internal/callkit-manager.d.ts +57 -57
  25. package/lib/internal/callkit-manager.js +299 -316
  26. package/lib/internal/calls/call-state-controller.d.ts +73 -86
  27. package/lib/internal/calls/call-state-controller.js +263 -307
  28. package/lib/internal/session/session-manager.d.ts +71 -75
  29. package/lib/internal/session/session-manager.js +360 -424
  30. package/lib/internal/user-defaults-helpers.js +49 -39
  31. package/lib/internal/voice-pn-bridge.d.ts +114 -12
  32. package/lib/internal/voice-pn-bridge.js +212 -5
  33. package/lib/models/call-state.d.ts +46 -44
  34. package/lib/models/call-state.js +70 -68
  35. package/lib/models/call.d.ts +161 -133
  36. package/lib/models/call.js +454 -382
  37. package/lib/models/config.d.ts +11 -18
  38. package/lib/models/config.js +37 -35
  39. package/lib/models/connection-state.d.ts +10 -10
  40. package/lib/models/connection-state.js +16 -16
  41. package/lib/telnyx-voice-app.d.ts +28 -28
  42. package/lib/telnyx-voice-app.js +513 -480
  43. package/lib/telnyx-voip-client.d.ts +167 -167
  44. package/lib/telnyx-voip-client.js +385 -390
  45. package/package.json +115 -104
  46. package/src/callkit/callkit-coordinator.ts +830 -846
  47. package/src/hooks/useNetworkStateHandler.ts +0 -0
  48. package/src/internal/calls/call-state-controller.ts +407 -384
  49. package/src/internal/session/session-manager.ts +483 -467
  50. package/src/internal/voice-pn-bridge.ts +266 -18
  51. package/src/models/call-state.ts +105 -98
  52. package/src/models/call.ts +502 -388
  53. package/src/telnyx-voice-app.tsx +788 -690
  54. package/src/telnyx-voip-client.ts +551 -539
  55. package/src/types/telnyx-sdk.d.ts +93 -79
@@ -1,79 +1,93 @@
1
- /**
2
- * Type definitions for Telnyx React Native Voice SDK
3
- * This file provides type definitions without importing the actual SDK
4
- */
5
-
6
- declare module '@telnyx/react-native-voice-sdk' {
7
- import { EventEmitter } from 'eventemitter3';
8
-
9
- export interface CallOptions {
10
- callerIdName?: string;
11
- callerIdNumber?: string;
12
- customHeaders?: Record<string, string>;
13
- clientState?: string;
14
- destinationNumber?: string;
15
- audio?: boolean;
16
- video?: boolean;
17
- }
18
-
19
- export interface ClientOptions {
20
- login?: string;
21
- password?: string;
22
- token?: string;
23
- login_token?: string;
24
- ringtoneFile?: string;
25
- ringbackFile?: string;
26
- debug?: boolean;
27
- logLevel?: string;
28
- pushNotificationDeviceToken?: string;
29
- }
30
-
31
- export enum CallState {
32
- NEW = 'new',
33
- CONNECTING = 'connecting',
34
- RINGING = 'ringing',
35
- ACTIVE = 'active',
36
- HELD = 'held',
37
- HANGUP = 'hangup',
38
- DESTROY = 'destroy',
39
- PURGE = 'purge',
40
- }
41
-
42
- export class Call extends EventEmitter {
43
- callId: string;
44
- state: CallState;
45
- direction: 'inbound' | 'outbound';
46
- remoteCallerIdName?: string;
47
- remoteCallerIdNumber?: string;
48
- localCallerIdName?: string;
49
- localCallerIdNumber?: string;
50
-
51
- constructor(options: any);
52
-
53
- answer(): Promise<void>;
54
- hangup(): Promise<void>;
55
- hold(): Promise<void>;
56
- unhold(): Promise<void>;
57
- mute(): Promise<void>;
58
- unmute(): Promise<void>;
59
- dtmf(digits: string): Promise<void>;
60
-
61
- on(event: string, listener: (...args: any[]) => void): this;
62
- off(event: string, listener: (...args: any[]) => void): this;
63
- emit(event: string, ...args: any[]): boolean;
64
- }
65
-
66
- export class TelnyxRTC extends EventEmitter {
67
- constructor(options: ClientOptions);
68
-
69
- connect(): Promise<void>;
70
- disconnect(): void;
71
- newCall(options: CallOptions): Promise<Call>;
72
-
73
- on(event: string, listener: (...args: any[]) => void): this;
74
- off(event: string, listener: (...args: any[]) => void): this;
75
- emit(event: string, ...args: any[]): boolean;
76
- }
77
-
78
- export { TelnyxRTC as default };
79
- }
1
+ /**
2
+ * Type definitions for Telnyx React Native Voice SDK
3
+ * This file provides type definitions without importing the actual SDK
4
+ */
5
+
6
+ declare module '@telnyx/react-native-voice-sdk' {
7
+ import { EventEmitter } from 'eventemitter3';
8
+
9
+ export interface CallOptions {
10
+ callerIdName?: string;
11
+ callerIdNumber?: string;
12
+ customHeaders?: Record<string, string>;
13
+ clientState?: string;
14
+ destinationNumber?: string;
15
+ audio?: boolean;
16
+ video?: boolean;
17
+ }
18
+
19
+ export interface ClientOptions {
20
+ login?: string;
21
+ password?: string;
22
+ token?: string;
23
+ login_token?: string;
24
+ ringtoneFile?: string;
25
+ ringbackFile?: string;
26
+ debug?: boolean;
27
+ logLevel?: string;
28
+ pushNotificationDeviceToken?: string;
29
+ }
30
+
31
+ export enum CallState {
32
+ NEW = 'new',
33
+ CONNECTING = 'connecting',
34
+ RINGING = 'ringing',
35
+ ACTIVE = 'active',
36
+ HELD = 'held',
37
+ HANGUP = 'hangup',
38
+ DESTROY = 'destroy',
39
+ PURGE = 'purge',
40
+ }
41
+
42
+ export class Call extends EventEmitter {
43
+ callId: string;
44
+ state: CallState;
45
+ direction: 'inbound' | 'outbound';
46
+ remoteCallerIdName?: string;
47
+ remoteCallerIdNumber?: string;
48
+ localCallerIdName?: string;
49
+ localCallerIdNumber?: string;
50
+
51
+ /**
52
+ * Custom headers received from the WebRTC INVITE message.
53
+ * These headers are passed during call initiation and can contain application-specific information.
54
+ * Format should be [{"name": "X-Header-Name", "value": "Value"}] where header names must start with "X-".
55
+ */
56
+ inviteCustomHeaders: { name: string; value: string }[] | null;
57
+
58
+ /**
59
+ * Custom headers received from the WebRTC ANSWER message.
60
+ * These headers are passed during call acceptance and can contain application-specific information.
61
+ * Format should be [{"name": "X-Header-Name", "value": "Value"}] where header names must start with "X-".
62
+ */
63
+ answerCustomHeaders: { name: string; value: string }[] | null;
64
+
65
+ constructor(options: any);
66
+
67
+ answer(customHeaders?: { name: string; value: string }[]): Promise<void>;
68
+ hangup(customHeaders?: { name: string; value: string }[]): Promise<void>;
69
+ hold(): Promise<void>;
70
+ unhold(): Promise<void>;
71
+ mute(): Promise<void>;
72
+ unmute(): Promise<void>;
73
+ dtmf(digits: string): Promise<void>;
74
+
75
+ on(event: string, listener: (...args: any[]) => void): this;
76
+ off(event: string, listener: (...args: any[]) => void): this;
77
+ emit(event: string, ...args: any[]): boolean;
78
+ }
79
+
80
+ export class TelnyxRTC extends EventEmitter {
81
+ constructor(options: ClientOptions);
82
+
83
+ connect(): Promise<void>;
84
+ disconnect(): void;
85
+ newCall(options: CallOptions): Promise<Call>;
86
+
87
+ on(event: string, listener: (...args: any[]) => void): this;
88
+ off(event: string, listener: (...args: any[]) => void): this;
89
+ emit(event: string, ...args: any[]): boolean;
90
+ }
91
+
92
+ export { TelnyxRTC as default };
93
+ }