@dronedeploy/rocos-js-sdk 3.0.30 → 3.0.31-rc1
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/api/streams/telemetry/TelemetryStream.js +1 -0
- package/cjs/api/streams/telemetry/TelemetryStreamConnect.d.ts +26 -0
- package/cjs/api/streams/telemetry/TelemetryStreamConnect.js +145 -0
- package/cjs/constants/api.d.ts +0 -3
- package/cjs/constants/api.js +2 -5
- package/cjs/grpc/connect/teletubby_pb.d.ts +635 -0
- package/cjs/grpc/connect/teletubby_pb.js +196 -0
- package/cjs/models/IRocosSDKConfig.d.ts +2 -0
- package/cjs/models/IStreamConfig.d.ts +3 -0
- package/cjs/models/index.d.ts +0 -1
- package/cjs/models/index.js +0 -1
- package/cjs/services/MapService.d.ts +6 -58
- package/cjs/services/MapService.js +4 -68
- package/cjs/services/TelemetryService.js +5 -0
- package/esm/api/streams/telemetry/TelemetryStream.js +1 -0
- package/esm/api/streams/telemetry/TelemetryStreamConnect.d.ts +26 -0
- package/esm/api/streams/telemetry/TelemetryStreamConnect.js +141 -0
- package/esm/constants/api.d.ts +0 -3
- package/esm/constants/api.js +0 -3
- package/esm/grpc/connect/teletubby_pb.d.ts +635 -0
- package/esm/grpc/connect/teletubby_pb.js +193 -0
- package/esm/models/IRocosSDKConfig.d.ts +2 -0
- package/esm/models/IStreamConfig.d.ts +3 -0
- package/esm/models/index.d.ts +0 -1
- package/esm/models/index.js +0 -1
- package/esm/services/MapService.d.ts +6 -58
- package/esm/services/MapService.js +5 -69
- package/esm/services/TelemetryService.js +5 -0
- package/package.json +4 -1
- package/cjs/models/maps/MapContent.d.ts +0 -26
- package/cjs/models/maps/MapContent.js +0 -2
- package/esm/models/maps/MapContent.d.ts +0 -26
- package/esm/models/maps/MapContent.js +0 -1
|
@@ -15,6 +15,7 @@ class TelemetryStream extends TelemetryStreamAbstract_1.TelemetryStreamAbstract
|
|
|
15
15
|
const port = config.port ? `:${config.port}` : '';
|
|
16
16
|
const transport = new grpcweb_transport_1.GrpcWebFetchTransport({
|
|
17
17
|
baseUrl: `${protocol}://${this.url}${port}`,
|
|
18
|
+
format: config.grpcWebFormat,
|
|
18
19
|
});
|
|
19
20
|
this.client = new teletubby_pb_client_1.TelemetryGatewayClient(transport);
|
|
20
21
|
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { ITelemetryStreamConfig } from '../../../models';
|
|
2
|
+
import { TelemetryAckStatus, TelemetryQueryRequest, TelemetryRequest } from '../../../grpc/teletubby_pb';
|
|
3
|
+
import { TelemetryStreamAbstract } from './TelemetryStreamAbstract';
|
|
4
|
+
/**
|
|
5
|
+
* Connect-protocol telemetry receive stream. Mirrors TelemetryStream (grpc-web) but uses
|
|
6
|
+
* @connectrpc/connect. Selected when config.transport === 'connect'.
|
|
7
|
+
*
|
|
8
|
+
* The shared TelemetryStreamAbstract is typed with the protobuf-ts message types, while the
|
|
9
|
+
* Connect client uses @bufbuild/protobuf types. Both serialise to identical protobuf wire
|
|
10
|
+
* bytes, so we bridge across the boundary with toBinary/fromBinary rather than hand-written
|
|
11
|
+
* field mapping. This keeps all reconnect/subscription/heartbeat logic shared and untouched.
|
|
12
|
+
*/
|
|
13
|
+
export declare class TelemetryStreamConnect extends TelemetryStreamAbstract {
|
|
14
|
+
private client;
|
|
15
|
+
private abortController?;
|
|
16
|
+
constructor(config: ITelemetryStreamConfig);
|
|
17
|
+
protected stopInternal(): void;
|
|
18
|
+
protected registerReceiver(): () => void;
|
|
19
|
+
private onError;
|
|
20
|
+
private onEnd;
|
|
21
|
+
private getHeaders;
|
|
22
|
+
protected requestTelemetry(req: TelemetryRequest): Promise<void>;
|
|
23
|
+
protected requestTelemetryQuery(req: TelemetryQueryRequest): Promise<void>;
|
|
24
|
+
protected sendAcknowledgmentInternal(uid: string, status: TelemetryAckStatus, noRetry: boolean): boolean;
|
|
25
|
+
protected sendHeartbeat(): void;
|
|
26
|
+
}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TelemetryStreamConnect = void 0;
|
|
4
|
+
const connect_1 = require("@connectrpc/connect");
|
|
5
|
+
const models_1 = require("../../../models");
|
|
6
|
+
const teletubby_pb_1 = require("../../../grpc/connect/teletubby_pb");
|
|
7
|
+
const teletubby_pb_2 = require("../../../grpc/teletubby_pb");
|
|
8
|
+
const protobuf_1 = require("@bufbuild/protobuf");
|
|
9
|
+
const RocosLogger_1 = require("../../../logger/RocosLogger");
|
|
10
|
+
const TelemetryStreamAbstract_1 = require("./TelemetryStreamAbstract");
|
|
11
|
+
const connect_web_1 = require("@connectrpc/connect-web");
|
|
12
|
+
/**
|
|
13
|
+
* Connect-protocol telemetry receive stream. Mirrors TelemetryStream (grpc-web) but uses
|
|
14
|
+
* @connectrpc/connect. Selected when config.transport === 'connect'.
|
|
15
|
+
*
|
|
16
|
+
* The shared TelemetryStreamAbstract is typed with the protobuf-ts message types, while the
|
|
17
|
+
* Connect client uses @bufbuild/protobuf types. Both serialise to identical protobuf wire
|
|
18
|
+
* bytes, so we bridge across the boundary with toBinary/fromBinary rather than hand-written
|
|
19
|
+
* field mapping. This keeps all reconnect/subscription/heartbeat logic shared and untouched.
|
|
20
|
+
*/
|
|
21
|
+
class TelemetryStreamConnect extends TelemetryStreamAbstract_1.TelemetryStreamAbstract {
|
|
22
|
+
constructor(config) {
|
|
23
|
+
super(config);
|
|
24
|
+
this.logger = RocosLogger_1.RocosLogger.getInstance(`TelemetryStreamConnect(${this.identifier})`);
|
|
25
|
+
const protocol = config.insecure ? 'http' : 'https';
|
|
26
|
+
const port = config.port ? `:${config.port}` : '';
|
|
27
|
+
const transport = (0, connect_web_1.createConnectTransport)({
|
|
28
|
+
baseUrl: `${protocol}://${this.url}${port}`,
|
|
29
|
+
// Binary proto codec. The Connect default is JSON, which fails to decode real telemetry
|
|
30
|
+
// payloads containing control characters (verified against a live robot on dev) and is
|
|
31
|
+
// less efficient. Binary is required for correctness here.
|
|
32
|
+
useBinaryFormat: true,
|
|
33
|
+
});
|
|
34
|
+
this.client = (0, connect_1.createClient)(teletubby_pb_1.TelemetryGateway, transport);
|
|
35
|
+
}
|
|
36
|
+
stopInternal() {
|
|
37
|
+
if (this.abortController) {
|
|
38
|
+
this.logger.info('Starting stop stream process');
|
|
39
|
+
this.abortController.abort();
|
|
40
|
+
this.abortController = undefined;
|
|
41
|
+
this.logger.info('Finished stop stream process');
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
registerReceiver() {
|
|
45
|
+
this.logger.info('registerReceiver');
|
|
46
|
+
// Reset counter
|
|
47
|
+
this.receivedMessagesCount = 0;
|
|
48
|
+
const abortController = new AbortController();
|
|
49
|
+
this.abortController = abortController;
|
|
50
|
+
void (async () => {
|
|
51
|
+
try {
|
|
52
|
+
const stream = this.client.registerReceiver((0, protobuf_1.create)(teletubby_pb_1.RegistrationMessageSchema, {}), {
|
|
53
|
+
headers: this.getHeaders(this.projectId),
|
|
54
|
+
signal: abortController.signal,
|
|
55
|
+
});
|
|
56
|
+
for await (const msg of stream) {
|
|
57
|
+
// Bridge connect-es message -> protobuf-ts TelemetryMessage with a direct field map.
|
|
58
|
+
// (Avoids a per-message re-serialize/re-parse; created/seq are int64/uint64 -> string
|
|
59
|
+
// for protobuf-ts's long_type_string config.)
|
|
60
|
+
const ptMsg = teletubby_pb_2.TelemetryMessage.create({
|
|
61
|
+
source: msg.source,
|
|
62
|
+
callsign: msg.callsign,
|
|
63
|
+
payload: msg.payload,
|
|
64
|
+
uid: msg.uid,
|
|
65
|
+
created: msg.created.toString(),
|
|
66
|
+
seq: msg.seq.toString(),
|
|
67
|
+
meta: msg.meta,
|
|
68
|
+
});
|
|
69
|
+
this.onData(ptMsg, false);
|
|
70
|
+
}
|
|
71
|
+
this.onEnd(true);
|
|
72
|
+
}
|
|
73
|
+
catch (e) {
|
|
74
|
+
if (abortController.signal.aborted) {
|
|
75
|
+
this.logger.debug('registerReceiver', 'aborted');
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
void this.onError(e);
|
|
79
|
+
this.onEnd(false);
|
|
80
|
+
}
|
|
81
|
+
})();
|
|
82
|
+
this.listenMessagesAndRenew();
|
|
83
|
+
return () => {
|
|
84
|
+
abortController.abort();
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
async onError(e) {
|
|
88
|
+
this.logger.error(`Telemetry Stream Error: ${e}, SubscriberId: ${this.subscriberId}`);
|
|
89
|
+
this.subscriberStatus = models_1.SubscriberStatusEnum.ERROR;
|
|
90
|
+
this.statusStream$.next(this.subscriberStatus);
|
|
91
|
+
}
|
|
92
|
+
onEnd(ok) {
|
|
93
|
+
this.logger.debug('registerReceiver', 'end');
|
|
94
|
+
if (ok) {
|
|
95
|
+
this.stopInternal();
|
|
96
|
+
this.registerReceiver();
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
getHeaders(projectId) {
|
|
100
|
+
const result = {
|
|
101
|
+
// Canary marker: the istio VirtualService routes only requests carrying this header to
|
|
102
|
+
// the Connect-Go handler (:8083), leaving existing grpc-web traffic untouched. Harmless
|
|
103
|
+
// when the backend does a full cutover or is hit directly. Must match the chart's
|
|
104
|
+
// virtualService.routes.connect.matchHeader.
|
|
105
|
+
'x-tt-connect': '1',
|
|
106
|
+
};
|
|
107
|
+
if (this.token) {
|
|
108
|
+
result.authorization = this.token;
|
|
109
|
+
}
|
|
110
|
+
if (projectId) {
|
|
111
|
+
result['r-p'] = projectId;
|
|
112
|
+
}
|
|
113
|
+
return result;
|
|
114
|
+
}
|
|
115
|
+
async requestTelemetry(req) {
|
|
116
|
+
this.logger.debug('Sending telemetry request');
|
|
117
|
+
try {
|
|
118
|
+
const connectReq = (0, protobuf_1.fromBinary)(teletubby_pb_1.TelemetryRequestSchema, teletubby_pb_2.TelemetryRequest.toBinary(req));
|
|
119
|
+
await this.client.requestTelemetry(connectReq, { headers: this.getHeaders(this.projectId) });
|
|
120
|
+
}
|
|
121
|
+
catch (e) {
|
|
122
|
+
this.logger.error('error requestTelemetry ', e);
|
|
123
|
+
throw e;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
async requestTelemetryQuery(req) {
|
|
127
|
+
this.logger.debug('Requesting telemetry with query');
|
|
128
|
+
try {
|
|
129
|
+
const connectReq = (0, protobuf_1.fromBinary)(teletubby_pb_1.TelemetryQueryRequestSchema, teletubby_pb_2.TelemetryQueryRequest.toBinary(req));
|
|
130
|
+
await this.client.requestTelemetryQuery(connectReq, { headers: this.getHeaders(this.projectId) });
|
|
131
|
+
}
|
|
132
|
+
catch (e) {
|
|
133
|
+
this.logger.error('error requestTelemetryQuery ', e);
|
|
134
|
+
throw e;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
sendAcknowledgmentInternal(uid, status, noRetry) {
|
|
138
|
+
this.logger.error('Error can not send Acknowledgment on connect client', { uid, status, noRetry });
|
|
139
|
+
return false;
|
|
140
|
+
}
|
|
141
|
+
sendHeartbeat() {
|
|
142
|
+
// Server-streaming Connect has no client->server channel for heartbeats.
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
exports.TelemetryStreamConnect = TelemetryStreamConnect;
|
package/cjs/constants/api.d.ts
CHANGED
|
@@ -122,12 +122,9 @@ export declare const API_DD_INTEGRATION_ISSUES_URL = "https://{url}/projects/{pr
|
|
|
122
122
|
export declare const API_DD_INTEGRATION_LOCATIONS_URL = "https://{url}/projects/{projectId}/dd/locations";
|
|
123
123
|
export declare const API_DD_INTEGRATION_LEVELS_URL = "https://{url}/projects/{projectId}/dd/levels";
|
|
124
124
|
export declare const API_GRAPHS_MAPS_URL = "https://{url}/graphs/projects/{projectId}/maps";
|
|
125
|
-
export declare const API_GRAPHS_MAPS_NEW_URL = "https://{url}/graphs/projects/{projectId}/maps/new";
|
|
126
125
|
export declare const API_GRAPHS_MAPS_DEPLOYED_URL = "https://{url}/graphs/projects/{projectId}/maps/deployed?callsign={callsign}";
|
|
127
126
|
export declare const API_GRAPHS_MAPS_MERGE_URL = "https://{url}/graphs/projects/{projectId}/maps/merge";
|
|
128
127
|
export declare const API_GRAPHS_MAP_ID_URL = "https://{url}/graphs/projects/{projectId}/maps/{mapId}";
|
|
129
|
-
export declare const API_GRAPHS_MAP_CONTENT_URL = "https://{url}/graphs/projects/{projectId}/maps/{mapId}/content";
|
|
130
|
-
export declare const API_GRAPHS_MAP_METADATA_URL = "https://{url}/graphs/projects/{projectId}/maps/{mapId}/metadata";
|
|
131
128
|
export declare const API_GRAPHS_MAPS_COPY_URL = "https://{url}/graphs/projects/{projectId}/maps/{mapId}/copy";
|
|
132
129
|
export declare const API_GRAPHS_MAPS_DEPLOY_URL = "https://{url}/graphs/projects/{projectId}/maps/{mapId}/deploy";
|
|
133
130
|
export declare const API_GRAPHS_MAPS_GEOJSON_URL = "https://{url}/graphs/projects/{projectId}/maps/{mapId}/geojson";
|
package/cjs/constants/api.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.API_PROJECT_ROBOT_EVENT_URL = 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_ACCOUNT_ROBOT_URL = exports.API_PROJECT_ROBOT_URL = exports.API_PROJECT_MAPPED_ASSET_PATH_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_EXTERNAL_PROJECTS_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_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_OTP_AUTH_URL = exports.API_OTP_URL = exports.API_USER_TOKEN_URL = exports.API_USER_URL = exports.API_ADMIN_USER_INVITATION_URL = exports.API_APPLICATION_AUTH_URL = void 0;
|
|
4
4
|
exports.API_PROJECT_STREAM_DATA_URL = exports.API_PROJECT_STREAM_ID_URL = exports.API_PROJECT_STREAM_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_ENVIRONMENT_URL = exports.API_PROJECT_DEFINITION_LIBRARY = exports.API_PROJECT_DEFINITION_IMPORT_LIBRARY = exports.API_PROJECT_DEFINITION_IMPORT = exports.API_PROJECT_DEFINITION_EXPORT = 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_CONFIGS_CONNECTION_URL = exports.API_PROJECT_ROBOT_CONFIGS_CONNECTIONS_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 = void 0;
|
|
5
|
-
exports.API_PROJECT_ROBOT_DEPLOYED_WORKFLOW_URL = exports.API_PROJECT_PROFILE_DEPLOYED_WORKFLOW_URL = exports.API_PROJECT_ROBOT_NO_PROFILE_DEPLOYMENTS_URL = exports.API_PROJECT_PROFILE_DEPLOYMENTS_URL = exports.API_PROJECT_ROBOT_DEPLOYMENTS_URL = exports.API_PROJECT_WORKFLOW_ASSET_ID_URL = exports.API_PROJECT_WORKFLOW_ASSET_URL = exports.API_PROJECT_WORKFLOW_ID_URL = exports.API_PROJECT_WORKFLOW_URL = exports.API_GRAPHS_ASSETS_URL = exports.API_GRAPHS_ASSETS_UPLOAD_URL = exports.API_GRAPHS_TARGETS_URL = exports.API_GRAPHS_TARGET_UPLOAD_URL = exports.API_GRAPHS_OBSERVATION_KEYS_URL = exports.API_GRAPHS_OBSERVATIONS_URL = exports.API_GRAPHS_PANORAMA_OBSERVATIONS_URL = exports.API_GRAPHS_PANORAMA = exports.API_GRAPHS_MAPS_GEOJSON_URL = exports.API_GRAPHS_MAPS_DEPLOY_URL = exports.API_GRAPHS_MAPS_COPY_URL = exports.
|
|
6
|
-
exports.API_PROJECT_ROBOT_TAG_URL = exports.API_PROJECT_PROFILE_TAG_URL = exports.API_PROJECT_PROFILE_TAGS_URL = exports.API_PROJECT_TAG_ROBOTS_URL = exports.API_PROJECT_ROBOT_TAGS_URL = exports.API_DEVICE_CREDENTIALS_AUTH_URL = exports.API_DEVICE_CREDENTIALS_URL = exports.API_LINKED_PROJECT_URL =
|
|
5
|
+
exports.API_PROJECT_WORKFLOW_IMPORT_URL = exports.API_PROJECT_WORKFLOW_EXPORT_URL = exports.API_PROJECT_WORKFLOW_AFFECTED_URL = exports.API_PROJECT_ROBOT_DEPLOYED_WORKFLOW_URL = exports.API_PROJECT_PROFILE_DEPLOYED_WORKFLOW_URL = exports.API_PROJECT_ROBOT_NO_PROFILE_DEPLOYMENTS_URL = exports.API_PROJECT_PROFILE_DEPLOYMENTS_URL = exports.API_PROJECT_ROBOT_DEPLOYMENTS_URL = exports.API_PROJECT_WORKFLOW_ASSET_ID_URL = exports.API_PROJECT_WORKFLOW_ASSET_URL = exports.API_PROJECT_WORKFLOW_ID_URL = exports.API_PROJECT_WORKFLOW_URL = exports.API_GRAPHS_ASSETS_URL = exports.API_GRAPHS_ASSETS_UPLOAD_URL = exports.API_GRAPHS_TARGETS_URL = exports.API_GRAPHS_TARGET_UPLOAD_URL = exports.API_GRAPHS_OBSERVATION_KEYS_URL = exports.API_GRAPHS_OBSERVATIONS_URL = exports.API_GRAPHS_PANORAMA_OBSERVATIONS_URL = exports.API_GRAPHS_PANORAMA = exports.API_GRAPHS_MAPS_GEOJSON_URL = exports.API_GRAPHS_MAPS_DEPLOY_URL = exports.API_GRAPHS_MAPS_COPY_URL = exports.API_GRAPHS_MAP_ID_URL = exports.API_GRAPHS_MAPS_MERGE_URL = exports.API_GRAPHS_MAPS_DEPLOYED_URL = exports.API_GRAPHS_MAPS_URL = exports.API_DD_INTEGRATION_LEVELS_URL = exports.API_DD_INTEGRATION_LOCATIONS_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 = exports.API_PROJECT_STREAM_CALLSIGN_URL = void 0;
|
|
6
|
+
exports.API_PROJECT_ROBOT_TAG_URL = exports.API_PROJECT_PROFILE_TAG_URL = exports.API_PROJECT_PROFILE_TAGS_URL = exports.API_PROJECT_TAG_ROBOTS_URL = exports.API_PROJECT_ROBOT_TAGS_URL = exports.API_DEVICE_CREDENTIALS_AUTH_URL = exports.API_DEVICE_CREDENTIALS_URL = exports.API_LINKED_PROJECT_URL = void 0;
|
|
7
7
|
exports.API_APPLICATION_AUTH_URL = 'https://{url}/applications/auth';
|
|
8
8
|
exports.API_ADMIN_USER_INVITATION_URL = 'https://{url}/admin/users/invitations';
|
|
9
9
|
exports.API_USER_URL = 'https://{url}/users';
|
|
@@ -128,12 +128,9 @@ exports.API_DD_INTEGRATION_ISSUES_URL = 'https://{url}/projects/{projectId}/dd/i
|
|
|
128
128
|
exports.API_DD_INTEGRATION_LOCATIONS_URL = 'https://{url}/projects/{projectId}/dd/locations';
|
|
129
129
|
exports.API_DD_INTEGRATION_LEVELS_URL = 'https://{url}/projects/{projectId}/dd/levels';
|
|
130
130
|
exports.API_GRAPHS_MAPS_URL = 'https://{url}/graphs/projects/{projectId}/maps';
|
|
131
|
-
exports.API_GRAPHS_MAPS_NEW_URL = 'https://{url}/graphs/projects/{projectId}/maps/new';
|
|
132
131
|
exports.API_GRAPHS_MAPS_DEPLOYED_URL = 'https://{url}/graphs/projects/{projectId}/maps/deployed?callsign={callsign}';
|
|
133
132
|
exports.API_GRAPHS_MAPS_MERGE_URL = 'https://{url}/graphs/projects/{projectId}/maps/merge';
|
|
134
133
|
exports.API_GRAPHS_MAP_ID_URL = 'https://{url}/graphs/projects/{projectId}/maps/{mapId}';
|
|
135
|
-
exports.API_GRAPHS_MAP_CONTENT_URL = 'https://{url}/graphs/projects/{projectId}/maps/{mapId}/content';
|
|
136
|
-
exports.API_GRAPHS_MAP_METADATA_URL = 'https://{url}/graphs/projects/{projectId}/maps/{mapId}/metadata';
|
|
137
134
|
exports.API_GRAPHS_MAPS_COPY_URL = 'https://{url}/graphs/projects/{projectId}/maps/{mapId}/copy';
|
|
138
135
|
exports.API_GRAPHS_MAPS_DEPLOY_URL = 'https://{url}/graphs/projects/{projectId}/maps/{mapId}/deploy';
|
|
139
136
|
exports.API_GRAPHS_MAPS_GEOJSON_URL = 'https://{url}/graphs/projects/{projectId}/maps/{mapId}/geojson';
|