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

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 (58) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/TelnyxVoiceCommons.podspec +31 -31
  3. package/ios/CallKitBridge.m +43 -43
  4. package/ios/CallKitBridge.swift +874 -879
  5. package/ios/VoicePnBridge.m +30 -30
  6. package/ios/VoicePnBridge.swift +86 -86
  7. package/lib/callkit/callkit-coordinator.d.ts +110 -117
  8. package/lib/callkit/callkit-coordinator.js +664 -727
  9. package/lib/callkit/callkit.d.ts +41 -41
  10. package/lib/callkit/callkit.js +252 -242
  11. package/lib/callkit/index.js +15 -47
  12. package/lib/callkit/use-callkit.d.ts +19 -19
  13. package/lib/callkit/use-callkit.js +270 -310
  14. package/lib/context/TelnyxVoiceContext.d.ts +9 -9
  15. package/lib/context/TelnyxVoiceContext.js +10 -13
  16. package/lib/hooks/use-callkit-coordinator.d.ts +9 -17
  17. package/lib/hooks/use-callkit-coordinator.js +45 -50
  18. package/lib/hooks/useAppReadyNotifier.js +13 -15
  19. package/lib/hooks/useAppStateHandler.d.ts +6 -11
  20. package/lib/hooks/useAppStateHandler.js +95 -110
  21. package/lib/hooks/useNetworkStateHandler.d.ts +0 -0
  22. package/lib/hooks/useNetworkStateHandler.js +0 -0
  23. package/lib/index.d.ts +3 -21
  24. package/lib/index.js +50 -201
  25. package/lib/internal/CallKitHandler.d.ts +6 -6
  26. package/lib/internal/CallKitHandler.js +96 -104
  27. package/lib/internal/callkit-manager.d.ts +57 -57
  28. package/lib/internal/callkit-manager.js +299 -316
  29. package/lib/internal/calls/call-state-controller.d.ts +73 -86
  30. package/lib/internal/calls/call-state-controller.js +263 -307
  31. package/lib/internal/session/session-manager.d.ts +71 -75
  32. package/lib/internal/session/session-manager.js +360 -424
  33. package/lib/internal/user-defaults-helpers.js +49 -39
  34. package/lib/internal/voice-pn-bridge.d.ts +114 -12
  35. package/lib/internal/voice-pn-bridge.js +212 -5
  36. package/lib/models/call-state.d.ts +46 -44
  37. package/lib/models/call-state.js +70 -68
  38. package/lib/models/call.d.ts +161 -133
  39. package/lib/models/call.js +454 -382
  40. package/lib/models/config.d.ts +11 -18
  41. package/lib/models/config.js +37 -35
  42. package/lib/models/connection-state.d.ts +10 -10
  43. package/lib/models/connection-state.js +16 -16
  44. package/lib/telnyx-voice-app.d.ts +28 -28
  45. package/lib/telnyx-voice-app.js +463 -481
  46. package/lib/telnyx-voip-client.d.ts +167 -167
  47. package/lib/telnyx-voip-client.js +385 -390
  48. package/package.json +11 -4
  49. package/src/callkit/callkit-coordinator.ts +18 -34
  50. package/src/hooks/useNetworkStateHandler.ts +0 -0
  51. package/src/internal/calls/call-state-controller.ts +81 -58
  52. package/src/internal/session/session-manager.ts +42 -26
  53. package/src/internal/voice-pn-bridge.ts +250 -2
  54. package/src/models/call-state.ts +8 -1
  55. package/src/models/call.ts +119 -5
  56. package/src/telnyx-voice-app.tsx +87 -40
  57. package/src/telnyx-voip-client.ts +15 -3
  58. package/src/types/telnyx-sdk.d.ts +16 -2
@@ -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
  }