@dronedeploy/rocos-js-sdk 3.0.1-alpha.5 → 3.0.1-alpha.7
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/cjs/RocosSDK.d.ts +2 -1
- package/cjs/RocosSDK.js +38 -26
- package/cjs/api/streams/caller/CallerStream.js +2 -1
- package/cjs/api/streams/command/CommandStream.js +2 -1
- package/cjs/api/streams/control/ControlStream.js +2 -1
- package/cjs/api/streams/fileAccessor/FileAccessorStream.js +2 -1
- package/cjs/api/streams/search/SearchStream.js +2 -1
- package/cjs/api/streams/telemetry/TelemetryStream.js +2 -1
- package/cjs/api/streams/webRTCSignalling/WebRTCSignallingStream.js +2 -1
- package/cjs/constants/api.d.ts +1 -0
- package/cjs/constants/api.js +2 -1
- package/cjs/helpers/getSha256Hex.d.ts +1 -0
- package/cjs/helpers/getSha256Hex.js +9 -0
- package/cjs/helpers/getSha256Hex.spec.d.ts +1 -0
- package/cjs/helpers/getSha256Hex.spec.js +19 -0
- package/cjs/helpers/getSha256HexNode.d.ts +1 -0
- package/cjs/helpers/getSha256HexNode.js +13 -0
- package/cjs/helpers/getSha256HexNode.spec.d.ts +1 -0
- package/cjs/helpers/getSha256HexNode.spec.js +10 -0
- package/cjs/models/IRocosSDKConfig.d.ts +8 -4
- package/cjs/models/workflow/Workflow.d.ts +69 -11
- package/cjs/node/RocosSDKNode.d.ts +1 -2
- package/cjs/node/RocosSDKNode.js +54 -65
- package/cjs/services/AssetStorageService.js +1 -1
- package/cjs/services/BaseStreamService.js +2 -0
- package/cjs/services/WorkflowService.d.ts +11 -16
- package/cjs/services/WorkflowService.js +32 -15
- package/cjs/services/WorkflowServiceNode.d.ts +4 -0
- package/cjs/services/WorkflowServiceNode.js +12 -0
- package/esm/RocosSDK.d.ts +2 -1
- package/esm/RocosSDK.js +38 -26
- package/esm/api/streams/caller/CallerStream.js +2 -1
- package/esm/api/streams/command/CommandStream.js +2 -1
- package/esm/api/streams/control/ControlStream.js +2 -1
- package/esm/api/streams/fileAccessor/FileAccessorStream.js +2 -1
- package/esm/api/streams/search/SearchStream.js +2 -1
- package/esm/api/streams/telemetry/TelemetryStream.js +2 -1
- package/esm/api/streams/webRTCSignalling/WebRTCSignallingStream.js +2 -1
- package/esm/constants/api.d.ts +1 -0
- package/esm/constants/api.js +1 -0
- package/esm/helpers/getSha256Hex.d.ts +1 -0
- package/esm/helpers/getSha256Hex.js +5 -0
- package/esm/helpers/getSha256Hex.spec.d.ts +1 -0
- package/esm/helpers/getSha256Hex.spec.js +14 -0
- package/esm/helpers/getSha256HexNode.d.ts +1 -0
- package/esm/helpers/getSha256HexNode.js +6 -0
- package/esm/helpers/getSha256HexNode.spec.d.ts +1 -0
- package/esm/helpers/getSha256HexNode.spec.js +8 -0
- package/esm/models/IRocosSDKConfig.d.ts +8 -4
- package/esm/models/workflow/Workflow.d.ts +69 -11
- package/esm/node/RocosSDKNode.d.ts +1 -2
- package/esm/node/RocosSDKNode.js +26 -37
- package/esm/services/AssetStorageService.js +3 -3
- package/esm/services/BaseStreamService.js +2 -0
- package/esm/services/WorkflowService.d.ts +11 -16
- package/esm/services/WorkflowService.js +33 -16
- package/esm/services/WorkflowServiceNode.d.ts +4 -0
- package/esm/services/WorkflowServiceNode.js +8 -0
- package/package.json +1 -1
package/cjs/RocosSDK.d.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import { AssetStorageService, AuthService, CallerService, CommandService, ConfigGroupService, ControlService, DashboardService, EvaluatorService, EventService, FileAccessorService, FunctionService, IntegrationService, MapService, ProfileService, ProjectService, RTPWebRTCService, RobotService, ScheduleService, SearchService, SpotProvisioningService, StreamService, TelemetryService, TimeSyncerService, UserService, WebRTCSignallingService, WorkflowService } from './services';
|
2
|
-
import { IBaseService, IDebugLevel, IRocosSDKConfig, ServiceEnum } from './models';
|
2
|
+
import { AuthorisedConfig, IBaseService, IDebugLevel, IRocosSDKConfig, ServiceEnum } from './models';
|
3
3
|
import { IRocosSDK } from './IRocosSDK';
|
4
4
|
import { Logger } from 'loglevel';
|
5
5
|
export declare class RocosSDK implements IRocosSDK {
|
@@ -145,4 +145,5 @@ export declare class RocosSDK implements IRocosSDK {
|
|
145
145
|
*/
|
146
146
|
enableDebugMode(on: boolean): void;
|
147
147
|
setDebugLevel(level: IDebugLevel): void;
|
148
|
+
protected overrideConfig(service: ServiceEnum): AuthorisedConfig;
|
148
149
|
}
|
package/cjs/RocosSDK.js
CHANGED
@@ -27,84 +27,85 @@ class RocosSDK {
|
|
27
27
|
getService(name) {
|
28
28
|
if (!this.services?.[name]) {
|
29
29
|
this.logger.info(`Service ${name} does not exist, creating it now.`);
|
30
|
+
const config = this.overrideConfig(name);
|
30
31
|
switch (name) {
|
31
32
|
case models_1.ServiceEnum.AUTH:
|
32
|
-
this.services[name] = new services_1.AuthService(
|
33
|
+
this.services[name] = new services_1.AuthService(config);
|
33
34
|
break;
|
34
35
|
case models_1.ServiceEnum.TELEMETRY:
|
35
|
-
this.services[name] = new services_1.TelemetryService(
|
36
|
+
this.services[name] = new services_1.TelemetryService(config);
|
36
37
|
break;
|
37
38
|
case models_1.ServiceEnum.ROBOT:
|
38
|
-
this.services[name] = new services_1.RobotService(
|
39
|
+
this.services[name] = new services_1.RobotService(config);
|
39
40
|
break;
|
40
41
|
case models_1.ServiceEnum.EVENT:
|
41
|
-
this.services[name] = new services_1.EventService(
|
42
|
+
this.services[name] = new services_1.EventService(config);
|
42
43
|
break;
|
43
44
|
case models_1.ServiceEnum.PROJECT:
|
44
|
-
this.services[name] = new services_1.ProjectService(
|
45
|
+
this.services[name] = new services_1.ProjectService(config);
|
45
46
|
break;
|
46
47
|
case models_1.ServiceEnum.CALLER:
|
47
|
-
this.services[name] = new services_1.CallerService(
|
48
|
+
this.services[name] = new services_1.CallerService(config);
|
48
49
|
break;
|
49
50
|
case models_1.ServiceEnum.COMMAND:
|
50
|
-
this.services[name] = new services_1.CommandService(
|
51
|
+
this.services[name] = new services_1.CommandService(config);
|
51
52
|
break;
|
52
53
|
case models_1.ServiceEnum.CONTROL:
|
53
|
-
this.services[name] = new services_1.ControlService(
|
54
|
+
this.services[name] = new services_1.ControlService(config);
|
54
55
|
break;
|
55
56
|
case models_1.ServiceEnum.SEARCH:
|
56
|
-
this.services[name] = new services_1.SearchService(
|
57
|
+
this.services[name] = new services_1.SearchService(config);
|
57
58
|
break;
|
58
59
|
case models_1.ServiceEnum.CONFIG_GROUP:
|
59
|
-
this.services[name] = new services_1.ConfigGroupService(
|
60
|
+
this.services[name] = new services_1.ConfigGroupService(config);
|
60
61
|
break;
|
61
62
|
case models_1.ServiceEnum.DASHBOARD:
|
62
|
-
this.services[name] = new services_1.DashboardService(
|
63
|
+
this.services[name] = new services_1.DashboardService(config);
|
63
64
|
break;
|
64
65
|
case models_1.ServiceEnum.FUNCTION:
|
65
|
-
this.services[name] = new services_1.FunctionService(
|
66
|
+
this.services[name] = new services_1.FunctionService(config);
|
66
67
|
break;
|
67
68
|
case models_1.ServiceEnum.STREAM:
|
68
|
-
this.services[name] = new services_1.StreamService(
|
69
|
+
this.services[name] = new services_1.StreamService(config);
|
69
70
|
break;
|
70
71
|
case models_1.ServiceEnum.USER:
|
71
|
-
this.services[name] = new services_1.UserService(
|
72
|
+
this.services[name] = new services_1.UserService(config);
|
72
73
|
break;
|
73
74
|
case models_1.ServiceEnum.TIME_SYNCER:
|
74
|
-
this.services[name] = new services_1.TimeSyncerService(
|
75
|
+
this.services[name] = new services_1.TimeSyncerService(config);
|
75
76
|
break;
|
76
77
|
case models_1.ServiceEnum.WORKFLOW:
|
77
|
-
this.services[name] = new services_1.WorkflowService(
|
78
|
+
this.services[name] = new services_1.WorkflowService(config);
|
78
79
|
break;
|
79
80
|
case models_1.ServiceEnum.ASSET_STORAGE:
|
80
|
-
this.services[name] = new services_1.AssetStorageService(
|
81
|
+
this.services[name] = new services_1.AssetStorageService(config);
|
81
82
|
break;
|
82
83
|
case models_1.ServiceEnum.PROFILE:
|
83
|
-
this.services[name] = new services_1.ProfileService(
|
84
|
+
this.services[name] = new services_1.ProfileService(config);
|
84
85
|
break;
|
85
86
|
case models_1.ServiceEnum.RTP_WEBRTC:
|
86
|
-
this.services[name] = new services_1.RTPWebRTCService(
|
87
|
+
this.services[name] = new services_1.RTPWebRTCService(config);
|
87
88
|
break;
|
88
89
|
case models_1.ServiceEnum.WEBRTC_SIGNALLING:
|
89
|
-
this.services[name] = new services_1.WebRTCSignallingService(
|
90
|
+
this.services[name] = new services_1.WebRTCSignallingService(config);
|
90
91
|
break;
|
91
92
|
case models_1.ServiceEnum.FILE_ACCESSOR:
|
92
|
-
this.services[name] = new services_1.FileAccessorService(
|
93
|
+
this.services[name] = new services_1.FileAccessorService(config);
|
93
94
|
break;
|
94
95
|
case models_1.ServiceEnum.SCHEDULE:
|
95
|
-
this.services[name] = new services_1.ScheduleService(
|
96
|
+
this.services[name] = new services_1.ScheduleService(config);
|
96
97
|
break;
|
97
98
|
case models_1.ServiceEnum.SPOT_PROVISIONER:
|
98
|
-
this.services[name] = new services_1.SpotProvisioningService(
|
99
|
+
this.services[name] = new services_1.SpotProvisioningService(config);
|
99
100
|
break;
|
100
101
|
case models_1.ServiceEnum.INTEGRATION:
|
101
|
-
this.services[name] = new services_1.IntegrationService(
|
102
|
+
this.services[name] = new services_1.IntegrationService(config);
|
102
103
|
break;
|
103
104
|
case models_1.ServiceEnum.MAP:
|
104
|
-
this.services[name] = new services_1.MapService(
|
105
|
+
this.services[name] = new services_1.MapService(config);
|
105
106
|
break;
|
106
107
|
case models_1.ServiceEnum.EVALUATOR:
|
107
|
-
this.services[name] = new services_1.EvaluatorService(
|
108
|
+
this.services[name] = new services_1.EvaluatorService(config);
|
108
109
|
break;
|
109
110
|
}
|
110
111
|
}
|
@@ -312,5 +313,16 @@ class RocosSDK {
|
|
312
313
|
setDebugLevel(level) {
|
313
314
|
RocosLogger_1.RocosLogger.setLevel(level);
|
314
315
|
}
|
316
|
+
overrideConfig(service) {
|
317
|
+
const override = this.config.overrides?.[service];
|
318
|
+
if (!override)
|
319
|
+
return this.config;
|
320
|
+
// strip out the overrides from the config
|
321
|
+
const { overrides: _, ...config } = this.config;
|
322
|
+
return {
|
323
|
+
...config,
|
324
|
+
...this.config.overrides?.[service],
|
325
|
+
};
|
326
|
+
}
|
315
327
|
}
|
316
328
|
exports.RocosSDK = RocosSDK;
|
@@ -13,8 +13,9 @@ class CallerStream extends CallerStreamAbstract_1.CallerStreamAbstract {
|
|
13
13
|
super(config);
|
14
14
|
this.logger = RocosLogger_1.RocosLogger.getInstance(`CallerStream(${this.identifier})`);
|
15
15
|
const protocol = config.insecure ? 'http' : 'https';
|
16
|
+
const port = config.port ? `:${config.port}` : '';
|
16
17
|
const transport = new grpcweb_transport_1.GrpcWebFetchTransport({
|
17
|
-
baseUrl: `${protocol}://${this.url}`,
|
18
|
+
baseUrl: `${protocol}://${this.url}${port}`,
|
18
19
|
});
|
19
20
|
this.client = new serviette_v1_pb_client_1.WebServiceCallerClient(transport);
|
20
21
|
}
|
@@ -12,8 +12,9 @@ class CommandStream extends CommandStreamAbstract_1.CommandStreamAbstract {
|
|
12
12
|
super(config);
|
13
13
|
this.logger = RocosLogger_1.RocosLogger.getInstance(`CommandStream(${this.identifier})`);
|
14
14
|
const protocol = config.insecure ? 'http' : 'https';
|
15
|
+
const port = config.port ? `:${config.port}` : '';
|
15
16
|
const transport = new grpcweb_transport_1.GrpcWebFetchTransport({
|
16
|
-
baseUrl: `${protocol}://${this.url}`,
|
17
|
+
baseUrl: `${protocol}://${this.url}${port}`,
|
17
18
|
});
|
18
19
|
this.client = new rambo_v1_pb_client_1.CommandClient(transport);
|
19
20
|
}
|
@@ -13,8 +13,9 @@ class ControlStream extends ControlStreamAbstract_1.ControlStreamAbstract {
|
|
13
13
|
super(config);
|
14
14
|
this.logger = RocosLogger_1.RocosLogger.getInstance(`ControlStream(${this.identifier})`);
|
15
15
|
const protocol = config.insecure ? 'http' : 'https';
|
16
|
+
const port = config.port ? `:${config.port}` : '';
|
16
17
|
const transport = new grpcweb_transport_1.GrpcWebFetchTransport({
|
17
|
-
baseUrl: `${protocol}://${this.url}`,
|
18
|
+
baseUrl: `${protocol}://${this.url}${port}`,
|
18
19
|
});
|
19
20
|
this.client = new conker_pb_client_1.RobotControlClient(transport);
|
20
21
|
}
|
@@ -12,8 +12,9 @@ class FileAccessorStream extends FileAccessorStreamAbstract_1.FileAccessorStream
|
|
12
12
|
super(config);
|
13
13
|
this.logger = RocosLogger_1.RocosLogger.getInstance(`FileAccessorStream(${this.identifier})`);
|
14
14
|
const protocol = config.insecure ? 'http' : 'https';
|
15
|
+
const port = config.port ? `:${config.port}` : '';
|
15
16
|
const transport = new grpcweb_transport_1.GrpcWebFetchTransport({
|
16
|
-
baseUrl: `${protocol}://${this.url}`,
|
17
|
+
baseUrl: `${protocol}://${this.url}${port}`,
|
17
18
|
});
|
18
19
|
this.client = new filagree_pb_client_1.FilagreeClient(transport);
|
19
20
|
}
|
@@ -13,8 +13,9 @@ class SearchStream extends SearchStreamAbstract_1.SearchStreamAbstract {
|
|
13
13
|
super(config);
|
14
14
|
this.logger = RocosLogger_1.RocosLogger.getInstance(`SearchStream(${this.identifier})`);
|
15
15
|
const protocol = config.insecure ? 'http' : 'https';
|
16
|
+
const port = config.port ? `:${config.port}` : '';
|
16
17
|
const transport = new grpcweb_transport_1.GrpcWebFetchTransport({
|
17
|
-
baseUrl: `${protocol}://${this.url}`,
|
18
|
+
baseUrl: `${protocol}://${this.url}${port}`,
|
18
19
|
});
|
19
20
|
this.client = new slowlane_pb_client_1.streamClient(transport);
|
20
21
|
}
|
@@ -12,8 +12,9 @@ class TelemetryStream extends TelemetryStreamAbstract_1.TelemetryStreamAbstract
|
|
12
12
|
super(config);
|
13
13
|
this.logger = RocosLogger_1.RocosLogger.getInstance(`TelemetryStreamWeb(${this.identifier})`);
|
14
14
|
const protocol = config.insecure ? 'http' : 'https';
|
15
|
+
const port = config.port ? `:${config.port}` : '';
|
15
16
|
const transport = new grpcweb_transport_1.GrpcWebFetchTransport({
|
16
|
-
baseUrl: `${protocol}://${this.url}`,
|
17
|
+
baseUrl: `${protocol}://${this.url}${port}`,
|
17
18
|
});
|
18
19
|
this.client = new teletubby_pb_client_1.TelemetryGatewayClient(transport);
|
19
20
|
}
|
@@ -13,8 +13,9 @@ class WebRTCSignallingStream extends WebRTCSignallingStreamAbstract_1.WebRTCSign
|
|
13
13
|
super(config);
|
14
14
|
this.logger = RocosLogger_1.RocosLogger.getInstance(`WebRTCSignallingStream(${this.identifier})`);
|
15
15
|
const protocol = config.insecure ? 'http' : 'https';
|
16
|
+
const port = config.port ? `:${config.port}` : '';
|
16
17
|
const transport = new grpcweb_transport_1.GrpcWebFetchTransport({
|
17
|
-
baseUrl: `${protocol}://${this.url}`,
|
18
|
+
baseUrl: `${protocol}://${this.url}${port}`,
|
18
19
|
});
|
19
20
|
this.webRTCOperatorclient = new pigeon_pb_client_1.operatorClient(transport);
|
20
21
|
}
|
package/cjs/constants/api.d.ts
CHANGED
@@ -130,4 +130,5 @@ export declare const API_OBSERVATIONS_URL = "https://{url}/projects/{projectId}/
|
|
130
130
|
export declare const API_OBSERVATION_KEYS_URL = "https://{url}/projects/{projectId}/observations/keys";
|
131
131
|
export declare const API_PROJECT_WORKFLOW_URL = "https://{url}/projects/{projectId}/automate/flows";
|
132
132
|
export declare const API_PROJECT_WORKFLOW_ID_URL = "https://{url}/projects/{projectId}/automate/flows/{workflowId}";
|
133
|
+
export declare const API_PROJECT_WORKFLOW_ASSET_URL = "https://{url}/projects/{projectId}/automate/flows/{workflowId}/assets";
|
133
134
|
export declare const API_PROJECT_DEPLOYED_WORKFLOW_URL = "https://{url}/projects/{projectId}/robots/{callsign}/automate/flows/deployments";
|
package/cjs/constants/api.js
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.API_PROJECT_ROBOT_REGISTER_URL = exports.API_PROJECT_ROBOT_DEFINITION_URL = exports.API_PROJECT_ROBOT_ATTRIBUTES_URL = exports.API_PROJECT_ROBOT_ID_URL = exports.API_PROJECT_ROBOT_URL = exports.API_PROJECT_MAPPED_ASSETS_PATH_URL = exports.API_PROJECT_MISSION_ASSET_PATH_URL = exports.API_PROJECT_MISSION_ASSETS_PATH_URL = exports.API_PROJECT_FLOW_ASSET_PATH_URL = exports.API_PROJECT_ROBOT_ASSET_PATH_URL = exports.API_PROJECT_ASSET_INTEGRATION_PATH_URL = exports.API_PROJECT_ASSET_INTEGRATIONS_PATH_URL = exports.API_PROJECT_ASSET_INTEGRATION_PROVIDERS_PATH_URL = exports.API_PROJECT_ASSET_PROFILES_SYNC_DEFINITION_PATH_URL = exports.API_PROJECT_ASSET_ROBOTS_SYNC_DEFINITION_PATH_URL = exports.API_PROJECT_ASSET_PATH_URL = exports.API_PROJECT_ASSET_URL = exports.API_PROJECT_USERS_URL = exports.API_PROJECT_ID_URL = exports.API_PROJECT_URL = exports.API_ACCOUNT_PROJECT_APPLICATION_ID_URL = exports.API_ACCOUNT_PROJECT_APPLICATION_URL = exports.API_ACCOUNT_PROJECT_USER_ID_URL = exports.API_ACCOUNT_PROJECT_USER_URL = exports.API_ACCOUNT_PROJECT_ID_URL = exports.API_ACCOUNT_PROJECT_URL = exports.API_SERVER_TIME_URL = exports.API_ACCOUNT_INTEGRATION_TYPE_URL = exports.API_ACCOUNT_INTEGRATION_URL = exports.API_ACCOUNT_SETTINGS_URL = exports.API_AUTH_USER_ACCOUNT_USER_ID_URL = exports.API_AUTH_USER_ACCOUNT_USER_URL = exports.API_ACCOUNT_ACTIVATE_URL = exports.API_ACCOUNT_ID_URL = exports.API_ACCOUNT_URL = exports.API_USER_PAT_TOKEN_URL = exports.API_USER_PAT_URL = exports.API_USER_VERIFY_EMAIL_URL = exports.API_USER_INVITATION_CHECK_URL = exports.API_USER_INVITATION_ACCEPT_URL = exports.API_USER_INVITATION_URL = exports.API_USER_PASSWORD_FORGOT_URL = exports.API_USER_PASSWORD_RESET_URL = exports.API_OTP_AUTH_URL = exports.API_OTP_URL = exports.API_USER_TOKEN_URL = exports.API_USER_AUTH_URL = exports.API_USER_URL = exports.API_ADMIN_USER_INVITATION_URL = exports.API_APPLICATION_AUTH_URL = void 0;
|
4
4
|
exports.API_PROJECT_STREAM_CALLSIGN_URL = exports.API_PROJECT_STREAM_DATA_URL = exports.API_PROJECT_STREAM_ID_URL = exports.API_PROJECT_STREAM_URL = exports.API_PROJECT_EXPORT_URL = exports.API_PROJECT_FUNCTION_POD_URL = exports.API_PROJECT_FUNCTION_RUN_URL = exports.API_PROJECT_FUNCTION_ID_URL = exports.API_PROJECT_FUNCTION_URL = exports.API_PROJECT_GROUP_TYPE_OWNER_OVERRIDE_URL = exports.API_PROJECT_GROUP_TYPE_OWNER_ID_URL = exports.API_PROJECT_GROUP_TYPE_VERSION_URL = exports.API_PROJECT_GROUP_TYPE_CONFIG_URL = exports.API_PROJECT_GROUP_TYPE_PUBLISH_URL = exports.API_PROJECT_GROUP_TYPE_ID_URL = exports.API_PROJECT_GROUP_TYPE_URL = exports.API_PROJECT_DEFINITION_GAMEPAD_URL = exports.API_PROJECT_DEFINITION_TRIGGER_URL = exports.API_PROJECT_DEFINITION_BUTTON_URL = exports.API_PROJECT_DEFINITION_ACTION_URL = exports.API_PROJECT_DEFINITION_EVENT_URL = exports.API_PROJECT_DEFINITION_COMMAND2_URL = exports.API_PROJECT_DEFINITION_COMMAND_URL = exports.API_PROJECT_DEFINITION_AGENT_URL = exports.API_PROJECT_DEFINITION_SETTING_URL = exports.API_PROJECT_DEFINITION_BLOB_URL = exports.API_PROJECT_DEFINITION_DASHBOARD_URL = exports.API_PROJECT_DEFINITION_COPY_URL = exports.API_PROJECT_DEFINITION_STREAM_URL = exports.API_PROJECT_DEFINITION_ID_URL = exports.API_PROJECT_DEFINITION_URL = exports.API_PROJECT_VROBOT_DEPLOY_URL = exports.API_PROJECT_VROBOT_DETAILS_URL = exports.API_PROJECT_COLLECTION_DOCS_URL = exports.API_PROJECT_COLLECTION_ID_URL = exports.API_PROJECT_DASHBOARD_CUSTOM_WIDGET_URL = exports.API_PROJECT_DASHBOARD_WIDGET_URL = exports.API_PROJECT_DASHBOARD_ID_URL = exports.API_PROJECT_DASHBOARD_URL = exports.API_PROJECT_OPERATION_ID_URL = exports.API_PROJECT_OPERATION_URL = exports.API_PROJECT_ROBOT_GAMEPAD_URL = exports.API_PROJECT_ROBOT_TRIGGER_URL = exports.API_PROJECT_ROBOT_BUTTON_URL = exports.API_PROJECT_ROBOT_COMMAND2_URL = exports.API_PROJECT_ROBOT_COMMAND_URL = exports.API_PROJECT_ROBOT_AGENT_URL = exports.API_PROJECT_ROBOT_SETTING_URL = exports.API_PROJECT_ROBOT_EVENT_HISTORY_URL = exports.API_PROJECT_ROBOT_EVENT_URL = void 0;
|
5
|
-
exports.API_PROJECT_DEPLOYED_WORKFLOW_URL = exports.API_PROJECT_WORKFLOW_ID_URL = exports.API_PROJECT_WORKFLOW_URL = exports.API_OBSERVATION_KEYS_URL = exports.API_OBSERVATIONS_URL = exports.API_MAPS_PANORAMA_OBSERVATIONS_URL = exports.API_MAPS_GEOJSON_URL = exports.API_MAPS_DEPLOY_URL = exports.API_MAPS_COPY_URL = exports.API_MAP_ID_URL = exports.API_MAPS_MERGE_URL = exports.API_MAPS_DEPLOYED_URL = exports.API_MAPS_URL = exports.API_DD_INTEGRATION_ISSUES_URL = exports.API_DD_INTEGRATION_OVERLAYS_URL = exports.API_DD_INTEGRATION_PLAN_BY_ID_URL = exports.API_DD_INTEGRATION_PLANS_URL = exports.API_SPOTTY_URL = exports.API_PROJECT_SCHEDULES_URL = exports.API_SOURCE_ID_URL = exports.API_SOURCE_URL = exports.API_SOURCE_SCHEMA_URL = exports.API_TEMPLATE_EXPORTER_URL = exports.API_TEMPLATE_PROVISION_ID_URL = exports.API_TEMPLATE_PROVISION_URL = exports.API_TEMPLATE_DEPLOY_URL = exports.API_PROJECT_PROFILE_DASHBOARD_CUSTOM_WIDGET_URL = exports.API_PROJECT_PROFILE_DASHBOARD_ID_URL = exports.API_PROJECT_PROFILE_DASHBOARD_URL = exports.API_PROJECT_CALLSIGN_STREAM_URL = exports.API_PROJECT_ROBOT_DASHBOARD_CUSTOM_WIDGET_URL = exports.API_PROJECT_ROBOT_DASHBOARD_ID_URL = exports.API_PROJECT_ROBOT_DASHBOARD_URL = void 0;
|
5
|
+
exports.API_PROJECT_DEPLOYED_WORKFLOW_URL = exports.API_PROJECT_WORKFLOW_ASSET_URL = exports.API_PROJECT_WORKFLOW_ID_URL = exports.API_PROJECT_WORKFLOW_URL = exports.API_OBSERVATION_KEYS_URL = exports.API_OBSERVATIONS_URL = exports.API_MAPS_PANORAMA_OBSERVATIONS_URL = exports.API_MAPS_GEOJSON_URL = exports.API_MAPS_DEPLOY_URL = exports.API_MAPS_COPY_URL = exports.API_MAP_ID_URL = exports.API_MAPS_MERGE_URL = exports.API_MAPS_DEPLOYED_URL = exports.API_MAPS_URL = exports.API_DD_INTEGRATION_ISSUES_URL = exports.API_DD_INTEGRATION_OVERLAYS_URL = exports.API_DD_INTEGRATION_PLAN_BY_ID_URL = exports.API_DD_INTEGRATION_PLANS_URL = exports.API_SPOTTY_URL = exports.API_PROJECT_SCHEDULES_URL = exports.API_SOURCE_ID_URL = exports.API_SOURCE_URL = exports.API_SOURCE_SCHEMA_URL = exports.API_TEMPLATE_EXPORTER_URL = exports.API_TEMPLATE_PROVISION_ID_URL = exports.API_TEMPLATE_PROVISION_URL = exports.API_TEMPLATE_DEPLOY_URL = exports.API_PROJECT_PROFILE_DASHBOARD_CUSTOM_WIDGET_URL = exports.API_PROJECT_PROFILE_DASHBOARD_ID_URL = exports.API_PROJECT_PROFILE_DASHBOARD_URL = exports.API_PROJECT_CALLSIGN_STREAM_URL = exports.API_PROJECT_ROBOT_DASHBOARD_CUSTOM_WIDGET_URL = exports.API_PROJECT_ROBOT_DASHBOARD_ID_URL = exports.API_PROJECT_ROBOT_DASHBOARD_URL = void 0;
|
6
6
|
exports.API_APPLICATION_AUTH_URL = 'https://{url}/applications/auth';
|
7
7
|
exports.API_ADMIN_USER_INVITATION_URL = 'https://{url}/admin/users/invitations';
|
8
8
|
exports.API_USER_URL = 'https://{url}/users';
|
@@ -135,4 +135,5 @@ exports.API_OBSERVATIONS_URL = 'https://{url}/projects/{projectId}/observations'
|
|
135
135
|
exports.API_OBSERVATION_KEYS_URL = 'https://{url}/projects/{projectId}/observations/keys';
|
136
136
|
exports.API_PROJECT_WORKFLOW_URL = 'https://{url}/projects/{projectId}/automate/flows';
|
137
137
|
exports.API_PROJECT_WORKFLOW_ID_URL = 'https://{url}/projects/{projectId}/automate/flows/{workflowId}';
|
138
|
+
exports.API_PROJECT_WORKFLOW_ASSET_URL = 'https://{url}/projects/{projectId}/automate/flows/{workflowId}/assets';
|
138
139
|
exports.API_PROJECT_DEPLOYED_WORKFLOW_URL = 'https://{url}/projects/{projectId}/robots/{callsign}/automate/flows/deployments';
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const getSha256Hex: (arrayBuffer: ArrayBuffer) => Promise<string>;
|
@@ -0,0 +1,9 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.getSha256Hex = void 0;
|
4
|
+
const getSha256Hex = async (arrayBuffer) => {
|
5
|
+
const hashBuffer = await crypto.subtle.digest('SHA-256', arrayBuffer);
|
6
|
+
const hashArray = Array.from(new Uint8Array(hashBuffer));
|
7
|
+
return hashArray.map((b) => b.toString(16).padStart(2, '0')).join('');
|
8
|
+
};
|
9
|
+
exports.getSha256Hex = getSha256Hex;
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,19 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
const crypto_1 = __importDefault(require("crypto"));
|
7
|
+
const getSha256Hex_1 = require("./getSha256Hex");
|
8
|
+
Object.defineProperty(globalThis, 'crypto', {
|
9
|
+
value: {
|
10
|
+
subtle: crypto_1.default.webcrypto.subtle,
|
11
|
+
},
|
12
|
+
});
|
13
|
+
describe('getSha256Hex', () => {
|
14
|
+
it('should return the correct SHA-256 hash', async () => {
|
15
|
+
const buffer = new TextEncoder().encode('Hello, World!');
|
16
|
+
const hash = await (0, getSha256Hex_1.getSha256Hex)(buffer);
|
17
|
+
expect(hash).toBe('dffd6021bb2bd5b0af676290809ec3a53191dd81c7f70a4b28688a362182986f');
|
18
|
+
});
|
19
|
+
});
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const getSha256HexNode: (arrayBuffer: ArrayBuffer) => Promise<string>;
|
@@ -0,0 +1,13 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
exports.getSha256HexNode = void 0;
|
7
|
+
const crypto_1 = __importDefault(require("crypto"));
|
8
|
+
const getSha256HexNode = async (arrayBuffer) => {
|
9
|
+
const hashBuffer = await crypto_1.default.subtle.digest('SHA-256', arrayBuffer);
|
10
|
+
const hashArray = Array.from(new Uint8Array(hashBuffer));
|
11
|
+
return hashArray.map((b) => b.toString(16).padStart(2, '0')).join('');
|
12
|
+
};
|
13
|
+
exports.getSha256HexNode = getSha256HexNode;
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,10 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
const getSha256HexNode_1 = require("./getSha256HexNode");
|
4
|
+
describe('getSha256HexNode', () => {
|
5
|
+
it('should return the correct SHA-256 hash', async () => {
|
6
|
+
const buffer = new TextEncoder().encode('Hello, World!');
|
7
|
+
const hash = await (0, getSha256HexNode_1.getSha256HexNode)(buffer);
|
8
|
+
expect(hash).toBe('dffd6021bb2bd5b0af676290809ec3a53191dd81c7f70a4b28688a362182986f');
|
9
|
+
});
|
10
|
+
});
|
@@ -1,6 +1,9 @@
|
|
1
1
|
import { IStreamOptions } from './IStreamOptions';
|
2
|
-
|
3
|
-
|
2
|
+
import { ServiceEnum } from './ServiceEnum';
|
3
|
+
export type IRocosSDKConfig = AuthorisedConfig & {
|
4
|
+
overrides?: Partial<Record<ServiceEnum, Partial<AuthorisedConfig>>>;
|
5
|
+
};
|
6
|
+
interface ConfigBase {
|
4
7
|
url: string;
|
5
8
|
token?: string;
|
6
9
|
refreshToken?: string;
|
@@ -8,12 +11,13 @@ interface IRocosSDKConfigBase {
|
|
8
11
|
port?: number;
|
9
12
|
insecure?: boolean;
|
10
13
|
}
|
11
|
-
export interface IRocosSDKConfigApp extends
|
14
|
+
export interface IRocosSDKConfigApp extends ConfigBase {
|
12
15
|
appId: string;
|
13
16
|
appKey: string;
|
14
17
|
}
|
15
|
-
export interface IRocosSDKConfigToken extends
|
18
|
+
export interface IRocosSDKConfigToken extends ConfigBase {
|
16
19
|
token: string;
|
17
20
|
refreshToken?: string;
|
18
21
|
}
|
22
|
+
export type AuthorisedConfig = IRocosSDKConfigApp | IRocosSDKConfigToken;
|
19
23
|
export {};
|
@@ -1,12 +1,12 @@
|
|
1
|
-
export type ResourceType = 'Manifest' | 'AgentGraph' | 'Javascript' | 'NodeDefinition';
|
1
|
+
export type ResourceType = 'Manifest' | 'AgentGraph' | 'Javascript' | 'NodeDefinition' | 'Other';
|
2
2
|
export interface Resource {
|
3
3
|
type: ResourceType;
|
4
4
|
data: string;
|
5
|
-
contentLink: string;
|
6
5
|
hash: string;
|
7
6
|
link: string;
|
8
|
-
|
9
|
-
size
|
7
|
+
contentLink?: string;
|
8
|
+
size?: number;
|
9
|
+
path?: string;
|
10
10
|
}
|
11
11
|
export interface Resources {
|
12
12
|
[key: string]: Resource;
|
@@ -16,21 +16,79 @@ export interface Author {
|
|
16
16
|
name: string;
|
17
17
|
email: string;
|
18
18
|
}
|
19
|
+
interface ResponseBase {
|
20
|
+
id: string;
|
21
|
+
createdBy: string;
|
22
|
+
updatedBy: string;
|
23
|
+
dateCreated: number;
|
24
|
+
dateUpdated: number;
|
25
|
+
}
|
19
26
|
export interface WorkflowBase {
|
20
27
|
flowId: string;
|
21
28
|
name: string;
|
22
|
-
description
|
29
|
+
description?: string;
|
23
30
|
resources?: Resources;
|
24
31
|
type?: string;
|
25
32
|
}
|
26
|
-
export interface Workflow extends WorkflowBase {
|
27
|
-
id: string;
|
33
|
+
export interface Workflow extends WorkflowBase, ResponseBase {
|
28
34
|
projectId: string;
|
29
|
-
createdBy: string;
|
30
|
-
updatedBy: string;
|
31
35
|
author: Author;
|
32
|
-
dateCreated: number;
|
33
|
-
dateUpdated: number;
|
34
36
|
latestVersion: string;
|
35
37
|
type: string;
|
36
38
|
}
|
39
|
+
export interface DeployedFlow {
|
40
|
+
flowId: string;
|
41
|
+
flow?: Workflow;
|
42
|
+
deployed?: boolean;
|
43
|
+
}
|
44
|
+
export interface WorkflowList extends Omit<WorkflowBase, 'resources'>, ResponseBase {
|
45
|
+
type?: 'cloud';
|
46
|
+
author: {
|
47
|
+
id: string;
|
48
|
+
name: string;
|
49
|
+
email: string;
|
50
|
+
} | Record<string, never>;
|
51
|
+
}
|
52
|
+
export interface WorkflowRevision {
|
53
|
+
id: string;
|
54
|
+
version: number;
|
55
|
+
authorName: string;
|
56
|
+
createdBy: string;
|
57
|
+
dateCreated: number;
|
58
|
+
description: string;
|
59
|
+
selected?: boolean;
|
60
|
+
}
|
61
|
+
export interface ManifestResource {
|
62
|
+
path: string;
|
63
|
+
provider: string;
|
64
|
+
runtime: string;
|
65
|
+
options: string[];
|
66
|
+
}
|
67
|
+
export interface ManifestArgument {
|
68
|
+
default?: string;
|
69
|
+
description?: string;
|
70
|
+
type: string;
|
71
|
+
}
|
72
|
+
export interface Manifest {
|
73
|
+
main: [string, string];
|
74
|
+
signals?: {
|
75
|
+
main: {
|
76
|
+
args: string[];
|
77
|
+
entry: [string, string];
|
78
|
+
};
|
79
|
+
};
|
80
|
+
arguments?: unknown | Record<string, ManifestArgument>;
|
81
|
+
resources: ManifestResource[];
|
82
|
+
mode?: 'cloud';
|
83
|
+
}
|
84
|
+
export interface CreateAssetResponse {
|
85
|
+
id: string;
|
86
|
+
name: string;
|
87
|
+
path: string;
|
88
|
+
dateCreated: number;
|
89
|
+
hash: string;
|
90
|
+
postContentLink: string;
|
91
|
+
type: 'file';
|
92
|
+
workflow: string;
|
93
|
+
}
|
94
|
+
export {};
|
@@ -1,12 +1,11 @@
|
|
1
1
|
import { EvaluatorService, ScheduleService } from '../services';
|
2
|
+
import { IBaseService, ServiceEnum } from '../models';
|
2
3
|
import { CallerServiceNode } from '../services/CallerServiceNode';
|
3
4
|
import { CommandServiceNode } from '../services/CommandServiceNode';
|
4
5
|
import { ControlServiceNode } from '../services/ControlServiceNode';
|
5
6
|
import { FileAccessorServiceNode } from '../services/FileAccessorServiceNode';
|
6
|
-
import { IBaseService } from '../models/IBaseService';
|
7
7
|
import { RocosSDK } from '../RocosSDK';
|
8
8
|
import { SearchServiceNode } from '../services/SearchServiceNode';
|
9
|
-
import { ServiceEnum } from '../models/ServiceEnum';
|
10
9
|
import { TelemetryServiceNode } from '../services/TelemetryServiceNode';
|
11
10
|
export declare class RocosSDKNode extends RocosSDK {
|
12
11
|
getService<T extends IBaseService>(name: ServiceEnum): T;
|