@dronedeploy/rocos-js-sdk 2.6.1 → 3.0.0-alpha.20

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 (618) hide show
  1. package/IRocosSDK.d.ts +3 -26
  2. package/IRocosSDK.js +1 -5
  3. package/README.md +18 -0
  4. package/RocosSDK.d.ts +6 -1
  5. package/RocosSDK.js +103 -95
  6. package/api/StreamRegister.d.ts +1 -1
  7. package/api/StreamRegister.js +23 -12
  8. package/api/atoms/StreamHeartbeat.js +3 -7
  9. package/api/streams/caller/CallerStream.d.ts +6 -6
  10. package/api/streams/caller/CallerStream.js +41 -49
  11. package/api/streams/caller/CallerStreamAbstract.d.ts +6 -11
  12. package/api/streams/caller/CallerStreamAbstract.js +55 -67
  13. package/api/streams/caller/CallerStreamNode.d.ts +6 -6
  14. package/api/streams/caller/CallerStreamNode.js +48 -61
  15. package/api/streams/command/CommandStream.d.ts +2 -4
  16. package/api/streams/command/CommandStream.js +28 -30
  17. package/api/streams/command/CommandStreamAbstract.d.ts +4 -8
  18. package/api/streams/command/CommandStreamAbstract.js +33 -42
  19. package/api/streams/command/CommandStreamNode.d.ts +2 -4
  20. package/api/streams/command/CommandStreamNode.js +16 -40
  21. package/api/streams/control/ControlStream.d.ts +4 -6
  22. package/api/streams/control/ControlStream.js +30 -36
  23. package/api/streams/control/ControlStreamAbstract.d.ts +6 -9
  24. package/api/streams/control/ControlStreamAbstract.js +57 -54
  25. package/api/streams/control/ControlStreamNode.d.ts +3 -5
  26. package/api/streams/control/ControlStreamNode.js +19 -44
  27. package/api/streams/fileAccessor/FileAccessorStream.d.ts +2 -4
  28. package/api/streams/fileAccessor/FileAccessorStream.js +42 -57
  29. package/api/streams/fileAccessor/FileAccessorStreamAbstract.d.ts +4 -9
  30. package/api/streams/fileAccessor/FileAccessorStreamAbstract.js +28 -48
  31. package/api/streams/fileAccessor/FileAccessorStreamNode.d.ts +1 -3
  32. package/api/streams/fileAccessor/FileAccessorStreamNode.js +23 -53
  33. package/api/streams/search/SearchStream.d.ts +2 -5
  34. package/api/streams/search/SearchStream.js +50 -74
  35. package/api/streams/search/SearchStreamAbstract.d.ts +4 -9
  36. package/api/streams/search/SearchStreamAbstract.js +33 -35
  37. package/api/streams/search/SearchStreamNode.d.ts +2 -5
  38. package/api/streams/search/SearchStreamNode.js +23 -48
  39. package/api/streams/telemetry/TelemetryStream.d.ts +4 -4
  40. package/api/streams/telemetry/TelemetryStream.js +49 -78
  41. package/api/streams/telemetry/TelemetryStreamAbstract.d.ts +8 -11
  42. package/api/streams/telemetry/TelemetryStreamAbstract.js +126 -145
  43. package/api/streams/telemetry/TelemetryStreamNode.d.ts +5 -5
  44. package/api/streams/telemetry/TelemetryStreamNode.js +44 -64
  45. package/api/streams/webRTCSignalling/WebRTCSignallingStream.d.ts +5 -10
  46. package/api/streams/webRTCSignalling/WebRTCSignallingStream.js +37 -20
  47. package/api/streams/webRTCSignalling/WebRTCSignallingStreamAbstract.d.ts +10 -13
  48. package/api/streams/webRTCSignalling/WebRTCSignallingStreamAbstract.js +37 -37
  49. package/constants/api.d.ts +14 -5
  50. package/constants/api.js +130 -126
  51. package/constants/auth.d.ts +2 -0
  52. package/constants/auth.js +2 -0
  53. package/constants/grpc.js +5 -8
  54. package/constants/identifier.js +6 -9
  55. package/constants/timezones.d.ts +1 -1
  56. package/constants/timezones.js +1 -4
  57. package/grpc/conker_pb.client.d.ts +78 -0
  58. package/grpc/conker_pb.client.js +55 -0
  59. package/grpc/conker_pb.d.ts +141 -0
  60. package/grpc/conker_pb.grpc-client.d.ts +81 -0
  61. package/grpc/conker_pb.grpc-client.js +58 -0
  62. package/grpc/conker_pb.js +104 -0
  63. package/grpc/filagree_pb.client.d.ts +68 -0
  64. package/grpc/filagree_pb.client.js +48 -0
  65. package/grpc/filagree_pb.d.ts +404 -0
  66. package/grpc/filagree_pb.grpc-client.d.ts +69 -0
  67. package/grpc/filagree_pb.grpc-client.js +51 -0
  68. package/grpc/filagree_pb.js +329 -0
  69. package/grpc/google/protobuf/descriptor_pb.d.ts +1798 -0
  70. package/grpc/google/protobuf/descriptor_pb.js +2378 -0
  71. package/grpc/google/protobuf/empty_pb.d.ts +23 -0
  72. package/grpc/google/protobuf/empty_pb.js +47 -0
  73. package/grpc/pigeon_pb.client.d.ts +96 -0
  74. package/grpc/pigeon_pb.client.js +72 -0
  75. package/grpc/pigeon_pb.d.ts +207 -0
  76. package/grpc/pigeon_pb.grpc-client.d.ts +98 -0
  77. package/grpc/pigeon_pb.grpc-client.js +68 -0
  78. package/grpc/pigeon_pb.js +144 -0
  79. package/grpc/rambo.uri.v1_pb.d.ts +73 -0
  80. package/grpc/rambo.uri.v1_pb.js +48 -0
  81. package/grpc/rambo.v1_pb.client.d.ts +66 -0
  82. package/grpc/rambo.v1_pb.client.js +48 -0
  83. package/grpc/rambo.v1_pb.d.ts +392 -0
  84. package/grpc/rambo.v1_pb.grpc-client.d.ts +56 -0
  85. package/grpc/rambo.v1_pb.grpc-client.js +44 -0
  86. package/grpc/rambo.v1_pb.js +272 -0
  87. package/grpc/serviette.uri.v1_pb.d.ts +89 -0
  88. package/grpc/serviette.uri.v1_pb.js +62 -0
  89. package/grpc/serviette.v1_pb.client.d.ts +225 -0
  90. package/grpc/serviette.v1_pb.client.js +174 -0
  91. package/grpc/serviette.v1_pb.d.ts +827 -0
  92. package/grpc/serviette.v1_pb.grpc-client.d.ts +215 -0
  93. package/grpc/serviette.v1_pb.grpc-client.js +162 -0
  94. package/grpc/serviette.v1_pb.js +553 -0
  95. package/grpc/slowlane_pb.client.d.ts +61 -0
  96. package/grpc/slowlane_pb.client.js +41 -0
  97. package/grpc/slowlane_pb.d.ts +303 -0
  98. package/grpc/slowlane_pb.grpc-client.d.ts +64 -0
  99. package/grpc/slowlane_pb.grpc-client.js +44 -0
  100. package/grpc/slowlane_pb.js +185 -0
  101. package/grpc/teletubby_pb.client.d.ts +145 -0
  102. package/grpc/teletubby_pb.client.js +104 -0
  103. package/grpc/teletubby_pb.d.ts +634 -0
  104. package/grpc/teletubby_pb.grpc-client.d.ts +152 -0
  105. package/grpc/teletubby_pb.grpc-client.js +100 -0
  106. package/grpc/teletubby_pb.js +1264 -0
  107. package/helpers/arrayRemove.js +2 -6
  108. package/helpers/arrayUnique.js +2 -6
  109. package/helpers/average.js +2 -7
  110. package/helpers/callerMessageHelpers.d.ts +14 -0
  111. package/helpers/callerMessageHelpers.js +86 -0
  112. package/helpers/cleanObject.js +17 -19
  113. package/helpers/cleanObject.spec.d.ts +1 -0
  114. package/helpers/cleanObject.spec.js +53 -0
  115. package/helpers/enviroment.js +4 -11
  116. package/helpers/flattenCallsignsLookup.d.ts +1 -1
  117. package/helpers/flattenCallsignsLookup.js +1 -5
  118. package/helpers/flattenObject.js +1 -5
  119. package/helpers/flattenObject.spec.d.ts +1 -0
  120. package/helpers/flattenObject.spec.js +29 -0
  121. package/helpers/flattenOneOf.d.ts +67 -0
  122. package/helpers/flattenOneOf.js +29 -0
  123. package/helpers/flattenOneOf.spec.d.ts +1 -0
  124. package/helpers/flattenOneOf.spec.js +157 -0
  125. package/helpers/formatServiceUrl.js +1 -5
  126. package/helpers/formatServiceUrl.spec.d.ts +1 -0
  127. package/helpers/formatServiceUrl.spec.js +16 -0
  128. package/helpers/generateUUID.js +3 -7
  129. package/helpers/getSubscriptionsDifference.d.ts +3 -3
  130. package/helpers/getSubscriptionsDifference.js +6 -10
  131. package/helpers/getURLSearchParams.d.ts +2 -0
  132. package/helpers/getURLSearchParams.js +9 -0
  133. package/helpers/getURLSearchParams.spec.d.ts +1 -0
  134. package/helpers/getURLSearchParams.spec.js +19 -0
  135. package/helpers/getUniqueConfigKey.js +1 -6
  136. package/helpers/getUniqueId.js +3 -7
  137. package/helpers/getUnixTimeMs.js +1 -5
  138. package/helpers/index.d.ts +3 -1
  139. package/helpers/index.js +5 -15
  140. package/helpers/nanosecondToMillisecond.d.ts +1 -1
  141. package/helpers/nanosecondToMillisecond.js +11 -6
  142. package/helpers/nanosecondToMillisecond.spec.d.ts +1 -0
  143. package/helpers/nanosecondToMillisecond.spec.js +20 -0
  144. package/helpers/randomString.js +1 -5
  145. package/helpers/standardDeviation.js +4 -8
  146. package/helpers/standardDeviation.spec.d.ts +1 -0
  147. package/helpers/standardDeviation.spec.js +11 -0
  148. package/helpers/stringToUint8Array.js +3 -7
  149. package/helpers/uint8ArrayToString.js +3 -8
  150. package/helpers/websandbox/connection.d.ts +67 -0
  151. package/helpers/websandbox/connection.js +133 -0
  152. package/helpers/websandbox/frame/frame.d.ts +12 -0
  153. package/helpers/websandbox/frame/frame.js +22 -0
  154. package/helpers/websandbox/frame/frame.source.d.ts +2 -0
  155. package/helpers/websandbox/frame/frame.source.js +5 -0
  156. package/helpers/websandbox/frame/index.d.ts +2 -0
  157. package/helpers/websandbox/frame/index.js +2 -0
  158. package/helpers/websandbox/frame/worker/index.d.ts +2 -0
  159. package/helpers/websandbox/frame/worker/index.js +2 -0
  160. package/helpers/websandbox/frame/worker/manager.d.ts +11 -0
  161. package/helpers/websandbox/frame/worker/manager.js +67 -0
  162. package/helpers/websandbox/frame/worker/manager.spec.d.ts +4 -0
  163. package/helpers/websandbox/frame/worker/manager.spec.js +127 -0
  164. package/helpers/websandbox/frame/worker/types.d.ts +11 -0
  165. package/helpers/websandbox/frame/worker/types.js +1 -0
  166. package/helpers/websandbox/frame/worker/worker.d.ts +1 -0
  167. package/helpers/websandbox/frame/worker/worker.js +74 -0
  168. package/helpers/websandbox/frame/worker/worker.source.d.ts +2 -0
  169. package/helpers/websandbox/frame/worker/worker.source.js +4 -0
  170. package/helpers/websandbox/index.d.ts +2 -0
  171. package/helpers/websandbox/index.js +2 -0
  172. package/helpers/websandbox/sandbox.d.ts +57 -0
  173. package/helpers/websandbox/sandbox.js +175 -0
  174. package/helpers/websandbox/types.d.ts +13 -0
  175. package/helpers/websandbox/types.js +1 -0
  176. package/index.js +7 -19
  177. package/logger/RocosLogger.js +18 -44
  178. package/models/CallsignStatus.d.ts +6 -0
  179. package/models/CallsignStatus.js +7 -0
  180. package/models/ExportDataQuery.js +1 -5
  181. package/models/ExternalProject.js +1 -5
  182. package/models/IBaseService.d.ts +1 -0
  183. package/models/IBaseService.js +1 -2
  184. package/models/IConfigGroup.js +1 -2
  185. package/models/IDebugLevel.d.ts +1 -1
  186. package/models/IDebugLevel.js +1 -2
  187. package/models/IExportDataQuery.js +1 -2
  188. package/models/IFunctionConfig.js +1 -2
  189. package/models/IInvitation.d.ts +1 -1
  190. package/models/IInvitation.js +1 -2
  191. package/models/IInvitationExists.js +1 -2
  192. package/models/IOperation.js +1 -2
  193. package/models/IPersonalAccessToken.js +1 -2
  194. package/models/IProject.js +1 -2
  195. package/models/IProjectApplication.js +1 -2
  196. package/models/IRobot.d.ts +1 -0
  197. package/models/IRobot.js +1 -2
  198. package/models/IRobotConfig.js +1 -2
  199. package/models/IRobotPlugin.js +1 -2
  200. package/models/IRobotSettings.d.ts +28 -0
  201. package/models/IRobotSettings.js +1 -0
  202. package/models/IRobotTemplate.js +1 -2
  203. package/models/IRocosSDKConfig.d.ts +3 -9
  204. package/models/IRocosSDKConfig.js +1 -2
  205. package/models/ISource.js +1 -2
  206. package/models/IStream.js +1 -2
  207. package/models/IStreamConfig.js +1 -2
  208. package/models/IStreamOptions.js +1 -2
  209. package/models/IStreamSource.js +1 -2
  210. package/models/ISubscriberStatus.js +1 -2
  211. package/models/ITelemetryStreamConfig.js +1 -2
  212. package/models/IToken.d.ts +7 -3
  213. package/models/IToken.js +1 -2
  214. package/models/IWidget.js +1 -2
  215. package/models/IWidgetLineGroup.js +1 -2
  216. package/models/ResponseLevelEnum.d.ts +4 -0
  217. package/models/ResponseLevelEnum.js +6 -5
  218. package/models/Robot.d.ts +1 -0
  219. package/models/Robot.js +1 -5
  220. package/models/RobotConfig.js +1 -5
  221. package/models/RobotPlugin.js +1 -5
  222. package/models/RobotTemplate.js +9 -14
  223. package/models/RocosError.d.ts +1 -0
  224. package/models/RocosError.js +3 -6
  225. package/models/ServiceEnum.d.ts +2 -1
  226. package/models/ServiceEnum.js +3 -5
  227. package/models/Stream.js +4 -8
  228. package/models/StreamOptions.js +1 -5
  229. package/models/StreamSource.js +3 -7
  230. package/models/SubscriberStatusEnum.js +2 -5
  231. package/models/Token.d.ts +36 -4
  232. package/models/Token.js +74 -11
  233. package/models/Token.spec.d.ts +1 -0
  234. package/models/Token.spec.js +108 -0
  235. package/models/Widget.js +4 -8
  236. package/models/WidgetLineGroup.js +1 -5
  237. package/models/asset-storage/AssetModelItem.d.ts +3 -0
  238. package/models/asset-storage/AssetModelItem.js +1 -2
  239. package/models/caller/IRocosCallerMessageChunk.d.ts +8 -2
  240. package/models/caller/IRocosCallerMessageChunk.js +1 -2
  241. package/models/caller/IRocosCallerMessageChunks.d.ts +2 -3
  242. package/models/caller/IRocosCallerMessageChunks.js +1 -2
  243. package/models/caller/IRocosCallerMessageHeartbeat.d.ts +3 -2
  244. package/models/caller/IRocosCallerMessageHeartbeat.js +1 -2
  245. package/models/caller/IRocosCallerMessageResponse.d.ts +3 -2
  246. package/models/caller/IRocosCallerMessageResponse.js +1 -2
  247. package/models/caller/IRocosCallerMessageResponseAck.d.ts +16 -2
  248. package/models/caller/IRocosCallerMessageResponseAck.js +13 -2
  249. package/models/caller/IRocosCallerMessageResponseResult.d.ts +15 -2
  250. package/models/caller/IRocosCallerMessageResponseResult.js +12 -2
  251. package/models/caller/IRocosCallerMessageResponseReturn.d.ts +8 -0
  252. package/models/caller/IRocosCallerMessageResponseReturn.js +1 -0
  253. package/models/caller/IRocosCallerMessageResponseUid.d.ts +10 -2
  254. package/models/caller/IRocosCallerMessageResponseUid.js +7 -2
  255. package/models/caller/IRocosCallerMessageResponses.d.ts +2 -3
  256. package/models/caller/IRocosCallerMessageResponses.js +1 -2
  257. package/models/caller/RocosCallerResultStatus.d.ts +11 -1
  258. package/models/caller/RocosCallerResultStatus.js +12 -5
  259. package/models/caller/RocosResponseLevel.d.ts +6 -0
  260. package/models/caller/RocosResponseLevel.js +7 -0
  261. package/models/caller/index.d.ts +11 -0
  262. package/models/caller/index.js +11 -0
  263. package/models/callsigns/CallsignsEnums.d.ts +3 -3
  264. package/models/callsigns/CallsignsEnums.js +11 -14
  265. package/models/callsigns/CallsignsLookup.js +10 -15
  266. package/models/callsigns/CallsignsQuery.js +1 -5
  267. package/models/callsigns/CallsignsQueryPredicate.js +1 -5
  268. package/models/command/IRocosCommandMessageHeartbeat.d.ts +1 -2
  269. package/models/command/IRocosCommandMessageHeartbeat.js +1 -2
  270. package/models/command/IRocosCommandMessageResponse.d.ts +55 -2
  271. package/models/command/IRocosCommandMessageResponse.js +29 -2
  272. package/models/command/RocosCommandResultStatus.d.ts +11 -1
  273. package/models/command/RocosCommandResultStatus.js +12 -5
  274. package/models/command/index.d.ts +4 -0
  275. package/models/command/index.js +4 -0
  276. package/models/file/FileEnums.d.ts +4 -4
  277. package/models/file/FileEnums.js +9 -12
  278. package/models/index.d.ts +6 -31
  279. package/models/index.js +76 -113
  280. package/models/integrations/Overlay.js +1 -2
  281. package/models/integrations/Plan.js +1 -2
  282. package/models/maps/Map.d.ts +2 -3
  283. package/models/maps/Map.js +1 -2
  284. package/models/maps/Panorama.d.ts +36 -0
  285. package/models/maps/Panorama.js +1 -0
  286. package/models/message/IRocosCallerMessage.js +1 -2
  287. package/models/message/IRocosChangeMessage.js +1 -2
  288. package/models/message/IRocosCommandMessage.js +1 -2
  289. package/models/message/IRocosControlMessage.js +1 -2
  290. package/models/message/IRocosOpResultMessage.d.ts +2 -2
  291. package/models/message/IRocosOpResultMessage.js +1 -2
  292. package/models/message/IRocosSearchMessage.js +1 -2
  293. package/models/message/IRocosSearchRowMessage.js +1 -2
  294. package/models/message/IRocosSearchStatusMessage.js +1 -2
  295. package/models/message/IRocosTelemetryMessage.d.ts +12 -7
  296. package/models/message/IRocosTelemetryMessage.js +1 -2
  297. package/models/message/IStreamStatusMessage.js +1 -2
  298. package/models/message/RocosCallerMessage.d.ts +2 -4
  299. package/models/message/RocosCallerMessage.js +24 -15
  300. package/models/message/RocosCommandMessage.d.ts +2 -3
  301. package/models/message/RocosCommandMessage.js +5 -8
  302. package/models/message/RocosControlMessage.d.ts +1 -1
  303. package/models/message/RocosControlMessage.js +6 -10
  304. package/models/message/RocosOpResultMessage.d.ts +3 -2
  305. package/models/message/RocosOpResultMessage.js +6 -10
  306. package/models/message/RocosSearchMessage.d.ts +1 -1
  307. package/models/message/RocosSearchMessage.js +5 -9
  308. package/models/message/RocosSearchRowMessage.d.ts +1 -1
  309. package/models/message/RocosSearchRowMessage.js +8 -12
  310. package/models/message/RocosTelemetryMessage.d.ts +9 -23
  311. package/models/message/RocosTelemetryMessage.js +51 -93
  312. package/models/message/index.d.ts +17 -0
  313. package/models/message/index.js +17 -0
  314. package/models/params/ICallerParams.d.ts +12 -1
  315. package/models/params/ICallerParams.js +1 -2
  316. package/models/params/ICommandParams.js +1 -2
  317. package/models/params/IControlParams.d.ts +1 -1
  318. package/models/params/IControlParams.js +1 -2
  319. package/models/params/IFileAccessorParams.js +1 -2
  320. package/models/params/ISearchParams.js +1 -2
  321. package/models/params/ITelemetryParams.d.ts +1 -1
  322. package/models/params/ITelemetryParams.js +1 -2
  323. package/models/params/IWebRTCSignallingParams.js +1 -2
  324. package/models/projects/ProjectUser.js +1 -2
  325. package/models/schedule/IScheduleAction.d.ts +1 -1
  326. package/models/schedule/IScheduleAction.js +2 -5
  327. package/models/schedule/IScheduleInfo.js +1 -2
  328. package/models/schedule/IScheduleJob.js +1 -2
  329. package/models/search/SearchQueryFilter.js +1 -5
  330. package/models/search/SearchStreamQuery.js +1 -5
  331. package/models/stream/IBaseStream.js +1 -2
  332. package/models/stream/ICallerStream.js +1 -2
  333. package/models/stream/ICommandStream.js +1 -2
  334. package/models/stream/IControlStream.js +1 -2
  335. package/models/stream/IFileAccessorStream.d.ts +1 -2
  336. package/models/stream/IFileAccessorStream.js +1 -2
  337. package/models/stream/ISearchStream.js +1 -2
  338. package/models/stream/ITelemetryStream.js +1 -2
  339. package/models/stream/IWebRTCSignallingStream.d.ts +51 -16
  340. package/models/stream/IWebRTCSignallingStream.js +1 -7
  341. package/models/types.d.ts +5 -5
  342. package/models/types.js +1 -2
  343. package/models/workflow/Workflow.d.ts +36 -0
  344. package/models/workflow/Workflow.js +1 -0
  345. package/node/RocosSDKNode.d.ts +6 -1
  346. package/node/RocosSDKNode.js +82 -80
  347. package/node/index.js +7 -19
  348. package/package.json +10 -11
  349. package/services/AssetStorageService.d.ts +23 -1
  350. package/services/AssetStorageService.js +53 -24
  351. package/services/AuthService.d.ts +59 -27
  352. package/services/AuthService.js +167 -86
  353. package/services/AuthService.spec.d.ts +1 -0
  354. package/services/AuthService.spec.js +163 -0
  355. package/services/BaseServiceAbstract.d.ts +11 -13
  356. package/services/BaseServiceAbstract.js +18 -24
  357. package/services/BaseStreamService.d.ts +18 -0
  358. package/services/BaseStreamService.js +47 -0
  359. package/services/CallerService.d.ts +37 -17
  360. package/services/CallerService.js +86 -65
  361. package/services/CallerService.spec.d.ts +1 -0
  362. package/services/CallerService.spec.js +227 -0
  363. package/services/CallerServiceNode.js +4 -8
  364. package/services/CommandService.d.ts +5 -17
  365. package/services/CommandService.js +19 -62
  366. package/services/CommandServiceNode.js +4 -8
  367. package/services/ConfigGroupService.js +17 -21
  368. package/services/ControlService.d.ts +5 -17
  369. package/services/ControlService.js +22 -65
  370. package/services/ControlServiceNode.js +4 -8
  371. package/services/DashboardService.js +20 -24
  372. package/services/EvaluatorService.d.ts +11 -0
  373. package/services/EvaluatorService.js +28 -0
  374. package/services/EventService.js +13 -17
  375. package/services/FileAccessorService.d.ts +4 -18
  376. package/services/FileAccessorService.js +14 -62
  377. package/services/FileAccessorServiceNode.js +4 -8
  378. package/services/FunctionService.js +17 -21
  379. package/services/IntegrationService.js +14 -19
  380. package/services/MapService.d.ts +71 -25
  381. package/services/MapService.js +113 -40
  382. package/services/PlatformTimeService.js +8 -12
  383. package/services/PlatformTimeService.spec.d.ts +1 -0
  384. package/services/PlatformTimeService.spec.js +180 -0
  385. package/services/ProfileService.js +36 -40
  386. package/services/ProjectService.js +23 -27
  387. package/services/RobotService.d.ts +2 -6
  388. package/services/RobotService.js +48 -55
  389. package/services/ScheduleService.js +10 -14
  390. package/services/SearchService.d.ts +4 -17
  391. package/services/SearchService.js +24 -59
  392. package/services/SearchServiceNode.js +4 -8
  393. package/services/SpotProvisioningService.d.ts +1 -1
  394. package/services/SpotProvisioningService.js +16 -16
  395. package/services/SpotProvisioningServiceNode.d.ts +1 -1
  396. package/services/SpotProvisioningServiceNode.js +16 -16
  397. package/services/StreamService.js +26 -30
  398. package/services/TelemetryService.d.ts +15 -17
  399. package/services/TelemetryService.js +103 -93
  400. package/services/TelemetryService.spec.d.ts +1 -0
  401. package/services/TelemetryService.spec.js +37 -0
  402. package/services/TelemetryServiceNode.js +4 -8
  403. package/services/TimeSyncerService.js +9 -13
  404. package/services/UserService.js +37 -41
  405. package/services/WebRTCSignallingService.d.ts +4 -4
  406. package/services/WebRTCSignallingService.js +24 -27
  407. package/services/WorkflowService.d.ts +25 -29
  408. package/services/WorkflowService.js +39 -75
  409. package/services/index.d.ts +1 -0
  410. package/services/index.js +27 -38
  411. package/store/RocosStore.js +9 -15
  412. package/demo/angular/.editorconfig +0 -16
  413. package/demo/angular/.eslintignore +0 -4
  414. package/demo/angular/.eslintrc.json +0 -50
  415. package/demo/angular/README.md +0 -36
  416. package/demo/angular/angular.json +0 -132
  417. package/demo/angular/karma.conf.js +0 -44
  418. package/demo/angular/package.json +0 -41
  419. package/demo/angular/src/app/app.component.css +0 -0
  420. package/demo/angular/src/app/app.component.html +0 -9
  421. package/demo/angular/src/app/app.component.ts +0 -10
  422. package/demo/angular/src/app/app.module.ts +0 -38
  423. package/demo/angular/src/app/components/assets/assets.component.css +0 -0
  424. package/demo/angular/src/app/components/assets/assets.component.html +0 -29
  425. package/demo/angular/src/app/components/assets/assets.component.ts +0 -107
  426. package/demo/angular/src/app/components/auth/auth.component.css +0 -0
  427. package/demo/angular/src/app/components/auth/auth.component.html +0 -27
  428. package/demo/angular/src/app/components/auth/auth.component.ts +0 -33
  429. package/demo/angular/src/app/components/caller/caller.component.css +0 -0
  430. package/demo/angular/src/app/components/caller/caller.component.html +0 -22
  431. package/demo/angular/src/app/components/caller/caller.component.ts +0 -61
  432. package/demo/angular/src/app/components/command/command.component.css +0 -0
  433. package/demo/angular/src/app/components/command/command.component.html +0 -22
  434. package/demo/angular/src/app/components/command/command.component.ts +0 -60
  435. package/demo/angular/src/app/components/integrations/integrations.component.ts +0 -43
  436. package/demo/angular/src/app/components/robots/robots.component.css +0 -0
  437. package/demo/angular/src/app/components/robots/robots.component.html +0 -13
  438. package/demo/angular/src/app/components/robots/robots.component.ts +0 -26
  439. package/demo/angular/src/app/components/sdk/sdk.component.css +0 -0
  440. package/demo/angular/src/app/components/sdk/sdk.component.html +0 -43
  441. package/demo/angular/src/app/components/sdk/sdk.component.ts +0 -50
  442. package/demo/angular/src/app/components/subscription/subscription.component.css +0 -0
  443. package/demo/angular/src/app/components/subscription/subscription.component.html +0 -6
  444. package/demo/angular/src/app/components/subscription/subscription.component.ts +0 -40
  445. package/demo/angular/src/app/components/telemetry/telemetry.component.css +0 -0
  446. package/demo/angular/src/app/components/telemetry/telemetry.component.html +0 -19
  447. package/demo/angular/src/app/components/telemetry/telemetry.component.ts +0 -61
  448. package/demo/angular/src/app/components/token/token.component.css +0 -0
  449. package/demo/angular/src/app/components/token/token.component.html +0 -10
  450. package/demo/angular/src/app/components/token/token.component.ts +0 -18
  451. package/demo/angular/src/app/components/video/p2pvideo/index.ts +0 -646
  452. package/demo/angular/src/app/components/video/video-source.ts +0 -315
  453. package/demo/angular/src/app/components/video/video.component.css +0 -6
  454. package/demo/angular/src/app/components/video/video.component.html +0 -54
  455. package/demo/angular/src/app/components/video/video.component.ts +0 -151
  456. package/demo/angular/src/app/services/sdk.service.ts +0 -193
  457. package/demo/angular/src/assets/.gitkeep +0 -0
  458. package/demo/angular/src/assets/HKGrotesk-Bold.otf +0 -0
  459. package/demo/angular/src/assets/HKGrotesk-Regular.otf +0 -0
  460. package/demo/angular/src/assets/logo.svg +0 -16
  461. package/demo/angular/src/environments/environment.prod.ts +0 -3
  462. package/demo/angular/src/environments/environment.ts +0 -16
  463. package/demo/angular/src/favicon.ico +0 -0
  464. package/demo/angular/src/index.html +0 -15
  465. package/demo/angular/src/main.ts +0 -7
  466. package/demo/angular/src/polyfills.ts +0 -53
  467. package/demo/angular/src/styles.css +0 -198
  468. package/demo/angular/tsconfig.app.json +0 -15
  469. package/demo/angular/tsconfig.json +0 -39
  470. package/demo/html/README.md +0 -8
  471. package/demo/html/assets/HKGrotesk-Bold.otf +0 -0
  472. package/demo/html/assets/HKGrotesk-Regular.otf +0 -0
  473. package/demo/html/assets/logo.svg +0 -16
  474. package/demo/html/favicon.ico +0 -0
  475. package/demo/html/index.html +0 -416
  476. package/demo/html/rocos-js-sdk.js +0 -3
  477. package/demo/html/rocos-js-sdk.js.LICENSE.txt +0 -8
  478. package/demo/html/rocos-js-sdk.js.map +0 -1
  479. package/demo/html/styles.css +0 -190
  480. package/demo/node/README.md +0 -17
  481. package/demo/node/index.js +0 -134
  482. package/demo/node/package.json +0 -8
  483. package/demo/react/.env +0 -1
  484. package/demo/react/.env.dist +0 -1
  485. package/demo/react/.eslintrc.json +0 -46
  486. package/demo/react/README.md +0 -65
  487. package/demo/react/package.json +0 -60
  488. package/demo/react/public/favicon.ico +0 -0
  489. package/demo/react/public/index.html +0 -43
  490. package/demo/react/public/logo192.png +0 -0
  491. package/demo/react/public/logo512.png +0 -0
  492. package/demo/react/public/manifest.json +0 -25
  493. package/demo/react/public/robots.txt +0 -3
  494. package/demo/react/src/App.css +0 -190
  495. package/demo/react/src/App.tsx +0 -31
  496. package/demo/react/src/actions/index.ts +0 -8
  497. package/demo/react/src/actions/sdkActions.ts +0 -62
  498. package/demo/react/src/assets/HKGrotesk-Bold.otf +0 -0
  499. package/demo/react/src/assets/HKGrotesk-Regular.otf +0 -0
  500. package/demo/react/src/assets/logo.svg +0 -16
  501. package/demo/react/src/components/AuthForm.tsx +0 -76
  502. package/demo/react/src/components/CallerBox.tsx +0 -53
  503. package/demo/react/src/components/CallerForm.tsx +0 -98
  504. package/demo/react/src/components/CommandBox.tsx +0 -47
  505. package/demo/react/src/components/CommandForm.tsx +0 -98
  506. package/demo/react/src/components/RobotsForm.tsx +0 -51
  507. package/demo/react/src/components/SubscriptionBox.tsx +0 -55
  508. package/demo/react/src/components/TelemetryForm.tsx +0 -98
  509. package/demo/react/src/components/TokenForm.tsx +0 -39
  510. package/demo/react/src/config.json +0 -14
  511. package/demo/react/src/controllers/RocosSDKController.ts +0 -48
  512. package/demo/react/src/helpers/deepEqual.ts +0 -27
  513. package/demo/react/src/hooks/useInput.ts +0 -29
  514. package/demo/react/src/index.css +0 -11
  515. package/demo/react/src/index.tsx +0 -26
  516. package/demo/react/src/react-app-env.d.ts +0 -1
  517. package/demo/react/src/reducers/sdkReducer.ts +0 -133
  518. package/demo/react/src/reportWebVitals.ts +0 -15
  519. package/demo/react/src/selectors/sdkSelector.ts +0 -11
  520. package/demo/react/src/setupTests.ts +0 -5
  521. package/demo/react/src/store.ts +0 -14
  522. package/demo/react/tsconfig.json +0 -26
  523. package/demo/sdk-sizer/dist/sdk-sizer/3rdpartylicenses.txt +0 -975
  524. package/demo/sdk-sizer/dist/sdk-sizer/favicon.ico +0 -0
  525. package/demo/sdk-sizer/dist/sdk-sizer/index.html +0 -12
  526. package/demo/sdk-sizer/dist/sdk-sizer/main.c9183649ce1856ef.js +0 -2
  527. package/demo/sdk-sizer/dist/sdk-sizer/main.c9183649ce1856ef.js.map +0 -1
  528. package/demo/sdk-sizer/dist/sdk-sizer/polyfills.701c8e5d007909aa.js +0 -2
  529. package/demo/sdk-sizer/dist/sdk-sizer/polyfills.701c8e5d007909aa.js.map +0 -1
  530. package/demo/sdk-sizer/dist/sdk-sizer/runtime.00e20e689f5284a8.js +0 -2
  531. package/demo/sdk-sizer/dist/sdk-sizer/runtime.00e20e689f5284a8.js.map +0 -1
  532. package/demo/sdk-sizer/dist/sdk-sizer/stats.json +0 -1
  533. package/demo/sdk-sizer/dist/sdk-sizer/styles.b45f7e627ac8cbce.css +0 -2
  534. package/demo/sdk-sizer/dist/sdk-sizer/styles.b45f7e627ac8cbce.css.map +0 -1
  535. package/grpc/file-accessor/filagree_grpc_pb.d.ts +0 -41
  536. package/grpc/file-accessor/filagree_grpc_pb.js +0 -121
  537. package/grpc/file-accessor/filagree_pb.d.ts +0 -339
  538. package/grpc/file-accessor/filagree_pb.js +0 -2261
  539. package/grpc/file-accessor/filagree_pb_service.d.ts +0 -115
  540. package/grpc/file-accessor/filagree_pb_service.js +0 -257
  541. package/grpc/rambo/rambo.v1_grpc_pb.d.ts +0 -39
  542. package/grpc/rambo/rambo.v1_grpc_pb.js +0 -73
  543. package/grpc/rambo/rambo.v1_pb.d.ts +0 -365
  544. package/grpc/rambo/rambo.v1_pb.js +0 -2469
  545. package/grpc/rambo/rambo.v1_pb_service.d.ts +0 -76
  546. package/grpc/rambo/rambo.v1_pb_service.js +0 -138
  547. package/grpc/rambo/uri.v1_grpc_pb.d.ts +0 -1
  548. package/grpc/rambo/uri.v1_grpc_pb.js +0 -1
  549. package/grpc/rambo/uri.v1_pb.d.ts +0 -80
  550. package/grpc/rambo/uri.v1_pb.js +0 -563
  551. package/grpc/rambo/uri.v1_pb_service.d.ts +0 -3
  552. package/grpc/rambo/uri.v1_pb_service.js +0 -3
  553. package/grpc/robot-control/conker_grpc_pb.d.ts +0 -46
  554. package/grpc/robot-control/conker_grpc_pb.js +0 -143
  555. package/grpc/robot-control/conker_pb.d.ts +0 -168
  556. package/grpc/robot-control/conker_pb.js +0 -1287
  557. package/grpc/robot-control/conker_pb_service.d.ts +0 -126
  558. package/grpc/robot-control/conker_pb_service.js +0 -301
  559. package/grpc/serviette/common.v1_grpc_pb.d.ts +0 -1
  560. package/grpc/serviette/common.v1_grpc_pb.js +0 -1
  561. package/grpc/serviette/common.v1_pb.d.ts +0 -8
  562. package/grpc/serviette/common.v1_pb.js +0 -45
  563. package/grpc/serviette/common.v1_pb_service.d.ts +0 -3
  564. package/grpc/serviette/common.v1_pb_service.js +0 -3
  565. package/grpc/serviette/serviette.v1_grpc_pb.d.ts +0 -137
  566. package/grpc/serviette/serviette.v1_grpc_pb.js +0 -331
  567. package/grpc/serviette/serviette.v1_pb.d.ts +0 -884
  568. package/grpc/serviette/serviette.v1_pb.js +0 -6363
  569. package/grpc/serviette/serviette.v1_pb_service.d.ts +0 -278
  570. package/grpc/serviette/serviette.v1_pb_service.js +0 -699
  571. package/grpc/serviette/uri.v1_grpc_pb.d.ts +0 -1
  572. package/grpc/serviette/uri.v1_grpc_pb.js +0 -1
  573. package/grpc/serviette/uri.v1_pb.d.ts +0 -102
  574. package/grpc/serviette/uri.v1_pb.js +0 -741
  575. package/grpc/serviette/uri.v1_pb_service.d.ts +0 -3
  576. package/grpc/serviette/uri.v1_pb_service.js +0 -3
  577. package/grpc/slowlane/slowlane_grpc_pb.d.ts +0 -38
  578. package/grpc/slowlane/slowlane_grpc_pb.js +0 -132
  579. package/grpc/slowlane/slowlane_pb.d.ts +0 -373
  580. package/grpc/slowlane/slowlane_pb.js +0 -2908
  581. package/grpc/slowlane/slowlane_pb_service.d.ts +0 -112
  582. package/grpc/slowlane/slowlane_pb_service.js +0 -189
  583. package/grpc/teletubby/teletubby_grpc_pb.d.ts +0 -73
  584. package/grpc/teletubby/teletubby_grpc_pb.js +0 -231
  585. package/grpc/teletubby/teletubby_pb.d.ts +0 -647
  586. package/grpc/teletubby/teletubby_pb.js +0 -4786
  587. package/grpc/teletubby/teletubby_pb_service.d.ts +0 -193
  588. package/grpc/teletubby/teletubby_pb_service.js +0 -436
  589. package/grpc/video/pigeon_grpc_pb.d.ts +0 -59
  590. package/grpc/video/pigeon_grpc_pb.js +0 -180
  591. package/grpc/video/pigeon_pb.d.ts +0 -237
  592. package/grpc/video/pigeon_pb.js +0 -1775
  593. package/grpc/video/pigeon_pb_service.d.ts +0 -152
  594. package/grpc/video/pigeon_pb_service.js +0 -292
  595. package/models/ISignupParams.d.ts +0 -8
  596. package/models/ISignupParams.js +0 -2
  597. package/utils/axisangle.d.ts +0 -18
  598. package/utils/axisangle.js +0 -48
  599. package/utils/eulerangles.d.ts +0 -22
  600. package/utils/eulerangles.js +0 -133
  601. package/utils/helperfunctions.d.ts +0 -5
  602. package/utils/helperfunctions.js +0 -50
  603. package/utils/localtransform.d.ts +0 -17
  604. package/utils/localtransform.js +0 -50
  605. package/utils/localtransformtree.d.ts +0 -17
  606. package/utils/localtransformtree.js +0 -88
  607. package/utils/misc.d.ts +0 -17
  608. package/utils/misc.js +0 -23
  609. package/utils/positionvector.d.ts +0 -13
  610. package/utils/positionvector.js +0 -79
  611. package/utils/quaternion.d.ts +0 -20
  612. package/utils/quaternion.js +0 -62
  613. package/utils/rotationmatrix.d.ts +0 -23
  614. package/utils/rotationmatrix.js +0 -262
  615. package/utils/transformationmatrix.d.ts +0 -12
  616. package/utils/transformationmatrix.js +0 -123
  617. package/utils/vector3.d.ts +0 -11
  618. package/utils/vector3.js +0 -61
@@ -1,31 +1,31 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SearchStream = void 0;
4
- const slowlane_pb_1 = require("../../../grpc/slowlane/slowlane_pb");
5
- const rxjs_1 = require("rxjs");
6
- const slowlane_pb_service_1 = require("../../../grpc/slowlane/slowlane_pb_service");
7
- const RocosLogger_1 = require("../../../logger/RocosLogger");
8
- const RocosSearchMessage_1 = require("../../../models/message/RocosSearchMessage");
9
- const SearchStreamAbstract_1 = require("./SearchStreamAbstract");
10
- const SubscriberStatusEnum_1 = require("../../../models/SubscriberStatusEnum");
11
- class SearchStream extends SearchStreamAbstract_1.SearchStreamAbstract {
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 {
12
9
  constructor(config) {
13
10
  super(config);
14
- this.logger = RocosLogger_1.RocosLogger.getInstance(`SearchStream(${this.identifier})`);
11
+ this.logger = RocosLogger.getInstance(`SearchStream(${this.identifier})`);
15
12
  const protocol = config.insecure ? 'http' : 'https';
16
- this.client = new slowlane_pb_service_1.streamClient(`${protocol}://${this.url}`);
13
+ const transport = new GrpcWebFetchTransport({
14
+ baseUrl: `${protocol}://${this.url}`,
15
+ });
16
+ this.client = new streamClient(transport);
17
17
  }
18
18
  searchStreamInternal(request, params) {
19
19
  const metadata = this.getMetadata(params.projectId);
20
- let call;
21
- return new rxjs_1.Observable((emitter) => {
22
- call = this.client.searchStream(request, metadata);
23
- this.subscriberStatus = SubscriberStatusEnum_1.SubscriberStatusEnum.ALIVE;
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
24
  this.statusStream$.next(this.subscriberStatus);
25
- call.on('data', (update) => {
26
- const dataSetList = update.getDatasetList();
25
+ call.responses.onMessage((update) => {
26
+ const dataSetList = update.dataset;
27
27
  const results = dataSetList.map((item) => {
28
- return RocosSearchMessage_1.RocosSearchMessage.fromMessage(item);
28
+ return RocosSearchMessage.fromMessage(item);
29
29
  });
30
30
  emitter.next(results);
31
31
  this.logger.debug('searchStream - on(data)', {
@@ -34,8 +34,8 @@ class SearchStream extends SearchStreamAbstract_1.SearchStreamAbstract {
34
34
  query: params.query,
35
35
  });
36
36
  });
37
- call.on('end', () => {
38
- this.subscriberStatus = SubscriberStatusEnum_1.SubscriberStatusEnum.STOPPED;
37
+ call.responses.onComplete(() => {
38
+ this.subscriberStatus = SubscriberStatusEnum.STOPPED;
39
39
  this.statusStream$.next(this.subscriberStatus);
40
40
  this.logger.debug('searchStream - on(end)', {
41
41
  status: this.subscriberStatus,
@@ -44,71 +44,48 @@ class SearchStream extends SearchStreamAbstract_1.SearchStreamAbstract {
44
44
  });
45
45
  emitter.complete();
46
46
  });
47
- call.on('status', (status) => {
48
- this.logger.debug('searchStream - on(status)', {
49
- status,
47
+ call.responses.onError((error) => {
48
+ this.logger.debug('searchStream - on(error)', {
49
+ status: this.subscriberStatus,
50
50
  projectId: params.projectId,
51
51
  query: params.query,
52
+ error,
52
53
  });
53
- // TODO: match fail status and emit an error
54
- // emitter.error(error)
54
+ emitter.error(error);
55
55
  });
56
56
  return () => {
57
57
  this.logger.debug('unsubscribing searchStream');
58
- call.cancel();
58
+ abortController.abort();
59
59
  };
60
60
  });
61
61
  }
62
- queryDataInternal(request, params) {
62
+ async queryDataInternal(request, params) {
63
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.getResult());
71
- }
72
- else {
73
- reject('Error with search query.');
74
- }
75
- });
76
- });
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;
77
69
  }
78
- healthCheckInternal(params) {
79
- const request = new slowlane_pb_1.Empty();
70
+ async healthCheckInternal(params) {
71
+ const request = Empty.create();
80
72
  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.toObject());
88
- }
89
- else {
90
- reject('Error with health check.');
91
- }
92
- });
93
- });
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;
94
78
  }
95
- deleteProjectDataInternal(params) {
96
- const request = new slowlane_pb_1.DeleteProjectMessage();
97
- request.setProjectid(params.projectId);
98
- const metadata = this.getMetadata(params.projectId);
99
- return new Promise((resolve, reject) => {
100
- this.client.deleteProjectData(request, metadata, (error, response) => {
101
- if (error) {
102
- reject(error);
103
- }
104
- else if (response) {
105
- resolve(response.toObject());
106
- }
107
- else {
108
- reject('Error with health check.');
109
- }
110
- });
79
+ async deleteProjectDataInternal(params) {
80
+ const request = DeleteProjectMessage.create({
81
+ projectId: params.projectId,
111
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;
112
89
  }
113
90
  getMetadata(projectId) {
114
91
  return {
@@ -117,4 +94,3 @@ class SearchStream extends SearchStreamAbstract_1.SearchStreamAbstract {
117
94
  };
118
95
  }
119
96
  }
120
- exports.SearchStream = SearchStream;
@@ -1,21 +1,16 @@
1
1
  import { BehaviorSubject, Observable } from 'rxjs';
2
- import { QueryDSLMessage, QueryMessage } from '../../../grpc/slowlane/slowlane_pb';
3
- import { ISearchParams, ISearchQueryParams, ISearchStreamParams } from '../../../models/params/ISearchParams';
4
- import { IRocosSearchMessage } from '../../../models/message/IRocosSearchMessage';
5
- import { IRocosSearchStatusMessage } from '../../../models/message/IRocosSearchStatusMessage';
6
- import { ISearchStream } from '../../../models/stream/ISearchStream';
7
- import { IStreamConfig } from '../../../models/IStreamConfig';
2
+ import { QueryDSLMessage, QueryMessage } from '../../../grpc/slowlane_pb';
3
+ import { IRocosSearchMessage, IRocosSearchStatusMessage, ISearchParams, ISearchQueryParams, ISearchStream, ISearchStreamParams, IStreamConfig, SubscriberStatusEnum } from '../../../models';
8
4
  import { Logger } from 'loglevel';
9
- import { SubscriberStatusEnum } from '../../../models/SubscriberStatusEnum';
10
5
  export declare abstract class SearchStreamAbstract implements ISearchStream {
11
6
  identifier: string;
12
7
  statusStream$: BehaviorSubject<SubscriberStatusEnum>;
13
8
  protected token: string;
14
- private scope;
9
+ private readonly scope;
15
10
  protected url: string;
16
11
  protected subscriberStatus: SubscriberStatusEnum;
17
12
  protected logger: Logger;
18
- constructor(config: IStreamConfig);
13
+ protected constructor(config: IStreamConfig);
19
14
  protected abstract searchStreamInternal(request: QueryMessage, params: ISearchStreamParams): Observable<IRocosSearchMessage[]>;
20
15
  protected abstract queryDataInternal(request: QueryDSLMessage, params: ISearchQueryParams): Promise<string>;
21
16
  protected abstract healthCheckInternal(params: ISearchParams): Promise<IRocosSearchStatusMessage>;
@@ -1,23 +1,20 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SearchStreamAbstract = void 0;
4
- const rxjs_1 = require("rxjs");
5
- const slowlane_pb_1 = require("../../../grpc/slowlane/slowlane_pb");
6
- const identifier_1 = require("../../../constants/identifier");
7
- const RocosStore_1 = require("../../../store/RocosStore");
8
- const StreamRegister_1 = require("../../StreamRegister");
9
- const SubscriberStatusEnum_1 = require("../../../models/SubscriberStatusEnum");
10
- const operators_1 = require("rxjs/operators");
11
- class SearchStreamAbstract {
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 {
12
9
  constructor(config) {
13
- this.subscriberStatus = SubscriberStatusEnum_1.SubscriberStatusEnum.STOPPED;
10
+ this.subscriberStatus = SubscriberStatusEnum.STOPPED;
14
11
  this.scope = config.scope;
15
- this.identifier = StreamRegister_1.StreamRegister.getIdentifier(identifier_1.IDENTIFIER_NAME_SEARCH, this.scope);
12
+ this.identifier = StreamRegister.getIdentifier(IDENTIFIER_NAME_SEARCH, this.scope);
16
13
  this.token = config.token;
17
14
  this.url = config.url;
18
- this.statusStream$ = new rxjs_1.BehaviorSubject(SubscriberStatusEnum_1.SubscriberStatusEnum.STOPPED);
19
- RocosStore_1.RocosStore.getChangeSubject()
20
- .pipe(operators_1.filter((message) => {
15
+ this.statusStream$ = new BehaviorSubject(SubscriberStatusEnum.STOPPED);
16
+ RocosStore.getChangeSubject()
17
+ .pipe(filter((message) => {
21
18
  return message.type === 'token' && message.url === this.url;
22
19
  }))
23
20
  .subscribe((msg) => {
@@ -35,9 +32,10 @@ class SearchStreamAbstract {
35
32
  return this.searchStreamInternal(request, params);
36
33
  }
37
34
  queryData(params) {
38
- const request = new slowlane_pb_1.QueryDSLMessage();
39
- request.setDslquery(params.query);
40
- request.setProjectid(params.projectId);
35
+ const request = QueryDSLMessage.create({
36
+ dSLQuery: params.query,
37
+ projectId: params.projectId,
38
+ });
41
39
  return this.queryDataInternal(request, params);
42
40
  }
43
41
  healthCheck(params) {
@@ -48,27 +46,27 @@ class SearchStreamAbstract {
48
46
  }
49
47
  convertToQueryMessage(query) {
50
48
  const filtersForSearching = query.filters.map((filter) => {
51
- const newFilter = new slowlane_pb_1.Filter();
52
- newFilter.setIdsList(filter.ids);
53
- newFilter.setKeyword(filter.keyword);
54
- return newFilter;
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: query.refreshDelay.toString(),
62
+ disableDateHistogram: query.disableDateHistogram ? '1' : '0',
55
63
  });
56
- const reqMsg = new slowlane_pb_1.QueryMessage();
57
- reqMsg.setFiltersList(filtersForSearching);
58
- reqMsg.setGroupbyfieldsList(query.groupByFields);
59
- reqMsg.setPayloadidsList(query.payloadIds);
60
- reqMsg.setStartdate(`${query.startDate}`);
61
- reqMsg.setEnddate(`${query.endDate}`);
62
- reqMsg.setInterval(query.interval);
63
- reqMsg.setRefreshdelay(query.refreshDelay);
64
- reqMsg.setDisabledatehistogram(query.disableDateHistogram ? 1 : 0);
65
64
  if (query.dateField) {
66
- reqMsg.setDatefield(query.dateField);
65
+ reqMsg.dateField = query.dateField;
67
66
  }
68
67
  if (query.projectId) {
69
- reqMsg.setProjectid(query.projectId);
68
+ reqMsg.projectId = query.projectId;
70
69
  }
71
70
  return reqMsg;
72
71
  }
73
72
  }
74
- exports.SearchStreamAbstract = SearchStreamAbstract;
@@ -1,9 +1,6 @@
1
- import { QueryDSLMessage, QueryMessage } from '../../../grpc/slowlane/slowlane_pb';
2
- import { ISearchParams, ISearchQueryParams, ISearchStreamParams } from '../../../models/params/ISearchParams';
1
+ import { QueryDSLMessage, QueryMessage } from '../../../grpc/slowlane_pb';
2
+ import { IRocosSearchMessage, IRocosSearchStatusMessage, ISearchParams, ISearchQueryParams, ISearchStreamParams, IStreamConfig } from '../../../models';
3
3
  import { Observable } from 'rxjs';
4
- import { IRocosSearchMessage } from '../../../models/message/IRocosSearchMessage';
5
- import { IRocosSearchStatusMessage } from '../../../models/message/IRocosSearchStatusMessage';
6
- import { IStreamConfig } from '../../../models/IStreamConfig';
7
4
  import { SearchStreamAbstract } from './SearchStreamAbstract';
8
5
  export declare class SearchStreamNode extends SearchStreamAbstract {
9
6
  private client;
@@ -1,52 +1,29 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.SearchStreamNode = void 0;
23
- const grpc = __importStar(require("@grpc/grpc-js"));
24
- const slowlane_pb_1 = require("../../../grpc/slowlane/slowlane_pb");
25
- const rxjs_1 = require("rxjs");
26
- const RocosLogger_1 = require("../../../logger/RocosLogger");
27
- const RocosSearchMessage_1 = require("../../../models/message/RocosSearchMessage");
28
- const SearchStreamAbstract_1 = require("./SearchStreamAbstract");
29
- const SubscriberStatusEnum_1 = require("../../../models/SubscriberStatusEnum");
30
- const slowlane_grpc_pb_1 = require("../../../grpc/slowlane/slowlane_grpc_pb");
31
- class SearchStreamNode extends SearchStreamAbstract_1.SearchStreamAbstract {
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 {
32
9
  constructor(config) {
33
10
  super(config);
34
- this.logger = RocosLogger_1.RocosLogger.getInstance(`SearchStreamNode(${this.identifier})`);
35
- const port = config.port || 443;
11
+ this.logger = RocosLogger.getInstance(`SearchStreamNode(${this.identifier})`);
12
+ const port = config.port ?? 443;
36
13
  const credentials = config.insecure ? grpc.credentials.createInsecure() : grpc.credentials.createSsl();
37
- this.client = new slowlane_grpc_pb_1.streamClient(`${this.url}:${port}`, credentials);
14
+ this.client = new streamClient(`${this.url}:${port}`, credentials);
38
15
  }
39
16
  searchStreamInternal(request, params) {
40
17
  const metadata = this.getMetadata(params.projectId);
41
18
  let call;
42
- return new rxjs_1.Observable((emitter) => {
19
+ return new Observable((emitter) => {
43
20
  call = this.client.searchStream(request, metadata);
44
- this.subscriberStatus = SubscriberStatusEnum_1.SubscriberStatusEnum.ALIVE;
21
+ this.subscriberStatus = SubscriberStatusEnum.ALIVE;
45
22
  this.statusStream$.next(this.subscriberStatus);
46
23
  call.on('data', (update) => {
47
- const dataSetList = update.getDatasetList();
24
+ const dataSetList = update.dataset;
48
25
  const results = dataSetList.map((item) => {
49
- return RocosSearchMessage_1.RocosSearchMessage.fromMessage(item);
26
+ return RocosSearchMessage.fromMessage(item);
50
27
  });
51
28
  emitter.next(results);
52
29
  this.logger.debug('searchStream - on(data)', {
@@ -56,7 +33,7 @@ class SearchStreamNode extends SearchStreamAbstract_1.SearchStreamAbstract {
56
33
  });
57
34
  });
58
35
  call.on('end', () => {
59
- this.subscriberStatus = SubscriberStatusEnum_1.SubscriberStatusEnum.STOPPED;
36
+ this.subscriberStatus = SubscriberStatusEnum.STOPPED;
60
37
  this.statusStream$.next(this.subscriberStatus);
61
38
  this.logger.debug('searchStream - on(end)', {
62
39
  status: this.subscriberStatus,
@@ -66,12 +43,12 @@ class SearchStreamNode extends SearchStreamAbstract_1.SearchStreamAbstract {
66
43
  emitter.complete();
67
44
  });
68
45
  call.on('close', () => {
69
- this.subscriberStatus = SubscriberStatusEnum_1.SubscriberStatusEnum.STOPPED;
46
+ this.subscriberStatus = SubscriberStatusEnum.STOPPED;
70
47
  this.statusStream$.next(this.subscriberStatus);
71
48
  this.logger.debug('searchStream - on(close)');
72
49
  });
73
50
  call.on('error', (error) => {
74
- this.subscriberStatus = SubscriberStatusEnum_1.SubscriberStatusEnum.ERROR;
51
+ this.subscriberStatus = SubscriberStatusEnum.ERROR;
75
52
  this.statusStream$.next(this.subscriberStatus);
76
53
  this.logger.debug('searchStream - on(error)', error);
77
54
  emitter.error(error);
@@ -90,7 +67,7 @@ class SearchStreamNode extends SearchStreamAbstract_1.SearchStreamAbstract {
90
67
  reject(error);
91
68
  }
92
69
  else if (response) {
93
- resolve(response.getResult());
70
+ resolve(response.result);
94
71
  }
95
72
  else {
96
73
  reject('Error with search query.');
@@ -99,7 +76,7 @@ class SearchStreamNode extends SearchStreamAbstract_1.SearchStreamAbstract {
99
76
  });
100
77
  }
101
78
  healthCheckInternal(params) {
102
- const request = new slowlane_pb_1.Empty();
79
+ const request = Empty.create();
103
80
  const metadata = this.getMetadata(params.projectId);
104
81
  return new Promise((resolve, reject) => {
105
82
  this.client.healthCheck(request, metadata, (error, response) => {
@@ -107,7 +84,7 @@ class SearchStreamNode extends SearchStreamAbstract_1.SearchStreamAbstract {
107
84
  reject(error);
108
85
  }
109
86
  else if (response) {
110
- resolve(response.toObject());
87
+ resolve(response);
111
88
  }
112
89
  else {
113
90
  reject('Error with health check.');
@@ -116,8 +93,7 @@ class SearchStreamNode extends SearchStreamAbstract_1.SearchStreamAbstract {
116
93
  });
117
94
  }
118
95
  deleteProjectDataInternal(params) {
119
- const request = new slowlane_pb_1.DeleteProjectMessage();
120
- request.setProjectid(params.projectId);
96
+ const request = DeleteProjectMessage.create({ projectId: params.projectId });
121
97
  const metadata = this.getMetadata(params.projectId);
122
98
  return new Promise((resolve, reject) => {
123
99
  this.client.deleteProjectData(request, metadata, (error, response) => {
@@ -125,7 +101,7 @@ class SearchStreamNode extends SearchStreamAbstract_1.SearchStreamAbstract {
125
101
  reject(error);
126
102
  }
127
103
  else if (response) {
128
- resolve(response.toObject());
104
+ resolve(response);
129
105
  }
130
106
  else {
131
107
  reject('Error with health check.');
@@ -140,4 +116,3 @@ class SearchStreamNode extends SearchStreamAbstract_1.SearchStreamAbstract {
140
116
  return meta;
141
117
  }
142
118
  }
143
- exports.SearchStreamNode = SearchStreamNode;
@@ -1,9 +1,9 @@
1
- import { TelemetryAckStatusMap, TelemetryQueryRequest, TelemetryRequest } from '../../../grpc/teletubby/teletubby_pb';
2
- import { ITelemetryStreamConfig } from '../../../models/ITelemetryStreamConfig';
1
+ import { ITelemetryStreamConfig } from '../../../models';
2
+ import { TelemetryAckStatus, TelemetryQueryRequest, TelemetryRequest } from '../../../grpc/teletubby_pb';
3
3
  import { TelemetryStreamAbstract } from './TelemetryStreamAbstract';
4
4
  export declare class TelemetryStream extends TelemetryStreamAbstract {
5
5
  private client;
6
- private receiverCall?;
6
+ private abortController?;
7
7
  constructor(config: ITelemetryStreamConfig);
8
8
  protected stopInternal(): void;
9
9
  protected registerReceiver(): () => void;
@@ -12,6 +12,6 @@ export declare class TelemetryStream extends TelemetryStreamAbstract {
12
12
  private getMetadata;
13
13
  protected requestTelemetry(req: TelemetryRequest): Promise<void>;
14
14
  protected requestTelemetryQuery(req: TelemetryQueryRequest): Promise<void>;
15
- protected sendAcknowledgmentInternal(uid: string, status: TelemetryAckStatusMap[keyof TelemetryAckStatusMap], noRetry: boolean): boolean;
15
+ protected sendAcknowledgmentInternal(uid: string, status: TelemetryAckStatus, noRetry: boolean): boolean;
16
16
  protected sendHeartbeat(): void;
17
17
  }
@@ -1,25 +1,24 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TelemetryStream = void 0;
4
- const teletubby_pb_1 = require("../../../grpc/teletubby/teletubby_pb");
5
- const teletubby_pb_service_1 = require("../../../grpc/teletubby/teletubby_pb_service");
6
- const RocosLogger_1 = require("../../../logger/RocosLogger");
7
- const RocosTelemetryMessage_1 = require("../../../models/message/RocosTelemetryMessage");
8
- const SubscriberStatusEnum_1 = require("../../../models/SubscriberStatusEnum");
9
- const TelemetryStreamAbstract_1 = require("./TelemetryStreamAbstract");
10
- const grpc_web_1 = require("@improbable-eng/grpc-web");
11
- class TelemetryStream extends TelemetryStreamAbstract_1.TelemetryStreamAbstract {
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 {
12
8
  constructor(config) {
13
9
  super(config);
14
- this.logger = RocosLogger_1.RocosLogger.getInstance(`TelemetryStreamWeb(${this.identifier})`);
10
+ this.logger = RocosLogger.getInstance(`TelemetryStreamWeb(${this.identifier})`);
15
11
  const protocol = config.insecure ? 'http' : 'https';
16
- this.client = new teletubby_pb_service_1.TelemetryGatewayClient(`${protocol}://${this.url}`);
12
+ const transport = new GrpcWebFetchTransport({
13
+ baseUrl: `${protocol}://${this.url}`,
14
+ });
15
+ this.client = new TelemetryGatewayClient(transport);
17
16
  }
18
17
  stopInternal() {
19
- if (this.receiverCall) {
18
+ if (this.abortController) {
20
19
  this.logger.info('Starting stop stream process');
21
- this.receiverCall.cancel();
22
- this.receiverCall = undefined;
20
+ this.abortController.abort();
21
+ this.abortController = undefined;
23
22
  this.logger.info('Finished stop stream process');
24
23
  }
25
24
  }
@@ -27,56 +26,35 @@ class TelemetryStream extends TelemetryStreamAbstract_1.TelemetryStreamAbstract
27
26
  this.logger.info('registerReceiver');
28
27
  // Reset counter
29
28
  this.receivedMessagesCount = 0;
30
- const call = this.client.registerReceiver(new teletubby_pb_1.RegistrationMessage(), this.getMetadata(this.projectId));
31
- call.on('data', (msg) => {
32
- this.onData(RocosTelemetryMessage_1.RocosTelemetryMessage.fromTelemetryMessage(msg));
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);
33
37
  });
34
- // on status or on end always fire at the same time
35
- // {@link: src/grpc/teletubby/teletubby_pb_service.js:279}
36
- call.on('status', (status) => {
37
- if (status.code !== grpc_web_1.grpc.Code.OK) {
38
- void this.onError(status);
39
- }
38
+ call.responses.onError((error) => {
39
+ void this.onError(error);
40
+ this.onEnd(false);
40
41
  });
41
- call.on('end', (status) => {
42
- this.onEnd(status);
42
+ call.responses.onComplete(() => {
43
+ this.onEnd(true);
43
44
  });
44
- this.receiverCall = call;
45
45
  this.listenMessagesAndRenew();
46
46
  return () => {
47
- call.cancel();
47
+ abortController.abort();
48
48
  };
49
49
  }
50
50
  async onError(e) {
51
51
  this.logger.error(`Telemetry Stream Error: ${e}, SubscriberId: ${this.subscriberId}`);
52
- this.subscriberStatus = SubscriberStatusEnum_1.SubscriberStatusEnum.ERROR;
52
+ this.subscriberStatus = SubscriberStatusEnum.ERROR;
53
53
  this.statusStream$.next(this.subscriberStatus);
54
- // TODO: handle stream error and re register
55
- // await this.stopandReRegisterStream()
56
54
  }
57
- /*
58
- grpc.Code:
59
- 0 OK
60
- 1 Canceled
61
- 2 Unknown
62
- 3 InvalidArgument
63
- 4 DeadlineExceeded
64
- 5 NotFound
65
- 6 AlreadyExists
66
- 7 PermissionDenied
67
- 8 ResourceExhausted
68
- 9 FailedPrecondition
69
- 10 Aborted
70
- 11 OutOfRange
71
- 12 Unimplemented
72
- 13 Internal
73
- 14 Unavailable
74
- 15 DataLoss
75
- 16 Unauthenticated
76
- */
77
- onEnd(status) {
78
- this.logger.debug('registerReceiver', 'end', status);
79
- if ((status === null || status === void 0 ? void 0 : status.code) === grpc_web_1.grpc.Code.OK) {
55
+ onEnd(ok) {
56
+ this.logger.debug('registerReceiver', 'end');
57
+ if (ok) {
80
58
  // ResourceExhausted
81
59
  this.stopInternal();
82
60
  this.registerReceiver();
@@ -89,31 +67,25 @@ class TelemetryStream extends TelemetryStreamAbstract_1.TelemetryStreamAbstract
89
67
  }
90
68
  return result;
91
69
  }
92
- requestTelemetry(req) {
70
+ async requestTelemetry(req) {
93
71
  this.logger.debug('Sending telemetry request');
94
- return new Promise((resolve, reject) => {
95
- this.client.requestTelemetry(req, this.getMetadata(this.projectId), (err, ack) => {
96
- this.logger.debug('subscribeSources with callsigns callback', err, ack);
97
- if (err) {
98
- this.logger.error('error requestTelemetry ', err);
99
- return reject(err);
100
- }
101
- return resolve();
102
- });
103
- });
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
+ }
104
79
  }
105
- requestTelemetryQuery(req) {
80
+ async requestTelemetryQuery(req) {
106
81
  this.logger.debug('Requesting telemetry with query');
107
- return new Promise((resolve, reject) => {
108
- this.client.requestTelemetryQuery(req, this.getMetadata(this.projectId), (err, ack) => {
109
- this.logger.debug('subscribeSources with query callback', err, ack);
110
- if (err) {
111
- this.logger.error('error requestTelemetryQuery ', err);
112
- return reject(err);
113
- }
114
- return resolve();
115
- });
116
- });
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
+ }
117
89
  }
118
90
  sendAcknowledgmentInternal(uid, status, noRetry) {
119
91
  this.logger.error('Error can not send Acknowledgment on grpc-web client', { uid, status, noRetry });
@@ -123,4 +95,3 @@ class TelemetryStream extends TelemetryStreamAbstract_1.TelemetryStreamAbstract
123
95
  // can not send heartbeat on grpc-web
124
96
  }
125
97
  }
126
- exports.TelemetryStream = TelemetryStream;