@dronedeploy/rocos-js-sdk 3.0.29 → 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 -2
- package/cjs/constants/api.js +2 -4
- 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 +2 -33
- package/cjs/services/MapService.js +1 -42
- 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 -2
- package/esm/constants/api.js +0 -2
- 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 +2 -33
- package/esm/services/MapService.js +2 -43
- 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
|
@@ -125,8 +125,6 @@ export declare const API_GRAPHS_MAPS_URL = "https://{url}/graphs/projects/{proje
|
|
|
125
125
|
export declare const API_GRAPHS_MAPS_DEPLOYED_URL = "https://{url}/graphs/projects/{projectId}/maps/deployed?callsign={callsign}";
|
|
126
126
|
export declare const API_GRAPHS_MAPS_MERGE_URL = "https://{url}/graphs/projects/{projectId}/maps/merge";
|
|
127
127
|
export declare const API_GRAPHS_MAP_ID_URL = "https://{url}/graphs/projects/{projectId}/maps/{mapId}";
|
|
128
|
-
export declare const API_GRAPHS_MAP_CONTENT_URL = "https://{url}/graphs/projects/{projectId}/maps/{mapId}/content";
|
|
129
|
-
export declare const API_GRAPHS_MAP_METADATA_URL = "https://{url}/graphs/projects/{projectId}/maps/{mapId}/metadata";
|
|
130
128
|
export declare const API_GRAPHS_MAPS_COPY_URL = "https://{url}/graphs/projects/{projectId}/maps/{mapId}/copy";
|
|
131
129
|
export declare const API_GRAPHS_MAPS_DEPLOY_URL = "https://{url}/graphs/projects/{projectId}/maps/{mapId}/deploy";
|
|
132
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_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.
|
|
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';
|
|
@@ -131,8 +131,6 @@ exports.API_GRAPHS_MAPS_URL = 'https://{url}/graphs/projects/{projectId}/maps';
|
|
|
131
131
|
exports.API_GRAPHS_MAPS_DEPLOYED_URL = 'https://{url}/graphs/projects/{projectId}/maps/deployed?callsign={callsign}';
|
|
132
132
|
exports.API_GRAPHS_MAPS_MERGE_URL = 'https://{url}/graphs/projects/{projectId}/maps/merge';
|
|
133
133
|
exports.API_GRAPHS_MAP_ID_URL = 'https://{url}/graphs/projects/{projectId}/maps/{mapId}';
|
|
134
|
-
exports.API_GRAPHS_MAP_CONTENT_URL = 'https://{url}/graphs/projects/{projectId}/maps/{mapId}/content';
|
|
135
|
-
exports.API_GRAPHS_MAP_METADATA_URL = 'https://{url}/graphs/projects/{projectId}/maps/{mapId}/metadata';
|
|
136
134
|
exports.API_GRAPHS_MAPS_COPY_URL = 'https://{url}/graphs/projects/{projectId}/maps/{mapId}/copy';
|
|
137
135
|
exports.API_GRAPHS_MAPS_DEPLOY_URL = 'https://{url}/graphs/projects/{projectId}/maps/{mapId}/deploy';
|
|
138
136
|
exports.API_GRAPHS_MAPS_GEOJSON_URL = 'https://{url}/graphs/projects/{projectId}/maps/{mapId}/geojson';
|