@dronedeploy/rocos-js-sdk 3.0.1-alpha.9 → 3.0.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 (373) 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/device-credentials/DeviceCredentials.d.ts +61 -0
  94. package/cjs/models/device-credentials/DeviceCredentials.js +2 -0
  95. package/cjs/models/graph/Position.d.ts +6 -0
  96. package/cjs/models/graph/Position.js +2 -0
  97. package/cjs/models/graph/Quaternion.d.ts +6 -0
  98. package/cjs/models/graph/Quaternion.js +2 -0
  99. package/cjs/models/graph/Vector3.d.ts +5 -0
  100. package/cjs/models/graph/Vector3.js +2 -0
  101. package/cjs/models/graph/index.d.ts +3 -0
  102. package/cjs/models/graph/index.js +19 -0
  103. package/cjs/models/index.d.ts +9 -2
  104. package/cjs/models/index.js +9 -2
  105. package/cjs/models/integrations/Location.d.ts +24 -0
  106. package/cjs/models/integrations/Location.js +2 -0
  107. package/cjs/models/integrations/PaginatedResults.d.ts +4 -0
  108. package/cjs/models/integrations/PaginatedResults.js +2 -0
  109. package/cjs/models/maps/Panorama.d.ts +12 -21
  110. package/cjs/models/projects/ExternalProject.d.ts +10 -0
  111. package/cjs/models/projects/ExternalProject.js +2 -0
  112. package/cjs/models/projects/NewProjectRequest.d.ts +8 -0
  113. package/cjs/models/projects/NewProjectRequest.js +2 -0
  114. package/cjs/models/target/Target.d.ts +30 -0
  115. package/cjs/models/target/Target.js +15 -0
  116. package/cjs/node/RocosSDKNode.d.ts +1 -5
  117. package/cjs/node/RocosSDKNode.js +9 -9
  118. package/cjs/services/AssetStorageService.d.ts +9 -1
  119. package/cjs/services/AssetStorageService.js +12 -1
  120. package/cjs/services/AuthService.d.ts +12 -1
  121. package/cjs/services/AuthService.js +25 -1
  122. package/cjs/services/DeviceCredentialsService.d.ts +15 -0
  123. package/cjs/services/DeviceCredentialsService.js +56 -0
  124. package/cjs/services/EnvironmentService.d.ts +34 -0
  125. package/cjs/services/EnvironmentService.js +56 -0
  126. package/cjs/services/EvaluatorService.js +1 -1
  127. package/cjs/services/IntegrationService.d.ts +7 -1
  128. package/cjs/services/IntegrationService.js +8 -0
  129. package/cjs/services/MapService.d.ts +18 -8
  130. package/cjs/services/MapService.js +37 -19
  131. package/cjs/services/ProfileService.d.ts +24 -0
  132. package/cjs/services/ProfileService.js +34 -0
  133. package/cjs/services/ProjectService.d.ts +7 -2
  134. package/cjs/services/ProjectService.js +7 -3
  135. package/cjs/services/RTPWebRTCService.d.ts +6 -1
  136. package/cjs/services/RTPWebRTCService.js +10 -2
  137. package/cjs/services/RobotService.d.ts +3 -1
  138. package/cjs/services/RobotService.js +6 -0
  139. package/cjs/services/SpotProvisioningService.d.ts +1 -1
  140. package/cjs/services/SpotProvisioningServiceNode.d.ts +1 -1
  141. package/cjs/services/TargetService.d.ts +17 -0
  142. package/cjs/services/TargetService.js +66 -0
  143. package/cjs/services/TelemetryService.d.ts +10 -1
  144. package/cjs/services/TelemetryService.js +27 -5
  145. package/cjs/services/WorkflowService.d.ts +18 -8
  146. package/cjs/services/WorkflowService.js +37 -11
  147. package/cjs/services/index.d.ts +11 -9
  148. package/cjs/services/index.js +11 -9
  149. package/cjs/store/RocosStore.d.ts +1 -2
  150. package/esm/IRocosSDK.d.ts +4 -3
  151. package/esm/RocosSDK.d.ts +19 -7
  152. package/esm/RocosSDK.js +32 -11
  153. package/esm/api/streams/caller/CallerStream.js +5 -2
  154. package/esm/api/streams/caller/CallerStreamNode.js +2 -1
  155. package/esm/api/streams/command/CommandStream.js +5 -2
  156. package/esm/api/streams/command/CommandStreamNode.js +2 -1
  157. package/esm/api/streams/control/ControlStream.js +5 -2
  158. package/esm/api/streams/control/ControlStreamAbstract.d.ts +1 -1
  159. package/esm/api/streams/control/ControlStreamNode.js +2 -1
  160. package/esm/api/streams/fileAccessor/FileAccessorStream.js +4 -1
  161. package/esm/api/streams/fileAccessor/FileAccessorStreamNode.js +3 -1
  162. package/esm/api/streams/search/SearchStream.js +5 -2
  163. package/esm/api/streams/search/SearchStreamNode.js +2 -1
  164. package/esm/api/streams/telemetry/TelemetryStream.js +4 -1
  165. package/esm/api/streams/telemetry/TelemetryStreamAbstract.d.ts +1 -1
  166. package/esm/api/streams/telemetry/TelemetryStreamNode.js +2 -1
  167. package/esm/api/streams/webRTCSignalling/WebRTCSignallingStream.js +5 -2
  168. package/esm/constants/api.d.ts +31 -15
  169. package/esm/constants/api.js +31 -15
  170. package/esm/helpers/cleanObject.js +4 -1
  171. package/esm/helpers/getUniqueConfigKey.d.ts +6 -2
  172. package/esm/helpers/getUniqueConfigKey.js +7 -2
  173. package/esm/helpers/index.d.ts +1 -0
  174. package/esm/helpers/index.js +1 -0
  175. package/esm/helpers/kscript/Context.d.ts +34 -0
  176. package/esm/helpers/kscript/Context.js +49 -0
  177. package/esm/helpers/kscript/index.d.ts +1 -0
  178. package/esm/helpers/kscript/index.js +1 -0
  179. package/esm/helpers/kscript/kscript.d.ts +6 -0
  180. package/esm/helpers/kscript/kscript.js +107 -0
  181. package/esm/helpers/kscript/nodes/Identifier.d.ts +12 -0
  182. package/esm/helpers/kscript/nodes/Identifier.js +14 -0
  183. package/esm/helpers/kscript/nodes/Literal.d.ts +11 -0
  184. package/esm/helpers/kscript/nodes/Literal.js +16 -0
  185. package/esm/helpers/kscript/nodes/Node.d.ts +9 -0
  186. package/esm/helpers/kscript/nodes/Node.js +12 -0
  187. package/esm/helpers/kscript/nodes/Program.d.ts +11 -0
  188. package/esm/helpers/kscript/nodes/Program.js +18 -0
  189. package/esm/helpers/kscript/nodes/TemplateLiteral.d.ts +23 -0
  190. package/esm/helpers/kscript/nodes/TemplateLiteral.js +29 -0
  191. package/esm/helpers/kscript/nodes/expressions/ArrayExpression.d.ts +7 -0
  192. package/esm/helpers/kscript/nodes/expressions/ArrayExpression.js +25 -0
  193. package/esm/helpers/kscript/nodes/expressions/ArrowFunctionExpression.d.ts +14 -0
  194. package/esm/helpers/kscript/nodes/expressions/ArrowFunctionExpression.js +34 -0
  195. package/esm/helpers/kscript/nodes/expressions/BinaryExpression.d.ts +16 -0
  196. package/esm/helpers/kscript/nodes/expressions/BinaryExpression.js +98 -0
  197. package/esm/helpers/kscript/nodes/expressions/CallExpression.d.ts +8 -0
  198. package/esm/helpers/kscript/nodes/expressions/CallExpression.js +32 -0
  199. package/esm/helpers/kscript/nodes/expressions/ChainExpression.d.ts +16 -0
  200. package/esm/helpers/kscript/nodes/expressions/ChainExpression.js +19 -0
  201. package/esm/helpers/kscript/nodes/expressions/ConditionalExpression.d.ts +14 -0
  202. package/esm/helpers/kscript/nodes/expressions/ConditionalExpression.js +24 -0
  203. package/esm/helpers/kscript/nodes/expressions/ExpressionStatement.d.ts +7 -0
  204. package/esm/helpers/kscript/nodes/expressions/ExpressionStatement.js +12 -0
  205. package/esm/helpers/kscript/nodes/expressions/LogicalExpression.d.ts +10 -0
  206. package/esm/helpers/kscript/nodes/expressions/LogicalExpression.js +41 -0
  207. package/esm/helpers/kscript/nodes/expressions/MemberExpression.d.ts +44 -0
  208. package/esm/helpers/kscript/nodes/expressions/MemberExpression.js +92 -0
  209. package/esm/helpers/kscript/nodes/expressions/ObjectExpression.d.ts +11 -0
  210. package/esm/helpers/kscript/nodes/expressions/ObjectExpression.js +53 -0
  211. package/esm/helpers/kscript/nodes/expressions/UnaryExpression.d.ts +12 -0
  212. package/esm/helpers/kscript/nodes/expressions/UnaryExpression.js +38 -0
  213. package/esm/helpers/kscript/nodes/expressions/index.d.ts +11 -0
  214. package/esm/helpers/kscript/nodes/expressions/index.js +11 -0
  215. package/esm/helpers/kscript/nodes/index.d.ts +4 -0
  216. package/esm/helpers/kscript/nodes/index.js +3 -0
  217. package/esm/helpers/kscript/nodes/nodeTypes.d.ts +33 -0
  218. package/esm/helpers/kscript/nodes/nodeTypes.js +24 -0
  219. package/esm/helpers/kscript/utils.d.ts +4 -0
  220. package/esm/helpers/kscript/utils.js +11 -0
  221. package/esm/helpers/websandbox/connection.d.ts +2 -1
  222. package/esm/helpers/websandbox/connection.js +6 -5
  223. package/esm/helpers/websandbox/frame/frame.js +4 -1
  224. package/esm/helpers/websandbox/frame/frame.source.js +1 -1
  225. package/esm/helpers/websandbox/frame/worker/manager.d.ts +8 -4
  226. package/esm/helpers/websandbox/frame/worker/manager.js +32 -14
  227. package/esm/helpers/websandbox/frame/worker/worker.source.js +1 -1
  228. package/esm/helpers/websandbox/sandbox.d.ts +1 -1
  229. package/esm/helpers/websandbox/sandbox.js +7 -7
  230. package/esm/models/IConnectedCallsign.d.ts +10 -0
  231. package/esm/models/IConnectedCallsign.js +5 -0
  232. package/esm/models/RocosError.d.ts +3 -0
  233. package/esm/models/RocosError.js +3 -0
  234. package/esm/models/ServiceEnum.d.ts +20 -17
  235. package/esm/models/ServiceEnum.js +20 -17
  236. package/esm/models/TelemetryStatus.d.ts +12 -0
  237. package/esm/models/TelemetryStatus.js +14 -0
  238. package/esm/models/Token.d.ts +2 -2
  239. package/esm/models/Token.js +5 -5
  240. package/esm/models/asset-storage/{AssetModelItem.d.ts → AssetItem.d.ts} +2 -0
  241. package/esm/models/device-credentials/DeviceCredentials.d.ts +61 -0
  242. package/esm/models/graph/Position.d.ts +6 -0
  243. package/esm/models/graph/Quaternion.d.ts +6 -0
  244. package/esm/models/graph/Vector3.d.ts +5 -0
  245. package/esm/models/graph/index.d.ts +3 -0
  246. package/esm/models/graph/index.js +3 -0
  247. package/esm/models/index.d.ts +9 -2
  248. package/esm/models/index.js +9 -2
  249. package/esm/models/integrations/Location.d.ts +24 -0
  250. package/esm/models/integrations/PaginatedResults.d.ts +4 -0
  251. package/esm/models/maps/Panorama.d.ts +12 -21
  252. package/esm/models/projects/ExternalProject.d.ts +10 -0
  253. package/esm/models/projects/NewProjectRequest.d.ts +8 -0
  254. package/esm/models/target/Target.d.ts +30 -0
  255. package/esm/models/target/Target.js +9 -0
  256. package/esm/node/RocosSDKNode.d.ts +1 -5
  257. package/esm/node/RocosSDKNode.js +10 -10
  258. package/esm/services/AssetStorageService.d.ts +9 -1
  259. package/esm/services/AssetStorageService.js +13 -2
  260. package/esm/services/AuthService.d.ts +12 -1
  261. package/esm/services/AuthService.js +25 -1
  262. package/esm/services/BaseServiceAbstract.js +1 -1
  263. package/esm/services/DeviceCredentialsService.d.ts +15 -0
  264. package/esm/services/DeviceCredentialsService.js +52 -0
  265. package/esm/services/EnvironmentService.d.ts +34 -0
  266. package/esm/services/EnvironmentService.js +52 -0
  267. package/esm/services/EvaluatorService.js +1 -1
  268. package/esm/services/IntegrationService.d.ts +7 -1
  269. package/esm/services/IntegrationService.js +10 -2
  270. package/esm/services/MapService.d.ts +18 -8
  271. package/esm/services/MapService.js +38 -20
  272. package/esm/services/ProfileService.d.ts +24 -0
  273. package/esm/services/ProfileService.js +35 -1
  274. package/esm/services/ProjectService.d.ts +7 -2
  275. package/esm/services/ProjectService.js +9 -5
  276. package/esm/services/RTPWebRTCService.d.ts +6 -1
  277. package/esm/services/RTPWebRTCService.js +10 -2
  278. package/esm/services/RobotService.d.ts +3 -1
  279. package/esm/services/RobotService.js +8 -2
  280. package/esm/services/SpotProvisioningService.d.ts +1 -1
  281. package/esm/services/SpotProvisioningServiceNode.d.ts +1 -1
  282. package/esm/services/TargetService.d.ts +17 -0
  283. package/esm/services/TargetService.js +62 -0
  284. package/esm/services/TelemetryService.d.ts +10 -1
  285. package/esm/services/TelemetryService.js +28 -6
  286. package/esm/services/WorkflowService.d.ts +18 -8
  287. package/esm/services/WorkflowService.js +38 -12
  288. package/esm/services/index.d.ts +11 -9
  289. package/esm/services/index.js +11 -9
  290. package/esm/store/RocosStore.d.ts +1 -2
  291. package/package.json +2 -2
  292. package/cjs/helpers/cleanObject.spec.js +0 -55
  293. package/cjs/helpers/flattenObject.spec.js +0 -31
  294. package/cjs/helpers/flattenOneOf.spec.js +0 -159
  295. package/cjs/helpers/formatServiceUrl.spec.js +0 -18
  296. package/cjs/helpers/getSha256Hex.spec.js +0 -19
  297. package/cjs/helpers/getSha256HexNode.spec.js +0 -10
  298. package/cjs/helpers/getURLSearchParams.spec.js +0 -21
  299. package/cjs/helpers/nanosecondToMillisecond.spec.js +0 -22
  300. package/cjs/helpers/splitRobotTopic.spec.js +0 -53
  301. package/cjs/helpers/standardDeviation.spec.d.ts +0 -1
  302. package/cjs/helpers/standardDeviation.spec.js +0 -13
  303. package/cjs/helpers/websandbox/frame/worker/manager.spec.d.ts +0 -4
  304. package/cjs/helpers/websandbox/frame/worker/manager.spec.js +0 -132
  305. package/cjs/models/CallsignStatus.d.ts +0 -6
  306. package/cjs/models/CallsignStatus.js +0 -10
  307. package/cjs/models/ExternalProject.d.ts +0 -6
  308. package/cjs/models/ExternalProject.js +0 -6
  309. package/cjs/models/Token.spec.d.ts +0 -1
  310. package/cjs/models/Token.spec.js +0 -110
  311. package/cjs/services/AuthService.spec.d.ts +0 -1
  312. package/cjs/services/AuthService.spec.js +0 -165
  313. package/cjs/services/CallerService.spec.d.ts +0 -1
  314. package/cjs/services/CallerService.spec.js +0 -229
  315. package/cjs/services/FunctionService.d.ts +0 -68
  316. package/cjs/services/FunctionService.js +0 -103
  317. package/cjs/services/PlatformTimeService.spec.d.ts +0 -1
  318. package/cjs/services/PlatformTimeService.spec.js +0 -182
  319. package/cjs/services/RTPWebRTCService.spec.d.ts +0 -4
  320. package/cjs/services/RTPWebRTCService.spec.js +0 -171
  321. package/cjs/services/TelemetryService.spec.d.ts +0 -1
  322. package/cjs/services/TelemetryService.spec.js +0 -39
  323. package/esm/helpers/cleanObject.spec.d.ts +0 -1
  324. package/esm/helpers/cleanObject.spec.js +0 -53
  325. package/esm/helpers/flattenObject.spec.d.ts +0 -1
  326. package/esm/helpers/flattenObject.spec.js +0 -29
  327. package/esm/helpers/flattenOneOf.spec.d.ts +0 -1
  328. package/esm/helpers/flattenOneOf.spec.js +0 -157
  329. package/esm/helpers/formatServiceUrl.spec.d.ts +0 -1
  330. package/esm/helpers/formatServiceUrl.spec.js +0 -16
  331. package/esm/helpers/getSha256Hex.spec.d.ts +0 -1
  332. package/esm/helpers/getSha256Hex.spec.js +0 -14
  333. package/esm/helpers/getSha256HexNode.spec.d.ts +0 -1
  334. package/esm/helpers/getSha256HexNode.spec.js +0 -8
  335. package/esm/helpers/getURLSearchParams.spec.d.ts +0 -1
  336. package/esm/helpers/getURLSearchParams.spec.js +0 -19
  337. package/esm/helpers/nanosecondToMillisecond.spec.d.ts +0 -1
  338. package/esm/helpers/nanosecondToMillisecond.spec.js +0 -20
  339. package/esm/helpers/splitRobotTopic.spec.d.ts +0 -1
  340. package/esm/helpers/splitRobotTopic.spec.js +0 -51
  341. package/esm/helpers/standardDeviation.spec.d.ts +0 -1
  342. package/esm/helpers/standardDeviation.spec.js +0 -11
  343. package/esm/helpers/websandbox/frame/worker/manager.spec.d.ts +0 -4
  344. package/esm/helpers/websandbox/frame/worker/manager.spec.js +0 -127
  345. package/esm/models/CallsignStatus.d.ts +0 -6
  346. package/esm/models/CallsignStatus.js +0 -7
  347. package/esm/models/ExternalProject.d.ts +0 -6
  348. package/esm/models/ExternalProject.js +0 -2
  349. package/esm/models/Token.spec.d.ts +0 -1
  350. package/esm/models/Token.spec.js +0 -108
  351. package/esm/models/asset-storage/AssetModelItem.js +0 -1
  352. package/esm/services/AuthService.spec.d.ts +0 -1
  353. package/esm/services/AuthService.spec.js +0 -163
  354. package/esm/services/CallerService.spec.d.ts +0 -1
  355. package/esm/services/CallerService.spec.js +0 -227
  356. package/esm/services/FunctionService.d.ts +0 -68
  357. package/esm/services/FunctionService.js +0 -99
  358. package/esm/services/PlatformTimeService.spec.d.ts +0 -1
  359. package/esm/services/PlatformTimeService.spec.js +0 -180
  360. package/esm/services/RTPWebRTCService.spec.d.ts +0 -4
  361. package/esm/services/RTPWebRTCService.spec.js +0 -169
  362. package/esm/services/TelemetryService.spec.d.ts +0 -1
  363. package/esm/services/TelemetryService.spec.js +0 -37
  364. /package/cjs/models/asset-storage/{AssetModelItem.js → AssetItem.js} +0 -0
  365. /package/{cjs/helpers/cleanObject.spec.d.ts → esm/models/asset-storage/AssetItem.js} +0 -0
  366. /package/{cjs/helpers/flattenObject.spec.d.ts → esm/models/device-credentials/DeviceCredentials.js} +0 -0
  367. /package/{cjs/helpers/flattenOneOf.spec.d.ts → esm/models/graph/Position.js} +0 -0
  368. /package/{cjs/helpers/formatServiceUrl.spec.d.ts → esm/models/graph/Quaternion.js} +0 -0
  369. /package/{cjs/helpers/getSha256Hex.spec.d.ts → esm/models/graph/Vector3.js} +0 -0
  370. /package/{cjs/helpers/getSha256HexNode.spec.d.ts → esm/models/integrations/Location.js} +0 -0
  371. /package/{cjs/helpers/getURLSearchParams.spec.d.ts → esm/models/integrations/PaginatedResults.js} +0 -0
  372. /package/{cjs/helpers/nanosecondToMillisecond.spec.d.ts → esm/models/projects/ExternalProject.js} +0 -0
  373. /package/{cjs/helpers/splitRobotTopic.spec.d.ts → esm/models/projects/NewProjectRequest.js} +0 -0
@@ -0,0 +1,52 @@
1
+ import { API_DEVICE_CREDENTIALS_AUTH_URL, API_DEVICE_CREDENTIALS_URL } from '../constants/api';
2
+ import { RocosError, errorCodes } from '../models';
3
+ import { BaseServiceAbstract } from './BaseServiceAbstract';
4
+ import { RocosLogger } from '../logger/RocosLogger';
5
+ import { formatServiceUrl } from '../helpers/formatServiceUrl';
6
+ /**
7
+ * Manage external devices authenticating with the platform
8
+ */
9
+ export class DeviceCredentialsService extends BaseServiceAbstract {
10
+ constructor(config) {
11
+ super(config);
12
+ this.logger = RocosLogger.getInstance(`DeviceCredentials(${this.config.url})`);
13
+ }
14
+ getStatus() {
15
+ return true;
16
+ }
17
+ getError(e) {
18
+ return new RocosError(e, errorCodes.DEVICE_CREDENTIALS_SERVICE_ERROR);
19
+ }
20
+ list(projectId, callsign) {
21
+ return this.callGet(formatServiceUrl(API_DEVICE_CREDENTIALS_URL, {
22
+ url: this.config.url,
23
+ projectId,
24
+ callsign,
25
+ }, this.config.insecure), 'Failed to get device credentials.');
26
+ }
27
+ create(projectId, callsign, credentials, disableValidation = false) {
28
+ let queryParams;
29
+ if (disableValidation) {
30
+ queryParams = {
31
+ validate: false,
32
+ };
33
+ }
34
+ return this.callPost(formatServiceUrl(API_DEVICE_CREDENTIALS_URL, {
35
+ url: this.config.url,
36
+ projectId,
37
+ callsign,
38
+ }, this.config.insecure), credentials, 'Failed to create device credentials.', undefined, queryParams);
39
+ }
40
+ delete(projectId, callsign, component, system) {
41
+ return this.callDelete(formatServiceUrl(API_DEVICE_CREDENTIALS_URL, {
42
+ url: this.config.url,
43
+ projectId,
44
+ callsign,
45
+ }, this.config.insecure), 'Failed to delete device credentials.', { component, system });
46
+ }
47
+ auth(credentials) {
48
+ return this.callPost(formatServiceUrl(API_DEVICE_CREDENTIALS_AUTH_URL, {
49
+ url: this.config.url,
50
+ }, this.config.insecure), credentials, 'Failed to delete device credentials.');
51
+ }
52
+ }
@@ -0,0 +1,34 @@
1
+ import { IBaseService, IRocosSDKConfig, RocosError } from '../models';
2
+ import { BaseServiceAbstract } from './BaseServiceAbstract';
3
+ /**
4
+ * Service responsible for saving and retrieving the project environment from Giraffe.
5
+ */
6
+ export declare class EnvironmentService extends BaseServiceAbstract implements IBaseService {
7
+ constructor(config: IRocosSDKConfig);
8
+ protected getError(e: Error): RocosError;
9
+ getStatus(): boolean;
10
+ /**
11
+ * Get Environment
12
+ *
13
+ * @param projectId - Project Id
14
+ */
15
+ get(projectId: string): Promise<unknown>;
16
+ /**
17
+ * Set Environment
18
+ *
19
+ * @param projectId - Project Id
20
+ */
21
+ set(projectId: string, scene: unknown): Promise<void>;
22
+ /**
23
+ * Update Environment
24
+ *
25
+ * @param projectId - Project Id
26
+ */
27
+ update(projectId: string, scene: unknown): Promise<void>;
28
+ /**
29
+ * Delete Environment
30
+ *
31
+ * @param projectId - Project Id
32
+ */
33
+ delete(projectId: string): Promise<void>;
34
+ }
@@ -0,0 +1,52 @@
1
+ import { RocosError, errorCodes } from '../models';
2
+ import { API_PROJECT_ENVIRONMENT_URL } from '../constants/api';
3
+ import { BaseServiceAbstract } from './BaseServiceAbstract';
4
+ import { RocosLogger } from '../logger/RocosLogger';
5
+ import { formatServiceUrl } from '../helpers/formatServiceUrl';
6
+ /**
7
+ * Service responsible for saving and retrieving the project environment from Giraffe.
8
+ */
9
+ export class EnvironmentService extends BaseServiceAbstract {
10
+ constructor(config) {
11
+ super(config);
12
+ this.logger = RocosLogger.getInstance(`EnvironmentService(${this.config.url})`);
13
+ }
14
+ getError(e) {
15
+ return new RocosError(e, errorCodes.ENVIRONMENT_SERVICE_ERROR);
16
+ }
17
+ getStatus() {
18
+ return true;
19
+ }
20
+ /**
21
+ * Get Environment
22
+ *
23
+ * @param projectId - Project Id
24
+ */
25
+ async get(projectId) {
26
+ return this.callGet(formatServiceUrl(API_PROJECT_ENVIRONMENT_URL, { url: this.config.url, projectId }, this.config.insecure), `Failed to get environment for ${projectId}.`);
27
+ }
28
+ /**
29
+ * Set Environment
30
+ *
31
+ * @param projectId - Project Id
32
+ */
33
+ async set(projectId, scene) {
34
+ return this.callPost(formatServiceUrl(API_PROJECT_ENVIRONMENT_URL, { url: this.config.url, projectId }, this.config.insecure), scene, `Failed to set environment for ${projectId}.`);
35
+ }
36
+ /**
37
+ * Update Environment
38
+ *
39
+ * @param projectId - Project Id
40
+ */
41
+ async update(projectId, scene) {
42
+ return this.callPut(formatServiceUrl(API_PROJECT_ENVIRONMENT_URL, { url: this.config.url, projectId }, this.config.insecure), scene, `Failed to update environment for ${projectId}.`);
43
+ }
44
+ /**
45
+ * Delete Environment
46
+ *
47
+ * @param projectId - Project Id
48
+ */
49
+ async delete(projectId) {
50
+ return this.callDelete(formatServiceUrl(API_PROJECT_ENVIRONMENT_URL, { url: this.config.url, projectId }, this.config.insecure), `Failed to update environment for ${projectId}.`);
51
+ }
52
+ }
@@ -19,7 +19,7 @@ export class EvaluatorService extends BaseServiceAbstract {
19
19
  }
20
20
  async teardown() {
21
21
  const sandbox = await this.sandbox;
22
- sandbox.destroy();
22
+ sandbox.destroy('evaluator service torn down');
23
23
  }
24
24
  async execute(code, context, options) {
25
25
  const sandbox = await this.sandbox;
@@ -1,4 +1,4 @@
1
- import { IBaseService, IRocosSDKConfig, Overlay, Plan, RocosError } from '../models';
1
+ import { IBaseService, IRocosSDKConfig, Location, Overlay, PaginatedResults, Plan, RocosError } from '../models';
2
2
  import { BaseServiceAbstract } from './BaseServiceAbstract';
3
3
  /**
4
4
  * Integrations to retrieve data from the linked project in DroneDeploy
@@ -45,4 +45,10 @@ export declare class IntegrationService extends BaseServiceAbstract implements I
45
45
  lat: number;
46
46
  lng: number;
47
47
  }): Promise<void>;
48
+ /**
49
+ * Gets locations for the provided project ID
50
+ * @param projectId Project ID
51
+ * @returns Plans list (limited to 50)
52
+ */
53
+ getLocations(projectId: string, pageStart?: string): Promise<PaginatedResults<Location>>;
48
54
  }
@@ -1,5 +1,5 @@
1
- import { API_DD_INTEGRATION_ISSUES_URL, API_DD_INTEGRATION_OVERLAYS_URL, API_DD_INTEGRATION_PLANS_URL, API_DD_INTEGRATION_PLAN_BY_ID_URL, } from '../constants/api';
2
- import { RocosError, errorCodes } from '../models';
1
+ import { API_DD_INTEGRATION_ISSUES_URL, API_DD_INTEGRATION_LOCATIONS_URL, API_DD_INTEGRATION_OVERLAYS_URL, API_DD_INTEGRATION_PLANS_URL, API_DD_INTEGRATION_PLAN_BY_ID_URL, } from '../constants/api';
2
+ import { RocosError, errorCodes, } from '../models';
3
3
  import { BaseServiceAbstract } from './BaseServiceAbstract';
4
4
  import { RocosLogger } from '../logger/RocosLogger';
5
5
  import { formatServiceUrl } from '../helpers/formatServiceUrl';
@@ -69,4 +69,12 @@ export class IntegrationService extends BaseServiceAbstract {
69
69
  lng: location.lng,
70
70
  }, 'Failed to create issue.');
71
71
  }
72
+ /**
73
+ * Gets locations for the provided project ID
74
+ * @param projectId Project ID
75
+ * @returns Plans list (limited to 50)
76
+ */
77
+ async getLocations(projectId, pageStart) {
78
+ return this.callGet(formatServiceUrl(API_DD_INTEGRATION_LOCATIONS_URL, { url: this.config.url, projectId }, this.config.insecure), 'Failed to get locations.', pageStart ? { page_start: pageStart } : undefined);
79
+ }
72
80
  }
@@ -1,10 +1,12 @@
1
- import { IBaseService, IRocosSDKConfig, Map, RocosError } from '../models';
1
+ import { Asset, IBaseService, IRocosSDKConfig, Map, RocosError } from '../models';
2
+ import { CreateObservation, Observation } from '../models/maps/Panorama';
2
3
  import { BaseServiceAbstract } from './BaseServiceAbstract';
3
- import { Observation } from '../models/maps/Panorama';
4
4
  /**
5
- * Integrations to retrieve data from the linked project in DroneDeploy
5
+ * Maps service for managing robot maps in the cloud and on robots
6
6
  */
7
7
  export declare class MapService extends BaseServiceAbstract implements IBaseService {
8
+ getObservations: (projectId: string, key?: string, frameID?: string) => Promise<Asset[]>;
9
+ getObservationsKeys: (projectId: string) => Promise<string[]>;
8
10
  constructor(config: IRocosSDKConfig);
9
11
  getStatus(): boolean;
10
12
  protected getError(e: Error): RocosError;
@@ -122,7 +124,7 @@ export declare class MapService extends BaseServiceAbstract implements IBaseServ
122
124
  * @param observations An array of Observation objects to create.
123
125
  * @returns A Promise that resolves when the observations have been created.
124
126
  */
125
- createObservations(projectId: string, panoramaId: string, observations: Observation[]): Promise<void>;
127
+ createObservations(projectId: string, panoramaId: string, observations: CreateObservation[]): Promise<void>;
126
128
  /**
127
129
  * Gets observations for a project.
128
130
  *
@@ -131,12 +133,20 @@ export declare class MapService extends BaseServiceAbstract implements IBaseServ
131
133
  * @param frameID (optional) Transforms on a seed frame
132
134
  * @returns A list of observations
133
135
  */
134
- getObservations(projectId: string, key?: string, frameID?: string): Promise<Observation[]>;
136
+ getAssets(projectId: string, key?: string, frameID?: string): Promise<Asset[]>;
135
137
  /**
136
- * Lists available keys for all observations in a project.
138
+ * Lists available keys for all assets in a project.
137
139
  *
138
140
  * @param projectId The ID of the project the observations belongs to.
139
- * @returns A list of observations
141
+ * @returns A list of assets
142
+ */
143
+ getAssetsKeys(projectId: string): Promise<string[]>;
144
+ /**
145
+ * Deletes a panorama by panoramaID.
146
+ *
147
+ * @param projectId The ID of the project the panorama belongs to.
148
+ * @param panoramaId The ID of the panorama to delete.
149
+ * @returns A Promise.
140
150
  */
141
- getObservationsKeys(projectId: string): Promise<string[]>;
151
+ deletePanorama(projectId: string, panoramaId: string): Promise<void>;
142
152
  }
@@ -1,14 +1,22 @@
1
- import { API_MAPS_COPY_URL, API_MAPS_DEPLOYED_URL, API_MAPS_DEPLOY_URL, API_MAPS_GEOJSON_URL, API_MAPS_MERGE_URL, API_MAPS_PANORAMA_OBSERVATIONS_URL, API_MAPS_URL, API_MAP_ID_URL, API_OBSERVATIONS_URL, API_OBSERVATION_KEYS_URL, } from '../constants/api';
1
+ import { API_GRAPHS_MAPS_COPY_URL, API_GRAPHS_MAPS_DEPLOYED_URL, API_GRAPHS_MAPS_DEPLOY_URL, API_GRAPHS_MAPS_GEOJSON_URL, API_GRAPHS_MAPS_MERGE_URL, API_GRAPHS_MAPS_URL, API_GRAPHS_MAP_ID_URL, API_GRAPHS_OBSERVATIONS_URL, API_GRAPHS_OBSERVATION_KEYS_URL, API_GRAPHS_PANORAMA, API_GRAPHS_PANORAMA_OBSERVATIONS_URL, } from '../constants/api';
2
2
  import { RocosError, errorCodes } from '../models';
3
3
  import { BaseServiceAbstract } from './BaseServiceAbstract';
4
4
  import { RocosLogger } from '../logger/RocosLogger';
5
5
  import { formatServiceUrl } from '../helpers/formatServiceUrl';
6
6
  /**
7
- * Integrations to retrieve data from the linked project in DroneDeploy
7
+ * Maps service for managing robot maps in the cloud and on robots
8
8
  */
9
9
  export class MapService extends BaseServiceAbstract {
10
10
  constructor(config) {
11
11
  super(config);
12
+ /*
13
+ * @deprecated use getAssets instead
14
+ */
15
+ this.getObservations = this.getAssets;
16
+ /*
17
+ * @deprecated use getAssetKeys instead
18
+ */
19
+ this.getObservationsKeys = this.getAssetsKeys;
12
20
  this.logger = RocosLogger.getInstance(`MapService(${this.config.url})`);
13
21
  }
14
22
  getStatus() {
@@ -18,7 +26,7 @@ export class MapService extends BaseServiceAbstract {
18
26
  return new RocosError(e, errorCodes.MAPS_SERVICE_ERROR);
19
27
  }
20
28
  async list(projectId, callsign) {
21
- const resp = await this.callGet(formatServiceUrl(API_MAPS_URL, {
29
+ const resp = await this.callGet(formatServiceUrl(API_GRAPHS_MAPS_URL, {
22
30
  url: this.config.url,
23
31
  projectId,
24
32
  }, this.config.insecure), 'Failed to get maps.', callsign ? { callsign } : undefined);
@@ -31,7 +39,7 @@ export class MapService extends BaseServiceAbstract {
31
39
  */
32
40
  async listDeployedMaps(projectId, callsign) {
33
41
  const safeCallsign = encodeURIComponent(callsign);
34
- const resp = await this.callGet(formatServiceUrl(API_MAPS_DEPLOYED_URL, {
42
+ const resp = await this.callGet(formatServiceUrl(API_GRAPHS_MAPS_DEPLOYED_URL, {
35
43
  url: this.config.url,
36
44
  projectId,
37
45
  callsign: safeCallsign,
@@ -55,7 +63,7 @@ export class MapService extends BaseServiceAbstract {
55
63
  description: options.description,
56
64
  callsign: options.callsign,
57
65
  };
58
- return this.callPost(formatServiceUrl(API_MAPS_MERGE_URL, {
66
+ return this.callPost(formatServiceUrl(API_GRAPHS_MAPS_MERGE_URL, {
59
67
  url: this.config.url,
60
68
  projectId,
61
69
  }, this.config.insecure), payload, 'Failed to merge maps.');
@@ -66,7 +74,7 @@ export class MapService extends BaseServiceAbstract {
66
74
  * @param mapId Map ID
67
75
  */
68
76
  async get(projectId, mapId) {
69
- return this.callGet(formatServiceUrl(API_MAP_ID_URL, {
77
+ return this.callGet(formatServiceUrl(API_GRAPHS_MAP_ID_URL, {
70
78
  url: this.config.url,
71
79
  projectId,
72
80
  mapId,
@@ -79,7 +87,7 @@ export class MapService extends BaseServiceAbstract {
79
87
  * @param options New metadata
80
88
  */
81
89
  async update(projectId, mapId, options) {
82
- return this.callPut(formatServiceUrl(API_MAP_ID_URL, {
90
+ return this.callPut(formatServiceUrl(API_GRAPHS_MAP_ID_URL, {
83
91
  url: this.config.url,
84
92
  projectId,
85
93
  mapId,
@@ -94,14 +102,14 @@ export class MapService extends BaseServiceAbstract {
94
102
  * @param hash Map hash
95
103
  */
96
104
  async sendToCloud(projectId, mapId, callsign, hash) {
97
- return this.callPost(formatServiceUrl(API_MAP_ID_URL, {
105
+ return this.callPost(formatServiceUrl(API_GRAPHS_MAP_ID_URL, {
98
106
  url: this.config.url,
99
107
  projectId,
100
108
  mapId,
101
109
  }, this.config.insecure), { callsign, hash }, 'Failed to start map upload.');
102
110
  }
103
111
  async delete(projectId, mapId, callsign, hash) {
104
- return this.callDelete(formatServiceUrl(API_MAP_ID_URL, {
112
+ return this.callDelete(formatServiceUrl(API_GRAPHS_MAP_ID_URL, {
105
113
  url: this.config.url,
106
114
  projectId,
107
115
  mapId,
@@ -115,7 +123,7 @@ export class MapService extends BaseServiceAbstract {
115
123
  * @param options Options to create the new map
116
124
  */
117
125
  async copy(projectId, mapId, options) {
118
- return this.callPost(formatServiceUrl(API_MAPS_COPY_URL, {
126
+ return this.callPost(formatServiceUrl(API_GRAPHS_MAPS_COPY_URL, {
119
127
  url: this.config.url,
120
128
  projectId,
121
129
  mapId,
@@ -128,7 +136,7 @@ export class MapService extends BaseServiceAbstract {
128
136
  * @param callsign Robot callsign
129
137
  */
130
138
  async deploy(projectId, mapId, callsign) {
131
- return this.callPost(formatServiceUrl(API_MAPS_DEPLOY_URL, {
139
+ return this.callPost(formatServiceUrl(API_GRAPHS_MAPS_DEPLOY_URL, {
132
140
  url: this.config.url,
133
141
  projectId,
134
142
  mapId,
@@ -146,7 +154,7 @@ export class MapService extends BaseServiceAbstract {
146
154
  projectId,
147
155
  mapId,
148
156
  };
149
- return this.callGet(formatServiceUrl(API_MAPS_GEOJSON_URL, params, this.config.insecure), 'Failed to get map GeoJSON.', frameId ? { frameID: frameId } : undefined);
157
+ return this.callGet(formatServiceUrl(API_GRAPHS_MAPS_GEOJSON_URL, params, this.config.insecure), 'Failed to get map GeoJSON.', frameId ? { frameID: frameId } : undefined);
150
158
  }
151
159
  /**
152
160
  * Returns a Promise that resolves to an array of Observation objects for the given panorama ID.
@@ -156,7 +164,7 @@ export class MapService extends BaseServiceAbstract {
156
164
  * @returns A Promise that resolves to an array of Observation objects.
157
165
  */
158
166
  listObservations(projectId, panoramaId) {
159
- return this.callGet(formatServiceUrl(API_MAPS_PANORAMA_OBSERVATIONS_URL, { url: this.config.url, projectId, panoramaId }, this.config.insecure), 'Failed to list observations.');
167
+ return this.callGet(formatServiceUrl(API_GRAPHS_PANORAMA_OBSERVATIONS_URL, { url: this.config.url, projectId, panoramaId }, this.config.insecure), 'Failed to list observations.');
160
168
  }
161
169
  /**
162
170
  * Creates new observations on a panorama.
@@ -167,7 +175,7 @@ export class MapService extends BaseServiceAbstract {
167
175
  * @returns A Promise that resolves when the observations have been created.
168
176
  */
169
177
  createObservations(projectId, panoramaId, observations) {
170
- return this.callPut(formatServiceUrl(API_MAPS_PANORAMA_OBSERVATIONS_URL, { url: this.config.url, projectId, panoramaId }, this.config.insecure), observations, 'Failed to update observations.');
178
+ return this.callPut(formatServiceUrl(API_GRAPHS_PANORAMA_OBSERVATIONS_URL, { url: this.config.url, projectId, panoramaId }, this.config.insecure), observations, 'Failed to update observations.');
171
179
  }
172
180
  /**
173
181
  * Gets observations for a project.
@@ -177,16 +185,26 @@ export class MapService extends BaseServiceAbstract {
177
185
  * @param frameID (optional) Transforms on a seed frame
178
186
  * @returns A list of observations
179
187
  */
180
- getObservations(projectId, key = '', frameID = '') {
181
- return this.callGet(formatServiceUrl(API_OBSERVATIONS_URL, { url: this.config.url, projectId }, this.config.insecure), 'Failed to get observations.', { key, frameID });
188
+ getAssets(projectId, key = '', frameID = '') {
189
+ return this.callGet(formatServiceUrl(API_GRAPHS_OBSERVATIONS_URL, { url: this.config.url, projectId }, this.config.insecure), 'Failed to get assets.', { key, frameID });
182
190
  }
183
191
  /**
184
- * Lists available keys for all observations in a project.
192
+ * Lists available keys for all assets in a project.
185
193
  *
186
194
  * @param projectId The ID of the project the observations belongs to.
187
- * @returns A list of observations
195
+ * @returns A list of assets
196
+ */
197
+ getAssetsKeys(projectId) {
198
+ return this.callGet(formatServiceUrl(API_GRAPHS_OBSERVATION_KEYS_URL, { url: this.config.url, projectId }, this.config.insecure), 'Failed to get asset keys.');
199
+ }
200
+ /**
201
+ * Deletes a panorama by panoramaID.
202
+ *
203
+ * @param projectId The ID of the project the panorama belongs to.
204
+ * @param panoramaId The ID of the panorama to delete.
205
+ * @returns A Promise.
188
206
  */
189
- getObservationsKeys(projectId) {
190
- return this.callGet(formatServiceUrl(API_OBSERVATION_KEYS_URL, { url: this.config.url, projectId }, this.config.insecure), 'Failed to get observation keys.');
207
+ deletePanorama(projectId, panoramaId) {
208
+ return this.callDelete(formatServiceUrl(API_GRAPHS_PANORAMA, { url: this.config.url, projectId, panoramaId }, this.config.insecure), 'Failed to delete panorama.');
191
209
  }
192
210
  }
@@ -232,6 +232,30 @@ export declare class ProfileService extends BaseServiceAbstract implements IBase
232
232
  * @description - Renamed from robotDefGetGamepads
233
233
  */
234
234
  getGamepads(projectId: string, definitionId: string): Promise<any>;
235
+ /** Export robot definition into JSON format
236
+ *
237
+ * Can be used to import robot definition into another project
238
+ *
239
+ * @param projectId - Project Id
240
+ * @param definitionId - Robot definition Id
241
+ *
242
+ * @see import
243
+ */
244
+ export(projectId: string, definitionId: string): Promise<Record<string, unknown>>;
245
+ /** Import robot definition from JSON format
246
+ *
247
+ * Accepts a previously exported robot definition
248
+ *
249
+ * @param projectId - Project Id
250
+ * @param profileData - Robot definition data
251
+ * @param newName - Optional new name for the robot definition. If not provided, the name from the imported definition will be used.
252
+ * @param newDescription - Optional new description for the robot definition. If not provided, the description from the imported definition will be used.
253
+ *
254
+ * @see export
255
+ */
256
+ import(projectId: string, profileData: Blob | File, newName?: string, newDescription?: string): Promise<{
257
+ profileId: string;
258
+ }>;
235
259
  /**
236
260
  * Update gamepads for a robot definition
237
261
  *
@@ -1,4 +1,4 @@
1
- import { API_PROJECT_DEFINITION_ACTION_URL, API_PROJECT_DEFINITION_AGENT_URL, API_PROJECT_DEFINITION_BLOB_URL, API_PROJECT_DEFINITION_BUTTON_URL, API_PROJECT_DEFINITION_COMMAND2_URL, API_PROJECT_DEFINITION_COMMAND_URL, API_PROJECT_DEFINITION_COPY_URL, API_PROJECT_DEFINITION_DASHBOARD_URL, API_PROJECT_DEFINITION_GAMEPAD_URL, API_PROJECT_DEFINITION_ID_URL, API_PROJECT_DEFINITION_SETTING_URL, API_PROJECT_DEFINITION_STREAM_URL, API_PROJECT_DEFINITION_TRIGGER_URL, API_PROJECT_DEFINITION_URL, API_PROJECT_PROFILE_DASHBOARD_URL, API_PROJECT_ROBOT_DEFINITION_URL, API_PROJECT_ROBOT_URL, } from '../constants/api';
1
+ import { API_PROJECT_DEFINITION_ACTION_URL, API_PROJECT_DEFINITION_AGENT_URL, API_PROJECT_DEFINITION_BLOB_URL, API_PROJECT_DEFINITION_BUTTON_URL, API_PROJECT_DEFINITION_COMMAND2_URL, API_PROJECT_DEFINITION_COMMAND_URL, API_PROJECT_DEFINITION_COPY_URL, API_PROJECT_DEFINITION_DASHBOARD_URL, API_PROJECT_DEFINITION_EXPORT, API_PROJECT_DEFINITION_GAMEPAD_URL, API_PROJECT_DEFINITION_ID_URL, API_PROJECT_DEFINITION_IMPORT, API_PROJECT_DEFINITION_SETTING_URL, API_PROJECT_DEFINITION_STREAM_URL, API_PROJECT_DEFINITION_TRIGGER_URL, API_PROJECT_DEFINITION_URL, API_PROJECT_PROFILE_DASHBOARD_URL, API_PROJECT_ROBOT_DEFINITION_URL, API_PROJECT_ROBOT_URL, } from '../constants/api';
2
2
  import { RocosError, errorCodes } from '../models/RocosError';
3
3
  import { BaseServiceAbstract } from './BaseServiceAbstract';
4
4
  import { RocosLogger } from '../logger/RocosLogger';
@@ -345,6 +345,40 @@ export class ProfileService extends BaseServiceAbstract {
345
345
  async getGamepads(projectId, definitionId) {
346
346
  return this.callGet(formatServiceUrl(API_PROJECT_DEFINITION_GAMEPAD_URL, { url: this.config.url, projectId, definitionId }, this.config.insecure), `Failed to get gamepads for ${projectId}, definitionId ${definitionId}.`);
347
347
  }
348
+ /** Export robot definition into JSON format
349
+ *
350
+ * Can be used to import robot definition into another project
351
+ *
352
+ * @param projectId - Project Id
353
+ * @param definitionId - Robot definition Id
354
+ *
355
+ * @see import
356
+ */
357
+ async export(projectId, definitionId) {
358
+ return this.callPost(formatServiceUrl(API_PROJECT_DEFINITION_EXPORT, { url: this.config.url, projectId, definitionId }, this.config.insecure), undefined, `Failed to export robot definition for ${projectId}, definitionId ${definitionId}.`);
359
+ }
360
+ /** Import robot definition from JSON format
361
+ *
362
+ * Accepts a previously exported robot definition
363
+ *
364
+ * @param projectId - Project Id
365
+ * @param profileData - Robot definition data
366
+ * @param newName - Optional new name for the robot definition. If not provided, the name from the imported definition will be used.
367
+ * @param newDescription - Optional new description for the robot definition. If not provided, the description from the imported definition will be used.
368
+ *
369
+ * @see export
370
+ */
371
+ async import(projectId, profileData, newName, newDescription) {
372
+ const formData = new FormData();
373
+ if (newName) {
374
+ formData.append('name', newName);
375
+ }
376
+ if (newDescription) {
377
+ formData.append('description', newDescription);
378
+ }
379
+ formData.append('file', profileData);
380
+ return this.callPost(formatServiceUrl(API_PROJECT_DEFINITION_IMPORT, { url: this.config.url, projectId }, this.config.insecure), formData, `Failed to import robot definition for ${projectId}.`);
381
+ }
348
382
  /**
349
383
  * Update gamepads for a robot definition
350
384
  *
@@ -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
  }
@@ -1,5 +1,5 @@
1
- import { API_ACCOUNT_PROJECT_ID_URL, API_ACCOUNT_PROJECT_URL, API_LINKED_PROJECT_URL, API_PROJECT_ID_URL, API_PROJECT_OPERATION_ID_URL, API_PROJECT_OPERATION_URL, API_PROJECT_URL, API_PROJECT_USERS_URL, API_TEMPLATE_PROVISION_ID_URL, API_TEMPLATE_PROVISION_URL, } from '../constants/api';
2
- import { errorCodes, RocosError, } from '../models';
1
+ import { API_ACCOUNT_EXTERNAL_PROJECTS_URL, API_ACCOUNT_PROJECT_ID_URL, API_ACCOUNT_PROJECT_URL, API_LINKED_PROJECT_URL, API_PROJECT_ID_URL, API_PROJECT_OPERATION_ID_URL, API_PROJECT_OPERATION_URL, API_PROJECT_URL, API_PROJECT_USERS_URL, API_TEMPLATE_PROVISION_ID_URL, API_TEMPLATE_PROVISION_URL, } from '../constants/api';
2
+ import { RocosError, errorCodes, } from '../models';
3
3
  import { BaseServiceAbstract } from './BaseServiceAbstract';
4
4
  import { RocosLogger } from '../logger/RocosLogger';
5
5
  import { formatServiceUrl } from '../helpers/formatServiceUrl';
@@ -90,9 +90,6 @@ export class ProjectService extends BaseServiceAbstract {
90
90
  * @param templateId - Template Id, From back-end responses
91
91
  * @param body - Optional parameters
92
92
  */
93
- // TODO: map the request model
94
- // TODO: map the response object
95
- // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
96
93
  async createProjectByTemplate(templateId, body) {
97
94
  return this.callPost(formatServiceUrl(API_TEMPLATE_PROVISION_ID_URL, { url: this.config.url, templateId }, this.config.insecure), body, `Failed to create project template for ${templateId}.`);
98
95
  }
@@ -160,4 +157,11 @@ export class ProjectService extends BaseServiceAbstract {
160
157
  async getProjectByLinkedProjectId(linkedProjectId) {
161
158
  return this.callGet(formatServiceUrl(API_LINKED_PROJECT_URL, { url: this.config.url, linkedProjectId }, this.config.insecure), `Failed to get project info for linked project ID: ${linkedProjectId}.`);
162
159
  }
160
+ /**
161
+ * List external projects
162
+ * @returns Returns list of DroneDeploy projects with their location and linked state
163
+ */
164
+ async listExternalProjects(accountId) {
165
+ return this.callGet(formatServiceUrl(API_ACCOUNT_EXTERNAL_PROJECTS_URL, { url: this.config.url, accountId }, this.config.insecure), 'Failed to get external project list.');
166
+ }
163
167
  }
@@ -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$;
@@ -1,6 +1,7 @@
1
1
  import { RocosError, errorCodes } from '../models';
2
2
  import { Subject, scan, shareReplay } from 'rxjs';
3
3
  import { BaseServiceAbstract } from './BaseServiceAbstract';
4
+ import { RocosStore } from '../store/RocosStore';
4
5
  import { splitRobotTopic } from '../helpers/splitRobotTopic';
5
6
  export var WebRTCEventType;
6
7
  (function (WebRTCEventType) {
@@ -33,19 +34,21 @@ export class RTPWebRTCService extends BaseServiceAbstract {
33
34
  *
34
35
  * If `logLevel` is set to trace, the connection will emit all messages as events
35
36
  */
36
- createPeerConnection(params) {
37
+ async createPeerConnection(params) {
37
38
  const isInsecure = this.config.insecure ?? false;
38
39
  const port = this.config.port ?? (isInsecure ? 80 : 443);
40
+ const token = (await RocosStore.getSDKInstance(this.config).getAuthService().getToken()).value;
39
41
  return new WebRTCConnection({
40
42
  endpoint: {
41
43
  host: this.config.url,
42
44
  port,
43
45
  insecure: isInsecure,
44
46
  },
45
- token: this.config.token,
47
+ token,
46
48
  projectId: params.projectId,
47
49
  callsign: params.callsign,
48
50
  logLevel: params.logLevel,
51
+ mimeType: params.mimeType,
49
52
  });
50
53
  }
51
54
  }
@@ -62,6 +65,10 @@ export class WebRTCConnection {
62
65
  this.projectId = params.projectId;
63
66
  this.callsign = params.callsign;
64
67
  this.logLevel = params.logLevel;
68
+ this.sendOfferOptions = {
69
+ audioMimeType: params.mimeType?.audio,
70
+ videoMimeType: params.mimeType?.video,
71
+ };
65
72
  }
66
73
  get peerConnectionAvailable() {
67
74
  return !!this.pc;
@@ -142,6 +149,7 @@ export class WebRTCConnection {
142
149
  },
143
150
  body: JSON.stringify({
144
151
  sdp,
152
+ options: this.sendOfferOptions,
145
153
  }),
146
154
  })
147
155
  .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
  }
@@ -1,5 +1,5 @@
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';
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_CONFIGS_CONNECTIONS_URL, API_PROJECT_ROBOT_CONFIGS_CONNECTION_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 { Robot, RobotTemplate, RocosError, errorCodes, } from '../models';
3
3
  import { BaseServiceAbstract } from './BaseServiceAbstract';
4
4
  import { RocosLogger } from '../logger/RocosLogger';
5
5
  import { cleanObject } from '../helpers/cleanObject';
@@ -457,4 +457,10 @@ export class RobotService extends BaseServiceAbstract {
457
457
  async updateGamepads(projectId, callsign, model) {
458
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
459
  }
460
+ async getConnectedCallsigns(projectId) {
461
+ return this.callGet(formatServiceUrl(API_PROJECT_ROBOT_CONFIGS_CONNECTIONS_URL, { url: this.config.url, projectId }, this.config.insecure), `Failed to get connected callsigns for ${projectId}.`);
462
+ }
463
+ async getConnectedCallsign(projectId, callsign) {
464
+ return this.callGet(formatServiceUrl(API_PROJECT_ROBOT_CONFIGS_CONNECTION_URL, { url: this.config.url, projectId, callsign }, this.config.insecure), `Failed to get connected callsign for ${projectId}, callsign ${callsign}.`);
465
+ }
460
466
  }