@dronedeploy/rocos-js-sdk
v3.0.4
Published
Javascript SDK for rocos
Downloads
1,674
Readme
rocos-js-sdk
Javascript SDK for interacting with the Rocos platform.
Using with Node
In order to use the SDK with node, you must be using node version 18.13 or higher.
Installation
Install the package with npm
npm install @dronedeploy/rocos-js-sdk
or yarn
yarn add @dronedeploy/rocos-js-sdk rxjs@^7
What's new
3.0.1
Breaking Changes
- Change the protobuf generation to use the protobuf-ts package instead of protobuf-javascript.
- No longer uses
@improbable-eng/grpc-web
implementation of the gRPC-web client.
- No longer uses
- CallerService
- change
CallerService.invokeRequest
responses to be UTF-8 encoded UInt8Arrays instead of base64 encoded strings. - change array field names to remove the
List
suffix.IRocosCallerMessageResponses.responsesList
->IRocosCallerMessageResponses.responses
IRocosCallerMessageChunks.rowsList
->IRocosCallerMessageChunks.rows
- split
IRocosCallerMessageResponseReturn.header.created
field intocreatedAt
andcreatedNs
fieldscreatedAt
is aDate
object representing the time the message was created, with millisecond precision.createdNs
is astring
representing the time the message was created, with nanosecond precision. You can use this with theBigInt
constructor to get aBigInt
representation of the time.
- change
- RTPWebRTCService
- refactor the following functions to return a promise, rather than using a callback:
WebRTCSignallingStream.offerConnection()
WebRTCSignallingStream.getDetails()
WebRTCSignallingStream.addIceCandidate()
- split the stream interface
IWebRTCSignallingResponseStream.on(type, handler)
intoonMessage(handler)
,onError(handler)
, andonComplete(handler)
.
- refactor the following functions to return a promise, rather than using a callback:
- MapService
- Removed
initDB
method - Changed
copyFromRobot
method tosendToCloud
- changed
copyFromCloud
method tocopy
- Removed
- FileAccessorService
- Removed
uploadFile
method
- Removed
- AuthService
- Removed the ability to login with a username and password. Only api keys or tokens are supported now.
- Tokens are now checked for validity before being used
IToken
interface changescreated
is nowissuedAt
and is aDate
object instead of astring
expiresIn
is nowexpires
and is aDate
object instead of anumber
- Logging in and signing up with email and password has been removed
- Resetting password has been removed
- WorkflowService
- Renamed
getDeployedOnRobot
togetDeployedWorkflow
- Renamed
listDeployedOnRobot
tolist
- Renamed
- Utils
- Removed
generateUUID
method - Refactor
Token
classexpiresIn: number
->expires?: Date
created: string
->issuedAt?: Date
- Removed unused math utility functions
- Removed
Removed
- Breaking: remove
FileAccessorService.uploadFile
- Breaking: remove the ability to authenticate using a username and password. Only API keys and tokens are supported now.
- Breaking: remove unused math utility functions
Fixed
- Remove Node 18 engine requirement to allow building for web targets on previous Node versions. Node 18 is still required to run the SDK in Node.
2.6.1
- Modify map service response type
2.6.0
- Change
rxjs
dependency to a peer dependency (support for^6.6.6 || ^7.0.0
)- If you are using
yarn
you may need to addrxjs
to your dependencies
- If you are using
2.4.0
- deleted unused endpoints relating to legacy accounts which are no longer supported
2.3.0
- Added
mapService
for supporting agent map functionality
2.2.0
- Added
listUsers
method in ProjectService to list project users - Added additional debug information for failed HTTP responses
2.1.0
- Added getPlansPaged method to the IntegrationService to retrieve plans in a paged manner
2.0.2
- Fix no-content responses attempting to parse as JSON
2.0.1
- Security updates for React demo app dependencies
2.0.0
- Updating base class for all REST requests to go via fetch instead of axios
- Remove unused dependencies
source-map-loader
,ts-loader
,axios
- Mark certain auth methods as deprecated in AuthService
login
Login with email and password.signup
resetPassword
- Deleted legacy services, these services are prefixed with BC, e.g.
BCRocosClient
- Updated outdated dependencies in the Angular demo application
Migrating from 1.x to 2.x
- NodeJS engine requirements need to be v18.13 and npm v8 to use in NodeJS as the underlying HTTP services now use fetch API
- Legacy services prefixed with BC will need to be migrated to use the standard services
1.19.0
New method added to the IntegrationService
to create a new issue in the current location.
- createIssue - Creates a new issue in a specific location on the latest map plan
1.18.0
Added new integration service to be able to retrieve plans created in DroneDeploy
This can be retrieved by getIntegrationService(). Available methods:
- getPlans - Gets a list of plans
- getPlanById - Retrieves a specific plan with the tiled layer that can be used to render meshes, point clouds, or tiled maps
- getWMTS - Returns WMTS tiles that can be rendered in tools such as mapbox if your project has WMTS feature enabled)