@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,38 @@
1
+ import { IRocosSDKConfig } from '../models/IRocosSDKConfig';
2
+ import { Logger } from 'loglevel';
3
+ import { RocosError } from '../models/RocosError';
4
+ declare type QueryParams = Record<string, string | number | boolean> | URLSearchParams;
5
+ declare type ResponseType = 'json' | 'blob' | 'stream' | 'text' | 'raw';
6
+ declare type Payload = unknown;
7
+ interface RequestConfig {
8
+ /**
9
+ * Additional headers to send with the request.
10
+ */
11
+ headers?: Record<string, string>;
12
+ /**
13
+ * If true, the request will be sent without authentication.
14
+ */
15
+ public?: boolean;
16
+ /**
17
+ * The response type to use for the request.
18
+ */
19
+ responseType?: ResponseType;
20
+ }
21
+ export declare abstract class BaseServiceAbstract {
22
+ protected config: IRocosSDKConfig;
23
+ protected logger: Logger;
24
+ constructor(config: IRocosSDKConfig);
25
+ protected abstract getError(e: Error): RocosError;
26
+ protected callPost<T = unknown>(url: string, payload: Payload, errorMessage: string, config?: RequestConfig): Promise<T>;
27
+ protected callPut<T = unknown>(url: string, payload: Payload, errorMessage: string, config?: RequestConfig): Promise<T>;
28
+ protected callDelete<T = unknown>(url: string, errorMessage: string, payload?: unknown): Promise<T>;
29
+ protected callGet<T = unknown>(url: string, errorMessage: string, params?: QueryParams, config?: RequestConfig): Promise<T>;
30
+ protected call<T = unknown>(url: string, method: 'GET' | 'POST' | 'PUT' | 'DELETE', options: {
31
+ errorMessage: string;
32
+ config?: RequestConfig;
33
+ payload?: unknown;
34
+ params?: QueryParams;
35
+ }): Promise<T>;
36
+ private fetchOrThrow;
37
+ }
38
+ export {};
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseServiceAbstract = void 0;
4
+ const RocosError_1 = require("../models/RocosError");
5
+ const RocosStore_1 = require("../store/RocosStore");
6
+ class HttpError extends Error {
7
+ constructor(response) {
8
+ super(response.statusText);
9
+ this.response = response;
10
+ this.name = 'HttpError';
11
+ }
12
+ }
13
+ class BaseServiceAbstract {
14
+ constructor(config) {
15
+ this.config = config;
16
+ }
17
+ async callPost(url, payload, errorMessage, config) {
18
+ return this.call(url, 'POST', { errorMessage, payload, config });
19
+ }
20
+ async callPut(url, payload, errorMessage, config) {
21
+ return this.call(url, 'PUT', { errorMessage, payload, config });
22
+ }
23
+ async callDelete(url, errorMessage, payload) {
24
+ return this.call(url, 'DELETE', { errorMessage, payload });
25
+ }
26
+ async callGet(url, errorMessage, params, config) {
27
+ return this.call(url, 'GET', { errorMessage, params, config });
28
+ }
29
+ async call(url, method, options) {
30
+ var _a;
31
+ const { errorMessage, config, payload, params } = options;
32
+ try {
33
+ // change all params to string
34
+ const stringParams = Object.entries(params || {}).reduce((acc, [key, value]) => {
35
+ acc[key] = value.toString();
36
+ return acc;
37
+ }, {});
38
+ const formattedUrl = params ? `${url}?${new URLSearchParams(stringParams)}` : url;
39
+ const defaultHeaders = {};
40
+ if (!(config === null || config === void 0 ? void 0 : config.public)) {
41
+ const token = await RocosStore_1.RocosStore.getSDKInstance(this.config).getAuthService().getToken();
42
+ defaultHeaders.Authorization = `Bearer ${token.value}`;
43
+ }
44
+ const requestConfig = {
45
+ method,
46
+ headers: Object.assign(Object.assign({}, defaultHeaders), config === null || config === void 0 ? void 0 : config.headers),
47
+ };
48
+ // must check if FormData exists for node support
49
+ if (typeof FormData !== 'undefined' && payload instanceof FormData) {
50
+ requestConfig.body = payload;
51
+ }
52
+ else if (payload) {
53
+ requestConfig.body = JSON.stringify(payload);
54
+ requestConfig.headers = Object.assign(Object.assign({}, requestConfig.headers), { 'Content-Type': 'application/json' });
55
+ }
56
+ return this.fetchOrThrow(formattedUrl, requestConfig, config === null || config === void 0 ? void 0 : config.responseType);
57
+ }
58
+ catch (e) {
59
+ const message = errorMessage;
60
+ this.logger.error(message, e);
61
+ let httpError = new RocosError_1.RocosError(message);
62
+ if (e instanceof HttpError) {
63
+ httpError = this.getError(e);
64
+ httpError.statusCode = (_a = e === null || e === void 0 ? void 0 : e.response) === null || _a === void 0 ? void 0 : _a.status;
65
+ }
66
+ RocosStore_1.RocosStore.getChangeSubject().next({ type: 'http-error', url: this.config.url, data: httpError });
67
+ throw httpError;
68
+ }
69
+ }
70
+ async fetchOrThrow(url, config, responseType) {
71
+ this.logger.debug('Fetching', { url, config });
72
+ const res = await fetch(url, config);
73
+ if (!res.ok) {
74
+ const payload = await res.text();
75
+ this.logger.warn('Failed HTTP Response', { status: res.statusText, payload, response: res });
76
+ throw new HttpError(res);
77
+ }
78
+ switch (responseType) {
79
+ case 'raw':
80
+ return res;
81
+ case 'stream':
82
+ return res.body;
83
+ case 'blob':
84
+ return res.blob();
85
+ case 'text':
86
+ return res.text();
87
+ case 'json':
88
+ default: {
89
+ const textRes = await res.text();
90
+ if (!(textRes === null || textRes === void 0 ? void 0 : textRes.trim()))
91
+ return undefined;
92
+ try {
93
+ return JSON.parse(textRes);
94
+ }
95
+ catch (e) {
96
+ this.logger.error('Failed to parse JSON from response', { textRes });
97
+ return textRes;
98
+ }
99
+ }
100
+ }
101
+ }
102
+ }
103
+ exports.BaseServiceAbstract = BaseServiceAbstract;
@@ -0,0 +1,22 @@
1
+ import { ICallerInvokeParams, ICallerParams } from '../models/params/ICallerParams';
2
+ import { Observable, Subject } from 'rxjs';
3
+ import { IBaseService } from '../models/IBaseService';
4
+ import { ICallerStream } from '../models/stream/ICallerStream';
5
+ import { IRocosCallerMessage } from '../models/message/IRocosCallerMessage';
6
+ import { IRocosSDKConfig } from '../models/IRocosSDKConfig';
7
+ import { IStreamConfig } from '../models/IStreamConfig';
8
+ import { ISubscriberStatus } from '../models/ISubscriberStatus';
9
+ import { SubscriberStatusEnum } from '../models/SubscriberStatusEnum';
10
+ export declare class CallerService implements IBaseService, ISubscriberStatus {
11
+ private config;
12
+ private logger;
13
+ private status;
14
+ status$: Subject<SubscriberStatusEnum>;
15
+ constructor(config: IRocosSDKConfig);
16
+ getStatus(): boolean;
17
+ invokeRequest(params: ICallerInvokeParams): Observable<IRocosCallerMessage>;
18
+ cancelRequest(params: ICallerParams): Observable<IRocosCallerMessage>;
19
+ private createStream;
20
+ private initStream;
21
+ protected getStream(config: IStreamConfig): ICallerStream;
22
+ }
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CallerService = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ const CallerStream_1 = require("../api/streams/caller/CallerStream");
6
+ const identifier_1 = require("../constants/identifier");
7
+ const RocosLogger_1 = require("../logger/RocosLogger");
8
+ const RocosStore_1 = require("../store/RocosStore");
9
+ const StreamRegister_1 = require("../api/StreamRegister");
10
+ const SubscriberStatusEnum_1 = require("../models/SubscriberStatusEnum");
11
+ const operators_1 = require("rxjs/operators");
12
+ class CallerService {
13
+ constructor(config) {
14
+ this.status = false;
15
+ this.status$ = new rxjs_1.Subject();
16
+ this.config = config;
17
+ this.logger = RocosLogger_1.RocosLogger.getInstance(`CallerService(${this.config.url})`);
18
+ }
19
+ getStatus() {
20
+ return this.status;
21
+ }
22
+ invokeRequest(params) {
23
+ const subject = new rxjs_1.Subject();
24
+ let subscription;
25
+ this.createStream()
26
+ .then((stream) => {
27
+ subscription = stream.invokeRequest(params).subscribe(subject);
28
+ })
29
+ .catch((e) => {
30
+ this.logger.info('invokeRequest error', e);
31
+ subject.error(e);
32
+ });
33
+ return subject.asObservable().pipe(operators_1.finalize(() => {
34
+ subscription === null || subscription === void 0 ? void 0 : subscription.unsubscribe();
35
+ }));
36
+ }
37
+ cancelRequest(params) {
38
+ const subject = new rxjs_1.Subject();
39
+ let subscription;
40
+ this.createStream()
41
+ .then((stream) => {
42
+ subscription = stream.cancelRequest(params).subscribe(subject);
43
+ })
44
+ .catch((e) => {
45
+ this.logger.info('invokeRequest error', e);
46
+ subject.error(e);
47
+ });
48
+ return subject.asObservable().pipe(operators_1.finalize(() => {
49
+ subscription === null || subscription === void 0 ? void 0 : subscription.unsubscribe();
50
+ }));
51
+ }
52
+ async createStream() {
53
+ const scope = 'default';
54
+ const identifier = StreamRegister_1.StreamRegister.getIdentifier(identifier_1.IDENTIFIER_NAME_CALLER, scope);
55
+ const streamRegister = StreamRegister_1.StreamRegister.getInstance();
56
+ let stream = streamRegister.getStream(identifier);
57
+ if (!stream) {
58
+ stream = this.getStream({
59
+ url: this.config.url,
60
+ token: this.config.token,
61
+ scope,
62
+ options: this.config.options,
63
+ port: this.config.port,
64
+ insecure: this.config.insecure,
65
+ });
66
+ stream.statusStream$.subscribe((msg) => {
67
+ this.status = msg === SubscriberStatusEnum_1.SubscriberStatusEnum.STOPPED || msg === SubscriberStatusEnum_1.SubscriberStatusEnum.ALIVE;
68
+ this.status$.next(msg);
69
+ });
70
+ // don't wait for these promises, they can be init after startup
71
+ await streamRegister.addStream(stream);
72
+ await this.initStream(stream);
73
+ }
74
+ return stream;
75
+ }
76
+ async initStream(stream) {
77
+ // an async callback to set the stream token in case one was not set at startup
78
+ if (!this.config.token) {
79
+ try {
80
+ const authService = RocosStore_1.RocosStore.getSDKInstance(this.config).getAuthService();
81
+ const token = await authService.getToken();
82
+ if (token === null || token === void 0 ? void 0 : token.value) {
83
+ this.config.token = token === null || token === void 0 ? void 0 : token.value;
84
+ stream.setToken(this.config.token);
85
+ }
86
+ }
87
+ catch (e) {
88
+ this.logger.info('Can not retrieve auth token', e);
89
+ }
90
+ }
91
+ }
92
+ getStream(config) {
93
+ return new CallerStream_1.CallerStream(config);
94
+ }
95
+ }
96
+ exports.CallerService = CallerService;
@@ -0,0 +1,6 @@
1
+ import { CallerService } from './CallerService';
2
+ import { ICallerStream } from '../models/stream/ICallerStream';
3
+ import { IStreamConfig } from '../models/IStreamConfig';
4
+ export declare class CallerServiceNode extends CallerService {
5
+ protected getStream(config: IStreamConfig): ICallerStream;
6
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CallerServiceNode = void 0;
4
+ const CallerService_1 = require("./CallerService");
5
+ const CallerStreamNode_1 = require("../api/streams/caller/CallerStreamNode");
6
+ class CallerServiceNode extends CallerService_1.CallerService {
7
+ getStream(config) {
8
+ return new CallerStreamNode_1.CallerStreamNode(config);
9
+ }
10
+ }
11
+ exports.CallerServiceNode = CallerServiceNode;
@@ -0,0 +1,21 @@
1
+ import { Observable, Subject } from 'rxjs';
2
+ import { IBaseService } from '../models/IBaseService';
3
+ import { ICommandParams } from '../models/params/ICommandParams';
4
+ import { ICommandStream } from '../models/stream/ICommandStream';
5
+ import { IRocosCommandMessage } from '../models/message/IRocosCommandMessage';
6
+ import { IRocosSDKConfig } from '../models/IRocosSDKConfig';
7
+ import { IStreamConfig } from '../models/IStreamConfig';
8
+ import { ISubscriberStatus } from '../models/ISubscriberStatus';
9
+ import { SubscriberStatusEnum } from '../models/SubscriberStatusEnum';
10
+ export declare class CommandService implements IBaseService, ISubscriberStatus {
11
+ private config;
12
+ private logger;
13
+ private status;
14
+ status$: Subject<SubscriberStatusEnum>;
15
+ constructor(config: IRocosSDKConfig);
16
+ getStatus(): boolean;
17
+ invokeRequest(params: ICommandParams): Observable<IRocosCommandMessage>;
18
+ private createStream;
19
+ private initStream;
20
+ protected getStream(config: IStreamConfig): ICommandStream;
21
+ }
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CommandService = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ const CommandStream_1 = require("../api/streams/command/CommandStream");
6
+ const identifier_1 = require("../constants/identifier");
7
+ const RocosLogger_1 = require("../logger/RocosLogger");
8
+ const RocosStore_1 = require("../store/RocosStore");
9
+ const StreamRegister_1 = require("../api/StreamRegister");
10
+ const SubscriberStatusEnum_1 = require("../models/SubscriberStatusEnum");
11
+ const operators_1 = require("rxjs/operators");
12
+ class CommandService {
13
+ constructor(config) {
14
+ this.status = false;
15
+ this.status$ = new rxjs_1.Subject();
16
+ this.config = config;
17
+ this.logger = RocosLogger_1.RocosLogger.getInstance(`CommandService(${this.config.url})`);
18
+ }
19
+ getStatus() {
20
+ return this.status;
21
+ }
22
+ invokeRequest(params) {
23
+ const subject = new rxjs_1.Subject();
24
+ let subscription;
25
+ this.createStream()
26
+ .then((stream) => {
27
+ subscription = stream.invokeRequest(params).subscribe(subject);
28
+ })
29
+ .catch((e) => {
30
+ this.logger.info('invokeRequest error', e);
31
+ subject.error(e);
32
+ });
33
+ return subject.asObservable().pipe(operators_1.finalize(() => {
34
+ subscription === null || subscription === void 0 ? void 0 : subscription.unsubscribe();
35
+ }));
36
+ }
37
+ async createStream() {
38
+ const scope = 'default';
39
+ const identifier = StreamRegister_1.StreamRegister.getIdentifier(identifier_1.IDENTIFIER_NAME_COMMAND, scope);
40
+ const streamRegister = StreamRegister_1.StreamRegister.getInstance();
41
+ let stream = streamRegister.getStream(identifier);
42
+ if (!stream) {
43
+ stream = this.getStream({
44
+ url: this.config.url,
45
+ token: this.config.token,
46
+ scope,
47
+ options: this.config.options,
48
+ port: this.config.port,
49
+ insecure: this.config.insecure,
50
+ });
51
+ stream.statusStream$.subscribe((msg) => {
52
+ this.status = msg === SubscriberStatusEnum_1.SubscriberStatusEnum.STOPPED || msg === SubscriberStatusEnum_1.SubscriberStatusEnum.ALIVE;
53
+ this.status$.next(msg);
54
+ });
55
+ // don't wait for these promises, they can be init after startup
56
+ await streamRegister.addStream(stream);
57
+ await this.initStream(stream);
58
+ }
59
+ return stream;
60
+ }
61
+ async initStream(stream) {
62
+ // an async callback to set the stream token in case one was not set at startup
63
+ if (!this.config.token) {
64
+ try {
65
+ const authService = RocosStore_1.RocosStore.getSDKInstance(this.config).getAuthService();
66
+ const token = await authService.getToken();
67
+ if (token === null || token === void 0 ? void 0 : token.value) {
68
+ this.config.token = token === null || token === void 0 ? void 0 : token.value;
69
+ stream.setToken(this.config.token);
70
+ }
71
+ }
72
+ catch (e) {
73
+ this.logger.info('Can not retrieve auth token', e);
74
+ }
75
+ }
76
+ }
77
+ getStream(config) {
78
+ return new CommandStream_1.CommandStream(config);
79
+ }
80
+ }
81
+ exports.CommandService = CommandService;
@@ -0,0 +1,6 @@
1
+ import { CommandService } from './CommandService';
2
+ import { ICommandStream } from '../models/stream/ICommandStream';
3
+ import { IStreamConfig } from '../models/IStreamConfig';
4
+ export declare class CommandServiceNode extends CommandService {
5
+ protected getStream(config: IStreamConfig): ICommandStream;
6
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CommandServiceNode = void 0;
4
+ const CommandService_1 = require("./CommandService");
5
+ const CommandStreamNode_1 = require("../api/streams/command/CommandStreamNode");
6
+ class CommandServiceNode extends CommandService_1.CommandService {
7
+ getStream(config) {
8
+ return new CommandStreamNode_1.CommandStreamNode(config);
9
+ }
10
+ }
11
+ exports.CommandServiceNode = CommandServiceNode;
@@ -0,0 +1,89 @@
1
+ import { RocosError } from '../models/RocosError';
2
+ import { BaseServiceAbstract } from './BaseServiceAbstract';
3
+ import { IBaseService } from '../models/IBaseService';
4
+ import { IConfigGroup } from '../models/IConfigGroup';
5
+ import { IRocosSDKConfig } from '../models/IRocosSDKConfig';
6
+ export declare class ConfigGroupService extends BaseServiceAbstract implements IBaseService {
7
+ constructor(config: IRocosSDKConfig);
8
+ protected getError(e: Error): RocosError;
9
+ getStatus(): boolean;
10
+ /**
11
+ * Create a config group
12
+ *
13
+ * @param projectId - Project Id
14
+ * @param type - Config group type
15
+ * @param model - Payload {@link IConfigGroup}
16
+ */
17
+ create(projectId: string, type: string, model: IConfigGroup): Promise<any>;
18
+ /**
19
+ * Get a config group list
20
+ *
21
+ * @param projectId - Project Id
22
+ * @param type - Config group type
23
+ */
24
+ list(projectId: string, type: string): Promise<any>;
25
+ /**
26
+ * Update a config group
27
+ *
28
+ * @param projectId - Project Id
29
+ * @param type - Config group type
30
+ * @param configGroupId - Config group Id
31
+ * @param model - Payload {@link IConfigGroup}
32
+ */
33
+ update(projectId: string, type: string, configGroupId: string, model: IConfigGroup): Promise<any>;
34
+ /**
35
+ * Get a config group
36
+ *
37
+ * @param projectId - Project Id
38
+ * @param type - Config group type
39
+ * @param configGroupId - Config group Id
40
+ */
41
+ info(projectId: string, type: string, configGroupId: string): Promise<any>;
42
+ /**
43
+ * Publish a config group
44
+ *
45
+ * @param projectId - Project Id
46
+ * @param type - Config group type
47
+ * @param configGroupId - Config group Id
48
+ * @param model - Payload {@link IConfigGroup}
49
+ */
50
+ publish(projectId: string, type: string, configGroupId: string, model: IConfigGroup): Promise<any>;
51
+ /**
52
+ * Update a config
53
+ *
54
+ * @param projectId - Project Id
55
+ * @param type - Config group type
56
+ * @param configGroupId - Config group Id
57
+ * @param configId - Config Id
58
+ * @param content - Payload
59
+ */
60
+ updateConfig(projectId: string, type: string, configGroupId: string, configId: string, content: any): Promise<any>;
61
+ /**
62
+ * Get a config group by version
63
+ *
64
+ * @param projectId - Project Id
65
+ * @param type - Config group type
66
+ * @param configGroupId - Config group Id
67
+ * @param version - Version
68
+ */
69
+ getByVersion(projectId: string, type: string, configGroupId: string, version: string): Promise<any>;
70
+ /**
71
+ * Override a config for owner
72
+ *
73
+ * @param projectId - Project Id
74
+ * @param type - Config group type
75
+ * @param configGroupId - Config group Id
76
+ * @param ownerId - Override Id
77
+ * @param content - Payload
78
+ */
79
+ overrideByOwnerId(projectId: string, type: string, configGroupId: string, ownerId: string, content: any): Promise<any>;
80
+ /**
81
+ * Get an override config for owner
82
+ *
83
+ * @param projectId - Project Id
84
+ * @param type - Config group type
85
+ * @param configGroupId - Config group Id
86
+ * @param ownerId - Override Id
87
+ */
88
+ getOverrideConfig(projectId: string, type: string, configGroupId: string, ownerId: string): Promise<any>;
89
+ }
@@ -0,0 +1,157 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConfigGroupService = void 0;
4
+ const api_1 = require("../constants/api");
5
+ const RocosError_1 = require("../models/RocosError");
6
+ const BaseServiceAbstract_1 = require("./BaseServiceAbstract");
7
+ const RocosLogger_1 = require("../logger/RocosLogger");
8
+ const formatServiceUrl_1 = require("../helpers/formatServiceUrl");
9
+ class ConfigGroupService extends BaseServiceAbstract_1.BaseServiceAbstract {
10
+ constructor(config) {
11
+ super(config);
12
+ this.logger = RocosLogger_1.RocosLogger.getInstance(`ConfigGroupService(${this.config.url})`);
13
+ }
14
+ getError(e) {
15
+ return new RocosError_1.RocosError(e, RocosError_1.errorCodes.CONFIG_GROUP_SERVICE_ERROR);
16
+ }
17
+ getStatus() {
18
+ return true;
19
+ }
20
+ /**
21
+ * Create a config group
22
+ *
23
+ * @param projectId - Project Id
24
+ * @param type - Config group type
25
+ * @param model - Payload {@link IConfigGroup}
26
+ */
27
+ // TODO: map the response object
28
+ async create(projectId, type, model) {
29
+ return this.callPost(formatServiceUrl_1.formatServiceUrl(api_1.API_PROJECT_GROUP_TYPE_URL, { url: this.config.url, projectId, type }, this.config.insecure), model, `Failed to create config group for ${projectId}, type ${type}.`);
30
+ }
31
+ /**
32
+ * Get a config group list
33
+ *
34
+ * @param projectId - Project Id
35
+ * @param type - Config group type
36
+ */
37
+ // TODO: map the response object
38
+ async list(projectId, type) {
39
+ return this.callGet(formatServiceUrl_1.formatServiceUrl(api_1.API_PROJECT_GROUP_TYPE_URL, { url: this.config.url, projectId, type }, this.config.insecure), `Failed to get config group list for ${projectId}, type ${type}.`);
40
+ }
41
+ /**
42
+ * Update a config group
43
+ *
44
+ * @param projectId - Project Id
45
+ * @param type - Config group type
46
+ * @param configGroupId - Config group Id
47
+ * @param model - Payload {@link IConfigGroup}
48
+ */
49
+ // TODO: map the response object
50
+ async update(projectId, type, configGroupId, model) {
51
+ return this.callPut(formatServiceUrl_1.formatServiceUrl(api_1.API_PROJECT_GROUP_TYPE_ID_URL, { url: this.config.url, projectId, type, configGroupId }, this.config.insecure), model, `Failed to update config group for ${projectId}, type ${type}, configGroupId ${configGroupId}.`);
52
+ }
53
+ /**
54
+ * Get a config group
55
+ *
56
+ * @param projectId - Project Id
57
+ * @param type - Config group type
58
+ * @param configGroupId - Config group Id
59
+ */
60
+ // TODO: map the response object
61
+ async info(projectId, type, configGroupId) {
62
+ return this.callGet(formatServiceUrl_1.formatServiceUrl(api_1.API_PROJECT_GROUP_TYPE_ID_URL, { url: this.config.url, projectId, type, configGroupId }, this.config.insecure), `Failed to get config group for ${projectId}, type ${type}, configGroupId ${configGroupId}.`);
63
+ }
64
+ /**
65
+ * Publish a config group
66
+ *
67
+ * @param projectId - Project Id
68
+ * @param type - Config group type
69
+ * @param configGroupId - Config group Id
70
+ * @param model - Payload {@link IConfigGroup}
71
+ */
72
+ // TODO: map the response object
73
+ async publish(projectId, type, configGroupId, model) {
74
+ return this.callPost(formatServiceUrl_1.formatServiceUrl(api_1.API_PROJECT_GROUP_TYPE_PUBLISH_URL, { url: this.config.url, projectId, type, configGroupId }, this.config.insecure), model, `Failed to publish config group for ${projectId}, type ${type}, configGroupId ${configGroupId}.`);
75
+ }
76
+ /**
77
+ * Update a config
78
+ *
79
+ * @param projectId - Project Id
80
+ * @param type - Config group type
81
+ * @param configGroupId - Config group Id
82
+ * @param configId - Config Id
83
+ * @param content - Payload
84
+ */
85
+ // TODO: map the request model
86
+ // TODO: map the response object
87
+ async updateConfig(projectId, type, configGroupId, configId,
88
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
89
+ content) {
90
+ return this.callPut(formatServiceUrl_1.formatServiceUrl(api_1.API_PROJECT_GROUP_TYPE_CONFIG_URL, {
91
+ url: this.config.url,
92
+ projectId,
93
+ type,
94
+ configGroupId,
95
+ configId,
96
+ }, this.config.insecure), content, `Failed to update config for ${projectId}, type ${type}, configGroupId ${configGroupId}, configId ${configId}.`);
97
+ }
98
+ /**
99
+ * Get a config group by version
100
+ *
101
+ * @param projectId - Project Id
102
+ * @param type - Config group type
103
+ * @param configGroupId - Config group Id
104
+ * @param version - Version
105
+ */
106
+ // TODO: map the response object
107
+ async getByVersion(projectId, type, configGroupId, version) {
108
+ return this.callGet(formatServiceUrl_1.formatServiceUrl(api_1.API_PROJECT_GROUP_TYPE_VERSION_URL, {
109
+ url: this.config.url,
110
+ projectId,
111
+ type,
112
+ configGroupId,
113
+ version,
114
+ }, this.config.insecure), `Failed to get config group for ${projectId}, type ${type}, configGroupId ${configGroupId}, version ${version}.`);
115
+ }
116
+ /**
117
+ * Override a config for owner
118
+ *
119
+ * @param projectId - Project Id
120
+ * @param type - Config group type
121
+ * @param configGroupId - Config group Id
122
+ * @param ownerId - Override Id
123
+ * @param content - Payload
124
+ */
125
+ // TODO: map the request model
126
+ // TODO: map the response object
127
+ async overrideByOwnerId(projectId, type, configGroupId, ownerId,
128
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
129
+ content) {
130
+ return this.callPost(formatServiceUrl_1.formatServiceUrl(api_1.API_PROJECT_GROUP_TYPE_OWNER_OVERRIDE_URL, {
131
+ url: this.config.url,
132
+ projectId,
133
+ type,
134
+ configGroupId,
135
+ ownerId,
136
+ }, this.config.insecure), content, `Failed to override for ${projectId}, type ${type}, configGroupId ${configGroupId}, ownerId ${ownerId}.`);
137
+ }
138
+ /**
139
+ * Get an override config for owner
140
+ *
141
+ * @param projectId - Project Id
142
+ * @param type - Config group type
143
+ * @param configGroupId - Config group Id
144
+ * @param ownerId - Override Id
145
+ */
146
+ // TODO: map the response object
147
+ async getOverrideConfig(projectId, type, configGroupId, ownerId) {
148
+ return this.callGet(formatServiceUrl_1.formatServiceUrl(api_1.API_PROJECT_GROUP_TYPE_OWNER_ID_URL, {
149
+ url: this.config.url,
150
+ projectId,
151
+ type,
152
+ configGroupId,
153
+ ownerId,
154
+ }, this.config.insecure), `Failed to get override for ${projectId}, type ${type}, configGroupId ${configGroupId}, ownerId ${ownerId}.`);
155
+ }
156
+ }
157
+ exports.ConfigGroupService = ConfigGroupService;
@@ -0,0 +1,23 @@
1
+ import { ControlActionType, IControlParams } from '../models/params/IControlParams';
2
+ import { Observable, Subject } from 'rxjs';
3
+ import { IBaseService } from '../models/IBaseService';
4
+ import { IControlStream } from '../models/stream/IControlStream';
5
+ import { IRocosControlMessage } from '../models/message/IRocosControlMessage';
6
+ import { IRocosSDKConfig } from '../models/IRocosSDKConfig';
7
+ import { IStreamConfig } from '../models/IStreamConfig';
8
+ import { ISubscriberStatus } from '../models/ISubscriberStatus';
9
+ import { SubscriberStatusEnum } from '../models/SubscriberStatusEnum';
10
+ export declare class ControlService implements IBaseService, ISubscriberStatus {
11
+ private config;
12
+ private logger;
13
+ private status;
14
+ status$: Subject<SubscriberStatusEnum>;
15
+ constructor(config: IRocosSDKConfig);
16
+ getStatus(): boolean;
17
+ takeActionWithAck(action: ControlActionType, params: IControlParams, ackTimeoutInSeconds?: number): Observable<string>;
18
+ sendCommand(params: IControlParams): Promise<void>;
19
+ sendCommandWithAck(params: IControlParams): Observable<IRocosControlMessage>;
20
+ private createStream;
21
+ private initStream;
22
+ protected getStream(config: IStreamConfig): IControlStream;
23
+ }