@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
package/IRocosSDK.d.ts ADDED
@@ -0,0 +1,55 @@
1
+ import { MapService, SpotProvisioningServiceNode } from './services';
2
+ import { AssetStorageService } from './services/AssetStorageService';
3
+ import { AuthService } from './services/AuthService';
4
+ import { CallerService } from './services/CallerService';
5
+ import { CommandService } from './services/CommandService';
6
+ import { ConfigGroupService } from './services/ConfigGroupService';
7
+ import { ControlService } from './services/ControlService';
8
+ import { DashboardService } from './services/DashboardService';
9
+ import { EventService } from './services/EventService';
10
+ import { FileAccessorService } from './services/FileAccessorService';
11
+ import { FunctionService } from './services/FunctionService';
12
+ import { IBaseService } from './models/IBaseService';
13
+ import { IDebugLevel } from './models/IDebugLevel';
14
+ import { IntegrationService } from './services/IntegrationService';
15
+ import { ProfileService } from './services/ProfileService';
16
+ import { ProjectService } from './services/ProjectService';
17
+ import { RobotService } from './services/RobotService';
18
+ import { SearchService } from './services/SearchService';
19
+ import { ServiceEnum } from './models/ServiceEnum';
20
+ import { SpotProvisioningService } from './services/SpotProvisioningService';
21
+ import { StreamService } from './services/StreamService';
22
+ import { TelemetryService } from './services/TelemetryService';
23
+ import { TimeSyncerService } from './services/TimeSyncerService';
24
+ import { UserService } from './services/UserService';
25
+ import { WebRTCSignallingService } from './services/WebRTCSignallingService';
26
+ import { WorkflowService } from './services/WorkflowService';
27
+ export declare abstract class IRocosSDK {
28
+ abstract getService<T extends IBaseService>(name: ServiceEnum): T;
29
+ abstract getAuthService(): AuthService;
30
+ abstract getRobotService(): RobotService;
31
+ abstract getEventService(): EventService;
32
+ abstract getProjectService(): ProjectService;
33
+ abstract getTelemetryService(): TelemetryService;
34
+ abstract getCallerService(): CallerService;
35
+ abstract getControlService(): ControlService;
36
+ abstract getCommandService(): CommandService;
37
+ abstract getSearchService(): SearchService;
38
+ abstract getConfigGroupService(): ConfigGroupService;
39
+ abstract getDashboardService(): DashboardService;
40
+ abstract getFunctionService(): FunctionService;
41
+ abstract getStreamService(): StreamService;
42
+ abstract getUserService(): UserService;
43
+ abstract getMapService(): MapService;
44
+ abstract getTimeSyncerService(): TimeSyncerService;
45
+ abstract getWorkflowService(): WorkflowService;
46
+ abstract getAssetStorageService(): AssetStorageService;
47
+ abstract getProfileService(): ProfileService;
48
+ abstract getWebRTCSignallingService(): WebRTCSignallingService;
49
+ abstract getFileAccessorService(): FileAccessorService;
50
+ abstract getSpotProvisionerService(): SpotProvisioningService | SpotProvisioningServiceNode;
51
+ abstract getIntegrationService(): IntegrationService;
52
+ abstract cleanup(): Promise<boolean>;
53
+ abstract enableDebugMode(on: boolean): void;
54
+ abstract setDebugLevel(level: IDebugLevel): void;
55
+ }
package/IRocosSDK.js ADDED
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IRocosSDK = void 0;
4
+ class IRocosSDK {
5
+ }
6
+ exports.IRocosSDK = IRocosSDK;
package/README.md ADDED
@@ -0,0 +1,90 @@
1
+ # rocos-js-sdk
2
+ Javascript SDK for interacting with the Rocos platform.
3
+
4
+
5
+ ## Installation
6
+
7
+ Add a .npmrc to your project, in the same directory as your package.json
8
+
9
+ ```bash
10
+ @team-rocos:registry=https://npm.pkg.github.com
11
+ ```
12
+
13
+ Then install the package with npm
14
+
15
+ ```bash
16
+ npm install @team-rocos/rocos-js-sdk
17
+ ```
18
+
19
+ or yarn
20
+
21
+ ```bash
22
+ yarn add @team-rocos/rocos-js-sdk rxjs@^7
23
+ ```
24
+ ## What's New?
25
+
26
+ ### 2.6.1
27
+
28
+ * Modify map service response type
29
+
30
+ ### 2.6.0
31
+
32
+ * Change `rxjs` dependency to a peer dependency (support for `^6.6.6 || ^7.0.0`)
33
+ - If you are using `yarn` you may need to add `rxjs` to your dependencies
34
+
35
+ ### 2.4.0
36
+
37
+ * deleted unused endpoints relating to legacy accounts which are no longer supported
38
+
39
+ ### 2.3.0
40
+
41
+ * Added `mapService` for supporting agent map functionality
42
+
43
+ ### 2.2.0
44
+
45
+ * Added `listUsers` method in ProjectService to list project users
46
+ * Added additional debug information for failed HTTP responses
47
+
48
+ ### 2.1.0
49
+
50
+ * Added getPlansPaged method to the IntegrationService to retrieve plans in a paged manner
51
+
52
+ ### 2.0.2
53
+
54
+ * Fix no-content responses attempting to parse as JSON
55
+
56
+ ### 2.0.1
57
+
58
+ * Security updates for React demo app dependencies
59
+
60
+ ### 2.0.0
61
+
62
+ * Updating base class for all REST requests to go via fetch instead of axios
63
+ * Remove unused dependencies `source-map-loader`, `ts-loader`, `axios`
64
+ * Mark certain auth methods as deprecated in AuthService
65
+ * `login` Login with email and password.
66
+ * `signup`
67
+ * `resetPassword`
68
+ * Deleted legacy services, these services are prefixed with BC, e.g. `BCRocosClient`
69
+ * Updated outdated dependencies in the Angular demo application
70
+
71
+ #### Migrating from 1.x to 2.x
72
+
73
+ * NodeJS engine requirements need to be v18.13 and npm v8 to use in NodeJS as the underlying HTTP services now use fetch API
74
+ * Legacy services prefixed with BC will need to be migrated to use the standard services
75
+
76
+ ### 1.19.0
77
+
78
+ New method added to the `IntegrationService` to create a new issue in the current location.
79
+
80
+ * createIssue - Creates a new issue in a specific location on the latest map plan
81
+
82
+ ### 1.18.0
83
+
84
+ Added new integration service to be able to retrieve plans created in DroneDeploy
85
+
86
+ This can be retrieved by getIntegrationService(). Available methods:
87
+
88
+ * getPlans - Gets a list of plans
89
+ * getPlanById - Retrieves a specific plan with the tiled layer that can be used to render meshes, point clouds, or tiled maps
90
+ * getWMTS - Returns WMTS tiles that can be rendered in tools such as mapbox if your project has WMTS feature enabled)
package/RocosSDK.d.ts ADDED
@@ -0,0 +1,138 @@
1
+ import { AssetStorageService, AuthService, CallerService, CommandService, ConfigGroupService, ControlService, DashboardService, EventService, FileAccessorService, FunctionService, IntegrationService, MapService, ProfileService, ProjectService, RobotService, ScheduleService, SearchService, SpotProvisioningService, StreamService, TelemetryService, TimeSyncerService, UserService, WebRTCSignallingService, WorkflowService } from './services';
2
+ import { IBaseService, IDebugLevel, IRocosSDKConfig, ServiceEnum } from './models';
3
+ import { IRocosSDK } from './IRocosSDK';
4
+ import { Logger } from 'loglevel';
5
+ export declare class RocosSDK implements IRocosSDK {
6
+ protected config: IRocosSDKConfig;
7
+ protected logger: Logger;
8
+ protected services: Record<string, IBaseService>;
9
+ /**
10
+ * Create a new SDK instance using a config object.
11
+ *
12
+ * @param config - SDK config {@link IRocosSDKConfig}
13
+ */
14
+ constructor(config: IRocosSDKConfig);
15
+ /**
16
+ * Gets the service by service name.
17
+ *
18
+ * @param name - Service name {@link ServiceEnum}
19
+ */
20
+ getService<T extends IBaseService>(name: ServiceEnum): T;
21
+ /**
22
+ * GEts the authentication service.
23
+ */
24
+ getAuthService(): AuthService;
25
+ /**
26
+ * Gets the robot service.
27
+ */
28
+ getRobotService(): RobotService;
29
+ /**
30
+ * Gets the event service.
31
+ */
32
+ getEventService(): EventService;
33
+ /**
34
+ * Gets the project service.
35
+ */
36
+ getProjectService(): ProjectService;
37
+ /**
38
+ * Gets the telemetry service.
39
+ */
40
+ getTelemetryService(): TelemetryService;
41
+ /**
42
+ * Gets the service call service.
43
+ */
44
+ getCallerService(): CallerService;
45
+ /**
46
+ * Gets the command service.
47
+ */
48
+ getCommandService(): CommandService;
49
+ /**
50
+ * Gets the robot control service.
51
+ */
52
+ getControlService(): ControlService;
53
+ /**
54
+ * Gets the search service.
55
+ */
56
+ getSearchService(): SearchService;
57
+ /**
58
+ * Gets the config group service
59
+ */
60
+ getConfigGroupService(): ConfigGroupService;
61
+ /**
62
+ * Gets the dashboard service
63
+ */
64
+ getDashboardService(): DashboardService;
65
+ /**
66
+ * Gets the function service
67
+ */
68
+ getFunctionService(): FunctionService;
69
+ /**
70
+ * Gets the stream service
71
+ */
72
+ getStreamService(): StreamService;
73
+ /**
74
+ * Gets the user service
75
+ */
76
+ getUserService(): UserService;
77
+ /**
78
+ * Gets time syncer service
79
+ */
80
+ getTimeSyncerService(): TimeSyncerService;
81
+ /**
82
+ * Gets the workflow service
83
+ */
84
+ getWorkflowService(): WorkflowService;
85
+ /**
86
+ * Gets the asset storage service
87
+ */
88
+ getAssetStorageService(): AssetStorageService;
89
+ /**
90
+ * Gets the robot profile service
91
+ */
92
+ getProfileService(): ProfileService;
93
+ /**
94
+ * Gets the WebRTC signalling service
95
+ * @returns WebRTCSignallingService
96
+ */
97
+ getWebRTCSignallingService(): WebRTCSignallingService;
98
+ /**
99
+ * Gets the file accessor service
100
+ * @returns FileAccessorService
101
+ */
102
+ getFileAccessorService(): FileAccessorService;
103
+ /**
104
+ * Gets the scheduler service
105
+ * @returns FileAccessorService
106
+ */
107
+ getSchedulerService(): ScheduleService;
108
+ /**
109
+ * Gets the spot provisioner service
110
+ * @returns SpotProvisioningService
111
+ */
112
+ getSpotProvisionerService(): SpotProvisioningService;
113
+ /**
114
+ * Gets the integration service
115
+ * @returns IntegrationService
116
+ */
117
+ getIntegrationService(): IntegrationService;
118
+ /**
119
+ * Gets the map service
120
+ * @returns MapService
121
+ */
122
+ getMapService(): MapService;
123
+ get platformTimeOffset(): number;
124
+ get platformTime(): number;
125
+ /**
126
+ * Cleanup function to release all the stream resources.
127
+ * All streams get destroyed by default once all the observers unsubscribe.
128
+ * This should be called as a precaution in case there are some subscriptions still hanging.
129
+ */
130
+ cleanup(): Promise<boolean>;
131
+ /**
132
+ * Enable or disable debug log
133
+ *
134
+ * @param on
135
+ */
136
+ enableDebugMode(on: boolean): void;
137
+ setDebugLevel(level: IDebugLevel): void;
138
+ }
package/RocosSDK.js ADDED
@@ -0,0 +1,294 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RocosSDK = void 0;
4
+ const services_1 = require("./services");
5
+ const models_1 = require("./models");
6
+ const RocosLogger_1 = require("./logger/RocosLogger");
7
+ const RocosStore_1 = require("./store/RocosStore");
8
+ const StreamRegister_1 = require("./api/StreamRegister");
9
+ class RocosSDK {
10
+ /**
11
+ * Create a new SDK instance using a config object.
12
+ *
13
+ * @param config - SDK config {@link IRocosSDKConfig}
14
+ */
15
+ constructor(config) {
16
+ this.services = {};
17
+ this.config = config;
18
+ this.logger = RocosLogger_1.RocosLogger.getInstance(`RocosSDK(${this.config.url})`);
19
+ RocosStore_1.RocosStore.putSDKInstance(this.config, this);
20
+ }
21
+ /**
22
+ * Gets the service by service name.
23
+ *
24
+ * @param name - Service name {@link ServiceEnum}
25
+ */
26
+ // eslint-disable-next-line max-lines-per-function
27
+ getService(name) {
28
+ var _a;
29
+ if (!((_a = this.services) === null || _a === void 0 ? void 0 : _a[name])) {
30
+ this.logger.info(`Service ${name} does not exist, creating it now.`);
31
+ switch (name) {
32
+ case models_1.ServiceEnum.AUTH:
33
+ this.services[name] = new services_1.AuthService(this.config);
34
+ break;
35
+ case models_1.ServiceEnum.TELEMETRY:
36
+ this.services[name] = new services_1.TelemetryService(this.config);
37
+ break;
38
+ case models_1.ServiceEnum.ROBOT:
39
+ this.services[name] = new services_1.RobotService(this.config);
40
+ break;
41
+ case models_1.ServiceEnum.EVENT:
42
+ this.services[name] = new services_1.EventService(this.config);
43
+ break;
44
+ case models_1.ServiceEnum.PROJECT:
45
+ this.services[name] = new services_1.ProjectService(this.config);
46
+ break;
47
+ case models_1.ServiceEnum.CALLER:
48
+ this.services[name] = new services_1.CallerService(this.config);
49
+ break;
50
+ case models_1.ServiceEnum.COMMAND:
51
+ this.services[name] = new services_1.CommandService(this.config);
52
+ break;
53
+ case models_1.ServiceEnum.CONTROL:
54
+ this.services[name] = new services_1.ControlService(this.config);
55
+ break;
56
+ case models_1.ServiceEnum.SEARCH:
57
+ this.services[name] = new services_1.SearchService(this.config);
58
+ break;
59
+ case models_1.ServiceEnum.CONFIG_GROUP:
60
+ this.services[name] = new services_1.ConfigGroupService(this.config);
61
+ break;
62
+ case models_1.ServiceEnum.DASHBOARD:
63
+ this.services[name] = new services_1.DashboardService(this.config);
64
+ break;
65
+ case models_1.ServiceEnum.FUNCTION:
66
+ this.services[name] = new services_1.FunctionService(this.config);
67
+ break;
68
+ case models_1.ServiceEnum.STREAM:
69
+ this.services[name] = new services_1.StreamService(this.config);
70
+ break;
71
+ case models_1.ServiceEnum.USER:
72
+ this.services[name] = new services_1.UserService(this.config);
73
+ break;
74
+ case models_1.ServiceEnum.TIME_SYNCER:
75
+ this.services[name] = new services_1.TimeSyncerService(this.config);
76
+ break;
77
+ case models_1.ServiceEnum.WORKFLOW:
78
+ this.services[name] = new services_1.WorkflowService(this.config);
79
+ break;
80
+ case models_1.ServiceEnum.ASSET_STORAGE:
81
+ this.services[name] = new services_1.AssetStorageService(this.config);
82
+ break;
83
+ case models_1.ServiceEnum.PROFILE:
84
+ this.services[name] = new services_1.ProfileService(this.config);
85
+ break;
86
+ case models_1.ServiceEnum.WEBRTC_SIGNALLING:
87
+ this.services[name] = new services_1.WebRTCSignallingService(this.config);
88
+ break;
89
+ case models_1.ServiceEnum.FILE_ACCESSOR:
90
+ this.services[name] = new services_1.FileAccessorService(this.config);
91
+ break;
92
+ case models_1.ServiceEnum.SCHEDULE:
93
+ this.services[name] = new services_1.ScheduleService(this.config);
94
+ break;
95
+ case models_1.ServiceEnum.SPOT_PROVISIONER:
96
+ this.services[name] = new services_1.SpotProvisioningService(this.config);
97
+ break;
98
+ case models_1.ServiceEnum.INTEGRATION:
99
+ this.services[name] = new services_1.IntegrationService(this.config);
100
+ break;
101
+ case models_1.ServiceEnum.MAP:
102
+ this.services[name] = new services_1.MapService(this.config);
103
+ break;
104
+ }
105
+ }
106
+ this.logger.debug(`Found service ${name}.`);
107
+ return this.services[name];
108
+ }
109
+ /**
110
+ * GEts the authentication service.
111
+ */
112
+ getAuthService() {
113
+ return this.getService(models_1.ServiceEnum.AUTH);
114
+ }
115
+ /**
116
+ * Gets the robot service.
117
+ */
118
+ getRobotService() {
119
+ return this.getService(models_1.ServiceEnum.ROBOT);
120
+ }
121
+ /**
122
+ * Gets the event service.
123
+ */
124
+ getEventService() {
125
+ return this.getService(models_1.ServiceEnum.EVENT);
126
+ }
127
+ /**
128
+ * Gets the project service.
129
+ */
130
+ getProjectService() {
131
+ return this.getService(models_1.ServiceEnum.PROJECT);
132
+ }
133
+ /**
134
+ * Gets the telemetry service.
135
+ */
136
+ getTelemetryService() {
137
+ return this.getService(models_1.ServiceEnum.TELEMETRY);
138
+ }
139
+ /**
140
+ * Gets the service call service.
141
+ */
142
+ getCallerService() {
143
+ return this.getService(models_1.ServiceEnum.CALLER);
144
+ }
145
+ /**
146
+ * Gets the command service.
147
+ */
148
+ getCommandService() {
149
+ return this.getService(models_1.ServiceEnum.COMMAND);
150
+ }
151
+ /**
152
+ * Gets the robot control service.
153
+ */
154
+ getControlService() {
155
+ return this.getService(models_1.ServiceEnum.CONTROL);
156
+ }
157
+ /**
158
+ * Gets the search service.
159
+ */
160
+ getSearchService() {
161
+ return this.getService(models_1.ServiceEnum.SEARCH);
162
+ }
163
+ /**
164
+ * Gets the config group service
165
+ */
166
+ getConfigGroupService() {
167
+ return this.getService(models_1.ServiceEnum.CONFIG_GROUP);
168
+ }
169
+ /**
170
+ * Gets the dashboard service
171
+ */
172
+ getDashboardService() {
173
+ return this.getService(models_1.ServiceEnum.DASHBOARD);
174
+ }
175
+ /**
176
+ * Gets the function service
177
+ */
178
+ getFunctionService() {
179
+ return this.getService(models_1.ServiceEnum.FUNCTION);
180
+ }
181
+ /**
182
+ * Gets the stream service
183
+ */
184
+ getStreamService() {
185
+ return this.getService(models_1.ServiceEnum.STREAM);
186
+ }
187
+ /**
188
+ * Gets the user service
189
+ */
190
+ getUserService() {
191
+ return this.getService(models_1.ServiceEnum.USER);
192
+ }
193
+ /**
194
+ * Gets time syncer service
195
+ */
196
+ getTimeSyncerService() {
197
+ return this.getService(models_1.ServiceEnum.TIME_SYNCER);
198
+ }
199
+ /**
200
+ * Gets the workflow service
201
+ */
202
+ getWorkflowService() {
203
+ return this.getService(models_1.ServiceEnum.WORKFLOW);
204
+ }
205
+ /**
206
+ * Gets the asset storage service
207
+ */
208
+ getAssetStorageService() {
209
+ return this.getService(models_1.ServiceEnum.ASSET_STORAGE);
210
+ }
211
+ /**
212
+ * Gets the robot profile service
213
+ */
214
+ getProfileService() {
215
+ return this.getService(models_1.ServiceEnum.PROFILE);
216
+ }
217
+ /**
218
+ * Gets the WebRTC signalling service
219
+ * @returns WebRTCSignallingService
220
+ */
221
+ getWebRTCSignallingService() {
222
+ return this.getService(models_1.ServiceEnum.WEBRTC_SIGNALLING);
223
+ }
224
+ /**
225
+ * Gets the file accessor service
226
+ * @returns FileAccessorService
227
+ */
228
+ getFileAccessorService() {
229
+ return this.getService(models_1.ServiceEnum.FILE_ACCESSOR);
230
+ }
231
+ /**
232
+ * Gets the scheduler service
233
+ * @returns FileAccessorService
234
+ */
235
+ getSchedulerService() {
236
+ return this.getService(models_1.ServiceEnum.SCHEDULE);
237
+ }
238
+ /**
239
+ * Gets the spot provisioner service
240
+ * @returns SpotProvisioningService
241
+ */
242
+ getSpotProvisionerService() {
243
+ return this.getService(models_1.ServiceEnum.SPOT_PROVISIONER);
244
+ }
245
+ /**
246
+ * Gets the integration service
247
+ * @returns IntegrationService
248
+ */
249
+ getIntegrationService() {
250
+ return this.getService(models_1.ServiceEnum.INTEGRATION);
251
+ }
252
+ /**
253
+ * Gets the map service
254
+ * @returns MapService
255
+ */
256
+ getMapService() {
257
+ return this.getService(models_1.ServiceEnum.MAP);
258
+ }
259
+ get platformTimeOffset() {
260
+ var _a;
261
+ return (_a = services_1.PlatFormTimeService.getInstance(this.getTimeSyncerService())) === null || _a === void 0 ? void 0 : _a.platformTimeOffset;
262
+ }
263
+ get platformTime() {
264
+ var _a;
265
+ return (_a = services_1.PlatFormTimeService.getInstance(this.getTimeSyncerService())) === null || _a === void 0 ? void 0 : _a.platformTime;
266
+ }
267
+ /**
268
+ * Cleanup function to release all the stream resources.
269
+ * All streams get destroyed by default once all the observers unsubscribe.
270
+ * This should be called as a precaution in case there are some subscriptions still hanging.
271
+ */
272
+ async cleanup() {
273
+ this.services = {};
274
+ RocosStore_1.RocosStore.removeSDKInstance(this.config);
275
+ return StreamRegister_1.StreamRegister.getInstance().removeAllStreams();
276
+ }
277
+ /**
278
+ * Enable or disable debug log
279
+ *
280
+ * @param on
281
+ */
282
+ enableDebugMode(on) {
283
+ if (on) {
284
+ RocosLogger_1.RocosLogger.enableAll();
285
+ }
286
+ else {
287
+ RocosLogger_1.RocosLogger.disableAll();
288
+ }
289
+ }
290
+ setDebugLevel(level) {
291
+ RocosLogger_1.RocosLogger.setLevel(level);
292
+ }
293
+ }
294
+ exports.RocosSDK = RocosSDK;
@@ -0,0 +1,13 @@
1
+ import { IBaseStream } from '../models/stream/IBaseStream';
2
+ export declare class StreamRegister {
3
+ private teleStreams;
4
+ private logger;
5
+ private static instance;
6
+ private constructor();
7
+ static getInstance(): StreamRegister;
8
+ static getIdentifier($identifier: string, scope?: string): string;
9
+ addStream(stream: IBaseStream): Promise<void>;
10
+ getStream(identifier: string): IBaseStream | undefined;
11
+ removeStream(stream: IBaseStream): Promise<void>;
12
+ removeAllStreams(): Promise<boolean>;
13
+ }
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StreamRegister = void 0;
4
+ const RocosError_1 = require("../models/RocosError");
5
+ const RocosLogger_1 = require("../logger/RocosLogger");
6
+ class StreamRegister {
7
+ constructor() {
8
+ this.teleStreams = new Map();
9
+ this.logger = RocosLogger_1.RocosLogger.getInstance('StreamRegister');
10
+ }
11
+ static getInstance() {
12
+ if (!StreamRegister.instance) {
13
+ StreamRegister.instance = new StreamRegister();
14
+ }
15
+ return StreamRegister.instance;
16
+ }
17
+ static getIdentifier($identifier, scope) {
18
+ return `${$identifier}-${scope !== null && scope !== void 0 ? scope : ''}`;
19
+ }
20
+ async addStream(stream) {
21
+ try {
22
+ if (this.teleStreams.has(stream.identifier)) {
23
+ await this.removeStream(stream);
24
+ }
25
+ this.teleStreams.set(stream.identifier, stream);
26
+ }
27
+ catch (e) {
28
+ this.logger.error(`Failed to add stream to list. identifier: ${stream.identifier}`, e);
29
+ throw new RocosError_1.RocosError(e, RocosError_1.errorCodes.STREAM_LISTENER_ERROR);
30
+ }
31
+ }
32
+ getStream(identifier) {
33
+ return this.teleStreams.get(identifier);
34
+ }
35
+ async removeStream(stream) {
36
+ try {
37
+ await stream.stopStream();
38
+ this.teleStreams.delete(stream.identifier);
39
+ }
40
+ catch (e) {
41
+ this.logger.error(`Failed to remove stream from list. identifier: ${stream.identifier}`, e);
42
+ throw new RocosError_1.RocosError(e, RocosError_1.errorCodes.STREAM_LISTENER_ERROR);
43
+ }
44
+ }
45
+ async removeAllStreams() {
46
+ try {
47
+ for (const [, stream] of this.teleStreams.entries()) {
48
+ await this.removeStream(stream);
49
+ }
50
+ }
51
+ catch (e) {
52
+ this.logger.error(`error removing stream, ${e}`);
53
+ throw new RocosError_1.RocosError(e, RocosError_1.errorCodes.STREAM_LISTENER_ERROR);
54
+ }
55
+ return true;
56
+ }
57
+ }
58
+ exports.StreamRegister = StreamRegister;
@@ -0,0 +1,27 @@
1
+ export declare class StreamHeartbeat {
2
+ private identifier;
3
+ private callback?;
4
+ private timeout?;
5
+ private beats;
6
+ private interval?;
7
+ private healthInterval?;
8
+ private healthLastSeenDate;
9
+ private healthMisses;
10
+ private healthTimeout;
11
+ private healthMaxTimeout;
12
+ private healthMaxMisses;
13
+ private healthCheckStatusCallback?;
14
+ private healthCheckErrorCallback?;
15
+ private logger;
16
+ constructor(identifier: string);
17
+ setHealthTimeout(healthTimeout: number): StreamHeartbeat;
18
+ setHealthMaxTimeout(healthMaxTimeout: number): StreamHeartbeat;
19
+ setHealthMaxMisses(healthMaxMisses: number): StreamHeartbeat;
20
+ setHealthCheckStatusCallback(healthCheckStatusCallback: (status: boolean) => Promise<void>): StreamHeartbeat;
21
+ setHealthCheckErrorCallback(healthCheckErrorCallback: () => Promise<void>): StreamHeartbeat;
22
+ start(callback: () => void, timeout: number): void;
23
+ stop(): void;
24
+ pump(): number;
25
+ private checkHealth;
26
+ stopHealthCheck(): void;
27
+ }