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