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

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 (468) hide show
  1. package/IRocosSDK.d.ts +55 -0
  2. package/IRocosSDK.js +2 -0
  3. package/README.md +108 -0
  4. package/RocosSDK.d.ts +138 -0
  5. package/RocosSDK.js +292 -0
  6. package/api/StreamRegister.d.ts +13 -0
  7. package/api/StreamRegister.js +69 -0
  8. package/api/atoms/StreamHeartbeat.d.ts +27 -0
  9. package/api/atoms/StreamHeartbeat.js +111 -0
  10. package/api/streams/caller/CallerStream.d.ts +13 -0
  11. package/api/streams/caller/CallerStream.js +77 -0
  12. package/api/streams/caller/CallerStreamAbstract.d.ts +23 -0
  13. package/api/streams/caller/CallerStreamAbstract.js +87 -0
  14. package/api/streams/caller/CallerStreamNode.d.ts +13 -0
  15. package/api/streams/caller/CallerStreamNode.js +115 -0
  16. package/api/streams/command/CommandStream.d.ts +10 -0
  17. package/api/streams/command/CommandStream.js +66 -0
  18. package/api/streams/command/CommandStreamAbstract.d.ts +20 -0
  19. package/api/streams/command/CommandStreamAbstract.js +63 -0
  20. package/api/streams/command/CommandStreamNode.d.ts +10 -0
  21. package/api/streams/command/CommandStreamNode.js +69 -0
  22. package/api/streams/control/ControlStream.d.ts +12 -0
  23. package/api/streams/control/ControlStream.js +75 -0
  24. package/api/streams/control/ControlStreamAbstract.d.ts +25 -0
  25. package/api/streams/control/ControlStreamAbstract.js +111 -0
  26. package/api/streams/control/ControlStreamNode.d.ts +12 -0
  27. package/api/streams/control/ControlStreamNode.js +73 -0
  28. package/api/streams/fileAccessor/FileAccessorStream.d.ts +8 -0
  29. package/api/streams/fileAccessor/FileAccessorStream.js +59 -0
  30. package/api/streams/fileAccessor/FileAccessorStreamAbstract.d.ts +21 -0
  31. package/api/streams/fileAccessor/FileAccessorStreamAbstract.js +62 -0
  32. package/api/streams/fileAccessor/FileAccessorStreamNode.d.ts +8 -0
  33. package/api/streams/fileAccessor/FileAccessorStreamNode.js +66 -0
  34. package/api/streams/search/SearchStream.d.ts +13 -0
  35. package/api/streams/search/SearchStream.js +96 -0
  36. package/api/streams/search/SearchStreamAbstract.d.ts +25 -0
  37. package/api/streams/search/SearchStreamAbstract.js +72 -0
  38. package/api/streams/search/SearchStreamNode.d.ts +13 -0
  39. package/api/streams/search/SearchStreamNode.js +118 -0
  40. package/api/streams/telemetry/TelemetryStream.d.ts +17 -0
  41. package/api/streams/telemetry/TelemetryStream.js +97 -0
  42. package/api/streams/telemetry/TelemetryStreamAbstract.d.ts +59 -0
  43. package/api/streams/telemetry/TelemetryStreamAbstract.js +402 -0
  44. package/api/streams/telemetry/TelemetryStreamNode.d.ts +21 -0
  45. package/api/streams/telemetry/TelemetryStreamNode.js +175 -0
  46. package/api/streams/webRTCSignalling/WebRTCSignallingStream.d.ts +39 -0
  47. package/api/streams/webRTCSignalling/WebRTCSignallingStream.js +84 -0
  48. package/api/streams/webRTCSignalling/WebRTCSignallingStreamAbstract.d.ts +29 -0
  49. package/api/streams/webRTCSignalling/WebRTCSignallingStreamAbstract.js +65 -0
  50. package/constants/api.d.ts +126 -0
  51. package/constants/api.js +126 -0
  52. package/constants/auth.d.ts +2 -0
  53. package/constants/auth.js +2 -0
  54. package/constants/grpc.d.ts +5 -0
  55. package/constants/grpc.js +5 -0
  56. package/constants/identifier.d.ts +6 -0
  57. package/constants/identifier.js +6 -0
  58. package/constants/timezones.d.ts +2 -0
  59. package/constants/timezones.js +427 -0
  60. package/grpc/conker_pb.client.d.ts +78 -0
  61. package/grpc/conker_pb.client.js +55 -0
  62. package/grpc/conker_pb.d.ts +141 -0
  63. package/grpc/conker_pb.grpc-client.d.ts +81 -0
  64. package/grpc/conker_pb.grpc-client.js +58 -0
  65. package/grpc/conker_pb.js +104 -0
  66. package/grpc/filagree_pb.client.d.ts +68 -0
  67. package/grpc/filagree_pb.client.js +48 -0
  68. package/grpc/filagree_pb.d.ts +404 -0
  69. package/grpc/filagree_pb.grpc-client.d.ts +69 -0
  70. package/grpc/filagree_pb.grpc-client.js +51 -0
  71. package/grpc/filagree_pb.js +329 -0
  72. package/grpc/google/protobuf/descriptor_pb.d.ts +1798 -0
  73. package/grpc/google/protobuf/descriptor_pb.js +2378 -0
  74. package/grpc/google/protobuf/empty_pb.d.ts +23 -0
  75. package/grpc/google/protobuf/empty_pb.js +47 -0
  76. package/grpc/pigeon_pb.client.d.ts +96 -0
  77. package/grpc/pigeon_pb.client.js +72 -0
  78. package/grpc/pigeon_pb.d.ts +207 -0
  79. package/grpc/pigeon_pb.grpc-client.d.ts +98 -0
  80. package/grpc/pigeon_pb.grpc-client.js +68 -0
  81. package/grpc/pigeon_pb.js +144 -0
  82. package/grpc/rambo.uri.v1_pb.d.ts +73 -0
  83. package/grpc/rambo.uri.v1_pb.js +48 -0
  84. package/grpc/rambo.v1_pb.client.d.ts +66 -0
  85. package/grpc/rambo.v1_pb.client.js +48 -0
  86. package/grpc/rambo.v1_pb.d.ts +392 -0
  87. package/grpc/rambo.v1_pb.grpc-client.d.ts +56 -0
  88. package/grpc/rambo.v1_pb.grpc-client.js +44 -0
  89. package/grpc/rambo.v1_pb.js +272 -0
  90. package/grpc/serviette.uri.v1_pb.d.ts +89 -0
  91. package/grpc/serviette.uri.v1_pb.js +62 -0
  92. package/grpc/serviette.v1_pb.client.d.ts +225 -0
  93. package/grpc/serviette.v1_pb.client.js +174 -0
  94. package/grpc/serviette.v1_pb.d.ts +827 -0
  95. package/grpc/serviette.v1_pb.grpc-client.d.ts +215 -0
  96. package/grpc/serviette.v1_pb.grpc-client.js +162 -0
  97. package/grpc/serviette.v1_pb.js +553 -0
  98. package/grpc/slowlane_pb.client.d.ts +61 -0
  99. package/grpc/slowlane_pb.client.js +41 -0
  100. package/grpc/slowlane_pb.d.ts +303 -0
  101. package/grpc/slowlane_pb.grpc-client.d.ts +64 -0
  102. package/grpc/slowlane_pb.grpc-client.js +44 -0
  103. package/grpc/slowlane_pb.js +185 -0
  104. package/grpc/teletubby_pb.client.d.ts +145 -0
  105. package/grpc/teletubby_pb.client.js +104 -0
  106. package/grpc/teletubby_pb.d.ts +634 -0
  107. package/grpc/teletubby_pb.grpc-client.d.ts +152 -0
  108. package/grpc/teletubby_pb.grpc-client.js +100 -0
  109. package/grpc/teletubby_pb.js +1264 -0
  110. package/helpers/arrayRemove.d.ts +1 -0
  111. package/helpers/arrayRemove.js +3 -0
  112. package/helpers/arrayUnique.d.ts +1 -0
  113. package/helpers/arrayUnique.js +3 -0
  114. package/helpers/average.d.ts +1 -0
  115. package/helpers/average.js +6 -0
  116. package/helpers/cleanObject.d.ts +1 -0
  117. package/helpers/cleanObject.js +18 -0
  118. package/helpers/cleanObject.spec.d.ts +1 -0
  119. package/helpers/cleanObject.spec.js +53 -0
  120. package/helpers/enviroment.d.ts +8 -0
  121. package/helpers/enviroment.js +13 -0
  122. package/helpers/flattenCallsignsLookup.d.ts +2 -0
  123. package/helpers/flattenCallsignsLookup.js +6 -0
  124. package/helpers/flattenObject.d.ts +1 -0
  125. package/helpers/flattenObject.js +13 -0
  126. package/helpers/flattenObject.spec.d.ts +1 -0
  127. package/helpers/flattenObject.spec.js +29 -0
  128. package/helpers/flattenOneOf.d.ts +67 -0
  129. package/helpers/flattenOneOf.js +29 -0
  130. package/helpers/flattenOneOf.spec.d.ts +1 -0
  131. package/helpers/flattenOneOf.spec.js +157 -0
  132. package/helpers/formatServiceUrl.d.ts +1 -0
  133. package/helpers/formatServiceUrl.js +7 -0
  134. package/helpers/formatServiceUrl.spec.d.ts +1 -0
  135. package/helpers/formatServiceUrl.spec.js +16 -0
  136. package/helpers/generateUUID.d.ts +1 -0
  137. package/helpers/generateUUID.js +4 -0
  138. package/helpers/getSubscriptionsDifference.d.ts +10 -0
  139. package/helpers/getSubscriptionsDifference.js +35 -0
  140. package/helpers/getUniqueConfigKey.d.ts +7 -0
  141. package/helpers/getUniqueConfigKey.js +14 -0
  142. package/helpers/getUniqueId.d.ts +9 -0
  143. package/helpers/getUniqueId.js +11 -0
  144. package/helpers/getUnixTimeMs.d.ts +1 -0
  145. package/helpers/getUnixTimeMs.js +4 -0
  146. package/helpers/index.d.ts +3 -0
  147. package/helpers/index.js +3 -0
  148. package/helpers/nanosecondToMillisecond.d.ts +1 -0
  149. package/helpers/nanosecondToMillisecond.js +6 -0
  150. package/helpers/randomString.d.ts +1 -0
  151. package/helpers/randomString.js +3 -0
  152. package/helpers/standardDeviation.d.ts +1 -0
  153. package/helpers/standardDeviation.js +12 -0
  154. package/helpers/standardDeviation.spec.d.ts +1 -0
  155. package/helpers/standardDeviation.spec.js +11 -0
  156. package/helpers/stringToUint8Array.d.ts +1 -0
  157. package/helpers/stringToUint8Array.js +10 -0
  158. package/helpers/uint8ArrayToString.d.ts +1 -0
  159. package/helpers/uint8ArrayToString.js +10 -0
  160. package/index.d.ts +7 -0
  161. package/index.js +7 -0
  162. package/logger/RocosLogger.d.ts +7 -0
  163. package/logger/RocosLogger.js +37 -0
  164. package/models/CallsignStatus.d.ts +6 -0
  165. package/models/CallsignStatus.js +7 -0
  166. package/models/ExportDataQuery.d.ts +8 -0
  167. package/models/ExportDataQuery.js +13 -0
  168. package/models/ExternalProject.d.ts +6 -0
  169. package/models/ExternalProject.js +2 -0
  170. package/models/IBaseService.d.ts +4 -0
  171. package/models/IBaseService.js +1 -0
  172. package/models/IConfigGroup.d.ts +5 -0
  173. package/models/IConfigGroup.js +1 -0
  174. package/models/IDebugLevel.d.ts +2 -0
  175. package/models/IDebugLevel.js +1 -0
  176. package/models/IExportDataQuery.d.ts +9 -0
  177. package/models/IExportDataQuery.js +1 -0
  178. package/models/IFunctionConfig.d.ts +8 -0
  179. package/models/IFunctionConfig.js +1 -0
  180. package/models/IInvitation.d.ts +6 -0
  181. package/models/IInvitation.js +1 -0
  182. package/models/IInvitationExists.d.ts +4 -0
  183. package/models/IInvitationExists.js +1 -0
  184. package/models/IOperation.d.ts +6 -0
  185. package/models/IOperation.js +1 -0
  186. package/models/IPersonalAccessToken.d.ts +16 -0
  187. package/models/IPersonalAccessToken.js +1 -0
  188. package/models/IProject.d.ts +4 -0
  189. package/models/IProject.js +1 -0
  190. package/models/IProjectApplication.d.ts +6 -0
  191. package/models/IProjectApplication.js +1 -0
  192. package/models/IRobot.d.ts +18 -0
  193. package/models/IRobot.js +1 -0
  194. package/models/IRobotConfig.d.ts +8 -0
  195. package/models/IRobotConfig.js +1 -0
  196. package/models/IRobotPlugin.d.ts +3 -0
  197. package/models/IRobotPlugin.js +1 -0
  198. package/models/IRobotSettings.d.ts +28 -0
  199. package/models/IRobotSettings.js +1 -0
  200. package/models/IRobotTemplate.d.ts +10 -0
  201. package/models/IRobotTemplate.js +1 -0
  202. package/models/IRocosSDKConfig.d.ts +19 -0
  203. package/models/IRocosSDKConfig.js +1 -0
  204. package/models/ISource.d.ts +8 -0
  205. package/models/ISource.js +1 -0
  206. package/models/IStream.d.ts +9 -0
  207. package/models/IStream.js +1 -0
  208. package/models/IStreamConfig.d.ts +9 -0
  209. package/models/IStreamConfig.js +1 -0
  210. package/models/IStreamOptions.d.ts +7 -0
  211. package/models/IStreamOptions.js +1 -0
  212. package/models/IStreamSource.d.ts +8 -0
  213. package/models/IStreamSource.js +1 -0
  214. package/models/ISubscriberStatus.d.ts +5 -0
  215. package/models/ISubscriberStatus.js +1 -0
  216. package/models/ITelemetryStreamConfig.d.ts +7 -0
  217. package/models/ITelemetryStreamConfig.js +1 -0
  218. package/models/IToken.d.ts +9 -0
  219. package/models/IToken.js +1 -0
  220. package/models/IWidget.d.ts +25 -0
  221. package/models/IWidget.js +1 -0
  222. package/models/IWidgetLineGroup.d.ts +8 -0
  223. package/models/IWidgetLineGroup.js +1 -0
  224. package/models/ResponseLevelEnum.d.ts +10 -0
  225. package/models/ResponseLevelEnum.js +11 -0
  226. package/models/Robot.d.ts +20 -0
  227. package/models/Robot.js +8 -0
  228. package/models/RobotConfig.d.ts +10 -0
  229. package/models/RobotConfig.js +5 -0
  230. package/models/RobotPlugin.d.ts +5 -0
  231. package/models/RobotPlugin.js +5 -0
  232. package/models/RobotTemplate.d.ts +12 -0
  233. package/models/RobotTemplate.js +25 -0
  234. package/models/RocosError.d.ts +30 -0
  235. package/models/RocosError.js +39 -0
  236. package/models/ServiceEnum.d.ts +26 -0
  237. package/models/ServiceEnum.js +27 -0
  238. package/models/Stream.d.ts +10 -0
  239. package/models/Stream.js +11 -0
  240. package/models/StreamOptions.d.ts +9 -0
  241. package/models/StreamOptions.js +33 -0
  242. package/models/StreamSource.d.ts +10 -0
  243. package/models/StreamSource.js +11 -0
  244. package/models/SubscriberStatusEnum.d.ts +6 -0
  245. package/models/SubscriberStatusEnum.js +7 -0
  246. package/models/Token.d.ts +40 -0
  247. package/models/Token.js +78 -0
  248. package/models/Token.spec.d.ts +1 -0
  249. package/models/Token.spec.js +108 -0
  250. package/models/Widget.d.ts +27 -0
  251. package/models/Widget.js +12 -0
  252. package/models/WidgetLineGroup.d.ts +10 -0
  253. package/models/WidgetLineGroup.js +5 -0
  254. package/models/asset-storage/AssetModelItem.d.ts +29 -0
  255. package/models/asset-storage/AssetModelItem.js +1 -0
  256. package/models/caller/IRocosCallerMessageChunk.d.ts +10 -0
  257. package/models/caller/IRocosCallerMessageChunk.js +1 -0
  258. package/models/caller/IRocosCallerMessageChunks.d.ts +4 -0
  259. package/models/caller/IRocosCallerMessageChunks.js +1 -0
  260. package/models/caller/IRocosCallerMessageHeartbeat.d.ts +3 -0
  261. package/models/caller/IRocosCallerMessageHeartbeat.js +1 -0
  262. package/models/caller/IRocosCallerMessageResponse.d.ts +10 -0
  263. package/models/caller/IRocosCallerMessageResponse.js +1 -0
  264. package/models/caller/IRocosCallerMessageResponseAck.d.ts +16 -0
  265. package/models/caller/IRocosCallerMessageResponseAck.js +13 -0
  266. package/models/caller/IRocosCallerMessageResponseResult.d.ts +15 -0
  267. package/models/caller/IRocosCallerMessageResponseResult.js +12 -0
  268. package/models/caller/IRocosCallerMessageResponseReturn.d.ts +8 -0
  269. package/models/caller/IRocosCallerMessageResponseReturn.js +1 -0
  270. package/models/caller/IRocosCallerMessageResponseUid.d.ts +10 -0
  271. package/models/caller/IRocosCallerMessageResponseUid.js +7 -0
  272. package/models/caller/IRocosCallerMessageResponses.d.ts +4 -0
  273. package/models/caller/IRocosCallerMessageResponses.js +1 -0
  274. package/models/caller/RocosCallerResultStatus.d.ts +11 -0
  275. package/models/caller/RocosCallerResultStatus.js +12 -0
  276. package/models/caller/RocosResponseLevel.d.ts +6 -0
  277. package/models/caller/RocosResponseLevel.js +7 -0
  278. package/models/caller/index.d.ts +10 -0
  279. package/models/caller/index.js +10 -0
  280. package/models/callsigns/CallsignsEnums.d.ts +13 -0
  281. package/models/callsigns/CallsignsEnums.js +17 -0
  282. package/models/callsigns/CallsignsLookup.d.ts +8 -0
  283. package/models/callsigns/CallsignsLookup.js +28 -0
  284. package/models/callsigns/CallsignsQuery.d.ts +9 -0
  285. package/models/callsigns/CallsignsQuery.js +14 -0
  286. package/models/callsigns/CallsignsQueryPredicate.d.ts +9 -0
  287. package/models/callsigns/CallsignsQueryPredicate.js +15 -0
  288. package/models/command/IRocosCommandMessageHeartbeat.d.ts +1 -0
  289. package/models/command/IRocosCommandMessageHeartbeat.js +1 -0
  290. package/models/command/IRocosCommandMessageResponse.d.ts +55 -0
  291. package/models/command/IRocosCommandMessageResponse.js +29 -0
  292. package/models/command/RocosCommandResultStatus.d.ts +11 -0
  293. package/models/command/RocosCommandResultStatus.js +12 -0
  294. package/models/command/index.d.ts +4 -0
  295. package/models/command/index.js +4 -0
  296. package/models/file/FileEnums.d.ts +30 -0
  297. package/models/file/FileEnums.js +33 -0
  298. package/models/index.d.ts +75 -0
  299. package/models/index.js +75 -0
  300. package/models/integrations/Overlay.d.ts +49 -0
  301. package/models/integrations/Overlay.js +1 -0
  302. package/models/integrations/Plan.d.ts +324 -0
  303. package/models/integrations/Plan.js +1 -0
  304. package/models/maps/Map.d.ts +13 -0
  305. package/models/maps/Map.js +1 -0
  306. package/models/message/IRocosCallerMessage.d.ts +8 -0
  307. package/models/message/IRocosCallerMessage.js +1 -0
  308. package/models/message/IRocosChangeMessage.d.ts +6 -0
  309. package/models/message/IRocosChangeMessage.js +1 -0
  310. package/models/message/IRocosCommandMessage.d.ts +6 -0
  311. package/models/message/IRocosCommandMessage.js +1 -0
  312. package/models/message/IRocosControlMessage.d.ts +7 -0
  313. package/models/message/IRocosControlMessage.js +1 -0
  314. package/models/message/IRocosOpResultMessage.d.ts +6 -0
  315. package/models/message/IRocosOpResultMessage.js +1 -0
  316. package/models/message/IRocosSearchMessage.d.ts +5 -0
  317. package/models/message/IRocosSearchMessage.js +1 -0
  318. package/models/message/IRocosSearchRowMessage.d.ts +9 -0
  319. package/models/message/IRocosSearchRowMessage.js +1 -0
  320. package/models/message/IRocosSearchStatusMessage.d.ts +4 -0
  321. package/models/message/IRocosSearchStatusMessage.js +1 -0
  322. package/models/message/IRocosTelemetryMessage.d.ts +23 -0
  323. package/models/message/IRocosTelemetryMessage.js +1 -0
  324. package/models/message/IStreamStatusMessage.d.ts +5 -0
  325. package/models/message/IStreamStatusMessage.js +1 -0
  326. package/models/message/RocosCallerMessage.d.ts +10 -0
  327. package/models/message/RocosCallerMessage.js +32 -0
  328. package/models/message/RocosCommandMessage.d.ts +9 -0
  329. package/models/message/RocosCommandMessage.js +13 -0
  330. package/models/message/RocosControlMessage.d.ts +11 -0
  331. package/models/message/RocosControlMessage.js +14 -0
  332. package/models/message/RocosOpResultMessage.d.ts +10 -0
  333. package/models/message/RocosOpResultMessage.js +18 -0
  334. package/models/message/RocosSearchMessage.d.ts +9 -0
  335. package/models/message/RocosSearchMessage.js +24 -0
  336. package/models/message/RocosSearchRowMessage.d.ts +13 -0
  337. package/models/message/RocosSearchRowMessage.js +16 -0
  338. package/models/message/RocosTelemetryMessage.d.ts +10 -0
  339. package/models/message/RocosTelemetryMessage.js +63 -0
  340. package/models/message/index.d.ts +17 -0
  341. package/models/message/index.js +17 -0
  342. package/models/params/ICallerParams.d.ts +16 -0
  343. package/models/params/ICallerParams.js +1 -0
  344. package/models/params/ICommandParams.d.ts +9 -0
  345. package/models/params/ICommandParams.js +1 -0
  346. package/models/params/IControlParams.d.ts +8 -0
  347. package/models/params/IControlParams.js +1 -0
  348. package/models/params/IFileAccessorParams.d.ts +11 -0
  349. package/models/params/IFileAccessorParams.js +1 -0
  350. package/models/params/ISearchParams.d.ts +10 -0
  351. package/models/params/ISearchParams.js +1 -0
  352. package/models/params/ITelemetryParams.d.ts +18 -0
  353. package/models/params/ITelemetryParams.js +1 -0
  354. package/models/params/IWebRTCSignallingParams.d.ts +21 -0
  355. package/models/params/IWebRTCSignallingParams.js +1 -0
  356. package/models/projects/ProjectUser.d.ts +6 -0
  357. package/models/projects/ProjectUser.js +1 -0
  358. package/models/schedule/IScheduleAction.d.ts +13 -0
  359. package/models/schedule/IScheduleAction.js +6 -0
  360. package/models/schedule/IScheduleInfo.d.ts +11 -0
  361. package/models/schedule/IScheduleInfo.js +1 -0
  362. package/models/schedule/IScheduleJob.d.ts +12 -0
  363. package/models/schedule/IScheduleJob.js +1 -0
  364. package/models/search/SearchQueryFilter.d.ts +5 -0
  365. package/models/search/SearchQueryFilter.js +5 -0
  366. package/models/search/SearchStreamQuery.d.ts +15 -0
  367. package/models/search/SearchStreamQuery.js +6 -0
  368. package/models/stream/IBaseStream.d.ts +8 -0
  369. package/models/stream/IBaseStream.js +1 -0
  370. package/models/stream/ICallerStream.d.ts +8 -0
  371. package/models/stream/ICallerStream.js +1 -0
  372. package/models/stream/ICommandStream.d.ts +7 -0
  373. package/models/stream/ICommandStream.js +1 -0
  374. package/models/stream/IControlStream.d.ts +9 -0
  375. package/models/stream/IControlStream.js +1 -0
  376. package/models/stream/IFileAccessorStream.d.ts +9 -0
  377. package/models/stream/IFileAccessorStream.js +1 -0
  378. package/models/stream/ISearchStream.d.ts +11 -0
  379. package/models/stream/ISearchStream.js +1 -0
  380. package/models/stream/ITelemetryStream.d.ts +10 -0
  381. package/models/stream/ITelemetryStream.js +1 -0
  382. package/models/stream/IWebRTCSignallingStream.d.ts +76 -0
  383. package/models/stream/IWebRTCSignallingStream.js +1 -0
  384. package/models/types.d.ts +5 -0
  385. package/models/types.js +1 -0
  386. package/node/RocosSDKNode.d.ts +42 -0
  387. package/node/RocosSDKNode.js +143 -0
  388. package/node/index.d.ts +7 -0
  389. package/node/index.js +7 -0
  390. package/package.json +22 -6
  391. package/services/AssetStorageService.d.ts +99 -0
  392. package/services/AssetStorageService.js +158 -0
  393. package/services/AuthService.d.ts +93 -0
  394. package/services/AuthService.js +235 -0
  395. package/services/AuthService.spec.d.ts +1 -0
  396. package/services/AuthService.spec.js +163 -0
  397. package/services/BaseServiceAbstract.d.ts +36 -0
  398. package/services/BaseServiceAbstract.js +101 -0
  399. package/services/BaseStreamService.d.ts +18 -0
  400. package/services/BaseStreamService.js +47 -0
  401. package/services/CallerService.d.ts +10 -0
  402. package/services/CallerService.js +53 -0
  403. package/services/CallerServiceNode.d.ts +6 -0
  404. package/services/CallerServiceNode.js +7 -0
  405. package/services/CommandService.d.ts +9 -0
  406. package/services/CommandService.js +38 -0
  407. package/services/CommandServiceNode.d.ts +6 -0
  408. package/services/CommandServiceNode.js +7 -0
  409. package/services/ConfigGroupService.d.ts +89 -0
  410. package/services/ConfigGroupService.js +153 -0
  411. package/services/ControlService.d.ts +11 -0
  412. package/services/ControlService.js +57 -0
  413. package/services/ControlServiceNode.d.ts +6 -0
  414. package/services/ControlServiceNode.js +7 -0
  415. package/services/DashboardService.d.ts +97 -0
  416. package/services/DashboardService.js +142 -0
  417. package/services/EventService.d.ts +53 -0
  418. package/services/EventService.js +85 -0
  419. package/services/FileAccessorService.d.ts +11 -0
  420. package/services/FileAccessorService.js +37 -0
  421. package/services/FileAccessorServiceNode.d.ts +6 -0
  422. package/services/FileAccessorServiceNode.js +7 -0
  423. package/services/FunctionService.d.ts +68 -0
  424. package/services/FunctionService.js +99 -0
  425. package/services/IntegrationService.d.ts +48 -0
  426. package/services/IntegrationService.js +72 -0
  427. package/services/MapService.d.ts +109 -0
  428. package/services/MapService.js +149 -0
  429. package/services/PlatformTimeService.d.ts +35 -0
  430. package/services/PlatformTimeService.js +156 -0
  431. package/services/PlatformTimeService.spec.d.ts +1 -0
  432. package/services/PlatformTimeService.spec.js +180 -0
  433. package/services/ProfileService.d.ts +244 -0
  434. package/services/ProfileService.js +362 -0
  435. package/services/ProjectService.d.ts +110 -0
  436. package/services/ProjectService.js +160 -0
  437. package/services/RobotService.d.ts +278 -0
  438. package/services/RobotService.js +460 -0
  439. package/services/ScheduleService.d.ts +22 -0
  440. package/services/ScheduleService.js +36 -0
  441. package/services/SearchService.d.ts +12 -0
  442. package/services/SearchService.js +58 -0
  443. package/services/SearchServiceNode.d.ts +6 -0
  444. package/services/SearchServiceNode.js +7 -0
  445. package/services/SpotProvisioningService.d.ts +14 -0
  446. package/services/SpotProvisioningService.js +43 -0
  447. package/services/SpotProvisioningServiceNode.d.ts +15 -0
  448. package/services/SpotProvisioningServiceNode.js +43 -0
  449. package/services/StreamService.d.ts +98 -0
  450. package/services/StreamService.js +142 -0
  451. package/services/TelemetryService.d.ts +40 -0
  452. package/services/TelemetryService.js +142 -0
  453. package/services/TelemetryService.spec.d.ts +1 -0
  454. package/services/TelemetryService.spec.js +37 -0
  455. package/services/TelemetryServiceNode.d.ts +6 -0
  456. package/services/TelemetryServiceNode.js +7 -0
  457. package/services/TimeSyncerService.d.ts +13 -0
  458. package/services/TimeSyncerService.js +23 -0
  459. package/services/UserService.d.ts +200 -0
  460. package/services/UserService.js +315 -0
  461. package/services/WebRTCSignallingService.d.ts +22 -0
  462. package/services/WebRTCSignallingService.js +78 -0
  463. package/services/WorkflowService.d.ts +71 -0
  464. package/services/WorkflowService.js +118 -0
  465. package/services/index.d.ts +26 -0
  466. package/services/index.js +26 -0
  467. package/store/RocosStore.d.ts +31 -0
  468. package/store/RocosStore.js +47 -0
@@ -0,0 +1,460 @@
1
+ import { API_PROJECT_PROFILE_DASHBOARD_CUSTOM_WIDGET_URL, API_PROJECT_PROFILE_DASHBOARD_ID_URL, API_PROJECT_PROFILE_DASHBOARD_URL, API_PROJECT_ROBOT_AGENT_URL, API_PROJECT_ROBOT_ATTRIBUTES_URL, API_PROJECT_ROBOT_BUTTON_URL, API_PROJECT_ROBOT_COMMAND2_URL, API_PROJECT_ROBOT_COMMAND_URL, API_PROJECT_ROBOT_DASHBOARD_CUSTOM_WIDGET_URL, API_PROJECT_ROBOT_DASHBOARD_ID_URL, API_PROJECT_ROBOT_DASHBOARD_URL, API_PROJECT_ROBOT_GAMEPAD_URL, API_PROJECT_ROBOT_ID_URL, API_PROJECT_ROBOT_REGISTER_URL, API_PROJECT_ROBOT_SETTING_URL, API_PROJECT_ROBOT_TRIGGER_URL, API_PROJECT_ROBOT_URL, API_PROJECT_VROBOT_DEPLOY_URL, API_PROJECT_VROBOT_DETAILS_URL, API_SOURCE_SCHEMA_URL, API_TEMPLATE_DEPLOY_URL, } from '../constants/api';
2
+ import { errorCodes, Robot, RobotTemplate, RocosError, } from '../models';
3
+ import { BaseServiceAbstract } from './BaseServiceAbstract';
4
+ import { RocosLogger } from '../logger/RocosLogger';
5
+ import { cleanObject } from '../helpers/cleanObject';
6
+ import { formatServiceUrl } from '../helpers/formatServiceUrl';
7
+ export class RobotService extends BaseServiceAbstract {
8
+ constructor(config) {
9
+ super(config);
10
+ this.logger = RocosLogger.getInstance(`RobotService(${this.config.url})`);
11
+ }
12
+ getError(e) {
13
+ return new RocosError(e, errorCodes.ROBOT_SERVICE_ERROR);
14
+ }
15
+ getStatus() {
16
+ return true;
17
+ }
18
+ /**
19
+ * Get a list of robots.
20
+ *
21
+ * @param projectId - Project Id
22
+ */
23
+ async getRobots(projectId) {
24
+ const data = await this.callGet(formatServiceUrl(API_PROJECT_ROBOT_URL, { url: this.config.url, projectId }, this.config.insecure), `Failed to get robots list for ${projectId}.`);
25
+ return data.map((item) => cleanObject(new Robot(item)));
26
+ }
27
+ /**
28
+ * Create a new robot.
29
+ *
30
+ * @param projectId
31
+ * @param robot - Robot payload {@link IRobot}
32
+ */
33
+ // TODO: map the response object
34
+ async create(projectId, robot) {
35
+ return this.callPost(formatServiceUrl(API_PROJECT_ROBOT_URL, { url: this.config.url, projectId }, this.config.insecure), robot, 'Failed to create robot.');
36
+ }
37
+ /**
38
+ * Update robot information.
39
+ *
40
+ * @param projectId Project Id
41
+ * @param robot - Robot payload {@link IRobot}
42
+ */
43
+ // TODO: map the response object
44
+ async update(projectId, robot) {
45
+ return this.callPut(formatServiceUrl(API_PROJECT_ROBOT_URL, { url: this.config.url, projectId }, this.config.insecure), robot, 'Failed to update robot.');
46
+ }
47
+ /**
48
+ * Delete the robots by callsign list
49
+ *
50
+ * @param projectId - Project Id
51
+ * @param callsignIds - Callsign list
52
+ */
53
+ // TODO: map the response object
54
+ async delete(projectId, callsignIds) {
55
+ return this.callDelete(formatServiceUrl(API_PROJECT_ROBOT_URL, { url: this.config.url, projectId }, this.config.insecure), 'Failed to delete robots.', callsignIds);
56
+ }
57
+ /**
58
+ * Get robot information by project id and callsign of the robot.
59
+ *
60
+ * @param projectId - Project Id
61
+ * @param callsign - Callsign of the robot
62
+ */
63
+ async info(projectId, callsign) {
64
+ return this.callGet(formatServiceUrl(API_PROJECT_ROBOT_ID_URL, { url: this.config.url, projectId, callsign }, this.config.insecure), 'Failed to get robot info.');
65
+ }
66
+ /**
67
+ * Get robot information by project id and callsign of the robot.
68
+ *
69
+ * @param projectId - Project Id
70
+ * @param callsign - Callsign of the robot
71
+ */
72
+ async attributes(projectId, callsign) {
73
+ return this.callGet(formatServiceUrl(API_PROJECT_ROBOT_ATTRIBUTES_URL, { url: this.config.url, projectId, callsign }, this.config.insecure), 'Failed to get robot attributes.');
74
+ }
75
+ /**
76
+ * Register the specified callsign
77
+ *
78
+ * @param projectId - Project Id
79
+ * @param callsign - Callsign of the robot
80
+ */
81
+ // TODO: map the response object
82
+ async register(projectId, callsign) {
83
+ return this.callPost(formatServiceUrl(API_PROJECT_ROBOT_REGISTER_URL, { url: this.config.url, projectId, callsign }, this.config.insecure), {}, 'Failed to register robot.');
84
+ }
85
+ /**
86
+ * Robot Templates
87
+ */
88
+ async templates() {
89
+ const data = await this.callGet(formatServiceUrl(API_TEMPLATE_DEPLOY_URL, { url: this.config.url }, this.config.insecure), 'Failed to get robot templates.');
90
+ return data.map((item) => cleanObject(new RobotTemplate(item)));
91
+ }
92
+ /**
93
+ * Get the deployment details of virtual robot.
94
+ *
95
+ * @param projectId - Project Id
96
+ * @param callsign - Virtual Robot Callsign
97
+ */
98
+ // TODO: map the response object
99
+ async virtualRobotDeploymentDetails(projectId, callsign) {
100
+ return this.callGet(formatServiceUrl(API_PROJECT_VROBOT_DETAILS_URL, { url: this.config.url, projectId, callsign }, this.config.insecure), 'Failed to get virtual robot details.');
101
+ }
102
+ /**
103
+ * Deploy a virtual robot by project id and callsign
104
+ *
105
+ * @param projectId - Project Id
106
+ * @param callsign - Robot's Callsign
107
+ */
108
+ // TODO: map the response object
109
+ async deployVirtualRobot(projectId, callsign) {
110
+ return this.callPost(formatServiceUrl(API_PROJECT_VROBOT_DEPLOY_URL, { url: this.config.url, projectId, callsign }, this.config.insecure), null, 'Failed to deploy a virtual robot.');
111
+ }
112
+ /**
113
+ * Get data sources tree components JSON schema
114
+ */
115
+ // TODO: map the response object
116
+ async dataSourcesSchema() {
117
+ return this.callGet(formatServiceUrl(API_SOURCE_SCHEMA_URL, { url: this.config.url }, this.config.insecure), 'Failed to get source schemas.');
118
+ }
119
+ /**
120
+ * Delete a robot dashboard.
121
+ *
122
+ * @param projectId - Project Id
123
+ * @param callsign - Robot Callsign
124
+ * @param dashboardId - Dashboard Id
125
+ */
126
+ // TODO: map the response object
127
+ async deleteRobotDashboardsV2(projectId, callsign, dashboardId) {
128
+ return this.callDelete(formatServiceUrl(API_PROJECT_ROBOT_DASHBOARD_ID_URL, {
129
+ url: this.config.url,
130
+ projectId,
131
+ callsign,
132
+ dashboardId,
133
+ }, this.config.insecure), 'Failed to delete dashboard.');
134
+ }
135
+ /**
136
+ * Delete a profile dashboard.
137
+ *
138
+ * @param projectId - Project Id
139
+ * @param profileId - Profile Id
140
+ * @param dashboardId - Dashboard Id
141
+ */
142
+ // TODO: map the response object
143
+ async deleteDashboardsV2(projectId, profileId, dashboardId) {
144
+ return this.callDelete(formatServiceUrl(API_PROJECT_PROFILE_DASHBOARD_ID_URL, {
145
+ url: this.config.url,
146
+ projectId,
147
+ profileId,
148
+ dashboardId,
149
+ }, this.config.insecure), 'Failed to delete dashboard.');
150
+ }
151
+ /**
152
+ * Get a list of robot dashboards.
153
+ *
154
+ * @param projectId - Project Id
155
+ * @param callsign - Robot Callsign
156
+ */
157
+ // TODO: map the response object
158
+ async listRobotDashboardsV2(projectId, callsign) {
159
+ return this.callGet(formatServiceUrl(API_PROJECT_ROBOT_DASHBOARD_URL, { url: this.config.url, projectId, callsign }, this.config.insecure), 'Failed to get robot dashboards.');
160
+ }
161
+ /**
162
+ * Get a list of profile dashboards.
163
+ *
164
+ * @param projectId - Project Id
165
+ * @param profileId - Profile Id
166
+ */
167
+ // TODO: map the response object
168
+ async listDashboardsV2(projectId, profileId) {
169
+ return this.callGet(formatServiceUrl(API_PROJECT_PROFILE_DASHBOARD_URL, { url: this.config.url, projectId, profileId }, this.config.insecure), 'Failed to get profile dashboards.');
170
+ }
171
+ /**
172
+ * Get a profile dashboard.
173
+ *
174
+ * @param projectId - Project Id
175
+ * @param profileId - Profile Id
176
+ * @param dashboardId - Dashboard Id
177
+ */
178
+ // TODO: map the response object
179
+ async robotDefDashboardsV2(projectId, profileId, dashboardId) {
180
+ return this.callGet(formatServiceUrl(API_PROJECT_PROFILE_DASHBOARD_ID_URL, {
181
+ url: this.config.url,
182
+ projectId,
183
+ profileId,
184
+ dashboardId,
185
+ }, this.config.insecure), 'Failed to get profile dashboard.');
186
+ }
187
+ /**
188
+ * Get Dashboard data which stored in Azure Blob.
189
+ *
190
+ * @param projectId - Project Id
191
+ * @param profileId - Profile Id
192
+ * @param dashboardId - Dashboard Id
193
+ */
194
+ // TODO: map the response object
195
+ async robotDefDashboardBlobV2(projectId, profileId, dashboardId) {
196
+ return this.callGet(formatServiceUrl(API_PROJECT_PROFILE_DASHBOARD_CUSTOM_WIDGET_URL, {
197
+ url: this.config.url,
198
+ projectId,
199
+ profileId,
200
+ dashboardId,
201
+ }, this.config.insecure), 'Failed to get profile dashboard blob.');
202
+ }
203
+ /**
204
+ * Create dashboard for a robot.
205
+ *
206
+ * @param projectId - Project Id
207
+ * @param callsign - Robot Callsign
208
+ * @param model - Payload
209
+ */
210
+ // TODO: map the request model
211
+ // TODO: map the response object
212
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
213
+ async createRobotDashboardsV2(projectId, callsign, model) {
214
+ return this.callPost(formatServiceUrl(API_PROJECT_ROBOT_DASHBOARD_URL, { url: this.config.url, projectId, callsign }, this.config.insecure), model, 'Failed to create robot dashboard.');
215
+ }
216
+ /**
217
+ * Create dashboard for a profile.
218
+ *
219
+ * @param projectId - Project Id
220
+ * @param profileId - Profile Id
221
+ * @param model - Payload
222
+ */
223
+ // TODO: map the request model
224
+ // TODO: map the response object
225
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
226
+ async createDashboardsV2(projectId, profileId, model) {
227
+ return this.callPost(formatServiceUrl(API_PROJECT_PROFILE_DASHBOARD_URL, { url: this.config.url, projectId, profileId }, this.config.insecure), model, 'Failed to create profile dashboard.');
228
+ }
229
+ /**
230
+ * Update dashboard for a profile.
231
+ *
232
+ * @param projectId - Project Id
233
+ * @param profileId - Profile Id
234
+ * @param dashboardId - Dashboard Id
235
+ * @param model - Payload
236
+ */
237
+ // TODO: map the request model
238
+ // TODO: map the response object
239
+ async robotDefUpdateDashboardsV2(projectId, profileId, dashboardId,
240
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
241
+ model) {
242
+ return this.callPut(formatServiceUrl(API_PROJECT_PROFILE_DASHBOARD_ID_URL, {
243
+ url: this.config.url,
244
+ projectId,
245
+ profileId,
246
+ dashboardId,
247
+ }, this.config.insecure), model, 'Failed to update profile dashboard.');
248
+ }
249
+ /**
250
+ * Get a list of dashboard for a robot.
251
+ *
252
+ * @param projectId - Project Id
253
+ * @param callsign - Robot Callsign
254
+ * @param dashboardId - Dashboard Id
255
+ */
256
+ // TODO: map the response object
257
+ async getDashboardsV2(projectId, callsign, dashboardId) {
258
+ return this.callGet(formatServiceUrl(API_PROJECT_ROBOT_DASHBOARD_ID_URL, {
259
+ url: this.config.url,
260
+ projectId,
261
+ callsign,
262
+ dashboardId,
263
+ }, this.config.insecure), 'Failed to get robot dashboard.');
264
+ }
265
+ /**
266
+ * Get robot dashboard which stored in Azure Blob.
267
+ *
268
+ * @param projectId - Project Id
269
+ * @param callsign - Robot Callsign
270
+ * @param dashboardId - Dashboard Id
271
+ */
272
+ // TODO: map the response object
273
+ async getDashboardBlobV2(projectId, callsign, dashboardId) {
274
+ return this.callGet(formatServiceUrl(API_PROJECT_ROBOT_DASHBOARD_CUSTOM_WIDGET_URL, {
275
+ url: this.config.url,
276
+ projectId,
277
+ callsign,
278
+ dashboardId,
279
+ }, this.config.insecure), 'Failed to get robot dashboard blob.');
280
+ }
281
+ /**
282
+ * Update dashboard for a robot.
283
+ *
284
+ * @param projectId - Project Id
285
+ * @param callsign - Robot Callsign
286
+ * @param dashboardId - Dashboard Id
287
+ * @param model - Payload
288
+ */
289
+ // TODO: map the request model
290
+ // TODO: map the response object
291
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
292
+ async updateDashboardsV2(projectId, callsign, dashboardId, model) {
293
+ return this.callPut(formatServiceUrl(API_PROJECT_ROBOT_DASHBOARD_ID_URL, {
294
+ url: this.config.url,
295
+ projectId,
296
+ callsign,
297
+ dashboardId,
298
+ }, this.config.insecure), model, 'Failed to update robot dashboard.');
299
+ }
300
+ /**
301
+ * Get robot settings
302
+ *
303
+ * @param projectId - Project Id
304
+ * @param callsign - Robot callsign
305
+ */
306
+ async getSettings(projectId, callsign) {
307
+ return this.callGet(formatServiceUrl(API_PROJECT_ROBOT_SETTING_URL, { url: this.config.url, projectId, callsign }, this.config.insecure), 'Failed to get robot settings.');
308
+ }
309
+ /**
310
+ * Update robot settings.
311
+ *
312
+ * @param projectId - Project Id
313
+ * @param callsign - Robot callsign
314
+ * @param model - Payload
315
+ */
316
+ // TODO: map the request model
317
+ // TODO: map the response object
318
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
319
+ async updateSettings(projectId, callsign, model) {
320
+ return this.callPost(formatServiceUrl(API_PROJECT_ROBOT_SETTING_URL, { url: this.config.url, projectId, callsign }, this.config.insecure), model, 'Failed to update robot settings.');
321
+ }
322
+ /**
323
+ * Get agent settings for a robot
324
+ *
325
+ * @param projectId - Project Id
326
+ * @param callsign - Robot callsign
327
+ */
328
+ // TODO: map the response object
329
+ async getAgentSettings(projectId, callsign) {
330
+ return this.callGet(formatServiceUrl(API_PROJECT_ROBOT_AGENT_URL, { url: this.config.url, projectId, callsign }, this.config.insecure), 'Failed to get agent settings for robot.');
331
+ }
332
+ /**
333
+ * Update agent settings for a robot
334
+ *
335
+ * @param projectId - Project Id
336
+ * @param callsign - Robot callsign
337
+ * @param model - Payload
338
+ */
339
+ // TODO: map the request model
340
+ // TODO: map the response object
341
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
342
+ async updateAgentSettings(projectId, callsign, model) {
343
+ return this.callPost(formatServiceUrl(API_PROJECT_ROBOT_AGENT_URL, { url: this.config.url, projectId, callsign }, this.config.insecure), model, 'Failed to update agent settings for robot.');
344
+ }
345
+ /**
346
+ * Get commands for a robot
347
+ *
348
+ * @param projectId - Project Id
349
+ * @param callsign - Robot callsign
350
+ */
351
+ // TODO: map the response object
352
+ async getCommands(projectId, callsign) {
353
+ return this.callGet(formatServiceUrl(API_PROJECT_ROBOT_COMMAND_URL, { url: this.config.url, projectId, callsign }, this.config.insecure), 'Failed to get commands for a robot.');
354
+ }
355
+ /**
356
+ * Update commands for a robot
357
+ *
358
+ * @param projectId - Project Id
359
+ * @param callsign - Robot callsign
360
+ * @param model - Payload
361
+ */
362
+ // TODO: map the request model
363
+ // TODO: map the response object
364
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
365
+ async updateCommands(projectId, callsign, model) {
366
+ return this.callPost(formatServiceUrl(API_PROJECT_ROBOT_COMMAND_URL, { url: this.config.url, projectId, callsign }, this.config.insecure), model, 'Failed to update commands for a robot.');
367
+ }
368
+ /**
369
+ * Get command V2 for a robot
370
+ *
371
+ * @param projectId - Project Id
372
+ * @param callsign - Robot callsign
373
+ */
374
+ // TODO: map the response object
375
+ async getCommandsV2(projectId, callsign) {
376
+ return this.callGet(formatServiceUrl(API_PROJECT_ROBOT_COMMAND2_URL, { url: this.config.url, projectId, callsign }, this.config.insecure), `Failed to get command list for ${projectId}, callsign ${callsign}.`);
377
+ }
378
+ /**
379
+ * Update command V2 for a robot
380
+ *
381
+ * @param projectId - Project Id
382
+ * @param callsign - Robot callsign
383
+ * @param model - Payload
384
+ */
385
+ // TODO: map the request model
386
+ // TODO: map the response object
387
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
388
+ async updateCommandsV2(projectId, callsign, model) {
389
+ return this.callPost(formatServiceUrl(API_PROJECT_ROBOT_COMMAND2_URL, { url: this.config.url, projectId, callsign }, this.config.insecure), model, `Failed to update commands for ${projectId}, callsign ${callsign}.`);
390
+ }
391
+ /**
392
+ * Get buttons for a robot
393
+ *
394
+ * @param projectId - Project Id
395
+ * @param callsign - Robot callsign
396
+ */
397
+ // TODO: map the response object
398
+ async getButtons(projectId, callsign) {
399
+ return this.callGet(formatServiceUrl(API_PROJECT_ROBOT_BUTTON_URL, { url: this.config.url, projectId, callsign }, this.config.insecure), `Failed to get buttons for ${projectId}, callsign ${callsign}.`);
400
+ }
401
+ /**
402
+ * Update buttons for a robot
403
+ *
404
+ * @param projectId - Project Id
405
+ * @param callsign - Robot callsign
406
+ * @param model - Payload
407
+ */
408
+ // TODO: map the request model
409
+ // TODO: map the response object
410
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
411
+ async updateButtons(projectId, callsign, model) {
412
+ return this.callPost(formatServiceUrl(API_PROJECT_ROBOT_BUTTON_URL, { url: this.config.url, projectId, callsign }, this.config.insecure), model, `Failed to update buttons for ${projectId}, callsign ${callsign}.`);
413
+ }
414
+ /**
415
+ * Get triggers for a robot
416
+ *
417
+ * @param projectId - Project Id
418
+ * @param callsign - Robot callsign
419
+ */
420
+ // TODO: map the response object
421
+ async getTriggers(projectId, callsign) {
422
+ return this.callGet(formatServiceUrl(API_PROJECT_ROBOT_TRIGGER_URL, { url: this.config.url, projectId, callsign }, this.config.insecure), `Failed to get triggers for ${projectId}, callsign ${callsign}.`);
423
+ }
424
+ /**
425
+ * Update triggers for a robot
426
+ *
427
+ * @param projectId - Project Id
428
+ * @param callsign - Robot callsign
429
+ * @param model - Payload
430
+ */
431
+ // TODO: map the request model
432
+ // TODO: map the response object
433
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
434
+ async updateTriggers(projectId, callsign, model) {
435
+ return this.callPost(formatServiceUrl(API_PROJECT_ROBOT_TRIGGER_URL, { url: this.config.url, projectId, callsign }, this.config.insecure), model, `Failed to update triggers for ${projectId}, callsign ${callsign}.`);
436
+ }
437
+ /**
438
+ * Get gamepads for a robot
439
+ *
440
+ * @param projectId - Project Id
441
+ * @param callsign - Robot callsign
442
+ */
443
+ // TODO: map the response object
444
+ async getGamepads(projectId, callsign) {
445
+ return this.callGet(formatServiceUrl(API_PROJECT_ROBOT_GAMEPAD_URL, { url: this.config.url, projectId, callsign }, this.config.insecure), `Failed to get gamepads for ${projectId}, callsign ${callsign}.`);
446
+ }
447
+ /**
448
+ * Update gamepads for a robot
449
+ *
450
+ * @param projectId - Project Id
451
+ * @param callsign - Robot callsign
452
+ * @param model - \payload
453
+ */
454
+ // TODO: map the request model
455
+ // TODO: map the response object
456
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
457
+ async updateGamepads(projectId, callsign, model) {
458
+ return this.callPost(formatServiceUrl(API_PROJECT_ROBOT_GAMEPAD_URL, { url: this.config.url, projectId, callsign }, this.config.insecure), model, `Failed to update gamepads for ${projectId}, callsign ${callsign}.`);
459
+ }
460
+ }
@@ -0,0 +1,22 @@
1
+ import { IBaseService, IRocosSDKConfig, IScheduleInfo, IScheduleInfoUpdate, RocosError } from '../models';
2
+ import { BaseServiceAbstract } from './BaseServiceAbstract';
3
+ export declare class ScheduleService extends BaseServiceAbstract implements IBaseService {
4
+ constructor(config: IRocosSDKConfig);
5
+ protected getError(e: Error): RocosError;
6
+ getStatus(): boolean;
7
+ /**
8
+ * Get a list of schedules.
9
+ *
10
+ * @param projectId - Project Id
11
+ * @param callsign - Robot Callsign
12
+ */
13
+ getSchedules(projectId: string, callsign: string): Promise<IScheduleInfo>;
14
+ /**
15
+ * Update schedules.
16
+ *
17
+ * @param projectId - Project Id
18
+ * @param callsign - Robot Callsign
19
+ * @param schedules - Schedule information
20
+ */
21
+ updateSchedules(projectId: string, callsign: string, schedules: IScheduleInfoUpdate): Promise<IScheduleInfo>;
22
+ }
@@ -0,0 +1,36 @@
1
+ import { RocosError, errorCodes } from '../models';
2
+ import { API_PROJECT_SCHEDULES_URL } from '../constants/api';
3
+ import { BaseServiceAbstract } from './BaseServiceAbstract';
4
+ import { RocosLogger } from '../logger/RocosLogger';
5
+ import { formatServiceUrl } from '../helpers/formatServiceUrl';
6
+ export class ScheduleService extends BaseServiceAbstract {
7
+ constructor(config) {
8
+ super(config);
9
+ this.logger = RocosLogger.getInstance(`ScheduleService(${this.config.url})`);
10
+ }
11
+ getError(e) {
12
+ return new RocosError(e, errorCodes.SCHEDULE_SERVICE_ERROR);
13
+ }
14
+ getStatus() {
15
+ return true;
16
+ }
17
+ /**
18
+ * Get a list of schedules.
19
+ *
20
+ * @param projectId - Project Id
21
+ * @param callsign - Robot Callsign
22
+ */
23
+ async getSchedules(projectId, callsign) {
24
+ return this.callGet(formatServiceUrl(API_PROJECT_SCHEDULES_URL, { url: this.config.url, projectId, callsign }, this.config.insecure), `Failed to get schedules list for robot '${callsign}' in project '${projectId}'.`);
25
+ }
26
+ /**
27
+ * Update schedules.
28
+ *
29
+ * @param projectId - Project Id
30
+ * @param callsign - Robot Callsign
31
+ * @param schedules - Schedule information
32
+ */
33
+ async updateSchedules(projectId, callsign, schedules) {
34
+ return this.callPost(formatServiceUrl(API_PROJECT_SCHEDULES_URL, { url: this.config.url, projectId, callsign }, this.config.insecure), schedules, 'Failed to update schedules.');
35
+ }
36
+ }
@@ -0,0 +1,12 @@
1
+ import { IRocosSDKConfig, IRocosSearchMessage, IRocosSearchStatusMessage, ISearchParams, ISearchQueryParams, ISearchStream, ISearchStreamParams, IStreamConfig } from '../models';
2
+ import { Observable } from 'rxjs';
3
+ import { BaseStreamService } from './BaseStreamService';
4
+ export declare class SearchService extends BaseStreamService<ISearchStream> {
5
+ constructor(config: IRocosSDKConfig);
6
+ searchStream(params: ISearchStreamParams): Observable<IRocosSearchMessage[]>;
7
+ queryData(params: ISearchQueryParams): Promise<string>;
8
+ healthCheck(params: ISearchParams): Promise<IRocosSearchStatusMessage>;
9
+ deleteProjectData(params: ISearchParams): Promise<IRocosSearchStatusMessage>;
10
+ private createStream;
11
+ protected getStream(config: IStreamConfig): ISearchStream;
12
+ }
@@ -0,0 +1,58 @@
1
+ import { SubscriberStatusEnum, } from '../models';
2
+ import { Subject } from 'rxjs';
3
+ import { BaseStreamService } from './BaseStreamService';
4
+ import { IDENTIFIER_NAME_FILE_ACCESSOR } from '../constants/identifier';
5
+ import { SearchStream } from '../api/streams/search/SearchStream';
6
+ import { finalize } from 'rxjs/operators';
7
+ export class SearchService extends BaseStreamService {
8
+ constructor(config) {
9
+ super('SearchService', config);
10
+ }
11
+ searchStream(params) {
12
+ const subject = new Subject();
13
+ let subscription;
14
+ this.createStream()
15
+ .then((stream) => {
16
+ subscription = stream.searchStream(params).subscribe(subject);
17
+ })
18
+ .catch((e) => {
19
+ this.logger.info('takeActionWithAck error', e);
20
+ subject.error(e);
21
+ });
22
+ return subject.asObservable().pipe(finalize(() => {
23
+ subscription?.unsubscribe();
24
+ }));
25
+ }
26
+ async queryData(params) {
27
+ const stream = await this.createStream();
28
+ return stream.queryData(params);
29
+ }
30
+ async healthCheck(params) {
31
+ const stream = await this.createStream();
32
+ return stream.healthCheck(params);
33
+ }
34
+ async deleteProjectData(params) {
35
+ const stream = await this.createStream();
36
+ return stream.deleteProjectData(params);
37
+ }
38
+ async createStream() {
39
+ const newStream = await this.createStreamFromConfig(IDENTIFIER_NAME_FILE_ACCESSOR, {
40
+ url: this.config.url,
41
+ token: this.config.token,
42
+ scope: 'default',
43
+ options: this.config.options,
44
+ port: this.config.port,
45
+ insecure: this.config.insecure,
46
+ });
47
+ if (newStream.isNew) {
48
+ newStream.stream.statusStream$.subscribe((msg) => {
49
+ this.status = msg === SubscriberStatusEnum.STOPPED || msg === SubscriberStatusEnum.ALIVE;
50
+ this.status$.next(msg);
51
+ });
52
+ }
53
+ return newStream.stream;
54
+ }
55
+ getStream(config) {
56
+ return new SearchStream(config);
57
+ }
58
+ }
@@ -0,0 +1,6 @@
1
+ import { ISearchStream } from '../models/stream/ISearchStream';
2
+ import { IStreamConfig } from '../models/IStreamConfig';
3
+ import { SearchService } from './SearchService';
4
+ export declare class SearchServiceNode extends SearchService {
5
+ protected getStream(config: IStreamConfig): ISearchStream;
6
+ }
@@ -0,0 +1,7 @@
1
+ import { SearchService } from './SearchService';
2
+ import { SearchStreamNode } from '../api/streams/search/SearchStreamNode';
3
+ export class SearchServiceNode extends SearchService {
4
+ getStream(config) {
5
+ return new SearchStreamNode(config);
6
+ }
7
+ }
@@ -0,0 +1,14 @@
1
+ import { IBaseService, IRocosSDKConfig, RocosError } from '../models';
2
+ import { BaseServiceAbstract } from './BaseServiceAbstract';
3
+ import { Timezone } from '../constants/timezones';
4
+ type SpotImageTag = 'stable' | 'dev' | 'unstable';
5
+ export declare class SpotProvisioningService extends BaseServiceAbstract implements IBaseService {
6
+ constructor(config: IRocosSDKConfig);
7
+ getStatus(): boolean;
8
+ protected getError(e: Error): RocosError;
9
+ getSpotCoreImage(projectId: string, profileId: string, robot: {
10
+ callsign: string;
11
+ name: string;
12
+ }, tag?: SpotImageTag, patMetadata?: Record<string, unknown>, timezone?: Timezone): Promise<Blob>;
13
+ }
14
+ export {};
@@ -0,0 +1,43 @@
1
+ import { RocosError, errorCodes } from '../models';
2
+ import { API_SPOTTY_URL } from '../constants/api';
3
+ import { BaseServiceAbstract } from './BaseServiceAbstract';
4
+ import { RocosLogger } from '../logger/RocosLogger';
5
+ import { RocosStore } from '../store/RocosStore';
6
+ import { formatServiceUrl } from '../helpers/formatServiceUrl';
7
+ export class SpotProvisioningService extends BaseServiceAbstract {
8
+ constructor(config) {
9
+ super(config);
10
+ this.logger = RocosLogger.getInstance(`SpotService(${this.config.url})`);
11
+ }
12
+ getStatus() {
13
+ return true;
14
+ }
15
+ getError(e) {
16
+ return new RocosError(e, errorCodes.SPOT_SERVICE_ERROR);
17
+ }
18
+ async getSpotCoreImage(projectId, profileId, robot, tag = 'stable', patMetadata, timezone) {
19
+ const userService = RocosStore.getSDKInstance(this.config).getUserService();
20
+ const pat = await userService.createPAT({
21
+ name: `Spot provisioning token for ${robot.callsign}`,
22
+ projectId,
23
+ scope: ['provisioning'],
24
+ robotDefinitionId: profileId,
25
+ metaData: {
26
+ singleUse: true,
27
+ defaultRobotDefinitionId: profileId,
28
+ ...patMetadata,
29
+ },
30
+ ttlDays: 90,
31
+ });
32
+ return this.callPost(formatServiceUrl(API_SPOTTY_URL, { url: this.config.url }, this.config.insecure), {
33
+ pat: pat.pat,
34
+ callsign: robot.callsign,
35
+ robotName: robot.name,
36
+ project: projectId,
37
+ agentImageTag: tag,
38
+ timezone,
39
+ }, 'Failed to get image.', {
40
+ responseType: 'blob',
41
+ });
42
+ }
43
+ }
@@ -0,0 +1,15 @@
1
+ /// <reference types="node" />
2
+ import { IBaseService, IRocosSDKConfig, RocosError } from '../models';
3
+ import { BaseServiceAbstract } from './BaseServiceAbstract';
4
+ import { Timezone } from '../constants/timezones';
5
+ type SpotImageTag = 'stable' | 'dev' | 'unstable';
6
+ export declare class SpotProvisioningServiceNode extends BaseServiceAbstract implements IBaseService {
7
+ constructor(config: IRocosSDKConfig);
8
+ getStatus(): boolean;
9
+ protected getError(e: Error): RocosError;
10
+ getSpotCoreImage(projectId: string, profileId: string, robot: {
11
+ callsign: string;
12
+ name: string;
13
+ }, tag?: SpotImageTag, patMetadata?: Record<string, unknown>, timezone?: Timezone): Promise<NodeJS.ReadableStream>;
14
+ }
15
+ export {};