@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,14 +1,26 @@
1
- import { Subject } from 'rxjs';
2
- import { BaseStreamService } from './BaseStreamService';
3
- import { CallerStream } from '../api/streams/caller/CallerStream';
4
- import { IDENTIFIER_NAME_CALLER } from '../constants/identifier';
5
- import { finalize } from 'rxjs/operators';
6
- export class CallerService extends BaseStreamService {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CallerService = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ const CallerStream_1 = require("../api/streams/caller/CallerStream");
6
+ const identifier_1 = require("../constants/identifier");
7
+ const RocosLogger_1 = require("../logger/RocosLogger");
8
+ const RocosStore_1 = require("../store/RocosStore");
9
+ const StreamRegister_1 = require("../api/StreamRegister");
10
+ const SubscriberStatusEnum_1 = require("../models/SubscriberStatusEnum");
11
+ const operators_1 = require("rxjs/operators");
12
+ class CallerService {
7
13
  constructor(config) {
8
- super('CallerService', config);
14
+ this.status = false;
15
+ this.status$ = new rxjs_1.Subject();
16
+ this.config = config;
17
+ this.logger = RocosLogger_1.RocosLogger.getInstance(`CallerService(${this.config.url})`);
18
+ }
19
+ getStatus() {
20
+ return this.status;
9
21
  }
10
22
  invokeRequest(params) {
11
- const subject = new Subject();
23
+ const subject = new rxjs_1.Subject();
12
24
  let subscription;
13
25
  this.createStream()
14
26
  .then((stream) => {
@@ -18,12 +30,12 @@ export class CallerService extends BaseStreamService {
18
30
  this.logger.info('invokeRequest error', e);
19
31
  subject.error(e);
20
32
  });
21
- return subject.asObservable().pipe(finalize(() => {
22
- subscription?.unsubscribe();
33
+ return subject.asObservable().pipe(operators_1.finalize(() => {
34
+ subscription === null || subscription === void 0 ? void 0 : subscription.unsubscribe();
23
35
  }));
24
36
  }
25
37
  cancelRequest(params) {
26
- const subject = new Subject();
38
+ const subject = new rxjs_1.Subject();
27
39
  let subscription;
28
40
  this.createStream()
29
41
  .then((stream) => {
@@ -33,21 +45,52 @@ export class CallerService extends BaseStreamService {
33
45
  this.logger.info('invokeRequest error', e);
34
46
  subject.error(e);
35
47
  });
36
- return subject.asObservable().pipe(finalize(() => {
37
- subscription?.unsubscribe();
48
+ return subject.asObservable().pipe(operators_1.finalize(() => {
49
+ subscription === null || subscription === void 0 ? void 0 : subscription.unsubscribe();
38
50
  }));
39
51
  }
40
52
  async createStream() {
41
- return (await this.createStreamFromConfig(IDENTIFIER_NAME_CALLER, {
42
- url: this.config.url,
43
- token: this.config.token,
44
- scope: 'default',
45
- options: this.config.options,
46
- port: this.config.port,
47
- insecure: this.config.insecure,
48
- })).stream;
53
+ const scope = 'default';
54
+ const identifier = StreamRegister_1.StreamRegister.getIdentifier(identifier_1.IDENTIFIER_NAME_CALLER, scope);
55
+ const streamRegister = StreamRegister_1.StreamRegister.getInstance();
56
+ let stream = streamRegister.getStream(identifier);
57
+ if (!stream) {
58
+ stream = this.getStream({
59
+ url: this.config.url,
60
+ token: this.config.token,
61
+ scope,
62
+ options: this.config.options,
63
+ port: this.config.port,
64
+ insecure: this.config.insecure,
65
+ });
66
+ stream.statusStream$.subscribe((msg) => {
67
+ this.status = msg === SubscriberStatusEnum_1.SubscriberStatusEnum.STOPPED || msg === SubscriberStatusEnum_1.SubscriberStatusEnum.ALIVE;
68
+ this.status$.next(msg);
69
+ });
70
+ // don't wait for these promises, they can be init after startup
71
+ await streamRegister.addStream(stream);
72
+ await this.initStream(stream);
73
+ }
74
+ return stream;
75
+ }
76
+ async initStream(stream) {
77
+ // an async callback to set the stream token in case one was not set at startup
78
+ if (!this.config.token) {
79
+ try {
80
+ const authService = RocosStore_1.RocosStore.getSDKInstance(this.config).getAuthService();
81
+ const token = await authService.getToken();
82
+ if (token === null || token === void 0 ? void 0 : token.value) {
83
+ this.config.token = token === null || token === void 0 ? void 0 : token.value;
84
+ stream.setToken(this.config.token);
85
+ }
86
+ }
87
+ catch (e) {
88
+ this.logger.info('Can not retrieve auth token', e);
89
+ }
90
+ }
49
91
  }
50
92
  getStream(config) {
51
- return new CallerStream(config);
93
+ return new CallerStream_1.CallerStream(config);
52
94
  }
53
95
  }
96
+ exports.CallerService = CallerService;
@@ -1,7 +1,11 @@
1
- import { CallerService } from './CallerService';
2
- import { CallerStreamNode } from '../api/streams/caller/CallerStreamNode';
3
- export class CallerServiceNode extends CallerService {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CallerServiceNode = void 0;
4
+ const CallerService_1 = require("./CallerService");
5
+ const CallerStreamNode_1 = require("../api/streams/caller/CallerStreamNode");
6
+ class CallerServiceNode extends CallerService_1.CallerService {
4
7
  getStream(config) {
5
- return new CallerStreamNode(config);
8
+ return new CallerStreamNode_1.CallerStreamNode(config);
6
9
  }
7
10
  }
11
+ exports.CallerServiceNode = CallerServiceNode;
@@ -1,9 +1,21 @@
1
- import { ICommandParams, ICommandStream, IRocosCommandMessage, IRocosSDKConfig, IStreamConfig } from '../models';
2
- import { Observable } from 'rxjs';
3
- import { BaseStreamService } from './BaseStreamService';
4
- export declare class CommandService extends BaseStreamService<ICommandStream> {
1
+ import { Observable, Subject } from 'rxjs';
2
+ import { IBaseService } from '../models/IBaseService';
3
+ import { ICommandParams } from '../models/params/ICommandParams';
4
+ import { ICommandStream } from '../models/stream/ICommandStream';
5
+ import { IRocosCommandMessage } from '../models/message/IRocosCommandMessage';
6
+ import { IRocosSDKConfig } from '../models/IRocosSDKConfig';
7
+ import { IStreamConfig } from '../models/IStreamConfig';
8
+ import { ISubscriberStatus } from '../models/ISubscriberStatus';
9
+ import { SubscriberStatusEnum } from '../models/SubscriberStatusEnum';
10
+ export declare class CommandService implements IBaseService, ISubscriberStatus {
11
+ private config;
12
+ private logger;
13
+ private status;
14
+ status$: Subject<SubscriberStatusEnum>;
5
15
  constructor(config: IRocosSDKConfig);
16
+ getStatus(): boolean;
6
17
  invokeRequest(params: ICommandParams): Observable<IRocosCommandMessage>;
7
- protected createStream(): Promise<ICommandStream>;
18
+ private createStream;
19
+ private initStream;
8
20
  protected getStream(config: IStreamConfig): ICommandStream;
9
21
  }
@@ -1,14 +1,26 @@
1
- import { Subject } from 'rxjs';
2
- import { BaseStreamService } from './BaseStreamService';
3
- import { CommandStream } from '../api/streams/command/CommandStream';
4
- import { IDENTIFIER_NAME_COMMAND } from '../constants/identifier';
5
- import { finalize } from 'rxjs/operators';
6
- export class CommandService extends BaseStreamService {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CommandService = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ const CommandStream_1 = require("../api/streams/command/CommandStream");
6
+ const identifier_1 = require("../constants/identifier");
7
+ const RocosLogger_1 = require("../logger/RocosLogger");
8
+ const RocosStore_1 = require("../store/RocosStore");
9
+ const StreamRegister_1 = require("../api/StreamRegister");
10
+ const SubscriberStatusEnum_1 = require("../models/SubscriberStatusEnum");
11
+ const operators_1 = require("rxjs/operators");
12
+ class CommandService {
7
13
  constructor(config) {
8
- super('CommandService', config);
14
+ this.status = false;
15
+ this.status$ = new rxjs_1.Subject();
16
+ this.config = config;
17
+ this.logger = RocosLogger_1.RocosLogger.getInstance(`CommandService(${this.config.url})`);
18
+ }
19
+ getStatus() {
20
+ return this.status;
9
21
  }
10
22
  invokeRequest(params) {
11
- const subject = new Subject();
23
+ const subject = new rxjs_1.Subject();
12
24
  let subscription;
13
25
  this.createStream()
14
26
  .then((stream) => {
@@ -18,21 +30,52 @@ export class CommandService extends BaseStreamService {
18
30
  this.logger.info('invokeRequest error', e);
19
31
  subject.error(e);
20
32
  });
21
- return subject.asObservable().pipe(finalize(() => {
22
- subscription?.unsubscribe();
33
+ return subject.asObservable().pipe(operators_1.finalize(() => {
34
+ subscription === null || subscription === void 0 ? void 0 : subscription.unsubscribe();
23
35
  }));
24
36
  }
25
37
  async createStream() {
26
- return (await this.createStreamFromConfig(IDENTIFIER_NAME_COMMAND, {
27
- url: this.config.url,
28
- token: this.config.token,
29
- scope: 'default',
30
- options: this.config.options,
31
- port: this.config.port,
32
- insecure: this.config.insecure,
33
- })).stream;
38
+ const scope = 'default';
39
+ const identifier = StreamRegister_1.StreamRegister.getIdentifier(identifier_1.IDENTIFIER_NAME_COMMAND, scope);
40
+ const streamRegister = StreamRegister_1.StreamRegister.getInstance();
41
+ let stream = streamRegister.getStream(identifier);
42
+ if (!stream) {
43
+ stream = this.getStream({
44
+ url: this.config.url,
45
+ token: this.config.token,
46
+ scope,
47
+ options: this.config.options,
48
+ port: this.config.port,
49
+ insecure: this.config.insecure,
50
+ });
51
+ stream.statusStream$.subscribe((msg) => {
52
+ this.status = msg === SubscriberStatusEnum_1.SubscriberStatusEnum.STOPPED || msg === SubscriberStatusEnum_1.SubscriberStatusEnum.ALIVE;
53
+ this.status$.next(msg);
54
+ });
55
+ // don't wait for these promises, they can be init after startup
56
+ await streamRegister.addStream(stream);
57
+ await this.initStream(stream);
58
+ }
59
+ return stream;
60
+ }
61
+ async initStream(stream) {
62
+ // an async callback to set the stream token in case one was not set at startup
63
+ if (!this.config.token) {
64
+ try {
65
+ const authService = RocosStore_1.RocosStore.getSDKInstance(this.config).getAuthService();
66
+ const token = await authService.getToken();
67
+ if (token === null || token === void 0 ? void 0 : token.value) {
68
+ this.config.token = token === null || token === void 0 ? void 0 : token.value;
69
+ stream.setToken(this.config.token);
70
+ }
71
+ }
72
+ catch (e) {
73
+ this.logger.info('Can not retrieve auth token', e);
74
+ }
75
+ }
34
76
  }
35
77
  getStream(config) {
36
- return new CommandStream(config);
78
+ return new CommandStream_1.CommandStream(config);
37
79
  }
38
80
  }
81
+ exports.CommandService = CommandService;
@@ -1,7 +1,11 @@
1
- import { CommandService } from './CommandService';
2
- import { CommandStreamNode } from '../api/streams/command/CommandStreamNode';
3
- export class CommandServiceNode extends CommandService {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CommandServiceNode = void 0;
4
+ const CommandService_1 = require("./CommandService");
5
+ const CommandStreamNode_1 = require("../api/streams/command/CommandStreamNode");
6
+ class CommandServiceNode extends CommandService_1.CommandService {
4
7
  getStream(config) {
5
- return new CommandStreamNode(config);
8
+ return new CommandStreamNode_1.CommandStreamNode(config);
6
9
  }
7
10
  }
11
+ exports.CommandServiceNode = CommandServiceNode;
@@ -1,15 +1,18 @@
1
- import { API_PROJECT_GROUP_TYPE_CONFIG_URL, API_PROJECT_GROUP_TYPE_ID_URL, API_PROJECT_GROUP_TYPE_OWNER_ID_URL, API_PROJECT_GROUP_TYPE_OWNER_OVERRIDE_URL, API_PROJECT_GROUP_TYPE_PUBLISH_URL, API_PROJECT_GROUP_TYPE_URL, API_PROJECT_GROUP_TYPE_VERSION_URL, } from '../constants/api';
2
- import { RocosError, errorCodes } from '../models/RocosError';
3
- import { BaseServiceAbstract } from './BaseServiceAbstract';
4
- import { RocosLogger } from '../logger/RocosLogger';
5
- import { formatServiceUrl } from '../helpers/formatServiceUrl';
6
- export class ConfigGroupService extends BaseServiceAbstract {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConfigGroupService = void 0;
4
+ const api_1 = require("../constants/api");
5
+ const RocosError_1 = require("../models/RocosError");
6
+ const BaseServiceAbstract_1 = require("./BaseServiceAbstract");
7
+ const RocosLogger_1 = require("../logger/RocosLogger");
8
+ const formatServiceUrl_1 = require("../helpers/formatServiceUrl");
9
+ class ConfigGroupService extends BaseServiceAbstract_1.BaseServiceAbstract {
7
10
  constructor(config) {
8
11
  super(config);
9
- this.logger = RocosLogger.getInstance(`ConfigGroupService(${this.config.url})`);
12
+ this.logger = RocosLogger_1.RocosLogger.getInstance(`ConfigGroupService(${this.config.url})`);
10
13
  }
11
14
  getError(e) {
12
- return new RocosError(e, errorCodes.CONFIG_GROUP_SERVICE_ERROR);
15
+ return new RocosError_1.RocosError(e, RocosError_1.errorCodes.CONFIG_GROUP_SERVICE_ERROR);
13
16
  }
14
17
  getStatus() {
15
18
  return true;
@@ -23,7 +26,7 @@ export class ConfigGroupService extends BaseServiceAbstract {
23
26
  */
24
27
  // TODO: map the response object
25
28
  async create(projectId, type, model) {
26
- return this.callPost(formatServiceUrl(API_PROJECT_GROUP_TYPE_URL, { url: this.config.url, projectId, type }, this.config.insecure), model, `Failed to create config group for ${projectId}, type ${type}.`);
29
+ return this.callPost(formatServiceUrl_1.formatServiceUrl(api_1.API_PROJECT_GROUP_TYPE_URL, { url: this.config.url, projectId, type }, this.config.insecure), model, `Failed to create config group for ${projectId}, type ${type}.`);
27
30
  }
28
31
  /**
29
32
  * Get a config group list
@@ -33,7 +36,7 @@ export class ConfigGroupService extends BaseServiceAbstract {
33
36
  */
34
37
  // TODO: map the response object
35
38
  async list(projectId, type) {
36
- return this.callGet(formatServiceUrl(API_PROJECT_GROUP_TYPE_URL, { url: this.config.url, projectId, type }, this.config.insecure), `Failed to get config group list for ${projectId}, type ${type}.`);
39
+ return this.callGet(formatServiceUrl_1.formatServiceUrl(api_1.API_PROJECT_GROUP_TYPE_URL, { url: this.config.url, projectId, type }, this.config.insecure), `Failed to get config group list for ${projectId}, type ${type}.`);
37
40
  }
38
41
  /**
39
42
  * Update a config group
@@ -45,7 +48,7 @@ export class ConfigGroupService extends BaseServiceAbstract {
45
48
  */
46
49
  // TODO: map the response object
47
50
  async update(projectId, type, configGroupId, model) {
48
- return this.callPut(formatServiceUrl(API_PROJECT_GROUP_TYPE_ID_URL, { url: this.config.url, projectId, type, configGroupId }, this.config.insecure), model, `Failed to update config group for ${projectId}, type ${type}, configGroupId ${configGroupId}.`);
51
+ return this.callPut(formatServiceUrl_1.formatServiceUrl(api_1.API_PROJECT_GROUP_TYPE_ID_URL, { url: this.config.url, projectId, type, configGroupId }, this.config.insecure), model, `Failed to update config group for ${projectId}, type ${type}, configGroupId ${configGroupId}.`);
49
52
  }
50
53
  /**
51
54
  * Get a config group
@@ -56,7 +59,7 @@ export class ConfigGroupService extends BaseServiceAbstract {
56
59
  */
57
60
  // TODO: map the response object
58
61
  async info(projectId, type, configGroupId) {
59
- return this.callGet(formatServiceUrl(API_PROJECT_GROUP_TYPE_ID_URL, { url: this.config.url, projectId, type, configGroupId }, this.config.insecure), `Failed to get config group for ${projectId}, type ${type}, configGroupId ${configGroupId}.`);
62
+ return this.callGet(formatServiceUrl_1.formatServiceUrl(api_1.API_PROJECT_GROUP_TYPE_ID_URL, { url: this.config.url, projectId, type, configGroupId }, this.config.insecure), `Failed to get config group for ${projectId}, type ${type}, configGroupId ${configGroupId}.`);
60
63
  }
61
64
  /**
62
65
  * Publish a config group
@@ -68,7 +71,7 @@ export class ConfigGroupService extends BaseServiceAbstract {
68
71
  */
69
72
  // TODO: map the response object
70
73
  async publish(projectId, type, configGroupId, model) {
71
- return this.callPost(formatServiceUrl(API_PROJECT_GROUP_TYPE_PUBLISH_URL, { url: this.config.url, projectId, type, configGroupId }, this.config.insecure), model, `Failed to publish config group for ${projectId}, type ${type}, configGroupId ${configGroupId}.`);
74
+ return this.callPost(formatServiceUrl_1.formatServiceUrl(api_1.API_PROJECT_GROUP_TYPE_PUBLISH_URL, { url: this.config.url, projectId, type, configGroupId }, this.config.insecure), model, `Failed to publish config group for ${projectId}, type ${type}, configGroupId ${configGroupId}.`);
72
75
  }
73
76
  /**
74
77
  * Update a config
@@ -84,7 +87,7 @@ export class ConfigGroupService extends BaseServiceAbstract {
84
87
  async updateConfig(projectId, type, configGroupId, configId,
85
88
  // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
86
89
  content) {
87
- return this.callPut(formatServiceUrl(API_PROJECT_GROUP_TYPE_CONFIG_URL, {
90
+ return this.callPut(formatServiceUrl_1.formatServiceUrl(api_1.API_PROJECT_GROUP_TYPE_CONFIG_URL, {
88
91
  url: this.config.url,
89
92
  projectId,
90
93
  type,
@@ -102,7 +105,7 @@ export class ConfigGroupService extends BaseServiceAbstract {
102
105
  */
103
106
  // TODO: map the response object
104
107
  async getByVersion(projectId, type, configGroupId, version) {
105
- return this.callGet(formatServiceUrl(API_PROJECT_GROUP_TYPE_VERSION_URL, {
108
+ return this.callGet(formatServiceUrl_1.formatServiceUrl(api_1.API_PROJECT_GROUP_TYPE_VERSION_URL, {
106
109
  url: this.config.url,
107
110
  projectId,
108
111
  type,
@@ -124,7 +127,7 @@ export class ConfigGroupService extends BaseServiceAbstract {
124
127
  async overrideByOwnerId(projectId, type, configGroupId, ownerId,
125
128
  // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
126
129
  content) {
127
- return this.callPost(formatServiceUrl(API_PROJECT_GROUP_TYPE_OWNER_OVERRIDE_URL, {
130
+ return this.callPost(formatServiceUrl_1.formatServiceUrl(api_1.API_PROJECT_GROUP_TYPE_OWNER_OVERRIDE_URL, {
128
131
  url: this.config.url,
129
132
  projectId,
130
133
  type,
@@ -142,7 +145,7 @@ export class ConfigGroupService extends BaseServiceAbstract {
142
145
  */
143
146
  // TODO: map the response object
144
147
  async getOverrideConfig(projectId, type, configGroupId, ownerId) {
145
- return this.callGet(formatServiceUrl(API_PROJECT_GROUP_TYPE_OWNER_ID_URL, {
148
+ return this.callGet(formatServiceUrl_1.formatServiceUrl(api_1.API_PROJECT_GROUP_TYPE_OWNER_ID_URL, {
146
149
  url: this.config.url,
147
150
  projectId,
148
151
  type,
@@ -151,3 +154,4 @@ export class ConfigGroupService extends BaseServiceAbstract {
151
154
  }, this.config.insecure), `Failed to get override for ${projectId}, type ${type}, configGroupId ${configGroupId}, ownerId ${ownerId}.`);
152
155
  }
153
156
  }
157
+ exports.ConfigGroupService = ConfigGroupService;
@@ -1,11 +1,23 @@
1
- import { ControlActionType, IControlParams, IControlStream, IRocosControlMessage, IRocosSDKConfig, IStreamConfig } from '../models';
2
- import { Observable } from 'rxjs';
3
- import { BaseStreamService } from './BaseStreamService';
4
- export declare class ControlService extends BaseStreamService<IControlStream> {
1
+ import { ControlActionType, IControlParams } from '../models/params/IControlParams';
2
+ import { Observable, Subject } from 'rxjs';
3
+ import { IBaseService } from '../models/IBaseService';
4
+ import { IControlStream } from '../models/stream/IControlStream';
5
+ import { IRocosControlMessage } from '../models/message/IRocosControlMessage';
6
+ import { IRocosSDKConfig } from '../models/IRocosSDKConfig';
7
+ import { IStreamConfig } from '../models/IStreamConfig';
8
+ import { ISubscriberStatus } from '../models/ISubscriberStatus';
9
+ import { SubscriberStatusEnum } from '../models/SubscriberStatusEnum';
10
+ export declare class ControlService implements IBaseService, ISubscriberStatus {
11
+ private config;
12
+ private logger;
13
+ private status;
14
+ status$: Subject<SubscriberStatusEnum>;
5
15
  constructor(config: IRocosSDKConfig);
16
+ getStatus(): boolean;
6
17
  takeActionWithAck(action: ControlActionType, params: IControlParams, ackTimeoutInSeconds?: number): Observable<string>;
7
18
  sendCommand(params: IControlParams): Promise<void>;
8
19
  sendCommandWithAck(params: IControlParams): Observable<IRocosControlMessage>;
9
- protected createStream(): Promise<IControlStream>;
20
+ private createStream;
21
+ private initStream;
10
22
  protected getStream(config: IStreamConfig): IControlStream;
11
23
  }
@@ -1,14 +1,26 @@
1
- import { Subject } from 'rxjs';
2
- import { BaseStreamService } from './BaseStreamService';
3
- import { ControlStream } from '../api/streams/control/ControlStream';
4
- import { IDENTIFIER_NAME_CONTROL } from '../constants/identifier';
5
- import { finalize } from 'rxjs/operators';
6
- export class ControlService extends BaseStreamService {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ControlService = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ const ControlStream_1 = require("../api/streams/control/ControlStream");
6
+ const identifier_1 = require("../constants/identifier");
7
+ const RocosLogger_1 = require("../logger/RocosLogger");
8
+ const RocosStore_1 = require("../store/RocosStore");
9
+ const StreamRegister_1 = require("../api/StreamRegister");
10
+ const SubscriberStatusEnum_1 = require("../models/SubscriberStatusEnum");
11
+ const operators_1 = require("rxjs/operators");
12
+ class ControlService {
7
13
  constructor(config) {
8
- super('ControlService', config);
14
+ this.status = false;
15
+ this.status$ = new rxjs_1.Subject();
16
+ this.config = config;
17
+ this.logger = RocosLogger_1.RocosLogger.getInstance(`ControlService(${this.config.url})`);
18
+ }
19
+ getStatus() {
20
+ return this.status;
9
21
  }
10
22
  takeActionWithAck(action, params, ackTimeoutInSeconds = 15) {
11
- const subject = new Subject();
23
+ const subject = new rxjs_1.Subject();
12
24
  let subscription;
13
25
  this.createStream()
14
26
  .then((stream) => {
@@ -18,8 +30,8 @@ export class ControlService extends BaseStreamService {
18
30
  this.logger.info('takeActionWithAck error', e);
19
31
  subject.error(e);
20
32
  });
21
- return subject.asObservable().pipe(finalize(() => {
22
- subscription?.unsubscribe();
33
+ return subject.asObservable().pipe(operators_1.finalize(() => {
34
+ subscription === null || subscription === void 0 ? void 0 : subscription.unsubscribe();
23
35
  }));
24
36
  }
25
37
  async sendCommand(params) {
@@ -27,7 +39,7 @@ export class ControlService extends BaseStreamService {
27
39
  return stream.sendCommand(params);
28
40
  }
29
41
  sendCommandWithAck(params) {
30
- const subject = new Subject();
42
+ const subject = new rxjs_1.Subject();
31
43
  let subscription;
32
44
  this.createStream()
33
45
  .then((stream) => {
@@ -37,21 +49,52 @@ export class ControlService extends BaseStreamService {
37
49
  this.logger.info('sendCommandWithAck error', e);
38
50
  subject.error(e);
39
51
  });
40
- return subject.asObservable().pipe(finalize(() => {
41
- subscription?.unsubscribe();
52
+ return subject.asObservable().pipe(operators_1.finalize(() => {
53
+ subscription === null || subscription === void 0 ? void 0 : subscription.unsubscribe();
42
54
  }));
43
55
  }
44
56
  async createStream() {
45
- return (await this.createStreamFromConfig(IDENTIFIER_NAME_CONTROL, {
46
- url: this.config.url,
47
- token: this.config.token,
48
- scope: 'default',
49
- options: this.config.options,
50
- port: this.config.port,
51
- insecure: this.config.insecure,
52
- })).stream;
57
+ const scope = 'default';
58
+ const identifier = StreamRegister_1.StreamRegister.getIdentifier(identifier_1.IDENTIFIER_NAME_CONTROL, scope);
59
+ const streamRegister = StreamRegister_1.StreamRegister.getInstance();
60
+ let stream = streamRegister.getStream(identifier);
61
+ if (!stream) {
62
+ stream = this.getStream({
63
+ url: this.config.url,
64
+ token: this.config.token,
65
+ scope,
66
+ options: this.config.options,
67
+ port: this.config.port,
68
+ insecure: this.config.insecure,
69
+ });
70
+ stream.statusStream$.subscribe((msg) => {
71
+ this.status = msg === SubscriberStatusEnum_1.SubscriberStatusEnum.STOPPED || msg === SubscriberStatusEnum_1.SubscriberStatusEnum.ALIVE;
72
+ this.status$.next(msg);
73
+ });
74
+ // don't wait for these promises, they can be init after startup
75
+ await streamRegister.addStream(stream);
76
+ await this.initStream(stream);
77
+ }
78
+ return stream;
79
+ }
80
+ async initStream(stream) {
81
+ // an async callback to set the stream token in case one was not set at startup
82
+ if (!this.config.token) {
83
+ try {
84
+ const authService = RocosStore_1.RocosStore.getSDKInstance(this.config).getAuthService();
85
+ const token = await authService.getToken();
86
+ if (token === null || token === void 0 ? void 0 : token.value) {
87
+ this.config.token = token === null || token === void 0 ? void 0 : token.value;
88
+ stream.setToken(this.config.token);
89
+ }
90
+ }
91
+ catch (e) {
92
+ this.logger.info('Can not retrieve auth token', e);
93
+ }
94
+ }
53
95
  }
54
96
  getStream(config) {
55
- return new ControlStream(config);
97
+ return new ControlStream_1.ControlStream(config);
56
98
  }
57
99
  }
100
+ exports.ControlService = ControlService;
@@ -1,7 +1,11 @@
1
- import { ControlService } from './ControlService';
2
- import { ControlStreamNode } from '../api/streams/control/ControlStreamNode';
3
- export class ControlServiceNode extends ControlService {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ControlServiceNode = void 0;
4
+ const ControlService_1 = require("./ControlService");
5
+ const ControlStreamNode_1 = require("../api/streams/control/ControlStreamNode");
6
+ class ControlServiceNode extends ControlService_1.ControlService {
4
7
  getStream(config) {
5
- return new ControlStreamNode(config);
8
+ return new ControlStreamNode_1.ControlStreamNode(config);
6
9
  }
7
10
  }
11
+ exports.ControlServiceNode = ControlServiceNode;