@dronedeploy/rocos-js-sdk 0.0.1 → 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 (587) hide show
  1. package/IRocosSDK.d.ts +55 -0
  2. package/IRocosSDK.js +6 -0
  3. package/README.md +90 -0
  4. package/RocosSDK.d.ts +138 -0
  5. package/RocosSDK.js +294 -0
  6. package/api/StreamRegister.d.ts +13 -0
  7. package/api/StreamRegister.js +58 -0
  8. package/api/atoms/StreamHeartbeat.d.ts +27 -0
  9. package/api/atoms/StreamHeartbeat.js +115 -0
  10. package/api/streams/caller/CallerStream.d.ts +13 -0
  11. package/api/streams/caller/CallerStream.js +85 -0
  12. package/api/streams/caller/CallerStreamAbstract.d.ts +28 -0
  13. package/api/streams/caller/CallerStreamAbstract.js +99 -0
  14. package/api/streams/caller/CallerStreamNode.d.ts +13 -0
  15. package/api/streams/caller/CallerStreamNode.js +128 -0
  16. package/api/streams/command/CommandStream.d.ts +12 -0
  17. package/api/streams/command/CommandStream.js +68 -0
  18. package/api/streams/command/CommandStreamAbstract.d.ts +24 -0
  19. package/api/streams/command/CommandStreamAbstract.js +72 -0
  20. package/api/streams/command/CommandStreamNode.d.ts +12 -0
  21. package/api/streams/command/CommandStreamNode.js +93 -0
  22. package/api/streams/control/ControlStream.d.ts +14 -0
  23. package/api/streams/control/ControlStream.js +81 -0
  24. package/api/streams/control/ControlStreamAbstract.d.ts +28 -0
  25. package/api/streams/control/ControlStreamAbstract.js +108 -0
  26. package/api/streams/control/ControlStreamNode.d.ts +14 -0
  27. package/api/streams/control/ControlStreamNode.js +98 -0
  28. package/api/streams/fileAccessor/FileAccessorStream.d.ts +10 -0
  29. package/api/streams/fileAccessor/FileAccessorStream.js +74 -0
  30. package/api/streams/fileAccessor/FileAccessorStreamAbstract.d.ts +26 -0
  31. package/api/streams/fileAccessor/FileAccessorStreamAbstract.js +82 -0
  32. package/api/streams/fileAccessor/FileAccessorStreamNode.d.ts +10 -0
  33. package/api/streams/fileAccessor/FileAccessorStreamNode.js +96 -0
  34. package/api/streams/search/SearchStream.d.ts +16 -0
  35. package/api/streams/search/SearchStream.js +120 -0
  36. package/api/streams/search/SearchStreamAbstract.d.ts +30 -0
  37. package/api/streams/search/SearchStreamAbstract.js +74 -0
  38. package/api/streams/search/SearchStreamNode.d.ts +16 -0
  39. package/api/streams/search/SearchStreamNode.js +143 -0
  40. package/api/streams/telemetry/TelemetryStream.d.ts +17 -0
  41. package/api/streams/telemetry/TelemetryStream.js +126 -0
  42. package/api/streams/telemetry/TelemetryStreamAbstract.d.ts +62 -0
  43. package/api/streams/telemetry/TelemetryStreamAbstract.js +421 -0
  44. package/api/streams/telemetry/TelemetryStreamNode.d.ts +21 -0
  45. package/api/streams/telemetry/TelemetryStreamNode.js +195 -0
  46. package/api/streams/webRTCSignalling/WebRTCSignallingStream.d.ts +44 -0
  47. package/api/streams/webRTCSignalling/WebRTCSignallingStream.js +67 -0
  48. package/api/streams/webRTCSignalling/WebRTCSignallingStreamAbstract.d.ts +32 -0
  49. package/api/streams/webRTCSignalling/WebRTCSignallingStreamAbstract.js +65 -0
  50. package/constants/api.d.ts +121 -0
  51. package/constants/api.js +126 -0
  52. package/constants/grpc.d.ts +5 -0
  53. package/constants/grpc.js +8 -0
  54. package/constants/identifier.d.ts +6 -0
  55. package/constants/identifier.js +9 -0
  56. package/constants/timezones.d.ts +2 -0
  57. package/constants/timezones.js +430 -0
  58. package/demo/angular/.editorconfig +16 -0
  59. package/demo/angular/.eslintignore +4 -0
  60. package/demo/angular/.eslintrc.json +50 -0
  61. package/demo/angular/README.md +36 -0
  62. package/demo/angular/angular.json +132 -0
  63. package/demo/angular/karma.conf.js +44 -0
  64. package/demo/angular/package.json +41 -0
  65. package/demo/angular/src/app/app.component.css +0 -0
  66. package/demo/angular/src/app/app.component.html +9 -0
  67. package/demo/angular/src/app/app.component.ts +10 -0
  68. package/demo/angular/src/app/app.module.ts +38 -0
  69. package/demo/angular/src/app/components/assets/assets.component.css +0 -0
  70. package/demo/angular/src/app/components/assets/assets.component.html +29 -0
  71. package/demo/angular/src/app/components/assets/assets.component.ts +107 -0
  72. package/demo/angular/src/app/components/auth/auth.component.css +0 -0
  73. package/demo/angular/src/app/components/auth/auth.component.html +27 -0
  74. package/demo/angular/src/app/components/auth/auth.component.ts +33 -0
  75. package/demo/angular/src/app/components/caller/caller.component.css +0 -0
  76. package/demo/angular/src/app/components/caller/caller.component.html +22 -0
  77. package/demo/angular/src/app/components/caller/caller.component.ts +61 -0
  78. package/demo/angular/src/app/components/command/command.component.css +0 -0
  79. package/demo/angular/src/app/components/command/command.component.html +22 -0
  80. package/demo/angular/src/app/components/command/command.component.ts +60 -0
  81. package/demo/angular/src/app/components/integrations/integrations.component.ts +43 -0
  82. package/demo/angular/src/app/components/robots/robots.component.css +0 -0
  83. package/demo/angular/src/app/components/robots/robots.component.html +13 -0
  84. package/demo/angular/src/app/components/robots/robots.component.ts +26 -0
  85. package/demo/angular/src/app/components/sdk/sdk.component.css +0 -0
  86. package/demo/angular/src/app/components/sdk/sdk.component.html +43 -0
  87. package/demo/angular/src/app/components/sdk/sdk.component.ts +50 -0
  88. package/demo/angular/src/app/components/subscription/subscription.component.css +0 -0
  89. package/demo/angular/src/app/components/subscription/subscription.component.html +6 -0
  90. package/demo/angular/src/app/components/subscription/subscription.component.ts +40 -0
  91. package/demo/angular/src/app/components/telemetry/telemetry.component.css +0 -0
  92. package/demo/angular/src/app/components/telemetry/telemetry.component.html +19 -0
  93. package/demo/angular/src/app/components/telemetry/telemetry.component.ts +61 -0
  94. package/demo/angular/src/app/components/token/token.component.css +0 -0
  95. package/demo/angular/src/app/components/token/token.component.html +10 -0
  96. package/demo/angular/src/app/components/token/token.component.ts +18 -0
  97. package/demo/angular/src/app/components/video/p2pvideo/index.ts +646 -0
  98. package/demo/angular/src/app/components/video/video-source.ts +315 -0
  99. package/demo/angular/src/app/components/video/video.component.css +6 -0
  100. package/demo/angular/src/app/components/video/video.component.html +54 -0
  101. package/demo/angular/src/app/components/video/video.component.ts +151 -0
  102. package/demo/angular/src/app/services/sdk.service.ts +193 -0
  103. package/demo/angular/src/assets/.gitkeep +0 -0
  104. package/demo/angular/src/assets/HKGrotesk-Bold.otf +0 -0
  105. package/demo/angular/src/assets/HKGrotesk-Regular.otf +0 -0
  106. package/demo/angular/src/assets/logo.svg +16 -0
  107. package/demo/angular/src/environments/environment.prod.ts +3 -0
  108. package/demo/angular/src/environments/environment.ts +16 -0
  109. package/demo/angular/src/favicon.ico +0 -0
  110. package/demo/angular/src/index.html +15 -0
  111. package/demo/angular/src/main.ts +7 -0
  112. package/demo/angular/src/polyfills.ts +53 -0
  113. package/demo/angular/src/styles.css +198 -0
  114. package/demo/angular/tsconfig.app.json +15 -0
  115. package/demo/angular/tsconfig.json +39 -0
  116. package/demo/html/README.md +8 -0
  117. package/demo/html/assets/HKGrotesk-Bold.otf +0 -0
  118. package/demo/html/assets/HKGrotesk-Regular.otf +0 -0
  119. package/demo/html/assets/logo.svg +16 -0
  120. package/demo/html/favicon.ico +0 -0
  121. package/demo/html/index.html +416 -0
  122. package/demo/html/rocos-js-sdk.js +3 -0
  123. package/demo/html/rocos-js-sdk.js.LICENSE.txt +8 -0
  124. package/demo/html/rocos-js-sdk.js.map +1 -0
  125. package/demo/html/styles.css +190 -0
  126. package/demo/node/README.md +17 -0
  127. package/demo/node/index.js +134 -0
  128. package/demo/node/package.json +8 -0
  129. package/demo/react/.env +1 -0
  130. package/demo/react/.env.dist +1 -0
  131. package/demo/react/.eslintrc.json +46 -0
  132. package/demo/react/README.md +65 -0
  133. package/demo/react/package.json +60 -0
  134. package/demo/react/public/favicon.ico +0 -0
  135. package/demo/react/public/index.html +43 -0
  136. package/demo/react/public/logo192.png +0 -0
  137. package/demo/react/public/logo512.png +0 -0
  138. package/demo/react/public/manifest.json +25 -0
  139. package/demo/react/public/robots.txt +3 -0
  140. package/demo/react/src/App.css +190 -0
  141. package/demo/react/src/App.tsx +31 -0
  142. package/demo/react/src/actions/index.ts +8 -0
  143. package/demo/react/src/actions/sdkActions.ts +62 -0
  144. package/demo/react/src/assets/HKGrotesk-Bold.otf +0 -0
  145. package/demo/react/src/assets/HKGrotesk-Regular.otf +0 -0
  146. package/demo/react/src/assets/logo.svg +16 -0
  147. package/demo/react/src/components/AuthForm.tsx +76 -0
  148. package/demo/react/src/components/CallerBox.tsx +53 -0
  149. package/demo/react/src/components/CallerForm.tsx +98 -0
  150. package/demo/react/src/components/CommandBox.tsx +47 -0
  151. package/demo/react/src/components/CommandForm.tsx +98 -0
  152. package/demo/react/src/components/RobotsForm.tsx +51 -0
  153. package/demo/react/src/components/SubscriptionBox.tsx +55 -0
  154. package/demo/react/src/components/TelemetryForm.tsx +98 -0
  155. package/demo/react/src/components/TokenForm.tsx +39 -0
  156. package/demo/react/src/config.json +14 -0
  157. package/demo/react/src/controllers/RocosSDKController.ts +48 -0
  158. package/demo/react/src/helpers/deepEqual.ts +27 -0
  159. package/demo/react/src/hooks/useInput.ts +29 -0
  160. package/demo/react/src/index.css +11 -0
  161. package/demo/react/src/index.tsx +26 -0
  162. package/demo/react/src/react-app-env.d.ts +1 -0
  163. package/demo/react/src/reducers/sdkReducer.ts +133 -0
  164. package/demo/react/src/reportWebVitals.ts +15 -0
  165. package/demo/react/src/selectors/sdkSelector.ts +11 -0
  166. package/demo/react/src/setupTests.ts +5 -0
  167. package/demo/react/src/store.ts +14 -0
  168. package/demo/react/tsconfig.json +26 -0
  169. package/demo/sdk-sizer/dist/sdk-sizer/3rdpartylicenses.txt +975 -0
  170. package/demo/sdk-sizer/dist/sdk-sizer/favicon.ico +0 -0
  171. package/demo/sdk-sizer/dist/sdk-sizer/index.html +12 -0
  172. package/demo/sdk-sizer/dist/sdk-sizer/main.c9183649ce1856ef.js +2 -0
  173. package/demo/sdk-sizer/dist/sdk-sizer/main.c9183649ce1856ef.js.map +1 -0
  174. package/demo/sdk-sizer/dist/sdk-sizer/polyfills.701c8e5d007909aa.js +2 -0
  175. package/demo/sdk-sizer/dist/sdk-sizer/polyfills.701c8e5d007909aa.js.map +1 -0
  176. package/demo/sdk-sizer/dist/sdk-sizer/runtime.00e20e689f5284a8.js +2 -0
  177. package/demo/sdk-sizer/dist/sdk-sizer/runtime.00e20e689f5284a8.js.map +1 -0
  178. package/demo/sdk-sizer/dist/sdk-sizer/stats.json +1 -0
  179. package/demo/sdk-sizer/dist/sdk-sizer/styles.b45f7e627ac8cbce.css +2 -0
  180. package/demo/sdk-sizer/dist/sdk-sizer/styles.b45f7e627ac8cbce.css.map +1 -0
  181. package/grpc/file-accessor/filagree_grpc_pb.d.ts +41 -0
  182. package/grpc/file-accessor/filagree_grpc_pb.js +121 -0
  183. package/grpc/file-accessor/filagree_pb.d.ts +339 -0
  184. package/grpc/file-accessor/filagree_pb.js +2261 -0
  185. package/grpc/file-accessor/filagree_pb_service.d.ts +115 -0
  186. package/grpc/file-accessor/filagree_pb_service.js +257 -0
  187. package/grpc/rambo/rambo.v1_grpc_pb.d.ts +39 -0
  188. package/grpc/rambo/rambo.v1_grpc_pb.js +73 -0
  189. package/grpc/rambo/rambo.v1_pb.d.ts +365 -0
  190. package/grpc/rambo/rambo.v1_pb.js +2469 -0
  191. package/grpc/rambo/rambo.v1_pb_service.d.ts +76 -0
  192. package/grpc/rambo/rambo.v1_pb_service.js +138 -0
  193. package/grpc/rambo/uri.v1_grpc_pb.d.ts +1 -0
  194. package/grpc/rambo/uri.v1_grpc_pb.js +1 -0
  195. package/grpc/rambo/uri.v1_pb.d.ts +80 -0
  196. package/grpc/rambo/uri.v1_pb.js +563 -0
  197. package/grpc/rambo/uri.v1_pb_service.d.ts +3 -0
  198. package/grpc/rambo/uri.v1_pb_service.js +3 -0
  199. package/grpc/robot-control/conker_grpc_pb.d.ts +46 -0
  200. package/grpc/robot-control/conker_grpc_pb.js +143 -0
  201. package/grpc/robot-control/conker_pb.d.ts +168 -0
  202. package/grpc/robot-control/conker_pb.js +1287 -0
  203. package/grpc/robot-control/conker_pb_service.d.ts +126 -0
  204. package/grpc/robot-control/conker_pb_service.js +301 -0
  205. package/grpc/serviette/common.v1_grpc_pb.d.ts +1 -0
  206. package/grpc/serviette/common.v1_grpc_pb.js +1 -0
  207. package/grpc/serviette/common.v1_pb.d.ts +8 -0
  208. package/grpc/serviette/common.v1_pb.js +45 -0
  209. package/grpc/serviette/common.v1_pb_service.d.ts +3 -0
  210. package/grpc/serviette/common.v1_pb_service.js +3 -0
  211. package/grpc/serviette/serviette.v1_grpc_pb.d.ts +137 -0
  212. package/grpc/serviette/serviette.v1_grpc_pb.js +331 -0
  213. package/grpc/serviette/serviette.v1_pb.d.ts +884 -0
  214. package/grpc/serviette/serviette.v1_pb.js +6363 -0
  215. package/grpc/serviette/serviette.v1_pb_service.d.ts +278 -0
  216. package/grpc/serviette/serviette.v1_pb_service.js +699 -0
  217. package/grpc/serviette/uri.v1_grpc_pb.d.ts +1 -0
  218. package/grpc/serviette/uri.v1_grpc_pb.js +1 -0
  219. package/grpc/serviette/uri.v1_pb.d.ts +102 -0
  220. package/grpc/serviette/uri.v1_pb.js +741 -0
  221. package/grpc/serviette/uri.v1_pb_service.d.ts +3 -0
  222. package/grpc/serviette/uri.v1_pb_service.js +3 -0
  223. package/grpc/slowlane/slowlane_grpc_pb.d.ts +38 -0
  224. package/grpc/slowlane/slowlane_grpc_pb.js +132 -0
  225. package/grpc/slowlane/slowlane_pb.d.ts +373 -0
  226. package/grpc/slowlane/slowlane_pb.js +2908 -0
  227. package/grpc/slowlane/slowlane_pb_service.d.ts +112 -0
  228. package/grpc/slowlane/slowlane_pb_service.js +189 -0
  229. package/grpc/teletubby/teletubby_grpc_pb.d.ts +73 -0
  230. package/grpc/teletubby/teletubby_grpc_pb.js +231 -0
  231. package/grpc/teletubby/teletubby_pb.d.ts +647 -0
  232. package/grpc/teletubby/teletubby_pb.js +4786 -0
  233. package/grpc/teletubby/teletubby_pb_service.d.ts +193 -0
  234. package/grpc/teletubby/teletubby_pb_service.js +436 -0
  235. package/grpc/video/pigeon_grpc_pb.d.ts +59 -0
  236. package/grpc/video/pigeon_grpc_pb.js +180 -0
  237. package/grpc/video/pigeon_pb.d.ts +237 -0
  238. package/grpc/video/pigeon_pb.js +1775 -0
  239. package/grpc/video/pigeon_pb_service.d.ts +152 -0
  240. package/grpc/video/pigeon_pb_service.js +292 -0
  241. package/helpers/arrayRemove.d.ts +1 -0
  242. package/helpers/arrayRemove.js +7 -0
  243. package/helpers/arrayUnique.d.ts +1 -0
  244. package/helpers/arrayUnique.js +7 -0
  245. package/helpers/average.d.ts +1 -0
  246. package/helpers/average.js +11 -0
  247. package/helpers/cleanObject.d.ts +1 -0
  248. package/helpers/cleanObject.js +20 -0
  249. package/helpers/enviroment.d.ts +8 -0
  250. package/helpers/enviroment.js +20 -0
  251. package/helpers/flattenCallsignsLookup.d.ts +2 -0
  252. package/helpers/flattenCallsignsLookup.js +10 -0
  253. package/helpers/flattenObject.d.ts +1 -0
  254. package/helpers/flattenObject.js +17 -0
  255. package/helpers/formatServiceUrl.d.ts +1 -0
  256. package/helpers/formatServiceUrl.js +11 -0
  257. package/helpers/generateUUID.d.ts +1 -0
  258. package/helpers/generateUUID.js +8 -0
  259. package/helpers/getSubscriptionsDifference.d.ts +10 -0
  260. package/helpers/getSubscriptionsDifference.js +39 -0
  261. package/helpers/getUniqueConfigKey.d.ts +7 -0
  262. package/helpers/getUniqueConfigKey.js +19 -0
  263. package/helpers/getUniqueId.d.ts +9 -0
  264. package/helpers/getUniqueId.js +15 -0
  265. package/helpers/getUnixTimeMs.d.ts +1 -0
  266. package/helpers/getUnixTimeMs.js +8 -0
  267. package/helpers/index.d.ts +3 -0
  268. package/helpers/index.js +15 -0
  269. package/helpers/nanosecondToMillisecond.d.ts +1 -0
  270. package/helpers/nanosecondToMillisecond.js +7 -0
  271. package/helpers/randomString.d.ts +1 -0
  272. package/helpers/randomString.js +7 -0
  273. package/helpers/standardDeviation.d.ts +1 -0
  274. package/helpers/standardDeviation.js +16 -0
  275. package/helpers/stringToUint8Array.d.ts +1 -0
  276. package/helpers/stringToUint8Array.js +14 -0
  277. package/helpers/uint8ArrayToString.d.ts +1 -0
  278. package/helpers/uint8ArrayToString.js +15 -0
  279. package/index.d.ts +7 -0
  280. package/index.js +19 -0
  281. package/logger/RocosLogger.d.ts +7 -0
  282. package/logger/RocosLogger.js +63 -0
  283. package/models/ExportDataQuery.d.ts +8 -0
  284. package/models/ExportDataQuery.js +17 -0
  285. package/models/ExternalProject.d.ts +6 -0
  286. package/models/ExternalProject.js +6 -0
  287. package/models/IBaseService.d.ts +3 -0
  288. package/models/IBaseService.js +2 -0
  289. package/models/IConfigGroup.d.ts +5 -0
  290. package/models/IConfigGroup.js +2 -0
  291. package/models/IDebugLevel.d.ts +2 -0
  292. package/models/IDebugLevel.js +2 -0
  293. package/models/IExportDataQuery.d.ts +9 -0
  294. package/models/IExportDataQuery.js +2 -0
  295. package/models/IFunctionConfig.d.ts +8 -0
  296. package/models/IFunctionConfig.js +2 -0
  297. package/models/IInvitation.d.ts +6 -0
  298. package/models/IInvitation.js +2 -0
  299. package/models/IInvitationExists.d.ts +4 -0
  300. package/models/IInvitationExists.js +2 -0
  301. package/models/IOperation.d.ts +6 -0
  302. package/models/IOperation.js +2 -0
  303. package/models/IPersonalAccessToken.d.ts +16 -0
  304. package/models/IPersonalAccessToken.js +2 -0
  305. package/models/IProject.d.ts +4 -0
  306. package/models/IProject.js +2 -0
  307. package/models/IProjectApplication.d.ts +6 -0
  308. package/models/IProjectApplication.js +2 -0
  309. package/models/IRobot.d.ts +17 -0
  310. package/models/IRobot.js +2 -0
  311. package/models/IRobotConfig.d.ts +8 -0
  312. package/models/IRobotConfig.js +2 -0
  313. package/models/IRobotPlugin.d.ts +3 -0
  314. package/models/IRobotPlugin.js +2 -0
  315. package/models/IRobotTemplate.d.ts +10 -0
  316. package/models/IRobotTemplate.js +2 -0
  317. package/models/IRocosSDKConfig.d.ts +25 -0
  318. package/models/IRocosSDKConfig.js +2 -0
  319. package/models/ISignupParams.d.ts +8 -0
  320. package/models/ISignupParams.js +2 -0
  321. package/models/ISource.d.ts +8 -0
  322. package/models/ISource.js +2 -0
  323. package/models/IStream.d.ts +9 -0
  324. package/models/IStream.js +2 -0
  325. package/models/IStreamConfig.d.ts +9 -0
  326. package/models/IStreamConfig.js +2 -0
  327. package/models/IStreamOptions.d.ts +7 -0
  328. package/models/IStreamOptions.js +2 -0
  329. package/models/IStreamSource.d.ts +8 -0
  330. package/models/IStreamSource.js +2 -0
  331. package/models/ISubscriberStatus.d.ts +5 -0
  332. package/models/ISubscriberStatus.js +2 -0
  333. package/models/ITelemetryStreamConfig.d.ts +7 -0
  334. package/models/ITelemetryStreamConfig.js +2 -0
  335. package/models/IToken.d.ts +5 -0
  336. package/models/IToken.js +2 -0
  337. package/models/IWidget.d.ts +25 -0
  338. package/models/IWidget.js +2 -0
  339. package/models/IWidgetLineGroup.d.ts +8 -0
  340. package/models/IWidgetLineGroup.js +2 -0
  341. package/models/ResponseLevelEnum.d.ts +6 -0
  342. package/models/ResponseLevelEnum.js +10 -0
  343. package/models/Robot.d.ts +19 -0
  344. package/models/Robot.js +12 -0
  345. package/models/RobotConfig.d.ts +10 -0
  346. package/models/RobotConfig.js +9 -0
  347. package/models/RobotPlugin.d.ts +5 -0
  348. package/models/RobotPlugin.js +9 -0
  349. package/models/RobotTemplate.d.ts +12 -0
  350. package/models/RobotTemplate.js +30 -0
  351. package/models/RocosError.d.ts +30 -0
  352. package/models/RocosError.js +43 -0
  353. package/models/ServiceEnum.d.ts +26 -0
  354. package/models/ServiceEnum.js +30 -0
  355. package/models/Stream.d.ts +10 -0
  356. package/models/Stream.js +15 -0
  357. package/models/StreamOptions.d.ts +9 -0
  358. package/models/StreamOptions.js +37 -0
  359. package/models/StreamSource.d.ts +10 -0
  360. package/models/StreamSource.js +15 -0
  361. package/models/SubscriberStatusEnum.d.ts +6 -0
  362. package/models/SubscriberStatusEnum.js +10 -0
  363. package/models/Token.d.ts +8 -0
  364. package/models/Token.js +15 -0
  365. package/models/Widget.d.ts +27 -0
  366. package/models/Widget.js +16 -0
  367. package/models/WidgetLineGroup.d.ts +10 -0
  368. package/models/WidgetLineGroup.js +9 -0
  369. package/models/asset-storage/AssetModelItem.d.ts +29 -0
  370. package/models/asset-storage/AssetModelItem.js +2 -0
  371. package/models/caller/IRocosCallerMessageChunk.d.ts +9 -0
  372. package/models/caller/IRocosCallerMessageChunk.js +2 -0
  373. package/models/caller/IRocosCallerMessageChunks.d.ts +5 -0
  374. package/models/caller/IRocosCallerMessageChunks.js +2 -0
  375. package/models/caller/IRocosCallerMessageHeartbeat.d.ts +2 -0
  376. package/models/caller/IRocosCallerMessageHeartbeat.js +2 -0
  377. package/models/caller/IRocosCallerMessageResponse.d.ts +9 -0
  378. package/models/caller/IRocosCallerMessageResponse.js +2 -0
  379. package/models/caller/IRocosCallerMessageResponseAck.d.ts +2 -0
  380. package/models/caller/IRocosCallerMessageResponseAck.js +2 -0
  381. package/models/caller/IRocosCallerMessageResponseResult.d.ts +2 -0
  382. package/models/caller/IRocosCallerMessageResponseResult.js +2 -0
  383. package/models/caller/IRocosCallerMessageResponseUid.d.ts +2 -0
  384. package/models/caller/IRocosCallerMessageResponseUid.js +2 -0
  385. package/models/caller/IRocosCallerMessageResponses.d.ts +5 -0
  386. package/models/caller/IRocosCallerMessageResponses.js +2 -0
  387. package/models/caller/RocosCallerResultStatus.d.ts +1 -0
  388. package/models/caller/RocosCallerResultStatus.js +5 -0
  389. package/models/callsigns/CallsignsEnums.d.ts +13 -0
  390. package/models/callsigns/CallsignsEnums.js +20 -0
  391. package/models/callsigns/CallsignsLookup.d.ts +8 -0
  392. package/models/callsigns/CallsignsLookup.js +33 -0
  393. package/models/callsigns/CallsignsQuery.d.ts +9 -0
  394. package/models/callsigns/CallsignsQuery.js +18 -0
  395. package/models/callsigns/CallsignsQueryPredicate.d.ts +9 -0
  396. package/models/callsigns/CallsignsQueryPredicate.js +19 -0
  397. package/models/command/IRocosCommandMessageHeartbeat.d.ts +2 -0
  398. package/models/command/IRocosCommandMessageHeartbeat.js +2 -0
  399. package/models/command/IRocosCommandMessageResponse.d.ts +2 -0
  400. package/models/command/IRocosCommandMessageResponse.js +2 -0
  401. package/models/command/RocosCommandResultStatus.d.ts +1 -0
  402. package/models/command/RocosCommandResultStatus.js +5 -0
  403. package/models/file/FileEnums.d.ts +30 -0
  404. package/models/file/FileEnums.js +36 -0
  405. package/models/index.d.ts +101 -0
  406. package/models/index.js +113 -0
  407. package/models/integrations/Overlay.d.ts +49 -0
  408. package/models/integrations/Overlay.js +2 -0
  409. package/models/integrations/Plan.d.ts +324 -0
  410. package/models/integrations/Plan.js +2 -0
  411. package/models/maps/Map.d.ts +12 -0
  412. package/models/maps/Map.js +2 -0
  413. package/models/message/IRocosCallerMessage.d.ts +8 -0
  414. package/models/message/IRocosCallerMessage.js +2 -0
  415. package/models/message/IRocosChangeMessage.d.ts +6 -0
  416. package/models/message/IRocosChangeMessage.js +2 -0
  417. package/models/message/IRocosCommandMessage.d.ts +6 -0
  418. package/models/message/IRocosCommandMessage.js +2 -0
  419. package/models/message/IRocosControlMessage.d.ts +7 -0
  420. package/models/message/IRocosControlMessage.js +2 -0
  421. package/models/message/IRocosOpResultMessage.d.ts +6 -0
  422. package/models/message/IRocosOpResultMessage.js +2 -0
  423. package/models/message/IRocosSearchMessage.d.ts +5 -0
  424. package/models/message/IRocosSearchMessage.js +2 -0
  425. package/models/message/IRocosSearchRowMessage.d.ts +9 -0
  426. package/models/message/IRocosSearchRowMessage.js +2 -0
  427. package/models/message/IRocosSearchStatusMessage.d.ts +4 -0
  428. package/models/message/IRocosSearchStatusMessage.js +2 -0
  429. package/models/message/IRocosTelemetryMessage.d.ts +18 -0
  430. package/models/message/IRocosTelemetryMessage.js +2 -0
  431. package/models/message/IStreamStatusMessage.d.ts +5 -0
  432. package/models/message/IStreamStatusMessage.js +2 -0
  433. package/models/message/RocosCallerMessage.d.ts +12 -0
  434. package/models/message/RocosCallerMessage.js +23 -0
  435. package/models/message/RocosCommandMessage.d.ts +10 -0
  436. package/models/message/RocosCommandMessage.js +16 -0
  437. package/models/message/RocosControlMessage.d.ts +11 -0
  438. package/models/message/RocosControlMessage.js +18 -0
  439. package/models/message/RocosOpResultMessage.d.ts +9 -0
  440. package/models/message/RocosOpResultMessage.js +22 -0
  441. package/models/message/RocosSearchMessage.d.ts +9 -0
  442. package/models/message/RocosSearchMessage.js +28 -0
  443. package/models/message/RocosSearchRowMessage.d.ts +13 -0
  444. package/models/message/RocosSearchRowMessage.js +20 -0
  445. package/models/message/RocosTelemetryMessage.d.ts +24 -0
  446. package/models/message/RocosTelemetryMessage.js +105 -0
  447. package/models/params/ICallerParams.d.ts +15 -0
  448. package/models/params/ICallerParams.js +2 -0
  449. package/models/params/ICommandParams.d.ts +9 -0
  450. package/models/params/ICommandParams.js +2 -0
  451. package/models/params/IControlParams.d.ts +8 -0
  452. package/models/params/IControlParams.js +2 -0
  453. package/models/params/IFileAccessorParams.d.ts +11 -0
  454. package/models/params/IFileAccessorParams.js +2 -0
  455. package/models/params/ISearchParams.d.ts +10 -0
  456. package/models/params/ISearchParams.js +2 -0
  457. package/models/params/ITelemetryParams.d.ts +18 -0
  458. package/models/params/ITelemetryParams.js +2 -0
  459. package/models/params/IWebRTCSignallingParams.d.ts +21 -0
  460. package/models/params/IWebRTCSignallingParams.js +2 -0
  461. package/models/projects/ProjectUser.d.ts +6 -0
  462. package/models/projects/ProjectUser.js +2 -0
  463. package/models/schedule/IScheduleAction.d.ts +13 -0
  464. package/models/schedule/IScheduleAction.js +9 -0
  465. package/models/schedule/IScheduleInfo.d.ts +11 -0
  466. package/models/schedule/IScheduleInfo.js +2 -0
  467. package/models/schedule/IScheduleJob.d.ts +12 -0
  468. package/models/schedule/IScheduleJob.js +2 -0
  469. package/models/search/SearchQueryFilter.d.ts +5 -0
  470. package/models/search/SearchQueryFilter.js +9 -0
  471. package/models/search/SearchStreamQuery.d.ts +15 -0
  472. package/models/search/SearchStreamQuery.js +10 -0
  473. package/models/stream/IBaseStream.d.ts +8 -0
  474. package/models/stream/IBaseStream.js +2 -0
  475. package/models/stream/ICallerStream.d.ts +8 -0
  476. package/models/stream/ICallerStream.js +2 -0
  477. package/models/stream/ICommandStream.d.ts +7 -0
  478. package/models/stream/ICommandStream.js +2 -0
  479. package/models/stream/IControlStream.d.ts +9 -0
  480. package/models/stream/IControlStream.js +2 -0
  481. package/models/stream/IFileAccessorStream.d.ts +10 -0
  482. package/models/stream/IFileAccessorStream.js +2 -0
  483. package/models/stream/ISearchStream.d.ts +11 -0
  484. package/models/stream/ISearchStream.js +2 -0
  485. package/models/stream/ITelemetryStream.d.ts +10 -0
  486. package/models/stream/ITelemetryStream.js +2 -0
  487. package/models/stream/IWebRTCSignallingStream.d.ts +41 -0
  488. package/models/stream/IWebRTCSignallingStream.js +7 -0
  489. package/models/types.d.ts +5 -0
  490. package/models/types.js +2 -0
  491. package/node/RocosSDKNode.d.ts +42 -0
  492. package/node/RocosSDKNode.js +148 -0
  493. package/node/index.d.ts +7 -0
  494. package/node/index.js +19 -0
  495. package/package.json +25 -6
  496. package/services/AssetStorageService.d.ts +92 -0
  497. package/services/AssetStorageService.js +153 -0
  498. package/services/AuthService.d.ts +61 -0
  499. package/services/AuthService.js +154 -0
  500. package/services/BaseServiceAbstract.d.ts +38 -0
  501. package/services/BaseServiceAbstract.js +103 -0
  502. package/services/CallerService.d.ts +22 -0
  503. package/services/CallerService.js +96 -0
  504. package/services/CallerServiceNode.d.ts +6 -0
  505. package/services/CallerServiceNode.js +11 -0
  506. package/services/CommandService.d.ts +21 -0
  507. package/services/CommandService.js +81 -0
  508. package/services/CommandServiceNode.d.ts +6 -0
  509. package/services/CommandServiceNode.js +11 -0
  510. package/services/ConfigGroupService.d.ts +89 -0
  511. package/services/ConfigGroupService.js +157 -0
  512. package/services/ControlService.d.ts +23 -0
  513. package/services/ControlService.js +100 -0
  514. package/services/ControlServiceNode.d.ts +6 -0
  515. package/services/ControlServiceNode.js +11 -0
  516. package/services/DashboardService.d.ts +97 -0
  517. package/services/DashboardService.js +146 -0
  518. package/services/EventService.d.ts +53 -0
  519. package/services/EventService.js +89 -0
  520. package/services/FileAccessorService.d.ts +25 -0
  521. package/services/FileAccessorService.js +85 -0
  522. package/services/FileAccessorServiceNode.d.ts +6 -0
  523. package/services/FileAccessorServiceNode.js +11 -0
  524. package/services/FunctionService.d.ts +68 -0
  525. package/services/FunctionService.js +103 -0
  526. package/services/IntegrationService.d.ts +48 -0
  527. package/services/IntegrationService.js +77 -0
  528. package/services/MapService.d.ts +96 -0
  529. package/services/MapService.js +119 -0
  530. package/services/PlatformTimeService.d.ts +35 -0
  531. package/services/PlatformTimeService.js +160 -0
  532. package/services/ProfileService.d.ts +244 -0
  533. package/services/ProfileService.js +366 -0
  534. package/services/ProjectService.d.ts +110 -0
  535. package/services/ProjectService.js +164 -0
  536. package/services/RobotService.d.ts +282 -0
  537. package/services/RobotService.js +467 -0
  538. package/services/ScheduleService.d.ts +22 -0
  539. package/services/ScheduleService.js +40 -0
  540. package/services/SearchService.d.ts +25 -0
  541. package/services/SearchService.js +93 -0
  542. package/services/SearchServiceNode.d.ts +6 -0
  543. package/services/SearchServiceNode.js +11 -0
  544. package/services/SpotProvisioningService.d.ts +14 -0
  545. package/services/SpotProvisioningService.js +43 -0
  546. package/services/SpotProvisioningServiceNode.d.ts +15 -0
  547. package/services/SpotProvisioningServiceNode.js +43 -0
  548. package/services/StreamService.d.ts +98 -0
  549. package/services/StreamService.js +146 -0
  550. package/services/TelemetryService.d.ts +43 -0
  551. package/services/TelemetryService.js +144 -0
  552. package/services/TelemetryServiceNode.d.ts +6 -0
  553. package/services/TelemetryServiceNode.js +11 -0
  554. package/services/TimeSyncerService.d.ts +13 -0
  555. package/services/TimeSyncerService.js +27 -0
  556. package/services/UserService.d.ts +200 -0
  557. package/services/UserService.js +319 -0
  558. package/services/WebRTCSignallingService.d.ts +22 -0
  559. package/services/WebRTCSignallingService.js +81 -0
  560. package/services/WorkflowService.d.ts +71 -0
  561. package/services/WorkflowService.js +122 -0
  562. package/services/index.d.ts +26 -0
  563. package/services/index.js +38 -0
  564. package/store/RocosStore.d.ts +31 -0
  565. package/store/RocosStore.js +53 -0
  566. package/utils/axisangle.d.ts +18 -0
  567. package/utils/axisangle.js +48 -0
  568. package/utils/eulerangles.d.ts +22 -0
  569. package/utils/eulerangles.js +133 -0
  570. package/utils/helperfunctions.d.ts +5 -0
  571. package/utils/helperfunctions.js +50 -0
  572. package/utils/localtransform.d.ts +17 -0
  573. package/utils/localtransform.js +50 -0
  574. package/utils/localtransformtree.d.ts +17 -0
  575. package/utils/localtransformtree.js +88 -0
  576. package/utils/misc.d.ts +17 -0
  577. package/utils/misc.js +23 -0
  578. package/utils/positionvector.d.ts +13 -0
  579. package/utils/positionvector.js +79 -0
  580. package/utils/quaternion.d.ts +20 -0
  581. package/utils/quaternion.js +62 -0
  582. package/utils/rotationmatrix.d.ts +23 -0
  583. package/utils/rotationmatrix.js +262 -0
  584. package/utils/transformationmatrix.d.ts +12 -0
  585. package/utils/transformationmatrix.js +123 -0
  586. package/utils/vector3.d.ts +11 -0
  587. package/utils/vector3.js +61 -0
@@ -0,0 +1,14 @@
1
+ import { IBaseService, IRocosSDKConfig, RocosError } from '../models';
2
+ import { BaseServiceAbstract } from './BaseServiceAbstract';
3
+ import { Timezone } from '../constants/timezones';
4
+ declare type SpotImageTag = 'stable' | 'dev' | 'unstable';
5
+ export declare class SpotProvisioningService extends BaseServiceAbstract implements IBaseService {
6
+ constructor(config: IRocosSDKConfig);
7
+ getStatus(): boolean;
8
+ protected getError(e: Error): RocosError;
9
+ getSpotCoreImage(projectId: string, profileId: string, robot: {
10
+ callsign: string;
11
+ name: string;
12
+ }, tag?: SpotImageTag, patMetadata?: Record<string, unknown>, timezone?: Timezone): Promise<Blob>;
13
+ }
14
+ export {};
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SpotProvisioningService = void 0;
4
+ const models_1 = require("../models");
5
+ const api_1 = require("../constants/api");
6
+ const BaseServiceAbstract_1 = require("./BaseServiceAbstract");
7
+ const RocosLogger_1 = require("../logger/RocosLogger");
8
+ const RocosStore_1 = require("../store/RocosStore");
9
+ const formatServiceUrl_1 = require("../helpers/formatServiceUrl");
10
+ class SpotProvisioningService extends BaseServiceAbstract_1.BaseServiceAbstract {
11
+ constructor(config) {
12
+ super(config);
13
+ this.logger = RocosLogger_1.RocosLogger.getInstance(`SpotService(${this.config.url})`);
14
+ }
15
+ getStatus() {
16
+ return true;
17
+ }
18
+ getError(e) {
19
+ return new models_1.RocosError(e, models_1.errorCodes.SPOT_SERVICE_ERROR);
20
+ }
21
+ async getSpotCoreImage(projectId, profileId, robot, tag = 'stable', patMetadata, timezone) {
22
+ const userService = RocosStore_1.RocosStore.getSDKInstance(this.config).getUserService();
23
+ const pat = await userService.createPAT({
24
+ name: `Spot provisioning token for ${robot.callsign}`,
25
+ projectId,
26
+ scope: ['provisioning'],
27
+ robotDefinitionId: profileId,
28
+ metaData: Object.assign({ singleUse: true, defaultRobotDefinitionId: profileId }, patMetadata),
29
+ ttlDays: 90,
30
+ });
31
+ return this.callPost(formatServiceUrl_1.formatServiceUrl(api_1.API_SPOTTY_URL, { url: this.config.url }, this.config.insecure), {
32
+ pat: pat.pat,
33
+ callsign: robot.callsign,
34
+ robotName: robot.name,
35
+ project: projectId,
36
+ agentImageTag: tag,
37
+ timezone,
38
+ }, 'Failed to get image.', {
39
+ responseType: 'blob',
40
+ });
41
+ }
42
+ }
43
+ exports.SpotProvisioningService = SpotProvisioningService;
@@ -0,0 +1,15 @@
1
+ /// <reference types="node" />
2
+ import { IBaseService, IRocosSDKConfig, RocosError } from '../models';
3
+ import { BaseServiceAbstract } from './BaseServiceAbstract';
4
+ import { Timezone } from '../constants/timezones';
5
+ declare type SpotImageTag = 'stable' | 'dev' | 'unstable';
6
+ export declare class SpotProvisioningServiceNode extends BaseServiceAbstract implements IBaseService {
7
+ constructor(config: IRocosSDKConfig);
8
+ getStatus(): boolean;
9
+ protected getError(e: Error): RocosError;
10
+ getSpotCoreImage(projectId: string, profileId: string, robot: {
11
+ callsign: string;
12
+ name: string;
13
+ }, tag?: SpotImageTag, patMetadata?: Record<string, unknown>, timezone?: Timezone): Promise<NodeJS.ReadableStream>;
14
+ }
15
+ export {};
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SpotProvisioningServiceNode = void 0;
4
+ const models_1 = require("../models");
5
+ const api_1 = require("../constants/api");
6
+ const BaseServiceAbstract_1 = require("./BaseServiceAbstract");
7
+ const RocosLogger_1 = require("../logger/RocosLogger");
8
+ const RocosStore_1 = require("../store/RocosStore");
9
+ const formatServiceUrl_1 = require("../helpers/formatServiceUrl");
10
+ class SpotProvisioningServiceNode extends BaseServiceAbstract_1.BaseServiceAbstract {
11
+ constructor(config) {
12
+ super(config);
13
+ this.logger = RocosLogger_1.RocosLogger.getInstance(`SpotService(${this.config.url})`);
14
+ }
15
+ getStatus() {
16
+ return true;
17
+ }
18
+ getError(e) {
19
+ return new models_1.RocosError(e, models_1.errorCodes.SPOT_SERVICE_ERROR);
20
+ }
21
+ async getSpotCoreImage(projectId, profileId, robot, tag = 'stable', patMetadata, timezone) {
22
+ const userService = RocosStore_1.RocosStore.getSDKInstance(this.config).getUserService();
23
+ const pat = await userService.createPAT({
24
+ name: `Spot provisioning token for ${robot.callsign}`,
25
+ projectId,
26
+ scope: ['provisioning'],
27
+ robotDefinitionId: profileId,
28
+ metaData: Object.assign({ defaultRobotDefinitionId: profileId, singleUse: true }, patMetadata),
29
+ ttlDays: 90,
30
+ });
31
+ return this.callPost(formatServiceUrl_1.formatServiceUrl(api_1.API_SPOTTY_URL, { url: this.config.url }, this.config.insecure), {
32
+ pat: pat.pat,
33
+ callsign: robot.callsign,
34
+ robotName: robot.name,
35
+ project: projectId,
36
+ agentImageTag: tag,
37
+ timezone,
38
+ }, 'Failed to get image.', {
39
+ responseType: 'stream',
40
+ });
41
+ }
42
+ }
43
+ exports.SpotProvisioningServiceNode = SpotProvisioningServiceNode;
@@ -0,0 +1,98 @@
1
+ import { RocosError } from '../models/RocosError';
2
+ import { BaseServiceAbstract } from './BaseServiceAbstract';
3
+ import { IBaseService } from '../models/IBaseService';
4
+ import { IRocosSDKConfig } from '../models/IRocosSDKConfig';
5
+ import { ISource } from '../models/ISource';
6
+ import { IStream } from '../models/IStream';
7
+ import { IStreamSource } from '../models/IStreamSource';
8
+ export declare class StreamService extends BaseServiceAbstract implements IBaseService {
9
+ constructor(config: IRocosSDKConfig);
10
+ protected getError(e: Error): RocosError;
11
+ getStatus(): boolean;
12
+ /**
13
+ * Create a new stream.
14
+ *
15
+ * @param projectId - Project Id
16
+ * @param stream - Stream object
17
+ */
18
+ create(projectId: string, stream: IStream): Promise<any>;
19
+ /**
20
+ * Get streams list by project id.
21
+ */
22
+ list(projectId: string): Promise<IStream[]>;
23
+ /**
24
+ * Get stream information by project id and stream id.
25
+ *
26
+ * @param projectId - Project Id
27
+ * @param streamId - Stream Id
28
+ */
29
+ info(projectId: string, streamId: string): Promise<IStream>;
30
+ /**
31
+ * Add new data to the stream
32
+ *
33
+ * @param projectId - Project Id
34
+ * @param streamId - Stream Id
35
+ * @param sources - Payload {@link IStreamSource[]}
36
+ */
37
+ addData(projectId: string, streamId: string, sources: IStreamSource[]): Promise<any>;
38
+ /**
39
+ * Get sources for stream.
40
+ */
41
+ sources(): Promise<ISource[]>;
42
+ /**
43
+ * Get source info
44
+ *
45
+ * @param sourceId - Source Id
46
+ */
47
+ sourceInfo(sourceId: string): Promise<ISource>;
48
+ /**
49
+ * Get streams list of robot
50
+ *
51
+ * @param projectId - Project Id
52
+ * @param callsign - Robot's Callsign
53
+ */
54
+ streamsForRobot(projectId: string, callsign: string): Promise<IStream[]>;
55
+ /**
56
+ * Bind robot with stream
57
+ *
58
+ * @param projectId - Project Id
59
+ * @param streamId - Steam Id
60
+ * @param callsigns - The Robots' callsigns which should bind with stream
61
+ */
62
+ bindRobot(projectId: string, streamId: string, callsigns: string[]): Promise<any>;
63
+ /**
64
+ * Unbind robot with stream
65
+ *
66
+ * @param projectId - Project Id
67
+ * @param streamId - Steam Id
68
+ * @param callsigns - The Robots' callsigns which should unbind with stream
69
+ */
70
+ unbindRobot(projectId: string, streamId: string, callsigns: string[]): Promise<any>;
71
+ /**
72
+ * Remove streams by list
73
+ *
74
+ * @param projectId - Project Id
75
+ * @param streamIds - Stream Ids
76
+ */
77
+ removeStreams(projectId: string, streamIds: string[]): Promise<any>;
78
+ /**
79
+ * Remove stream data by dataIds list
80
+ *
81
+ * @param projectId - Project Id
82
+ * @param streamId - Stream Id
83
+ * @param dataIds - Data Ids, e.g. {sourceId: string, dataId: string}
84
+ */
85
+ removeStreamData(projectId: string, streamId: string, dataIds: any[]): Promise<any>;
86
+ /**
87
+ * Remove stream data by ids list
88
+ *
89
+ * @param projectId - Project Id
90
+ * @param streamId - Stream Id
91
+ * @param ids - ids list (string[])
92
+ */
93
+ removeStreamDataByIds(projectId: string, streamId: string, ids: string[]): Promise<any>;
94
+ /**
95
+ * Get stream data exporter templates list
96
+ */
97
+ dataExporterTemplates(): Promise<any>;
98
+ }
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StreamService = 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 Stream_1 = require("../models/Stream");
9
+ const StreamSource_1 = require("../models/StreamSource");
10
+ const cleanObject_1 = require("../helpers/cleanObject");
11
+ const formatServiceUrl_1 = require("../helpers/formatServiceUrl");
12
+ class StreamService extends BaseServiceAbstract_1.BaseServiceAbstract {
13
+ constructor(config) {
14
+ super(config);
15
+ this.logger = RocosLogger_1.RocosLogger.getInstance(`StreamService(${this.config.url})`);
16
+ }
17
+ getError(e) {
18
+ return new RocosError_1.RocosError(e, RocosError_1.errorCodes.STREAM_SERVICE_ERROR);
19
+ }
20
+ getStatus() {
21
+ return true;
22
+ }
23
+ /**
24
+ * Create a new stream.
25
+ *
26
+ * @param projectId - Project Id
27
+ * @param stream - Stream object
28
+ */
29
+ // TODO: map the response object
30
+ async create(projectId, stream) {
31
+ return this.callPost(formatServiceUrl_1.formatServiceUrl(api_1.API_PROJECT_STREAM_URL, { url: this.config.url, projectId }, this.config.insecure), cleanObject_1.cleanObject(new Stream_1.Stream(stream)), `Failed to create stream for ${projectId}.`);
32
+ }
33
+ /**
34
+ * Get streams list by project id.
35
+ */
36
+ async list(projectId) {
37
+ const data = await this.callGet(formatServiceUrl_1.formatServiceUrl(api_1.API_PROJECT_STREAM_URL, { url: this.config.url, projectId }, this.config.insecure), `Failed to get streams for ${projectId}.`);
38
+ return data.map((stream) => cleanObject_1.cleanObject(new Stream_1.Stream(stream)));
39
+ }
40
+ /**
41
+ * Get stream information by project id and stream id.
42
+ *
43
+ * @param projectId - Project Id
44
+ * @param streamId - Stream Id
45
+ */
46
+ async info(projectId, streamId) {
47
+ const data = await this.callGet(formatServiceUrl_1.formatServiceUrl(api_1.API_PROJECT_STREAM_ID_URL, { url: this.config.url, projectId, streamId }, this.config.insecure), `Failed to get stream for ${projectId}, streamId ${streamId}.`);
48
+ return cleanObject_1.cleanObject(new Stream_1.Stream(data));
49
+ }
50
+ /**
51
+ * Add new data to the stream
52
+ *
53
+ * @param projectId - Project Id
54
+ * @param streamId - Stream Id
55
+ * @param sources - Payload {@link IStreamSource[]}
56
+ */
57
+ // TODO: map the response object
58
+ async addData(projectId, streamId, sources) {
59
+ return this.callPut(formatServiceUrl_1.formatServiceUrl(api_1.API_PROJECT_STREAM_DATA_URL, { url: this.config.url, projectId, streamId }, this.config.insecure), { data: sources.map((source) => cleanObject_1.cleanObject(new StreamSource_1.StreamSource(source))) }, `Failed add data to stream for ${projectId}, streamId ${streamId}.`);
60
+ }
61
+ /**
62
+ * Get sources for stream.
63
+ */
64
+ async sources() {
65
+ return this.callGet(formatServiceUrl_1.formatServiceUrl(api_1.API_SOURCE_URL, { url: this.config.url }, this.config.insecure), 'Failed to get sources for stream.');
66
+ }
67
+ /**
68
+ * Get source info
69
+ *
70
+ * @param sourceId - Source Id
71
+ */
72
+ async sourceInfo(sourceId) {
73
+ return this.callGet(formatServiceUrl_1.formatServiceUrl(api_1.API_SOURCE_ID_URL, { url: this.config.url, sourceId }, this.config.insecure), `Failed add et source info for ${sourceId}.`);
74
+ }
75
+ /**
76
+ * Get streams list of robot
77
+ *
78
+ * @param projectId - Project Id
79
+ * @param callsign - Robot's Callsign
80
+ */
81
+ async streamsForRobot(projectId, callsign) {
82
+ return this.callGet(formatServiceUrl_1.formatServiceUrl(api_1.API_PROJECT_CALLSIGN_STREAM_URL, { url: this.config.url, projectId, callsign }, this.config.insecure), `Failed get streams for ${projectId}, callsign ${callsign}.`);
83
+ }
84
+ /**
85
+ * Bind robot with stream
86
+ *
87
+ * @param projectId - Project Id
88
+ * @param streamId - Steam Id
89
+ * @param callsigns - The Robots' callsigns which should bind with stream
90
+ */
91
+ // TODO: map the response object
92
+ async bindRobot(projectId, streamId, callsigns) {
93
+ return this.callPut(formatServiceUrl_1.formatServiceUrl(api_1.API_PROJECT_STREAM_CALLSIGN_URL, { url: this.config.url, projectId, streamId }, this.config.insecure), callsigns, `Failed to bind robot with stream for ${projectId}, streamId ${streamId}.`);
94
+ }
95
+ /**
96
+ * Unbind robot with stream
97
+ *
98
+ * @param projectId - Project Id
99
+ * @param streamId - Steam Id
100
+ * @param callsigns - The Robots' callsigns which should unbind with stream
101
+ */
102
+ // TODO: map the response object
103
+ async unbindRobot(projectId, streamId, callsigns) {
104
+ return this.callDelete(formatServiceUrl_1.formatServiceUrl(api_1.API_PROJECT_STREAM_CALLSIGN_URL, { url: this.config.url, projectId, streamId }, this.config.insecure), `Failed to unbind robot with stream for ${projectId}, streamId ${streamId}.`, callsigns);
105
+ }
106
+ /**
107
+ * Remove streams by list
108
+ *
109
+ * @param projectId - Project Id
110
+ * @param streamIds - Stream Ids
111
+ */
112
+ // TODO: map the response object
113
+ async removeStreams(projectId, streamIds) {
114
+ return this.callDelete(formatServiceUrl_1.formatServiceUrl(api_1.API_PROJECT_STREAM_URL, { url: this.config.url, projectId }, this.config.insecure), `Failed to remove stream for ${projectId}.`, streamIds);
115
+ }
116
+ /**
117
+ * Remove stream data by dataIds list
118
+ *
119
+ * @param projectId - Project Id
120
+ * @param streamId - Stream Id
121
+ * @param dataIds - Data Ids, e.g. {sourceId: string, dataId: string}
122
+ */
123
+ // TODO: map the response object
124
+ async removeStreamData(projectId, streamId, dataIds) {
125
+ return this.callDelete(formatServiceUrl_1.formatServiceUrl(api_1.API_PROJECT_STREAM_DATA_URL, { url: this.config.url, projectId, streamId }, this.config.insecure), `Failed to remove streams for ${projectId}, streamId ${streamId}.`, dataIds);
126
+ }
127
+ /**
128
+ * Remove stream data by ids list
129
+ *
130
+ * @param projectId - Project Id
131
+ * @param streamId - Stream Id
132
+ * @param ids - ids list (string[])
133
+ */
134
+ // TODO: map the response object
135
+ async removeStreamDataByIds(projectId, streamId, ids) {
136
+ return this.callDelete(formatServiceUrl_1.formatServiceUrl(api_1.API_PROJECT_STREAM_DATA_URL, { url: this.config.url, projectId, streamId }, this.config.insecure), `Failed to remove streams for ${projectId}, streamId ${streamId}.`, ids);
137
+ }
138
+ /**
139
+ * Get stream data exporter templates list
140
+ */
141
+ // TODO: map the response object
142
+ async dataExporterTemplates() {
143
+ return this.callGet(formatServiceUrl_1.formatServiceUrl(api_1.API_TEMPLATE_EXPORTER_URL, { url: this.config.url }, this.config.insecure), 'Failed to get data exporters.');
144
+ }
145
+ }
146
+ exports.StreamService = StreamService;
@@ -0,0 +1,43 @@
1
+ import { Observable, Subject } from 'rxjs';
2
+ import { ITelemetrySubscriptionParams, ITelemetrySubscriptions } from '../models/params/ITelemetryParams';
3
+ import { IBaseService } from '../models/IBaseService';
4
+ import { IRocosSDKConfig } from '../models/IRocosSDKConfig';
5
+ import { IRocosTelemetryMessage } from '../models/message/IRocosTelemetryMessage';
6
+ import { IStreamStatusMessage } from '../models/message/IStreamStatusMessage';
7
+ import { ISubscriberStatus } from '../models/ISubscriberStatus';
8
+ import { ITelemetryStream } from '../models/stream/ITelemetryStream';
9
+ import { ITelemetryStreamConfig } from '../models/ITelemetryStreamConfig';
10
+ import { SubscriberStatusEnum } from '../models/SubscriberStatusEnum';
11
+ export declare class TelemetryService implements IBaseService, ISubscriberStatus {
12
+ private config;
13
+ private logger;
14
+ private status;
15
+ private statusSubscription;
16
+ private changeStream$;
17
+ private streamStatusSubject$;
18
+ status$: Subject<SubscriberStatusEnum>;
19
+ constructor(config: IRocosSDKConfig);
20
+ getStatus(): boolean;
21
+ /**
22
+ * The main method for subscribing to telemetry messages
23
+ *
24
+ * @param params - Subscription params
25
+ *
26
+ * @returns An Observable that outputs telemetry messages
27
+ */
28
+ subscribe(params: ITelemetrySubscriptionParams): Observable<IRocosTelemetryMessage>;
29
+ /**
30
+ * A method to keep track of the current subscriptions
31
+ *
32
+ * @returns An Observable that outputs subscription changes
33
+ */
34
+ getSubscriptionChanges(): Observable<ITelemetrySubscriptions>;
35
+ /**
36
+ * A method to keep track of the stream status
37
+ *
38
+ * @returns An Observable that outputs stream status
39
+ */
40
+ getStatusChanges(): Observable<IStreamStatusMessage>;
41
+ private initStream;
42
+ protected getStream(config: ITelemetryStreamConfig): ITelemetryStream;
43
+ }
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TelemetryService = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ const RocosError_1 = require("../models/RocosError");
6
+ const operators_1 = require("rxjs/operators");
7
+ const CallsignsLookup_1 = require("../models/callsigns/CallsignsLookup");
8
+ const CallsignsEnums_1 = require("../models/callsigns/CallsignsEnums");
9
+ const identifier_1 = require("../constants/identifier");
10
+ const RocosLogger_1 = require("../logger/RocosLogger");
11
+ const RocosStore_1 = require("../store/RocosStore");
12
+ const StreamRegister_1 = require("../api/StreamRegister");
13
+ const SubscriberStatusEnum_1 = require("../models/SubscriberStatusEnum");
14
+ const TelemetryStream_1 = require("../api/streams/telemetry/TelemetryStream");
15
+ const arrayUnique_1 = require("../helpers/arrayUnique");
16
+ const getUniqueId_1 = require("../helpers/getUniqueId");
17
+ class TelemetryService {
18
+ constructor(config) {
19
+ this.status = false;
20
+ this.changeStream$ = new rxjs_1.BehaviorSubject(new Map());
21
+ this.status$ = new rxjs_1.Subject();
22
+ this.config = config;
23
+ this.logger = RocosLogger_1.RocosLogger.getInstance(`TelemetryService(${this.config.url})`);
24
+ RocosStore_1.RocosStore.getChangeSubject()
25
+ .pipe(operators_1.filter((message) => {
26
+ return message.type === 'telemetry-subscription' && message.url === this.config.url;
27
+ }))
28
+ .subscribe((msg) => {
29
+ this.changeStream$.next(msg.data);
30
+ });
31
+ this.streamStatusSubject$ = new rxjs_1.BehaviorSubject({
32
+ scope: 'default',
33
+ status: SubscriberStatusEnum_1.SubscriberStatusEnum.STOPPED,
34
+ });
35
+ }
36
+ getStatus() {
37
+ return this.status;
38
+ }
39
+ /**
40
+ * The main method for subscribing to telemetry messages
41
+ *
42
+ * @param params - Subscription params
43
+ *
44
+ * @returns An Observable that outputs telemetry messages
45
+ */
46
+ subscribe(params) {
47
+ var _a, _b;
48
+ const sources = (_a = arrayUnique_1.arrayUnique(params.sources).map((item) => item.trim())) !== null && _a !== void 0 ? _a : [];
49
+ if (!(params === null || params === void 0 ? void 0 : params.callsigns) && (params === null || params === void 0 ? void 0 : params.query)) {
50
+ this.logger.error('Error: params need to contain either callsigns or query', params);
51
+ throw new RocosError_1.RocosError('Params need to contain either callsigns or query.', RocosError_1.errorCodes.TELEMETRY_SERVICE_ERROR);
52
+ }
53
+ let callsignsLookup = new CallsignsLookup_1.CallsignsLookup([]);
54
+ if (params === null || params === void 0 ? void 0 : params.callsigns) {
55
+ this.logger.info('subscribe with callsigns', params);
56
+ callsignsLookup = new CallsignsLookup_1.CallsignsLookup(params.callsigns);
57
+ }
58
+ else if (params === null || params === void 0 ? void 0 : params.query) {
59
+ this.logger.info('subscribe with query', params);
60
+ callsignsLookup = new CallsignsLookup_1.CallsignsLookup(params.query);
61
+ }
62
+ const scope = (_b = params.scope) !== null && _b !== void 0 ? _b : 'default';
63
+ const identifier = StreamRegister_1.StreamRegister.getIdentifier(identifier_1.IDENTIFIER_NAME_TELEMETRY, scope);
64
+ const streamRegister = StreamRegister_1.StreamRegister.getInstance();
65
+ let stream = streamRegister.getStream(identifier);
66
+ if (!stream) {
67
+ stream = this.getStream({
68
+ url: this.config.url,
69
+ projectId: params.projectId,
70
+ callsignsLookup,
71
+ sources,
72
+ token: this.config.token,
73
+ scope,
74
+ options: this.config.options,
75
+ port: this.config.port,
76
+ insecure: this.config.insecure,
77
+ });
78
+ // don't wait for these promises, they can be init after startup
79
+ void streamRegister.addStream(stream);
80
+ void this.initStream(stream);
81
+ stream.statusStream$.subscribe((msg) => {
82
+ this.streamStatusSubject$.next({
83
+ scope,
84
+ status: msg,
85
+ });
86
+ });
87
+ }
88
+ const subscriptionParams = {
89
+ uniqueId: getUniqueId_1.getUniqueId(params.projectId, callsignsLookup, sources, scope),
90
+ callsigns: callsignsLookup && callsignsLookup.lookupType === CallsignsEnums_1.CallsignsLookupType.List
91
+ ? callsignsLookup.lookupValue
92
+ : [],
93
+ sources,
94
+ };
95
+ stream.addSubscription(subscriptionParams);
96
+ const callsigns = callsignsLookup.lookupValue;
97
+ if (!this.statusSubscription) {
98
+ this.statusSubscription = stream.statusStream$.subscribe((msg) => {
99
+ this.status = msg === SubscriberStatusEnum_1.SubscriberStatusEnum.STOPPED || msg === SubscriberStatusEnum_1.SubscriberStatusEnum.ALIVE;
100
+ this.status$.next(msg);
101
+ });
102
+ }
103
+ return rxjs_1.from(stream.messageStream$).pipe(operators_1.filter((message) => {
104
+ return callsigns.includes(message.callsign) && sources.includes(message.source);
105
+ }), operators_1.finalize(() => stream === null || stream === void 0 ? void 0 : stream.removeSubscription(subscriptionParams, params.terminateReceiverGroupOnUnsubscribe)));
106
+ }
107
+ /**
108
+ * A method to keep track of the current subscriptions
109
+ *
110
+ * @returns An Observable that outputs subscription changes
111
+ */
112
+ getSubscriptionChanges() {
113
+ return this.changeStream$.asObservable();
114
+ }
115
+ /**
116
+ * A method to keep track of the stream status
117
+ *
118
+ * @returns An Observable that outputs stream status
119
+ */
120
+ getStatusChanges() {
121
+ return this.streamStatusSubject$.asObservable();
122
+ }
123
+ async initStream(stream) {
124
+ // an async callback to set the stream token in case one was not set at startup
125
+ if (!this.config.token) {
126
+ try {
127
+ const authService = RocosStore_1.RocosStore.getSDKInstance(this.config).getAuthService();
128
+ const token = await authService.getToken();
129
+ if (token === null || token === void 0 ? void 0 : token.value) {
130
+ this.config.token = token === null || token === void 0 ? void 0 : token.value;
131
+ stream.setToken(this.config.token);
132
+ }
133
+ }
134
+ catch (e) {
135
+ this.logger.info('Can not retrieve auth token', e);
136
+ }
137
+ }
138
+ stream.init();
139
+ }
140
+ getStream(config) {
141
+ return new TelemetryStream_1.TelemetryStream(config);
142
+ }
143
+ }
144
+ exports.TelemetryService = TelemetryService;
@@ -0,0 +1,6 @@
1
+ import { ITelemetryStream } from '../models/stream/ITelemetryStream';
2
+ import { ITelemetryStreamConfig } from '../models/ITelemetryStreamConfig';
3
+ import { TelemetryService } from './TelemetryService';
4
+ export declare class TelemetryServiceNode extends TelemetryService {
5
+ protected getStream(config: ITelemetryStreamConfig): ITelemetryStream;
6
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TelemetryServiceNode = void 0;
4
+ const TelemetryService_1 = require("./TelemetryService");
5
+ const TelemetryStreamNode_1 = require("../api/streams/telemetry/TelemetryStreamNode");
6
+ class TelemetryServiceNode extends TelemetryService_1.TelemetryService {
7
+ getStream(config) {
8
+ return new TelemetryStreamNode_1.TelemetryStreamNode(config);
9
+ }
10
+ }
11
+ exports.TelemetryServiceNode = TelemetryServiceNode;
@@ -0,0 +1,13 @@
1
+ import { RocosError } from '../models/RocosError';
2
+ import { BaseServiceAbstract } from './BaseServiceAbstract';
3
+ import { IBaseService } from '../models/IBaseService';
4
+ import { IRocosSDKConfig } from '../models/IRocosSDKConfig';
5
+ export declare class TimeSyncerService extends BaseServiceAbstract implements IBaseService {
6
+ constructor(config: IRocosSDKConfig);
7
+ protected getError(e: Error): RocosError;
8
+ getStatus(): boolean;
9
+ /**
10
+ * Get Server Time
11
+ */
12
+ getServerTime(): Promise<any>;
13
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TimeSyncerService = void 0;
4
+ const RocosError_1 = require("../models/RocosError");
5
+ const api_1 = require("../constants/api");
6
+ const BaseServiceAbstract_1 = require("./BaseServiceAbstract");
7
+ const RocosLogger_1 = require("../logger/RocosLogger");
8
+ const formatServiceUrl_1 = require("../helpers/formatServiceUrl");
9
+ class TimeSyncerService extends BaseServiceAbstract_1.BaseServiceAbstract {
10
+ constructor(config) {
11
+ super(config);
12
+ this.logger = RocosLogger_1.RocosLogger.getInstance(`TimeSyncerService(${this.config.url})`);
13
+ }
14
+ getError(e) {
15
+ return new RocosError_1.RocosError(e, RocosError_1.errorCodes.TIME_SYNCER_SERVICE_ERROR);
16
+ }
17
+ getStatus() {
18
+ return true;
19
+ }
20
+ /**
21
+ * Get Server Time
22
+ */
23
+ getServerTime() {
24
+ return this.callGet(formatServiceUrl_1.formatServiceUrl(api_1.API_SERVER_TIME_URL, { url: this.config.url }, this.config.insecure), 'Failed to get server time.');
25
+ }
26
+ }
27
+ exports.TimeSyncerService = TimeSyncerService;