@phystack/hub-client 4.5.19-dev → 4.5.20-dev

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 (119) hide show
  1. package/dist/index.d.ts +22 -28
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +252 -378
  4. package/dist/index.js.map +1 -1
  5. package/dist/peripheral-twin.d.ts +34 -0
  6. package/dist/peripheral-twin.d.ts.map +1 -0
  7. package/dist/peripheral-twin.js +234 -0
  8. package/dist/peripheral-twin.js.map +1 -0
  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 +383 -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 +336 -0
  32. package/dist/services/webrtc/peer-connection-manager.js.map +1 -0
  33. package/dist/services/webrtc/types.d.ts +134 -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 +20 -0
  66. package/dist/twin-messaging.d.ts.map +1 -0
  67. package/dist/twin-messaging.js +94 -0
  68. package/dist/twin-messaging.js.map +1 -0
  69. package/dist/twin-registry.d.ts +9 -0
  70. package/dist/twin-registry.d.ts.map +1 -0
  71. package/dist/twin-registry.js +26 -0
  72. package/dist/twin-registry.js.map +1 -0
  73. package/dist/types/index.d.ts +4 -0
  74. package/dist/types/index.d.ts.map +1 -0
  75. package/dist/types/index.js +20 -0
  76. package/dist/types/index.js.map +1 -0
  77. package/dist/types/twin.types.d.ts +62 -14
  78. package/dist/types/twin.types.d.ts.map +1 -1
  79. package/dist/types/twin.types.js +8 -1
  80. package/dist/types/twin.types.js.map +1 -1
  81. package/docs/webrtc-howto.md +398 -0
  82. package/docs/webrtc-test.md +330 -0
  83. package/package.json +3 -3
  84. package/scripts/webrtc-test.sh +401 -0
  85. package/src/index.ts +378 -568
  86. package/src/peripheral-twin.ts +337 -0
  87. package/src/services/phyhub-connection.service.ts +24 -0
  88. package/src/services/phyhub-direct-connection.service.ts +159 -0
  89. package/src/services/webrtc/data-channel-handler.ts +362 -0
  90. package/src/services/webrtc/index.ts +36 -0
  91. package/src/services/webrtc/media-stream-handler.ts +536 -0
  92. package/src/services/webrtc/peer-connection-manager.ts +467 -0
  93. package/src/services/webrtc/types.ts +273 -0
  94. package/src/services/webrtc/webrtc-globals.ts +108 -0
  95. package/src/services/webrtc/webrtc-manager.ts +490 -0
  96. package/src/test/communication-comprehensive-test.ts +533 -0
  97. package/src/test/webrtc-channel-names-test.ts +266 -0
  98. package/src/test/webrtc-comprehensive-test.ts +494 -0
  99. package/src/test/webrtc-reconnect-test.ts +345 -0
  100. package/src/test/webrtc-test-harness.ts +254 -0
  101. package/src/twin-messaging.ts +184 -0
  102. package/src/twin-registry.ts +39 -0
  103. package/src/types/index.ts +3 -0
  104. package/src/types/twin.types.ts +80 -14
  105. package/dist/services/webrtc/datachannel.d.ts +0 -10
  106. package/dist/services/webrtc/datachannel.d.ts.map +0 -1
  107. package/dist/services/webrtc/datachannel.js +0 -290
  108. package/dist/services/webrtc/datachannel.js.map +0 -1
  109. package/dist/services/webrtc/mediastream.d.ts +0 -10
  110. package/dist/services/webrtc/mediastream.d.ts.map +0 -1
  111. package/dist/services/webrtc/mediastream.js +0 -396
  112. package/dist/services/webrtc/mediastream.js.map +0 -1
  113. package/dist/services/webrtc/peer-connection-ice.d.ts +0 -32
  114. package/dist/services/webrtc/peer-connection-ice.d.ts.map +0 -1
  115. package/dist/services/webrtc/peer-connection-ice.js +0 -483
  116. package/dist/services/webrtc/peer-connection-ice.js.map +0 -1
  117. package/src/services/webrtc/datachannel.ts +0 -421
  118. package/src/services/webrtc/mediastream.ts +0 -602
  119. package/src/services/webrtc/peer-connection-ice.ts +0 -689
package/dist/index.d.ts CHANGED
@@ -1,24 +1,9 @@
1
1
  import { Socket, SocketOptions, ManagerOptions } from 'socket.io-client';
2
- import { TwinStatusEnum, ScreenTwinReportedProperties, TwinResponse, EdgeTwinResponse, EdgeTwinDesiredPropertiesResponse, Instance, PeripheralInstance } 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
- declare global {
7
- interface Window {
8
- RTCVideoSource?: any;
9
- }
10
- namespace NodeJS {
11
- interface Global {
12
- MediaStream?: any;
13
- RTCPeerConnection?: any;
14
- RTCSessionDescription?: any;
15
- RTCIceCandidate?: any;
16
- RTCVideoSource?: any;
17
- }
18
- }
19
- var RTCVideoSource: any;
20
- }
21
- interface EventPayload<T = any> {
5
+ import { WebRTCManager, PhygridDataChannel, PhygridMediaStream, WebRTCManagerOptions, MediaStreamOptions } from './services/webrtc';
6
+ export interface EventPayload<T = any> {
22
7
  twinId?: string;
23
8
  sourceTwinId?: string;
24
9
  sourceDeviceId?: string;
@@ -40,8 +25,9 @@ export declare class PhyHubClient {
40
25
  private subscribedTwins;
41
26
  private twinMessageListeners;
42
27
  private instances;
43
- private peripheralInstances;
44
28
  private twinUpdateListeners;
29
+ private twinInstancesRegistry;
30
+ private webrtcManager;
45
31
  private readonly EVENTS;
46
32
  constructor(params?: {
47
33
  instanceId?: string;
@@ -61,17 +47,18 @@ export declare class PhyHubClient {
61
47
  isConnected(): boolean;
62
48
  sendSignal(type: DataRequestTypeEnum, data: Record<string, any>): Promise<void>;
63
49
  getDeviceStatus(): Promise<any>;
64
- getDataChannel: (targetTwinId: string) => Promise<PhygridDataChannel>;
65
- onDataChannel: (sourceTwinId: string, callback: (dc: PhygridDataChannel) => void) => Promise<void>;
66
- 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<{
67
53
  stream: PhygridMediaStream;
68
54
  close: () => void;
69
55
  }>;
70
- 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>;
71
58
  getInstance(): Promise<Instance>;
72
59
  getEdgeInstance(): Promise<Instance>;
73
60
  getScreenInstance(): Promise<Instance>;
74
- getPeripheralInstance(peripheralTwinId: string): Promise<PeripheralInstance>;
61
+ getPeripheralInstance(peripheralTwinId: string): Promise<IPeripheralTwinInstance | null>;
75
62
  private getGridApp;
76
63
  getSettings(): Promise<Partial<EdgeTwinDesiredPropertiesResponse>>;
77
64
  getEdgeSettings(): Promise<Partial<EdgeTwinDesiredPropertiesResponse>>;
@@ -83,20 +70,24 @@ export declare class PhyHubClient {
83
70
  private processEmitQueue;
84
71
  onTwinUpdate(targetTwinId: string, callback: (twin: TwinResponse) => void): void;
85
72
  offTwinUpdate(targetTwinId: string, callback: (twin: TwinResponse) => void): boolean;
86
- sendTwinMessage(targetTwinId: string, data: any, callback?: (response: any) => void): Promise<unknown>;
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>;
87
76
  onTwinMessage(targetTwinId: string, callback: (message: any) => void): Promise<void>;
88
77
  offTwinMessage(targetTwinId: string, callback: (message: any) => void): boolean;
89
78
  removeMessageListener(twinId: string, callback: (message: any) => void): void;
90
79
  subscribeTwin(targetTwinId: string, callback?: (response: any) => void): Promise<unknown>;
91
80
  getTwinById(twinId: string): Promise<TwinResponse>;
92
- private updateReportedProperties;
81
+ updateReportedProperties(twinId: string, reportedProperties: Record<string, any>): Promise<TwinResponse>;
82
+ private initializeDirectConnectionTwin;
93
83
  }
94
84
  export declare const connectPhyClient: (params?: {
95
85
  instanceId?: string;
96
86
  moduleName?: string;
97
87
  dataResidency?: string;
98
88
  }) => Promise<PhyHubClient>;
99
- export type { EdgeTwinResponse, Instance, PeripheralInstance };
89
+ export type { EdgeTwinResponse, Instance, PeripheralInstance, IPeripheralTwinInstance, TwinMessageResult };
90
+ export { TwinMessageResultStatus };
100
91
  declare const _default: {
101
92
  connectPhyClient: (params?: {
102
93
  instanceId?: string;
@@ -105,5 +96,8 @@ declare const _default: {
105
96
  }) => Promise<PhyHubClient>;
106
97
  };
107
98
  export default _default;
108
- 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';
109
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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"}