@dronedeploy/rocos-js-sdk 3.0.1-alpha.8 → 3.0.1
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +59 -29
- package/cjs/IRocosSDK.d.ts +4 -3
- package/cjs/RocosSDK.d.ts +19 -7
- package/cjs/RocosSDK.js +31 -10
- package/cjs/api/streams/caller/CallerStream.js +5 -2
- package/cjs/api/streams/caller/CallerStreamNode.js +2 -1
- package/cjs/api/streams/command/CommandStream.js +5 -2
- package/cjs/api/streams/command/CommandStreamNode.js +2 -1
- package/cjs/api/streams/control/ControlStream.js +5 -2
- package/cjs/api/streams/control/ControlStreamAbstract.d.ts +1 -1
- package/cjs/api/streams/control/ControlStreamNode.js +2 -1
- package/cjs/api/streams/fileAccessor/FileAccessorStream.js +4 -1
- package/cjs/api/streams/fileAccessor/FileAccessorStreamNode.js +3 -1
- package/cjs/api/streams/search/SearchStream.js +5 -2
- package/cjs/api/streams/search/SearchStreamNode.js +2 -1
- package/cjs/api/streams/telemetry/TelemetryStream.js +4 -1
- package/cjs/api/streams/telemetry/TelemetryStreamAbstract.d.ts +1 -1
- package/cjs/api/streams/telemetry/TelemetryStreamNode.js +2 -1
- package/cjs/api/streams/webRTCSignalling/WebRTCSignallingStream.js +5 -2
- package/cjs/constants/api.d.ts +31 -15
- package/cjs/constants/api.js +35 -18
- package/cjs/helpers/cleanObject.js +4 -1
- package/cjs/helpers/getUniqueConfigKey.d.ts +6 -2
- package/cjs/helpers/getUniqueConfigKey.js +7 -2
- package/cjs/helpers/index.d.ts +1 -0
- package/cjs/helpers/index.js +1 -0
- package/cjs/helpers/kscript/Context.d.ts +34 -0
- package/cjs/helpers/kscript/Context.js +52 -0
- package/cjs/helpers/kscript/index.d.ts +1 -0
- package/cjs/helpers/kscript/index.js +27 -0
- package/cjs/helpers/kscript/kscript.d.ts +6 -0
- package/cjs/helpers/kscript/kscript.js +115 -0
- package/cjs/helpers/kscript/nodes/Identifier.d.ts +12 -0
- package/cjs/helpers/kscript/nodes/Identifier.js +20 -0
- package/cjs/helpers/kscript/nodes/Literal.d.ts +11 -0
- package/cjs/helpers/kscript/nodes/Literal.js +22 -0
- package/cjs/helpers/kscript/nodes/Node.d.ts +9 -0
- package/cjs/helpers/kscript/nodes/Node.js +15 -0
- package/cjs/helpers/kscript/nodes/Program.d.ts +11 -0
- package/cjs/helpers/kscript/nodes/Program.js +24 -0
- package/cjs/helpers/kscript/nodes/TemplateLiteral.d.ts +23 -0
- package/cjs/helpers/kscript/nodes/TemplateLiteral.js +35 -0
- package/cjs/helpers/kscript/nodes/expressions/ArrayExpression.d.ts +7 -0
- package/cjs/helpers/kscript/nodes/expressions/ArrayExpression.js +31 -0
- package/cjs/helpers/kscript/nodes/expressions/ArrowFunctionExpression.d.ts +14 -0
- package/cjs/helpers/kscript/nodes/expressions/ArrowFunctionExpression.js +40 -0
- package/cjs/helpers/kscript/nodes/expressions/BinaryExpression.d.ts +16 -0
- package/cjs/helpers/kscript/nodes/expressions/BinaryExpression.js +104 -0
- package/cjs/helpers/kscript/nodes/expressions/CallExpression.d.ts +8 -0
- package/cjs/helpers/kscript/nodes/expressions/CallExpression.js +38 -0
- package/cjs/helpers/kscript/nodes/expressions/ChainExpression.d.ts +16 -0
- package/cjs/helpers/kscript/nodes/expressions/ChainExpression.js +25 -0
- package/cjs/helpers/kscript/nodes/expressions/ConditionalExpression.d.ts +14 -0
- package/cjs/helpers/kscript/nodes/expressions/ConditionalExpression.js +30 -0
- package/cjs/helpers/kscript/nodes/expressions/ExpressionStatement.d.ts +7 -0
- package/cjs/helpers/kscript/nodes/expressions/ExpressionStatement.js +18 -0
- package/cjs/helpers/kscript/nodes/expressions/LogicalExpression.d.ts +10 -0
- package/cjs/helpers/kscript/nodes/expressions/LogicalExpression.js +47 -0
- package/cjs/helpers/kscript/nodes/expressions/MemberExpression.d.ts +44 -0
- package/cjs/helpers/kscript/nodes/expressions/MemberExpression.js +98 -0
- package/cjs/helpers/kscript/nodes/expressions/ObjectExpression.d.ts +11 -0
- package/cjs/helpers/kscript/nodes/expressions/ObjectExpression.js +59 -0
- package/cjs/helpers/kscript/nodes/expressions/UnaryExpression.d.ts +12 -0
- package/cjs/helpers/kscript/nodes/expressions/UnaryExpression.js +44 -0
- package/cjs/helpers/kscript/nodes/expressions/index.d.ts +11 -0
- package/cjs/helpers/kscript/nodes/expressions/index.js +28 -0
- package/cjs/helpers/kscript/nodes/index.d.ts +4 -0
- package/cjs/helpers/kscript/nodes/index.js +10 -0
- package/cjs/helpers/kscript/nodes/nodeTypes.d.ts +33 -0
- package/cjs/helpers/kscript/nodes/nodeTypes.js +29 -0
- package/cjs/helpers/kscript/utils.d.ts +4 -0
- package/cjs/helpers/kscript/utils.js +15 -0
- package/cjs/helpers/websandbox/connection.d.ts +2 -1
- package/cjs/helpers/websandbox/connection.js +6 -5
- package/cjs/helpers/websandbox/frame/frame.js +4 -1
- package/cjs/helpers/websandbox/frame/frame.source.js +1 -1
- package/cjs/helpers/websandbox/frame/worker/manager.d.ts +8 -4
- package/cjs/helpers/websandbox/frame/worker/manager.js +32 -14
- package/cjs/helpers/websandbox/frame/worker/worker.source.js +1 -1
- package/cjs/helpers/websandbox/sandbox.d.ts +1 -1
- package/cjs/helpers/websandbox/sandbox.js +7 -7
- package/cjs/models/IConnectedCallsign.d.ts +10 -0
- package/cjs/models/IConnectedCallsign.js +8 -0
- package/cjs/models/RocosError.d.ts +3 -0
- package/cjs/models/RocosError.js +3 -0
- package/cjs/models/ServiceEnum.d.ts +20 -17
- package/cjs/models/ServiceEnum.js +20 -17
- package/cjs/models/TelemetryStatus.d.ts +12 -0
- package/cjs/models/TelemetryStatus.js +17 -0
- package/cjs/models/Token.d.ts +2 -2
- package/cjs/models/Token.js +5 -5
- package/cjs/models/asset-storage/{AssetModelItem.d.ts → AssetItem.d.ts} +2 -0
- package/cjs/models/asset-storage/SyncIntegrations.d.ts +1 -1
- package/cjs/models/device-credentials/DeviceCredentials.d.ts +61 -0
- package/cjs/models/device-credentials/DeviceCredentials.js +2 -0
- package/cjs/models/graph/Position.d.ts +6 -0
- package/cjs/models/graph/Position.js +2 -0
- package/cjs/models/graph/Quaternion.d.ts +6 -0
- package/cjs/models/graph/Quaternion.js +2 -0
- package/cjs/models/graph/Vector3.d.ts +5 -0
- package/cjs/models/graph/Vector3.js +2 -0
- package/cjs/models/graph/index.d.ts +3 -0
- package/cjs/models/graph/index.js +19 -0
- package/cjs/models/index.d.ts +9 -2
- package/cjs/models/index.js +9 -2
- package/cjs/models/integrations/Location.d.ts +24 -0
- package/cjs/models/integrations/Location.js +2 -0
- package/cjs/models/integrations/PaginatedResults.d.ts +4 -0
- package/cjs/models/integrations/PaginatedResults.js +2 -0
- package/cjs/models/maps/Panorama.d.ts +12 -21
- package/cjs/models/projects/ExternalProject.d.ts +10 -0
- package/cjs/models/projects/ExternalProject.js +2 -0
- package/cjs/models/projects/NewProjectRequest.d.ts +8 -0
- package/cjs/models/projects/NewProjectRequest.js +2 -0
- package/cjs/models/target/Target.d.ts +30 -0
- package/cjs/models/target/Target.js +15 -0
- package/cjs/node/RocosSDKNode.d.ts +1 -5
- package/cjs/node/RocosSDKNode.js +9 -9
- package/cjs/services/AssetStorageService.d.ts +19 -19
- package/cjs/services/AssetStorageService.js +20 -9
- package/cjs/services/AuthService.d.ts +12 -1
- package/cjs/services/AuthService.js +25 -1
- package/cjs/services/BaseServiceAbstract.d.ts +1 -1
- package/cjs/services/BaseServiceAbstract.js +2 -2
- package/cjs/services/DeviceCredentialsService.d.ts +15 -0
- package/cjs/services/DeviceCredentialsService.js +56 -0
- package/cjs/services/EnvironmentService.d.ts +28 -0
- package/cjs/services/EnvironmentService.js +48 -0
- package/cjs/services/EvaluatorService.js +1 -1
- package/cjs/services/IntegrationService.d.ts +7 -1
- package/cjs/services/IntegrationService.js +8 -0
- package/cjs/services/MapService.d.ts +18 -8
- package/cjs/services/MapService.js +37 -19
- package/cjs/services/ProfileService.d.ts +24 -0
- package/cjs/services/ProfileService.js +34 -0
- package/cjs/services/ProjectService.d.ts +7 -2
- package/cjs/services/ProjectService.js +7 -3
- package/cjs/services/RTPWebRTCService.d.ts +6 -1
- package/cjs/services/RTPWebRTCService.js +10 -2
- package/cjs/services/RobotService.d.ts +3 -1
- package/cjs/services/RobotService.js +6 -0
- package/cjs/services/SpotProvisioningService.d.ts +1 -1
- package/cjs/services/SpotProvisioningServiceNode.d.ts +1 -1
- package/cjs/services/TargetService.d.ts +16 -0
- package/cjs/services/TargetService.js +58 -0
- package/cjs/services/TelemetryService.d.ts +10 -1
- package/cjs/services/TelemetryService.js +27 -5
- package/cjs/services/WorkflowService.d.ts +18 -8
- package/cjs/services/WorkflowService.js +37 -11
- package/cjs/services/index.d.ts +11 -9
- package/cjs/services/index.js +11 -9
- package/cjs/store/RocosStore.d.ts +1 -2
- package/esm/IRocosSDK.d.ts +4 -3
- package/esm/RocosSDK.d.ts +19 -7
- package/esm/RocosSDK.js +32 -11
- package/esm/api/streams/caller/CallerStream.js +5 -2
- package/esm/api/streams/caller/CallerStreamNode.js +2 -1
- package/esm/api/streams/command/CommandStream.js +5 -2
- package/esm/api/streams/command/CommandStreamNode.js +2 -1
- package/esm/api/streams/control/ControlStream.js +5 -2
- package/esm/api/streams/control/ControlStreamAbstract.d.ts +1 -1
- package/esm/api/streams/control/ControlStreamNode.js +2 -1
- package/esm/api/streams/fileAccessor/FileAccessorStream.js +4 -1
- package/esm/api/streams/fileAccessor/FileAccessorStreamNode.js +3 -1
- package/esm/api/streams/search/SearchStream.js +5 -2
- package/esm/api/streams/search/SearchStreamNode.js +2 -1
- package/esm/api/streams/telemetry/TelemetryStream.js +4 -1
- package/esm/api/streams/telemetry/TelemetryStreamAbstract.d.ts +1 -1
- package/esm/api/streams/telemetry/TelemetryStreamNode.js +2 -1
- package/esm/api/streams/webRTCSignalling/WebRTCSignallingStream.js +5 -2
- package/esm/constants/api.d.ts +31 -15
- package/esm/constants/api.js +31 -15
- package/esm/helpers/cleanObject.js +4 -1
- package/esm/helpers/getUniqueConfigKey.d.ts +6 -2
- package/esm/helpers/getUniqueConfigKey.js +7 -2
- package/esm/helpers/index.d.ts +1 -0
- package/esm/helpers/index.js +1 -0
- package/esm/helpers/kscript/Context.d.ts +34 -0
- package/esm/helpers/kscript/Context.js +49 -0
- package/esm/helpers/kscript/index.d.ts +1 -0
- package/esm/helpers/kscript/index.js +1 -0
- package/esm/helpers/kscript/kscript.d.ts +6 -0
- package/esm/helpers/kscript/kscript.js +107 -0
- package/esm/helpers/kscript/nodes/Identifier.d.ts +12 -0
- package/esm/helpers/kscript/nodes/Identifier.js +14 -0
- package/esm/helpers/kscript/nodes/Literal.d.ts +11 -0
- package/esm/helpers/kscript/nodes/Literal.js +16 -0
- package/esm/helpers/kscript/nodes/Node.d.ts +9 -0
- package/esm/helpers/kscript/nodes/Node.js +12 -0
- package/esm/helpers/kscript/nodes/Program.d.ts +11 -0
- package/esm/helpers/kscript/nodes/Program.js +18 -0
- package/esm/helpers/kscript/nodes/TemplateLiteral.d.ts +23 -0
- package/esm/helpers/kscript/nodes/TemplateLiteral.js +29 -0
- package/esm/helpers/kscript/nodes/expressions/ArrayExpression.d.ts +7 -0
- package/esm/helpers/kscript/nodes/expressions/ArrayExpression.js +25 -0
- package/esm/helpers/kscript/nodes/expressions/ArrowFunctionExpression.d.ts +14 -0
- package/esm/helpers/kscript/nodes/expressions/ArrowFunctionExpression.js +34 -0
- package/esm/helpers/kscript/nodes/expressions/BinaryExpression.d.ts +16 -0
- package/esm/helpers/kscript/nodes/expressions/BinaryExpression.js +98 -0
- package/esm/helpers/kscript/nodes/expressions/CallExpression.d.ts +8 -0
- package/esm/helpers/kscript/nodes/expressions/CallExpression.js +32 -0
- package/esm/helpers/kscript/nodes/expressions/ChainExpression.d.ts +16 -0
- package/esm/helpers/kscript/nodes/expressions/ChainExpression.js +19 -0
- package/esm/helpers/kscript/nodes/expressions/ConditionalExpression.d.ts +14 -0
- package/esm/helpers/kscript/nodes/expressions/ConditionalExpression.js +24 -0
- package/esm/helpers/kscript/nodes/expressions/ExpressionStatement.d.ts +7 -0
- package/esm/helpers/kscript/nodes/expressions/ExpressionStatement.js +12 -0
- package/esm/helpers/kscript/nodes/expressions/LogicalExpression.d.ts +10 -0
- package/esm/helpers/kscript/nodes/expressions/LogicalExpression.js +41 -0
- package/esm/helpers/kscript/nodes/expressions/MemberExpression.d.ts +44 -0
- package/esm/helpers/kscript/nodes/expressions/MemberExpression.js +92 -0
- package/esm/helpers/kscript/nodes/expressions/ObjectExpression.d.ts +11 -0
- package/esm/helpers/kscript/nodes/expressions/ObjectExpression.js +53 -0
- package/esm/helpers/kscript/nodes/expressions/UnaryExpression.d.ts +12 -0
- package/esm/helpers/kscript/nodes/expressions/UnaryExpression.js +38 -0
- package/esm/helpers/kscript/nodes/expressions/index.d.ts +11 -0
- package/esm/helpers/kscript/nodes/expressions/index.js +11 -0
- package/esm/helpers/kscript/nodes/index.d.ts +4 -0
- package/esm/helpers/kscript/nodes/index.js +3 -0
- package/esm/helpers/kscript/nodes/nodeTypes.d.ts +33 -0
- package/esm/helpers/kscript/nodes/nodeTypes.js +24 -0
- package/esm/helpers/kscript/utils.d.ts +4 -0
- package/esm/helpers/kscript/utils.js +11 -0
- package/esm/helpers/websandbox/connection.d.ts +2 -1
- package/esm/helpers/websandbox/connection.js +6 -5
- package/esm/helpers/websandbox/frame/frame.js +4 -1
- package/esm/helpers/websandbox/frame/frame.source.js +1 -1
- package/esm/helpers/websandbox/frame/worker/manager.d.ts +8 -4
- package/esm/helpers/websandbox/frame/worker/manager.js +32 -14
- package/esm/helpers/websandbox/frame/worker/worker.source.js +1 -1
- package/esm/helpers/websandbox/sandbox.d.ts +1 -1
- package/esm/helpers/websandbox/sandbox.js +7 -7
- package/esm/models/IConnectedCallsign.d.ts +10 -0
- package/esm/models/IConnectedCallsign.js +5 -0
- package/esm/models/RocosError.d.ts +3 -0
- package/esm/models/RocosError.js +3 -0
- package/esm/models/ServiceEnum.d.ts +20 -17
- package/esm/models/ServiceEnum.js +20 -17
- package/esm/models/TelemetryStatus.d.ts +12 -0
- package/esm/models/TelemetryStatus.js +14 -0
- package/esm/models/Token.d.ts +2 -2
- package/esm/models/Token.js +5 -5
- package/esm/models/asset-storage/{AssetModelItem.d.ts → AssetItem.d.ts} +2 -0
- package/esm/models/asset-storage/SyncIntegrations.d.ts +1 -1
- package/esm/models/device-credentials/DeviceCredentials.d.ts +61 -0
- package/esm/models/graph/Position.d.ts +6 -0
- package/esm/models/graph/Quaternion.d.ts +6 -0
- package/esm/models/graph/Vector3.d.ts +5 -0
- package/esm/models/graph/index.d.ts +3 -0
- package/esm/models/graph/index.js +3 -0
- package/esm/models/index.d.ts +9 -2
- package/esm/models/index.js +9 -2
- package/esm/models/integrations/Location.d.ts +24 -0
- package/esm/models/integrations/PaginatedResults.d.ts +4 -0
- package/esm/models/maps/Panorama.d.ts +12 -21
- package/esm/models/projects/ExternalProject.d.ts +10 -0
- package/esm/models/projects/NewProjectRequest.d.ts +8 -0
- package/esm/models/target/Target.d.ts +30 -0
- package/esm/models/target/Target.js +9 -0
- package/esm/node/RocosSDKNode.d.ts +1 -5
- package/esm/node/RocosSDKNode.js +10 -10
- package/esm/services/AssetStorageService.d.ts +19 -19
- package/esm/services/AssetStorageService.js +20 -9
- package/esm/services/AuthService.d.ts +12 -1
- package/esm/services/AuthService.js +25 -1
- package/esm/services/BaseServiceAbstract.d.ts +1 -1
- package/esm/services/BaseServiceAbstract.js +3 -3
- package/esm/services/DeviceCredentialsService.d.ts +15 -0
- package/esm/services/DeviceCredentialsService.js +52 -0
- package/esm/services/EnvironmentService.d.ts +28 -0
- package/esm/services/EnvironmentService.js +44 -0
- package/esm/services/EvaluatorService.js +1 -1
- package/esm/services/IntegrationService.d.ts +7 -1
- package/esm/services/IntegrationService.js +10 -2
- package/esm/services/MapService.d.ts +18 -8
- package/esm/services/MapService.js +38 -20
- package/esm/services/ProfileService.d.ts +24 -0
- package/esm/services/ProfileService.js +35 -1
- package/esm/services/ProjectService.d.ts +7 -2
- package/esm/services/ProjectService.js +9 -5
- package/esm/services/RTPWebRTCService.d.ts +6 -1
- package/esm/services/RTPWebRTCService.js +10 -2
- package/esm/services/RobotService.d.ts +3 -1
- package/esm/services/RobotService.js +8 -2
- package/esm/services/SpotProvisioningService.d.ts +1 -1
- package/esm/services/SpotProvisioningServiceNode.d.ts +1 -1
- package/esm/services/TargetService.d.ts +16 -0
- package/esm/services/TargetService.js +54 -0
- package/esm/services/TelemetryService.d.ts +10 -1
- package/esm/services/TelemetryService.js +28 -6
- package/esm/services/WorkflowService.d.ts +18 -8
- package/esm/services/WorkflowService.js +38 -12
- package/esm/services/index.d.ts +11 -9
- package/esm/services/index.js +11 -9
- package/esm/store/RocosStore.d.ts +1 -2
- package/package.json +2 -2
- package/cjs/helpers/cleanObject.spec.js +0 -55
- package/cjs/helpers/flattenObject.spec.js +0 -31
- package/cjs/helpers/flattenOneOf.spec.js +0 -159
- package/cjs/helpers/formatServiceUrl.spec.js +0 -18
- package/cjs/helpers/getSha256Hex.spec.js +0 -19
- package/cjs/helpers/getSha256HexNode.spec.js +0 -10
- package/cjs/helpers/getURLSearchParams.spec.js +0 -21
- package/cjs/helpers/nanosecondToMillisecond.spec.js +0 -22
- package/cjs/helpers/splitRobotTopic.spec.js +0 -53
- package/cjs/helpers/standardDeviation.spec.d.ts +0 -1
- package/cjs/helpers/standardDeviation.spec.js +0 -13
- package/cjs/helpers/websandbox/frame/worker/manager.spec.d.ts +0 -4
- package/cjs/helpers/websandbox/frame/worker/manager.spec.js +0 -132
- package/cjs/models/CallsignStatus.d.ts +0 -6
- package/cjs/models/CallsignStatus.js +0 -10
- package/cjs/models/ExternalProject.d.ts +0 -6
- package/cjs/models/ExternalProject.js +0 -6
- package/cjs/models/Token.spec.d.ts +0 -1
- package/cjs/models/Token.spec.js +0 -110
- package/cjs/services/AuthService.spec.d.ts +0 -1
- package/cjs/services/AuthService.spec.js +0 -165
- package/cjs/services/CallerService.spec.d.ts +0 -1
- package/cjs/services/CallerService.spec.js +0 -229
- package/cjs/services/FunctionService.d.ts +0 -68
- package/cjs/services/FunctionService.js +0 -103
- package/cjs/services/PlatformTimeService.spec.d.ts +0 -1
- package/cjs/services/PlatformTimeService.spec.js +0 -182
- package/cjs/services/RTPWebRTCService.spec.d.ts +0 -4
- package/cjs/services/RTPWebRTCService.spec.js +0 -171
- package/cjs/services/TelemetryService.spec.d.ts +0 -1
- package/cjs/services/TelemetryService.spec.js +0 -39
- package/esm/helpers/cleanObject.spec.d.ts +0 -1
- package/esm/helpers/cleanObject.spec.js +0 -53
- package/esm/helpers/flattenObject.spec.d.ts +0 -1
- package/esm/helpers/flattenObject.spec.js +0 -29
- package/esm/helpers/flattenOneOf.spec.d.ts +0 -1
- package/esm/helpers/flattenOneOf.spec.js +0 -157
- package/esm/helpers/formatServiceUrl.spec.d.ts +0 -1
- package/esm/helpers/formatServiceUrl.spec.js +0 -16
- package/esm/helpers/getSha256Hex.spec.d.ts +0 -1
- package/esm/helpers/getSha256Hex.spec.js +0 -14
- package/esm/helpers/getSha256HexNode.spec.d.ts +0 -1
- package/esm/helpers/getSha256HexNode.spec.js +0 -8
- package/esm/helpers/getURLSearchParams.spec.d.ts +0 -1
- package/esm/helpers/getURLSearchParams.spec.js +0 -19
- package/esm/helpers/nanosecondToMillisecond.spec.d.ts +0 -1
- package/esm/helpers/nanosecondToMillisecond.spec.js +0 -20
- package/esm/helpers/splitRobotTopic.spec.d.ts +0 -1
- package/esm/helpers/splitRobotTopic.spec.js +0 -51
- package/esm/helpers/standardDeviation.spec.d.ts +0 -1
- package/esm/helpers/standardDeviation.spec.js +0 -11
- package/esm/helpers/websandbox/frame/worker/manager.spec.d.ts +0 -4
- package/esm/helpers/websandbox/frame/worker/manager.spec.js +0 -127
- package/esm/models/CallsignStatus.d.ts +0 -6
- package/esm/models/CallsignStatus.js +0 -7
- package/esm/models/ExternalProject.d.ts +0 -6
- package/esm/models/ExternalProject.js +0 -2
- package/esm/models/Token.spec.d.ts +0 -1
- package/esm/models/Token.spec.js +0 -108
- package/esm/models/asset-storage/AssetModelItem.js +0 -1
- package/esm/services/AuthService.spec.d.ts +0 -1
- package/esm/services/AuthService.spec.js +0 -163
- package/esm/services/CallerService.spec.d.ts +0 -1
- package/esm/services/CallerService.spec.js +0 -227
- package/esm/services/FunctionService.d.ts +0 -68
- package/esm/services/FunctionService.js +0 -99
- package/esm/services/PlatformTimeService.spec.d.ts +0 -1
- package/esm/services/PlatformTimeService.spec.js +0 -180
- package/esm/services/RTPWebRTCService.spec.d.ts +0 -4
- package/esm/services/RTPWebRTCService.spec.js +0 -169
- package/esm/services/TelemetryService.spec.d.ts +0 -1
- package/esm/services/TelemetryService.spec.js +0 -37
- /package/cjs/models/asset-storage/{AssetModelItem.js → AssetItem.js} +0 -0
- /package/{cjs/helpers/cleanObject.spec.d.ts → esm/models/asset-storage/AssetItem.js} +0 -0
- /package/{cjs/helpers/flattenObject.spec.d.ts → esm/models/device-credentials/DeviceCredentials.js} +0 -0
- /package/{cjs/helpers/flattenOneOf.spec.d.ts → esm/models/graph/Position.js} +0 -0
- /package/{cjs/helpers/formatServiceUrl.spec.d.ts → esm/models/graph/Quaternion.js} +0 -0
- /package/{cjs/helpers/getSha256Hex.spec.d.ts → esm/models/graph/Vector3.js} +0 -0
- /package/{cjs/helpers/getSha256HexNode.spec.d.ts → esm/models/integrations/Location.js} +0 -0
- /package/{cjs/helpers/getURLSearchParams.spec.d.ts → esm/models/integrations/PaginatedResults.js} +0 -0
- /package/{cjs/helpers/nanosecondToMillisecond.spec.d.ts → esm/models/projects/ExternalProject.js} +0 -0
- /package/{cjs/helpers/splitRobotTopic.spec.d.ts → esm/models/projects/NewProjectRequest.js} +0 -0
@@ -1,14 +1,22 @@
|
|
1
|
-
import {
|
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
|
-
*
|
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(
|
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(
|
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(
|
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(
|
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(
|
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(
|
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(
|
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(
|
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(
|
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(
|
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(
|
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(
|
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
|
-
|
181
|
-
return this.callGet(formatServiceUrl(
|
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
|
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
|
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
|
-
|
190
|
-
return this.
|
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?:
|
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 {
|
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
|
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 {
|
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
|
}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { IBaseService, IRocosSDKConfig, RocosError } from '../models';
|
2
2
|
import { BaseServiceAbstract } from './BaseServiceAbstract';
|
3
3
|
import { Timezone } from '../constants/timezones';
|
4
|
-
type SpotImageTag = 'stable' | 'dev' | 'unstable';
|
4
|
+
type SpotImageTag = 'stable' | 'dev' | 'unstable' | 'rc' | (string & {});
|
5
5
|
export declare class SpotProvisioningService extends BaseServiceAbstract implements IBaseService {
|
6
6
|
constructor(config: IRocosSDKConfig);
|
7
7
|
getStatus(): boolean;
|
@@ -2,7 +2,7 @@
|
|
2
2
|
import { IBaseService, IRocosSDKConfig, RocosError } from '../models';
|
3
3
|
import { BaseServiceAbstract } from './BaseServiceAbstract';
|
4
4
|
import { Timezone } from '../constants/timezones';
|
5
|
-
type SpotImageTag = 'stable' | 'dev' | 'unstable';
|
5
|
+
type SpotImageTag = 'stable' | 'dev' | 'unstable' | 'rc' | (string & {});
|
6
6
|
export declare class SpotProvisioningServiceNode extends BaseServiceAbstract implements IBaseService {
|
7
7
|
constructor(config: IRocosSDKConfig);
|
8
8
|
getStatus(): boolean;
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { Asset, IBaseService, IRocosSDKConfig, RocosError, Target, TargetMedia } from '../models';
|
2
|
+
import { BaseServiceAbstract } from './BaseServiceAbstract';
|
3
|
+
/**
|
4
|
+
* Service for managing targets (such as assets, PoI's, or FLOCS) on DroneDeploy
|
5
|
+
*/
|
6
|
+
export declare class TargetService extends BaseServiceAbstract implements IBaseService {
|
7
|
+
list: (projectId: string, frameID?: string) => Promise<Target[]>;
|
8
|
+
constructor(config: IRocosSDKConfig);
|
9
|
+
getStatus(): boolean;
|
10
|
+
protected getError(e: Error): RocosError;
|
11
|
+
createTargets(projectId: string, targets: Target[]): Promise<void>;
|
12
|
+
listTargets(projectId: string, frameID?: string): Promise<Target[]>;
|
13
|
+
createAssets(projectId: string, assets: Asset[]): Promise<void>;
|
14
|
+
listAssets(projectId: string, frameID?: string): Promise<Asset[]>;
|
15
|
+
addMedia(projectId: string, targetId: string, media: TargetMedia): Promise<void>;
|
16
|
+
}
|
@@ -0,0 +1,54 @@
|
|
1
|
+
import { API_GRAPHS_ASSETS_UPLOAD_URL, API_GRAPHS_ASSETS_URL, API_GRAPHS_TARGETS_URL, API_GRAPHS_TARGET_UPLOAD_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
|
+
* Service for managing targets (such as assets, PoI's, or FLOCS) on DroneDeploy
|
8
|
+
*/
|
9
|
+
export class TargetService extends BaseServiceAbstract {
|
10
|
+
constructor(config) {
|
11
|
+
super(config);
|
12
|
+
this.logger = RocosLogger.getInstance(`TargetService(${this.config.url})`);
|
13
|
+
this.list = this.listTargets;
|
14
|
+
}
|
15
|
+
getStatus() {
|
16
|
+
return true;
|
17
|
+
}
|
18
|
+
getError(e) {
|
19
|
+
return new RocosError(e, errorCodes.TARGET_SERVICE_ERROR);
|
20
|
+
}
|
21
|
+
async createTargets(projectId, targets) {
|
22
|
+
return this.callPut(formatServiceUrl(API_GRAPHS_TARGET_UPLOAD_URL, {
|
23
|
+
url: this.config.url,
|
24
|
+
projectId,
|
25
|
+
}, this.config.insecure), targets, `Failed to upload targets for ${projectId}`);
|
26
|
+
}
|
27
|
+
async listTargets(projectId, frameID = 'seed') {
|
28
|
+
const resp = await this.callGet(formatServiceUrl(API_GRAPHS_TARGETS_URL, {
|
29
|
+
url: this.config.url,
|
30
|
+
projectId,
|
31
|
+
}, this.config.insecure), 'Failed to list targets', { frameID });
|
32
|
+
return resp;
|
33
|
+
}
|
34
|
+
async createAssets(projectId, assets) {
|
35
|
+
return this.callPut(formatServiceUrl(API_GRAPHS_ASSETS_UPLOAD_URL, {
|
36
|
+
url: this.config.url,
|
37
|
+
projectId,
|
38
|
+
}, this.config.insecure), assets, `Failed to upload assets for ${projectId}`);
|
39
|
+
}
|
40
|
+
async listAssets(projectId, frameID = 'seed') {
|
41
|
+
const resp = await this.callGet(formatServiceUrl(API_GRAPHS_ASSETS_URL, {
|
42
|
+
url: this.config.url,
|
43
|
+
projectId,
|
44
|
+
}, this.config.insecure), 'Failed to list assets', { frameID });
|
45
|
+
return resp;
|
46
|
+
}
|
47
|
+
async addMedia(projectId, targetId, media) {
|
48
|
+
await this.callPost(formatServiceUrl(API_GRAPHS_TARGETS_URL, {
|
49
|
+
url: this.config.url,
|
50
|
+
projectId,
|
51
|
+
targetId,
|
52
|
+
}, this.config.insecure), media, 'Failed to add media to a target');
|
53
|
+
}
|
54
|
+
}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { Observable } from 'rxjs';
|
2
|
-
import { CallsignStatus, IRocosSDKConfig, IRocosTelemetryMessage, IStreamStatusMessage, ITelemetryStream, ITelemetryStreamConfig, ITelemetrySubscriptionParams, ITelemetrySubscriptions } from '../models';
|
2
|
+
import { CallsignStatus, IRocosSDKConfig, IRocosTelemetryMessage, IStreamStatusMessage, ITelemetryStream, ITelemetryStreamConfig, ITelemetrySubscriptionParams, ITelemetrySubscriptions, TelemetryMonitorStatus } from '../models';
|
3
3
|
import { BaseStreamService } from './BaseStreamService';
|
4
4
|
export declare class TelemetryService extends BaseStreamService<ITelemetryStream, ITelemetryStreamConfig> {
|
5
5
|
private statusSubscription;
|
@@ -34,6 +34,15 @@ export declare class TelemetryService extends BaseStreamService<ITelemetryStream
|
|
34
34
|
* @param intervalMs optionally override the interval to check for heartbeats (in ms). Default 2000ms
|
35
35
|
*/
|
36
36
|
getRobotStatusChanges(projectId: string, callsign: string, heartbeatTimeoutMs?: number, intervalMs?: number): Observable<CallsignStatus>;
|
37
|
+
/**
|
38
|
+
* Subscribes to the given telemetry and checks we receive one at least emission every `heartbeatTimeoutMs` (default 5s)
|
39
|
+
* @param projectId
|
40
|
+
* @param callsign
|
41
|
+
* @param source the telemetry source to monitor
|
42
|
+
* @param heartbeatTimeoutMs optionally override the deadline for telemetry emissions (in ms). Default 5000ms
|
43
|
+
* @param intervalMs optionally override the interval to check for telemetry emissions (in ms). Default 2000ms
|
44
|
+
*/
|
45
|
+
monitorTelemetryWithTimeout(projectId: string, callsign: string, source: string, heartbeatTimeoutMs?: number, intervalMs?: number): Observable<TelemetryMonitorStatus>;
|
37
46
|
protected initStream(stream: ITelemetryStream): Promise<void>;
|
38
47
|
private buildScope;
|
39
48
|
private createStream;
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { BehaviorSubject, catchError, combineLatest, distinctUntilChanged, from, interval, map, mergeAll, of, startWith, } from 'rxjs';
|
2
|
-
import { CallsignStatus, CallsignsLookup, CallsignsLookupType, RocosError, SubscriberStatusEnum, errorCodes, } from '../models';
|
2
|
+
import { CallsignStatus, CallsignsLookup, CallsignsLookupType, RocosError, TelemetryMonitorStatus, SubscriberStatusEnum, errorCodes, } from '../models';
|
3
3
|
import { filter, finalize } from 'rxjs/operators';
|
4
4
|
import { BaseStreamService } from './BaseStreamService';
|
5
5
|
import { IDENTIFIER_NAME_TELEMETRY } from '../constants/identifier';
|
@@ -95,23 +95,45 @@ export class TelemetryService extends BaseStreamService {
|
|
95
95
|
* @param intervalMs optionally override the interval to check for heartbeats (in ms). Default 2000ms
|
96
96
|
*/
|
97
97
|
getRobotStatusChanges(projectId, callsign, heartbeatTimeoutMs = HEARTBEAT_TIMEOUT, intervalMs = 2000) {
|
98
|
+
return this.monitorTelemetryWithTimeout(projectId, callsign, HEARTBEAT_SOURCE, heartbeatTimeoutMs, intervalMs).pipe(map((status) => {
|
99
|
+
switch (status) {
|
100
|
+
case TelemetryMonitorStatus.CONNECTED:
|
101
|
+
return CallsignStatus.ONLINE;
|
102
|
+
case TelemetryMonitorStatus.DISCONNECTED:
|
103
|
+
return CallsignStatus.OFFLINE;
|
104
|
+
case TelemetryMonitorStatus.ERROR:
|
105
|
+
return CallsignStatus.ERROR;
|
106
|
+
default:
|
107
|
+
return CallsignStatus.UNKNOWN;
|
108
|
+
}
|
109
|
+
}));
|
110
|
+
}
|
111
|
+
/**
|
112
|
+
* Subscribes to the given telemetry and checks we receive one at least emission every `heartbeatTimeoutMs` (default 5s)
|
113
|
+
* @param projectId
|
114
|
+
* @param callsign
|
115
|
+
* @param source the telemetry source to monitor
|
116
|
+
* @param heartbeatTimeoutMs optionally override the deadline for telemetry emissions (in ms). Default 5000ms
|
117
|
+
* @param intervalMs optionally override the interval to check for telemetry emissions (in ms). Default 2000ms
|
118
|
+
*/
|
119
|
+
monitorTelemetryWithTimeout(projectId, callsign, source, heartbeatTimeoutMs = HEARTBEAT_TIMEOUT, intervalMs = 2000) {
|
98
120
|
const startedAt = Date.now();
|
99
121
|
const heartbeatTime$ = this.subscribe({
|
100
122
|
projectId,
|
101
|
-
sources: [
|
123
|
+
sources: [source],
|
102
124
|
callsigns: [callsign],
|
103
125
|
}).pipe(map(() => Date.now()));
|
104
126
|
return combineLatest([heartbeatTime$.pipe(startWith(startedAt)), interval(intervalMs)]).pipe(map(([lastHeartbeat, _]) => {
|
105
127
|
const now = Date.now();
|
106
128
|
// If we haven't received a heartbeat, but we've only just started
|
107
129
|
if (lastHeartbeat === startedAt && now - startedAt <= heartbeatTimeoutMs) {
|
108
|
-
return
|
130
|
+
return TelemetryMonitorStatus.UNKNOWN;
|
109
131
|
}
|
110
132
|
if (now - lastHeartbeat > heartbeatTimeoutMs) {
|
111
|
-
return
|
133
|
+
return TelemetryMonitorStatus.DISCONNECTED;
|
112
134
|
}
|
113
|
-
return
|
114
|
-
}), startWith(
|
135
|
+
return TelemetryMonitorStatus.CONNECTED;
|
136
|
+
}), startWith(TelemetryMonitorStatus.UNKNOWN), distinctUntilChanged(), catchError(() => of(TelemetryMonitorStatus.ERROR)));
|
115
137
|
}
|
116
138
|
async initStream(stream) {
|
117
139
|
await super.initStream(stream);
|
@@ -36,27 +36,37 @@ export declare class WorkflowService extends BaseServiceAbstract implements IBas
|
|
36
36
|
*/
|
37
37
|
update(projectId: string, workflowId: string, model: Workflow): Promise<Workflow>;
|
38
38
|
/**
|
39
|
-
*
|
39
|
+
* Delete a workflow
|
40
40
|
*
|
41
41
|
* @param projectId - Project Id
|
42
42
|
* @param workflowId - Workflow Id
|
43
|
-
* @param fileName - Name of file including extension
|
44
|
-
* @param arrayBuffer - data to upload
|
45
43
|
*/
|
46
|
-
|
47
|
-
protected uploadAssetWithHash(projectId: string, workflowId: string, fileName: string, arrayBuffer: ArrayBuffer, hash: string): Promise<void>;
|
44
|
+
delete(projectId: string, workflowId: string): Promise<void>;
|
48
45
|
/**
|
49
|
-
*
|
46
|
+
* Upload workflow asset
|
50
47
|
*
|
51
48
|
* @param projectId - Project Id
|
52
49
|
* @param workflowId - Workflow Id
|
50
|
+
* @param fileName - Name of file including extension
|
51
|
+
* @param arrayBuffer - data to upload
|
53
52
|
*/
|
54
|
-
|
53
|
+
uploadAsset(projectId: string, workflowId: string, fileName: string, arrayBuffer: ArrayBuffer): Promise<void>;
|
54
|
+
protected uploadAssetWithHash(projectId: string, workflowId: string, fileName: string, arrayBuffer: ArrayBuffer, hash: string): Promise<void>;
|
55
55
|
/**
|
56
56
|
* Get deployed workflows on robot
|
57
57
|
*
|
58
58
|
* @param projectId - Project Id
|
59
59
|
* @param callsign - Robot callsign
|
60
60
|
*/
|
61
|
-
getDeployedWorkflows(projectId: string,
|
61
|
+
getDeployedWorkflows(projectId: string, profileId: string, callsign?: string): Promise<Workflow[]>;
|
62
|
+
addRobotDeployment(projectId: string, callsign: string, workflowId: string): Promise<void>;
|
63
|
+
addProfileDeployment(projectId: string, profileId: string, workflowId: string): Promise<void>;
|
64
|
+
removeRobotDeployment(projectId: string, callsign: string, workflowId: string): Promise<void>;
|
65
|
+
removeProfileDeployment(projectId: string, profileId: string, workflowId: string): Promise<void>;
|
66
|
+
updateRobotDeployments(projectId: string, callsign: string, workflows: string[]): Promise<void>;
|
67
|
+
updateProfileDeployments(projectId: string, profileId: string, workflows: string[]): Promise<void>;
|
68
|
+
getAffectedRobots(projectId: string, workflowId: string): Promise<{
|
69
|
+
callsigns: string[];
|
70
|
+
profileIds: string[];
|
71
|
+
}>;
|
62
72
|
}
|