@phystack/hub-client 4.4.53 → 4.4.55

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 (108) hide show
  1. package/dist/index.d.ts +18 -25
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +252 -188
  4. package/dist/index.js.map +1 -1
  5. package/dist/peripheral-twin.d.ts +10 -9
  6. package/dist/peripheral-twin.d.ts.map +1 -1
  7. package/dist/peripheral-twin.js +24 -54
  8. package/dist/peripheral-twin.js.map +1 -1
  9. package/dist/services/phyhub-connection.service.d.ts +1 -0
  10. package/dist/services/phyhub-connection.service.d.ts.map +1 -1
  11. package/dist/services/phyhub-connection.service.js +17 -0
  12. package/dist/services/phyhub-connection.service.js.map +1 -1
  13. package/dist/services/phyhub-direct-connection.service.d.ts +21 -0
  14. package/dist/services/phyhub-direct-connection.service.d.ts.map +1 -0
  15. package/dist/services/phyhub-direct-connection.service.js +101 -0
  16. package/dist/services/phyhub-direct-connection.service.js.map +1 -0
  17. package/dist/services/webrtc/data-channel-handler.d.ts +45 -0
  18. package/dist/services/webrtc/data-channel-handler.d.ts.map +1 -0
  19. package/dist/services/webrtc/data-channel-handler.js +260 -0
  20. package/dist/services/webrtc/data-channel-handler.js.map +1 -0
  21. package/dist/services/webrtc/index.d.ts +8 -0
  22. package/dist/services/webrtc/index.d.ts.map +1 -0
  23. package/dist/services/webrtc/index.js +18 -0
  24. package/dist/services/webrtc/index.js.map +1 -0
  25. package/dist/services/webrtc/media-stream-handler.d.ts +57 -0
  26. package/dist/services/webrtc/media-stream-handler.d.ts.map +1 -0
  27. package/dist/services/webrtc/media-stream-handler.js +367 -0
  28. package/dist/services/webrtc/media-stream-handler.js.map +1 -0
  29. package/dist/services/webrtc/peer-connection-manager.d.ts +40 -0
  30. package/dist/services/webrtc/peer-connection-manager.d.ts.map +1 -0
  31. package/dist/services/webrtc/peer-connection-manager.js +335 -0
  32. package/dist/services/webrtc/peer-connection-manager.js.map +1 -0
  33. package/dist/services/webrtc/types.d.ts +133 -0
  34. package/dist/services/webrtc/types.d.ts.map +1 -0
  35. package/dist/services/webrtc/types.js +12 -0
  36. package/dist/services/webrtc/types.js.map +1 -0
  37. package/dist/services/webrtc/webrtc-globals.d.ts +4 -0
  38. package/dist/services/webrtc/webrtc-globals.d.ts.map +1 -0
  39. package/dist/services/webrtc/webrtc-globals.js +72 -0
  40. package/dist/services/webrtc/webrtc-globals.js.map +1 -0
  41. package/dist/services/webrtc/webrtc-manager.d.ts +35 -0
  42. package/dist/services/webrtc/webrtc-manager.d.ts.map +1 -0
  43. package/dist/services/webrtc/webrtc-manager.js +274 -0
  44. package/dist/services/webrtc/webrtc-manager.js.map +1 -0
  45. package/dist/test/communication-comprehensive-test.d.ts +8 -0
  46. package/dist/test/communication-comprehensive-test.d.ts.map +1 -0
  47. package/dist/test/communication-comprehensive-test.js +356 -0
  48. package/dist/test/communication-comprehensive-test.js.map +1 -0
  49. package/dist/test/webrtc-channel-names-test.d.ts +2 -0
  50. package/dist/test/webrtc-channel-names-test.d.ts.map +1 -0
  51. package/dist/test/webrtc-channel-names-test.js +177 -0
  52. package/dist/test/webrtc-channel-names-test.js.map +1 -0
  53. package/dist/test/webrtc-comprehensive-test.d.ts +2 -0
  54. package/dist/test/webrtc-comprehensive-test.d.ts.map +1 -0
  55. package/dist/test/webrtc-comprehensive-test.js +328 -0
  56. package/dist/test/webrtc-comprehensive-test.js.map +1 -0
  57. package/dist/test/webrtc-reconnect-test.d.ts +4 -0
  58. package/dist/test/webrtc-reconnect-test.d.ts.map +1 -0
  59. package/dist/test/webrtc-reconnect-test.js +244 -0
  60. package/dist/test/webrtc-reconnect-test.js.map +1 -0
  61. package/dist/test/webrtc-test-harness.d.ts +4 -0
  62. package/dist/test/webrtc-test-harness.d.ts.map +1 -0
  63. package/dist/test/webrtc-test-harness.js +169 -0
  64. package/dist/test/webrtc-test-harness.js.map +1 -0
  65. package/dist/twin-messaging.d.ts +23 -0
  66. package/dist/twin-messaging.d.ts.map +1 -0
  67. package/dist/twin-messaging.js +96 -0
  68. package/dist/twin-messaging.js.map +1 -0
  69. package/dist/types/twin.types.d.ts +36 -20
  70. package/dist/types/twin.types.d.ts.map +1 -1
  71. package/dist/types/twin.types.js.map +1 -1
  72. package/docs/webrtc-howto.md +398 -0
  73. package/docs/webrtc-test.md +330 -0
  74. package/package.json +3 -3
  75. package/scripts/webrtc-test.sh +401 -0
  76. package/src/index.ts +370 -259
  77. package/src/peripheral-twin.ts +44 -67
  78. package/src/services/phyhub-connection.service.ts +24 -0
  79. package/src/services/phyhub-direct-connection.service.ts +159 -0
  80. package/src/services/webrtc/data-channel-handler.ts +362 -0
  81. package/src/services/webrtc/index.ts +36 -0
  82. package/src/services/webrtc/media-stream-handler.ts +515 -0
  83. package/src/services/webrtc/peer-connection-manager.ts +463 -0
  84. package/src/services/webrtc/types.ts +270 -0
  85. package/src/services/webrtc/webrtc-globals.ts +108 -0
  86. package/src/services/webrtc/webrtc-manager.ts +490 -0
  87. package/src/test/communication-comprehensive-test.ts +533 -0
  88. package/src/test/webrtc-channel-names-test.ts +266 -0
  89. package/src/test/webrtc-comprehensive-test.ts +494 -0
  90. package/src/test/webrtc-reconnect-test.ts +345 -0
  91. package/src/test/webrtc-test-harness.ts +254 -0
  92. package/src/twin-messaging.ts +193 -0
  93. package/src/types/twin.types.ts +59 -20
  94. package/dist/services/webrtc/datachannel.d.ts +0 -10
  95. package/dist/services/webrtc/datachannel.d.ts.map +0 -1
  96. package/dist/services/webrtc/datachannel.js +0 -290
  97. package/dist/services/webrtc/datachannel.js.map +0 -1
  98. package/dist/services/webrtc/mediastream.d.ts +0 -10
  99. package/dist/services/webrtc/mediastream.d.ts.map +0 -1
  100. package/dist/services/webrtc/mediastream.js +0 -396
  101. package/dist/services/webrtc/mediastream.js.map +0 -1
  102. package/dist/services/webrtc/peer-connection-ice.d.ts +0 -32
  103. package/dist/services/webrtc/peer-connection-ice.d.ts.map +0 -1
  104. package/dist/services/webrtc/peer-connection-ice.js +0 -483
  105. package/dist/services/webrtc/peer-connection-ice.js.map +0 -1
  106. package/src/services/webrtc/datachannel.ts +0 -421
  107. package/src/services/webrtc/mediastream.ts +0 -602
  108. package/src/services/webrtc/peer-connection-ice.ts +0 -689
package/dist/index.d.ts CHANGED
@@ -1,24 +1,8 @@
1
1
  import { Socket, SocketOptions, ManagerOptions } from 'socket.io-client';
2
- import { TwinStatusEnum, ScreenTwinReportedProperties, TwinResponse, EdgeTwinResponse, EdgeTwinDesiredPropertiesResponse, Instance, PeripheralInstance, IPeripheralTwinInstance, TwinMessageResult } from './types/twin.types';
3
- import { PhygridDataChannel, PhygridMediaStream } from './types/webrtc.types';
2
+ import { TwinStatusEnum, ScreenTwinReportedProperties, TwinResponse, EdgeTwinResponse, EdgeTwinDesiredPropertiesResponse, Instance, PeripheralInstance, IPeripheralTwinInstance, TwinMessageResult, TwinMessageResultStatus } from './types/twin.types';
4
3
  import { SignalsService } from './services/signals.service';
5
4
  import { DataRequestTypeEnum, InitSignalPayload } from './types/signal.types';
6
- export * from './types';
7
- declare global {
8
- interface Window {
9
- RTCVideoSource?: any;
10
- }
11
- namespace NodeJS {
12
- interface Global {
13
- MediaStream?: any;
14
- RTCPeerConnection?: any;
15
- RTCSessionDescription?: any;
16
- RTCIceCandidate?: any;
17
- RTCVideoSource?: any;
18
- }
19
- }
20
- var RTCVideoSource: any;
21
- }
5
+ import { WebRTCManager, PhygridDataChannel, PhygridMediaStream, WebRTCManagerOptions, MediaStreamOptions } from './services/webrtc';
22
6
  export interface EventPayload<T = any> {
23
7
  twinId?: string;
24
8
  sourceTwinId?: string;
@@ -43,6 +27,7 @@ export declare class PhyHubClient {
43
27
  private instances;
44
28
  private twinUpdateListeners;
45
29
  private twinInstancesRegistry;
30
+ private webrtcManager;
46
31
  private readonly EVENTS;
47
32
  constructor(params?: {
48
33
  instanceId?: string;
@@ -62,13 +47,14 @@ export declare class PhyHubClient {
62
47
  isConnected(): boolean;
63
48
  sendSignal(type: DataRequestTypeEnum, data: Record<string, any>): Promise<void>;
64
49
  getDeviceStatus(): Promise<any>;
65
- getDataChannel: (targetTwinId: string) => Promise<PhygridDataChannel>;
66
- onDataChannel: (sourceTwinId: string, callback: (dc: PhygridDataChannel) => void) => Promise<void>;
67
- getMediaStream(targetTwinId: string): Promise<{
50
+ getDataChannel: (targetTwinId: string, channelName?: string) => Promise<PhygridDataChannel>;
51
+ onDataChannel: (sourceTwinId: string, callback: (dc: PhygridDataChannel) => void, channelName?: string) => Promise<void>;
52
+ getMediaStream(targetTwinId: string, options?: MediaStreamOptions): Promise<{
68
53
  stream: PhygridMediaStream;
69
54
  close: () => void;
70
55
  }>;
71
- onMediaStream: (sourceTwinId: string, callback: (stream: PhygridMediaStream) => void) => Promise<void>;
56
+ onMediaStream: (sourceTwinId: string, callback: (stream: PhygridMediaStream) => void, options?: MediaStreamOptions) => Promise<void>;
57
+ getWebRTCManager(options?: WebRTCManagerOptions): Promise<WebRTCManager>;
72
58
  getInstance(): Promise<Instance>;
73
59
  getEdgeInstance(): Promise<Instance>;
74
60
  getScreenInstance(): Promise<Instance>;
@@ -84,20 +70,24 @@ export declare class PhyHubClient {
84
70
  private processEmitQueue;
85
71
  onTwinUpdate(targetTwinId: string, callback: (twin: TwinResponse) => void): void;
86
72
  offTwinUpdate(targetTwinId: string, callback: (twin: TwinResponse) => void): boolean;
87
- sendTwinMessage(targetTwinId: string, data: any, callback?: (response: any) => void): Promise<TwinMessageResult | undefined>;
73
+ sendEvent(targetTwinId: string, data: any): void;
74
+ request(targetTwinId: string, data: any, callback?: (response: TwinMessageResult) => void): Promise<TwinMessageResult | undefined>;
75
+ sendTwinMessage(targetTwinId: string, data: any, callback?: (response: any) => void): Promise<void>;
88
76
  onTwinMessage(targetTwinId: string, callback: (message: any) => void): Promise<void>;
89
77
  offTwinMessage(targetTwinId: string, callback: (message: any) => void): boolean;
90
78
  removeMessageListener(twinId: string, callback: (message: any) => void): void;
91
79
  subscribeTwin(targetTwinId: string, callback?: (response: any) => void): Promise<unknown>;
92
80
  getTwinById(twinId: string): Promise<TwinResponse>;
93
81
  updateReportedProperties(twinId: string, reportedProperties: Record<string, any>): Promise<TwinResponse>;
82
+ private initializeDirectConnectionTwin;
94
83
  }
95
84
  export declare const connectPhyClient: (params?: {
96
85
  instanceId?: string;
97
86
  moduleName?: string;
98
87
  dataResidency?: string;
99
88
  }) => Promise<PhyHubClient>;
100
- export type { EdgeTwinResponse, Instance, PeripheralInstance };
89
+ export type { EdgeTwinResponse, Instance, PeripheralInstance, IPeripheralTwinInstance, TwinMessageResult };
90
+ export { TwinMessageResultStatus };
101
91
  declare const _default: {
102
92
  connectPhyClient: (params?: {
103
93
  instanceId?: string;
@@ -106,5 +96,8 @@ declare const _default: {
106
96
  }) => Promise<PhyHubClient>;
107
97
  };
108
98
  export default _default;
109
- export type { PhygridDataChannel, PhygridMediaStream };
99
+ export type { PhygridDataChannel, PhygridMediaStream, WebRTCManagerOptions, MediaStreamOptions };
100
+ export { WebRTCManager } from './services/webrtc';
101
+ export type { TwinMessagingContext, TwinMessagingMethods } from './twin-messaging';
102
+ export { createTwinMessaging } from './twin-messaging';
110
103
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}