@dronedeploy/rocos-js-sdk 0.0.1 → 1.0.0-alpha-2
Sign up to get free protection for your applications and to get access to all the features.
- 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
package/IRocosSDK.d.ts
ADDED
@@ -0,0 +1,55 @@
|
|
1
|
+
import { MapService, SpotProvisioningServiceNode } from './services';
|
2
|
+
import { AssetStorageService } from './services/AssetStorageService';
|
3
|
+
import { AuthService } from './services/AuthService';
|
4
|
+
import { CallerService } from './services/CallerService';
|
5
|
+
import { CommandService } from './services/CommandService';
|
6
|
+
import { ConfigGroupService } from './services/ConfigGroupService';
|
7
|
+
import { ControlService } from './services/ControlService';
|
8
|
+
import { DashboardService } from './services/DashboardService';
|
9
|
+
import { EventService } from './services/EventService';
|
10
|
+
import { FileAccessorService } from './services/FileAccessorService';
|
11
|
+
import { FunctionService } from './services/FunctionService';
|
12
|
+
import { IBaseService } from './models/IBaseService';
|
13
|
+
import { IDebugLevel } from './models/IDebugLevel';
|
14
|
+
import { IntegrationService } from './services/IntegrationService';
|
15
|
+
import { ProfileService } from './services/ProfileService';
|
16
|
+
import { ProjectService } from './services/ProjectService';
|
17
|
+
import { RobotService } from './services/RobotService';
|
18
|
+
import { SearchService } from './services/SearchService';
|
19
|
+
import { ServiceEnum } from './models/ServiceEnum';
|
20
|
+
import { SpotProvisioningService } from './services/SpotProvisioningService';
|
21
|
+
import { StreamService } from './services/StreamService';
|
22
|
+
import { TelemetryService } from './services/TelemetryService';
|
23
|
+
import { TimeSyncerService } from './services/TimeSyncerService';
|
24
|
+
import { UserService } from './services/UserService';
|
25
|
+
import { WebRTCSignallingService } from './services/WebRTCSignallingService';
|
26
|
+
import { WorkflowService } from './services/WorkflowService';
|
27
|
+
export declare abstract class IRocosSDK {
|
28
|
+
abstract getService<T extends IBaseService>(name: ServiceEnum): T;
|
29
|
+
abstract getAuthService(): AuthService;
|
30
|
+
abstract getRobotService(): RobotService;
|
31
|
+
abstract getEventService(): EventService;
|
32
|
+
abstract getProjectService(): ProjectService;
|
33
|
+
abstract getTelemetryService(): TelemetryService;
|
34
|
+
abstract getCallerService(): CallerService;
|
35
|
+
abstract getControlService(): ControlService;
|
36
|
+
abstract getCommandService(): CommandService;
|
37
|
+
abstract getSearchService(): SearchService;
|
38
|
+
abstract getConfigGroupService(): ConfigGroupService;
|
39
|
+
abstract getDashboardService(): DashboardService;
|
40
|
+
abstract getFunctionService(): FunctionService;
|
41
|
+
abstract getStreamService(): StreamService;
|
42
|
+
abstract getUserService(): UserService;
|
43
|
+
abstract getMapService(): MapService;
|
44
|
+
abstract getTimeSyncerService(): TimeSyncerService;
|
45
|
+
abstract getWorkflowService(): WorkflowService;
|
46
|
+
abstract getAssetStorageService(): AssetStorageService;
|
47
|
+
abstract getProfileService(): ProfileService;
|
48
|
+
abstract getWebRTCSignallingService(): WebRTCSignallingService;
|
49
|
+
abstract getFileAccessorService(): FileAccessorService;
|
50
|
+
abstract getSpotProvisionerService(): SpotProvisioningService | SpotProvisioningServiceNode;
|
51
|
+
abstract getIntegrationService(): IntegrationService;
|
52
|
+
abstract cleanup(): Promise<boolean>;
|
53
|
+
abstract enableDebugMode(on: boolean): void;
|
54
|
+
abstract setDebugLevel(level: IDebugLevel): void;
|
55
|
+
}
|
package/IRocosSDK.js
ADDED
package/README.md
ADDED
@@ -0,0 +1,108 @@
|
|
1
|
+
# rocos-js-sdk
|
2
|
+
Javascript SDK for interacting with the Rocos platform.
|
3
|
+
|
4
|
+
## Using with Node
|
5
|
+
In order to use the SDK with node, you must be using node version 18.13 or higher.
|
6
|
+
|
7
|
+
## Installation
|
8
|
+
|
9
|
+
Add a .npmrc to your project, in the same directory as your package.json
|
10
|
+
|
11
|
+
```bash
|
12
|
+
@team-rocos:registry=https://npm.pkg.github.com
|
13
|
+
```
|
14
|
+
|
15
|
+
Then install the package with npm
|
16
|
+
|
17
|
+
```bash
|
18
|
+
npm install @team-rocos/rocos-js-sdk
|
19
|
+
```
|
20
|
+
|
21
|
+
or yarn
|
22
|
+
|
23
|
+
```bash
|
24
|
+
yarn add @team-rocos/rocos-js-sdk rxjs@^7
|
25
|
+
```
|
26
|
+
## What's New?
|
27
|
+
|
28
|
+
### 3.0.0
|
29
|
+
|
30
|
+
*Breaking Changes*
|
31
|
+
* `IToken` interface changes
|
32
|
+
* `created` is now `issuedAt` and is a `Date` object instead of a `string`
|
33
|
+
* `expiresIn` is now `expires` and is a `Date` object instead of a `number`
|
34
|
+
* `Token` class is now only functional for JWT tokens
|
35
|
+
* Logging in and signing up with email and password has been removed
|
36
|
+
* Resetting password has been removed
|
37
|
+
|
38
|
+
*New Features*
|
39
|
+
* NodeJS requirement has been dropped, so that the SDK can be used in the browser regardless of node version. When using node SDK, you must be using node version 18.13 or higher.
|
40
|
+
* `AuthService` now supports `refreshToken` method to refresh the access token
|
41
|
+
* Auth Token will now be refreshed automatically when it expires
|
42
|
+
|
43
|
+
|
44
|
+
### 2.6.1
|
45
|
+
|
46
|
+
* Modify map service response type
|
47
|
+
|
48
|
+
### 2.6.0
|
49
|
+
|
50
|
+
* Change `rxjs` dependency to a peer dependency (support for `^6.6.6 || ^7.0.0`)
|
51
|
+
- If you are using `yarn` you may need to add `rxjs` to your dependencies
|
52
|
+
|
53
|
+
### 2.4.0
|
54
|
+
|
55
|
+
* deleted unused endpoints relating to legacy accounts which are no longer supported
|
56
|
+
|
57
|
+
### 2.3.0
|
58
|
+
|
59
|
+
* Added `mapService` for supporting agent map functionality
|
60
|
+
|
61
|
+
### 2.2.0
|
62
|
+
|
63
|
+
* Added `listUsers` method in ProjectService to list project users
|
64
|
+
* Added additional debug information for failed HTTP responses
|
65
|
+
|
66
|
+
### 2.1.0
|
67
|
+
|
68
|
+
* Added getPlansPaged method to the IntegrationService to retrieve plans in a paged manner
|
69
|
+
|
70
|
+
### 2.0.2
|
71
|
+
|
72
|
+
* Fix no-content responses attempting to parse as JSON
|
73
|
+
|
74
|
+
### 2.0.1
|
75
|
+
|
76
|
+
* Security updates for React demo app dependencies
|
77
|
+
|
78
|
+
### 2.0.0
|
79
|
+
|
80
|
+
* Updating base class for all REST requests to go via fetch instead of axios
|
81
|
+
* Remove unused dependencies `source-map-loader`, `ts-loader`, `axios`
|
82
|
+
* Mark certain auth methods as deprecated in AuthService
|
83
|
+
* `login` Login with email and password.
|
84
|
+
* `signup`
|
85
|
+
* `resetPassword`
|
86
|
+
* Deleted legacy services, these services are prefixed with BC, e.g. `BCRocosClient`
|
87
|
+
* Updated outdated dependencies in the Angular demo application
|
88
|
+
|
89
|
+
#### Migrating from 1.x to 2.x
|
90
|
+
|
91
|
+
* NodeJS engine requirements need to be v18.13 and npm v8 to use in NodeJS as the underlying HTTP services now use fetch API
|
92
|
+
* Legacy services prefixed with BC will need to be migrated to use the standard services
|
93
|
+
|
94
|
+
### 1.19.0
|
95
|
+
|
96
|
+
New method added to the `IntegrationService` to create a new issue in the current location.
|
97
|
+
|
98
|
+
* createIssue - Creates a new issue in a specific location on the latest map plan
|
99
|
+
|
100
|
+
### 1.18.0
|
101
|
+
|
102
|
+
Added new integration service to be able to retrieve plans created in DroneDeploy
|
103
|
+
|
104
|
+
This can be retrieved by getIntegrationService(). Available methods:
|
105
|
+
|
106
|
+
* getPlans - Gets a list of plans
|
107
|
+
* getPlanById - Retrieves a specific plan with the tiled layer that can be used to render meshes, point clouds, or tiled maps
|
108
|
+
* getWMTS - Returns WMTS tiles that can be rendered in tools such as mapbox if your project has WMTS feature enabled)
|
package/RocosSDK.d.ts
ADDED
@@ -0,0 +1,138 @@
|
|
1
|
+
import { AssetStorageService, AuthService, CallerService, CommandService, ConfigGroupService, ControlService, DashboardService, EventService, FileAccessorService, FunctionService, IntegrationService, MapService, ProfileService, ProjectService, RobotService, ScheduleService, SearchService, SpotProvisioningService, StreamService, TelemetryService, TimeSyncerService, UserService, WebRTCSignallingService, WorkflowService } from './services';
|
2
|
+
import { IBaseService, IDebugLevel, IRocosSDKConfig, ServiceEnum } from './models';
|
3
|
+
import { IRocosSDK } from './IRocosSDK';
|
4
|
+
import { Logger } from 'loglevel';
|
5
|
+
export declare class RocosSDK implements IRocosSDK {
|
6
|
+
protected config: IRocosSDKConfig;
|
7
|
+
protected logger: Logger;
|
8
|
+
protected services: Record<string, IBaseService>;
|
9
|
+
/**
|
10
|
+
* Create a new SDK instance using a config object.
|
11
|
+
*
|
12
|
+
* @param config - SDK config {@link IRocosSDKConfig}
|
13
|
+
*/
|
14
|
+
constructor(config: IRocosSDKConfig);
|
15
|
+
/**
|
16
|
+
* Gets the service by service name.
|
17
|
+
*
|
18
|
+
* @param name - Service name {@link ServiceEnum}
|
19
|
+
*/
|
20
|
+
getService<T extends IBaseService>(name: ServiceEnum): T;
|
21
|
+
/**
|
22
|
+
* GEts the authentication service.
|
23
|
+
*/
|
24
|
+
getAuthService(): AuthService;
|
25
|
+
/**
|
26
|
+
* Gets the robot service.
|
27
|
+
*/
|
28
|
+
getRobotService(): RobotService;
|
29
|
+
/**
|
30
|
+
* Gets the event service.
|
31
|
+
*/
|
32
|
+
getEventService(): EventService;
|
33
|
+
/**
|
34
|
+
* Gets the project service.
|
35
|
+
*/
|
36
|
+
getProjectService(): ProjectService;
|
37
|
+
/**
|
38
|
+
* Gets the telemetry service.
|
39
|
+
*/
|
40
|
+
getTelemetryService(): TelemetryService;
|
41
|
+
/**
|
42
|
+
* Gets the service call service.
|
43
|
+
*/
|
44
|
+
getCallerService(): CallerService;
|
45
|
+
/**
|
46
|
+
* Gets the command service.
|
47
|
+
*/
|
48
|
+
getCommandService(): CommandService;
|
49
|
+
/**
|
50
|
+
* Gets the robot control service.
|
51
|
+
*/
|
52
|
+
getControlService(): ControlService;
|
53
|
+
/**
|
54
|
+
* Gets the search service.
|
55
|
+
*/
|
56
|
+
getSearchService(): SearchService;
|
57
|
+
/**
|
58
|
+
* Gets the config group service
|
59
|
+
*/
|
60
|
+
getConfigGroupService(): ConfigGroupService;
|
61
|
+
/**
|
62
|
+
* Gets the dashboard service
|
63
|
+
*/
|
64
|
+
getDashboardService(): DashboardService;
|
65
|
+
/**
|
66
|
+
* Gets the function service
|
67
|
+
*/
|
68
|
+
getFunctionService(): FunctionService;
|
69
|
+
/**
|
70
|
+
* Gets the stream service
|
71
|
+
*/
|
72
|
+
getStreamService(): StreamService;
|
73
|
+
/**
|
74
|
+
* Gets the user service
|
75
|
+
*/
|
76
|
+
getUserService(): UserService;
|
77
|
+
/**
|
78
|
+
* Gets time syncer service
|
79
|
+
*/
|
80
|
+
getTimeSyncerService(): TimeSyncerService;
|
81
|
+
/**
|
82
|
+
* Gets the workflow service
|
83
|
+
*/
|
84
|
+
getWorkflowService(): WorkflowService;
|
85
|
+
/**
|
86
|
+
* Gets the asset storage service
|
87
|
+
*/
|
88
|
+
getAssetStorageService(): AssetStorageService;
|
89
|
+
/**
|
90
|
+
* Gets the robot profile service
|
91
|
+
*/
|
92
|
+
getProfileService(): ProfileService;
|
93
|
+
/**
|
94
|
+
* Gets the WebRTC signalling service
|
95
|
+
* @returns WebRTCSignallingService
|
96
|
+
*/
|
97
|
+
getWebRTCSignallingService(): WebRTCSignallingService;
|
98
|
+
/**
|
99
|
+
* Gets the file accessor service
|
100
|
+
* @returns FileAccessorService
|
101
|
+
*/
|
102
|
+
getFileAccessorService(): FileAccessorService;
|
103
|
+
/**
|
104
|
+
* Gets the scheduler service
|
105
|
+
* @returns FileAccessorService
|
106
|
+
*/
|
107
|
+
getSchedulerService(): ScheduleService;
|
108
|
+
/**
|
109
|
+
* Gets the spot provisioner service
|
110
|
+
* @returns SpotProvisioningService
|
111
|
+
*/
|
112
|
+
getSpotProvisionerService(): SpotProvisioningService;
|
113
|
+
/**
|
114
|
+
* Gets the integration service
|
115
|
+
* @returns IntegrationService
|
116
|
+
*/
|
117
|
+
getIntegrationService(): IntegrationService;
|
118
|
+
/**
|
119
|
+
* Gets the map service
|
120
|
+
* @returns MapService
|
121
|
+
*/
|
122
|
+
getMapService(): MapService;
|
123
|
+
get platformTimeOffset(): number;
|
124
|
+
get platformTime(): number;
|
125
|
+
/**
|
126
|
+
* Cleanup function to release all the stream resources.
|
127
|
+
* All streams get destroyed by default once all the observers unsubscribe.
|
128
|
+
* This should be called as a precaution in case there are some subscriptions still hanging.
|
129
|
+
*/
|
130
|
+
cleanup(): Promise<boolean>;
|
131
|
+
/**
|
132
|
+
* Enable or disable debug log
|
133
|
+
*
|
134
|
+
* @param on
|
135
|
+
*/
|
136
|
+
enableDebugMode(on: boolean): void;
|
137
|
+
setDebugLevel(level: IDebugLevel): void;
|
138
|
+
}
|
package/RocosSDK.js
ADDED
@@ -0,0 +1,292 @@
|
|
1
|
+
import { AssetStorageService, AuthService, CallerService, CommandService, ConfigGroupService, ControlService, DashboardService, EventService, FileAccessorService, FunctionService, IntegrationService, MapService, PlatFormTimeService, ProfileService, ProjectService, RobotService, ScheduleService, SearchService, SpotProvisioningService, StreamService, TelemetryService, TimeSyncerService, UserService, WebRTCSignallingService, WorkflowService, } from './services';
|
2
|
+
import { ServiceEnum } from './models';
|
3
|
+
import { RocosLogger } from './logger/RocosLogger';
|
4
|
+
import { RocosStore } from './store/RocosStore';
|
5
|
+
import { StreamRegister } from './api/StreamRegister';
|
6
|
+
export class RocosSDK {
|
7
|
+
/**
|
8
|
+
* Create a new SDK instance using a config object.
|
9
|
+
*
|
10
|
+
* @param config - SDK config {@link IRocosSDKConfig}
|
11
|
+
*/
|
12
|
+
constructor(config) {
|
13
|
+
this.services = {};
|
14
|
+
this.config = config;
|
15
|
+
this.logger = RocosLogger.getInstance(`RocosSDK(${this.config.url})`);
|
16
|
+
RocosStore.putSDKInstance(this.config, this);
|
17
|
+
}
|
18
|
+
/**
|
19
|
+
* Gets the service by service name.
|
20
|
+
*
|
21
|
+
* @param name - Service name {@link ServiceEnum}
|
22
|
+
*/
|
23
|
+
// eslint-disable-next-line max-lines-per-function
|
24
|
+
getService(name) {
|
25
|
+
if (!this.services?.[name]) {
|
26
|
+
this.logger.info(`Service ${name} does not exist, creating it now.`);
|
27
|
+
switch (name) {
|
28
|
+
case ServiceEnum.AUTH:
|
29
|
+
this.services[name] = new AuthService(this.config);
|
30
|
+
break;
|
31
|
+
case ServiceEnum.TELEMETRY:
|
32
|
+
this.services[name] = new TelemetryService(this.config);
|
33
|
+
break;
|
34
|
+
case ServiceEnum.ROBOT:
|
35
|
+
this.services[name] = new RobotService(this.config);
|
36
|
+
break;
|
37
|
+
case ServiceEnum.EVENT:
|
38
|
+
this.services[name] = new EventService(this.config);
|
39
|
+
break;
|
40
|
+
case ServiceEnum.PROJECT:
|
41
|
+
this.services[name] = new ProjectService(this.config);
|
42
|
+
break;
|
43
|
+
case ServiceEnum.CALLER:
|
44
|
+
this.services[name] = new CallerService(this.config);
|
45
|
+
break;
|
46
|
+
case ServiceEnum.COMMAND:
|
47
|
+
this.services[name] = new CommandService(this.config);
|
48
|
+
break;
|
49
|
+
case ServiceEnum.CONTROL:
|
50
|
+
this.services[name] = new ControlService(this.config);
|
51
|
+
break;
|
52
|
+
case ServiceEnum.SEARCH:
|
53
|
+
this.services[name] = new SearchService(this.config);
|
54
|
+
break;
|
55
|
+
case ServiceEnum.CONFIG_GROUP:
|
56
|
+
this.services[name] = new ConfigGroupService(this.config);
|
57
|
+
break;
|
58
|
+
case ServiceEnum.DASHBOARD:
|
59
|
+
this.services[name] = new DashboardService(this.config);
|
60
|
+
break;
|
61
|
+
case ServiceEnum.FUNCTION:
|
62
|
+
this.services[name] = new FunctionService(this.config);
|
63
|
+
break;
|
64
|
+
case ServiceEnum.STREAM:
|
65
|
+
this.services[name] = new StreamService(this.config);
|
66
|
+
break;
|
67
|
+
case ServiceEnum.USER:
|
68
|
+
this.services[name] = new UserService(this.config);
|
69
|
+
break;
|
70
|
+
case ServiceEnum.TIME_SYNCER:
|
71
|
+
this.services[name] = new TimeSyncerService(this.config);
|
72
|
+
break;
|
73
|
+
case ServiceEnum.WORKFLOW:
|
74
|
+
this.services[name] = new WorkflowService(this.config);
|
75
|
+
break;
|
76
|
+
case ServiceEnum.ASSET_STORAGE:
|
77
|
+
this.services[name] = new AssetStorageService(this.config);
|
78
|
+
break;
|
79
|
+
case ServiceEnum.PROFILE:
|
80
|
+
this.services[name] = new ProfileService(this.config);
|
81
|
+
break;
|
82
|
+
case ServiceEnum.WEBRTC_SIGNALLING:
|
83
|
+
this.services[name] = new WebRTCSignallingService(this.config);
|
84
|
+
break;
|
85
|
+
case ServiceEnum.FILE_ACCESSOR:
|
86
|
+
this.services[name] = new FileAccessorService(this.config);
|
87
|
+
break;
|
88
|
+
case ServiceEnum.SCHEDULE:
|
89
|
+
this.services[name] = new ScheduleService(this.config);
|
90
|
+
break;
|
91
|
+
case ServiceEnum.SPOT_PROVISIONER:
|
92
|
+
this.services[name] = new SpotProvisioningService(this.config);
|
93
|
+
break;
|
94
|
+
case ServiceEnum.INTEGRATION:
|
95
|
+
this.services[name] = new IntegrationService(this.config);
|
96
|
+
break;
|
97
|
+
case ServiceEnum.MAP:
|
98
|
+
this.services[name] = new MapService(this.config);
|
99
|
+
break;
|
100
|
+
}
|
101
|
+
}
|
102
|
+
this.logger.debug(`Found service ${name}.`);
|
103
|
+
return this.services[name];
|
104
|
+
}
|
105
|
+
/**
|
106
|
+
* GEts the authentication service.
|
107
|
+
*/
|
108
|
+
getAuthService() {
|
109
|
+
return this.getService(ServiceEnum.AUTH);
|
110
|
+
}
|
111
|
+
/**
|
112
|
+
* Gets the robot service.
|
113
|
+
*/
|
114
|
+
getRobotService() {
|
115
|
+
return this.getService(ServiceEnum.ROBOT);
|
116
|
+
}
|
117
|
+
/**
|
118
|
+
* Gets the event service.
|
119
|
+
*/
|
120
|
+
getEventService() {
|
121
|
+
return this.getService(ServiceEnum.EVENT);
|
122
|
+
}
|
123
|
+
/**
|
124
|
+
* Gets the project service.
|
125
|
+
*/
|
126
|
+
getProjectService() {
|
127
|
+
return this.getService(ServiceEnum.PROJECT);
|
128
|
+
}
|
129
|
+
/**
|
130
|
+
* Gets the telemetry service.
|
131
|
+
*/
|
132
|
+
getTelemetryService() {
|
133
|
+
return this.getService(ServiceEnum.TELEMETRY);
|
134
|
+
}
|
135
|
+
/**
|
136
|
+
* Gets the service call service.
|
137
|
+
*/
|
138
|
+
getCallerService() {
|
139
|
+
return this.getService(ServiceEnum.CALLER);
|
140
|
+
}
|
141
|
+
/**
|
142
|
+
* Gets the command service.
|
143
|
+
*/
|
144
|
+
getCommandService() {
|
145
|
+
return this.getService(ServiceEnum.COMMAND);
|
146
|
+
}
|
147
|
+
/**
|
148
|
+
* Gets the robot control service.
|
149
|
+
*/
|
150
|
+
getControlService() {
|
151
|
+
return this.getService(ServiceEnum.CONTROL);
|
152
|
+
}
|
153
|
+
/**
|
154
|
+
* Gets the search service.
|
155
|
+
*/
|
156
|
+
getSearchService() {
|
157
|
+
return this.getService(ServiceEnum.SEARCH);
|
158
|
+
}
|
159
|
+
/**
|
160
|
+
* Gets the config group service
|
161
|
+
*/
|
162
|
+
getConfigGroupService() {
|
163
|
+
return this.getService(ServiceEnum.CONFIG_GROUP);
|
164
|
+
}
|
165
|
+
/**
|
166
|
+
* Gets the dashboard service
|
167
|
+
*/
|
168
|
+
getDashboardService() {
|
169
|
+
return this.getService(ServiceEnum.DASHBOARD);
|
170
|
+
}
|
171
|
+
/**
|
172
|
+
* Gets the function service
|
173
|
+
*/
|
174
|
+
getFunctionService() {
|
175
|
+
return this.getService(ServiceEnum.FUNCTION);
|
176
|
+
}
|
177
|
+
/**
|
178
|
+
* Gets the stream service
|
179
|
+
*/
|
180
|
+
getStreamService() {
|
181
|
+
return this.getService(ServiceEnum.STREAM);
|
182
|
+
}
|
183
|
+
/**
|
184
|
+
* Gets the user service
|
185
|
+
*/
|
186
|
+
getUserService() {
|
187
|
+
return this.getService(ServiceEnum.USER);
|
188
|
+
}
|
189
|
+
/**
|
190
|
+
* Gets time syncer service
|
191
|
+
*/
|
192
|
+
getTimeSyncerService() {
|
193
|
+
return this.getService(ServiceEnum.TIME_SYNCER);
|
194
|
+
}
|
195
|
+
/**
|
196
|
+
* Gets the workflow service
|
197
|
+
*/
|
198
|
+
getWorkflowService() {
|
199
|
+
return this.getService(ServiceEnum.WORKFLOW);
|
200
|
+
}
|
201
|
+
/**
|
202
|
+
* Gets the asset storage service
|
203
|
+
*/
|
204
|
+
getAssetStorageService() {
|
205
|
+
return this.getService(ServiceEnum.ASSET_STORAGE);
|
206
|
+
}
|
207
|
+
/**
|
208
|
+
* Gets the robot profile service
|
209
|
+
*/
|
210
|
+
getProfileService() {
|
211
|
+
return this.getService(ServiceEnum.PROFILE);
|
212
|
+
}
|
213
|
+
/**
|
214
|
+
* Gets the WebRTC signalling service
|
215
|
+
* @returns WebRTCSignallingService
|
216
|
+
*/
|
217
|
+
getWebRTCSignallingService() {
|
218
|
+
return this.getService(ServiceEnum.WEBRTC_SIGNALLING);
|
219
|
+
}
|
220
|
+
/**
|
221
|
+
* Gets the file accessor service
|
222
|
+
* @returns FileAccessorService
|
223
|
+
*/
|
224
|
+
getFileAccessorService() {
|
225
|
+
return this.getService(ServiceEnum.FILE_ACCESSOR);
|
226
|
+
}
|
227
|
+
/**
|
228
|
+
* Gets the scheduler service
|
229
|
+
* @returns FileAccessorService
|
230
|
+
*/
|
231
|
+
getSchedulerService() {
|
232
|
+
return this.getService(ServiceEnum.SCHEDULE);
|
233
|
+
}
|
234
|
+
/**
|
235
|
+
* Gets the spot provisioner service
|
236
|
+
* @returns SpotProvisioningService
|
237
|
+
*/
|
238
|
+
getSpotProvisionerService() {
|
239
|
+
return this.getService(ServiceEnum.SPOT_PROVISIONER);
|
240
|
+
}
|
241
|
+
/**
|
242
|
+
* Gets the integration service
|
243
|
+
* @returns IntegrationService
|
244
|
+
*/
|
245
|
+
getIntegrationService() {
|
246
|
+
return this.getService(ServiceEnum.INTEGRATION);
|
247
|
+
}
|
248
|
+
/**
|
249
|
+
* Gets the map service
|
250
|
+
* @returns MapService
|
251
|
+
*/
|
252
|
+
getMapService() {
|
253
|
+
return this.getService(ServiceEnum.MAP);
|
254
|
+
}
|
255
|
+
get platformTimeOffset() {
|
256
|
+
return PlatFormTimeService.getInstance(this.getTimeSyncerService())?.platformTimeOffset;
|
257
|
+
}
|
258
|
+
get platformTime() {
|
259
|
+
return PlatFormTimeService.getInstance(this.getTimeSyncerService())?.platformTime;
|
260
|
+
}
|
261
|
+
/**
|
262
|
+
* Cleanup function to release all the stream resources.
|
263
|
+
* All streams get destroyed by default once all the observers unsubscribe.
|
264
|
+
* This should be called as a precaution in case there are some subscriptions still hanging.
|
265
|
+
*/
|
266
|
+
async cleanup() {
|
267
|
+
for (const service of Object.values(this.services)) {
|
268
|
+
if (service.teardown) {
|
269
|
+
await service.teardown();
|
270
|
+
}
|
271
|
+
}
|
272
|
+
this.services = {};
|
273
|
+
RocosStore.removeSDKInstance(this.config);
|
274
|
+
return StreamRegister.getInstance().removeAllStreams();
|
275
|
+
}
|
276
|
+
/**
|
277
|
+
* Enable or disable debug log
|
278
|
+
*
|
279
|
+
* @param on
|
280
|
+
*/
|
281
|
+
enableDebugMode(on) {
|
282
|
+
if (on) {
|
283
|
+
RocosLogger.enableAll();
|
284
|
+
}
|
285
|
+
else {
|
286
|
+
RocosLogger.disableAll();
|
287
|
+
}
|
288
|
+
}
|
289
|
+
setDebugLevel(level) {
|
290
|
+
RocosLogger.setLevel(level);
|
291
|
+
}
|
292
|
+
}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import { IBaseStream } from '../models';
|
2
|
+
export declare class StreamRegister {
|
3
|
+
private teleStreams;
|
4
|
+
private logger;
|
5
|
+
private static instance;
|
6
|
+
private constructor();
|
7
|
+
static getInstance(): StreamRegister;
|
8
|
+
static getIdentifier($identifier: string, scope?: string): string;
|
9
|
+
addStream(stream: IBaseStream): Promise<void>;
|
10
|
+
getStream(identifier: string): IBaseStream | undefined;
|
11
|
+
removeStream(stream: IBaseStream): Promise<void>;
|
12
|
+
removeAllStreams(): Promise<boolean>;
|
13
|
+
}
|
@@ -0,0 +1,69 @@
|
|
1
|
+
import { RocosError, errorCodes } from '../models';
|
2
|
+
import { RocosLogger } from '../logger/RocosLogger';
|
3
|
+
export class StreamRegister {
|
4
|
+
constructor() {
|
5
|
+
this.teleStreams = new Map();
|
6
|
+
this.logger = RocosLogger.getInstance('StreamRegister');
|
7
|
+
}
|
8
|
+
static getInstance() {
|
9
|
+
if (!StreamRegister.instance) {
|
10
|
+
StreamRegister.instance = new StreamRegister();
|
11
|
+
}
|
12
|
+
return StreamRegister.instance;
|
13
|
+
}
|
14
|
+
static getIdentifier($identifier, scope) {
|
15
|
+
return `${$identifier}-${scope ?? ''}`;
|
16
|
+
}
|
17
|
+
async addStream(stream) {
|
18
|
+
try {
|
19
|
+
if (this.teleStreams.has(stream.identifier)) {
|
20
|
+
await this.removeStream(stream);
|
21
|
+
}
|
22
|
+
this.teleStreams.set(stream.identifier, stream);
|
23
|
+
}
|
24
|
+
catch (e) {
|
25
|
+
this.logger.error(`Failed to add stream to list. identifier: ${stream.identifier}`, e);
|
26
|
+
if (e instanceof Error || typeof e === 'string') {
|
27
|
+
throw new RocosError(e, errorCodes.STREAM_LISTENER_ERROR);
|
28
|
+
}
|
29
|
+
else {
|
30
|
+
throw e;
|
31
|
+
}
|
32
|
+
}
|
33
|
+
}
|
34
|
+
getStream(identifier) {
|
35
|
+
return this.teleStreams.get(identifier);
|
36
|
+
}
|
37
|
+
async removeStream(stream) {
|
38
|
+
try {
|
39
|
+
await stream.stopStream();
|
40
|
+
this.teleStreams.delete(stream.identifier);
|
41
|
+
}
|
42
|
+
catch (e) {
|
43
|
+
this.logger.error(`Failed to remove stream from list. identifier: ${stream.identifier}`, e);
|
44
|
+
if (e instanceof Error || typeof e === 'string') {
|
45
|
+
throw new RocosError(e, errorCodes.STREAM_LISTENER_ERROR);
|
46
|
+
}
|
47
|
+
else {
|
48
|
+
throw e;
|
49
|
+
}
|
50
|
+
}
|
51
|
+
}
|
52
|
+
async removeAllStreams() {
|
53
|
+
try {
|
54
|
+
for (const [, stream] of this.teleStreams.entries()) {
|
55
|
+
await this.removeStream(stream);
|
56
|
+
}
|
57
|
+
}
|
58
|
+
catch (e) {
|
59
|
+
this.logger.error(`error removing stream, ${e}`);
|
60
|
+
if (e instanceof Error || typeof e === 'string') {
|
61
|
+
throw new RocosError(e, errorCodes.STREAM_LISTENER_ERROR);
|
62
|
+
}
|
63
|
+
else {
|
64
|
+
throw e;
|
65
|
+
}
|
66
|
+
}
|
67
|
+
return true;
|
68
|
+
}
|
69
|
+
}
|