@dronedeploy/rocos-js-sdk 2.6.1 → 3.0.0-alpha.20
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 +3 -26
- package/IRocosSDK.js +1 -5
- package/README.md +18 -0
- package/RocosSDK.d.ts +6 -1
- package/RocosSDK.js +103 -95
- package/api/StreamRegister.d.ts +1 -1
- package/api/StreamRegister.js +23 -12
- package/api/atoms/StreamHeartbeat.js +3 -7
- package/api/streams/caller/CallerStream.d.ts +6 -6
- package/api/streams/caller/CallerStream.js +41 -49
- package/api/streams/caller/CallerStreamAbstract.d.ts +6 -11
- package/api/streams/caller/CallerStreamAbstract.js +55 -67
- package/api/streams/caller/CallerStreamNode.d.ts +6 -6
- package/api/streams/caller/CallerStreamNode.js +48 -61
- package/api/streams/command/CommandStream.d.ts +2 -4
- package/api/streams/command/CommandStream.js +28 -30
- package/api/streams/command/CommandStreamAbstract.d.ts +4 -8
- package/api/streams/command/CommandStreamAbstract.js +33 -42
- package/api/streams/command/CommandStreamNode.d.ts +2 -4
- package/api/streams/command/CommandStreamNode.js +16 -40
- package/api/streams/control/ControlStream.d.ts +4 -6
- package/api/streams/control/ControlStream.js +30 -36
- package/api/streams/control/ControlStreamAbstract.d.ts +6 -9
- package/api/streams/control/ControlStreamAbstract.js +57 -54
- package/api/streams/control/ControlStreamNode.d.ts +3 -5
- package/api/streams/control/ControlStreamNode.js +19 -44
- package/api/streams/fileAccessor/FileAccessorStream.d.ts +2 -4
- package/api/streams/fileAccessor/FileAccessorStream.js +42 -57
- package/api/streams/fileAccessor/FileAccessorStreamAbstract.d.ts +4 -9
- package/api/streams/fileAccessor/FileAccessorStreamAbstract.js +28 -48
- package/api/streams/fileAccessor/FileAccessorStreamNode.d.ts +1 -3
- package/api/streams/fileAccessor/FileAccessorStreamNode.js +23 -53
- package/api/streams/search/SearchStream.d.ts +2 -5
- package/api/streams/search/SearchStream.js +50 -74
- package/api/streams/search/SearchStreamAbstract.d.ts +4 -9
- package/api/streams/search/SearchStreamAbstract.js +33 -35
- package/api/streams/search/SearchStreamNode.d.ts +2 -5
- package/api/streams/search/SearchStreamNode.js +23 -48
- package/api/streams/telemetry/TelemetryStream.d.ts +4 -4
- package/api/streams/telemetry/TelemetryStream.js +49 -78
- package/api/streams/telemetry/TelemetryStreamAbstract.d.ts +8 -11
- package/api/streams/telemetry/TelemetryStreamAbstract.js +126 -145
- package/api/streams/telemetry/TelemetryStreamNode.d.ts +5 -5
- package/api/streams/telemetry/TelemetryStreamNode.js +44 -64
- package/api/streams/webRTCSignalling/WebRTCSignallingStream.d.ts +5 -10
- package/api/streams/webRTCSignalling/WebRTCSignallingStream.js +37 -20
- package/api/streams/webRTCSignalling/WebRTCSignallingStreamAbstract.d.ts +10 -13
- package/api/streams/webRTCSignalling/WebRTCSignallingStreamAbstract.js +37 -37
- package/constants/api.d.ts +14 -5
- package/constants/api.js +130 -126
- package/constants/auth.d.ts +2 -0
- package/constants/auth.js +2 -0
- package/constants/grpc.js +5 -8
- package/constants/identifier.js +6 -9
- package/constants/timezones.d.ts +1 -1
- package/constants/timezones.js +1 -4
- 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.js +2 -6
- package/helpers/arrayUnique.js +2 -6
- package/helpers/average.js +2 -7
- package/helpers/callerMessageHelpers.d.ts +14 -0
- package/helpers/callerMessageHelpers.js +86 -0
- package/helpers/cleanObject.js +17 -19
- package/helpers/cleanObject.spec.d.ts +1 -0
- package/helpers/cleanObject.spec.js +53 -0
- package/helpers/enviroment.js +4 -11
- package/helpers/flattenCallsignsLookup.d.ts +1 -1
- package/helpers/flattenCallsignsLookup.js +1 -5
- package/helpers/flattenObject.js +1 -5
- 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.js +1 -5
- package/helpers/formatServiceUrl.spec.d.ts +1 -0
- package/helpers/formatServiceUrl.spec.js +16 -0
- package/helpers/generateUUID.js +3 -7
- package/helpers/getSubscriptionsDifference.d.ts +3 -3
- package/helpers/getSubscriptionsDifference.js +6 -10
- package/helpers/getURLSearchParams.d.ts +2 -0
- package/helpers/getURLSearchParams.js +9 -0
- package/helpers/getURLSearchParams.spec.d.ts +1 -0
- package/helpers/getURLSearchParams.spec.js +19 -0
- package/helpers/getUniqueConfigKey.js +1 -6
- package/helpers/getUniqueId.js +3 -7
- package/helpers/getUnixTimeMs.js +1 -5
- package/helpers/index.d.ts +3 -1
- package/helpers/index.js +5 -15
- package/helpers/nanosecondToMillisecond.d.ts +1 -1
- package/helpers/nanosecondToMillisecond.js +11 -6
- package/helpers/nanosecondToMillisecond.spec.d.ts +1 -0
- package/helpers/nanosecondToMillisecond.spec.js +20 -0
- package/helpers/randomString.js +1 -5
- package/helpers/standardDeviation.js +4 -8
- package/helpers/standardDeviation.spec.d.ts +1 -0
- package/helpers/standardDeviation.spec.js +11 -0
- package/helpers/stringToUint8Array.js +3 -7
- package/helpers/uint8ArrayToString.js +3 -8
- package/helpers/websandbox/connection.d.ts +67 -0
- package/helpers/websandbox/connection.js +133 -0
- package/helpers/websandbox/frame/frame.d.ts +12 -0
- package/helpers/websandbox/frame/frame.js +22 -0
- package/helpers/websandbox/frame/frame.source.d.ts +2 -0
- package/helpers/websandbox/frame/frame.source.js +5 -0
- package/helpers/websandbox/frame/index.d.ts +2 -0
- package/helpers/websandbox/frame/index.js +2 -0
- package/helpers/websandbox/frame/worker/index.d.ts +2 -0
- package/helpers/websandbox/frame/worker/index.js +2 -0
- package/helpers/websandbox/frame/worker/manager.d.ts +11 -0
- package/helpers/websandbox/frame/worker/manager.js +67 -0
- package/helpers/websandbox/frame/worker/manager.spec.d.ts +4 -0
- package/helpers/websandbox/frame/worker/manager.spec.js +127 -0
- package/helpers/websandbox/frame/worker/types.d.ts +11 -0
- package/helpers/websandbox/frame/worker/types.js +1 -0
- package/helpers/websandbox/frame/worker/worker.d.ts +1 -0
- package/helpers/websandbox/frame/worker/worker.js +74 -0
- package/helpers/websandbox/frame/worker/worker.source.d.ts +2 -0
- package/helpers/websandbox/frame/worker/worker.source.js +4 -0
- package/helpers/websandbox/index.d.ts +2 -0
- package/helpers/websandbox/index.js +2 -0
- package/helpers/websandbox/sandbox.d.ts +57 -0
- package/helpers/websandbox/sandbox.js +175 -0
- package/helpers/websandbox/types.d.ts +13 -0
- package/helpers/websandbox/types.js +1 -0
- package/index.js +7 -19
- package/logger/RocosLogger.js +18 -44
- package/models/CallsignStatus.d.ts +6 -0
- package/models/CallsignStatus.js +7 -0
- package/models/ExportDataQuery.js +1 -5
- package/models/ExternalProject.js +1 -5
- package/models/IBaseService.d.ts +1 -0
- package/models/IBaseService.js +1 -2
- package/models/IConfigGroup.js +1 -2
- package/models/IDebugLevel.d.ts +1 -1
- package/models/IDebugLevel.js +1 -2
- package/models/IExportDataQuery.js +1 -2
- package/models/IFunctionConfig.js +1 -2
- package/models/IInvitation.d.ts +1 -1
- package/models/IInvitation.js +1 -2
- package/models/IInvitationExists.js +1 -2
- package/models/IOperation.js +1 -2
- package/models/IPersonalAccessToken.js +1 -2
- package/models/IProject.js +1 -2
- package/models/IProjectApplication.js +1 -2
- package/models/IRobot.d.ts +1 -0
- package/models/IRobot.js +1 -2
- package/models/IRobotConfig.js +1 -2
- package/models/IRobotPlugin.js +1 -2
- package/models/IRobotSettings.d.ts +28 -0
- package/models/IRobotSettings.js +1 -0
- package/models/IRobotTemplate.js +1 -2
- package/models/IRocosSDKConfig.d.ts +3 -9
- package/models/IRocosSDKConfig.js +1 -2
- package/models/ISource.js +1 -2
- package/models/IStream.js +1 -2
- package/models/IStreamConfig.js +1 -2
- package/models/IStreamOptions.js +1 -2
- package/models/IStreamSource.js +1 -2
- package/models/ISubscriberStatus.js +1 -2
- package/models/ITelemetryStreamConfig.js +1 -2
- package/models/IToken.d.ts +7 -3
- package/models/IToken.js +1 -2
- package/models/IWidget.js +1 -2
- package/models/IWidgetLineGroup.js +1 -2
- package/models/ResponseLevelEnum.d.ts +4 -0
- package/models/ResponseLevelEnum.js +6 -5
- package/models/Robot.d.ts +1 -0
- package/models/Robot.js +1 -5
- package/models/RobotConfig.js +1 -5
- package/models/RobotPlugin.js +1 -5
- package/models/RobotTemplate.js +9 -14
- package/models/RocosError.d.ts +1 -0
- package/models/RocosError.js +3 -6
- package/models/ServiceEnum.d.ts +2 -1
- package/models/ServiceEnum.js +3 -5
- package/models/Stream.js +4 -8
- package/models/StreamOptions.js +1 -5
- package/models/StreamSource.js +3 -7
- package/models/SubscriberStatusEnum.js +2 -5
- package/models/Token.d.ts +36 -4
- package/models/Token.js +74 -11
- package/models/Token.spec.d.ts +1 -0
- package/models/Token.spec.js +108 -0
- package/models/Widget.js +4 -8
- package/models/WidgetLineGroup.js +1 -5
- package/models/asset-storage/AssetModelItem.d.ts +3 -0
- package/models/asset-storage/AssetModelItem.js +1 -2
- package/models/caller/IRocosCallerMessageChunk.d.ts +8 -2
- package/models/caller/IRocosCallerMessageChunk.js +1 -2
- package/models/caller/IRocosCallerMessageChunks.d.ts +2 -3
- package/models/caller/IRocosCallerMessageChunks.js +1 -2
- package/models/caller/IRocosCallerMessageHeartbeat.d.ts +3 -2
- package/models/caller/IRocosCallerMessageHeartbeat.js +1 -2
- package/models/caller/IRocosCallerMessageResponse.d.ts +3 -2
- package/models/caller/IRocosCallerMessageResponse.js +1 -2
- package/models/caller/IRocosCallerMessageResponseAck.d.ts +16 -2
- package/models/caller/IRocosCallerMessageResponseAck.js +13 -2
- package/models/caller/IRocosCallerMessageResponseResult.d.ts +15 -2
- package/models/caller/IRocosCallerMessageResponseResult.js +12 -2
- package/models/caller/IRocosCallerMessageResponseReturn.d.ts +8 -0
- package/models/caller/IRocosCallerMessageResponseReturn.js +1 -0
- package/models/caller/IRocosCallerMessageResponseUid.d.ts +10 -2
- package/models/caller/IRocosCallerMessageResponseUid.js +7 -2
- package/models/caller/IRocosCallerMessageResponses.d.ts +2 -3
- package/models/caller/IRocosCallerMessageResponses.js +1 -2
- package/models/caller/RocosCallerResultStatus.d.ts +11 -1
- package/models/caller/RocosCallerResultStatus.js +12 -5
- package/models/caller/RocosResponseLevel.d.ts +6 -0
- package/models/caller/RocosResponseLevel.js +7 -0
- package/models/caller/index.d.ts +11 -0
- package/models/caller/index.js +11 -0
- package/models/callsigns/CallsignsEnums.d.ts +3 -3
- package/models/callsigns/CallsignsEnums.js +11 -14
- package/models/callsigns/CallsignsLookup.js +10 -15
- package/models/callsigns/CallsignsQuery.js +1 -5
- package/models/callsigns/CallsignsQueryPredicate.js +1 -5
- package/models/command/IRocosCommandMessageHeartbeat.d.ts +1 -2
- package/models/command/IRocosCommandMessageHeartbeat.js +1 -2
- package/models/command/IRocosCommandMessageResponse.d.ts +55 -2
- package/models/command/IRocosCommandMessageResponse.js +29 -2
- package/models/command/RocosCommandResultStatus.d.ts +11 -1
- package/models/command/RocosCommandResultStatus.js +12 -5
- package/models/command/index.d.ts +4 -0
- package/models/command/index.js +4 -0
- package/models/file/FileEnums.d.ts +4 -4
- package/models/file/FileEnums.js +9 -12
- package/models/index.d.ts +6 -31
- package/models/index.js +76 -113
- package/models/integrations/Overlay.js +1 -2
- package/models/integrations/Plan.js +1 -2
- package/models/maps/Map.d.ts +2 -3
- package/models/maps/Map.js +1 -2
- package/models/maps/Panorama.d.ts +36 -0
- package/models/maps/Panorama.js +1 -0
- package/models/message/IRocosCallerMessage.js +1 -2
- package/models/message/IRocosChangeMessage.js +1 -2
- package/models/message/IRocosCommandMessage.js +1 -2
- package/models/message/IRocosControlMessage.js +1 -2
- package/models/message/IRocosOpResultMessage.d.ts +2 -2
- package/models/message/IRocosOpResultMessage.js +1 -2
- package/models/message/IRocosSearchMessage.js +1 -2
- package/models/message/IRocosSearchRowMessage.js +1 -2
- package/models/message/IRocosSearchStatusMessage.js +1 -2
- package/models/message/IRocosTelemetryMessage.d.ts +12 -7
- package/models/message/IRocosTelemetryMessage.js +1 -2
- package/models/message/IStreamStatusMessage.js +1 -2
- package/models/message/RocosCallerMessage.d.ts +2 -4
- package/models/message/RocosCallerMessage.js +24 -15
- package/models/message/RocosCommandMessage.d.ts +2 -3
- package/models/message/RocosCommandMessage.js +5 -8
- package/models/message/RocosControlMessage.d.ts +1 -1
- package/models/message/RocosControlMessage.js +6 -10
- package/models/message/RocosOpResultMessage.d.ts +3 -2
- package/models/message/RocosOpResultMessage.js +6 -10
- package/models/message/RocosSearchMessage.d.ts +1 -1
- package/models/message/RocosSearchMessage.js +5 -9
- package/models/message/RocosSearchRowMessage.d.ts +1 -1
- package/models/message/RocosSearchRowMessage.js +8 -12
- package/models/message/RocosTelemetryMessage.d.ts +9 -23
- package/models/message/RocosTelemetryMessage.js +51 -93
- package/models/message/index.d.ts +17 -0
- package/models/message/index.js +17 -0
- package/models/params/ICallerParams.d.ts +12 -1
- package/models/params/ICallerParams.js +1 -2
- package/models/params/ICommandParams.js +1 -2
- package/models/params/IControlParams.d.ts +1 -1
- package/models/params/IControlParams.js +1 -2
- package/models/params/IFileAccessorParams.js +1 -2
- package/models/params/ISearchParams.js +1 -2
- package/models/params/ITelemetryParams.d.ts +1 -1
- package/models/params/ITelemetryParams.js +1 -2
- package/models/params/IWebRTCSignallingParams.js +1 -2
- package/models/projects/ProjectUser.js +1 -2
- package/models/schedule/IScheduleAction.d.ts +1 -1
- package/models/schedule/IScheduleAction.js +2 -5
- package/models/schedule/IScheduleInfo.js +1 -2
- package/models/schedule/IScheduleJob.js +1 -2
- package/models/search/SearchQueryFilter.js +1 -5
- package/models/search/SearchStreamQuery.js +1 -5
- package/models/stream/IBaseStream.js +1 -2
- package/models/stream/ICallerStream.js +1 -2
- package/models/stream/ICommandStream.js +1 -2
- package/models/stream/IControlStream.js +1 -2
- package/models/stream/IFileAccessorStream.d.ts +1 -2
- package/models/stream/IFileAccessorStream.js +1 -2
- package/models/stream/ISearchStream.js +1 -2
- package/models/stream/ITelemetryStream.js +1 -2
- package/models/stream/IWebRTCSignallingStream.d.ts +51 -16
- package/models/stream/IWebRTCSignallingStream.js +1 -7
- package/models/types.d.ts +5 -5
- package/models/types.js +1 -2
- package/models/workflow/Workflow.d.ts +36 -0
- package/models/workflow/Workflow.js +1 -0
- package/node/RocosSDKNode.d.ts +6 -1
- package/node/RocosSDKNode.js +82 -80
- package/node/index.js +7 -19
- package/package.json +10 -11
- package/services/AssetStorageService.d.ts +23 -1
- package/services/AssetStorageService.js +53 -24
- package/services/AuthService.d.ts +59 -27
- package/services/AuthService.js +167 -86
- package/services/AuthService.spec.d.ts +1 -0
- package/services/AuthService.spec.js +163 -0
- package/services/BaseServiceAbstract.d.ts +11 -13
- package/services/BaseServiceAbstract.js +18 -24
- package/services/BaseStreamService.d.ts +18 -0
- package/services/BaseStreamService.js +47 -0
- package/services/CallerService.d.ts +37 -17
- package/services/CallerService.js +86 -65
- package/services/CallerService.spec.d.ts +1 -0
- package/services/CallerService.spec.js +227 -0
- package/services/CallerServiceNode.js +4 -8
- package/services/CommandService.d.ts +5 -17
- package/services/CommandService.js +19 -62
- package/services/CommandServiceNode.js +4 -8
- package/services/ConfigGroupService.js +17 -21
- package/services/ControlService.d.ts +5 -17
- package/services/ControlService.js +22 -65
- package/services/ControlServiceNode.js +4 -8
- package/services/DashboardService.js +20 -24
- package/services/EvaluatorService.d.ts +11 -0
- package/services/EvaluatorService.js +28 -0
- package/services/EventService.js +13 -17
- package/services/FileAccessorService.d.ts +4 -18
- package/services/FileAccessorService.js +14 -62
- package/services/FileAccessorServiceNode.js +4 -8
- package/services/FunctionService.js +17 -21
- package/services/IntegrationService.js +14 -19
- package/services/MapService.d.ts +71 -25
- package/services/MapService.js +113 -40
- package/services/PlatformTimeService.js +8 -12
- package/services/PlatformTimeService.spec.d.ts +1 -0
- package/services/PlatformTimeService.spec.js +180 -0
- package/services/ProfileService.js +36 -40
- package/services/ProjectService.js +23 -27
- package/services/RobotService.d.ts +2 -6
- package/services/RobotService.js +48 -55
- package/services/ScheduleService.js +10 -14
- package/services/SearchService.d.ts +4 -17
- package/services/SearchService.js +24 -59
- package/services/SearchServiceNode.js +4 -8
- package/services/SpotProvisioningService.d.ts +1 -1
- package/services/SpotProvisioningService.js +16 -16
- package/services/SpotProvisioningServiceNode.d.ts +1 -1
- package/services/SpotProvisioningServiceNode.js +16 -16
- package/services/StreamService.js +26 -30
- package/services/TelemetryService.d.ts +15 -17
- package/services/TelemetryService.js +103 -93
- package/services/TelemetryService.spec.d.ts +1 -0
- package/services/TelemetryService.spec.js +37 -0
- package/services/TelemetryServiceNode.js +4 -8
- package/services/TimeSyncerService.js +9 -13
- package/services/UserService.js +37 -41
- package/services/WebRTCSignallingService.d.ts +4 -4
- package/services/WebRTCSignallingService.js +24 -27
- package/services/WorkflowService.d.ts +25 -29
- package/services/WorkflowService.js +39 -75
- package/services/index.d.ts +1 -0
- package/services/index.js +27 -38
- package/store/RocosStore.js +9 -15
- package/demo/angular/.editorconfig +0 -16
- package/demo/angular/.eslintignore +0 -4
- package/demo/angular/.eslintrc.json +0 -50
- package/demo/angular/README.md +0 -36
- package/demo/angular/angular.json +0 -132
- package/demo/angular/karma.conf.js +0 -44
- package/demo/angular/package.json +0 -41
- package/demo/angular/src/app/app.component.css +0 -0
- package/demo/angular/src/app/app.component.html +0 -9
- package/demo/angular/src/app/app.component.ts +0 -10
- package/demo/angular/src/app/app.module.ts +0 -38
- package/demo/angular/src/app/components/assets/assets.component.css +0 -0
- package/demo/angular/src/app/components/assets/assets.component.html +0 -29
- package/demo/angular/src/app/components/assets/assets.component.ts +0 -107
- package/demo/angular/src/app/components/auth/auth.component.css +0 -0
- package/demo/angular/src/app/components/auth/auth.component.html +0 -27
- package/demo/angular/src/app/components/auth/auth.component.ts +0 -33
- package/demo/angular/src/app/components/caller/caller.component.css +0 -0
- package/demo/angular/src/app/components/caller/caller.component.html +0 -22
- package/demo/angular/src/app/components/caller/caller.component.ts +0 -61
- package/demo/angular/src/app/components/command/command.component.css +0 -0
- package/demo/angular/src/app/components/command/command.component.html +0 -22
- package/demo/angular/src/app/components/command/command.component.ts +0 -60
- package/demo/angular/src/app/components/integrations/integrations.component.ts +0 -43
- package/demo/angular/src/app/components/robots/robots.component.css +0 -0
- package/demo/angular/src/app/components/robots/robots.component.html +0 -13
- package/demo/angular/src/app/components/robots/robots.component.ts +0 -26
- package/demo/angular/src/app/components/sdk/sdk.component.css +0 -0
- package/demo/angular/src/app/components/sdk/sdk.component.html +0 -43
- package/demo/angular/src/app/components/sdk/sdk.component.ts +0 -50
- package/demo/angular/src/app/components/subscription/subscription.component.css +0 -0
- package/demo/angular/src/app/components/subscription/subscription.component.html +0 -6
- package/demo/angular/src/app/components/subscription/subscription.component.ts +0 -40
- package/demo/angular/src/app/components/telemetry/telemetry.component.css +0 -0
- package/demo/angular/src/app/components/telemetry/telemetry.component.html +0 -19
- package/demo/angular/src/app/components/telemetry/telemetry.component.ts +0 -61
- package/demo/angular/src/app/components/token/token.component.css +0 -0
- package/demo/angular/src/app/components/token/token.component.html +0 -10
- package/demo/angular/src/app/components/token/token.component.ts +0 -18
- package/demo/angular/src/app/components/video/p2pvideo/index.ts +0 -646
- package/demo/angular/src/app/components/video/video-source.ts +0 -315
- package/demo/angular/src/app/components/video/video.component.css +0 -6
- package/demo/angular/src/app/components/video/video.component.html +0 -54
- package/demo/angular/src/app/components/video/video.component.ts +0 -151
- package/demo/angular/src/app/services/sdk.service.ts +0 -193
- package/demo/angular/src/assets/.gitkeep +0 -0
- package/demo/angular/src/assets/HKGrotesk-Bold.otf +0 -0
- package/demo/angular/src/assets/HKGrotesk-Regular.otf +0 -0
- package/demo/angular/src/assets/logo.svg +0 -16
- package/demo/angular/src/environments/environment.prod.ts +0 -3
- package/demo/angular/src/environments/environment.ts +0 -16
- package/demo/angular/src/favicon.ico +0 -0
- package/demo/angular/src/index.html +0 -15
- package/demo/angular/src/main.ts +0 -7
- package/demo/angular/src/polyfills.ts +0 -53
- package/demo/angular/src/styles.css +0 -198
- package/demo/angular/tsconfig.app.json +0 -15
- package/demo/angular/tsconfig.json +0 -39
- package/demo/html/README.md +0 -8
- package/demo/html/assets/HKGrotesk-Bold.otf +0 -0
- package/demo/html/assets/HKGrotesk-Regular.otf +0 -0
- package/demo/html/assets/logo.svg +0 -16
- package/demo/html/favicon.ico +0 -0
- package/demo/html/index.html +0 -416
- package/demo/html/rocos-js-sdk.js +0 -3
- package/demo/html/rocos-js-sdk.js.LICENSE.txt +0 -8
- package/demo/html/rocos-js-sdk.js.map +0 -1
- package/demo/html/styles.css +0 -190
- package/demo/node/README.md +0 -17
- package/demo/node/index.js +0 -134
- package/demo/node/package.json +0 -8
- package/demo/react/.env +0 -1
- package/demo/react/.env.dist +0 -1
- package/demo/react/.eslintrc.json +0 -46
- package/demo/react/README.md +0 -65
- package/demo/react/package.json +0 -60
- package/demo/react/public/favicon.ico +0 -0
- package/demo/react/public/index.html +0 -43
- package/demo/react/public/logo192.png +0 -0
- package/demo/react/public/logo512.png +0 -0
- package/demo/react/public/manifest.json +0 -25
- package/demo/react/public/robots.txt +0 -3
- package/demo/react/src/App.css +0 -190
- package/demo/react/src/App.tsx +0 -31
- package/demo/react/src/actions/index.ts +0 -8
- package/demo/react/src/actions/sdkActions.ts +0 -62
- package/demo/react/src/assets/HKGrotesk-Bold.otf +0 -0
- package/demo/react/src/assets/HKGrotesk-Regular.otf +0 -0
- package/demo/react/src/assets/logo.svg +0 -16
- package/demo/react/src/components/AuthForm.tsx +0 -76
- package/demo/react/src/components/CallerBox.tsx +0 -53
- package/demo/react/src/components/CallerForm.tsx +0 -98
- package/demo/react/src/components/CommandBox.tsx +0 -47
- package/demo/react/src/components/CommandForm.tsx +0 -98
- package/demo/react/src/components/RobotsForm.tsx +0 -51
- package/demo/react/src/components/SubscriptionBox.tsx +0 -55
- package/demo/react/src/components/TelemetryForm.tsx +0 -98
- package/demo/react/src/components/TokenForm.tsx +0 -39
- package/demo/react/src/config.json +0 -14
- package/demo/react/src/controllers/RocosSDKController.ts +0 -48
- package/demo/react/src/helpers/deepEqual.ts +0 -27
- package/demo/react/src/hooks/useInput.ts +0 -29
- package/demo/react/src/index.css +0 -11
- package/demo/react/src/index.tsx +0 -26
- package/demo/react/src/react-app-env.d.ts +0 -1
- package/demo/react/src/reducers/sdkReducer.ts +0 -133
- package/demo/react/src/reportWebVitals.ts +0 -15
- package/demo/react/src/selectors/sdkSelector.ts +0 -11
- package/demo/react/src/setupTests.ts +0 -5
- package/demo/react/src/store.ts +0 -14
- package/demo/react/tsconfig.json +0 -26
- package/demo/sdk-sizer/dist/sdk-sizer/3rdpartylicenses.txt +0 -975
- package/demo/sdk-sizer/dist/sdk-sizer/favicon.ico +0 -0
- package/demo/sdk-sizer/dist/sdk-sizer/index.html +0 -12
- package/demo/sdk-sizer/dist/sdk-sizer/main.c9183649ce1856ef.js +0 -2
- package/demo/sdk-sizer/dist/sdk-sizer/main.c9183649ce1856ef.js.map +0 -1
- package/demo/sdk-sizer/dist/sdk-sizer/polyfills.701c8e5d007909aa.js +0 -2
- package/demo/sdk-sizer/dist/sdk-sizer/polyfills.701c8e5d007909aa.js.map +0 -1
- package/demo/sdk-sizer/dist/sdk-sizer/runtime.00e20e689f5284a8.js +0 -2
- package/demo/sdk-sizer/dist/sdk-sizer/runtime.00e20e689f5284a8.js.map +0 -1
- package/demo/sdk-sizer/dist/sdk-sizer/stats.json +0 -1
- package/demo/sdk-sizer/dist/sdk-sizer/styles.b45f7e627ac8cbce.css +0 -2
- package/demo/sdk-sizer/dist/sdk-sizer/styles.b45f7e627ac8cbce.css.map +0 -1
- package/grpc/file-accessor/filagree_grpc_pb.d.ts +0 -41
- package/grpc/file-accessor/filagree_grpc_pb.js +0 -121
- package/grpc/file-accessor/filagree_pb.d.ts +0 -339
- package/grpc/file-accessor/filagree_pb.js +0 -2261
- package/grpc/file-accessor/filagree_pb_service.d.ts +0 -115
- package/grpc/file-accessor/filagree_pb_service.js +0 -257
- package/grpc/rambo/rambo.v1_grpc_pb.d.ts +0 -39
- package/grpc/rambo/rambo.v1_grpc_pb.js +0 -73
- package/grpc/rambo/rambo.v1_pb.d.ts +0 -365
- package/grpc/rambo/rambo.v1_pb.js +0 -2469
- package/grpc/rambo/rambo.v1_pb_service.d.ts +0 -76
- package/grpc/rambo/rambo.v1_pb_service.js +0 -138
- package/grpc/rambo/uri.v1_grpc_pb.d.ts +0 -1
- package/grpc/rambo/uri.v1_grpc_pb.js +0 -1
- package/grpc/rambo/uri.v1_pb.d.ts +0 -80
- package/grpc/rambo/uri.v1_pb.js +0 -563
- package/grpc/rambo/uri.v1_pb_service.d.ts +0 -3
- package/grpc/rambo/uri.v1_pb_service.js +0 -3
- package/grpc/robot-control/conker_grpc_pb.d.ts +0 -46
- package/grpc/robot-control/conker_grpc_pb.js +0 -143
- package/grpc/robot-control/conker_pb.d.ts +0 -168
- package/grpc/robot-control/conker_pb.js +0 -1287
- package/grpc/robot-control/conker_pb_service.d.ts +0 -126
- package/grpc/robot-control/conker_pb_service.js +0 -301
- package/grpc/serviette/common.v1_grpc_pb.d.ts +0 -1
- package/grpc/serviette/common.v1_grpc_pb.js +0 -1
- package/grpc/serviette/common.v1_pb.d.ts +0 -8
- package/grpc/serviette/common.v1_pb.js +0 -45
- package/grpc/serviette/common.v1_pb_service.d.ts +0 -3
- package/grpc/serviette/common.v1_pb_service.js +0 -3
- package/grpc/serviette/serviette.v1_grpc_pb.d.ts +0 -137
- package/grpc/serviette/serviette.v1_grpc_pb.js +0 -331
- package/grpc/serviette/serviette.v1_pb.d.ts +0 -884
- package/grpc/serviette/serviette.v1_pb.js +0 -6363
- package/grpc/serviette/serviette.v1_pb_service.d.ts +0 -278
- package/grpc/serviette/serviette.v1_pb_service.js +0 -699
- package/grpc/serviette/uri.v1_grpc_pb.d.ts +0 -1
- package/grpc/serviette/uri.v1_grpc_pb.js +0 -1
- package/grpc/serviette/uri.v1_pb.d.ts +0 -102
- package/grpc/serviette/uri.v1_pb.js +0 -741
- package/grpc/serviette/uri.v1_pb_service.d.ts +0 -3
- package/grpc/serviette/uri.v1_pb_service.js +0 -3
- package/grpc/slowlane/slowlane_grpc_pb.d.ts +0 -38
- package/grpc/slowlane/slowlane_grpc_pb.js +0 -132
- package/grpc/slowlane/slowlane_pb.d.ts +0 -373
- package/grpc/slowlane/slowlane_pb.js +0 -2908
- package/grpc/slowlane/slowlane_pb_service.d.ts +0 -112
- package/grpc/slowlane/slowlane_pb_service.js +0 -189
- package/grpc/teletubby/teletubby_grpc_pb.d.ts +0 -73
- package/grpc/teletubby/teletubby_grpc_pb.js +0 -231
- package/grpc/teletubby/teletubby_pb.d.ts +0 -647
- package/grpc/teletubby/teletubby_pb.js +0 -4786
- package/grpc/teletubby/teletubby_pb_service.d.ts +0 -193
- package/grpc/teletubby/teletubby_pb_service.js +0 -436
- package/grpc/video/pigeon_grpc_pb.d.ts +0 -59
- package/grpc/video/pigeon_grpc_pb.js +0 -180
- package/grpc/video/pigeon_pb.d.ts +0 -237
- package/grpc/video/pigeon_pb.js +0 -1775
- package/grpc/video/pigeon_pb_service.d.ts +0 -152
- package/grpc/video/pigeon_pb_service.js +0 -292
- package/models/ISignupParams.d.ts +0 -8
- package/models/ISignupParams.js +0 -2
- package/utils/axisangle.d.ts +0 -18
- package/utils/axisangle.js +0 -48
- package/utils/eulerangles.d.ts +0 -22
- package/utils/eulerangles.js +0 -133
- package/utils/helperfunctions.d.ts +0 -5
- package/utils/helperfunctions.js +0 -50
- package/utils/localtransform.d.ts +0 -17
- package/utils/localtransform.js +0 -50
- package/utils/localtransformtree.d.ts +0 -17
- package/utils/localtransformtree.js +0 -88
- package/utils/misc.d.ts +0 -17
- package/utils/misc.js +0 -23
- package/utils/positionvector.d.ts +0 -13
- package/utils/positionvector.js +0 -79
- package/utils/quaternion.d.ts +0 -20
- package/utils/quaternion.js +0 -62
- package/utils/rotationmatrix.d.ts +0 -23
- package/utils/rotationmatrix.js +0 -262
- package/utils/transformationmatrix.d.ts +0 -12
- package/utils/transformationmatrix.js +0 -123
- package/utils/vector3.d.ts +0 -11
- package/utils/vector3.js +0 -61
|
@@ -1,49 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
-
exports.TelemetryStreamNode = void 0;
|
|
23
|
-
const grpc = __importStar(require("@grpc/grpc-js"));
|
|
24
|
-
const teletubby_pb_1 = require("../../../grpc/teletubby/teletubby_pb");
|
|
25
|
-
const RocosLogger_1 = require("../../../logger/RocosLogger");
|
|
26
|
-
const RocosTelemetryMessage_1 = require("../../../models/message/RocosTelemetryMessage");
|
|
27
|
-
const SubscriberStatusEnum_1 = require("../../../models/SubscriberStatusEnum");
|
|
28
|
-
const teletubby_grpc_pb_1 = require("../../../grpc/teletubby/teletubby_grpc_pb");
|
|
29
|
-
const TelemetryStreamAbstract_1 = require("./TelemetryStreamAbstract");
|
|
30
|
-
const uuid_1 = require("uuid");
|
|
31
|
-
class TelemetryStreamNode extends TelemetryStreamAbstract_1.TelemetryStreamAbstract {
|
|
1
|
+
import * as grpc from '@grpc/grpc-js';
|
|
2
|
+
import { SubscriberStatusEnum } from '../../../models';
|
|
3
|
+
import { ReceiverStreamMessage, } from '../../../grpc/teletubby_pb';
|
|
4
|
+
import { RocosLogger } from '../../../logger/RocosLogger';
|
|
5
|
+
import { TelemetryReceiverClient } from '../../../grpc/teletubby_pb.grpc-client';
|
|
6
|
+
import { TelemetryStreamAbstract } from './TelemetryStreamAbstract';
|
|
7
|
+
import { v4 as uuid4 } from 'uuid';
|
|
8
|
+
export class TelemetryStreamNode extends TelemetryStreamAbstract {
|
|
32
9
|
constructor(config) {
|
|
33
10
|
super(config);
|
|
34
|
-
this.logger =
|
|
35
|
-
this.port = config.port
|
|
11
|
+
this.logger = RocosLogger.getInstance(`TelemetryStream(${this.identifier})`);
|
|
12
|
+
this.port = config.port ?? 443;
|
|
36
13
|
this.credentials = config.insecure ? grpc.credentials.createInsecure() : grpc.credentials.createSsl();
|
|
37
14
|
}
|
|
38
15
|
stopInternal() {
|
|
39
|
-
var _a, _b;
|
|
40
16
|
try {
|
|
41
17
|
this.logger.info('Starting stop stream process');
|
|
42
18
|
this.logger.info('Stopping stream');
|
|
43
|
-
|
|
19
|
+
this.stream?.end();
|
|
44
20
|
this.stream = undefined;
|
|
45
21
|
this.logger.info('Stopping client');
|
|
46
|
-
|
|
22
|
+
this.client?.close();
|
|
47
23
|
this.client = undefined;
|
|
48
24
|
this.logger.info('Finished stop stream process');
|
|
49
25
|
}
|
|
@@ -56,7 +32,7 @@ class TelemetryStreamNode extends TelemetryStreamAbstract_1.TelemetryStreamAbstr
|
|
|
56
32
|
// Reset counter
|
|
57
33
|
this.receivedMessagesCount = 0;
|
|
58
34
|
try {
|
|
59
|
-
const receiver = new
|
|
35
|
+
const receiver = new TelemetryReceiverClient(`${this.url}:${this.port}`, this.getCredentials(), {
|
|
60
36
|
'grpc.min_reconnect_backoff_ms': 1000,
|
|
61
37
|
'grpc.max_reconnect_backoff_ms': 10000,
|
|
62
38
|
});
|
|
@@ -79,7 +55,7 @@ class TelemetryStreamNode extends TelemetryStreamAbstract_1.TelemetryStreamAbstr
|
|
|
79
55
|
};
|
|
80
56
|
const deadline = new Date();
|
|
81
57
|
deadline.setSeconds(deadline.getSeconds() + 2);
|
|
82
|
-
receiver.waitForReady(deadline, waitForClientReady
|
|
58
|
+
receiver.waitForReady(deadline, () => void waitForClientReady());
|
|
83
59
|
this.client = receiver;
|
|
84
60
|
this.logger.info(`Tele receiver client: ${JSON.stringify(this.client)}`);
|
|
85
61
|
}
|
|
@@ -88,8 +64,7 @@ class TelemetryStreamNode extends TelemetryStreamAbstract_1.TelemetryStreamAbstr
|
|
|
88
64
|
}
|
|
89
65
|
this.listenMessagesAndRenew();
|
|
90
66
|
return () => {
|
|
91
|
-
|
|
92
|
-
(_a = this.client) === null || _a === void 0 ? void 0 : _a.close();
|
|
67
|
+
this.client?.close();
|
|
93
68
|
};
|
|
94
69
|
}
|
|
95
70
|
getCredentials() {
|
|
@@ -105,10 +80,12 @@ class TelemetryStreamNode extends TelemetryStreamAbstract_1.TelemetryStreamAbstr
|
|
|
105
80
|
const stream = this.client.registerStreamReceiver();
|
|
106
81
|
this.logger.info('stream registered');
|
|
107
82
|
stream.on('data', (msg) => {
|
|
108
|
-
|
|
83
|
+
if (msg.content.oneofKind === 'message') {
|
|
84
|
+
this.onData(msg, true);
|
|
85
|
+
}
|
|
109
86
|
});
|
|
110
|
-
stream.on('error',
|
|
111
|
-
stream.on('end',
|
|
87
|
+
stream.on('error', (e) => this.onError(e));
|
|
88
|
+
stream.on('end', () => this.onEnd());
|
|
112
89
|
return stream;
|
|
113
90
|
}
|
|
114
91
|
catch (e) {
|
|
@@ -116,12 +93,10 @@ class TelemetryStreamNode extends TelemetryStreamAbstract_1.TelemetryStreamAbstr
|
|
|
116
93
|
throw e;
|
|
117
94
|
}
|
|
118
95
|
}
|
|
119
|
-
|
|
96
|
+
onError(e) {
|
|
120
97
|
this.logger.error(`Telemetry Stream Error: ${e}, SubscriberId: ${this.subscriberId}`);
|
|
121
|
-
this.subscriberStatus =
|
|
98
|
+
this.subscriberStatus = SubscriberStatusEnum.ERROR;
|
|
122
99
|
this.statusStream$.next(this.subscriberStatus);
|
|
123
|
-
// TODO: handle stream error and re register
|
|
124
|
-
// await this.stopandReRegisterStream()
|
|
125
100
|
}
|
|
126
101
|
onEnd() {
|
|
127
102
|
this.logger.debug('registerReceiver', 'end');
|
|
@@ -130,7 +105,7 @@ class TelemetryStreamNode extends TelemetryStreamAbstract_1.TelemetryStreamAbstr
|
|
|
130
105
|
const meta = new grpc.Metadata();
|
|
131
106
|
meta.add('authorization', this.token);
|
|
132
107
|
meta.add('r-p', this.projectId);
|
|
133
|
-
meta.add('r-tid',
|
|
108
|
+
meta.add('r-tid', uuid4());
|
|
134
109
|
meta.add('r-cs', 'rocos-js-sdk-agent');
|
|
135
110
|
return meta;
|
|
136
111
|
}
|
|
@@ -161,35 +136,40 @@ class TelemetryStreamNode extends TelemetryStreamAbstract_1.TelemetryStreamAbstr
|
|
|
161
136
|
});
|
|
162
137
|
}
|
|
163
138
|
sendAcknowledgmentInternal(uid, status, noRetry) {
|
|
164
|
-
var _a;
|
|
165
139
|
this.logger.info('Sending acknowledgment', { uid, status, noRetry });
|
|
166
|
-
const request =
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
140
|
+
const request = ReceiverStreamMessage.create({
|
|
141
|
+
content: {
|
|
142
|
+
oneofKind: 'ack',
|
|
143
|
+
ack: {
|
|
144
|
+
uid,
|
|
145
|
+
status,
|
|
146
|
+
noRetry,
|
|
147
|
+
},
|
|
148
|
+
},
|
|
149
|
+
});
|
|
150
|
+
const response = this.stream?.write(request);
|
|
173
151
|
this.logger.info('Sent acknowledgment response', { uid, status, noRetry });
|
|
174
|
-
return response
|
|
152
|
+
return response ?? false;
|
|
175
153
|
}
|
|
176
154
|
sendHeartbeat() {
|
|
177
|
-
var _a, _b, _c;
|
|
178
155
|
try {
|
|
179
156
|
if (this.client && this.stream) {
|
|
180
157
|
this.logger.info('sending heartbeat');
|
|
181
|
-
const request =
|
|
182
|
-
|
|
183
|
-
|
|
158
|
+
const request = ReceiverStreamMessage.create({
|
|
159
|
+
content: {
|
|
160
|
+
oneofKind: 'heartbeat',
|
|
161
|
+
heartbeat: {},
|
|
162
|
+
},
|
|
163
|
+
});
|
|
164
|
+
this.stream?.write(request);
|
|
184
165
|
}
|
|
185
166
|
else {
|
|
186
167
|
this.logger.warn('Can not send heartbeat, stream does not exist.');
|
|
187
168
|
}
|
|
188
169
|
}
|
|
189
170
|
catch (e) {
|
|
190
|
-
|
|
191
|
-
|
|
171
|
+
this.logger?.warn('Error for heartbeat');
|
|
172
|
+
this.stream?.emit('error', e);
|
|
192
173
|
}
|
|
193
174
|
}
|
|
194
175
|
}
|
|
195
|
-
exports.TelemetryStreamNode = TelemetryStreamNode;
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import { AddIceCandidateRequest, GetDetailsRequest, OfferRequest, OperatorConnectRequest } from '../../../grpc/
|
|
2
|
-
import {
|
|
3
|
-
import { UnaryResponse } from '../../../grpc/video/pigeon_pb_service';
|
|
4
|
-
import { IStreamConfig } from '../../../models/IStreamConfig';
|
|
1
|
+
import { AddIceCandidateRequest, GetDetailsRequest, OfferRequest, OperatorConnectRequest } from '../../../grpc/pigeon_pb';
|
|
2
|
+
import { IStreamConfig, IWebRTCSignallingGetDetailsResponse, IWebRTCSignallingMessage, IWebRTCSignallingOutcome, IWebRTCSignallingResponseStream } from '../../../models';
|
|
5
3
|
import { WebRTCSignallingStreamAbstract } from './WebRTCSignallingStreamAbstract';
|
|
6
4
|
/**
|
|
7
5
|
* Web implementation for the WebRTC signalling stream
|
|
@@ -20,25 +18,22 @@ export declare class WebRTCSignallingStream extends WebRTCSignallingStreamAbstra
|
|
|
20
18
|
* Get details for the peer
|
|
21
19
|
* @param projectId
|
|
22
20
|
* @param request
|
|
23
|
-
* @param callback
|
|
24
21
|
* @returns
|
|
25
22
|
*/
|
|
26
|
-
protected getPeerDetails(projectId: string, request: GetDetailsRequest
|
|
23
|
+
protected getPeerDetails(projectId: string, request: GetDetailsRequest): Promise<IWebRTCSignallingGetDetailsResponse>;
|
|
27
24
|
/**
|
|
28
25
|
* Send offer connecction to peer
|
|
29
26
|
* @param projectId
|
|
30
27
|
* @param request
|
|
31
|
-
* @param callback
|
|
32
28
|
* @returns
|
|
33
29
|
*/
|
|
34
|
-
protected offerPeerConnection(projectId: string, request: OfferRequest
|
|
30
|
+
protected offerPeerConnection(projectId: string, request: OfferRequest): Promise<IWebRTCSignallingOutcome>;
|
|
35
31
|
/**
|
|
36
32
|
* Add ice candidate for peer
|
|
37
33
|
* @param projectId
|
|
38
34
|
* @param request
|
|
39
|
-
* @param callback
|
|
40
35
|
* @returns
|
|
41
36
|
*/
|
|
42
|
-
protected addPeerIceCandidate(projectId: string, request: AddIceCandidateRequest
|
|
37
|
+
protected addPeerIceCandidate(projectId: string, request: AddIceCandidateRequest): Promise<IWebRTCSignallingOutcome>;
|
|
43
38
|
private getMetadata;
|
|
44
39
|
}
|
|
@@ -1,18 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const RocosLogger_1 = require("../../../logger/RocosLogger");
|
|
6
|
-
const WebRTCSignallingStreamAbstract_1 = require("./WebRTCSignallingStreamAbstract");
|
|
1
|
+
import { GrpcWebFetchTransport } from '@protobuf-ts/grpcweb-transport';
|
|
2
|
+
import { RocosLogger } from '../../../logger/RocosLogger';
|
|
3
|
+
import { WebRTCSignallingStreamAbstract } from './WebRTCSignallingStreamAbstract';
|
|
4
|
+
import { operatorClient } from '../../../grpc/pigeon_pb.client';
|
|
7
5
|
/**
|
|
8
6
|
* Web implementation for the WebRTC signalling stream
|
|
9
7
|
*/
|
|
10
|
-
class WebRTCSignallingStream extends
|
|
8
|
+
export class WebRTCSignallingStream extends WebRTCSignallingStreamAbstract {
|
|
11
9
|
constructor(config) {
|
|
12
10
|
super(config);
|
|
13
|
-
this.logger =
|
|
11
|
+
this.logger = RocosLogger.getInstance(`WebRTCSignallingStream(${this.identifier})`);
|
|
14
12
|
const protocol = config.insecure ? 'http' : 'https';
|
|
15
|
-
|
|
13
|
+
const transport = new GrpcWebFetchTransport({
|
|
14
|
+
baseUrl: `${protocol}://${this.url}`,
|
|
15
|
+
});
|
|
16
|
+
this.webRTCOperatorclient = new operatorClient(transport);
|
|
16
17
|
}
|
|
17
18
|
/**
|
|
18
19
|
* Connect operator stream
|
|
@@ -22,40 +23,57 @@ class WebRTCSignallingStream extends WebRTCSignallingStreamAbstract_1.WebRTCSign
|
|
|
22
23
|
*/
|
|
23
24
|
connectOperatorStream(projectId, request) {
|
|
24
25
|
const metadata = this.getMetadata(projectId);
|
|
25
|
-
|
|
26
|
+
const abortController = new AbortController();
|
|
27
|
+
const stream = this.webRTCOperatorclient.connect(request, { meta: metadata, abort: abortController.signal });
|
|
28
|
+
return {
|
|
29
|
+
onError: (callback) => stream.responses.onError(callback),
|
|
30
|
+
onComplete: (callback) => stream.responses.onComplete(callback),
|
|
31
|
+
onNext: (callback) => stream.responses.onNext(callback),
|
|
32
|
+
onMessage: (callback) => stream.responses.onMessage(callback),
|
|
33
|
+
[Symbol.asyncIterator]: stream.responses[Symbol.asyncIterator],
|
|
34
|
+
async status() {
|
|
35
|
+
const status = await stream.status;
|
|
36
|
+
const metadata = await stream.headers;
|
|
37
|
+
return {
|
|
38
|
+
code: status.code,
|
|
39
|
+
details: status.detail,
|
|
40
|
+
metadata,
|
|
41
|
+
};
|
|
42
|
+
},
|
|
43
|
+
cancel() {
|
|
44
|
+
abortController.abort();
|
|
45
|
+
},
|
|
46
|
+
};
|
|
26
47
|
}
|
|
27
48
|
/**
|
|
28
49
|
* Get details for the peer
|
|
29
50
|
* @param projectId
|
|
30
51
|
* @param request
|
|
31
|
-
* @param callback
|
|
32
52
|
* @returns
|
|
33
53
|
*/
|
|
34
|
-
getPeerDetails(projectId, request
|
|
54
|
+
async getPeerDetails(projectId, request) {
|
|
35
55
|
const metadata = this.getMetadata(projectId);
|
|
36
|
-
return this.webRTCOperatorclient.get(request, metadata
|
|
56
|
+
return this.webRTCOperatorclient.get(request, { meta: metadata }).response;
|
|
37
57
|
}
|
|
38
58
|
/**
|
|
39
59
|
* Send offer connecction to peer
|
|
40
60
|
* @param projectId
|
|
41
61
|
* @param request
|
|
42
|
-
* @param callback
|
|
43
62
|
* @returns
|
|
44
63
|
*/
|
|
45
|
-
offerPeerConnection(projectId, request
|
|
64
|
+
offerPeerConnection(projectId, request) {
|
|
46
65
|
const metadata = this.getMetadata(projectId);
|
|
47
|
-
return this.webRTCOperatorclient.offer(request, metadata
|
|
66
|
+
return this.webRTCOperatorclient.offer(request, { meta: metadata }).response;
|
|
48
67
|
}
|
|
49
68
|
/**
|
|
50
69
|
* Add ice candidate for peer
|
|
51
70
|
* @param projectId
|
|
52
71
|
* @param request
|
|
53
|
-
* @param callback
|
|
54
72
|
* @returns
|
|
55
73
|
*/
|
|
56
|
-
addPeerIceCandidate(projectId, request
|
|
74
|
+
addPeerIceCandidate(projectId, request) {
|
|
57
75
|
const metadata = this.getMetadata(projectId);
|
|
58
|
-
return this.webRTCOperatorclient.addIceCandidate(request, metadata
|
|
76
|
+
return this.webRTCOperatorclient.addIceCandidate(request, { meta: metadata }).response;
|
|
59
77
|
}
|
|
60
78
|
getMetadata(projectId) {
|
|
61
79
|
return {
|
|
@@ -64,4 +82,3 @@ class WebRTCSignallingStream extends WebRTCSignallingStreamAbstract_1.WebRTCSign
|
|
|
64
82
|
};
|
|
65
83
|
}
|
|
66
84
|
}
|
|
67
|
-
exports.WebRTCSignallingStream = WebRTCSignallingStream;
|
|
@@ -1,23 +1,20 @@
|
|
|
1
|
-
import { AddIceCandidateRequest, GetDetailsRequest, GetDetailsResponse, OfferRequest, OperatorConnectRequest } from '../../../grpc/
|
|
2
|
-
import { IAddIceCandidateRequest, IGetDetailsRequest, IOfferRequest, IOperatorConnectRequest } from '../../../models
|
|
3
|
-
import { IServiceError, IWebRTCSignallingGetDetailsResponse, IWebRTCSignallingMessage, IWebRTCSignallingOutcome, IWebRTCSignallingResponseStream, IWebRTCSignallingStream } from '../../../models/stream/IWebRTCSignallingStream';
|
|
1
|
+
import { AddIceCandidateRequest, GetDetailsRequest, GetDetailsResponse, OfferRequest, OperatorConnectRequest } from '../../../grpc/pigeon_pb';
|
|
2
|
+
import { IAddIceCandidateRequest, IGetDetailsRequest, IOfferRequest, IOperatorConnectRequest, IStreamConfig, IWebRTCSignallingGetDetailsResponse, IWebRTCSignallingMessage, IWebRTCSignallingOutcome, IWebRTCSignallingResponseStream, IWebRTCSignallingStream, SubscriberStatusEnum } from '../../../models';
|
|
4
3
|
import { BehaviorSubject } from 'rxjs';
|
|
5
|
-
import { IStreamConfig } from '../../../models/IStreamConfig';
|
|
6
4
|
import { Logger } from 'loglevel';
|
|
7
|
-
import { SubscriberStatusEnum } from '../../../models/SubscriberStatusEnum';
|
|
8
5
|
export declare abstract class WebRTCSignallingStreamAbstract implements IWebRTCSignallingStream {
|
|
9
6
|
identifier: string;
|
|
10
7
|
protected token: string;
|
|
11
|
-
private scope;
|
|
8
|
+
private readonly scope;
|
|
12
9
|
protected url: string;
|
|
13
10
|
protected subscriberStatus: SubscriberStatusEnum;
|
|
14
11
|
statusStream$: BehaviorSubject<SubscriberStatusEnum>;
|
|
15
12
|
protected logger: Logger;
|
|
16
|
-
constructor(config: IStreamConfig);
|
|
13
|
+
protected constructor(config: IStreamConfig);
|
|
17
14
|
protected abstract connectOperatorStream(projectId: string, request: OperatorConnectRequest): IWebRTCSignallingResponseStream<IWebRTCSignallingMessage>;
|
|
18
|
-
protected abstract getPeerDetails(projectId: string, request: GetDetailsRequest
|
|
19
|
-
protected abstract offerPeerConnection(projectId: string, request: OfferRequest
|
|
20
|
-
protected abstract addPeerIceCandidate(projectId: string, request: AddIceCandidateRequest
|
|
15
|
+
protected abstract getPeerDetails(projectId: string, request: GetDetailsRequest): Promise<IWebRTCSignallingGetDetailsResponse>;
|
|
16
|
+
protected abstract offerPeerConnection(projectId: string, request: OfferRequest): Promise<IWebRTCSignallingOutcome>;
|
|
17
|
+
protected abstract addPeerIceCandidate(projectId: string, request: AddIceCandidateRequest): Promise<IWebRTCSignallingOutcome>;
|
|
21
18
|
setToken(token: string): void;
|
|
22
19
|
stopStream(): void;
|
|
23
20
|
/**
|
|
@@ -26,7 +23,7 @@ export declare abstract class WebRTCSignallingStreamAbstract implements IWebRTCS
|
|
|
26
23
|
* @returns
|
|
27
24
|
*/
|
|
28
25
|
connectOperator(request: IOperatorConnectRequest): IWebRTCSignallingResponseStream<IWebRTCSignallingMessage>;
|
|
29
|
-
getDetails(request: IGetDetailsRequest
|
|
30
|
-
offerConnection(request: IOfferRequest
|
|
31
|
-
addIceCandidate(request: IAddIceCandidateRequest
|
|
26
|
+
getDetails(request: IGetDetailsRequest): Promise<GetDetailsResponse>;
|
|
27
|
+
offerConnection(request: IOfferRequest): Promise<IWebRTCSignallingOutcome>;
|
|
28
|
+
addIceCandidate(request: IAddIceCandidateRequest): Promise<IWebRTCSignallingOutcome>;
|
|
32
29
|
}
|
|
@@ -1,23 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const SubscriberStatusEnum_1 = require("../../../models/SubscriberStatusEnum");
|
|
10
|
-
const operators_1 = require("rxjs/operators");
|
|
11
|
-
class WebRTCSignallingStreamAbstract {
|
|
1
|
+
import { AddIceCandidateRequest, GetDetailsRequest, OfferRequest, OperatorConnectRequest, } from '../../../grpc/pigeon_pb';
|
|
2
|
+
import { SubscriberStatusEnum, } from '../../../models';
|
|
3
|
+
import { BehaviorSubject } from 'rxjs';
|
|
4
|
+
import { IDENTIFIER_NAME_COMMAND } from '../../../constants/identifier';
|
|
5
|
+
import { RocosStore } from '../../../store/RocosStore';
|
|
6
|
+
import { StreamRegister } from '../../StreamRegister';
|
|
7
|
+
import { filter } from 'rxjs/operators';
|
|
8
|
+
export class WebRTCSignallingStreamAbstract {
|
|
12
9
|
constructor(config) {
|
|
13
|
-
this.subscriberStatus =
|
|
10
|
+
this.subscriberStatus = SubscriberStatusEnum.STOPPED;
|
|
14
11
|
this.scope = config.scope;
|
|
15
|
-
this.identifier =
|
|
12
|
+
this.identifier = StreamRegister.getIdentifier(IDENTIFIER_NAME_COMMAND, this.scope);
|
|
16
13
|
this.token = config.token;
|
|
17
14
|
this.url = config.url;
|
|
18
|
-
this.statusStream$ = new
|
|
19
|
-
|
|
20
|
-
.pipe(
|
|
15
|
+
this.statusStream$ = new BehaviorSubject(SubscriberStatusEnum.STOPPED);
|
|
16
|
+
RocosStore.getChangeSubject()
|
|
17
|
+
.pipe(filter((message) => {
|
|
21
18
|
return message.type === 'token' && message.url === this.url;
|
|
22
19
|
}))
|
|
23
20
|
.subscribe((msg) => {
|
|
@@ -36,30 +33,33 @@ class WebRTCSignallingStreamAbstract {
|
|
|
36
33
|
* @returns
|
|
37
34
|
*/
|
|
38
35
|
connectOperator(request) {
|
|
39
|
-
const operatorConnectRequest =
|
|
40
|
-
|
|
41
|
-
|
|
36
|
+
const operatorConnectRequest = OperatorConnectRequest.create({
|
|
37
|
+
videoId: request.videoId,
|
|
38
|
+
clientId: '',
|
|
39
|
+
});
|
|
42
40
|
return this.connectOperatorStream(request.projectId, operatorConnectRequest);
|
|
43
41
|
}
|
|
44
|
-
getDetails(request
|
|
45
|
-
const getDetailsRequest =
|
|
46
|
-
|
|
47
|
-
|
|
42
|
+
getDetails(request) {
|
|
43
|
+
const getDetailsRequest = GetDetailsRequest.create({
|
|
44
|
+
videoId: request.videoId,
|
|
45
|
+
});
|
|
46
|
+
return this.getPeerDetails(request.projectId, getDetailsRequest);
|
|
48
47
|
}
|
|
49
|
-
offerConnection(request
|
|
50
|
-
const offerConnectionRequest =
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
48
|
+
offerConnection(request) {
|
|
49
|
+
const offerConnectionRequest = OfferRequest.create({
|
|
50
|
+
sdp: btoa(JSON.stringify(request.rtcSessionDescription)),
|
|
51
|
+
videoCommand: request.videoCommand,
|
|
52
|
+
videoId: request.videoId,
|
|
53
|
+
clientId: request.clientId ?? '',
|
|
54
|
+
videoFormat: request.videoFormat ?? 'H264',
|
|
55
|
+
});
|
|
56
|
+
return this.offerPeerConnection(request.projectId, offerConnectionRequest);
|
|
57
57
|
}
|
|
58
|
-
addIceCandidate(request
|
|
59
|
-
const addIceCandidateRequest =
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
58
|
+
addIceCandidate(request) {
|
|
59
|
+
const addIceCandidateRequest = AddIceCandidateRequest.create({
|
|
60
|
+
videoId: request.videoId,
|
|
61
|
+
candidate: request.candidate,
|
|
62
|
+
});
|
|
63
|
+
return this.addPeerIceCandidate(request.projectId, addIceCandidateRequest);
|
|
63
64
|
}
|
|
64
65
|
}
|
|
65
|
-
exports.WebRTCSignallingStreamAbstract = WebRTCSignallingStreamAbstract;
|
package/constants/api.d.ts
CHANGED
|
@@ -3,6 +3,8 @@ export declare const API_ADMIN_USER_INVITATION_URL = "https://{url}/admin/users/
|
|
|
3
3
|
export declare const API_USER_URL = "https://{url}/users";
|
|
4
4
|
export declare const API_USER_AUTH_URL = "https://{url}/users/auth";
|
|
5
5
|
export declare const API_USER_TOKEN_URL = "https://{url}/users/token";
|
|
6
|
+
export declare const API_OTP_URL = "https://{url}/otp";
|
|
7
|
+
export declare const API_OTP_AUTH_URL = "https://{url}/otp/auth";
|
|
6
8
|
export declare const API_USER_PASSWORD_RESET_URL = "https://{url}/users/forgotten-password-reset";
|
|
7
9
|
export declare const API_USER_PASSWORD_FORGOT_URL = "https://{url}/users/forgotten-password";
|
|
8
10
|
export declare const API_USER_INVITATION_URL = "https://{url}/users/invitations";
|
|
@@ -35,6 +37,9 @@ export declare const API_PROJECT_ASSET_ROBOTS_SYNC_DEFINITION_PATH_URL = "https:
|
|
|
35
37
|
export declare const API_PROJECT_ASSET_PROFILES_SYNC_DEFINITION_PATH_URL = "https://{url}/projects/{projectId}/profiles/{profileId}/sync-definitions";
|
|
36
38
|
export declare const API_PROJECT_ROBOT_ASSET_PATH_URL = "https://{url}/projects/{projectId}/robots/{callsign}/assets";
|
|
37
39
|
export declare const API_PROJECT_FLOW_ASSET_PATH_URL = "https://{url}/projects/{projectId}/flows/{callsign}/assets";
|
|
40
|
+
export declare const API_PROJECT_MISSION_ASSETS_PATH_URL = "https://{url}/projects/{projectId}/missionassets";
|
|
41
|
+
export declare const API_PROJECT_MISSION_ASSET_PATH_URL = "https://{url}/projects/{projectId}/missionassets/{assetId}";
|
|
42
|
+
export declare const API_PROJECT_MAPPED_ASSETS_PATH_URL = "https://{url}/projects/{projectId}/mappedassets";
|
|
38
43
|
export declare const API_PROJECT_ROBOT_URL = "https://{url}/projects/{projectId}/robots";
|
|
39
44
|
export declare const API_PROJECT_ROBOT_ID_URL = "https://{url}/projects/{projectId}/robots/{callsign}";
|
|
40
45
|
export declare const API_PROJECT_ROBOT_ATTRIBUTES_URL = "https://{url}/projects/{projectId}/robots/{callsign}/attributes";
|
|
@@ -94,10 +99,6 @@ export declare const API_PROJECT_ROBOT_DASHBOARD_URL = "https://{url}/projects/{
|
|
|
94
99
|
export declare const API_PROJECT_ROBOT_DASHBOARD_ID_URL = "https://{url}/projects/{projectId}/robots/{callsign}/dashboards/{dashboardId}";
|
|
95
100
|
export declare const API_PROJECT_ROBOT_DASHBOARD_CUSTOM_WIDGET_URL = "https://{url}/projects/{projectId}/robots/{callsign}/dashboards/{dashboardId}/custom-widgets";
|
|
96
101
|
export declare const API_PROJECT_CALLSIGN_STREAM_URL = "https://{url}/projects/{projectId}/callsigns/{callsign}/streams";
|
|
97
|
-
export declare const API_PROJECT_CALLSIGN_WORKFLOW_URL = "https://{url}/projects/{projectId}/callsigns/{callsign}/workflows";
|
|
98
|
-
export declare const API_PROJECT_WORKFLOW_URL = "https://{url}/projects/{projectId}/workflows";
|
|
99
|
-
export declare const API_PROJECT_ROBOT_DEPLOYED_WORKFLOW_URL = "https://{url}/projects/{projectId}/robots/{callsign}/automate/flows/deployments";
|
|
100
|
-
export declare const API_PROJECT_WORKFLOW_ID_URL = "https://{url}/projects/{projectId}/workflows/{workflowId}";
|
|
101
102
|
export declare const API_PROJECT_PROFILE_DASHBOARD_URL = "https://{url}/projects/{projectId}/profiles/{profileId}/dashboards";
|
|
102
103
|
export declare const API_PROJECT_PROFILE_DASHBOARD_ID_URL = "https://{url}/projects/{projectId}/profiles/{profileId}/dashboards/{dashboardId}";
|
|
103
104
|
export declare const API_PROJECT_PROFILE_DASHBOARD_CUSTOM_WIDGET_URL = "https://{url}/projects/{projectId}/profiles/{profileId}/dashboards/{dashboardId}/custom-widgets";
|
|
@@ -115,7 +116,15 @@ export declare const API_DD_INTEGRATION_PLAN_BY_ID_URL = "https://{url}/projects
|
|
|
115
116
|
export declare const API_DD_INTEGRATION_OVERLAYS_URL = "https://{url}/projects/{projectId}/dd/overlays";
|
|
116
117
|
export declare const API_DD_INTEGRATION_ISSUES_URL = "https://{url}/projects/{projectId}/dd/issues";
|
|
117
118
|
export declare const API_MAPS_URL = "https://{url}/projects/{projectId}/maps";
|
|
118
|
-
export declare const
|
|
119
|
+
export declare const API_MAPS_DEPLOYED_URL = "https://{url}/projects/{projectId}/maps/deployed?callsign={callsign}";
|
|
119
120
|
export declare const API_MAPS_MERGE_URL = "https://{url}/projects/{projectId}/maps/merge";
|
|
120
121
|
export declare const API_MAP_ID_URL = "https://{url}/projects/{projectId}/maps/{mapId}";
|
|
121
122
|
export declare const API_MAPS_COPY_URL = "https://{url}/projects/{projectId}/maps/{mapId}/copy";
|
|
123
|
+
export declare const API_MAPS_DEPLOY_URL = "https://{url}/projects/{projectId}/maps/{mapId}/deploy";
|
|
124
|
+
export declare const API_MAPS_GEOJSON_URL = "https://{url}/projects/{projectId}/maps/{mapId}/geojson";
|
|
125
|
+
export declare const API_MAPS_PANORAMA_OBSERVATIONS_URL = "https://{url}/projects/{projectId}/panoramas/{panoramaId}/observations";
|
|
126
|
+
export declare const API_OBSERVATIONS_URL = "https://{url}/projects/{projectId}/observations";
|
|
127
|
+
export declare const API_OBSERVATION_KEYS_URL = "https://{url}/projects/{projectId}/observations/keys";
|
|
128
|
+
export declare const API_PROJECT_WORKFLOW_URL = "https://{url}/projects/{projectId}/automate/flows";
|
|
129
|
+
export declare const API_PROJECT_WORKFLOW_ID_URL = "https://{url}/projects/{projectId}/automate/flows/{workflowId}";
|
|
130
|
+
export declare const API_PROJECT_DEPLOYED_WORKFLOW_URL = "https://{url}/projects/{projectId}/robots/{callsign}/automate/flows/deployments";
|