@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
@@ -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
- 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
69
- */
70
- private _connect;
71
- /**
72
- * Set up event listeners for the Telnyx client
73
- */
74
- private _setupClientListeners;
75
- /**
76
- * Attempt to reconnect after connection loss
77
- */
78
- private _attemptReconnection;
79
- /**
80
- * Extract the actual payload metadata from wrapped push notification payload
81
- */
82
- private _extractPushPayload;
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
  }