@dronedeploy/rocos-js-sdk 0.0.1 → 1.0.0-alpha-2

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 (468) hide show
  1. package/IRocosSDK.d.ts +55 -0
  2. package/IRocosSDK.js +2 -0
  3. package/README.md +108 -0
  4. package/RocosSDK.d.ts +138 -0
  5. package/RocosSDK.js +292 -0
  6. package/api/StreamRegister.d.ts +13 -0
  7. package/api/StreamRegister.js +69 -0
  8. package/api/atoms/StreamHeartbeat.d.ts +27 -0
  9. package/api/atoms/StreamHeartbeat.js +111 -0
  10. package/api/streams/caller/CallerStream.d.ts +13 -0
  11. package/api/streams/caller/CallerStream.js +77 -0
  12. package/api/streams/caller/CallerStreamAbstract.d.ts +23 -0
  13. package/api/streams/caller/CallerStreamAbstract.js +87 -0
  14. package/api/streams/caller/CallerStreamNode.d.ts +13 -0
  15. package/api/streams/caller/CallerStreamNode.js +115 -0
  16. package/api/streams/command/CommandStream.d.ts +10 -0
  17. package/api/streams/command/CommandStream.js +66 -0
  18. package/api/streams/command/CommandStreamAbstract.d.ts +20 -0
  19. package/api/streams/command/CommandStreamAbstract.js +63 -0
  20. package/api/streams/command/CommandStreamNode.d.ts +10 -0
  21. package/api/streams/command/CommandStreamNode.js +69 -0
  22. package/api/streams/control/ControlStream.d.ts +12 -0
  23. package/api/streams/control/ControlStream.js +75 -0
  24. package/api/streams/control/ControlStreamAbstract.d.ts +25 -0
  25. package/api/streams/control/ControlStreamAbstract.js +111 -0
  26. package/api/streams/control/ControlStreamNode.d.ts +12 -0
  27. package/api/streams/control/ControlStreamNode.js +73 -0
  28. package/api/streams/fileAccessor/FileAccessorStream.d.ts +8 -0
  29. package/api/streams/fileAccessor/FileAccessorStream.js +59 -0
  30. package/api/streams/fileAccessor/FileAccessorStreamAbstract.d.ts +21 -0
  31. package/api/streams/fileAccessor/FileAccessorStreamAbstract.js +62 -0
  32. package/api/streams/fileAccessor/FileAccessorStreamNode.d.ts +8 -0
  33. package/api/streams/fileAccessor/FileAccessorStreamNode.js +66 -0
  34. package/api/streams/search/SearchStream.d.ts +13 -0
  35. package/api/streams/search/SearchStream.js +96 -0
  36. package/api/streams/search/SearchStreamAbstract.d.ts +25 -0
  37. package/api/streams/search/SearchStreamAbstract.js +72 -0
  38. package/api/streams/search/SearchStreamNode.d.ts +13 -0
  39. package/api/streams/search/SearchStreamNode.js +118 -0
  40. package/api/streams/telemetry/TelemetryStream.d.ts +17 -0
  41. package/api/streams/telemetry/TelemetryStream.js +97 -0
  42. package/api/streams/telemetry/TelemetryStreamAbstract.d.ts +59 -0
  43. package/api/streams/telemetry/TelemetryStreamAbstract.js +402 -0
  44. package/api/streams/telemetry/TelemetryStreamNode.d.ts +21 -0
  45. package/api/streams/telemetry/TelemetryStreamNode.js +175 -0
  46. package/api/streams/webRTCSignalling/WebRTCSignallingStream.d.ts +39 -0
  47. package/api/streams/webRTCSignalling/WebRTCSignallingStream.js +84 -0
  48. package/api/streams/webRTCSignalling/WebRTCSignallingStreamAbstract.d.ts +29 -0
  49. package/api/streams/webRTCSignalling/WebRTCSignallingStreamAbstract.js +65 -0
  50. package/constants/api.d.ts +126 -0
  51. package/constants/api.js +126 -0
  52. package/constants/auth.d.ts +2 -0
  53. package/constants/auth.js +2 -0
  54. package/constants/grpc.d.ts +5 -0
  55. package/constants/grpc.js +5 -0
  56. package/constants/identifier.d.ts +6 -0
  57. package/constants/identifier.js +6 -0
  58. package/constants/timezones.d.ts +2 -0
  59. package/constants/timezones.js +427 -0
  60. package/grpc/conker_pb.client.d.ts +78 -0
  61. package/grpc/conker_pb.client.js +55 -0
  62. package/grpc/conker_pb.d.ts +141 -0
  63. package/grpc/conker_pb.grpc-client.d.ts +81 -0
  64. package/grpc/conker_pb.grpc-client.js +58 -0
  65. package/grpc/conker_pb.js +104 -0
  66. package/grpc/filagree_pb.client.d.ts +68 -0
  67. package/grpc/filagree_pb.client.js +48 -0
  68. package/grpc/filagree_pb.d.ts +404 -0
  69. package/grpc/filagree_pb.grpc-client.d.ts +69 -0
  70. package/grpc/filagree_pb.grpc-client.js +51 -0
  71. package/grpc/filagree_pb.js +329 -0
  72. package/grpc/google/protobuf/descriptor_pb.d.ts +1798 -0
  73. package/grpc/google/protobuf/descriptor_pb.js +2378 -0
  74. package/grpc/google/protobuf/empty_pb.d.ts +23 -0
  75. package/grpc/google/protobuf/empty_pb.js +47 -0
  76. package/grpc/pigeon_pb.client.d.ts +96 -0
  77. package/grpc/pigeon_pb.client.js +72 -0
  78. package/grpc/pigeon_pb.d.ts +207 -0
  79. package/grpc/pigeon_pb.grpc-client.d.ts +98 -0
  80. package/grpc/pigeon_pb.grpc-client.js +68 -0
  81. package/grpc/pigeon_pb.js +144 -0
  82. package/grpc/rambo.uri.v1_pb.d.ts +73 -0
  83. package/grpc/rambo.uri.v1_pb.js +48 -0
  84. package/grpc/rambo.v1_pb.client.d.ts +66 -0
  85. package/grpc/rambo.v1_pb.client.js +48 -0
  86. package/grpc/rambo.v1_pb.d.ts +392 -0
  87. package/grpc/rambo.v1_pb.grpc-client.d.ts +56 -0
  88. package/grpc/rambo.v1_pb.grpc-client.js +44 -0
  89. package/grpc/rambo.v1_pb.js +272 -0
  90. package/grpc/serviette.uri.v1_pb.d.ts +89 -0
  91. package/grpc/serviette.uri.v1_pb.js +62 -0
  92. package/grpc/serviette.v1_pb.client.d.ts +225 -0
  93. package/grpc/serviette.v1_pb.client.js +174 -0
  94. package/grpc/serviette.v1_pb.d.ts +827 -0
  95. package/grpc/serviette.v1_pb.grpc-client.d.ts +215 -0
  96. package/grpc/serviette.v1_pb.grpc-client.js +162 -0
  97. package/grpc/serviette.v1_pb.js +553 -0
  98. package/grpc/slowlane_pb.client.d.ts +61 -0
  99. package/grpc/slowlane_pb.client.js +41 -0
  100. package/grpc/slowlane_pb.d.ts +303 -0
  101. package/grpc/slowlane_pb.grpc-client.d.ts +64 -0
  102. package/grpc/slowlane_pb.grpc-client.js +44 -0
  103. package/grpc/slowlane_pb.js +185 -0
  104. package/grpc/teletubby_pb.client.d.ts +145 -0
  105. package/grpc/teletubby_pb.client.js +104 -0
  106. package/grpc/teletubby_pb.d.ts +634 -0
  107. package/grpc/teletubby_pb.grpc-client.d.ts +152 -0
  108. package/grpc/teletubby_pb.grpc-client.js +100 -0
  109. package/grpc/teletubby_pb.js +1264 -0
  110. package/helpers/arrayRemove.d.ts +1 -0
  111. package/helpers/arrayRemove.js +3 -0
  112. package/helpers/arrayUnique.d.ts +1 -0
  113. package/helpers/arrayUnique.js +3 -0
  114. package/helpers/average.d.ts +1 -0
  115. package/helpers/average.js +6 -0
  116. package/helpers/cleanObject.d.ts +1 -0
  117. package/helpers/cleanObject.js +18 -0
  118. package/helpers/cleanObject.spec.d.ts +1 -0
  119. package/helpers/cleanObject.spec.js +53 -0
  120. package/helpers/enviroment.d.ts +8 -0
  121. package/helpers/enviroment.js +13 -0
  122. package/helpers/flattenCallsignsLookup.d.ts +2 -0
  123. package/helpers/flattenCallsignsLookup.js +6 -0
  124. package/helpers/flattenObject.d.ts +1 -0
  125. package/helpers/flattenObject.js +13 -0
  126. package/helpers/flattenObject.spec.d.ts +1 -0
  127. package/helpers/flattenObject.spec.js +29 -0
  128. package/helpers/flattenOneOf.d.ts +67 -0
  129. package/helpers/flattenOneOf.js +29 -0
  130. package/helpers/flattenOneOf.spec.d.ts +1 -0
  131. package/helpers/flattenOneOf.spec.js +157 -0
  132. package/helpers/formatServiceUrl.d.ts +1 -0
  133. package/helpers/formatServiceUrl.js +7 -0
  134. package/helpers/formatServiceUrl.spec.d.ts +1 -0
  135. package/helpers/formatServiceUrl.spec.js +16 -0
  136. package/helpers/generateUUID.d.ts +1 -0
  137. package/helpers/generateUUID.js +4 -0
  138. package/helpers/getSubscriptionsDifference.d.ts +10 -0
  139. package/helpers/getSubscriptionsDifference.js +35 -0
  140. package/helpers/getUniqueConfigKey.d.ts +7 -0
  141. package/helpers/getUniqueConfigKey.js +14 -0
  142. package/helpers/getUniqueId.d.ts +9 -0
  143. package/helpers/getUniqueId.js +11 -0
  144. package/helpers/getUnixTimeMs.d.ts +1 -0
  145. package/helpers/getUnixTimeMs.js +4 -0
  146. package/helpers/index.d.ts +3 -0
  147. package/helpers/index.js +3 -0
  148. package/helpers/nanosecondToMillisecond.d.ts +1 -0
  149. package/helpers/nanosecondToMillisecond.js +6 -0
  150. package/helpers/randomString.d.ts +1 -0
  151. package/helpers/randomString.js +3 -0
  152. package/helpers/standardDeviation.d.ts +1 -0
  153. package/helpers/standardDeviation.js +12 -0
  154. package/helpers/standardDeviation.spec.d.ts +1 -0
  155. package/helpers/standardDeviation.spec.js +11 -0
  156. package/helpers/stringToUint8Array.d.ts +1 -0
  157. package/helpers/stringToUint8Array.js +10 -0
  158. package/helpers/uint8ArrayToString.d.ts +1 -0
  159. package/helpers/uint8ArrayToString.js +10 -0
  160. package/index.d.ts +7 -0
  161. package/index.js +7 -0
  162. package/logger/RocosLogger.d.ts +7 -0
  163. package/logger/RocosLogger.js +37 -0
  164. package/models/CallsignStatus.d.ts +6 -0
  165. package/models/CallsignStatus.js +7 -0
  166. package/models/ExportDataQuery.d.ts +8 -0
  167. package/models/ExportDataQuery.js +13 -0
  168. package/models/ExternalProject.d.ts +6 -0
  169. package/models/ExternalProject.js +2 -0
  170. package/models/IBaseService.d.ts +4 -0
  171. package/models/IBaseService.js +1 -0
  172. package/models/IConfigGroup.d.ts +5 -0
  173. package/models/IConfigGroup.js +1 -0
  174. package/models/IDebugLevel.d.ts +2 -0
  175. package/models/IDebugLevel.js +1 -0
  176. package/models/IExportDataQuery.d.ts +9 -0
  177. package/models/IExportDataQuery.js +1 -0
  178. package/models/IFunctionConfig.d.ts +8 -0
  179. package/models/IFunctionConfig.js +1 -0
  180. package/models/IInvitation.d.ts +6 -0
  181. package/models/IInvitation.js +1 -0
  182. package/models/IInvitationExists.d.ts +4 -0
  183. package/models/IInvitationExists.js +1 -0
  184. package/models/IOperation.d.ts +6 -0
  185. package/models/IOperation.js +1 -0
  186. package/models/IPersonalAccessToken.d.ts +16 -0
  187. package/models/IPersonalAccessToken.js +1 -0
  188. package/models/IProject.d.ts +4 -0
  189. package/models/IProject.js +1 -0
  190. package/models/IProjectApplication.d.ts +6 -0
  191. package/models/IProjectApplication.js +1 -0
  192. package/models/IRobot.d.ts +18 -0
  193. package/models/IRobot.js +1 -0
  194. package/models/IRobotConfig.d.ts +8 -0
  195. package/models/IRobotConfig.js +1 -0
  196. package/models/IRobotPlugin.d.ts +3 -0
  197. package/models/IRobotPlugin.js +1 -0
  198. package/models/IRobotSettings.d.ts +28 -0
  199. package/models/IRobotSettings.js +1 -0
  200. package/models/IRobotTemplate.d.ts +10 -0
  201. package/models/IRobotTemplate.js +1 -0
  202. package/models/IRocosSDKConfig.d.ts +19 -0
  203. package/models/IRocosSDKConfig.js +1 -0
  204. package/models/ISource.d.ts +8 -0
  205. package/models/ISource.js +1 -0
  206. package/models/IStream.d.ts +9 -0
  207. package/models/IStream.js +1 -0
  208. package/models/IStreamConfig.d.ts +9 -0
  209. package/models/IStreamConfig.js +1 -0
  210. package/models/IStreamOptions.d.ts +7 -0
  211. package/models/IStreamOptions.js +1 -0
  212. package/models/IStreamSource.d.ts +8 -0
  213. package/models/IStreamSource.js +1 -0
  214. package/models/ISubscriberStatus.d.ts +5 -0
  215. package/models/ISubscriberStatus.js +1 -0
  216. package/models/ITelemetryStreamConfig.d.ts +7 -0
  217. package/models/ITelemetryStreamConfig.js +1 -0
  218. package/models/IToken.d.ts +9 -0
  219. package/models/IToken.js +1 -0
  220. package/models/IWidget.d.ts +25 -0
  221. package/models/IWidget.js +1 -0
  222. package/models/IWidgetLineGroup.d.ts +8 -0
  223. package/models/IWidgetLineGroup.js +1 -0
  224. package/models/ResponseLevelEnum.d.ts +10 -0
  225. package/models/ResponseLevelEnum.js +11 -0
  226. package/models/Robot.d.ts +20 -0
  227. package/models/Robot.js +8 -0
  228. package/models/RobotConfig.d.ts +10 -0
  229. package/models/RobotConfig.js +5 -0
  230. package/models/RobotPlugin.d.ts +5 -0
  231. package/models/RobotPlugin.js +5 -0
  232. package/models/RobotTemplate.d.ts +12 -0
  233. package/models/RobotTemplate.js +25 -0
  234. package/models/RocosError.d.ts +30 -0
  235. package/models/RocosError.js +39 -0
  236. package/models/ServiceEnum.d.ts +26 -0
  237. package/models/ServiceEnum.js +27 -0
  238. package/models/Stream.d.ts +10 -0
  239. package/models/Stream.js +11 -0
  240. package/models/StreamOptions.d.ts +9 -0
  241. package/models/StreamOptions.js +33 -0
  242. package/models/StreamSource.d.ts +10 -0
  243. package/models/StreamSource.js +11 -0
  244. package/models/SubscriberStatusEnum.d.ts +6 -0
  245. package/models/SubscriberStatusEnum.js +7 -0
  246. package/models/Token.d.ts +40 -0
  247. package/models/Token.js +78 -0
  248. package/models/Token.spec.d.ts +1 -0
  249. package/models/Token.spec.js +108 -0
  250. package/models/Widget.d.ts +27 -0
  251. package/models/Widget.js +12 -0
  252. package/models/WidgetLineGroup.d.ts +10 -0
  253. package/models/WidgetLineGroup.js +5 -0
  254. package/models/asset-storage/AssetModelItem.d.ts +29 -0
  255. package/models/asset-storage/AssetModelItem.js +1 -0
  256. package/models/caller/IRocosCallerMessageChunk.d.ts +10 -0
  257. package/models/caller/IRocosCallerMessageChunk.js +1 -0
  258. package/models/caller/IRocosCallerMessageChunks.d.ts +4 -0
  259. package/models/caller/IRocosCallerMessageChunks.js +1 -0
  260. package/models/caller/IRocosCallerMessageHeartbeat.d.ts +3 -0
  261. package/models/caller/IRocosCallerMessageHeartbeat.js +1 -0
  262. package/models/caller/IRocosCallerMessageResponse.d.ts +10 -0
  263. package/models/caller/IRocosCallerMessageResponse.js +1 -0
  264. package/models/caller/IRocosCallerMessageResponseAck.d.ts +16 -0
  265. package/models/caller/IRocosCallerMessageResponseAck.js +13 -0
  266. package/models/caller/IRocosCallerMessageResponseResult.d.ts +15 -0
  267. package/models/caller/IRocosCallerMessageResponseResult.js +12 -0
  268. package/models/caller/IRocosCallerMessageResponseReturn.d.ts +8 -0
  269. package/models/caller/IRocosCallerMessageResponseReturn.js +1 -0
  270. package/models/caller/IRocosCallerMessageResponseUid.d.ts +10 -0
  271. package/models/caller/IRocosCallerMessageResponseUid.js +7 -0
  272. package/models/caller/IRocosCallerMessageResponses.d.ts +4 -0
  273. package/models/caller/IRocosCallerMessageResponses.js +1 -0
  274. package/models/caller/RocosCallerResultStatus.d.ts +11 -0
  275. package/models/caller/RocosCallerResultStatus.js +12 -0
  276. package/models/caller/RocosResponseLevel.d.ts +6 -0
  277. package/models/caller/RocosResponseLevel.js +7 -0
  278. package/models/caller/index.d.ts +10 -0
  279. package/models/caller/index.js +10 -0
  280. package/models/callsigns/CallsignsEnums.d.ts +13 -0
  281. package/models/callsigns/CallsignsEnums.js +17 -0
  282. package/models/callsigns/CallsignsLookup.d.ts +8 -0
  283. package/models/callsigns/CallsignsLookup.js +28 -0
  284. package/models/callsigns/CallsignsQuery.d.ts +9 -0
  285. package/models/callsigns/CallsignsQuery.js +14 -0
  286. package/models/callsigns/CallsignsQueryPredicate.d.ts +9 -0
  287. package/models/callsigns/CallsignsQueryPredicate.js +15 -0
  288. package/models/command/IRocosCommandMessageHeartbeat.d.ts +1 -0
  289. package/models/command/IRocosCommandMessageHeartbeat.js +1 -0
  290. package/models/command/IRocosCommandMessageResponse.d.ts +55 -0
  291. package/models/command/IRocosCommandMessageResponse.js +29 -0
  292. package/models/command/RocosCommandResultStatus.d.ts +11 -0
  293. package/models/command/RocosCommandResultStatus.js +12 -0
  294. package/models/command/index.d.ts +4 -0
  295. package/models/command/index.js +4 -0
  296. package/models/file/FileEnums.d.ts +30 -0
  297. package/models/file/FileEnums.js +33 -0
  298. package/models/index.d.ts +75 -0
  299. package/models/index.js +75 -0
  300. package/models/integrations/Overlay.d.ts +49 -0
  301. package/models/integrations/Overlay.js +1 -0
  302. package/models/integrations/Plan.d.ts +324 -0
  303. package/models/integrations/Plan.js +1 -0
  304. package/models/maps/Map.d.ts +13 -0
  305. package/models/maps/Map.js +1 -0
  306. package/models/message/IRocosCallerMessage.d.ts +8 -0
  307. package/models/message/IRocosCallerMessage.js +1 -0
  308. package/models/message/IRocosChangeMessage.d.ts +6 -0
  309. package/models/message/IRocosChangeMessage.js +1 -0
  310. package/models/message/IRocosCommandMessage.d.ts +6 -0
  311. package/models/message/IRocosCommandMessage.js +1 -0
  312. package/models/message/IRocosControlMessage.d.ts +7 -0
  313. package/models/message/IRocosControlMessage.js +1 -0
  314. package/models/message/IRocosOpResultMessage.d.ts +6 -0
  315. package/models/message/IRocosOpResultMessage.js +1 -0
  316. package/models/message/IRocosSearchMessage.d.ts +5 -0
  317. package/models/message/IRocosSearchMessage.js +1 -0
  318. package/models/message/IRocosSearchRowMessage.d.ts +9 -0
  319. package/models/message/IRocosSearchRowMessage.js +1 -0
  320. package/models/message/IRocosSearchStatusMessage.d.ts +4 -0
  321. package/models/message/IRocosSearchStatusMessage.js +1 -0
  322. package/models/message/IRocosTelemetryMessage.d.ts +23 -0
  323. package/models/message/IRocosTelemetryMessage.js +1 -0
  324. package/models/message/IStreamStatusMessage.d.ts +5 -0
  325. package/models/message/IStreamStatusMessage.js +1 -0
  326. package/models/message/RocosCallerMessage.d.ts +10 -0
  327. package/models/message/RocosCallerMessage.js +32 -0
  328. package/models/message/RocosCommandMessage.d.ts +9 -0
  329. package/models/message/RocosCommandMessage.js +13 -0
  330. package/models/message/RocosControlMessage.d.ts +11 -0
  331. package/models/message/RocosControlMessage.js +14 -0
  332. package/models/message/RocosOpResultMessage.d.ts +10 -0
  333. package/models/message/RocosOpResultMessage.js +18 -0
  334. package/models/message/RocosSearchMessage.d.ts +9 -0
  335. package/models/message/RocosSearchMessage.js +24 -0
  336. package/models/message/RocosSearchRowMessage.d.ts +13 -0
  337. package/models/message/RocosSearchRowMessage.js +16 -0
  338. package/models/message/RocosTelemetryMessage.d.ts +10 -0
  339. package/models/message/RocosTelemetryMessage.js +63 -0
  340. package/models/message/index.d.ts +17 -0
  341. package/models/message/index.js +17 -0
  342. package/models/params/ICallerParams.d.ts +16 -0
  343. package/models/params/ICallerParams.js +1 -0
  344. package/models/params/ICommandParams.d.ts +9 -0
  345. package/models/params/ICommandParams.js +1 -0
  346. package/models/params/IControlParams.d.ts +8 -0
  347. package/models/params/IControlParams.js +1 -0
  348. package/models/params/IFileAccessorParams.d.ts +11 -0
  349. package/models/params/IFileAccessorParams.js +1 -0
  350. package/models/params/ISearchParams.d.ts +10 -0
  351. package/models/params/ISearchParams.js +1 -0
  352. package/models/params/ITelemetryParams.d.ts +18 -0
  353. package/models/params/ITelemetryParams.js +1 -0
  354. package/models/params/IWebRTCSignallingParams.d.ts +21 -0
  355. package/models/params/IWebRTCSignallingParams.js +1 -0
  356. package/models/projects/ProjectUser.d.ts +6 -0
  357. package/models/projects/ProjectUser.js +1 -0
  358. package/models/schedule/IScheduleAction.d.ts +13 -0
  359. package/models/schedule/IScheduleAction.js +6 -0
  360. package/models/schedule/IScheduleInfo.d.ts +11 -0
  361. package/models/schedule/IScheduleInfo.js +1 -0
  362. package/models/schedule/IScheduleJob.d.ts +12 -0
  363. package/models/schedule/IScheduleJob.js +1 -0
  364. package/models/search/SearchQueryFilter.d.ts +5 -0
  365. package/models/search/SearchQueryFilter.js +5 -0
  366. package/models/search/SearchStreamQuery.d.ts +15 -0
  367. package/models/search/SearchStreamQuery.js +6 -0
  368. package/models/stream/IBaseStream.d.ts +8 -0
  369. package/models/stream/IBaseStream.js +1 -0
  370. package/models/stream/ICallerStream.d.ts +8 -0
  371. package/models/stream/ICallerStream.js +1 -0
  372. package/models/stream/ICommandStream.d.ts +7 -0
  373. package/models/stream/ICommandStream.js +1 -0
  374. package/models/stream/IControlStream.d.ts +9 -0
  375. package/models/stream/IControlStream.js +1 -0
  376. package/models/stream/IFileAccessorStream.d.ts +9 -0
  377. package/models/stream/IFileAccessorStream.js +1 -0
  378. package/models/stream/ISearchStream.d.ts +11 -0
  379. package/models/stream/ISearchStream.js +1 -0
  380. package/models/stream/ITelemetryStream.d.ts +10 -0
  381. package/models/stream/ITelemetryStream.js +1 -0
  382. package/models/stream/IWebRTCSignallingStream.d.ts +76 -0
  383. package/models/stream/IWebRTCSignallingStream.js +1 -0
  384. package/models/types.d.ts +5 -0
  385. package/models/types.js +1 -0
  386. package/node/RocosSDKNode.d.ts +42 -0
  387. package/node/RocosSDKNode.js +143 -0
  388. package/node/index.d.ts +7 -0
  389. package/node/index.js +7 -0
  390. package/package.json +22 -6
  391. package/services/AssetStorageService.d.ts +99 -0
  392. package/services/AssetStorageService.js +158 -0
  393. package/services/AuthService.d.ts +93 -0
  394. package/services/AuthService.js +235 -0
  395. package/services/AuthService.spec.d.ts +1 -0
  396. package/services/AuthService.spec.js +163 -0
  397. package/services/BaseServiceAbstract.d.ts +36 -0
  398. package/services/BaseServiceAbstract.js +101 -0
  399. package/services/BaseStreamService.d.ts +18 -0
  400. package/services/BaseStreamService.js +47 -0
  401. package/services/CallerService.d.ts +10 -0
  402. package/services/CallerService.js +53 -0
  403. package/services/CallerServiceNode.d.ts +6 -0
  404. package/services/CallerServiceNode.js +7 -0
  405. package/services/CommandService.d.ts +9 -0
  406. package/services/CommandService.js +38 -0
  407. package/services/CommandServiceNode.d.ts +6 -0
  408. package/services/CommandServiceNode.js +7 -0
  409. package/services/ConfigGroupService.d.ts +89 -0
  410. package/services/ConfigGroupService.js +153 -0
  411. package/services/ControlService.d.ts +11 -0
  412. package/services/ControlService.js +57 -0
  413. package/services/ControlServiceNode.d.ts +6 -0
  414. package/services/ControlServiceNode.js +7 -0
  415. package/services/DashboardService.d.ts +97 -0
  416. package/services/DashboardService.js +142 -0
  417. package/services/EventService.d.ts +53 -0
  418. package/services/EventService.js +85 -0
  419. package/services/FileAccessorService.d.ts +11 -0
  420. package/services/FileAccessorService.js +37 -0
  421. package/services/FileAccessorServiceNode.d.ts +6 -0
  422. package/services/FileAccessorServiceNode.js +7 -0
  423. package/services/FunctionService.d.ts +68 -0
  424. package/services/FunctionService.js +99 -0
  425. package/services/IntegrationService.d.ts +48 -0
  426. package/services/IntegrationService.js +72 -0
  427. package/services/MapService.d.ts +109 -0
  428. package/services/MapService.js +149 -0
  429. package/services/PlatformTimeService.d.ts +35 -0
  430. package/services/PlatformTimeService.js +156 -0
  431. package/services/PlatformTimeService.spec.d.ts +1 -0
  432. package/services/PlatformTimeService.spec.js +180 -0
  433. package/services/ProfileService.d.ts +244 -0
  434. package/services/ProfileService.js +362 -0
  435. package/services/ProjectService.d.ts +110 -0
  436. package/services/ProjectService.js +160 -0
  437. package/services/RobotService.d.ts +278 -0
  438. package/services/RobotService.js +460 -0
  439. package/services/ScheduleService.d.ts +22 -0
  440. package/services/ScheduleService.js +36 -0
  441. package/services/SearchService.d.ts +12 -0
  442. package/services/SearchService.js +58 -0
  443. package/services/SearchServiceNode.d.ts +6 -0
  444. package/services/SearchServiceNode.js +7 -0
  445. package/services/SpotProvisioningService.d.ts +14 -0
  446. package/services/SpotProvisioningService.js +43 -0
  447. package/services/SpotProvisioningServiceNode.d.ts +15 -0
  448. package/services/SpotProvisioningServiceNode.js +43 -0
  449. package/services/StreamService.d.ts +98 -0
  450. package/services/StreamService.js +142 -0
  451. package/services/TelemetryService.d.ts +40 -0
  452. package/services/TelemetryService.js +142 -0
  453. package/services/TelemetryService.spec.d.ts +1 -0
  454. package/services/TelemetryService.spec.js +37 -0
  455. package/services/TelemetryServiceNode.d.ts +6 -0
  456. package/services/TelemetryServiceNode.js +7 -0
  457. package/services/TimeSyncerService.d.ts +13 -0
  458. package/services/TimeSyncerService.js +23 -0
  459. package/services/UserService.d.ts +200 -0
  460. package/services/UserService.js +315 -0
  461. package/services/WebRTCSignallingService.d.ts +22 -0
  462. package/services/WebRTCSignallingService.js +78 -0
  463. package/services/WorkflowService.d.ts +71 -0
  464. package/services/WorkflowService.js +118 -0
  465. package/services/index.d.ts +26 -0
  466. package/services/index.js +26 -0
  467. package/store/RocosStore.d.ts +31 -0
  468. package/store/RocosStore.js +47 -0
@@ -0,0 +1,96 @@
1
+ import { DeleteProjectMessage, Empty } from '../../../grpc/slowlane_pb';
2
+ import { RocosSearchMessage, SubscriberStatusEnum, } from '../../../models';
3
+ import { Observable } from 'rxjs';
4
+ import { GrpcWebFetchTransport } from '@protobuf-ts/grpcweb-transport';
5
+ import { RocosLogger } from '../../../logger/RocosLogger';
6
+ import { SearchStreamAbstract } from './SearchStreamAbstract';
7
+ import { streamClient } from '../../../grpc/slowlane_pb.client';
8
+ export class SearchStream extends SearchStreamAbstract {
9
+ constructor(config) {
10
+ super(config);
11
+ this.logger = RocosLogger.getInstance(`SearchStream(${this.identifier})`);
12
+ const protocol = config.insecure ? 'http' : 'https';
13
+ const transport = new GrpcWebFetchTransport({
14
+ baseUrl: `${protocol}://${this.url}`,
15
+ });
16
+ this.client = new streamClient(transport);
17
+ }
18
+ searchStreamInternal(request, params) {
19
+ const metadata = this.getMetadata(params.projectId);
20
+ const abortController = new AbortController();
21
+ return new Observable((emitter) => {
22
+ const call = this.client.searchStream(request, { meta: metadata, abort: abortController.signal });
23
+ this.subscriberStatus = SubscriberStatusEnum.ALIVE;
24
+ this.statusStream$.next(this.subscriberStatus);
25
+ call.responses.onMessage((update) => {
26
+ const dataSetList = update.dataset;
27
+ const results = dataSetList.map((item) => {
28
+ return RocosSearchMessage.fromMessage(item);
29
+ });
30
+ emitter.next(results);
31
+ this.logger.debug('searchStream - on(data)', {
32
+ status: this.subscriberStatus,
33
+ projectId: params.projectId,
34
+ query: params.query,
35
+ });
36
+ });
37
+ call.responses.onComplete(() => {
38
+ this.subscriberStatus = SubscriberStatusEnum.STOPPED;
39
+ this.statusStream$.next(this.subscriberStatus);
40
+ this.logger.debug('searchStream - on(end)', {
41
+ status: this.subscriberStatus,
42
+ projectId: params.projectId,
43
+ query: params.query,
44
+ });
45
+ emitter.complete();
46
+ });
47
+ call.responses.onError((error) => {
48
+ this.logger.debug('searchStream - on(error)', {
49
+ status: this.subscriberStatus,
50
+ projectId: params.projectId,
51
+ query: params.query,
52
+ error,
53
+ });
54
+ emitter.error(error);
55
+ });
56
+ return () => {
57
+ this.logger.debug('unsubscribing searchStream');
58
+ abortController.abort();
59
+ };
60
+ });
61
+ }
62
+ async queryDataInternal(request, params) {
63
+ const metadata = this.getMetadata(params.projectId);
64
+ const response = await this.client.queryData(request, { meta: metadata }).response;
65
+ if (!response) {
66
+ throw new Error('Error with search query.');
67
+ }
68
+ return response.result;
69
+ }
70
+ async healthCheckInternal(params) {
71
+ const request = Empty.create();
72
+ const metadata = this.getMetadata(params.projectId);
73
+ const response = await this.client.healthCheck(request, { meta: metadata }).response;
74
+ if (!response) {
75
+ throw new Error('Error with health check.');
76
+ }
77
+ return response;
78
+ }
79
+ async deleteProjectDataInternal(params) {
80
+ const request = DeleteProjectMessage.create({
81
+ projectId: params.projectId,
82
+ });
83
+ const metadata = this.getMetadata(params.projectId);
84
+ const response = await this.client.deleteProjectData(request, { meta: metadata }).response;
85
+ if (!response) {
86
+ throw new Error('Error with deleting project data.');
87
+ }
88
+ return response;
89
+ }
90
+ getMetadata(projectId) {
91
+ return {
92
+ 'authorization': this.token,
93
+ 'r-p': projectId,
94
+ };
95
+ }
96
+ }
@@ -0,0 +1,25 @@
1
+ import { BehaviorSubject, Observable } from 'rxjs';
2
+ import { QueryDSLMessage, QueryMessage } from '../../../grpc/slowlane_pb';
3
+ import { IRocosSearchMessage, IRocosSearchStatusMessage, ISearchParams, ISearchQueryParams, ISearchStream, ISearchStreamParams, IStreamConfig, SubscriberStatusEnum } from '../../../models';
4
+ import { Logger } from 'loglevel';
5
+ export declare abstract class SearchStreamAbstract implements ISearchStream {
6
+ identifier: string;
7
+ statusStream$: BehaviorSubject<SubscriberStatusEnum>;
8
+ protected token: string;
9
+ private readonly scope;
10
+ protected url: string;
11
+ protected subscriberStatus: SubscriberStatusEnum;
12
+ protected logger: Logger;
13
+ protected constructor(config: IStreamConfig);
14
+ protected abstract searchStreamInternal(request: QueryMessage, params: ISearchStreamParams): Observable<IRocosSearchMessage[]>;
15
+ protected abstract queryDataInternal(request: QueryDSLMessage, params: ISearchQueryParams): Promise<string>;
16
+ protected abstract healthCheckInternal(params: ISearchParams): Promise<IRocosSearchStatusMessage>;
17
+ protected abstract deleteProjectDataInternal(params: ISearchParams): Promise<IRocosSearchStatusMessage>;
18
+ setToken(token: string): void;
19
+ stopStream(): void;
20
+ searchStream(params: ISearchStreamParams): Observable<IRocosSearchMessage[]>;
21
+ queryData(params: ISearchQueryParams): Promise<string>;
22
+ healthCheck(params: ISearchParams): Promise<IRocosSearchStatusMessage>;
23
+ deleteProjectData(params: ISearchParams): Promise<IRocosSearchStatusMessage>;
24
+ private convertToQueryMessage;
25
+ }
@@ -0,0 +1,72 @@
1
+ import { BehaviorSubject } from 'rxjs';
2
+ import { Filter, QueryDSLMessage, QueryMessage } from '../../../grpc/slowlane_pb';
3
+ import { SubscriberStatusEnum, } from '../../../models';
4
+ import { IDENTIFIER_NAME_SEARCH } from '../../../constants/identifier';
5
+ import { RocosStore } from '../../../store/RocosStore';
6
+ import { StreamRegister } from '../../StreamRegister';
7
+ import { filter } from 'rxjs/operators';
8
+ export class SearchStreamAbstract {
9
+ constructor(config) {
10
+ this.subscriberStatus = SubscriberStatusEnum.STOPPED;
11
+ this.scope = config.scope;
12
+ this.identifier = StreamRegister.getIdentifier(IDENTIFIER_NAME_SEARCH, this.scope);
13
+ this.token = config.token;
14
+ this.url = config.url;
15
+ this.statusStream$ = new BehaviorSubject(SubscriberStatusEnum.STOPPED);
16
+ RocosStore.getChangeSubject()
17
+ .pipe(filter((message) => {
18
+ return message.type === 'token' && message.url === this.url;
19
+ }))
20
+ .subscribe((msg) => {
21
+ this.token = msg.data;
22
+ });
23
+ }
24
+ setToken(token) {
25
+ this.token = token;
26
+ }
27
+ stopStream() {
28
+ // do nothing for now
29
+ }
30
+ searchStream(params) {
31
+ const request = this.convertToQueryMessage(params.query);
32
+ return this.searchStreamInternal(request, params);
33
+ }
34
+ queryData(params) {
35
+ const request = QueryDSLMessage.create({
36
+ dSLQuery: params.query,
37
+ projectId: params.projectId,
38
+ });
39
+ return this.queryDataInternal(request, params);
40
+ }
41
+ healthCheck(params) {
42
+ return this.healthCheckInternal(params);
43
+ }
44
+ deleteProjectData(params) {
45
+ return this.deleteProjectDataInternal(params);
46
+ }
47
+ convertToQueryMessage(query) {
48
+ const filtersForSearching = query.filters.map((filter) => {
49
+ return Filter.create({
50
+ ids: filter.ids,
51
+ keyword: filter.keyword,
52
+ });
53
+ });
54
+ const reqMsg = QueryMessage.create({
55
+ filters: filtersForSearching,
56
+ groupByFields: query.groupByFields,
57
+ payloadIds: query.payloadIds,
58
+ startDate: `${query.startDate}`,
59
+ endDate: `${query.endDate}`,
60
+ interval: query.interval,
61
+ refreshDelay: BigInt(query.refreshDelay),
62
+ disableDateHistogram: query.disableDateHistogram ? 1n : 0n,
63
+ });
64
+ if (query.dateField) {
65
+ reqMsg.dateField = query.dateField;
66
+ }
67
+ if (query.projectId) {
68
+ reqMsg.projectId = query.projectId;
69
+ }
70
+ return reqMsg;
71
+ }
72
+ }
@@ -0,0 +1,13 @@
1
+ import { QueryDSLMessage, QueryMessage } from '../../../grpc/slowlane_pb';
2
+ import { IRocosSearchMessage, IRocosSearchStatusMessage, ISearchParams, ISearchQueryParams, ISearchStreamParams, IStreamConfig } from '../../../models';
3
+ import { Observable } from 'rxjs';
4
+ import { SearchStreamAbstract } from './SearchStreamAbstract';
5
+ export declare class SearchStreamNode extends SearchStreamAbstract {
6
+ private client;
7
+ constructor(config: IStreamConfig);
8
+ protected searchStreamInternal(request: QueryMessage, params: ISearchStreamParams): Observable<IRocosSearchMessage[]>;
9
+ protected queryDataInternal(request: QueryDSLMessage, params: ISearchQueryParams): Promise<string>;
10
+ protected healthCheckInternal(params: ISearchParams): Promise<IRocosSearchStatusMessage>;
11
+ protected deleteProjectDataInternal(params: ISearchParams): Promise<IRocosSearchStatusMessage>;
12
+ private getMetadata;
13
+ }
@@ -0,0 +1,118 @@
1
+ import * as grpc from '@grpc/grpc-js';
2
+ import { DeleteProjectMessage, Empty } from '../../../grpc/slowlane_pb';
3
+ import { RocosSearchMessage, SubscriberStatusEnum, } from '../../../models';
4
+ import { Observable } from 'rxjs';
5
+ import { RocosLogger } from '../../../logger/RocosLogger';
6
+ import { SearchStreamAbstract } from './SearchStreamAbstract';
7
+ import { streamClient } from '../../../grpc/slowlane_pb.grpc-client';
8
+ export class SearchStreamNode extends SearchStreamAbstract {
9
+ constructor(config) {
10
+ super(config);
11
+ this.logger = RocosLogger.getInstance(`SearchStreamNode(${this.identifier})`);
12
+ const port = config.port ?? 443;
13
+ const credentials = config.insecure ? grpc.credentials.createInsecure() : grpc.credentials.createSsl();
14
+ this.client = new streamClient(`${this.url}:${port}`, credentials);
15
+ }
16
+ searchStreamInternal(request, params) {
17
+ const metadata = this.getMetadata(params.projectId);
18
+ let call;
19
+ return new Observable((emitter) => {
20
+ call = this.client.searchStream(request, metadata);
21
+ this.subscriberStatus = SubscriberStatusEnum.ALIVE;
22
+ this.statusStream$.next(this.subscriberStatus);
23
+ call.on('data', (update) => {
24
+ const dataSetList = update.dataset;
25
+ const results = dataSetList.map((item) => {
26
+ return RocosSearchMessage.fromMessage(item);
27
+ });
28
+ emitter.next(results);
29
+ this.logger.debug('searchStream - on(data)', {
30
+ status: this.subscriberStatus,
31
+ projectId: params.projectId,
32
+ query: params.query,
33
+ });
34
+ });
35
+ call.on('end', () => {
36
+ this.subscriberStatus = SubscriberStatusEnum.STOPPED;
37
+ this.statusStream$.next(this.subscriberStatus);
38
+ this.logger.debug('searchStream - on(end)', {
39
+ status: this.subscriberStatus,
40
+ projectId: params.projectId,
41
+ query: params.query,
42
+ });
43
+ emitter.complete();
44
+ });
45
+ call.on('close', () => {
46
+ this.subscriberStatus = SubscriberStatusEnum.STOPPED;
47
+ this.statusStream$.next(this.subscriberStatus);
48
+ this.logger.debug('searchStream - on(close)');
49
+ });
50
+ call.on('error', (error) => {
51
+ this.subscriberStatus = SubscriberStatusEnum.ERROR;
52
+ this.statusStream$.next(this.subscriberStatus);
53
+ this.logger.debug('searchStream - on(error)', error);
54
+ emitter.error(error);
55
+ });
56
+ return () => {
57
+ this.logger.debug('unsubscribing searchStream');
58
+ call.cancel();
59
+ };
60
+ });
61
+ }
62
+ queryDataInternal(request, params) {
63
+ const metadata = this.getMetadata(params.projectId);
64
+ return new Promise((resolve, reject) => {
65
+ this.client.queryData(request, metadata, (error, response) => {
66
+ if (error) {
67
+ reject(error);
68
+ }
69
+ else if (response) {
70
+ resolve(response.result);
71
+ }
72
+ else {
73
+ reject('Error with search query.');
74
+ }
75
+ });
76
+ });
77
+ }
78
+ healthCheckInternal(params) {
79
+ const request = Empty.create();
80
+ const metadata = this.getMetadata(params.projectId);
81
+ return new Promise((resolve, reject) => {
82
+ this.client.healthCheck(request, metadata, (error, response) => {
83
+ if (error) {
84
+ reject(error);
85
+ }
86
+ else if (response) {
87
+ resolve(response);
88
+ }
89
+ else {
90
+ reject('Error with health check.');
91
+ }
92
+ });
93
+ });
94
+ }
95
+ deleteProjectDataInternal(params) {
96
+ const request = DeleteProjectMessage.create({ projectId: params.projectId });
97
+ const metadata = this.getMetadata(params.projectId);
98
+ return new Promise((resolve, reject) => {
99
+ this.client.deleteProjectData(request, metadata, (error, response) => {
100
+ if (error) {
101
+ reject(error);
102
+ }
103
+ else if (response) {
104
+ resolve(response);
105
+ }
106
+ else {
107
+ reject('Error with health check.');
108
+ }
109
+ });
110
+ });
111
+ }
112
+ getMetadata(projectId) {
113
+ const meta = new grpc.Metadata();
114
+ meta.add('authorization', this.token);
115
+ meta.add('r-p', projectId);
116
+ return meta;
117
+ }
118
+ }
@@ -0,0 +1,17 @@
1
+ import { ITelemetryStreamConfig } from '../../../models';
2
+ import { TelemetryAckStatus, TelemetryQueryRequest, TelemetryRequest } from '../../../grpc/teletubby_pb';
3
+ import { TelemetryStreamAbstract } from './TelemetryStreamAbstract';
4
+ export declare class TelemetryStream extends TelemetryStreamAbstract {
5
+ private client;
6
+ private abortController?;
7
+ constructor(config: ITelemetryStreamConfig);
8
+ protected stopInternal(): void;
9
+ protected registerReceiver(): () => void;
10
+ private onError;
11
+ private onEnd;
12
+ private getMetadata;
13
+ protected requestTelemetry(req: TelemetryRequest): Promise<void>;
14
+ protected requestTelemetryQuery(req: TelemetryQueryRequest): Promise<void>;
15
+ protected sendAcknowledgmentInternal(uid: string, status: TelemetryAckStatus, noRetry: boolean): boolean;
16
+ protected sendHeartbeat(): void;
17
+ }
@@ -0,0 +1,97 @@
1
+ import { SubscriberStatusEnum } from '../../../models';
2
+ import { RegistrationMessage, } from '../../../grpc/teletubby_pb';
3
+ import { GrpcWebFetchTransport } from '@protobuf-ts/grpcweb-transport';
4
+ import { RocosLogger } from '../../../logger/RocosLogger';
5
+ import { TelemetryGatewayClient } from '../../../grpc/teletubby_pb.client';
6
+ import { TelemetryStreamAbstract } from './TelemetryStreamAbstract';
7
+ export class TelemetryStream extends TelemetryStreamAbstract {
8
+ constructor(config) {
9
+ super(config);
10
+ this.logger = RocosLogger.getInstance(`TelemetryStreamWeb(${this.identifier})`);
11
+ const protocol = config.insecure ? 'http' : 'https';
12
+ const transport = new GrpcWebFetchTransport({
13
+ baseUrl: `${protocol}://${this.url}`,
14
+ });
15
+ this.client = new TelemetryGatewayClient(transport);
16
+ }
17
+ stopInternal() {
18
+ if (this.abortController) {
19
+ this.logger.info('Starting stop stream process');
20
+ this.abortController.abort();
21
+ this.abortController = undefined;
22
+ this.logger.info('Finished stop stream process');
23
+ }
24
+ }
25
+ registerReceiver() {
26
+ this.logger.info('registerReceiver');
27
+ // Reset counter
28
+ this.receivedMessagesCount = 0;
29
+ const abortController = new AbortController();
30
+ this.abortController = abortController;
31
+ const call = this.client.registerReceiver(RegistrationMessage.create(), {
32
+ meta: this.getMetadata(this.projectId),
33
+ abort: abortController.signal,
34
+ });
35
+ call.responses.onMessage((msg) => {
36
+ this.onData(msg, false);
37
+ });
38
+ call.responses.onError((error) => {
39
+ void this.onError(error);
40
+ this.onEnd(false);
41
+ });
42
+ call.responses.onComplete(() => {
43
+ this.onEnd(true);
44
+ });
45
+ this.listenMessagesAndRenew();
46
+ return () => {
47
+ abortController.abort();
48
+ };
49
+ }
50
+ async onError(e) {
51
+ this.logger.error(`Telemetry Stream Error: ${e}, SubscriberId: ${this.subscriberId}`);
52
+ this.subscriberStatus = SubscriberStatusEnum.ERROR;
53
+ this.statusStream$.next(this.subscriberStatus);
54
+ }
55
+ onEnd(ok) {
56
+ this.logger.debug('registerReceiver', 'end');
57
+ if (ok) {
58
+ // ResourceExhausted
59
+ this.stopInternal();
60
+ this.registerReceiver();
61
+ }
62
+ }
63
+ getMetadata(projectId) {
64
+ const result = { authorization: this.token };
65
+ if (projectId) {
66
+ result['r-p'] = projectId;
67
+ }
68
+ return result;
69
+ }
70
+ async requestTelemetry(req) {
71
+ this.logger.debug('Sending telemetry request');
72
+ try {
73
+ await this.client.requestTelemetry(req, { meta: this.getMetadata(this.projectId) });
74
+ }
75
+ catch (e) {
76
+ this.logger.error('error requestTelemetry ', e);
77
+ throw e;
78
+ }
79
+ }
80
+ async requestTelemetryQuery(req) {
81
+ this.logger.debug('Requesting telemetry with query');
82
+ try {
83
+ await this.client.requestTelemetryQuery(req, { meta: this.getMetadata(this.projectId) });
84
+ }
85
+ catch (e) {
86
+ this.logger.error('error requestTelemetryQuery ', e);
87
+ throw e;
88
+ }
89
+ }
90
+ sendAcknowledgmentInternal(uid, status, noRetry) {
91
+ this.logger.error('Error can not send Acknowledgment on grpc-web client', { uid, status, noRetry });
92
+ return false;
93
+ }
94
+ sendHeartbeat() {
95
+ // can not send heartbeat on grpc-web
96
+ }
97
+ }
@@ -0,0 +1,59 @@
1
+ import { BehaviorSubject, Subject } from 'rxjs';
2
+ import { IRocosTelemetryMessage, ITelemetryParams, ITelemetryStream, ITelemetryStreamConfig, SubscriberStatusEnum } from '../../../models';
3
+ import { TelemetryAckStatus, TelemetryMessage, TelemetryQueryRequest, TelemetryRequest, TelemetryStreamMessage } from '../../../grpc/teletubby_pb';
4
+ import { Logger } from 'loglevel';
5
+ import { StreamHeartbeat } from '../../atoms/StreamHeartbeat';
6
+ export declare abstract class TelemetryStreamAbstract implements ITelemetryStream {
7
+ messageStream$: Subject<IRocosTelemetryMessage>;
8
+ identifier: string;
9
+ statusStream$: BehaviorSubject<SubscriberStatusEnum>;
10
+ protected subscriberId?: string;
11
+ protected projectId: string;
12
+ private callsignsLookup;
13
+ private sources;
14
+ protected token: string;
15
+ private scope;
16
+ protected url: string;
17
+ private timerIntervalInSec;
18
+ protected subscriberStatus: SubscriberStatusEnum;
19
+ private checkerStartedAt?;
20
+ private lastRobotMessageReceived?;
21
+ private messagesTimer?;
22
+ private lastMessageReceived?;
23
+ private retryTimes;
24
+ private options;
25
+ protected receivedMessagesCount: number;
26
+ protected logger: Logger;
27
+ protected heartbeat: StreamHeartbeat;
28
+ private sendHeartbeatTime;
29
+ private receivedDataStats;
30
+ private subscriptions;
31
+ constructor(config: ITelemetryStreamConfig);
32
+ protected abstract stopInternal(): void;
33
+ protected abstract registerReceiver(): () => void;
34
+ protected abstract requestTelemetryQuery(req: TelemetryQueryRequest): Promise<void>;
35
+ protected abstract requestTelemetry(req: TelemetryRequest): Promise<void>;
36
+ protected abstract sendAcknowledgmentInternal(uid: string, status: TelemetryAckStatus, noRetry: boolean): boolean;
37
+ protected abstract sendHeartbeat(): void;
38
+ setToken(token: string): void;
39
+ init(): void;
40
+ stopStream(): void;
41
+ addSubscription(params: ITelemetryParams): void;
42
+ removeSubscription(params: ITelemetryParams, terminateReceiverGroup?: boolean): Promise<void>;
43
+ sendAcknowledgment(uid: string, status: TelemetryAckStatus, noRetry: boolean): boolean;
44
+ private getSubscriptions;
45
+ protected onData(message: TelemetryStreamMessage, isStream: true): void;
46
+ protected onData(message: TelemetryMessage, isStream: false): void;
47
+ private takeTelemetryAction;
48
+ protected listenMessagesAndRenew(): void;
49
+ private addTerminateToAction;
50
+ private messageTimeoutTryAgain;
51
+ /**
52
+ * Auto resubscribe to reduce CPU usage.
53
+ */
54
+ private autoResubscribe;
55
+ private isFoundCallsign;
56
+ private isFoundSource;
57
+ private isRegisteredMessage;
58
+ private updateReceivedDataStatsWithMessage;
59
+ }