@dronedeploy/rocos-js-sdk 0.0.1 → 2.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (587) hide show
  1. package/IRocosSDK.d.ts +55 -0
  2. package/IRocosSDK.js +6 -0
  3. package/README.md +90 -0
  4. package/RocosSDK.d.ts +138 -0
  5. package/RocosSDK.js +294 -0
  6. package/api/StreamRegister.d.ts +13 -0
  7. package/api/StreamRegister.js +58 -0
  8. package/api/atoms/StreamHeartbeat.d.ts +27 -0
  9. package/api/atoms/StreamHeartbeat.js +115 -0
  10. package/api/streams/caller/CallerStream.d.ts +13 -0
  11. package/api/streams/caller/CallerStream.js +85 -0
  12. package/api/streams/caller/CallerStreamAbstract.d.ts +28 -0
  13. package/api/streams/caller/CallerStreamAbstract.js +99 -0
  14. package/api/streams/caller/CallerStreamNode.d.ts +13 -0
  15. package/api/streams/caller/CallerStreamNode.js +128 -0
  16. package/api/streams/command/CommandStream.d.ts +12 -0
  17. package/api/streams/command/CommandStream.js +68 -0
  18. package/api/streams/command/CommandStreamAbstract.d.ts +24 -0
  19. package/api/streams/command/CommandStreamAbstract.js +72 -0
  20. package/api/streams/command/CommandStreamNode.d.ts +12 -0
  21. package/api/streams/command/CommandStreamNode.js +93 -0
  22. package/api/streams/control/ControlStream.d.ts +14 -0
  23. package/api/streams/control/ControlStream.js +81 -0
  24. package/api/streams/control/ControlStreamAbstract.d.ts +28 -0
  25. package/api/streams/control/ControlStreamAbstract.js +108 -0
  26. package/api/streams/control/ControlStreamNode.d.ts +14 -0
  27. package/api/streams/control/ControlStreamNode.js +98 -0
  28. package/api/streams/fileAccessor/FileAccessorStream.d.ts +10 -0
  29. package/api/streams/fileAccessor/FileAccessorStream.js +74 -0
  30. package/api/streams/fileAccessor/FileAccessorStreamAbstract.d.ts +26 -0
  31. package/api/streams/fileAccessor/FileAccessorStreamAbstract.js +82 -0
  32. package/api/streams/fileAccessor/FileAccessorStreamNode.d.ts +10 -0
  33. package/api/streams/fileAccessor/FileAccessorStreamNode.js +96 -0
  34. package/api/streams/search/SearchStream.d.ts +16 -0
  35. package/api/streams/search/SearchStream.js +120 -0
  36. package/api/streams/search/SearchStreamAbstract.d.ts +30 -0
  37. package/api/streams/search/SearchStreamAbstract.js +74 -0
  38. package/api/streams/search/SearchStreamNode.d.ts +16 -0
  39. package/api/streams/search/SearchStreamNode.js +143 -0
  40. package/api/streams/telemetry/TelemetryStream.d.ts +17 -0
  41. package/api/streams/telemetry/TelemetryStream.js +126 -0
  42. package/api/streams/telemetry/TelemetryStreamAbstract.d.ts +62 -0
  43. package/api/streams/telemetry/TelemetryStreamAbstract.js +421 -0
  44. package/api/streams/telemetry/TelemetryStreamNode.d.ts +21 -0
  45. package/api/streams/telemetry/TelemetryStreamNode.js +195 -0
  46. package/api/streams/webRTCSignalling/WebRTCSignallingStream.d.ts +44 -0
  47. package/api/streams/webRTCSignalling/WebRTCSignallingStream.js +67 -0
  48. package/api/streams/webRTCSignalling/WebRTCSignallingStreamAbstract.d.ts +32 -0
  49. package/api/streams/webRTCSignalling/WebRTCSignallingStreamAbstract.js +65 -0
  50. package/constants/api.d.ts +121 -0
  51. package/constants/api.js +126 -0
  52. package/constants/grpc.d.ts +5 -0
  53. package/constants/grpc.js +8 -0
  54. package/constants/identifier.d.ts +6 -0
  55. package/constants/identifier.js +9 -0
  56. package/constants/timezones.d.ts +2 -0
  57. package/constants/timezones.js +430 -0
  58. package/demo/angular/.editorconfig +16 -0
  59. package/demo/angular/.eslintignore +4 -0
  60. package/demo/angular/.eslintrc.json +50 -0
  61. package/demo/angular/README.md +36 -0
  62. package/demo/angular/angular.json +132 -0
  63. package/demo/angular/karma.conf.js +44 -0
  64. package/demo/angular/package.json +41 -0
  65. package/demo/angular/src/app/app.component.css +0 -0
  66. package/demo/angular/src/app/app.component.html +9 -0
  67. package/demo/angular/src/app/app.component.ts +10 -0
  68. package/demo/angular/src/app/app.module.ts +38 -0
  69. package/demo/angular/src/app/components/assets/assets.component.css +0 -0
  70. package/demo/angular/src/app/components/assets/assets.component.html +29 -0
  71. package/demo/angular/src/app/components/assets/assets.component.ts +107 -0
  72. package/demo/angular/src/app/components/auth/auth.component.css +0 -0
  73. package/demo/angular/src/app/components/auth/auth.component.html +27 -0
  74. package/demo/angular/src/app/components/auth/auth.component.ts +33 -0
  75. package/demo/angular/src/app/components/caller/caller.component.css +0 -0
  76. package/demo/angular/src/app/components/caller/caller.component.html +22 -0
  77. package/demo/angular/src/app/components/caller/caller.component.ts +61 -0
  78. package/demo/angular/src/app/components/command/command.component.css +0 -0
  79. package/demo/angular/src/app/components/command/command.component.html +22 -0
  80. package/demo/angular/src/app/components/command/command.component.ts +60 -0
  81. package/demo/angular/src/app/components/integrations/integrations.component.ts +43 -0
  82. package/demo/angular/src/app/components/robots/robots.component.css +0 -0
  83. package/demo/angular/src/app/components/robots/robots.component.html +13 -0
  84. package/demo/angular/src/app/components/robots/robots.component.ts +26 -0
  85. package/demo/angular/src/app/components/sdk/sdk.component.css +0 -0
  86. package/demo/angular/src/app/components/sdk/sdk.component.html +43 -0
  87. package/demo/angular/src/app/components/sdk/sdk.component.ts +50 -0
  88. package/demo/angular/src/app/components/subscription/subscription.component.css +0 -0
  89. package/demo/angular/src/app/components/subscription/subscription.component.html +6 -0
  90. package/demo/angular/src/app/components/subscription/subscription.component.ts +40 -0
  91. package/demo/angular/src/app/components/telemetry/telemetry.component.css +0 -0
  92. package/demo/angular/src/app/components/telemetry/telemetry.component.html +19 -0
  93. package/demo/angular/src/app/components/telemetry/telemetry.component.ts +61 -0
  94. package/demo/angular/src/app/components/token/token.component.css +0 -0
  95. package/demo/angular/src/app/components/token/token.component.html +10 -0
  96. package/demo/angular/src/app/components/token/token.component.ts +18 -0
  97. package/demo/angular/src/app/components/video/p2pvideo/index.ts +646 -0
  98. package/demo/angular/src/app/components/video/video-source.ts +315 -0
  99. package/demo/angular/src/app/components/video/video.component.css +6 -0
  100. package/demo/angular/src/app/components/video/video.component.html +54 -0
  101. package/demo/angular/src/app/components/video/video.component.ts +151 -0
  102. package/demo/angular/src/app/services/sdk.service.ts +193 -0
  103. package/demo/angular/src/assets/.gitkeep +0 -0
  104. package/demo/angular/src/assets/HKGrotesk-Bold.otf +0 -0
  105. package/demo/angular/src/assets/HKGrotesk-Regular.otf +0 -0
  106. package/demo/angular/src/assets/logo.svg +16 -0
  107. package/demo/angular/src/environments/environment.prod.ts +3 -0
  108. package/demo/angular/src/environments/environment.ts +16 -0
  109. package/demo/angular/src/favicon.ico +0 -0
  110. package/demo/angular/src/index.html +15 -0
  111. package/demo/angular/src/main.ts +7 -0
  112. package/demo/angular/src/polyfills.ts +53 -0
  113. package/demo/angular/src/styles.css +198 -0
  114. package/demo/angular/tsconfig.app.json +15 -0
  115. package/demo/angular/tsconfig.json +39 -0
  116. package/demo/html/README.md +8 -0
  117. package/demo/html/assets/HKGrotesk-Bold.otf +0 -0
  118. package/demo/html/assets/HKGrotesk-Regular.otf +0 -0
  119. package/demo/html/assets/logo.svg +16 -0
  120. package/demo/html/favicon.ico +0 -0
  121. package/demo/html/index.html +416 -0
  122. package/demo/html/rocos-js-sdk.js +3 -0
  123. package/demo/html/rocos-js-sdk.js.LICENSE.txt +8 -0
  124. package/demo/html/rocos-js-sdk.js.map +1 -0
  125. package/demo/html/styles.css +190 -0
  126. package/demo/node/README.md +17 -0
  127. package/demo/node/index.js +134 -0
  128. package/demo/node/package.json +8 -0
  129. package/demo/react/.env +1 -0
  130. package/demo/react/.env.dist +1 -0
  131. package/demo/react/.eslintrc.json +46 -0
  132. package/demo/react/README.md +65 -0
  133. package/demo/react/package.json +60 -0
  134. package/demo/react/public/favicon.ico +0 -0
  135. package/demo/react/public/index.html +43 -0
  136. package/demo/react/public/logo192.png +0 -0
  137. package/demo/react/public/logo512.png +0 -0
  138. package/demo/react/public/manifest.json +25 -0
  139. package/demo/react/public/robots.txt +3 -0
  140. package/demo/react/src/App.css +190 -0
  141. package/demo/react/src/App.tsx +31 -0
  142. package/demo/react/src/actions/index.ts +8 -0
  143. package/demo/react/src/actions/sdkActions.ts +62 -0
  144. package/demo/react/src/assets/HKGrotesk-Bold.otf +0 -0
  145. package/demo/react/src/assets/HKGrotesk-Regular.otf +0 -0
  146. package/demo/react/src/assets/logo.svg +16 -0
  147. package/demo/react/src/components/AuthForm.tsx +76 -0
  148. package/demo/react/src/components/CallerBox.tsx +53 -0
  149. package/demo/react/src/components/CallerForm.tsx +98 -0
  150. package/demo/react/src/components/CommandBox.tsx +47 -0
  151. package/demo/react/src/components/CommandForm.tsx +98 -0
  152. package/demo/react/src/components/RobotsForm.tsx +51 -0
  153. package/demo/react/src/components/SubscriptionBox.tsx +55 -0
  154. package/demo/react/src/components/TelemetryForm.tsx +98 -0
  155. package/demo/react/src/components/TokenForm.tsx +39 -0
  156. package/demo/react/src/config.json +14 -0
  157. package/demo/react/src/controllers/RocosSDKController.ts +48 -0
  158. package/demo/react/src/helpers/deepEqual.ts +27 -0
  159. package/demo/react/src/hooks/useInput.ts +29 -0
  160. package/demo/react/src/index.css +11 -0
  161. package/demo/react/src/index.tsx +26 -0
  162. package/demo/react/src/react-app-env.d.ts +1 -0
  163. package/demo/react/src/reducers/sdkReducer.ts +133 -0
  164. package/demo/react/src/reportWebVitals.ts +15 -0
  165. package/demo/react/src/selectors/sdkSelector.ts +11 -0
  166. package/demo/react/src/setupTests.ts +5 -0
  167. package/demo/react/src/store.ts +14 -0
  168. package/demo/react/tsconfig.json +26 -0
  169. package/demo/sdk-sizer/dist/sdk-sizer/3rdpartylicenses.txt +975 -0
  170. package/demo/sdk-sizer/dist/sdk-sizer/favicon.ico +0 -0
  171. package/demo/sdk-sizer/dist/sdk-sizer/index.html +12 -0
  172. package/demo/sdk-sizer/dist/sdk-sizer/main.c9183649ce1856ef.js +2 -0
  173. package/demo/sdk-sizer/dist/sdk-sizer/main.c9183649ce1856ef.js.map +1 -0
  174. package/demo/sdk-sizer/dist/sdk-sizer/polyfills.701c8e5d007909aa.js +2 -0
  175. package/demo/sdk-sizer/dist/sdk-sizer/polyfills.701c8e5d007909aa.js.map +1 -0
  176. package/demo/sdk-sizer/dist/sdk-sizer/runtime.00e20e689f5284a8.js +2 -0
  177. package/demo/sdk-sizer/dist/sdk-sizer/runtime.00e20e689f5284a8.js.map +1 -0
  178. package/demo/sdk-sizer/dist/sdk-sizer/stats.json +1 -0
  179. package/demo/sdk-sizer/dist/sdk-sizer/styles.b45f7e627ac8cbce.css +2 -0
  180. package/demo/sdk-sizer/dist/sdk-sizer/styles.b45f7e627ac8cbce.css.map +1 -0
  181. package/grpc/file-accessor/filagree_grpc_pb.d.ts +41 -0
  182. package/grpc/file-accessor/filagree_grpc_pb.js +121 -0
  183. package/grpc/file-accessor/filagree_pb.d.ts +339 -0
  184. package/grpc/file-accessor/filagree_pb.js +2261 -0
  185. package/grpc/file-accessor/filagree_pb_service.d.ts +115 -0
  186. package/grpc/file-accessor/filagree_pb_service.js +257 -0
  187. package/grpc/rambo/rambo.v1_grpc_pb.d.ts +39 -0
  188. package/grpc/rambo/rambo.v1_grpc_pb.js +73 -0
  189. package/grpc/rambo/rambo.v1_pb.d.ts +365 -0
  190. package/grpc/rambo/rambo.v1_pb.js +2469 -0
  191. package/grpc/rambo/rambo.v1_pb_service.d.ts +76 -0
  192. package/grpc/rambo/rambo.v1_pb_service.js +138 -0
  193. package/grpc/rambo/uri.v1_grpc_pb.d.ts +1 -0
  194. package/grpc/rambo/uri.v1_grpc_pb.js +1 -0
  195. package/grpc/rambo/uri.v1_pb.d.ts +80 -0
  196. package/grpc/rambo/uri.v1_pb.js +563 -0
  197. package/grpc/rambo/uri.v1_pb_service.d.ts +3 -0
  198. package/grpc/rambo/uri.v1_pb_service.js +3 -0
  199. package/grpc/robot-control/conker_grpc_pb.d.ts +46 -0
  200. package/grpc/robot-control/conker_grpc_pb.js +143 -0
  201. package/grpc/robot-control/conker_pb.d.ts +168 -0
  202. package/grpc/robot-control/conker_pb.js +1287 -0
  203. package/grpc/robot-control/conker_pb_service.d.ts +126 -0
  204. package/grpc/robot-control/conker_pb_service.js +301 -0
  205. package/grpc/serviette/common.v1_grpc_pb.d.ts +1 -0
  206. package/grpc/serviette/common.v1_grpc_pb.js +1 -0
  207. package/grpc/serviette/common.v1_pb.d.ts +8 -0
  208. package/grpc/serviette/common.v1_pb.js +45 -0
  209. package/grpc/serviette/common.v1_pb_service.d.ts +3 -0
  210. package/grpc/serviette/common.v1_pb_service.js +3 -0
  211. package/grpc/serviette/serviette.v1_grpc_pb.d.ts +137 -0
  212. package/grpc/serviette/serviette.v1_grpc_pb.js +331 -0
  213. package/grpc/serviette/serviette.v1_pb.d.ts +884 -0
  214. package/grpc/serviette/serviette.v1_pb.js +6363 -0
  215. package/grpc/serviette/serviette.v1_pb_service.d.ts +278 -0
  216. package/grpc/serviette/serviette.v1_pb_service.js +699 -0
  217. package/grpc/serviette/uri.v1_grpc_pb.d.ts +1 -0
  218. package/grpc/serviette/uri.v1_grpc_pb.js +1 -0
  219. package/grpc/serviette/uri.v1_pb.d.ts +102 -0
  220. package/grpc/serviette/uri.v1_pb.js +741 -0
  221. package/grpc/serviette/uri.v1_pb_service.d.ts +3 -0
  222. package/grpc/serviette/uri.v1_pb_service.js +3 -0
  223. package/grpc/slowlane/slowlane_grpc_pb.d.ts +38 -0
  224. package/grpc/slowlane/slowlane_grpc_pb.js +132 -0
  225. package/grpc/slowlane/slowlane_pb.d.ts +373 -0
  226. package/grpc/slowlane/slowlane_pb.js +2908 -0
  227. package/grpc/slowlane/slowlane_pb_service.d.ts +112 -0
  228. package/grpc/slowlane/slowlane_pb_service.js +189 -0
  229. package/grpc/teletubby/teletubby_grpc_pb.d.ts +73 -0
  230. package/grpc/teletubby/teletubby_grpc_pb.js +231 -0
  231. package/grpc/teletubby/teletubby_pb.d.ts +647 -0
  232. package/grpc/teletubby/teletubby_pb.js +4786 -0
  233. package/grpc/teletubby/teletubby_pb_service.d.ts +193 -0
  234. package/grpc/teletubby/teletubby_pb_service.js +436 -0
  235. package/grpc/video/pigeon_grpc_pb.d.ts +59 -0
  236. package/grpc/video/pigeon_grpc_pb.js +180 -0
  237. package/grpc/video/pigeon_pb.d.ts +237 -0
  238. package/grpc/video/pigeon_pb.js +1775 -0
  239. package/grpc/video/pigeon_pb_service.d.ts +152 -0
  240. package/grpc/video/pigeon_pb_service.js +292 -0
  241. package/helpers/arrayRemove.d.ts +1 -0
  242. package/helpers/arrayRemove.js +7 -0
  243. package/helpers/arrayUnique.d.ts +1 -0
  244. package/helpers/arrayUnique.js +7 -0
  245. package/helpers/average.d.ts +1 -0
  246. package/helpers/average.js +11 -0
  247. package/helpers/cleanObject.d.ts +1 -0
  248. package/helpers/cleanObject.js +20 -0
  249. package/helpers/enviroment.d.ts +8 -0
  250. package/helpers/enviroment.js +20 -0
  251. package/helpers/flattenCallsignsLookup.d.ts +2 -0
  252. package/helpers/flattenCallsignsLookup.js +10 -0
  253. package/helpers/flattenObject.d.ts +1 -0
  254. package/helpers/flattenObject.js +17 -0
  255. package/helpers/formatServiceUrl.d.ts +1 -0
  256. package/helpers/formatServiceUrl.js +11 -0
  257. package/helpers/generateUUID.d.ts +1 -0
  258. package/helpers/generateUUID.js +8 -0
  259. package/helpers/getSubscriptionsDifference.d.ts +10 -0
  260. package/helpers/getSubscriptionsDifference.js +39 -0
  261. package/helpers/getUniqueConfigKey.d.ts +7 -0
  262. package/helpers/getUniqueConfigKey.js +19 -0
  263. package/helpers/getUniqueId.d.ts +9 -0
  264. package/helpers/getUniqueId.js +15 -0
  265. package/helpers/getUnixTimeMs.d.ts +1 -0
  266. package/helpers/getUnixTimeMs.js +8 -0
  267. package/helpers/index.d.ts +3 -0
  268. package/helpers/index.js +15 -0
  269. package/helpers/nanosecondToMillisecond.d.ts +1 -0
  270. package/helpers/nanosecondToMillisecond.js +7 -0
  271. package/helpers/randomString.d.ts +1 -0
  272. package/helpers/randomString.js +7 -0
  273. package/helpers/standardDeviation.d.ts +1 -0
  274. package/helpers/standardDeviation.js +16 -0
  275. package/helpers/stringToUint8Array.d.ts +1 -0
  276. package/helpers/stringToUint8Array.js +14 -0
  277. package/helpers/uint8ArrayToString.d.ts +1 -0
  278. package/helpers/uint8ArrayToString.js +15 -0
  279. package/index.d.ts +7 -0
  280. package/index.js +19 -0
  281. package/logger/RocosLogger.d.ts +7 -0
  282. package/logger/RocosLogger.js +63 -0
  283. package/models/ExportDataQuery.d.ts +8 -0
  284. package/models/ExportDataQuery.js +17 -0
  285. package/models/ExternalProject.d.ts +6 -0
  286. package/models/ExternalProject.js +6 -0
  287. package/models/IBaseService.d.ts +3 -0
  288. package/models/IBaseService.js +2 -0
  289. package/models/IConfigGroup.d.ts +5 -0
  290. package/models/IConfigGroup.js +2 -0
  291. package/models/IDebugLevel.d.ts +2 -0
  292. package/models/IDebugLevel.js +2 -0
  293. package/models/IExportDataQuery.d.ts +9 -0
  294. package/models/IExportDataQuery.js +2 -0
  295. package/models/IFunctionConfig.d.ts +8 -0
  296. package/models/IFunctionConfig.js +2 -0
  297. package/models/IInvitation.d.ts +6 -0
  298. package/models/IInvitation.js +2 -0
  299. package/models/IInvitationExists.d.ts +4 -0
  300. package/models/IInvitationExists.js +2 -0
  301. package/models/IOperation.d.ts +6 -0
  302. package/models/IOperation.js +2 -0
  303. package/models/IPersonalAccessToken.d.ts +16 -0
  304. package/models/IPersonalAccessToken.js +2 -0
  305. package/models/IProject.d.ts +4 -0
  306. package/models/IProject.js +2 -0
  307. package/models/IProjectApplication.d.ts +6 -0
  308. package/models/IProjectApplication.js +2 -0
  309. package/models/IRobot.d.ts +17 -0
  310. package/models/IRobot.js +2 -0
  311. package/models/IRobotConfig.d.ts +8 -0
  312. package/models/IRobotConfig.js +2 -0
  313. package/models/IRobotPlugin.d.ts +3 -0
  314. package/models/IRobotPlugin.js +2 -0
  315. package/models/IRobotTemplate.d.ts +10 -0
  316. package/models/IRobotTemplate.js +2 -0
  317. package/models/IRocosSDKConfig.d.ts +25 -0
  318. package/models/IRocosSDKConfig.js +2 -0
  319. package/models/ISignupParams.d.ts +8 -0
  320. package/models/ISignupParams.js +2 -0
  321. package/models/ISource.d.ts +8 -0
  322. package/models/ISource.js +2 -0
  323. package/models/IStream.d.ts +9 -0
  324. package/models/IStream.js +2 -0
  325. package/models/IStreamConfig.d.ts +9 -0
  326. package/models/IStreamConfig.js +2 -0
  327. package/models/IStreamOptions.d.ts +7 -0
  328. package/models/IStreamOptions.js +2 -0
  329. package/models/IStreamSource.d.ts +8 -0
  330. package/models/IStreamSource.js +2 -0
  331. package/models/ISubscriberStatus.d.ts +5 -0
  332. package/models/ISubscriberStatus.js +2 -0
  333. package/models/ITelemetryStreamConfig.d.ts +7 -0
  334. package/models/ITelemetryStreamConfig.js +2 -0
  335. package/models/IToken.d.ts +5 -0
  336. package/models/IToken.js +2 -0
  337. package/models/IWidget.d.ts +25 -0
  338. package/models/IWidget.js +2 -0
  339. package/models/IWidgetLineGroup.d.ts +8 -0
  340. package/models/IWidgetLineGroup.js +2 -0
  341. package/models/ResponseLevelEnum.d.ts +6 -0
  342. package/models/ResponseLevelEnum.js +10 -0
  343. package/models/Robot.d.ts +19 -0
  344. package/models/Robot.js +12 -0
  345. package/models/RobotConfig.d.ts +10 -0
  346. package/models/RobotConfig.js +9 -0
  347. package/models/RobotPlugin.d.ts +5 -0
  348. package/models/RobotPlugin.js +9 -0
  349. package/models/RobotTemplate.d.ts +12 -0
  350. package/models/RobotTemplate.js +30 -0
  351. package/models/RocosError.d.ts +30 -0
  352. package/models/RocosError.js +43 -0
  353. package/models/ServiceEnum.d.ts +26 -0
  354. package/models/ServiceEnum.js +30 -0
  355. package/models/Stream.d.ts +10 -0
  356. package/models/Stream.js +15 -0
  357. package/models/StreamOptions.d.ts +9 -0
  358. package/models/StreamOptions.js +37 -0
  359. package/models/StreamSource.d.ts +10 -0
  360. package/models/StreamSource.js +15 -0
  361. package/models/SubscriberStatusEnum.d.ts +6 -0
  362. package/models/SubscriberStatusEnum.js +10 -0
  363. package/models/Token.d.ts +8 -0
  364. package/models/Token.js +15 -0
  365. package/models/Widget.d.ts +27 -0
  366. package/models/Widget.js +16 -0
  367. package/models/WidgetLineGroup.d.ts +10 -0
  368. package/models/WidgetLineGroup.js +9 -0
  369. package/models/asset-storage/AssetModelItem.d.ts +29 -0
  370. package/models/asset-storage/AssetModelItem.js +2 -0
  371. package/models/caller/IRocosCallerMessageChunk.d.ts +9 -0
  372. package/models/caller/IRocosCallerMessageChunk.js +2 -0
  373. package/models/caller/IRocosCallerMessageChunks.d.ts +5 -0
  374. package/models/caller/IRocosCallerMessageChunks.js +2 -0
  375. package/models/caller/IRocosCallerMessageHeartbeat.d.ts +2 -0
  376. package/models/caller/IRocosCallerMessageHeartbeat.js +2 -0
  377. package/models/caller/IRocosCallerMessageResponse.d.ts +9 -0
  378. package/models/caller/IRocosCallerMessageResponse.js +2 -0
  379. package/models/caller/IRocosCallerMessageResponseAck.d.ts +2 -0
  380. package/models/caller/IRocosCallerMessageResponseAck.js +2 -0
  381. package/models/caller/IRocosCallerMessageResponseResult.d.ts +2 -0
  382. package/models/caller/IRocosCallerMessageResponseResult.js +2 -0
  383. package/models/caller/IRocosCallerMessageResponseUid.d.ts +2 -0
  384. package/models/caller/IRocosCallerMessageResponseUid.js +2 -0
  385. package/models/caller/IRocosCallerMessageResponses.d.ts +5 -0
  386. package/models/caller/IRocosCallerMessageResponses.js +2 -0
  387. package/models/caller/RocosCallerResultStatus.d.ts +1 -0
  388. package/models/caller/RocosCallerResultStatus.js +5 -0
  389. package/models/callsigns/CallsignsEnums.d.ts +13 -0
  390. package/models/callsigns/CallsignsEnums.js +20 -0
  391. package/models/callsigns/CallsignsLookup.d.ts +8 -0
  392. package/models/callsigns/CallsignsLookup.js +33 -0
  393. package/models/callsigns/CallsignsQuery.d.ts +9 -0
  394. package/models/callsigns/CallsignsQuery.js +18 -0
  395. package/models/callsigns/CallsignsQueryPredicate.d.ts +9 -0
  396. package/models/callsigns/CallsignsQueryPredicate.js +19 -0
  397. package/models/command/IRocosCommandMessageHeartbeat.d.ts +2 -0
  398. package/models/command/IRocosCommandMessageHeartbeat.js +2 -0
  399. package/models/command/IRocosCommandMessageResponse.d.ts +2 -0
  400. package/models/command/IRocosCommandMessageResponse.js +2 -0
  401. package/models/command/RocosCommandResultStatus.d.ts +1 -0
  402. package/models/command/RocosCommandResultStatus.js +5 -0
  403. package/models/file/FileEnums.d.ts +30 -0
  404. package/models/file/FileEnums.js +36 -0
  405. package/models/index.d.ts +101 -0
  406. package/models/index.js +113 -0
  407. package/models/integrations/Overlay.d.ts +49 -0
  408. package/models/integrations/Overlay.js +2 -0
  409. package/models/integrations/Plan.d.ts +324 -0
  410. package/models/integrations/Plan.js +2 -0
  411. package/models/maps/Map.d.ts +12 -0
  412. package/models/maps/Map.js +2 -0
  413. package/models/message/IRocosCallerMessage.d.ts +8 -0
  414. package/models/message/IRocosCallerMessage.js +2 -0
  415. package/models/message/IRocosChangeMessage.d.ts +6 -0
  416. package/models/message/IRocosChangeMessage.js +2 -0
  417. package/models/message/IRocosCommandMessage.d.ts +6 -0
  418. package/models/message/IRocosCommandMessage.js +2 -0
  419. package/models/message/IRocosControlMessage.d.ts +7 -0
  420. package/models/message/IRocosControlMessage.js +2 -0
  421. package/models/message/IRocosOpResultMessage.d.ts +6 -0
  422. package/models/message/IRocosOpResultMessage.js +2 -0
  423. package/models/message/IRocosSearchMessage.d.ts +5 -0
  424. package/models/message/IRocosSearchMessage.js +2 -0
  425. package/models/message/IRocosSearchRowMessage.d.ts +9 -0
  426. package/models/message/IRocosSearchRowMessage.js +2 -0
  427. package/models/message/IRocosSearchStatusMessage.d.ts +4 -0
  428. package/models/message/IRocosSearchStatusMessage.js +2 -0
  429. package/models/message/IRocosTelemetryMessage.d.ts +18 -0
  430. package/models/message/IRocosTelemetryMessage.js +2 -0
  431. package/models/message/IStreamStatusMessage.d.ts +5 -0
  432. package/models/message/IStreamStatusMessage.js +2 -0
  433. package/models/message/RocosCallerMessage.d.ts +12 -0
  434. package/models/message/RocosCallerMessage.js +23 -0
  435. package/models/message/RocosCommandMessage.d.ts +10 -0
  436. package/models/message/RocosCommandMessage.js +16 -0
  437. package/models/message/RocosControlMessage.d.ts +11 -0
  438. package/models/message/RocosControlMessage.js +18 -0
  439. package/models/message/RocosOpResultMessage.d.ts +9 -0
  440. package/models/message/RocosOpResultMessage.js +22 -0
  441. package/models/message/RocosSearchMessage.d.ts +9 -0
  442. package/models/message/RocosSearchMessage.js +28 -0
  443. package/models/message/RocosSearchRowMessage.d.ts +13 -0
  444. package/models/message/RocosSearchRowMessage.js +20 -0
  445. package/models/message/RocosTelemetryMessage.d.ts +24 -0
  446. package/models/message/RocosTelemetryMessage.js +105 -0
  447. package/models/params/ICallerParams.d.ts +15 -0
  448. package/models/params/ICallerParams.js +2 -0
  449. package/models/params/ICommandParams.d.ts +9 -0
  450. package/models/params/ICommandParams.js +2 -0
  451. package/models/params/IControlParams.d.ts +8 -0
  452. package/models/params/IControlParams.js +2 -0
  453. package/models/params/IFileAccessorParams.d.ts +11 -0
  454. package/models/params/IFileAccessorParams.js +2 -0
  455. package/models/params/ISearchParams.d.ts +10 -0
  456. package/models/params/ISearchParams.js +2 -0
  457. package/models/params/ITelemetryParams.d.ts +18 -0
  458. package/models/params/ITelemetryParams.js +2 -0
  459. package/models/params/IWebRTCSignallingParams.d.ts +21 -0
  460. package/models/params/IWebRTCSignallingParams.js +2 -0
  461. package/models/projects/ProjectUser.d.ts +6 -0
  462. package/models/projects/ProjectUser.js +2 -0
  463. package/models/schedule/IScheduleAction.d.ts +13 -0
  464. package/models/schedule/IScheduleAction.js +9 -0
  465. package/models/schedule/IScheduleInfo.d.ts +11 -0
  466. package/models/schedule/IScheduleInfo.js +2 -0
  467. package/models/schedule/IScheduleJob.d.ts +12 -0
  468. package/models/schedule/IScheduleJob.js +2 -0
  469. package/models/search/SearchQueryFilter.d.ts +5 -0
  470. package/models/search/SearchQueryFilter.js +9 -0
  471. package/models/search/SearchStreamQuery.d.ts +15 -0
  472. package/models/search/SearchStreamQuery.js +10 -0
  473. package/models/stream/IBaseStream.d.ts +8 -0
  474. package/models/stream/IBaseStream.js +2 -0
  475. package/models/stream/ICallerStream.d.ts +8 -0
  476. package/models/stream/ICallerStream.js +2 -0
  477. package/models/stream/ICommandStream.d.ts +7 -0
  478. package/models/stream/ICommandStream.js +2 -0
  479. package/models/stream/IControlStream.d.ts +9 -0
  480. package/models/stream/IControlStream.js +2 -0
  481. package/models/stream/IFileAccessorStream.d.ts +10 -0
  482. package/models/stream/IFileAccessorStream.js +2 -0
  483. package/models/stream/ISearchStream.d.ts +11 -0
  484. package/models/stream/ISearchStream.js +2 -0
  485. package/models/stream/ITelemetryStream.d.ts +10 -0
  486. package/models/stream/ITelemetryStream.js +2 -0
  487. package/models/stream/IWebRTCSignallingStream.d.ts +41 -0
  488. package/models/stream/IWebRTCSignallingStream.js +7 -0
  489. package/models/types.d.ts +5 -0
  490. package/models/types.js +2 -0
  491. package/node/RocosSDKNode.d.ts +42 -0
  492. package/node/RocosSDKNode.js +148 -0
  493. package/node/index.d.ts +7 -0
  494. package/node/index.js +19 -0
  495. package/package.json +25 -6
  496. package/services/AssetStorageService.d.ts +92 -0
  497. package/services/AssetStorageService.js +153 -0
  498. package/services/AuthService.d.ts +61 -0
  499. package/services/AuthService.js +154 -0
  500. package/services/BaseServiceAbstract.d.ts +38 -0
  501. package/services/BaseServiceAbstract.js +103 -0
  502. package/services/CallerService.d.ts +22 -0
  503. package/services/CallerService.js +96 -0
  504. package/services/CallerServiceNode.d.ts +6 -0
  505. package/services/CallerServiceNode.js +11 -0
  506. package/services/CommandService.d.ts +21 -0
  507. package/services/CommandService.js +81 -0
  508. package/services/CommandServiceNode.d.ts +6 -0
  509. package/services/CommandServiceNode.js +11 -0
  510. package/services/ConfigGroupService.d.ts +89 -0
  511. package/services/ConfigGroupService.js +157 -0
  512. package/services/ControlService.d.ts +23 -0
  513. package/services/ControlService.js +100 -0
  514. package/services/ControlServiceNode.d.ts +6 -0
  515. package/services/ControlServiceNode.js +11 -0
  516. package/services/DashboardService.d.ts +97 -0
  517. package/services/DashboardService.js +146 -0
  518. package/services/EventService.d.ts +53 -0
  519. package/services/EventService.js +89 -0
  520. package/services/FileAccessorService.d.ts +25 -0
  521. package/services/FileAccessorService.js +85 -0
  522. package/services/FileAccessorServiceNode.d.ts +6 -0
  523. package/services/FileAccessorServiceNode.js +11 -0
  524. package/services/FunctionService.d.ts +68 -0
  525. package/services/FunctionService.js +103 -0
  526. package/services/IntegrationService.d.ts +48 -0
  527. package/services/IntegrationService.js +77 -0
  528. package/services/MapService.d.ts +96 -0
  529. package/services/MapService.js +119 -0
  530. package/services/PlatformTimeService.d.ts +35 -0
  531. package/services/PlatformTimeService.js +160 -0
  532. package/services/ProfileService.d.ts +244 -0
  533. package/services/ProfileService.js +366 -0
  534. package/services/ProjectService.d.ts +110 -0
  535. package/services/ProjectService.js +164 -0
  536. package/services/RobotService.d.ts +282 -0
  537. package/services/RobotService.js +467 -0
  538. package/services/ScheduleService.d.ts +22 -0
  539. package/services/ScheduleService.js +40 -0
  540. package/services/SearchService.d.ts +25 -0
  541. package/services/SearchService.js +93 -0
  542. package/services/SearchServiceNode.d.ts +6 -0
  543. package/services/SearchServiceNode.js +11 -0
  544. package/services/SpotProvisioningService.d.ts +14 -0
  545. package/services/SpotProvisioningService.js +43 -0
  546. package/services/SpotProvisioningServiceNode.d.ts +15 -0
  547. package/services/SpotProvisioningServiceNode.js +43 -0
  548. package/services/StreamService.d.ts +98 -0
  549. package/services/StreamService.js +146 -0
  550. package/services/TelemetryService.d.ts +43 -0
  551. package/services/TelemetryService.js +144 -0
  552. package/services/TelemetryServiceNode.d.ts +6 -0
  553. package/services/TelemetryServiceNode.js +11 -0
  554. package/services/TimeSyncerService.d.ts +13 -0
  555. package/services/TimeSyncerService.js +27 -0
  556. package/services/UserService.d.ts +200 -0
  557. package/services/UserService.js +319 -0
  558. package/services/WebRTCSignallingService.d.ts +22 -0
  559. package/services/WebRTCSignallingService.js +81 -0
  560. package/services/WorkflowService.d.ts +71 -0
  561. package/services/WorkflowService.js +122 -0
  562. package/services/index.d.ts +26 -0
  563. package/services/index.js +38 -0
  564. package/store/RocosStore.d.ts +31 -0
  565. package/store/RocosStore.js +53 -0
  566. package/utils/axisangle.d.ts +18 -0
  567. package/utils/axisangle.js +48 -0
  568. package/utils/eulerangles.d.ts +22 -0
  569. package/utils/eulerangles.js +133 -0
  570. package/utils/helperfunctions.d.ts +5 -0
  571. package/utils/helperfunctions.js +50 -0
  572. package/utils/localtransform.d.ts +17 -0
  573. package/utils/localtransform.js +50 -0
  574. package/utils/localtransformtree.d.ts +17 -0
  575. package/utils/localtransformtree.js +88 -0
  576. package/utils/misc.d.ts +17 -0
  577. package/utils/misc.js +23 -0
  578. package/utils/positionvector.d.ts +13 -0
  579. package/utils/positionvector.js +79 -0
  580. package/utils/quaternion.d.ts +20 -0
  581. package/utils/quaternion.js +62 -0
  582. package/utils/rotationmatrix.d.ts +23 -0
  583. package/utils/rotationmatrix.js +262 -0
  584. package/utils/transformationmatrix.d.ts +12 -0
  585. package/utils/transformationmatrix.js +123 -0
  586. package/utils/vector3.d.ts +11 -0
  587. package/utils/vector3.js +61 -0
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WorkflowService = void 0;
4
+ const api_1 = require("../constants/api");
5
+ const RocosError_1 = require("../models/RocosError");
6
+ const BaseServiceAbstract_1 = require("./BaseServiceAbstract");
7
+ const RocosLogger_1 = require("../logger/RocosLogger");
8
+ const formatServiceUrl_1 = require("../helpers/formatServiceUrl");
9
+ class WorkflowService extends BaseServiceAbstract_1.BaseServiceAbstract {
10
+ constructor(config) {
11
+ super(config);
12
+ this.logger = RocosLogger_1.RocosLogger.getInstance(`WorkflowService(${this.config.url})`);
13
+ }
14
+ getError(e) {
15
+ return new RocosError_1.RocosError(e, RocosError_1.errorCodes.WORKFLOW_SERVICE_ERROR);
16
+ }
17
+ getStatus() {
18
+ return true;
19
+ }
20
+ /**
21
+ * Create workflow
22
+ *
23
+ * @param projectId - Project Id
24
+ * @param model - Payload
25
+ */
26
+ // TODO: map the request model
27
+ // TODO: map the response object
28
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
29
+ async createOne(projectId, model) {
30
+ return this.callPut(formatServiceUrl_1.formatServiceUrl(api_1.API_PROJECT_WORKFLOW_URL, { url: this.config.url, projectId }, this.config.insecure), model, `Failed to create workflow for ${projectId}.`);
31
+ }
32
+ /**
33
+ * Get workflows for project
34
+ *
35
+ * @param projectId - Project Id
36
+ * @param includeRocosGraph - Include Rocos graph
37
+ * @param includeStats - Include stats
38
+ * @param opsId - Ops Id
39
+ * @param workflowIds - Workflow Id's
40
+ */
41
+ // TODO: map the response object
42
+ async getAll(projectId, includeRocosGraph = false, includeStats = false, opsId, workflowIds) {
43
+ const params = {
44
+ includeRocosGraph: includeRocosGraph ? 1 : 0,
45
+ includeStats: includeStats ? 1 : 0,
46
+ };
47
+ if (opsId) {
48
+ params.opsId = opsId;
49
+ }
50
+ if (workflowIds) {
51
+ params.workflowIds = workflowIds.join(',');
52
+ }
53
+ return this.callGet(formatServiceUrl_1.formatServiceUrl(api_1.API_PROJECT_WORKFLOW_URL, { url: this.config.url, projectId }, this.config.insecure), `Failed to get workflows for ${projectId}.`, params);
54
+ }
55
+ /**
56
+ * Get a workflow
57
+ *
58
+ * @param projectId - Project Id
59
+ * @param workflowId - Workflow Id
60
+ * @param includeInstances - Include instances
61
+ */
62
+ // TODO: map the response object
63
+ async getOne(projectId, workflowId, includeInstances = false) {
64
+ return this.callGet(formatServiceUrl_1.formatServiceUrl(api_1.API_PROJECT_WORKFLOW_ID_URL, { url: this.config.url, projectId, workflowId }, this.config.insecure), `Failed to get workflow for ${projectId}, workflowId ${workflowId}.`, { includeInstances: includeInstances ? 1 : 0 });
65
+ }
66
+ /**
67
+ * Update a workflow
68
+ *
69
+ * @param projectId - Project Id
70
+ * @param workflowId - Workflow Id
71
+ * @param model - Payload
72
+ */
73
+ // TODO: map the request model
74
+ // TODO: map the response object
75
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
76
+ async updateOne(projectId, workflowId, model) {
77
+ return this.callPut(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}.`);
78
+ }
79
+ /**
80
+ * Delete a workflow
81
+ *
82
+ * @param projectId - Project Id
83
+ * @param workflowId - Workflow Id
84
+ */
85
+ // TODO: map the response object
86
+ async deleteOne(projectId, workflowId) {
87
+ return this.callDelete(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}.`);
88
+ }
89
+ /**
90
+ * Get all workflows for a robot
91
+ *
92
+ * @param projectId - Project Id
93
+ * @param callsign - Robot callsign
94
+ */
95
+ // TODO: map the response object
96
+ async getAllOfRobot(projectId, callsign) {
97
+ return this.callGet(formatServiceUrl_1.formatServiceUrl(api_1.API_PROJECT_CALLSIGN_WORKFLOW_URL, { url: this.config.url, projectId, callsign }, this.config.insecure), `Failed to get workflows for ${projectId}, callsign ${callsign}.`);
98
+ }
99
+ /**
100
+ * Update workflows for a robot
101
+ *
102
+ * @param projectId - Project Id
103
+ * @param callsign - Robot callsign
104
+ * @param model - Payload
105
+ */
106
+ // TODO: map the request model
107
+ // TODO: map the response object
108
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
109
+ async updateAllForRobot(projectId, callsign, model) {
110
+ return this.callPut(formatServiceUrl_1.formatServiceUrl(api_1.API_PROJECT_CALLSIGN_WORKFLOW_URL, { url: this.config.url, projectId, callsign }, this.config.insecure), model, `Failed to update workflows for ${projectId}, callsign ${callsign}.`);
111
+ }
112
+ /**
113
+ * Get deployed workflows on robot
114
+ *
115
+ * @param projectId - Project Id
116
+ * @param callsign - Robot callsign
117
+ */
118
+ async getDeployedOnRobot(projectId, callsign) {
119
+ return this.callGet(formatServiceUrl_1.formatServiceUrl(api_1.API_PROJECT_ROBOT_DEPLOYED_WORKFLOW_URL, { url: this.config.url, projectId, callsign }, this.config.insecure), `Failed to update workflows for ${projectId}, callsign ${callsign}.`);
120
+ }
121
+ }
122
+ exports.WorkflowService = WorkflowService;
@@ -0,0 +1,26 @@
1
+ export * from './AssetStorageService';
2
+ export * from './AuthService';
3
+ export * from './CallerService';
4
+ export * from './CommandService';
5
+ export * from './ConfigGroupService';
6
+ export * from './ControlService';
7
+ export * from './DashboardService';
8
+ export * from './EventService';
9
+ export * from './FileAccessorService';
10
+ export * from './FunctionService';
11
+ export * from './IntegrationService';
12
+ export * from './ProfileService';
13
+ export * from './ProjectService';
14
+ export * from './RobotService';
15
+ export * from './SearchService';
16
+ export * from './StreamService';
17
+ export * from './TelemetryService';
18
+ export * from './UserService';
19
+ export * from './WebRTCSignallingService';
20
+ 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';
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./AssetStorageService"), exports);
14
+ __exportStar(require("./AuthService"), exports);
15
+ __exportStar(require("./CallerService"), exports);
16
+ __exportStar(require("./CommandService"), exports);
17
+ __exportStar(require("./ConfigGroupService"), exports);
18
+ __exportStar(require("./ControlService"), exports);
19
+ __exportStar(require("./DashboardService"), exports);
20
+ __exportStar(require("./EventService"), exports);
21
+ __exportStar(require("./FileAccessorService"), exports);
22
+ __exportStar(require("./FunctionService"), exports);
23
+ __exportStar(require("./IntegrationService"), exports);
24
+ __exportStar(require("./ProfileService"), exports);
25
+ __exportStar(require("./ProjectService"), exports);
26
+ __exportStar(require("./RobotService"), exports);
27
+ __exportStar(require("./SearchService"), exports);
28
+ __exportStar(require("./StreamService"), exports);
29
+ __exportStar(require("./TelemetryService"), exports);
30
+ __exportStar(require("./UserService"), exports);
31
+ __exportStar(require("./WebRTCSignallingService"), exports);
32
+ __exportStar(require("./WorkflowService"), exports);
33
+ __exportStar(require("./ScheduleService"), exports);
34
+ __exportStar(require("./TimeSyncerService"), exports);
35
+ __exportStar(require("./PlatformTimeService"), exports);
36
+ __exportStar(require("./SpotProvisioningService"), exports);
37
+ __exportStar(require("./SpotProvisioningServiceNode"), exports);
38
+ __exportStar(require("./MapService"), exports);
@@ -0,0 +1,31 @@
1
+ import { IRocosChangeMessage } from '../models/message/IRocosChangeMessage';
2
+ import { IRocosSDK } from '../IRocosSDK';
3
+ import { IRocosSDKConfig } from '../models/IRocosSDKConfig';
4
+ import { Subject } from 'rxjs';
5
+ export declare class RocosStore {
6
+ private static changeSubject$?;
7
+ protected static instances: Record<string, IRocosSDK>;
8
+ /**
9
+ * A static method to get the change subject.
10
+ */
11
+ static getChangeSubject(): Subject<IRocosChangeMessage>;
12
+ /**
13
+ * A static method to get the SDK instance from instance register.
14
+ *
15
+ * @param config - SDK config {@link IRocosSDKConfig}
16
+ */
17
+ static getSDKInstance(config: IRocosSDKConfig): IRocosSDK;
18
+ /**
19
+ * A static method to put the SDK instance from instance register.
20
+ *
21
+ * @param config - SDK config {@link IRocosSDKConfig}
22
+ * @param instance - SDK instance {@link IRocosSDK}
23
+ */
24
+ static putSDKInstance(config: IRocosSDKConfig, instance: IRocosSDK): void;
25
+ /**
26
+ * A static method to remove the SDK instance from instance register.
27
+ *
28
+ * @param config - SDK config {@link IRocosSDKConfig}
29
+ */
30
+ static removeSDKInstance(config: IRocosSDKConfig): void;
31
+ }
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RocosStore = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ const getUniqueConfigKey_1 = require("../helpers/getUniqueConfigKey");
6
+ class RocosStore {
7
+ /**
8
+ * A static method to get the change subject.
9
+ */
10
+ static getChangeSubject() {
11
+ if (!RocosStore.changeSubject$) {
12
+ RocosStore.changeSubject$ = new rxjs_1.Subject();
13
+ }
14
+ return RocosStore.changeSubject$;
15
+ }
16
+ /**
17
+ * A static method to get the SDK instance from instance register.
18
+ *
19
+ * @param config - SDK config {@link IRocosSDKConfig}
20
+ */
21
+ static getSDKInstance(config) {
22
+ const uniqueConfigKey = getUniqueConfigKey_1.getUniqueConfigKey(config);
23
+ return RocosStore.instances[uniqueConfigKey];
24
+ }
25
+ /**
26
+ * A static method to put the SDK instance from instance register.
27
+ *
28
+ * @param config - SDK config {@link IRocosSDKConfig}
29
+ * @param instance - SDK instance {@link IRocosSDK}
30
+ */
31
+ static putSDKInstance(config, instance) {
32
+ var _a;
33
+ const uniqueConfigKey = getUniqueConfigKey_1.getUniqueConfigKey(config);
34
+ if (!((_a = RocosStore.instances) === null || _a === void 0 ? void 0 : _a[uniqueConfigKey])) {
35
+ RocosStore.instances[uniqueConfigKey] = instance;
36
+ }
37
+ }
38
+ /**
39
+ * A static method to remove the SDK instance from instance register.
40
+ *
41
+ * @param config - SDK config {@link IRocosSDKConfig}
42
+ */
43
+ static removeSDKInstance(config) {
44
+ var _a;
45
+ const uniqueConfigKey = getUniqueConfigKey_1.getUniqueConfigKey(config);
46
+ if ((_a = RocosStore.instances) === null || _a === void 0 ? void 0 : _a[uniqueConfigKey]) {
47
+ delete RocosStore.instances[uniqueConfigKey];
48
+ }
49
+ }
50
+ }
51
+ exports.RocosStore = RocosStore;
52
+ // TODO(matej): migrate to non static instance registry
53
+ RocosStore.instances = {};
@@ -0,0 +1,18 @@
1
+ import { FrameID } from './misc';
2
+ import { LocalTransformTree } from './localtransformtree';
3
+ import { PositionVector } from './positionvector';
4
+ import { RotationMatrix } from './rotationmatrix';
5
+ import { EulerAngles } from './eulerangles';
6
+ import { Quaternion } from './quaternion';
7
+ export declare class AxisAngle {
8
+ axis: PositionVector;
9
+ angle: number;
10
+ constructor(axis: PositionVector, angle: number);
11
+ Axis(): PositionVector;
12
+ Angle(): number;
13
+ ToRotm(): RotationMatrix;
14
+ ToEul(): EulerAngles;
15
+ ToQuat(): Quaternion;
16
+ ToAxAng(): AxisAngle;
17
+ ToFrame(tree: LocalTransformTree, thisID: FrameID, thatID: FrameID): AxisAngle;
18
+ }
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AxisAngle = void 0;
4
+ const rotationmatrix_1 = require("./rotationmatrix");
5
+ const mathjs_1 = require("mathjs");
6
+ // AxisAngle contains an axis and angle of rotation about that axis
7
+ class AxisAngle {
8
+ constructor(axis, angle) {
9
+ this.axis = axis;
10
+ this.angle = angle; // radians
11
+ }
12
+ Axis() { return this.axis; }
13
+ Angle() { return this.angle; }
14
+ // ToRotm returns the RotationMatrix representation of the rotation
15
+ ToRotm() {
16
+ var u = this.axis.unitVector();
17
+ var x = u.X();
18
+ var y = u.Y();
19
+ var z = u.Z();
20
+ var t = this.Angle(); // theta angle
21
+ return new rotationmatrix_1.RotationMatrix([
22
+ [mathjs_1.cos(t) + x ** 2 * (1 - mathjs_1.cos(t)), x * y * (1 - mathjs_1.cos(t)) - z * mathjs_1.sin(t), x * z * (1 - mathjs_1.cos(t)) + y * mathjs_1.sin(t)],
23
+ [y * x * (1 - mathjs_1.cos(t)) + z * mathjs_1.sin(t), mathjs_1.cos(t) + y ** 2 * (1 - mathjs_1.cos(t)), y * z * (1 - mathjs_1.cos(t)) - x * mathjs_1.sin(t)],
24
+ [z * x * (1 - mathjs_1.cos(t)) - y * mathjs_1.sin(t), z * y * (1 - mathjs_1.cos(t)) + x * mathjs_1.sin(t), mathjs_1.cos(t) + z ** 2 * (1 - mathjs_1.cos(t))]
25
+ ]);
26
+ }
27
+ // ToEul returns the EulerAngles representation of the rotation
28
+ ToEul() {
29
+ var rotm = this.ToRotm();
30
+ return rotm.ToEul();
31
+ }
32
+ // ToQuat returns the Quaternion representation of the rotation
33
+ ToQuat() {
34
+ var rotm = this.ToRotm();
35
+ return rotm.ToQuat();
36
+ }
37
+ // ToAxAng returns the AxisAngle representation of the rotation
38
+ ToAxAng() {
39
+ return this;
40
+ }
41
+ // ToFrame returns the rotation relative to the new specified frame
42
+ ToFrame(tree, thisID, thatID) {
43
+ var rotm = this.ToRotm();
44
+ var newRotm = rotm.ToFrame(tree, thisID, thatID);
45
+ return newRotm.ToAxAng();
46
+ }
47
+ }
48
+ exports.AxisAngle = AxisAngle;
@@ -0,0 +1,22 @@
1
+ import { FrameID, Seq } from './misc';
2
+ import { LocalTransformTree } from './localtransformtree';
3
+ import { RotationMatrix } from './rotationmatrix';
4
+ import { Quaternion } from './quaternion';
5
+ import { AxisAngle } from './axisangle';
6
+ export declare class EulerAngles {
7
+ alpha: number;
8
+ beta: number;
9
+ gamma: number;
10
+ seq: Seq;
11
+ constructor(alpha: number, beta: number, gamma: number, seq: Seq);
12
+ Alpha(): number;
13
+ Beta(): number;
14
+ Gamma(): number;
15
+ Seq(): Seq;
16
+ ToRotm(): RotationMatrix;
17
+ ToEul(): EulerAngles;
18
+ ToQuat(): Quaternion;
19
+ ToAxAng(): AxisAngle;
20
+ ToFrame(tree: LocalTransformTree, thisID: FrameID, thatID: FrameID): EulerAngles;
21
+ ToZYX(): EulerAngles;
22
+ }
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EulerAngles = void 0;
4
+ const misc_1 = require("./misc");
5
+ const rotationmatrix_1 = require("./rotationmatrix");
6
+ const quaternion_1 = require("./quaternion");
7
+ const mathjs_1 = require("mathjs");
8
+ // EulerAngles contains the euler angles with specified convention
9
+ class EulerAngles {
10
+ constructor(alpha, beta, gamma, seq) {
11
+ this.alpha = alpha; // X
12
+ this.beta = beta; // Y
13
+ this.gamma = gamma; // Z
14
+ this.seq = seq;
15
+ }
16
+ Alpha() { return this.alpha; }
17
+ Beta() { return this.beta; }
18
+ Gamma() { return this.gamma; }
19
+ Seq() { return this.seq; }
20
+ // ToRotm returns the RotationMatrix representation of the rotation
21
+ ToRotm() {
22
+ var sinB = mathjs_1.sin(this.beta);
23
+ var cosB = mathjs_1.cos(this.beta);
24
+ var sinA = mathjs_1.sin(this.alpha);
25
+ var cosA = mathjs_1.cos(this.alpha);
26
+ var sinG = mathjs_1.sin(this.gamma);
27
+ var cosG = mathjs_1.cos(this.gamma);
28
+ switch (this.Seq()) {
29
+ // Proper Euler angles
30
+ case misc_1.Seq.XZX:
31
+ return new rotationmatrix_1.RotationMatrix([[cosB, -cosG * sinB, sinB * sinG],
32
+ [cosA * sinB, cosA * cosB * cosG - sinA * sinG, -cosG * sinA - cosA * cosB * sinG],
33
+ [sinA * sinB, cosA * sinG + cosB * cosG * sinA, cosA * cosG - cosB * sinA * sinG]]);
34
+ case misc_1.Seq.XYX:
35
+ return new rotationmatrix_1.RotationMatrix([[cosB, sinB * sinG, cosG * sinB],
36
+ [sinA * sinB, cosA * cosG - cosB * sinA * sinG, -cosA * sinG - cosB * cosG * sinA],
37
+ [-cosA * sinB, cosG * sinA + cosA * cosB * sinG, cosA * cosB * cosG - sinA * sinG]]);
38
+ case misc_1.Seq.YXY:
39
+ return new rotationmatrix_1.RotationMatrix([[cosA * cosG - cosB * sinA * sinG, sinA * sinB, cosA * sinG + cosB * cosG * sinA],
40
+ [sinB * sinG, cosB, -cosG * sinB],
41
+ [-cosG * sinA - cosA * cosB * sinG, cosA * sinB, cosA * cosB * cosG - sinA * sinG]]);
42
+ case misc_1.Seq.YZY:
43
+ return new rotationmatrix_1.RotationMatrix([[cosA * cosB * cosG - sinA * sinG, -cosA * sinB, cosG * sinA + cosA * cosB * sinG],
44
+ [cosG * sinB, cosB, sinB * sinG],
45
+ [-cosA * sinG - cosB * cosG * sinA, sinA * sinB, cosA * cosG - cosB * sinA * sinG]]);
46
+ case misc_1.Seq.ZYZ:
47
+ return new rotationmatrix_1.RotationMatrix([[cosA * cosB * cosG - sinA * sinG, -cosG * sinA - cosA * cosB * sinG, cosA * sinB],
48
+ [cosA * sinG + cosB * cosG * sinA, cosA * cosG - cosB * sinA * sinG, -cosA * sinB],
49
+ [-cosG * sinB, sinB * sinG, cosB]]);
50
+ case misc_1.Seq.ZXZ:
51
+ return new rotationmatrix_1.RotationMatrix([[cosA * cosG - cosB * sinA * sinG, -cosA * sinG - cosB * cosG * sinA, sinA * sinB],
52
+ [cosG * sinA + cosA * cosB * sinG, cosA * cosB * cosG - sinA * sinG, -cosA * sinB],
53
+ [sinB * sinG, cosG * sinB, cosB]]);
54
+ // Tait-Bryan angles
55
+ case misc_1.Seq.XZY:
56
+ return new rotationmatrix_1.RotationMatrix([[cosB * cosG, -sinB, cosB * sinG],
57
+ [sinA * sinG + cosA * cosG * sinB, cosA * cosB, cosA * sinB * sinG - cosG * sinA],
58
+ [cosG * sinA * sinB - cosA * sinG, cosB * sinA, cosA * cosG + sinA * sinB * sinG]]);
59
+ case misc_1.Seq.XYZ:
60
+ return new rotationmatrix_1.RotationMatrix([[cosB * cosG, -cosB * sinG, sinB],
61
+ [cosA * sinG + cosG * sinA * sinB, cosA * cosG - sinA * sinB * sinG, -cosB * sinA],
62
+ [sinA * sinG - cosA * cosG * sinB, cosG * sinA + cosA * sinB * sinG, cosA * cosB]]);
63
+ case misc_1.Seq.YXZ:
64
+ return new rotationmatrix_1.RotationMatrix([[cosA * cosG + sinA * sinB * sinG, cosG * sinA * sinB - cosA * sinG, cosB * sinA],
65
+ [cosB * sinG, cosB * cosG, -sinB],
66
+ [cosA * sinB * sinG - cosG * sinA, cosA * cosG * sinB + sinA * sinG, cosA * cosB]]);
67
+ case misc_1.Seq.YZX:
68
+ return new rotationmatrix_1.RotationMatrix([[cosA * cosB, sinA * sinG - cosA * cosG * sinB, cosG * sinA + cosA * sinB * sinG],
69
+ [sinB, cosB * cosG, -cosB * sinG],
70
+ [-cosB * sinA, cosA * sinG + cosG * sinA * sinB, cosA * cosG - sinA * sinB * sinG]]);
71
+ case misc_1.Seq.ZYX:
72
+ return new rotationmatrix_1.RotationMatrix([[cosA * cosB, cosA * sinB * sinG - cosG * sinA, sinA * sinG + cosA * cosG * sinB],
73
+ [cosB * sinA, cosA * cosG + sinA * sinB * sinG, cosG * sinA * sinB - cosA * sinG],
74
+ [-sinB, cosB * sinG, cosB * cosG]]);
75
+ case misc_1.Seq.ZXY:
76
+ return new rotationmatrix_1.RotationMatrix([[cosA * cosG - sinA * sinB * sinG, -cosB * sinA, cosA * sinG + cosG * sinA * sinB],
77
+ [cosG * sinA + cosA * sinB * sinG, cosA * cosB, sinA * sinG - cosA * cosG * sinB],
78
+ [-cosB * sinG, sinB, cosB * cosG]]);
79
+ default:
80
+ throw "Invalid sequence!";
81
+ }
82
+ }
83
+ // ToEul returns the EulerAngles representation of the rotation
84
+ ToEul() {
85
+ return this;
86
+ }
87
+ // ToQuat returns the Quaternion representation of the rotation
88
+ ToQuat() {
89
+ var yaw = this.alpha;
90
+ var pitch = this.beta;
91
+ var gamma = this.gamma;
92
+ // Abbreviations for the various angular functions
93
+ var cy = mathjs_1.cos(yaw * 0.5);
94
+ var sy = mathjs_1.sin(yaw * 0.5);
95
+ var cp = mathjs_1.cos(pitch * 0.5);
96
+ var sp = mathjs_1.sin(pitch * 0.5);
97
+ var cr = mathjs_1.cos(gamma * 0.5);
98
+ var sr = mathjs_1.sin(gamma * 0.5);
99
+ var q = new quaternion_1.Quaternion(0, 0, 0, 0);
100
+ q.w = cr * cp * cy + sr * sp * sy;
101
+ q.x = sr * cp * cy - cr * sp * sy;
102
+ q.y = cr * sp * cy + sr * cp * sy;
103
+ q.z = cr * cp * sy - sr * sp * cy;
104
+ return q;
105
+ }
106
+ // ToAxAng returns the AxisAngle representation of the rotation
107
+ ToAxAng() {
108
+ var rotm = this.ToRotm();
109
+ return rotm.ToAxAng();
110
+ }
111
+ // ToFrame returns the euler angles relative to the new specified frame
112
+ ToFrame(tree, thisID, thatID) {
113
+ var eul;
114
+ if (this.seq != misc_1.Seq.ZYX) {
115
+ eul = this.ToZYX();
116
+ }
117
+ else {
118
+ eul = this;
119
+ }
120
+ var rotm = eul.ToRotm();
121
+ var newRotm = rotm.ToFrame(tree, thisID, thatID);
122
+ return newRotm.ToEul();
123
+ }
124
+ // ToZYX converts euler angles of any sequence to ZYX euler angles
125
+ ToZYX() {
126
+ if (this.Seq() == misc_1.Seq.ZYX) {
127
+ return this;
128
+ }
129
+ var rotm = this.ToRotm();
130
+ return rotm.ToEul();
131
+ }
132
+ }
133
+ exports.EulerAngles = EulerAngles;
@@ -0,0 +1,5 @@
1
+ import { FrameID } from './misc';
2
+ import { LocalTransformTree } from './localtransformtree';
3
+ import { TransformationMatrix } from './transformationmatrix';
4
+ export declare function frameToFrameTransformationMatrixSeq(tree: LocalTransformTree, seq: FrameID[], isInverse: Boolean): TransformationMatrix;
5
+ export declare function copysign(num1: number, num2: number): number;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.copysign = exports.frameToFrameTransformationMatrixSeq = void 0;
4
+ const transformationmatrix_1 = require("./transformationmatrix");
5
+ const mathjs_1 = require("mathjs");
6
+ // Calculate the total transformation matrix between the start and end of a branch sequence
7
+ function frameToFrameTransformationMatrixSeq(tree, seq, isInverse) {
8
+ // Set variables in preperation for iteration down tree
9
+ var currentFrame = tree.getFrame(seq[0]);
10
+ var currentTransformationMatrix = currentFrame.GetTransformationMatrix();
11
+ var totalTransformationMatrix = currentTransformationMatrix;
12
+ // Iterate through sequence and apply transformations
13
+ // This is under the assumption that the root node is an identity transformation matrix
14
+ for (var i = 1; i < seq.length - 1; i++) {
15
+ // Set transformation variables for multiplication
16
+ var currentFrame = tree.getFrame(seq[i]);
17
+ currentTransformationMatrix = currentFrame.GetTransformationMatrix();
18
+ // Multiply current transformation matrix with total transformation matrix
19
+ var temp = currentTransformationMatrix.Multiply(totalTransformationMatrix);
20
+ if (temp instanceof transformationmatrix_1.TransformationMatrix) {
21
+ totalTransformationMatrix = temp;
22
+ }
23
+ else {
24
+ throw "Something is terribly wrong";
25
+ }
26
+ }
27
+ if (isInverse) {
28
+ // The inverse of a (totalTransformation) matrix that has been created by multiplying several (currentTransformation) matrices together
29
+ // is equivalent to multiplying the inverse of each matrix in the reverse order: inv(T1*T2) = inv(T2)*inv(T1)
30
+ // Therefore the sequence is always be DOWN the branch (no sequence reversal needed for UP tree transformations)
31
+ return new transformationmatrix_1.TransformationMatrix(mathjs_1.inv(totalTransformationMatrix.elements));
32
+ }
33
+ else {
34
+ return totalTransformationMatrix;
35
+ }
36
+ }
37
+ exports.frameToFrameTransformationMatrixSeq = frameToFrameTransformationMatrixSeq;
38
+ // copy the sign (+ or -) of num2 for num1
39
+ function copysign(num1, num2) {
40
+ if (mathjs_1.sign(num2) == -1) {
41
+ return mathjs_1.abs(num1) * -1;
42
+ }
43
+ else if (mathjs_1.sign(num2) == 0) {
44
+ return num1;
45
+ }
46
+ else {
47
+ return mathjs_1.abs(num1);
48
+ }
49
+ }
50
+ exports.copysign = copysign;
@@ -0,0 +1,17 @@
1
+ import { FrameID } from './misc';
2
+ import { LocalTransformTree } from './localtransformtree';
3
+ import { PositionVector } from './positionvector';
4
+ import { RotationMatrix } from './rotationmatrix';
5
+ import { TransformationMatrix } from './transformationmatrix';
6
+ export declare class LocalTransform {
7
+ origin: PositionVector;
8
+ basis: RotationMatrix;
9
+ frameID: FrameID;
10
+ constructor(origin: PositionVector, basis: RotationMatrix, frameID: FrameID);
11
+ ID(): FrameID;
12
+ ParentID(tree: LocalTransformTree): FrameID;
13
+ GetRotation(): RotationMatrix;
14
+ GetPosition(): PositionVector;
15
+ GetTransformationMatrix(): TransformationMatrix;
16
+ ToFrame(tree: LocalTransformTree, resultFrameID: FrameID): TransformationMatrix;
17
+ }
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LocalTransform = void 0;
4
+ const transformationmatrix_1 = require("./transformationmatrix");
5
+ const helperfunctions_1 = require("./helperfunctions");
6
+ // LocalTransform is the implementation of Transform locally within the script
7
+ class LocalTransform {
8
+ constructor(origin, basis, frameID) {
9
+ this.origin = origin;
10
+ this.basis = basis;
11
+ this.frameID = frameID;
12
+ }
13
+ ID() { return this.frameID; }
14
+ ParentID(tree) { return tree.getParent(this.ID()); }
15
+ GetRotation() { return this.basis; }
16
+ GetPosition() { return this.origin; }
17
+ GetTransformationMatrix() {
18
+ return new transformationmatrix_1.TransformationMatrix([[this.basis.elements[0][0], this.basis.elements[0][1], this.basis.elements[0][2], this.origin.elements[0][0]],
19
+ [this.basis.elements[1][0], this.basis.elements[1][1], this.basis.elements[1][2], this.origin.elements[1][0]],
20
+ [this.basis.elements[2][0], this.basis.elements[2][1], this.basis.elements[2][2], this.origin.elements[2][0]],
21
+ [0, 0, 0, 1]]);
22
+ }
23
+ // ToFrame returns the transformation matrix relative to the new specified frame
24
+ ToFrame(tree, resultFrameID) {
25
+ var originalFrameID = this.ID();
26
+ if (originalFrameID == resultFrameID) {
27
+ return this.GetTransformationMatrix();
28
+ }
29
+ else if (tree.isDescendant(originalFrameID, resultFrameID)) {
30
+ return helperfunctions_1.frameToFrameTransformationMatrixSeq(tree, tree.getSeqDown(originalFrameID, resultFrameID), false);
31
+ }
32
+ else if (tree.isAncestor(originalFrameID, resultFrameID)) {
33
+ return helperfunctions_1.frameToFrameTransformationMatrixSeq(tree, tree.getSeqDown(resultFrameID, originalFrameID), true);
34
+ }
35
+ else { // Frames are on different branches
36
+ var commonNode = tree.getCommonFrameID(originalFrameID, resultFrameID);
37
+ // Calculate the transformation matrix of each frame relative to the common node
38
+ var totalTM1 = helperfunctions_1.frameToFrameTransformationMatrixSeq(tree, tree.getSeqDown(originalFrameID, commonNode), false); // calculate down tree matrix
39
+ var totalTM2 = helperfunctions_1.frameToFrameTransformationMatrixSeq(tree, tree.getSeqDown(resultFrameID, commonNode), true); // calculate up the tree (inverses)
40
+ var totalTM = totalTM2.Multiply(totalTM1);
41
+ if (totalTM instanceof transformationmatrix_1.TransformationMatrix) {
42
+ return new transformationmatrix_1.TransformationMatrix(totalTM.elements);
43
+ }
44
+ else {
45
+ throw "Erorr occurred";
46
+ }
47
+ }
48
+ }
49
+ }
50
+ exports.LocalTransform = LocalTransform;
@@ -0,0 +1,17 @@
1
+ import { FrameID } from './misc';
2
+ import { LocalTransform } from './localtransform';
3
+ export declare class LocalTransformTree {
4
+ frames: Map<FrameID, LocalTransform>;
5
+ parents: Map<FrameID, FrameID>;
6
+ children: Map<FrameID, FrameID[]>;
7
+ constructor(frames: Map<FrameID, LocalTransform>, parents: Map<FrameID, FrameID>, children: Map<FrameID, FrameID[]>);
8
+ getFrame(searchID: FrameID): LocalTransform;
9
+ getSeqDown(start: FrameID, end: FrameID): FrameID[];
10
+ getCommonFrameID(frame1ID: FrameID, frame2ID: FrameID): FrameID;
11
+ getParent(searchID: FrameID): FrameID;
12
+ getChildren(searchID: FrameID): FrameID[];
13
+ isChild(originalFrameID: FrameID, resultFrameID: FrameID): boolean;
14
+ isParent(originalFrameID: FrameID, resultFrameID: FrameID): boolean;
15
+ isAncestor(originalFrameID: FrameID, resultFrameID: FrameID): boolean;
16
+ isDescendant(originalFrameID: FrameID, resultFrameID: FrameID): boolean;
17
+ }