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