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

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