@dronedeploy/rocos-js-sdk 3.0.1-alpha.8 → 3.0.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 (378) hide show
  1. package/README.md +59 -29
  2. package/cjs/IRocosSDK.d.ts +4 -3
  3. package/cjs/RocosSDK.d.ts +19 -7
  4. package/cjs/RocosSDK.js +31 -10
  5. package/cjs/api/streams/caller/CallerStream.js +5 -2
  6. package/cjs/api/streams/caller/CallerStreamNode.js +2 -1
  7. package/cjs/api/streams/command/CommandStream.js +5 -2
  8. package/cjs/api/streams/command/CommandStreamNode.js +2 -1
  9. package/cjs/api/streams/control/ControlStream.js +5 -2
  10. package/cjs/api/streams/control/ControlStreamAbstract.d.ts +1 -1
  11. package/cjs/api/streams/control/ControlStreamNode.js +2 -1
  12. package/cjs/api/streams/fileAccessor/FileAccessorStream.js +4 -1
  13. package/cjs/api/streams/fileAccessor/FileAccessorStreamNode.js +3 -1
  14. package/cjs/api/streams/search/SearchStream.js +5 -2
  15. package/cjs/api/streams/search/SearchStreamNode.js +2 -1
  16. package/cjs/api/streams/telemetry/TelemetryStream.js +4 -1
  17. package/cjs/api/streams/telemetry/TelemetryStreamAbstract.d.ts +1 -1
  18. package/cjs/api/streams/telemetry/TelemetryStreamNode.js +2 -1
  19. package/cjs/api/streams/webRTCSignalling/WebRTCSignallingStream.js +5 -2
  20. package/cjs/constants/api.d.ts +31 -15
  21. package/cjs/constants/api.js +35 -18
  22. package/cjs/helpers/cleanObject.js +4 -1
  23. package/cjs/helpers/getUniqueConfigKey.d.ts +6 -2
  24. package/cjs/helpers/getUniqueConfigKey.js +7 -2
  25. package/cjs/helpers/index.d.ts +1 -0
  26. package/cjs/helpers/index.js +1 -0
  27. package/cjs/helpers/kscript/Context.d.ts +34 -0
  28. package/cjs/helpers/kscript/Context.js +52 -0
  29. package/cjs/helpers/kscript/index.d.ts +1 -0
  30. package/cjs/helpers/kscript/index.js +27 -0
  31. package/cjs/helpers/kscript/kscript.d.ts +6 -0
  32. package/cjs/helpers/kscript/kscript.js +115 -0
  33. package/cjs/helpers/kscript/nodes/Identifier.d.ts +12 -0
  34. package/cjs/helpers/kscript/nodes/Identifier.js +20 -0
  35. package/cjs/helpers/kscript/nodes/Literal.d.ts +11 -0
  36. package/cjs/helpers/kscript/nodes/Literal.js +22 -0
  37. package/cjs/helpers/kscript/nodes/Node.d.ts +9 -0
  38. package/cjs/helpers/kscript/nodes/Node.js +15 -0
  39. package/cjs/helpers/kscript/nodes/Program.d.ts +11 -0
  40. package/cjs/helpers/kscript/nodes/Program.js +24 -0
  41. package/cjs/helpers/kscript/nodes/TemplateLiteral.d.ts +23 -0
  42. package/cjs/helpers/kscript/nodes/TemplateLiteral.js +35 -0
  43. package/cjs/helpers/kscript/nodes/expressions/ArrayExpression.d.ts +7 -0
  44. package/cjs/helpers/kscript/nodes/expressions/ArrayExpression.js +31 -0
  45. package/cjs/helpers/kscript/nodes/expressions/ArrowFunctionExpression.d.ts +14 -0
  46. package/cjs/helpers/kscript/nodes/expressions/ArrowFunctionExpression.js +40 -0
  47. package/cjs/helpers/kscript/nodes/expressions/BinaryExpression.d.ts +16 -0
  48. package/cjs/helpers/kscript/nodes/expressions/BinaryExpression.js +104 -0
  49. package/cjs/helpers/kscript/nodes/expressions/CallExpression.d.ts +8 -0
  50. package/cjs/helpers/kscript/nodes/expressions/CallExpression.js +38 -0
  51. package/cjs/helpers/kscript/nodes/expressions/ChainExpression.d.ts +16 -0
  52. package/cjs/helpers/kscript/nodes/expressions/ChainExpression.js +25 -0
  53. package/cjs/helpers/kscript/nodes/expressions/ConditionalExpression.d.ts +14 -0
  54. package/cjs/helpers/kscript/nodes/expressions/ConditionalExpression.js +30 -0
  55. package/cjs/helpers/kscript/nodes/expressions/ExpressionStatement.d.ts +7 -0
  56. package/cjs/helpers/kscript/nodes/expressions/ExpressionStatement.js +18 -0
  57. package/cjs/helpers/kscript/nodes/expressions/LogicalExpression.d.ts +10 -0
  58. package/cjs/helpers/kscript/nodes/expressions/LogicalExpression.js +47 -0
  59. package/cjs/helpers/kscript/nodes/expressions/MemberExpression.d.ts +44 -0
  60. package/cjs/helpers/kscript/nodes/expressions/MemberExpression.js +98 -0
  61. package/cjs/helpers/kscript/nodes/expressions/ObjectExpression.d.ts +11 -0
  62. package/cjs/helpers/kscript/nodes/expressions/ObjectExpression.js +59 -0
  63. package/cjs/helpers/kscript/nodes/expressions/UnaryExpression.d.ts +12 -0
  64. package/cjs/helpers/kscript/nodes/expressions/UnaryExpression.js +44 -0
  65. package/cjs/helpers/kscript/nodes/expressions/index.d.ts +11 -0
  66. package/cjs/helpers/kscript/nodes/expressions/index.js +28 -0
  67. package/cjs/helpers/kscript/nodes/index.d.ts +4 -0
  68. package/cjs/helpers/kscript/nodes/index.js +10 -0
  69. package/cjs/helpers/kscript/nodes/nodeTypes.d.ts +33 -0
  70. package/cjs/helpers/kscript/nodes/nodeTypes.js +29 -0
  71. package/cjs/helpers/kscript/utils.d.ts +4 -0
  72. package/cjs/helpers/kscript/utils.js +15 -0
  73. package/cjs/helpers/websandbox/connection.d.ts +2 -1
  74. package/cjs/helpers/websandbox/connection.js +6 -5
  75. package/cjs/helpers/websandbox/frame/frame.js +4 -1
  76. package/cjs/helpers/websandbox/frame/frame.source.js +1 -1
  77. package/cjs/helpers/websandbox/frame/worker/manager.d.ts +8 -4
  78. package/cjs/helpers/websandbox/frame/worker/manager.js +32 -14
  79. package/cjs/helpers/websandbox/frame/worker/worker.source.js +1 -1
  80. package/cjs/helpers/websandbox/sandbox.d.ts +1 -1
  81. package/cjs/helpers/websandbox/sandbox.js +7 -7
  82. package/cjs/models/IConnectedCallsign.d.ts +10 -0
  83. package/cjs/models/IConnectedCallsign.js +8 -0
  84. package/cjs/models/RocosError.d.ts +3 -0
  85. package/cjs/models/RocosError.js +3 -0
  86. package/cjs/models/ServiceEnum.d.ts +20 -17
  87. package/cjs/models/ServiceEnum.js +20 -17
  88. package/cjs/models/TelemetryStatus.d.ts +12 -0
  89. package/cjs/models/TelemetryStatus.js +17 -0
  90. package/cjs/models/Token.d.ts +2 -2
  91. package/cjs/models/Token.js +5 -5
  92. package/cjs/models/asset-storage/{AssetModelItem.d.ts → AssetItem.d.ts} +2 -0
  93. package/cjs/models/asset-storage/SyncIntegrations.d.ts +1 -1
  94. package/cjs/models/device-credentials/DeviceCredentials.d.ts +61 -0
  95. package/cjs/models/device-credentials/DeviceCredentials.js +2 -0
  96. package/cjs/models/graph/Position.d.ts +6 -0
  97. package/cjs/models/graph/Position.js +2 -0
  98. package/cjs/models/graph/Quaternion.d.ts +6 -0
  99. package/cjs/models/graph/Quaternion.js +2 -0
  100. package/cjs/models/graph/Vector3.d.ts +5 -0
  101. package/cjs/models/graph/Vector3.js +2 -0
  102. package/cjs/models/graph/index.d.ts +3 -0
  103. package/cjs/models/graph/index.js +19 -0
  104. package/cjs/models/index.d.ts +9 -2
  105. package/cjs/models/index.js +9 -2
  106. package/cjs/models/integrations/Location.d.ts +24 -0
  107. package/cjs/models/integrations/Location.js +2 -0
  108. package/cjs/models/integrations/PaginatedResults.d.ts +4 -0
  109. package/cjs/models/integrations/PaginatedResults.js +2 -0
  110. package/cjs/models/maps/Panorama.d.ts +12 -21
  111. package/cjs/models/projects/ExternalProject.d.ts +10 -0
  112. package/cjs/models/projects/ExternalProject.js +2 -0
  113. package/cjs/models/projects/NewProjectRequest.d.ts +8 -0
  114. package/cjs/models/projects/NewProjectRequest.js +2 -0
  115. package/cjs/models/target/Target.d.ts +30 -0
  116. package/cjs/models/target/Target.js +15 -0
  117. package/cjs/node/RocosSDKNode.d.ts +1 -5
  118. package/cjs/node/RocosSDKNode.js +9 -9
  119. package/cjs/services/AssetStorageService.d.ts +19 -19
  120. package/cjs/services/AssetStorageService.js +20 -9
  121. package/cjs/services/AuthService.d.ts +12 -1
  122. package/cjs/services/AuthService.js +25 -1
  123. package/cjs/services/BaseServiceAbstract.d.ts +1 -1
  124. package/cjs/services/BaseServiceAbstract.js +2 -2
  125. package/cjs/services/DeviceCredentialsService.d.ts +15 -0
  126. package/cjs/services/DeviceCredentialsService.js +56 -0
  127. package/cjs/services/EnvironmentService.d.ts +28 -0
  128. package/cjs/services/EnvironmentService.js +48 -0
  129. package/cjs/services/EvaluatorService.js +1 -1
  130. package/cjs/services/IntegrationService.d.ts +7 -1
  131. package/cjs/services/IntegrationService.js +8 -0
  132. package/cjs/services/MapService.d.ts +18 -8
  133. package/cjs/services/MapService.js +37 -19
  134. package/cjs/services/ProfileService.d.ts +24 -0
  135. package/cjs/services/ProfileService.js +34 -0
  136. package/cjs/services/ProjectService.d.ts +7 -2
  137. package/cjs/services/ProjectService.js +7 -3
  138. package/cjs/services/RTPWebRTCService.d.ts +6 -1
  139. package/cjs/services/RTPWebRTCService.js +10 -2
  140. package/cjs/services/RobotService.d.ts +3 -1
  141. package/cjs/services/RobotService.js +6 -0
  142. package/cjs/services/SpotProvisioningService.d.ts +1 -1
  143. package/cjs/services/SpotProvisioningServiceNode.d.ts +1 -1
  144. package/cjs/services/TargetService.d.ts +16 -0
  145. package/cjs/services/TargetService.js +58 -0
  146. package/cjs/services/TelemetryService.d.ts +10 -1
  147. package/cjs/services/TelemetryService.js +27 -5
  148. package/cjs/services/WorkflowService.d.ts +18 -8
  149. package/cjs/services/WorkflowService.js +37 -11
  150. package/cjs/services/index.d.ts +11 -9
  151. package/cjs/services/index.js +11 -9
  152. package/cjs/store/RocosStore.d.ts +1 -2
  153. package/esm/IRocosSDK.d.ts +4 -3
  154. package/esm/RocosSDK.d.ts +19 -7
  155. package/esm/RocosSDK.js +32 -11
  156. package/esm/api/streams/caller/CallerStream.js +5 -2
  157. package/esm/api/streams/caller/CallerStreamNode.js +2 -1
  158. package/esm/api/streams/command/CommandStream.js +5 -2
  159. package/esm/api/streams/command/CommandStreamNode.js +2 -1
  160. package/esm/api/streams/control/ControlStream.js +5 -2
  161. package/esm/api/streams/control/ControlStreamAbstract.d.ts +1 -1
  162. package/esm/api/streams/control/ControlStreamNode.js +2 -1
  163. package/esm/api/streams/fileAccessor/FileAccessorStream.js +4 -1
  164. package/esm/api/streams/fileAccessor/FileAccessorStreamNode.js +3 -1
  165. package/esm/api/streams/search/SearchStream.js +5 -2
  166. package/esm/api/streams/search/SearchStreamNode.js +2 -1
  167. package/esm/api/streams/telemetry/TelemetryStream.js +4 -1
  168. package/esm/api/streams/telemetry/TelemetryStreamAbstract.d.ts +1 -1
  169. package/esm/api/streams/telemetry/TelemetryStreamNode.js +2 -1
  170. package/esm/api/streams/webRTCSignalling/WebRTCSignallingStream.js +5 -2
  171. package/esm/constants/api.d.ts +31 -15
  172. package/esm/constants/api.js +31 -15
  173. package/esm/helpers/cleanObject.js +4 -1
  174. package/esm/helpers/getUniqueConfigKey.d.ts +6 -2
  175. package/esm/helpers/getUniqueConfigKey.js +7 -2
  176. package/esm/helpers/index.d.ts +1 -0
  177. package/esm/helpers/index.js +1 -0
  178. package/esm/helpers/kscript/Context.d.ts +34 -0
  179. package/esm/helpers/kscript/Context.js +49 -0
  180. package/esm/helpers/kscript/index.d.ts +1 -0
  181. package/esm/helpers/kscript/index.js +1 -0
  182. package/esm/helpers/kscript/kscript.d.ts +6 -0
  183. package/esm/helpers/kscript/kscript.js +107 -0
  184. package/esm/helpers/kscript/nodes/Identifier.d.ts +12 -0
  185. package/esm/helpers/kscript/nodes/Identifier.js +14 -0
  186. package/esm/helpers/kscript/nodes/Literal.d.ts +11 -0
  187. package/esm/helpers/kscript/nodes/Literal.js +16 -0
  188. package/esm/helpers/kscript/nodes/Node.d.ts +9 -0
  189. package/esm/helpers/kscript/nodes/Node.js +12 -0
  190. package/esm/helpers/kscript/nodes/Program.d.ts +11 -0
  191. package/esm/helpers/kscript/nodes/Program.js +18 -0
  192. package/esm/helpers/kscript/nodes/TemplateLiteral.d.ts +23 -0
  193. package/esm/helpers/kscript/nodes/TemplateLiteral.js +29 -0
  194. package/esm/helpers/kscript/nodes/expressions/ArrayExpression.d.ts +7 -0
  195. package/esm/helpers/kscript/nodes/expressions/ArrayExpression.js +25 -0
  196. package/esm/helpers/kscript/nodes/expressions/ArrowFunctionExpression.d.ts +14 -0
  197. package/esm/helpers/kscript/nodes/expressions/ArrowFunctionExpression.js +34 -0
  198. package/esm/helpers/kscript/nodes/expressions/BinaryExpression.d.ts +16 -0
  199. package/esm/helpers/kscript/nodes/expressions/BinaryExpression.js +98 -0
  200. package/esm/helpers/kscript/nodes/expressions/CallExpression.d.ts +8 -0
  201. package/esm/helpers/kscript/nodes/expressions/CallExpression.js +32 -0
  202. package/esm/helpers/kscript/nodes/expressions/ChainExpression.d.ts +16 -0
  203. package/esm/helpers/kscript/nodes/expressions/ChainExpression.js +19 -0
  204. package/esm/helpers/kscript/nodes/expressions/ConditionalExpression.d.ts +14 -0
  205. package/esm/helpers/kscript/nodes/expressions/ConditionalExpression.js +24 -0
  206. package/esm/helpers/kscript/nodes/expressions/ExpressionStatement.d.ts +7 -0
  207. package/esm/helpers/kscript/nodes/expressions/ExpressionStatement.js +12 -0
  208. package/esm/helpers/kscript/nodes/expressions/LogicalExpression.d.ts +10 -0
  209. package/esm/helpers/kscript/nodes/expressions/LogicalExpression.js +41 -0
  210. package/esm/helpers/kscript/nodes/expressions/MemberExpression.d.ts +44 -0
  211. package/esm/helpers/kscript/nodes/expressions/MemberExpression.js +92 -0
  212. package/esm/helpers/kscript/nodes/expressions/ObjectExpression.d.ts +11 -0
  213. package/esm/helpers/kscript/nodes/expressions/ObjectExpression.js +53 -0
  214. package/esm/helpers/kscript/nodes/expressions/UnaryExpression.d.ts +12 -0
  215. package/esm/helpers/kscript/nodes/expressions/UnaryExpression.js +38 -0
  216. package/esm/helpers/kscript/nodes/expressions/index.d.ts +11 -0
  217. package/esm/helpers/kscript/nodes/expressions/index.js +11 -0
  218. package/esm/helpers/kscript/nodes/index.d.ts +4 -0
  219. package/esm/helpers/kscript/nodes/index.js +3 -0
  220. package/esm/helpers/kscript/nodes/nodeTypes.d.ts +33 -0
  221. package/esm/helpers/kscript/nodes/nodeTypes.js +24 -0
  222. package/esm/helpers/kscript/utils.d.ts +4 -0
  223. package/esm/helpers/kscript/utils.js +11 -0
  224. package/esm/helpers/websandbox/connection.d.ts +2 -1
  225. package/esm/helpers/websandbox/connection.js +6 -5
  226. package/esm/helpers/websandbox/frame/frame.js +4 -1
  227. package/esm/helpers/websandbox/frame/frame.source.js +1 -1
  228. package/esm/helpers/websandbox/frame/worker/manager.d.ts +8 -4
  229. package/esm/helpers/websandbox/frame/worker/manager.js +32 -14
  230. package/esm/helpers/websandbox/frame/worker/worker.source.js +1 -1
  231. package/esm/helpers/websandbox/sandbox.d.ts +1 -1
  232. package/esm/helpers/websandbox/sandbox.js +7 -7
  233. package/esm/models/IConnectedCallsign.d.ts +10 -0
  234. package/esm/models/IConnectedCallsign.js +5 -0
  235. package/esm/models/RocosError.d.ts +3 -0
  236. package/esm/models/RocosError.js +3 -0
  237. package/esm/models/ServiceEnum.d.ts +20 -17
  238. package/esm/models/ServiceEnum.js +20 -17
  239. package/esm/models/TelemetryStatus.d.ts +12 -0
  240. package/esm/models/TelemetryStatus.js +14 -0
  241. package/esm/models/Token.d.ts +2 -2
  242. package/esm/models/Token.js +5 -5
  243. package/esm/models/asset-storage/{AssetModelItem.d.ts → AssetItem.d.ts} +2 -0
  244. package/esm/models/asset-storage/SyncIntegrations.d.ts +1 -1
  245. package/esm/models/device-credentials/DeviceCredentials.d.ts +61 -0
  246. package/esm/models/graph/Position.d.ts +6 -0
  247. package/esm/models/graph/Quaternion.d.ts +6 -0
  248. package/esm/models/graph/Vector3.d.ts +5 -0
  249. package/esm/models/graph/index.d.ts +3 -0
  250. package/esm/models/graph/index.js +3 -0
  251. package/esm/models/index.d.ts +9 -2
  252. package/esm/models/index.js +9 -2
  253. package/esm/models/integrations/Location.d.ts +24 -0
  254. package/esm/models/integrations/PaginatedResults.d.ts +4 -0
  255. package/esm/models/maps/Panorama.d.ts +12 -21
  256. package/esm/models/projects/ExternalProject.d.ts +10 -0
  257. package/esm/models/projects/NewProjectRequest.d.ts +8 -0
  258. package/esm/models/target/Target.d.ts +30 -0
  259. package/esm/models/target/Target.js +9 -0
  260. package/esm/node/RocosSDKNode.d.ts +1 -5
  261. package/esm/node/RocosSDKNode.js +10 -10
  262. package/esm/services/AssetStorageService.d.ts +19 -19
  263. package/esm/services/AssetStorageService.js +20 -9
  264. package/esm/services/AuthService.d.ts +12 -1
  265. package/esm/services/AuthService.js +25 -1
  266. package/esm/services/BaseServiceAbstract.d.ts +1 -1
  267. package/esm/services/BaseServiceAbstract.js +3 -3
  268. package/esm/services/DeviceCredentialsService.d.ts +15 -0
  269. package/esm/services/DeviceCredentialsService.js +52 -0
  270. package/esm/services/EnvironmentService.d.ts +28 -0
  271. package/esm/services/EnvironmentService.js +44 -0
  272. package/esm/services/EvaluatorService.js +1 -1
  273. package/esm/services/IntegrationService.d.ts +7 -1
  274. package/esm/services/IntegrationService.js +10 -2
  275. package/esm/services/MapService.d.ts +18 -8
  276. package/esm/services/MapService.js +38 -20
  277. package/esm/services/ProfileService.d.ts +24 -0
  278. package/esm/services/ProfileService.js +35 -1
  279. package/esm/services/ProjectService.d.ts +7 -2
  280. package/esm/services/ProjectService.js +9 -5
  281. package/esm/services/RTPWebRTCService.d.ts +6 -1
  282. package/esm/services/RTPWebRTCService.js +10 -2
  283. package/esm/services/RobotService.d.ts +3 -1
  284. package/esm/services/RobotService.js +8 -2
  285. package/esm/services/SpotProvisioningService.d.ts +1 -1
  286. package/esm/services/SpotProvisioningServiceNode.d.ts +1 -1
  287. package/esm/services/TargetService.d.ts +16 -0
  288. package/esm/services/TargetService.js +54 -0
  289. package/esm/services/TelemetryService.d.ts +10 -1
  290. package/esm/services/TelemetryService.js +28 -6
  291. package/esm/services/WorkflowService.d.ts +18 -8
  292. package/esm/services/WorkflowService.js +38 -12
  293. package/esm/services/index.d.ts +11 -9
  294. package/esm/services/index.js +11 -9
  295. package/esm/store/RocosStore.d.ts +1 -2
  296. package/package.json +2 -2
  297. package/cjs/helpers/cleanObject.spec.js +0 -55
  298. package/cjs/helpers/flattenObject.spec.js +0 -31
  299. package/cjs/helpers/flattenOneOf.spec.js +0 -159
  300. package/cjs/helpers/formatServiceUrl.spec.js +0 -18
  301. package/cjs/helpers/getSha256Hex.spec.js +0 -19
  302. package/cjs/helpers/getSha256HexNode.spec.js +0 -10
  303. package/cjs/helpers/getURLSearchParams.spec.js +0 -21
  304. package/cjs/helpers/nanosecondToMillisecond.spec.js +0 -22
  305. package/cjs/helpers/splitRobotTopic.spec.js +0 -53
  306. package/cjs/helpers/standardDeviation.spec.d.ts +0 -1
  307. package/cjs/helpers/standardDeviation.spec.js +0 -13
  308. package/cjs/helpers/websandbox/frame/worker/manager.spec.d.ts +0 -4
  309. package/cjs/helpers/websandbox/frame/worker/manager.spec.js +0 -132
  310. package/cjs/models/CallsignStatus.d.ts +0 -6
  311. package/cjs/models/CallsignStatus.js +0 -10
  312. package/cjs/models/ExternalProject.d.ts +0 -6
  313. package/cjs/models/ExternalProject.js +0 -6
  314. package/cjs/models/Token.spec.d.ts +0 -1
  315. package/cjs/models/Token.spec.js +0 -110
  316. package/cjs/services/AuthService.spec.d.ts +0 -1
  317. package/cjs/services/AuthService.spec.js +0 -165
  318. package/cjs/services/CallerService.spec.d.ts +0 -1
  319. package/cjs/services/CallerService.spec.js +0 -229
  320. package/cjs/services/FunctionService.d.ts +0 -68
  321. package/cjs/services/FunctionService.js +0 -103
  322. package/cjs/services/PlatformTimeService.spec.d.ts +0 -1
  323. package/cjs/services/PlatformTimeService.spec.js +0 -182
  324. package/cjs/services/RTPWebRTCService.spec.d.ts +0 -4
  325. package/cjs/services/RTPWebRTCService.spec.js +0 -171
  326. package/cjs/services/TelemetryService.spec.d.ts +0 -1
  327. package/cjs/services/TelemetryService.spec.js +0 -39
  328. package/esm/helpers/cleanObject.spec.d.ts +0 -1
  329. package/esm/helpers/cleanObject.spec.js +0 -53
  330. package/esm/helpers/flattenObject.spec.d.ts +0 -1
  331. package/esm/helpers/flattenObject.spec.js +0 -29
  332. package/esm/helpers/flattenOneOf.spec.d.ts +0 -1
  333. package/esm/helpers/flattenOneOf.spec.js +0 -157
  334. package/esm/helpers/formatServiceUrl.spec.d.ts +0 -1
  335. package/esm/helpers/formatServiceUrl.spec.js +0 -16
  336. package/esm/helpers/getSha256Hex.spec.d.ts +0 -1
  337. package/esm/helpers/getSha256Hex.spec.js +0 -14
  338. package/esm/helpers/getSha256HexNode.spec.d.ts +0 -1
  339. package/esm/helpers/getSha256HexNode.spec.js +0 -8
  340. package/esm/helpers/getURLSearchParams.spec.d.ts +0 -1
  341. package/esm/helpers/getURLSearchParams.spec.js +0 -19
  342. package/esm/helpers/nanosecondToMillisecond.spec.d.ts +0 -1
  343. package/esm/helpers/nanosecondToMillisecond.spec.js +0 -20
  344. package/esm/helpers/splitRobotTopic.spec.d.ts +0 -1
  345. package/esm/helpers/splitRobotTopic.spec.js +0 -51
  346. package/esm/helpers/standardDeviation.spec.d.ts +0 -1
  347. package/esm/helpers/standardDeviation.spec.js +0 -11
  348. package/esm/helpers/websandbox/frame/worker/manager.spec.d.ts +0 -4
  349. package/esm/helpers/websandbox/frame/worker/manager.spec.js +0 -127
  350. package/esm/models/CallsignStatus.d.ts +0 -6
  351. package/esm/models/CallsignStatus.js +0 -7
  352. package/esm/models/ExternalProject.d.ts +0 -6
  353. package/esm/models/ExternalProject.js +0 -2
  354. package/esm/models/Token.spec.d.ts +0 -1
  355. package/esm/models/Token.spec.js +0 -108
  356. package/esm/models/asset-storage/AssetModelItem.js +0 -1
  357. package/esm/services/AuthService.spec.d.ts +0 -1
  358. package/esm/services/AuthService.spec.js +0 -163
  359. package/esm/services/CallerService.spec.d.ts +0 -1
  360. package/esm/services/CallerService.spec.js +0 -227
  361. package/esm/services/FunctionService.d.ts +0 -68
  362. package/esm/services/FunctionService.js +0 -99
  363. package/esm/services/PlatformTimeService.spec.d.ts +0 -1
  364. package/esm/services/PlatformTimeService.spec.js +0 -180
  365. package/esm/services/RTPWebRTCService.spec.d.ts +0 -4
  366. package/esm/services/RTPWebRTCService.spec.js +0 -169
  367. package/esm/services/TelemetryService.spec.d.ts +0 -1
  368. package/esm/services/TelemetryService.spec.js +0 -37
  369. /package/cjs/models/asset-storage/{AssetModelItem.js → AssetItem.js} +0 -0
  370. /package/{cjs/helpers/cleanObject.spec.d.ts → esm/models/asset-storage/AssetItem.js} +0 -0
  371. /package/{cjs/helpers/flattenObject.spec.d.ts → esm/models/device-credentials/DeviceCredentials.js} +0 -0
  372. /package/{cjs/helpers/flattenOneOf.spec.d.ts → esm/models/graph/Position.js} +0 -0
  373. /package/{cjs/helpers/formatServiceUrl.spec.d.ts → esm/models/graph/Quaternion.js} +0 -0
  374. /package/{cjs/helpers/getSha256Hex.spec.d.ts → esm/models/graph/Vector3.js} +0 -0
  375. /package/{cjs/helpers/getSha256HexNode.spec.d.ts → esm/models/integrations/Location.js} +0 -0
  376. /package/{cjs/helpers/getURLSearchParams.spec.d.ts → esm/models/integrations/PaginatedResults.js} +0 -0
  377. /package/{cjs/helpers/nanosecondToMillisecond.spec.d.ts → esm/models/projects/ExternalProject.js} +0 -0
  378. /package/{cjs/helpers/splitRobotTopic.spec.d.ts → esm/models/projects/NewProjectRequest.js} +0 -0
@@ -348,6 +348,40 @@ class ProfileService extends BaseServiceAbstract_1.BaseServiceAbstract {
348
348
  async getGamepads(projectId, definitionId) {
349
349
  return this.callGet((0, formatServiceUrl_1.formatServiceUrl)(api_1.API_PROJECT_DEFINITION_GAMEPAD_URL, { url: this.config.url, projectId, definitionId }, this.config.insecure), `Failed to get gamepads for ${projectId}, definitionId ${definitionId}.`);
350
350
  }
351
+ /** Export robot definition into JSON format
352
+ *
353
+ * Can be used to import robot definition into another project
354
+ *
355
+ * @param projectId - Project Id
356
+ * @param definitionId - Robot definition Id
357
+ *
358
+ * @see import
359
+ */
360
+ async export(projectId, definitionId) {
361
+ return this.callPost((0, formatServiceUrl_1.formatServiceUrl)(api_1.API_PROJECT_DEFINITION_EXPORT, { url: this.config.url, projectId, definitionId }, this.config.insecure), undefined, `Failed to export robot definition for ${projectId}, definitionId ${definitionId}.`);
362
+ }
363
+ /** Import robot definition from JSON format
364
+ *
365
+ * Accepts a previously exported robot definition
366
+ *
367
+ * @param projectId - Project Id
368
+ * @param profileData - Robot definition data
369
+ * @param newName - Optional new name for the robot definition. If not provided, the name from the imported definition will be used.
370
+ * @param newDescription - Optional new description for the robot definition. If not provided, the description from the imported definition will be used.
371
+ *
372
+ * @see export
373
+ */
374
+ async import(projectId, profileData, newName, newDescription) {
375
+ const formData = new FormData();
376
+ if (newName) {
377
+ formData.append('name', newName);
378
+ }
379
+ if (newDescription) {
380
+ formData.append('description', newDescription);
381
+ }
382
+ formData.append('file', profileData);
383
+ return this.callPost((0, formatServiceUrl_1.formatServiceUrl)(api_1.API_PROJECT_DEFINITION_IMPORT, { url: this.config.url, projectId }, this.config.insecure), formData, `Failed to import robot definition for ${projectId}.`);
384
+ }
351
385
  /**
352
386
  * Update gamepads for a robot definition
353
387
  *
@@ -1,4 +1,4 @@
1
- import { IBaseService, IOperation, IProject, IProjectInfo, IRocosSDKConfig, ProjectUser, RocosError } from '../models';
1
+ import { ExternalProject, IBaseService, IOperation, IProject, IProjectInfo, IRocosSDKConfig, NewProjectRequest, ProjectUser, RocosError } from '../models';
2
2
  import { BaseServiceAbstract } from './BaseServiceAbstract';
3
3
  export declare class ProjectService extends BaseServiceAbstract implements IBaseService {
4
4
  constructor(config: IRocosSDKConfig);
@@ -57,7 +57,7 @@ export declare class ProjectService extends BaseServiceAbstract implements IBase
57
57
  * @param templateId - Template Id, From back-end responses
58
58
  * @param body - Optional parameters
59
59
  */
60
- createProjectByTemplate(templateId: string, body?: any): Promise<any>;
60
+ createProjectByTemplate(templateId: string, body?: NewProjectRequest): Promise<void>;
61
61
  /**
62
62
  * Operations related functions
63
63
  */
@@ -103,4 +103,9 @@ export declare class ProjectService extends BaseServiceAbstract implements IBase
103
103
  */
104
104
  listUsers(projectId: string): Promise<ProjectUser[]>;
105
105
  getProjectByLinkedProjectId(linkedProjectId: string): Promise<IProject>;
106
+ /**
107
+ * List external projects
108
+ * @returns Returns list of DroneDeploy projects with their location and linked state
109
+ */
110
+ listExternalProjects(accountId: string): Promise<ExternalProject[]>;
106
111
  }
@@ -93,9 +93,6 @@ class ProjectService extends BaseServiceAbstract_1.BaseServiceAbstract {
93
93
  * @param templateId - Template Id, From back-end responses
94
94
  * @param body - Optional parameters
95
95
  */
96
- // TODO: map the request model
97
- // TODO: map the response object
98
- // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
99
96
  async createProjectByTemplate(templateId, body) {
100
97
  return this.callPost((0, formatServiceUrl_1.formatServiceUrl)(api_1.API_TEMPLATE_PROVISION_ID_URL, { url: this.config.url, templateId }, this.config.insecure), body, `Failed to create project template for ${templateId}.`);
101
98
  }
@@ -163,5 +160,12 @@ class ProjectService extends BaseServiceAbstract_1.BaseServiceAbstract {
163
160
  async getProjectByLinkedProjectId(linkedProjectId) {
164
161
  return this.callGet((0, formatServiceUrl_1.formatServiceUrl)(api_1.API_LINKED_PROJECT_URL, { url: this.config.url, linkedProjectId }, this.config.insecure), `Failed to get project info for linked project ID: ${linkedProjectId}.`);
165
162
  }
163
+ /**
164
+ * List external projects
165
+ * @returns Returns list of DroneDeploy projects with their location and linked state
166
+ */
167
+ async listExternalProjects(accountId) {
168
+ return this.callGet((0, formatServiceUrl_1.formatServiceUrl)(api_1.API_ACCOUNT_EXTERNAL_PROJECTS_URL, { url: this.config.url, accountId }, this.config.insecure), 'Failed to get external project list.');
169
+ }
166
170
  }
167
171
  exports.ProjectService = ProjectService;
@@ -35,6 +35,10 @@ export interface PeerConnectionParams {
35
35
  projectId: string;
36
36
  callsign: string;
37
37
  logLevel?: 'trace';
38
+ mimeType?: {
39
+ video?: string;
40
+ audio?: string;
41
+ };
38
42
  }
39
43
  interface InternalPeerConnectionParams extends PeerConnectionParams {
40
44
  endpoint: {
@@ -54,7 +58,7 @@ export declare class RTPWebRTCService extends BaseServiceAbstract implements IBa
54
58
  *
55
59
  * If `logLevel` is set to trace, the connection will emit all messages as events
56
60
  */
57
- createPeerConnection(params: PeerConnectionParams): WebRTCConnection;
61
+ createPeerConnection(params: PeerConnectionParams): Promise<WebRTCConnection>;
58
62
  }
59
63
  export declare class WebRTCConnection {
60
64
  private pc?;
@@ -64,6 +68,7 @@ export declare class WebRTCConnection {
64
68
  private readonly projectId;
65
69
  private readonly callsign;
66
70
  private readonly logLevel?;
71
+ private sendOfferOptions?;
67
72
  private errorsSubject$;
68
73
  private streamsSubject$;
69
74
  private eventsSubject$;
@@ -4,6 +4,7 @@ exports.WebRTCConnection = exports.RTPWebRTCService = exports.WebRTCEventType =
4
4
  const models_1 = require("../models");
5
5
  const rxjs_1 = require("rxjs");
6
6
  const BaseServiceAbstract_1 = require("./BaseServiceAbstract");
7
+ const RocosStore_1 = require("../store/RocosStore");
7
8
  const splitRobotTopic_1 = require("../helpers/splitRobotTopic");
8
9
  var WebRTCEventType;
9
10
  (function (WebRTCEventType) {
@@ -36,19 +37,21 @@ class RTPWebRTCService extends BaseServiceAbstract_1.BaseServiceAbstract {
36
37
  *
37
38
  * If `logLevel` is set to trace, the connection will emit all messages as events
38
39
  */
39
- createPeerConnection(params) {
40
+ async createPeerConnection(params) {
40
41
  const isInsecure = this.config.insecure ?? false;
41
42
  const port = this.config.port ?? (isInsecure ? 80 : 443);
43
+ const token = (await RocosStore_1.RocosStore.getSDKInstance(this.config).getAuthService().getToken()).value;
42
44
  return new WebRTCConnection({
43
45
  endpoint: {
44
46
  host: this.config.url,
45
47
  port,
46
48
  insecure: isInsecure,
47
49
  },
48
- token: this.config.token,
50
+ token,
49
51
  projectId: params.projectId,
50
52
  callsign: params.callsign,
51
53
  logLevel: params.logLevel,
54
+ mimeType: params.mimeType,
52
55
  });
53
56
  }
54
57
  }
@@ -66,6 +69,10 @@ class WebRTCConnection {
66
69
  this.projectId = params.projectId;
67
70
  this.callsign = params.callsign;
68
71
  this.logLevel = params.logLevel;
72
+ this.sendOfferOptions = {
73
+ audioMimeType: params.mimeType?.audio,
74
+ videoMimeType: params.mimeType?.video,
75
+ };
69
76
  }
70
77
  get peerConnectionAvailable() {
71
78
  return !!this.pc;
@@ -146,6 +153,7 @@ class WebRTCConnection {
146
153
  },
147
154
  body: JSON.stringify({
148
155
  sdp,
156
+ options: this.sendOfferOptions,
149
157
  }),
150
158
  })
151
159
  .then((res) => res.json())
@@ -1,4 +1,4 @@
1
- import { IBaseService, IRobot, IRobotSettings, IRobotTemplate, IRocosSDKConfig, RocosError } from '../models';
1
+ import { IBaseService, IConnectedCallsign, IRobot, IRobotSettings, IRobotTemplate, IRocosSDKConfig, RocosError } from '../models';
2
2
  import { BaseServiceAbstract } from './BaseServiceAbstract';
3
3
  export declare class RobotService extends BaseServiceAbstract implements IBaseService {
4
4
  constructor(config: IRocosSDKConfig);
@@ -275,4 +275,6 @@ export declare class RobotService extends BaseServiceAbstract implements IBaseSe
275
275
  * @param model - \payload
276
276
  */
277
277
  updateGamepads(projectId: string, callsign: string, model: any): Promise<any>;
278
+ getConnectedCallsigns(projectId: string): Promise<Map<string, IConnectedCallsign>>;
279
+ getConnectedCallsign(projectId: string, callsign: string): Promise<IConnectedCallsign>;
278
280
  }
@@ -460,5 +460,11 @@ class RobotService extends BaseServiceAbstract_1.BaseServiceAbstract {
460
460
  async updateGamepads(projectId, callsign, model) {
461
461
  return this.callPost((0, formatServiceUrl_1.formatServiceUrl)(api_1.API_PROJECT_ROBOT_GAMEPAD_URL, { url: this.config.url, projectId, callsign }, this.config.insecure), model, `Failed to update gamepads for ${projectId}, callsign ${callsign}.`);
462
462
  }
463
+ async getConnectedCallsigns(projectId) {
464
+ return this.callGet((0, formatServiceUrl_1.formatServiceUrl)(api_1.API_PROJECT_ROBOT_CONFIGS_CONNECTIONS_URL, { url: this.config.url, projectId }, this.config.insecure), `Failed to get connected callsigns for ${projectId}.`);
465
+ }
466
+ async getConnectedCallsign(projectId, callsign) {
467
+ return this.callGet((0, formatServiceUrl_1.formatServiceUrl)(api_1.API_PROJECT_ROBOT_CONFIGS_CONNECTION_URL, { url: this.config.url, projectId, callsign }, this.config.insecure), `Failed to get connected callsign for ${projectId}, callsign ${callsign}.`);
468
+ }
463
469
  }
464
470
  exports.RobotService = RobotService;
@@ -1,7 +1,7 @@
1
1
  import { IBaseService, IRocosSDKConfig, RocosError } from '../models';
2
2
  import { BaseServiceAbstract } from './BaseServiceAbstract';
3
3
  import { Timezone } from '../constants/timezones';
4
- type SpotImageTag = 'stable' | 'dev' | 'unstable';
4
+ type SpotImageTag = 'stable' | 'dev' | 'unstable' | 'rc' | (string & {});
5
5
  export declare class SpotProvisioningService extends BaseServiceAbstract implements IBaseService {
6
6
  constructor(config: IRocosSDKConfig);
7
7
  getStatus(): boolean;
@@ -2,7 +2,7 @@
2
2
  import { IBaseService, IRocosSDKConfig, RocosError } from '../models';
3
3
  import { BaseServiceAbstract } from './BaseServiceAbstract';
4
4
  import { Timezone } from '../constants/timezones';
5
- type SpotImageTag = 'stable' | 'dev' | 'unstable';
5
+ type SpotImageTag = 'stable' | 'dev' | 'unstable' | 'rc' | (string & {});
6
6
  export declare class SpotProvisioningServiceNode extends BaseServiceAbstract implements IBaseService {
7
7
  constructor(config: IRocosSDKConfig);
8
8
  getStatus(): boolean;
@@ -0,0 +1,16 @@
1
+ import { Asset, IBaseService, IRocosSDKConfig, RocosError, Target, TargetMedia } from '../models';
2
+ import { BaseServiceAbstract } from './BaseServiceAbstract';
3
+ /**
4
+ * Service for managing targets (such as assets, PoI's, or FLOCS) on DroneDeploy
5
+ */
6
+ export declare class TargetService extends BaseServiceAbstract implements IBaseService {
7
+ list: (projectId: string, frameID?: string) => Promise<Target[]>;
8
+ constructor(config: IRocosSDKConfig);
9
+ getStatus(): boolean;
10
+ protected getError(e: Error): RocosError;
11
+ createTargets(projectId: string, targets: Target[]): Promise<void>;
12
+ listTargets(projectId: string, frameID?: string): Promise<Target[]>;
13
+ createAssets(projectId: string, assets: Asset[]): Promise<void>;
14
+ listAssets(projectId: string, frameID?: string): Promise<Asset[]>;
15
+ addMedia(projectId: string, targetId: string, media: TargetMedia): Promise<void>;
16
+ }
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TargetService = void 0;
4
+ const api_1 = require("../constants/api");
5
+ const models_1 = require("../models");
6
+ const BaseServiceAbstract_1 = require("./BaseServiceAbstract");
7
+ const RocosLogger_1 = require("../logger/RocosLogger");
8
+ const formatServiceUrl_1 = require("../helpers/formatServiceUrl");
9
+ /**
10
+ * Service for managing targets (such as assets, PoI's, or FLOCS) on DroneDeploy
11
+ */
12
+ class TargetService extends BaseServiceAbstract_1.BaseServiceAbstract {
13
+ constructor(config) {
14
+ super(config);
15
+ this.logger = RocosLogger_1.RocosLogger.getInstance(`TargetService(${this.config.url})`);
16
+ this.list = this.listTargets;
17
+ }
18
+ getStatus() {
19
+ return true;
20
+ }
21
+ getError(e) {
22
+ return new models_1.RocosError(e, models_1.errorCodes.TARGET_SERVICE_ERROR);
23
+ }
24
+ async createTargets(projectId, targets) {
25
+ return this.callPut((0, formatServiceUrl_1.formatServiceUrl)(api_1.API_GRAPHS_TARGET_UPLOAD_URL, {
26
+ url: this.config.url,
27
+ projectId,
28
+ }, this.config.insecure), targets, `Failed to upload targets for ${projectId}`);
29
+ }
30
+ async listTargets(projectId, frameID = 'seed') {
31
+ const resp = await this.callGet((0, formatServiceUrl_1.formatServiceUrl)(api_1.API_GRAPHS_TARGETS_URL, {
32
+ url: this.config.url,
33
+ projectId,
34
+ }, this.config.insecure), 'Failed to list targets', { frameID });
35
+ return resp;
36
+ }
37
+ async createAssets(projectId, assets) {
38
+ return this.callPut((0, formatServiceUrl_1.formatServiceUrl)(api_1.API_GRAPHS_ASSETS_UPLOAD_URL, {
39
+ url: this.config.url,
40
+ projectId,
41
+ }, this.config.insecure), assets, `Failed to upload assets for ${projectId}`);
42
+ }
43
+ async listAssets(projectId, frameID = 'seed') {
44
+ const resp = await this.callGet((0, formatServiceUrl_1.formatServiceUrl)(api_1.API_GRAPHS_ASSETS_URL, {
45
+ url: this.config.url,
46
+ projectId,
47
+ }, this.config.insecure), 'Failed to list assets', { frameID });
48
+ return resp;
49
+ }
50
+ async addMedia(projectId, targetId, media) {
51
+ await this.callPost((0, formatServiceUrl_1.formatServiceUrl)(api_1.API_GRAPHS_TARGETS_URL, {
52
+ url: this.config.url,
53
+ projectId,
54
+ targetId,
55
+ }, this.config.insecure), media, 'Failed to add media to a target');
56
+ }
57
+ }
58
+ exports.TargetService = TargetService;
@@ -1,5 +1,5 @@
1
1
  import { Observable } from 'rxjs';
2
- import { CallsignStatus, IRocosSDKConfig, IRocosTelemetryMessage, IStreamStatusMessage, ITelemetryStream, ITelemetryStreamConfig, ITelemetrySubscriptionParams, ITelemetrySubscriptions } from '../models';
2
+ import { CallsignStatus, IRocosSDKConfig, IRocosTelemetryMessage, IStreamStatusMessage, ITelemetryStream, ITelemetryStreamConfig, ITelemetrySubscriptionParams, ITelemetrySubscriptions, TelemetryMonitorStatus } from '../models';
3
3
  import { BaseStreamService } from './BaseStreamService';
4
4
  export declare class TelemetryService extends BaseStreamService<ITelemetryStream, ITelemetryStreamConfig> {
5
5
  private statusSubscription;
@@ -34,6 +34,15 @@ export declare class TelemetryService extends BaseStreamService<ITelemetryStream
34
34
  * @param intervalMs optionally override the interval to check for heartbeats (in ms). Default 2000ms
35
35
  */
36
36
  getRobotStatusChanges(projectId: string, callsign: string, heartbeatTimeoutMs?: number, intervalMs?: number): Observable<CallsignStatus>;
37
+ /**
38
+ * Subscribes to the given telemetry and checks we receive one at least emission every `heartbeatTimeoutMs` (default 5s)
39
+ * @param projectId
40
+ * @param callsign
41
+ * @param source the telemetry source to monitor
42
+ * @param heartbeatTimeoutMs optionally override the deadline for telemetry emissions (in ms). Default 5000ms
43
+ * @param intervalMs optionally override the interval to check for telemetry emissions (in ms). Default 2000ms
44
+ */
45
+ monitorTelemetryWithTimeout(projectId: string, callsign: string, source: string, heartbeatTimeoutMs?: number, intervalMs?: number): Observable<TelemetryMonitorStatus>;
37
46
  protected initStream(stream: ITelemetryStream): Promise<void>;
38
47
  private buildScope;
39
48
  private createStream;
@@ -98,23 +98,45 @@ class TelemetryService extends BaseStreamService_1.BaseStreamService {
98
98
  * @param intervalMs optionally override the interval to check for heartbeats (in ms). Default 2000ms
99
99
  */
100
100
  getRobotStatusChanges(projectId, callsign, heartbeatTimeoutMs = HEARTBEAT_TIMEOUT, intervalMs = 2000) {
101
+ return this.monitorTelemetryWithTimeout(projectId, callsign, HEARTBEAT_SOURCE, heartbeatTimeoutMs, intervalMs).pipe((0, rxjs_1.map)((status) => {
102
+ switch (status) {
103
+ case models_1.TelemetryMonitorStatus.CONNECTED:
104
+ return models_1.CallsignStatus.ONLINE;
105
+ case models_1.TelemetryMonitorStatus.DISCONNECTED:
106
+ return models_1.CallsignStatus.OFFLINE;
107
+ case models_1.TelemetryMonitorStatus.ERROR:
108
+ return models_1.CallsignStatus.ERROR;
109
+ default:
110
+ return models_1.CallsignStatus.UNKNOWN;
111
+ }
112
+ }));
113
+ }
114
+ /**
115
+ * Subscribes to the given telemetry and checks we receive one at least emission every `heartbeatTimeoutMs` (default 5s)
116
+ * @param projectId
117
+ * @param callsign
118
+ * @param source the telemetry source to monitor
119
+ * @param heartbeatTimeoutMs optionally override the deadline for telemetry emissions (in ms). Default 5000ms
120
+ * @param intervalMs optionally override the interval to check for telemetry emissions (in ms). Default 2000ms
121
+ */
122
+ monitorTelemetryWithTimeout(projectId, callsign, source, heartbeatTimeoutMs = HEARTBEAT_TIMEOUT, intervalMs = 2000) {
101
123
  const startedAt = Date.now();
102
124
  const heartbeatTime$ = this.subscribe({
103
125
  projectId,
104
- sources: [HEARTBEAT_SOURCE],
126
+ sources: [source],
105
127
  callsigns: [callsign],
106
128
  }).pipe((0, rxjs_1.map)(() => Date.now()));
107
129
  return (0, rxjs_1.combineLatest)([heartbeatTime$.pipe((0, rxjs_1.startWith)(startedAt)), (0, rxjs_1.interval)(intervalMs)]).pipe((0, rxjs_1.map)(([lastHeartbeat, _]) => {
108
130
  const now = Date.now();
109
131
  // If we haven't received a heartbeat, but we've only just started
110
132
  if (lastHeartbeat === startedAt && now - startedAt <= heartbeatTimeoutMs) {
111
- return models_1.CallsignStatus.UNKNOWN;
133
+ return models_1.TelemetryMonitorStatus.UNKNOWN;
112
134
  }
113
135
  if (now - lastHeartbeat > heartbeatTimeoutMs) {
114
- return models_1.CallsignStatus.OFFLINE;
136
+ return models_1.TelemetryMonitorStatus.DISCONNECTED;
115
137
  }
116
- return models_1.CallsignStatus.ONLINE;
117
- }), (0, rxjs_1.startWith)(models_1.CallsignStatus.UNKNOWN), (0, rxjs_1.distinctUntilChanged)(), (0, rxjs_1.catchError)(() => (0, rxjs_1.of)(models_1.CallsignStatus.ERROR)));
138
+ return models_1.TelemetryMonitorStatus.CONNECTED;
139
+ }), (0, rxjs_1.startWith)(models_1.TelemetryMonitorStatus.UNKNOWN), (0, rxjs_1.distinctUntilChanged)(), (0, rxjs_1.catchError)(() => (0, rxjs_1.of)(models_1.TelemetryMonitorStatus.ERROR)));
118
140
  }
119
141
  async initStream(stream) {
120
142
  await super.initStream(stream);
@@ -36,27 +36,37 @@ export declare class WorkflowService extends BaseServiceAbstract implements IBas
36
36
  */
37
37
  update(projectId: string, workflowId: string, model: Workflow): Promise<Workflow>;
38
38
  /**
39
- * Upload workflow asset
39
+ * Delete a workflow
40
40
  *
41
41
  * @param projectId - Project Id
42
42
  * @param workflowId - Workflow Id
43
- * @param fileName - Name of file including extension
44
- * @param arrayBuffer - data to upload
45
43
  */
46
- uploadAsset(projectId: string, workflowId: string, fileName: string, arrayBuffer: ArrayBuffer): Promise<void>;
47
- protected uploadAssetWithHash(projectId: string, workflowId: string, fileName: string, arrayBuffer: ArrayBuffer, hash: string): Promise<void>;
44
+ delete(projectId: string, workflowId: string): Promise<void>;
48
45
  /**
49
- * Delete a workflow
46
+ * Upload workflow asset
50
47
  *
51
48
  * @param projectId - Project Id
52
49
  * @param workflowId - Workflow Id
50
+ * @param fileName - Name of file including extension
51
+ * @param arrayBuffer - data to upload
53
52
  */
54
- delete(projectId: string, workflowId: string): Promise<void>;
53
+ uploadAsset(projectId: string, workflowId: string, fileName: string, arrayBuffer: ArrayBuffer): Promise<void>;
54
+ protected uploadAssetWithHash(projectId: string, workflowId: string, fileName: string, arrayBuffer: ArrayBuffer, hash: string): Promise<void>;
55
55
  /**
56
56
  * Get deployed workflows on robot
57
57
  *
58
58
  * @param projectId - Project Id
59
59
  * @param callsign - Robot callsign
60
60
  */
61
- getDeployedWorkflows(projectId: string, callsign: string): Promise<Workflow[]>;
61
+ getDeployedWorkflows(projectId: string, profileId: string, callsign?: string): Promise<Workflow[]>;
62
+ addRobotDeployment(projectId: string, callsign: string, workflowId: string): Promise<void>;
63
+ addProfileDeployment(projectId: string, profileId: string, workflowId: string): Promise<void>;
64
+ removeRobotDeployment(projectId: string, callsign: string, workflowId: string): Promise<void>;
65
+ removeProfileDeployment(projectId: string, profileId: string, workflowId: string): Promise<void>;
66
+ updateRobotDeployments(projectId: string, callsign: string, workflows: string[]): Promise<void>;
67
+ updateProfileDeployments(projectId: string, profileId: string, workflows: string[]): Promise<void>;
68
+ getAffectedRobots(projectId: string, workflowId: string): Promise<{
69
+ callsigns: string[];
70
+ profileIds: string[];
71
+ }>;
62
72
  }
@@ -54,6 +54,16 @@ class WorkflowService extends BaseServiceAbstract_1.BaseServiceAbstract {
54
54
  async update(projectId, workflowId, model) {
55
55
  return this.callPut((0, formatServiceUrl_1.formatServiceUrl)(api_1.API_PROJECT_WORKFLOW_ID_URL, { url: this.config.url, projectId, workflowId }, this.config.insecure), model, `Failed to update workflow for ${projectId}, workflowId ${workflowId}.`);
56
56
  }
57
+ /**
58
+ * Delete a workflow
59
+ *
60
+ * @param projectId - Project Id
61
+ * @param workflowId - Workflow Id
62
+ */
63
+ async delete(projectId, workflowId) {
64
+ return this.callDelete((0, formatServiceUrl_1.formatServiceUrl)(api_1.API_PROJECT_WORKFLOW_ID_URL, { url: this.config.url, projectId, workflowId }, this.config.insecure), `Failed to delete workflow for ${projectId}, workflowId ${workflowId}.`);
65
+ }
66
+ // Assets
57
67
  /**
58
68
  * Upload workflow asset
59
69
  *
@@ -85,23 +95,39 @@ class WorkflowService extends BaseServiceAbstract_1.BaseServiceAbstract {
85
95
  if (uploadResponse.status !== 200)
86
96
  throw new Error(`Failed to upload file: ${uploadResponse.statusText}`);
87
97
  }
88
- /**
89
- * Delete a workflow
90
- *
91
- * @param projectId - Project Id
92
- * @param workflowId - Workflow Id
93
- */
94
- async delete(projectId, workflowId) {
95
- return this.callDelete((0, formatServiceUrl_1.formatServiceUrl)(api_1.API_PROJECT_WORKFLOW_ID_URL, { url: this.config.url, projectId, workflowId }, this.config.insecure), `Failed to delete workflow for ${projectId}, workflowId ${workflowId}.`);
96
- }
98
+ // Deployments
97
99
  /**
98
100
  * Get deployed workflows on robot
99
101
  *
100
102
  * @param projectId - Project Id
101
103
  * @param callsign - Robot callsign
102
104
  */
103
- async getDeployedWorkflows(projectId, callsign) {
104
- return this.callGet((0, formatServiceUrl_1.formatServiceUrl)(api_1.API_PROJECT_DEPLOYED_WORKFLOW_URL, { url: this.config.url, projectId, callsign }, this.config.insecure), `Failed to update workflows for ${projectId}, callsign ${callsign}.`);
105
+ async getDeployedWorkflows(projectId, profileId, callsign) {
106
+ if (callsign) {
107
+ return this.callGet((0, formatServiceUrl_1.formatServiceUrl)(api_1.API_PROJECT_ROBOT_DEPLOYMENTS_URL, { url: this.config.url, projectId, profileId, callsign }, this.config.insecure), `Failed to get workflows for project ${projectId}, profile ${profileId}, callsign ${callsign}.`);
108
+ }
109
+ return this.callGet((0, formatServiceUrl_1.formatServiceUrl)(api_1.API_PROJECT_PROFILE_DEPLOYMENTS_URL, { url: this.config.url, projectId, profileId }, this.config.insecure), `Failed to get workflows for project ${projectId}, profile ${profileId}.`);
110
+ }
111
+ async addRobotDeployment(projectId, callsign, workflowId) {
112
+ return this.callPost((0, formatServiceUrl_1.formatServiceUrl)(api_1.API_PROJECT_ROBOT_DEPLOYED_WORKFLOW_URL, { url: this.config.url, projectId, callsign, workflowId }, this.config.insecure), undefined, `Failed to add workflow for ${projectId}, callsign ${callsign}.`);
113
+ }
114
+ async addProfileDeployment(projectId, profileId, workflowId) {
115
+ return this.callPost((0, formatServiceUrl_1.formatServiceUrl)(api_1.API_PROJECT_PROFILE_DEPLOYED_WORKFLOW_URL, { url: this.config.url, projectId, profileId, workflowId }, this.config.insecure), undefined, `Failed to add workflow for ${projectId}, profile ${profileId}.`);
116
+ }
117
+ async removeRobotDeployment(projectId, callsign, workflowId) {
118
+ return this.callDelete((0, formatServiceUrl_1.formatServiceUrl)(api_1.API_PROJECT_ROBOT_DEPLOYED_WORKFLOW_URL, { url: this.config.url, projectId, callsign, workflowId }, this.config.insecure), `Failed to remove workflow for ${projectId}, callsign ${callsign}.`);
119
+ }
120
+ async removeProfileDeployment(projectId, profileId, workflowId) {
121
+ return this.callDelete((0, formatServiceUrl_1.formatServiceUrl)(api_1.API_PROJECT_PROFILE_DEPLOYED_WORKFLOW_URL, { url: this.config.url, projectId, profileId, workflowId }, this.config.insecure), `Failed to remove workflow for ${projectId}, profile ${profileId}.`);
122
+ }
123
+ async updateRobotDeployments(projectId, callsign, workflows) {
124
+ return this.callPost((0, formatServiceUrl_1.formatServiceUrl)(api_1.API_PROJECT_ROBOT_NO_PROFILE_DEPLOYMENTS_URL, { url: this.config.url, projectId, callsign }, this.config.insecure), { deployed: workflows }, `Failed to update workflows for ${projectId}, callsign ${callsign}.`);
125
+ }
126
+ async updateProfileDeployments(projectId, profileId, workflows) {
127
+ return this.callPost((0, formatServiceUrl_1.formatServiceUrl)(api_1.API_PROJECT_PROFILE_DEPLOYMENTS_URL, { url: this.config.url, projectId, profileId }, this.config.insecure), { deployed: workflows }, `Failed to update workflows for ${projectId}, profile ${profileId}.`);
128
+ }
129
+ async getAffectedRobots(projectId, workflowId) {
130
+ return this.callGet((0, formatServiceUrl_1.formatServiceUrl)(api_1.API_PROJECT_WORKFLOW_AFFECTED_URL, { url: this.config.url, projectId, workflowId, flowId: workflowId }, this.config.insecure), `Failed to get affected robots for ${projectId}, workflowId ${workflowId}.`);
105
131
  }
106
132
  }
107
133
  exports.WorkflowService = WorkflowService;
@@ -5,24 +5,26 @@ export * from './CommandService';
5
5
  export * from './ConfigGroupService';
6
6
  export * from './ControlService';
7
7
  export * from './DashboardService';
8
+ export * from './DeviceCredentialsService';
9
+ export * from './EnvironmentService';
10
+ export * from './EvaluatorService';
8
11
  export * from './EventService';
9
12
  export * from './FileAccessorService';
10
- export * from './FunctionService';
11
13
  export * from './IntegrationService';
14
+ export * from './MapService';
15
+ export * from './PlatformTimeService';
12
16
  export * from './ProfileService';
13
17
  export * from './ProjectService';
18
+ export * from './RTPWebRTCService';
14
19
  export * from './RobotService';
20
+ export * from './ScheduleService';
15
21
  export * from './SearchService';
22
+ export * from './SpotProvisioningService';
23
+ export * from './SpotProvisioningServiceNode';
16
24
  export * from './StreamService';
25
+ export * from './TargetService';
17
26
  export * from './TelemetryService';
27
+ export * from './TimeSyncerService';
18
28
  export * from './UserService';
19
29
  export * from './WebRTCSignallingService';
20
30
  export * from './WorkflowService';
21
- export * from './ScheduleService';
22
- export * from './TimeSyncerService';
23
- export * from './PlatformTimeService';
24
- export * from './SpotProvisioningService';
25
- export * from './SpotProvisioningServiceNode';
26
- export * from './MapService';
27
- export * from './EvaluatorService';
28
- export * from './RTPWebRTCService';
@@ -21,24 +21,26 @@ __exportStar(require("./CommandService"), exports);
21
21
  __exportStar(require("./ConfigGroupService"), exports);
22
22
  __exportStar(require("./ControlService"), exports);
23
23
  __exportStar(require("./DashboardService"), exports);
24
+ __exportStar(require("./DeviceCredentialsService"), exports);
25
+ __exportStar(require("./EnvironmentService"), exports);
26
+ __exportStar(require("./EvaluatorService"), exports);
24
27
  __exportStar(require("./EventService"), exports);
25
28
  __exportStar(require("./FileAccessorService"), exports);
26
- __exportStar(require("./FunctionService"), exports);
27
29
  __exportStar(require("./IntegrationService"), exports);
30
+ __exportStar(require("./MapService"), exports);
31
+ __exportStar(require("./PlatformTimeService"), exports);
28
32
  __exportStar(require("./ProfileService"), exports);
29
33
  __exportStar(require("./ProjectService"), exports);
34
+ __exportStar(require("./RTPWebRTCService"), exports);
30
35
  __exportStar(require("./RobotService"), exports);
36
+ __exportStar(require("./ScheduleService"), exports);
31
37
  __exportStar(require("./SearchService"), exports);
38
+ __exportStar(require("./SpotProvisioningService"), exports);
39
+ __exportStar(require("./SpotProvisioningServiceNode"), exports);
32
40
  __exportStar(require("./StreamService"), exports);
41
+ __exportStar(require("./TargetService"), exports);
33
42
  __exportStar(require("./TelemetryService"), exports);
43
+ __exportStar(require("./TimeSyncerService"), exports);
34
44
  __exportStar(require("./UserService"), exports);
35
45
  __exportStar(require("./WebRTCSignallingService"), exports);
36
46
  __exportStar(require("./WorkflowService"), exports);
37
- __exportStar(require("./ScheduleService"), exports);
38
- __exportStar(require("./TimeSyncerService"), exports);
39
- __exportStar(require("./PlatformTimeService"), exports);
40
- __exportStar(require("./SpotProvisioningService"), exports);
41
- __exportStar(require("./SpotProvisioningServiceNode"), exports);
42
- __exportStar(require("./MapService"), exports);
43
- __exportStar(require("./EvaluatorService"), exports);
44
- __exportStar(require("./RTPWebRTCService"), exports);
@@ -1,6 +1,5 @@
1
- import { IRocosChangeMessage } from '../models/message/IRocosChangeMessage';
1
+ import { IRocosChangeMessage, IRocosSDKConfig } from '../models';
2
2
  import { IRocosSDK } from '../IRocosSDK';
3
- import { IRocosSDKConfig } from '../models/IRocosSDKConfig';
4
3
  import { Subject } from 'rxjs';
5
4
  export declare class RocosStore {
6
5
  private static changeSubject$?;
@@ -1,11 +1,11 @@
1
- import { AssetStorageService, AuthService, CallerService, CommandService, ConfigGroupService, ControlService, DashboardService, EvaluatorService, EventService, FileAccessorService, FunctionService, IntegrationService, MapService, ProfileService, ProjectService, RobotService, SearchService, SpotProvisioningService, SpotProvisioningServiceNode, StreamService, TelemetryService, TimeSyncerService, UserService, WebRTCSignallingService, WorkflowService } from './services';
1
+ import { AssetStorageService, AuthService, CallerService, CommandService, ConfigGroupService, ControlService, DashboardService, DeviceCredentialsService, EnvironmentService, EvaluatorService, EventService, FileAccessorService, IntegrationService, MapService, ProfileService, ProjectService, RTPWebRTCService, RobotService, SearchService, SpotProvisioningService, SpotProvisioningServiceNode, StreamService, TargetService, TelemetryService, TimeSyncerService, UserService, WebRTCSignallingService, WorkflowService } from './services';
2
2
  import { IBaseService, IDebugLevel, ServiceEnum } from './models';
3
- import { RTPWebRTCService } from './services/RTPWebRTCService';
4
3
  export declare abstract class IRocosSDK {
5
4
  abstract getService<T extends IBaseService>(name: ServiceEnum): T;
6
5
  abstract getAuthService(): AuthService;
7
6
  abstract getRobotService(): RobotService;
8
7
  abstract getEventService(): EventService;
8
+ abstract getEnvironmentService(): EnvironmentService;
9
9
  abstract getProjectService(): ProjectService;
10
10
  abstract getTelemetryService(): TelemetryService;
11
11
  abstract getCallerService(): CallerService;
@@ -14,7 +14,6 @@ export declare abstract class IRocosSDK {
14
14
  abstract getSearchService(): SearchService;
15
15
  abstract getConfigGroupService(): ConfigGroupService;
16
16
  abstract getDashboardService(): DashboardService;
17
- abstract getFunctionService(): FunctionService;
18
17
  abstract getStreamService(): StreamService;
19
18
  abstract getUserService(): UserService;
20
19
  abstract getMapService(): MapService;
@@ -28,6 +27,8 @@ export declare abstract class IRocosSDK {
28
27
  abstract getSpotProvisionerService(): SpotProvisioningService | SpotProvisioningServiceNode;
29
28
  abstract getIntegrationService(): IntegrationService;
30
29
  abstract getEvaluatorService(): EvaluatorService;
30
+ abstract getDeviceCredentialsService(): DeviceCredentialsService;
31
+ abstract getTargetService(): TargetService;
31
32
  abstract cleanup(): Promise<boolean>;
32
33
  abstract enableDebugMode(on: boolean): void;
33
34
  abstract setDebugLevel(level: IDebugLevel): void;