@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.
- package/CHANGELOG.md +60 -0
- package/README.md +469 -483
- package/ios/CallKitBridge.swift +2 -7
- package/lib/callkit/callkit-coordinator.d.ts +110 -117
- package/lib/callkit/callkit-coordinator.js +664 -727
- package/lib/callkit/callkit.d.ts +41 -41
- package/lib/callkit/callkit.js +252 -242
- package/lib/callkit/index.js +15 -47
- package/lib/callkit/use-callkit.d.ts +19 -19
- package/lib/callkit/use-callkit.js +270 -310
- package/lib/context/TelnyxVoiceContext.d.ts +9 -9
- package/lib/context/TelnyxVoiceContext.js +10 -13
- package/lib/hooks/use-callkit-coordinator.d.ts +9 -17
- package/lib/hooks/use-callkit-coordinator.js +45 -50
- package/lib/hooks/useAppReadyNotifier.js +13 -15
- package/lib/hooks/useAppStateHandler.d.ts +6 -11
- package/lib/hooks/useAppStateHandler.js +95 -110
- package/lib/hooks/useNetworkStateHandler.d.ts +0 -0
- package/lib/hooks/useNetworkStateHandler.js +0 -0
- package/lib/index.d.ts +3 -21
- package/lib/index.js +50 -201
- package/lib/internal/CallKitHandler.d.ts +6 -6
- package/lib/internal/CallKitHandler.js +96 -104
- package/lib/internal/callkit-manager.d.ts +57 -57
- package/lib/internal/callkit-manager.js +299 -316
- package/lib/internal/calls/call-state-controller.d.ts +73 -86
- package/lib/internal/calls/call-state-controller.js +263 -307
- package/lib/internal/session/session-manager.d.ts +71 -75
- package/lib/internal/session/session-manager.js +360 -424
- package/lib/internal/user-defaults-helpers.js +49 -39
- package/lib/internal/voice-pn-bridge.d.ts +114 -12
- package/lib/internal/voice-pn-bridge.js +212 -5
- package/lib/models/call-state.d.ts +46 -44
- package/lib/models/call-state.js +70 -68
- package/lib/models/call.d.ts +161 -133
- package/lib/models/call.js +454 -382
- package/lib/models/config.d.ts +11 -18
- package/lib/models/config.js +37 -35
- package/lib/models/connection-state.d.ts +10 -10
- package/lib/models/connection-state.js +16 -16
- package/lib/telnyx-voice-app.d.ts +28 -28
- package/lib/telnyx-voice-app.js +513 -480
- package/lib/telnyx-voip-client.d.ts +167 -167
- package/lib/telnyx-voip-client.js +385 -390
- package/package.json +115 -104
- package/src/callkit/callkit-coordinator.ts +830 -846
- package/src/hooks/useNetworkStateHandler.ts +0 -0
- package/src/internal/calls/call-state-controller.ts +407 -384
- package/src/internal/session/session-manager.ts +483 -467
- package/src/internal/voice-pn-bridge.ts +266 -18
- package/src/models/call-state.ts +105 -98
- package/src/models/call.ts +502 -388
- package/src/telnyx-voice-app.tsx +788 -690
- package/src/telnyx-voip-client.ts +551 -539
- package/src/types/telnyx-sdk.d.ts +93 -79
|
@@ -9,79 +9,75 @@ import { Config, CredentialConfig, TokenConfig } from '../../models/config';
|
|
|
9
9
|
* and automatic reconnection logic.
|
|
10
10
|
*/
|
|
11
11
|
export declare class SessionManager {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* Generate a unique session ID
|
|
85
|
-
*/
|
|
86
|
-
private _generateSessionId;
|
|
12
|
+
private readonly _connectionState;
|
|
13
|
+
private _telnyxClient?;
|
|
14
|
+
private _currentConfig?;
|
|
15
|
+
private _sessionId;
|
|
16
|
+
private _disposed;
|
|
17
|
+
private _onClientReady?;
|
|
18
|
+
constructor();
|
|
19
|
+
/**
|
|
20
|
+
* Observable stream of connection state changes
|
|
21
|
+
*/
|
|
22
|
+
get connectionState$(): Observable<TelnyxConnectionState>;
|
|
23
|
+
/**
|
|
24
|
+
* Set callback to be called when the Telnyx client is ready
|
|
25
|
+
*/
|
|
26
|
+
setOnClientReady(callback: () => void): void;
|
|
27
|
+
/**
|
|
28
|
+
* Current connection state (synchronous access)
|
|
29
|
+
*/
|
|
30
|
+
get currentState(): TelnyxConnectionState;
|
|
31
|
+
/**
|
|
32
|
+
* Current session ID
|
|
33
|
+
*/
|
|
34
|
+
get sessionId(): string;
|
|
35
|
+
/**
|
|
36
|
+
* Get the underlying Telnyx client instance
|
|
37
|
+
*/
|
|
38
|
+
get telnyxClient(): TelnyxSDK.TelnyxRTC | undefined;
|
|
39
|
+
/**
|
|
40
|
+
* Connect using credential authentication
|
|
41
|
+
*/
|
|
42
|
+
connectWithCredential(config: CredentialConfig): Promise<void>;
|
|
43
|
+
/**
|
|
44
|
+
* Connect using token authentication
|
|
45
|
+
*/
|
|
46
|
+
connectWithToken(config: TokenConfig): Promise<void>;
|
|
47
|
+
/**
|
|
48
|
+
* Disconnect from the Telnyx platform
|
|
49
|
+
*/
|
|
50
|
+
disconnect(): Promise<void>;
|
|
51
|
+
/**
|
|
52
|
+
* Disable push notifications for the current session
|
|
53
|
+
*/
|
|
54
|
+
disablePushNotifications(): void;
|
|
55
|
+
/**
|
|
56
|
+
* Handle push notification with stored config
|
|
57
|
+
*/
|
|
58
|
+
handlePushNotificationWithConfig(pushMetaData: any, config: Config): void;
|
|
59
|
+
/**
|
|
60
|
+
* Handle push notification (async version)
|
|
61
|
+
*/
|
|
62
|
+
handlePushNotification(payload: Record<string, any>): Promise<void>;
|
|
63
|
+
/**
|
|
64
|
+
* Dispose of the session manager and clean up resources
|
|
65
|
+
*/
|
|
66
|
+
dispose(): void;
|
|
67
|
+
/**
|
|
68
|
+
* Internal method to establish connection with or without push notification handling
|
|
69
|
+
*/
|
|
70
|
+
private _connect;
|
|
71
|
+
/**
|
|
72
|
+
* Set up event listeners for the Telnyx client
|
|
73
|
+
*/
|
|
74
|
+
private _setupClientListeners;
|
|
75
|
+
/**
|
|
76
|
+
* Extract the actual payload metadata from wrapped push notification payload
|
|
77
|
+
*/
|
|
78
|
+
private _extractPushPayload;
|
|
79
|
+
/**
|
|
80
|
+
* Generate a unique session ID
|
|
81
|
+
*/
|
|
82
|
+
private _generateSessionId;
|
|
87
83
|
}
|