bdy 1.23.1-dev → 1.23.3-dev
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/distTs/package.json +1 -1
- package/distTs/src/agent/agent.js +31 -2
- package/distTs/src/agent/manager.js +47 -20
- package/distTs/src/agent/socket/client.js +24 -3
- package/distTs/src/texts.js +11 -10
- package/distTs/src/types/tunnel.js +29 -1
- package/package.json +1 -1
package/distTs/package.json
CHANGED
|
@@ -251,6 +251,31 @@ class Agent extends events_1.default {
|
|
|
251
251
|
this.socket.fetch(!this.disabled, '', null, false, this.getTunnelsUpdate(), true);
|
|
252
252
|
}
|
|
253
253
|
}
|
|
254
|
+
// Replaces the request in `action` with what came of it. A terminal status doubles as
|
|
255
|
+
// the ack - the request is gone either way, and the outcome says more than an empty
|
|
256
|
+
// field. Queued rather than sent here so it rides on the next fetch, which for every
|
|
257
|
+
// caller but STARTED is the ack they were about to send anyway.
|
|
258
|
+
//
|
|
259
|
+
// Best effort by design: a status lost to a socket that dropped mid-flight leaves the
|
|
260
|
+
// previous value in place, which is why the front reads STARTED on an offline agent as
|
|
261
|
+
// an unknown outcome rather than as an update still running.
|
|
262
|
+
reportUpdateStatus(status) {
|
|
263
|
+
if (this.socket)
|
|
264
|
+
this.socket.setPendingAction(status);
|
|
265
|
+
}
|
|
266
|
+
// For a status with no ack to ride on - STARTED, reported while the download is still
|
|
267
|
+
// running. Passes null so that if the status has somehow already gone out, this does
|
|
268
|
+
// not overwrite it with an empty action.
|
|
269
|
+
flushUpdateStatus() {
|
|
270
|
+
if (this.socket) {
|
|
271
|
+
this.socket.fetch(!this.disabled, null, null, false, this.getTunnelsUpdate(), true);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
// Matches on the two request values exactly, which is what lets an update status share
|
|
275
|
+
// the field: TUNNEL_AGENT_UPDATE_STATUS values fall through here and do nothing, so an
|
|
276
|
+
// outcome we reported ourselves is never read back as a fresh request. Anything unknown
|
|
277
|
+
// is left alone rather than acked, so a value a newer front understands is still there
|
|
278
|
+
// when the agent is upgraded.
|
|
254
279
|
async makeAction(action) {
|
|
255
280
|
if (action === tunnel_1.TUNNEL_AGENT_ACTION.DELETE) {
|
|
256
281
|
if (this.manager) {
|
|
@@ -260,9 +285,13 @@ class Agent extends events_1.default {
|
|
|
260
285
|
}
|
|
261
286
|
if (action === tunnel_1.TUNNEL_AGENT_ACTION.UPDATE) {
|
|
262
287
|
// Without a manager this is a foreground tunnel, not an installed agent, so
|
|
263
|
-
// there is no binary of ours to replace - ack so it is not asked again
|
|
264
|
-
|
|
288
|
+
// there is no binary of ours to replace - ack so it is not asked again, and say
|
|
289
|
+
// why: an ack on its own would read on the front as a request that vanished.
|
|
290
|
+
if (!this.manager) {
|
|
291
|
+
logger_1.default.error(texts_1.LOG_AGENT_UPDATE_NOT_AN_AGENT);
|
|
292
|
+
this.reportUpdateStatus(tunnel_1.TUNNEL_AGENT_UPDATE_STATUS.UNSUPPORTED);
|
|
265
293
|
return this.ackAction();
|
|
294
|
+
}
|
|
266
295
|
// Deliberately not awaited. Callers use this promise to gate tunnel reconciliation
|
|
267
296
|
// (see _onSocketFetch), and the swap downloads a whole release - awaiting it would
|
|
268
297
|
// leave tunnels unreconciled for the duration, including when the update then
|
|
@@ -138,32 +138,46 @@ class AgentManagerClass {
|
|
|
138
138
|
if (this.updating || this.exiting)
|
|
139
139
|
return;
|
|
140
140
|
this.updating = true;
|
|
141
|
+
// Every path that gives up reports why as well as acking: the ack alone clears the
|
|
142
|
+
// request, which on the front is indistinguishable from an update that never ran.
|
|
143
|
+
const report = (status) => {
|
|
144
|
+
this.agent?.reportUpdateStatus(status);
|
|
145
|
+
return this.agent?.ackAction();
|
|
146
|
+
};
|
|
141
147
|
try {
|
|
142
148
|
if (this.system.isStandaloneInstall()) {
|
|
143
149
|
logger_1.default.error(texts_1.LOG_AGENT_UPDATE_STANDALONE);
|
|
144
|
-
return
|
|
150
|
+
return report(tunnel_1.TUNNEL_AGENT_UPDATE_STATUS.UNSUPPORTED);
|
|
145
151
|
}
|
|
146
152
|
const hasAdminRights = await this.system.hasAdminRights();
|
|
147
153
|
if (!hasAdminRights) {
|
|
148
154
|
logger_1.default.error(texts_1.LOG_AGENT_UPDATE_NO_ADMIN);
|
|
149
|
-
return
|
|
155
|
+
return report(tunnel_1.TUNNEL_AGENT_UPDATE_STATUS.NO_ADMIN);
|
|
150
156
|
}
|
|
151
157
|
const current = (0, utils_1.getVersion)();
|
|
152
158
|
const latest = await (0, utils_1.getLatestVersion)();
|
|
153
159
|
if (!latest || latest === '0.0.0' || latest === current) {
|
|
154
160
|
logger_1.default.info((0, texts_1.LOG_AGENT_UPDATE_NOT_NEEDED)(current));
|
|
155
|
-
|
|
161
|
+
// Nothing to do is not a failure, and showing it as one would make an update of
|
|
162
|
+
// an already current agent look broken
|
|
163
|
+
return report(tunnel_1.TUNNEL_AGENT_UPDATE_STATUS.NOT_NEEDED);
|
|
156
164
|
}
|
|
157
165
|
logger_1.default.info((0, texts_1.LOG_AGENT_UPDATE_REQUESTED)(current, latest));
|
|
166
|
+
// Reported before the download rather than at the top of the method: everything
|
|
167
|
+
// above this line ends in 'could not' or 'need not', not in an update under way.
|
|
168
|
+
// Flushed on its own rather than with an ack, because the outcome is not known yet
|
|
169
|
+
// - this is the value that stays behind if the restart never lands.
|
|
170
|
+
this.agent?.reportUpdateStatus(tunnel_1.TUNNEL_AGENT_UPDATE_STATUS.STARTED);
|
|
171
|
+
this.agent?.flushUpdateStatus();
|
|
158
172
|
const target = latest.match(/^\d+\.\d+\.\d+/);
|
|
159
173
|
if (!target) {
|
|
160
174
|
logger_1.default.error(texts_1.LOG_AGENT_UPDATE_FAILED);
|
|
161
|
-
return
|
|
175
|
+
return report(tunnel_1.TUNNEL_AGENT_UPDATE_STATUS.FAILED);
|
|
162
176
|
}
|
|
163
177
|
const swapped = await this.system.swapBinaryToVersion(target[0]);
|
|
164
178
|
if (!swapped) {
|
|
165
179
|
logger_1.default.error((0, texts_1.LOG_AGENT_UPDATE_BINARY_INVALID)(latest));
|
|
166
|
-
return
|
|
180
|
+
return report(tunnel_1.TUNNEL_AGENT_UPDATE_STATUS.FAILED);
|
|
167
181
|
}
|
|
168
182
|
try {
|
|
169
183
|
this.system.beginUpdateProbation(current, latest);
|
|
@@ -174,14 +188,16 @@ class AgentManagerClass {
|
|
|
174
188
|
logger_1.default.error(err);
|
|
175
189
|
}
|
|
176
190
|
logger_1.default.info((0, texts_1.LOG_AGENT_UPDATE_SWAPPED)(latest));
|
|
177
|
-
//
|
|
178
|
-
//
|
|
191
|
+
// Nothing more to report from here: the replacement reports FINISHED on start,
|
|
192
|
+
// which is also what acks the request. Reporting an outcome now would claim one
|
|
193
|
+
// even if the restart never lands - STARTED is exactly the value that should be
|
|
194
|
+
// left behind if it does not.
|
|
179
195
|
this.shutdown();
|
|
180
196
|
}
|
|
181
197
|
catch (err) {
|
|
182
198
|
logger_1.default.error(texts_1.LOG_AGENT_UPDATE_FAILED);
|
|
183
199
|
logger_1.default.error(err);
|
|
184
|
-
|
|
200
|
+
report(tunnel_1.TUNNEL_AGENT_UPDATE_STATUS.FAILED);
|
|
185
201
|
}
|
|
186
202
|
finally {
|
|
187
203
|
this.updating = false;
|
|
@@ -193,30 +209,41 @@ class AgentManagerClass {
|
|
|
193
209
|
try {
|
|
194
210
|
this.agent = await getApiBuddy().fetchAgent(this.id || '', this.host || '', this.token || '');
|
|
195
211
|
this.agent.manager = this;
|
|
212
|
+
// Read before start(), so the outcome takes over the action that fetch would
|
|
213
|
+
// otherwise have cleared - the only chance to report it, since nothing else runs
|
|
214
|
+
// between here and the ack. Reaching the api is what makes an update stick, and
|
|
215
|
+
// the fetch above is that proof.
|
|
216
|
+
const probation = this.system.loadUpdateProbation();
|
|
217
|
+
if (probation) {
|
|
218
|
+
this.agent.reportUpdateStatus(tunnel_1.TUNNEL_AGENT_UPDATE_STATUS.FINISHED);
|
|
219
|
+
}
|
|
220
|
+
// A rollback could not report for itself: it happens before there is a socket.
|
|
221
|
+
// Reporting it here also clears the request, which the restored binary needs
|
|
222
|
+
// either way - the action is still set, and without this it would start the same
|
|
223
|
+
// failing update again right here.
|
|
224
|
+
const pendingAck = this.system.loadPendingAck();
|
|
225
|
+
if (pendingAck) {
|
|
226
|
+
this.system.clearPendingAck();
|
|
227
|
+
this.agent.reportUpdateStatus(tunnel_1.TUNNEL_AGENT_UPDATE_STATUS.ROLLED_BACK);
|
|
228
|
+
logger_1.default.error((0, texts_1.LOG_AGENT_UPDATE_ROLLBACK_ACKED)(pendingAck));
|
|
229
|
+
}
|
|
196
230
|
this.agent.startRefreshingConfiguration((success) => {
|
|
197
231
|
if (success)
|
|
198
232
|
this.status = tunnel_1.TUNNEL_AGENT_STATUS.ENABLED;
|
|
199
233
|
else
|
|
200
234
|
this.status = tunnel_1.TUNNEL_AGENT_STATUS.FETCH_FAILED;
|
|
201
235
|
});
|
|
236
|
+
// Its fetch sends whichever status was queued above in place of the '' it would
|
|
237
|
+
// otherwise have sent, so reporting the outcome and clearing the request are the
|
|
238
|
+
// same write and neither case needs an ackAction of its own
|
|
202
239
|
await this.agent.start();
|
|
203
240
|
this.status = tunnel_1.TUNNEL_AGENT_STATUS.ENABLED;
|
|
204
|
-
//
|
|
205
|
-
//
|
|
206
|
-
const probation = this.system.loadUpdateProbation();
|
|
241
|
+
// Drop the previous binary and close the probation window so later restarts are
|
|
242
|
+
// not counted against it
|
|
207
243
|
if (probation) {
|
|
208
244
|
this.system.commitUpdate();
|
|
209
245
|
logger_1.default.info((0, texts_1.LOG_AGENT_UPDATE_COMMITTED)(probation.to));
|
|
210
246
|
}
|
|
211
|
-
// A rollback could not ack for itself: it happens before there is a socket. The
|
|
212
|
-
// action is still set, so without this the restored binary would start the same
|
|
213
|
-
// failing update again right here.
|
|
214
|
-
const pendingAck = this.system.loadPendingAck();
|
|
215
|
-
if (pendingAck) {
|
|
216
|
-
this.system.clearPendingAck();
|
|
217
|
-
this.agent.ackAction();
|
|
218
|
-
logger_1.default.error((0, texts_1.LOG_AGENT_UPDATE_ROLLBACK_ACKED)(pendingAck));
|
|
219
|
-
}
|
|
220
247
|
return;
|
|
221
248
|
}
|
|
222
249
|
catch (err) {
|
|
@@ -23,16 +23,30 @@ class AgentSocketClient extends events_1.default {
|
|
|
23
23
|
connected;
|
|
24
24
|
lastUpdate;
|
|
25
25
|
tunnelRequests;
|
|
26
|
+
pendingAction;
|
|
26
27
|
socketEmit(msg, data, forceThrough = false) {
|
|
27
28
|
if (!this.socket || !forceThrough && !this.connected)
|
|
28
|
-
return;
|
|
29
|
+
return false;
|
|
29
30
|
logger_1.default.debug(`AGENT SOCKET CLIENT EMIT: ${msg}`);
|
|
30
31
|
logger_1.default.debug(data);
|
|
31
32
|
this.socket.emit(msg, data);
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
// An update outcome to write into `action`, held until a fetch actually goes out. The
|
|
36
|
+
// agent has no field of its own for this, so it takes over the next fetch's action
|
|
37
|
+
// whatever that fetch was going to send - every caller either clears the action or
|
|
38
|
+
// leaves it alone, and neither is worth more than reporting the outcome.
|
|
39
|
+
//
|
|
40
|
+
// Queued rather than emitted directly for two reasons: a status set while the socket is
|
|
41
|
+
// down survives to the next fetch instead of being written into nothing, and a terminal
|
|
42
|
+
// status replaces the ack that would have gone out anyway, so both travel in one emit.
|
|
43
|
+
setPendingAction(action) {
|
|
44
|
+
this.pendingAction = action;
|
|
32
45
|
}
|
|
33
46
|
fetch(activate = true, action = null, disabled = null, resetFirstHeard = false, tunnels, forceThrough = false, timeout = 0) {
|
|
34
47
|
setTimeout(() => {
|
|
35
|
-
this.
|
|
48
|
+
const pending = this.pendingAction;
|
|
49
|
+
const sent = this.socketEmit('fetchTunnelAgent', {
|
|
36
50
|
id: this.id,
|
|
37
51
|
token: this.token,
|
|
38
52
|
hostname: this.hostname,
|
|
@@ -40,11 +54,17 @@ class AgentSocketClient extends events_1.default {
|
|
|
40
54
|
user: this.user,
|
|
41
55
|
version: this.version,
|
|
42
56
|
activate,
|
|
43
|
-
action,
|
|
57
|
+
action: pending !== null ? pending : action,
|
|
44
58
|
disabled,
|
|
45
59
|
resetFirstHeard,
|
|
46
60
|
tunnels,
|
|
47
61
|
}, forceThrough);
|
|
62
|
+
// Only drop the status this emit carried - a newer one set in the meantime has not
|
|
63
|
+
// been sent yet. Not resent afterwards either: the front overwrites the field when
|
|
64
|
+
// it requests the next update, and an agent still repeating the previous outcome
|
|
65
|
+
// would undo that.
|
|
66
|
+
if (sent && this.pendingAction === pending)
|
|
67
|
+
this.pendingAction = null;
|
|
48
68
|
}, timeout);
|
|
49
69
|
}
|
|
50
70
|
update(activate, tunnels, force = false) {
|
|
@@ -129,6 +149,7 @@ class AgentSocketClient extends events_1.default {
|
|
|
129
149
|
this.user = (0, utils_1.getCurrentUser)();
|
|
130
150
|
this.lastUpdate = null;
|
|
131
151
|
this.tunnelRequests = 0;
|
|
152
|
+
this.pendingAction = null;
|
|
132
153
|
setInterval(() => {
|
|
133
154
|
this.tunnelRequests = 0;
|
|
134
155
|
}, MAX_REQUESTS_SYNC_WINDOW);
|
package/distTs/src/texts.js
CHANGED
|
@@ -9,16 +9,16 @@ exports.OPTION_PIPELINE_RUN_TAG = exports.OPTION_PIPELINE_RUN_BRANCH = exports.O
|
|
|
9
9
|
exports.OPTION_WHITELIST = exports.OPTION_REST_API_PER_PAGE = exports.OPTION_REST_API_PAGE = exports.OPTION_REST_API_PROJECT = exports.OPTION_REST_API_WORKSPACE = exports.OPTION_FORMAT_JSONL = exports.OPTION_FORMAT = exports.OPTION_VERSION = exports.OPTION_PIPELINE_RUN_NO_FOLLOW = exports.OPTION_PIPELINE_RUN_NO_WAIT = exports.OPTION_PIPELINE_RUN_ACTION = exports.OPTION_REST_API_TOKEN = exports.OPTION_ARTIFACT_DOWNLOAD_REPLACE = exports.OPTION_ARTIFACT_DOWNLOAD_MERGE = exports.OPTION_ARTIFACT_PUBLISH_OVERWRITE_VERSION = exports.OPTION_ARTIFACT_VERSION_AGENT_NOTE = exports.OPTION_ARTIFACT_VERSION_NOTE = exports.OPTION_ARTIFACT_VERSION_FROM = exports.OPTION_ARTIFACT_PUBLISH_CREATE = exports.OPTION_ARTIFACT_ID = exports.OPTION_ARTIFACT_DOWNLOAD_PATH = exports.OPTION_ARTIFACT_PUBLISH_PATH = exports.OPTION_PIPELINE_RUN_ACTION_ID = exports.OPTION_PIPELINE_RUN_ID = exports.OPTION_PIPELINE_YAML = exports.TXT_PIPELINE_DELETED = exports.TXT_PIPELINE_DELETE_CONFIRM = exports.TXT_PIPELINE_UPDATED = exports.TXT_PIPELINE_CREATED = exports.OPTION_PIPELINE_NAME = exports.OPTION_PIPELINE_IDENTIFIER = exports.OPTION_PIPELINE_RUN_ARTIFACT = exports.OPTION_PIPELINE_RUN_ENVIRONMENT = exports.OPTION_PIPELINE_RUN_DELAY = exports.OPTION_PIPELINE_RUN_PAYLOAD = exports.ERR_RUN_PAYLOAD_TOO_MANY_FILES = exports.ERR_RUN_PAYLOAD_NOT_UPLOADED = exports.ERR_RUN_PAYLOAD_TOO_LARGE = exports.ERR_RUN_PAYLOAD_NO_ENTRIES = exports.ERR_RUN_VAR_FILE_INVALID = exports.ERR_RUN_VAR_FILE_NOT_FOUND = exports.OPTION_RUN_SINGLE_VAR_FILE = exports.OPTION_RUN_VAR_FILE = exports.OPTION_RUN_VAR = exports.OPTION_PIPELINE_RUN_PRIORITY = exports.OPTION_PIPELINE_RUN_CLEAR_CACHE = exports.OPTION_PIPELINE_RUN_REFRESH = exports.OPTION_PIPELINE_RUN_COMMENT = exports.OPTION_PIPELINE_RUN_PULL_REQUEST = exports.OPTION_PIPELINE_RUN_REVISION = void 0;
|
|
10
10
|
exports.OPTION_COMPARE_COOKIE = exports.OPTION_COMPARE_IGNORE = exports.OPTION_COMPARE_IGNORE_URLS = exports.OPTION_COMPARE_DRY_RUN = exports.OPTION_COMPARE_URLS_FILE = exports.OPTION_COMPARE_SITEMAP = exports.OPTION_COMPARE_URLS = exports.OPTION_COMPARE_RESPECT_ROBOTS = exports.OPTION_COMPARE_FOLLOW = exports.OPTION_EXEC_PARALLEL = exports.OPTION_EXEC_ONE_BY_ONE = exports.OPTION_EXEC_SKIP_DISCOVERY = exports.OPTION_EXEC_COMMAND = exports.OPTION_AGENT_DEBUG = exports.OPTION_AGENT_PORT = exports.OPTION_AGENT_TAG = exports.OPTION_AGENT_TUNNELING = exports.OPTION_AGENT_PROXY = exports.OPTION_AGENT_TARGET = exports.OPTION_PASS = exports.OPTION_APP = exports.OPTION_USER = exports.OPTION_AGENT_TOKEN = exports.OPTION_AGENT_START = exports.OPTION_AGENT_ID = exports.OPTION_ID = exports.OPTION_NAME = exports.OPTION_TARGET = exports.OPTION_TLS_TERMINATE = exports.OPTION_TLS_CA = exports.OPTION_TLS_CERT = exports.OPTION_TLS_KEY = exports.OPTION_HTTP_CIRCUIT_BREAKER = exports.OPTION_HTTP_COMPRESSION = exports.OPTION_HTTP_2 = exports.OPTION_HTTP_VERIFY = exports.OPTION_HTTP_LOG = exports.OPTION_HTTP_AUTH_BUDDY = exports.OPTION_HTTP_AUTH = exports.OPTION_HTTP_HOST = exports.OPTION_CONFIRM_DOMAIN_BUY = exports.OPTION_CONFIRM_FORCE = exports.OPTION_FORCE = exports.OPTION_TOKEN = exports.OPTION_TIMEOUT = exports.OPTION_FOLLOW = exports.OPTION_SERVE = exports.OPTION_HEADER_USER_AGENT = exports.OPTION_RESPONSE_HEADER = exports.OPTION_HEADER = void 0;
|
|
11
11
|
exports.LOG_DISABLING_AGENT_TUNNELING = exports.LOG_DISABLING_AGENT_PROXY = exports.LOG_DISABLING_AGENT_TARGET = exports.LOG_REMOVING_TUNNEL = exports.LOG_TUNNEL_REGISTERED = exports.LOG_ERROR_WHILE_REFRESHING_AGENT = exports.LOG_REGISTERING_TUNNEL = exports.LOG_GETTING_AGENT = exports.LOG_UNREGISTERING_AGENT = exports.LOG_REGION_DETECTED = exports.LOG_AGENT_REGISTERED = exports.LOG_SOCKET_DISCONNECTED = exports.LOG_SOCKET_CONNECTED = exports.LOG_AGENT_NSSM_CLEARING = exports.LOG_AGENT_NSSM_EXTRACTING = exports.LOG_AGENT_NSSM_DOWNLOADING = exports.LOG_AGENT_ENABLED = exports.LOG_AGENT_STARTING_SYSTEM = exports.LOG_AGENT_STOPPING_SYSTEM = exports.LOG_AGENT_ENABLING_SYSTEM = exports.LOG_AGENT_SYSTEM_SERVICE_CONFIG = exports.LOG_AGENT_EXTRACTING_ARCHIVE = exports.LOG_AGENT_DOWNLOADING_ARCHIVE = exports.LOG_AGENT_SYSTEM_DIR = exports.LOG_ERROR_SAVING_AGENT_LOCAL_CONFIG = exports.LOG_ERROR_REMOVING_AGENT_STANDALONE_LOCK_FILE = exports.LOG_ERROR_SAVING_AGENT_STANDALONE_CONFIG = exports.LOG_ERROR_SAVING_AGENT_SYSTEM_CONFIG = exports.LOG_SAVING_AGENT_LOCAL_CONFIG = exports.LOG_REMOVING_AGENT_PROC_ID = exports.LOG_SAVING_AGENT_PROC_ID = exports.LOG_SAVING_AGENT_SYSTEM_CONFIG = exports.LOG_REGISTERING_AGENT = exports.OPTION_CRAWL_OUTPUT_TYPES = exports.OPTION_CRAWL_OUTPUT_DIR = exports.OPTION_CRAWL_DELAY = exports.OPTION_CRAWL_LOCAL_STORAGE = exports.OPTION_CRAWL_DEVICES = exports.OPTION_CRAWL_BROWSERS = exports.OPTION_CRAWL_COLOR_SCHEME = exports.OPTION_CRAWL_XPATH_SELECTOR = exports.OPTION_CRAWL_CSS_SELECTOR = exports.OPTION_CRAWL_FULL_PAGE = exports.OPTION_CRAWL_QUALITY = exports.OPTION_CRAWL_OUTPUT_TYPE = exports.OPTION_CRAWL_FOLLOW = exports.OPTION_CRAWL_URL = exports.OPTION_COMPARE_WAIT_FOR = exports.OPTION_COMPARE_DELAY = exports.OPTION_COMPARE_HEADER = void 0;
|
|
12
|
-
exports.
|
|
13
|
-
exports.
|
|
14
|
-
exports.
|
|
15
|
-
exports.
|
|
16
|
-
exports.
|
|
17
|
-
exports.
|
|
18
|
-
exports.
|
|
19
|
-
exports.
|
|
20
|
-
exports.
|
|
21
|
-
exports.EXAMPLE_CRAWL_LINK = exports.EXAMPLE_CRAWL_RUN = exports.EXAMPLE_TESTS_CAPTURE = exports.EXAMPLE_TESTS_VISUAL_SESSION_CLOSE = exports.EXAMPLE_TESTS_VISUAL_SESSION_CREATE = exports.EXAMPLE_TESTS_VISUAL_LINK = exports.EXAMPLE_TESTS_VISUAL_UPLOAD = exports.EXAMPLE_TESTS_VISUAL_SETUP = exports.EXAMPLE_TESTS_UNIT_LINK = exports.EXAMPLE_TESTS_UNIT_UPLOAD = exports.EXAMPLE_ARTIFACT_VERSION_DELETE = exports.EXAMPLE_ARTIFACT_VERSION_GET = exports.EXAMPLE_ARTIFACT_VERSION_LIST = exports.EXAMPLE_ARTIFACT_CREATE = exports.EXAMPLE_ARTIFACT_DELETE = exports.EXAMPLE_ARTIFACT_DOWNLOAD = exports.EXAMPLE_ARTIFACT_PUBLISH = exports.EXAMPLE_ARTIFACT_VERSION_CREATE = exports.EXAMPLE_PIPELINE_RUN_RETRY = exports.EXAMPLE_PIPELINE_RUN_LIST = exports.EXAMPLE_PIPELINE_LIST = exports.EXAMPLE_PIPELINE_YML = exports.EXAMPLE_PIPELINE_GET = exports.EXAMPLE_PIPELINE_UPDATE = exports.EXAMPLE_PIPELINE_DELETE = exports.EXAMPLE_PIPELINE_CREATE = exports.EXAMPLE_PIPELINE_RUN_CANCEL = exports.EXAMPLE_PIPELINE_RUN_APPLY = exports.EXAMPLE_PIPELINE_RUN_LOGS = exports.EXAMPLE_PIPELINE_RUN_JSONL = exports.EXAMPLE_PIPELINE_RUN_STATUS = exports.EXAMPLE_PIPELINE_RUN_START = void 0;
|
|
12
|
+
exports.LOG_TUNNEL_TLS_AGENT_STREAM = exports.LOG_TUNNEL_TLS_REGION_STREAM = exports.LOG_TUNNEL_TLS_TARGET_STREAM = exports.LOG_TUNNEL_HTTP2_STREAM = exports.LOG_TUNNEL_HTTP1_STREAM = exports.LOG_TUNNEL_TCP_STREAM = exports.LOG_TUNNEL_HTTP_WRONG_USER_AGENTS = exports.LOG_TUNNEL_HTTP_CIRCUIT_BREAKER_OPEN = exports.LOG_TUNNEL_HTTP_MAX_INFLIGHT = exports.LOG_TUNNEL_HTTP_RATE_LIMIT = exports.LOG_TUNNEL_HTTP_WRON_AUTH = exports.LOG_TUNNEL_IDENTIFIED = exports.LOG_TUNNEL_DISCONNECTED = exports.LOG_TUNNEL_FAILED = exports.LOG_TUNNEL_CONNECTED = exports.LOG_AGENT_STARTED = exports.LOG_AGENT_UPDATE_ROLLBACK_MISSING = exports.LOG_AGENT_UPDATE_NOT_AN_AGENT = exports.LOG_AGENT_UPDATE_ROLLBACK_ACKED = exports.LOG_AGENT_UPDATE_ROLLED_BACK = exports.LOG_AGENT_UPDATE_ATTEMPT = exports.LOG_AGENT_UPDATE_COMMITTED = exports.LOG_AGENT_UPDATE_BINARY_INVALID = exports.ERR_AGENT_UPDATE_IN_PROGRESS = exports.LOG_AGENT_UPDATE_UNINSTALLED = exports.LOG_AGENT_UPDATE_VERSION_MISMATCH = exports.LOG_AGENT_UPDATE_FAILED = exports.LOG_AGENT_UPDATE_SWAPPED = exports.LOG_AGENT_UPDATE_NOT_NEEDED = exports.LOG_AGENT_UPDATE_NO_ADMIN = exports.LOG_AGENT_UPDATE_STANDALONE = exports.LOG_AGENT_UPDATE_REQUESTED = exports.LOG_AGENT_SERVER_STARTED = exports.LOG_ERROR_STARTING_AGENT_SERVER = exports.LOG_SSH_CONNECTION = exports.LOG_LATE_TARGET_ERROR = exports.LOG_LATE_CHANNEL_ERROR = exports.LOG_HANDSHAKE_TIMEOUT = exports.LOG_WRONG_STREAM = exports.LOG_DETECTED_STREAM = exports.LOG_HTTP2_REQUEST = exports.LOG_HTTP2_CONNECTION = exports.LOG_HTTP1_REQUEST = exports.LOG_HTTP1_CONNECTION = exports.LOG_ERROR = exports.LOG_STOPPING_TUNNEL = exports.LOG_STARTING_TUNNEL = exports.LOG_ENABLING_AGENT_TUNNELING = exports.LOG_ENABLING_AGENT_PROXY = exports.LOG_ENABLING_AGENT_TARGET = void 0;
|
|
13
|
+
exports.OPTION_SANDBOX_SSH_PRINT = exports.OPTION_SANDBOX_SSH_IDENTITY = exports.OPTION_SANDBOX_SSH_ARGS = exports.OPTION_SANDBOX_RUNTIME = exports.OPTION_SANDBOX_TIMEOUT = exports.OPTION_SANDBOX_FETCH = exports.OPTION_SANDBOX_APP_DIR = exports.OPTION_SANDBOX_APP_COMMAND = exports.OPTION_SANDBOX_YAML = exports.OPTION_SANDBOX_TAGS = exports.OPTION_SANDBOX_INSTALL_SCRIPT = exports.OPTION_SANDBOX_INSTALL_COMMANDS = exports.OPTION_SANDBOX_RESOURCES = exports.OPTION_SANDBOX_OS = exports.OPTION_SANDBOX_AGENT_NOTE = exports.OPTION_SANDBOX_NOTE = exports.OPTION_SANDBOX_NAME = exports.OPTION_SANDBOX_IDENTIFIER = exports.DESC_COMMAND_SANDBOX_SSH = exports.DESC_COMMAND_SANDBOX_APP = exports.DESC_COMMAND_SANDBOX_EXEC = exports.DESC_COMMAND_SANDBOX_STATUS = exports.DESC_COMMAND_SANDBOX_LOGS = exports.DESC_COMMAND_SANDBOX_RESTART = exports.DESC_COMMAND_SANDBOX_STOP = exports.DESC_COMMAND_SANDBOX_START = exports.DESC_COMMAND_SANDBOX_DESTROY = exports.DESC_COMMAND_SANDBOX_GET = exports.DESC_COMMAND_SANDBOX_LIST = exports.DESC_COMMAND_SANDBOX_UPDATE = exports.DESC_COMMAND_SANDBOX_GET_YAML = exports.DESC_COMMAND_SANDBOX_CREATE = exports.DESC_COMMAND_SANDBOX = exports.DEBUG_WAIT_FOR_IDLE_TIMEOUT = exports.DEBUG_WAIT_FOR_IDLE = exports.DEBUG_RESOURCE_DISCOVERY_TIMEOUT = exports.DEBUG_AUTO_WIDTH = exports.DEBUG_AUTO_SCROLL = exports.DEBUG_RESOURCE_CRAWLING_URL = exports.DEBUG_SNAPSHOT_PROCESSING = exports.DEBUG_SNAPSHOTS_PROCESSING = exports.DEBUG_EXEC_COMMAND = exports.DEBUG_EXEC_TEST_COMMAND = exports.LOG_INSTALLED_BROWSER = exports.LOG_SESSION_LINK = exports.LOG_SENDING_DATA = exports.LOG_SENDING_REQUEST = exports.LOG_PROCESSING_SNAPSHOTS = exports.LOG_RUNNING_EXEC_COMMAND = exports.LOG_TUNNEL_SSH_STREAM = void 0;
|
|
14
|
+
exports.TXT_SANDBOX_COMMAND_KILLED = exports.OPTION_SANDBOX_COMMAND_KILL_CONFIRM = exports.OPTION_SANDBOX_LOGS_LIMIT = exports.OPTION_SANDBOX_APP_ID = exports.OPTION_SANDBOX_COMMAND_ID = exports.DESC_COMMAND_SANDBOX_EXEC_KILL = exports.DESC_COMMAND_SANDBOX_EXEC_LOGS = exports.DESC_COMMAND_SANDBOX_APP_START = exports.DESC_COMMAND_SANDBOX_APP_STOP = exports.DESC_COMMAND_SANDBOX_APP_STATUS = exports.DESC_COMMAND_SANDBOX_APP_LOGS = exports.DESC_COMMAND_SANDBOX_EXEC_STATUS = exports.DESC_COMMAND_SANDBOX_EXEC_LIST = exports.DESC_COMMAND_SANDBOX_APP_REMOVE = exports.DESC_COMMAND_SANDBOX_APP_ADD = exports.DESC_COMMAND_SANDBOX_APP_LIST = exports.TXT_SANDBOX_WAITING_START = exports.TXT_SANDBOX_WAITING_STOP = exports.TXT_SANDBOX_WAITING_APPS = exports.TXT_SANDBOX_WAITING_SETUP = exports.TXT_SANDBOX_WAITING_RUNNING = exports.TXT_SANDBOX_STOPPED = exports.TXT_SANDBOX_STARTED = exports.TXT_SANDBOX_DESTROYED = exports.TXT_SANDBOX_DESTROY_CONFIRM = exports.TXT_SANDBOX_UPDATED = exports.TXT_SANDBOX_CREATED = exports.TXT_SANDBOX_CREATING = exports.TXT_SANDBOX_APP_STARTED = exports.TXT_SANDBOX_APP_STOPPED = exports.OPTION_SANDBOX_WAIT = exports.OPTION_SANDBOX_WAIT_APPS = exports.OPTION_SANDBOX_WAIT_CONFIGURED = exports.OPTION_SANDBOX_WAIT_RUNNING = exports.ERR_SANDBOX_STOP_FAILED = exports.ERR_SANDBOX_SSH_MISSING = exports.ERR_SANDBOX_SSH_NO_ACCESS = exports.ERR_SANDBOX_NOT_RUNNING = exports.ERR_SANDBOX_NO_COMMANDS = exports.ERR_SANDBOX_RUNNING_FAILED = exports.ERR_SANDBOX_STOP_TIMEOUT = exports.ERR_SANDBOX_SNAPSHOT_TIMEOUT = exports.ERR_SANDBOX_RUNNING_TIMEOUT = exports.ERR_SANDBOX_APPS_TIMEOUT = exports.ERR_SANDBOX_SETUP_TIMEOUT = exports.ERR_SANDBOX_APP_FAILED = exports.ERR_SANDBOX_SETUP_FAILED = exports.ERR_SANDBOX_INVALID_RESOURCES = exports.ERR_SANDBOX_APP_NOT_FOUND = exports.ERR_SANDBOX_NOT_FOUND = void 0;
|
|
15
|
+
exports.ERR_SANDBOX_CP_NOT_EMPTY_DIR = exports.ERR_SANDBOX_CP_READDIR = exports.ERR_SANDBOX_CP_DEST_NOT_FOLDER = exports.ERR_SANDBOX_CP_SOURCE_NOT_FOUND = exports.TXT_SANDBOX_CP_DONE = exports.TXT_SANDBOX_CP_PROGRESS = exports.TXT_SANDBOX_UNZIPPING_COUNT = exports.TXT_SANDBOX_UNZIP_DONE = exports.TXT_SANDBOX_UNZIP = exports.TXT_SANDBOX_CP_DOWNLOAD_DONE = exports.TXT_SANDBOX_CP_DOWNLOAD = exports.OPTION_SANDBOX_CP_IGNORE = exports.OPTION_SANDBOX_CP_USER = exports.OPTION_SANDBOX_CP_DOWNLOAD_REPLACE = exports.OPTION_SANDBOX_CP_DOWNLOAD_MERGE = exports.OPTION_SANDBOX_CP_DEST = exports.OPTION_SANDBOX_CP_SOURCE = exports.DESC_COMMAND_SANDBOX_CP = exports.ERR_SANDBOX_ENDPOINTS_NOT_FOUND = exports.ERR_SANDBOX_ENDPOINT_NOT_FOUND = exports.ERR_SANDBOX_ENDPOINT_EXISTS = exports.TXT_SANDBOX_ENDPOINT_DELETED = exports.TXT_SANDBOX_ENDPOINT_DELETE_CONFIRM = exports.TXT_SANDBOX_ENDPOINT_ADDED = exports.TXT_SANDBOX_APP_REMOVED = exports.TXT_SANDBOX_APP_ADDED = exports.OPTION_SANDBOX_ENDPOINT_TYPE = exports.OPTION_SANDBOX_ENDPOINT_PORT = exports.OPTION_SANDBOX_ENDPOINT_NAME_ARG = exports.OPTION_SANDBOX_ENDPOINT_NAME = exports.DESC_COMMAND_SANDBOX_ENDPOINT_DELETE = exports.DESC_COMMAND_SANDBOX_ENDPOINT_ADD = exports.DESC_COMMAND_SANDBOX_ENDPOINT_GET = exports.DESC_COMMAND_SANDBOX_ENDPOINT_LIST = exports.DESC_COMMAND_SANDBOX_ENDPOINT = exports.ERR_SANDBOX_SNAPSHOTS_NOT_FOUND = exports.ERR_SANDBOX_SNAPSHOT_NOT_FOUND = exports.ERR_SANDBOX_SNAPSHOT_FAILED = exports.TXT_SANDBOX_SNAPSHOT_WAITING = exports.TXT_SANDBOX_SNAPSHOT_DELETE_CONFIRM = exports.TXT_SANDBOX_SNAPSHOT_DELETED = exports.TXT_SANDBOX_SNAPSHOT_CREATED = exports.OPTION_SANDBOX_FROM_SNAPSHOT = exports.OPTION_SANDBOX_SNAPSHOT_NAME_ARG = exports.OPTION_SANDBOX_SNAPSHOT_NAME = exports.DESC_COMMAND_SANDBOX_SNAPSHOT_DELETE = exports.DESC_COMMAND_SANDBOX_SNAPSHOT_GET = exports.DESC_COMMAND_SANDBOX_SNAPSHOT_CREATE = exports.DESC_COMMAND_SANDBOX_SNAPSHOT_LIST = exports.DESC_COMMAND_SANDBOX_SNAPSHOT = void 0;
|
|
16
|
+
exports.OPT_COMMAND_MCP_TOOLS = exports.ERR_MCP_REFRESH_FAILED = exports.ERR_MCP_URL_INVALID = exports.ERR_MCP_ENDPOINT = exports.DESC_COMMAND_MCP = exports.ERR_API_MEDIA_TYPE_NOT_IMPLEMENTED = exports.ERR_API_PARAMETER_NOT_REPLACED = exports.TXT_API_ENDPOINT_REQUIRED_SCOPES = exports.ERR_API_ENDPOINT_NOT_FOUND = exports.ERR_API_WRONG_METHOD = exports.ERR_SCHEMA_FETCH_FAILED = exports.OPT_COMMAND_API_INFO_URL = exports.OPT_COMMAND_API_INFO_SCHEMA = exports.OPT_COMMAND_API_INFO_METHOD = exports.OPT_COMMAND_API_LIST_SEARCH = exports.OPT_COMMAND_API_LIST_METHOD = exports.ERR_API_REQUEST_BODY_VALUE = exports.ERR_API_REQUEST_QUERY_VALUE = exports.ERR_API_REQUEST_INVALID_JSON = exports.ERR_API_REQUEST_FILE_ERROR = exports.ERR_API_REQUEST_OUTPUT_EXISTS = exports.DESC_COMMAND_API_INFO = exports.DESC_COMMAND_API_FORM = exports.DESC_COMMAND_API_JSON = exports.DESC_COMMAND_API_DATA = exports.DESC_COMMAND_API_OUTPUT = exports.DESC_COMMAND_API_REQUEST_QUERY = exports.DESC_COMMAND_API_PROJECT = exports.DESC_COMMAND_API_WORKSPACE = exports.DESC_COMMAND_API_REQUEST_URL = exports.DESC_COMMAND_API_GET = exports.DESC_COMMAND_API_PATCH = exports.DESC_COMMAND_API_DELETE = exports.DESC_COMMAND_API_PUT = exports.DESC_COMMAND_API_POST = exports.DESC_COMMAND_API_LIST = exports.DESC_COMMAND_API = exports.ERR_WHOAMI_LOGOUT = exports.TXT_WHOAMI_NO_WORKSPACE = exports.DESC_COMMAND_WHOAMI = exports.TXT_SANDBOX_EXEC_FAILED = exports.TXT_SANDBOX_EXEC_INPROGRESS = exports.TXT_SANDBOX_EXEC_SUCCESS = exports.TXT_SANDBOX_EXEC_BACKGROUND = exports.TXT_SANDBOX_EXEC_ID = exports.ERR_SANDBOX_CP_INVALID_SOURCE = exports.ERR_SANDBOX_CP_INVALID_DEST = exports.ERR_SANDBOX_CP_REPLACE = exports.ERR_SANDBOX_CP_MKDIR = exports.ERR_SANDBOX_CP_PATH_EXISTS = void 0;
|
|
17
|
+
exports.DESC_COMMAND_ROUTE_DELETE = exports.DESC_COMMAND_ROUTE_GET = exports.DESC_COMMAND_DISTRO_UPDATE = exports.DESC_COMMAND_DISTRO_GET = exports.DESC_COMMAND_ROUTE_LIST = exports.DESC_COMMAND_DISTRO_LIST = exports.DESC_COMMAND_DISTRO_DELETE = exports.DESC_COMMAND_ROUTE_CREATE = exports.DESC_COMMAND_DISTRO_CREATE = exports.DESC_COMMAND_DISTRO = exports.ERR_API_MESSAGE_REPLACER = exports.ERR_LOGIN_INVALID_BASE_URL = exports.ERR_LOGIN_NO_WORKSPACE_FOUND = exports.ERR_LOGIN_NO_WORKSPACES = exports.ERR_REGISTER_HTTP_CANCEL = exports.ERR_LOGIN_HTTP_CANCEL = exports.ERR_LOGIN_HTTP_FAILED = exports.ERR_LOGIN_HTTP_SERVER_PORT_TAKEN = exports.TXT_REGISTER_SUCCESS = exports.TXT_LOGIN_SUCCESS = exports.TXT_LOGIN_SELECT_WORKSPACE = exports.TXT_LOGIN_ENTER_BASE_URL = exports.TXT_LOGIN_PROVIDE_CODE = exports.TXT_REGISTER_OPEN_URL = exports.TXT_LOGIN_OPEN_URL = exports.TXT_REGISTER_OPENING_STAR = exports.TXT_LOGIN_OPENING_STAR = exports.TXT_REGISTER_OPENING = exports.TXT_LOGIN_OPENING = exports.TXT_LOGIN_SELECT_REGION = exports.TXT_WORKSPACE_NONE = exports.TXT_WORKSPACE_SET_SUCCESS = exports.ARG_COMMAND_WORKSPACE = exports.DESC_COMMAND_WORKSPACE_GET = exports.DESC_COMMAND_WORKSPACE_SET = exports.DESC_COMMAND_WORKSPACE_LIST = exports.DESC_COMMAND_WORKSPACE = exports.TXT_COMMAND_REGISTER_PROVIDE_NAME = exports.TXT_COMMAND_REGISTER_PROVIDE_EMAIL = exports.ERR_COMMAND_REGISTER_INVALID_NAME = exports.ERR_COMMAND_REGISTER_INVALID_EMAIL = exports.OPT_COMMAND_REGISTER_NAME = exports.OPT_COMMAND_REGISTER_EMAIL = exports.DESC_COMMAND_REGISTER = exports.TXT_LOGOUT_SUCCESS = exports.DESC_COMMAND_LOGOUT = exports.DESC_COMMAND_LOGIN = exports.HELP_COMMAND_MCP = exports.ERR_MCP_TOOL_FILTERED = exports.ERR_MCP_TOOLS_CATEGORY = void 0;
|
|
18
|
+
exports.OPT_COMMAND_DOMAIN_ONLY_AVAILABLE = exports.OPT_COMMAND_DOMAIN_SORT = exports.OPT_COMMAND_DOMAIN_PHRASE = exports.OPT_COMMAND_DOMAIN_BUY_OWNER = exports.OPT_COMMAND_DOMAIN_BUY_TLD = exports.DESC_COMMAND_DOMAIN_GET = exports.DESC_COMMAND_DOMAIN_LIST = exports.DESC_COMMAND_DOMAIN_SEARCH = exports.DESC_COMMAND_DOMAIN_BUY = exports.DESC_COMMAND_DOMAIN = exports.ERR_ROUTE_NO_DEFAULT = exports.ERR_WRONG_ROUTE_TARGET = exports.ERR_COMMAND_ROUTE_NO_TARGET = exports.ERR_COMMAND_ROUTE_TYPE = exports.TXT_COMMAND_ROUTES_NOT_FOUND = exports.TXT_COMMAND_DISTROS_NOT_FOUND = exports.TXT_COMMAND_ROUTE_DELETED = exports.TXT_COMMAND_DISTRO_DELETED = exports.TXT_COMMAND_ROUTE_DELETE_CONFIRM = exports.TXT_COMMAND_DISTRO_DELETE_CONFIRM = exports.ERR_COMMAND_DISTRO_ENABLE_DISABLE = exports.ERR_COMMAND_DISTRO_NO_UPDATE = exports.ERR_COMMAND_ROUTE_NO_UPDATE = exports.ERR_COMMAND_DISTRO_NOT_FOUND = exports.ERR_COMMAND_SCOPE = exports.TXT_COMMAND_DISTRO_UPDATED = exports.TXT_COMMAND_ROUTE_UPDATED = exports.TXT_ROUTE_SERVE = exports.TXT_COMMAND_ROUTE_CREATED = exports.TXT_COMMAND_DISTRO_CREATED = exports.ERR_COMMAND_SCOPE_NO_PROJECT = exports.OPT_COMMAND_DISTRO_DISABLE = exports.OPT_COMMAND_DISTRO_ENABLE = exports.OPT_COMMAND_DISTRO_AGENT_NOTE = exports.OPT_COMMAND_DISTRO_NOTE = exports.OPT_COMMAND_DISTRO_NAME = exports.OPT_COMMAND_ROUTE_TARGET = exports.OPT_COMMAND_ROUTE_AGENT_NOTE = exports.OPT_COMMAND_ROUTE_NOTE = exports.OPT_COMMAND_ROUTE_PATH = exports.OPT_COMMAND_ROUTE_DOMAIN = exports.OPT_COMMAND_ROUTE_SUBDOMAIN = exports.OPT_COMMAND_ROUTE_TYPE = exports.OPT_COMMAND_ROUTE_ID = exports.OPT_COMMAND_DISTRO_IDENTIFIER = exports.OPT_COMMAND_SCOPE = exports.OPT_COMMAND_AGENT_NOTE = exports.OPT_COMMAND_NOTE = exports.DESC_COMMAND_ROUTE = exports.DESC_COMMAND_ROUTE_UPDATE = void 0;
|
|
19
|
+
exports.TXT_COMMAND_PROJECT_LINK_CREATE_NEW = exports.ERR_COMMAND_PROJECT_LINK_DIR_NOT_DIR = exports.TXT_COMMAND_PROJECT_LINK_GIT_REPO_INITIALIZED = exports.TXT_COMMAND_PROJECT_LINK_GIT_REPO = exports.TXT_COMMAND_PROJECT_LINK_DIR_CONFIRM = exports.TXT_COMMAND_PROJECT_LINK_DIR_LINKED = exports.ERR_COMMAND_PROJECT_LINK_DIR_CREATE = exports.OPT_COMMAND_PROJECT_LINK_TRY_NOW = exports.OPT_COMMAND_PROJECT_LINK_SET_GIT_REMOTE = exports.OPT_COMMAND_PROJECT_LINK_HAS_REMOTE = exports.OPT_COMMAND_PROJECT_LINK_DIRECTORY = exports.OPT_COMMAND_PROJECT_LINK_GIT = exports.OPT_COMMAND_PROJECT_LINK_RELINK = exports.DESC_COMMAND_PROJECT_LINK = exports.DESC_COMMAND_PROJECT_LIST = exports.DESC_COMMAND_PROJECT_GIT = exports.DESC_COMMAND_PROJECT_GIT_CREDENTIAL = exports.DESC_COMMAND_PROJECT = exports.TXT_ARTIFACT_VERSION_DOWNLOAD = exports.TXT_ARTIFACT_PUBLISH = exports.TXT_ARTIFACT_CREATED = exports.TXT_ARTIFACT_VERSION_DELETED = exports.TXT_ARTIFACT_DELETED = exports.ERR_COMMAND_ARTIFACT_TYPE = exports.OPT_COMMAND_ARTIFACT_VERSION = exports.OPT_COMMAND_ARTIFACT_IDENTIFIER = exports.OPT_COMMAND_ARTIFACT_CREATE_IDENTIFIER = exports.OPT_COMMAND_ARTIFACT_NAME = exports.OPT_COMMAND_ARTIFACT_TYPE = exports.DESC_COMMAND_ARTIFACT_CREATE = exports.DESC_COMMAND_ARTIFACT_GET = exports.TXT_ARTIFACT_DOCKER_LOGIN_FAILED = exports.TXT_ARTIFACT_DOCKER_LOGIN_SUCCESS = exports.TXT_ARTIFACT_VERSION_DELETE_CONFIRM = exports.TXT_ARTIFACT_DELETE_CONFIRM = exports.DESC_COMMAND_ARTIFACT_DELETE = exports.ERR_COMMAND_ARTIFACT_NO_PROJECTS = exports.DESC_COMMAND_ARTIFACT_VERSION_GET = exports.DESC_COMMAND_ARTIFACT_VERSION_LIST = exports.DESC_COMMAND_ARTIFACT_VERSION_DELETE = exports.DESC_COMMAND_ARTIFACT_DOCKER_LOGIN = exports.DESC_COMMAND_ARTIFACT_LIST = exports.DESC_COMMAND_ARTIFACT_VERSION = exports.ERR_COMMAND_DOMAIN_UNAVAILABLE = exports.OPTION_COMMAND_DOMAIN_IDENTIFIER = exports.ERR_COMMAND_DOMAIN_NO_DOMAINS = exports.TXT_COMMAND_DOMAIN_PROMPT_REQUIRED = exports.TXT_COMMAND_DOMAIN_BUY_SELECT_DOMAIN = exports.TXT_COMMAND_DOMAIN_PROVIDE_PROMPT = exports.ERR_COMMAND_DOMAIN_NOT_FOUND = void 0;
|
|
20
|
+
exports.EXAMPLE_SANDBOX_ENDPOINT_GET = exports.EXAMPLE_SANDBOX_ENDPOINT_DELETE = exports.EXAMPLE_SANDBOX_ENDPOINT_CREATE = exports.EXAMPLE_SANDBOX_SNAPSHOT_LIST = exports.EXAMPLE_SANDBOX_SNAPSHOT_GET = exports.EXAMPLE_SANDBOX_SNAPSHOT_DELETE = exports.EXAMPLE_SANDBOX_SNAPSHOT_CREATE = exports.EXAMPLE_SANDBOX_EXEC_STATUS = exports.EXAMPLE_SANDBOX_EXEC_LOGS = exports.EXAMPLE_SANDBOX_APP_STATUS = exports.EXAMPLE_SANDBOX_APP_STOP = exports.EXAMPLE_SANDBOX_APP_REMOVE = exports.EXAMPLE_SANDBOX_APP_ADD = exports.EXAMPLE_SANDBOX_APP_START = exports.EXAMPLE_SANDBOX_APP_LOGS = exports.EXAMPLE_SANDBOX_EXEC_LIST = exports.EXAMPLE_SANDBOX_APP_LIST = exports.EXAMPLE_SANDBOX_EXEC_KILL = exports.EXAMPLE_SANDBOX_SSH = exports.EXAMPLE_SANDBOX_EXEC_COMMAND = exports.EXAMPLE_TUNNEL_START = exports.EXAMPLE_TUNNEL_TCP = exports.EXAMPLE_TUNNEL_TLS = exports.EXAMPLE_AGENT_TUNNEL_START = exports.EXAMPLE_AGENT_TUNNEL_STATUS = exports.EXAMPLE_AGENT_TUNNEL_REMOVE = exports.EXAMPLE_AGENT_TUNNEL_LIST = exports.EXAMPLE_TUNNEL_HTTP = exports.EXAMPLE_SANDBOX_CREATE = exports.EXAMPLE_DISTRO_CREATE = exports.EXAMPLE_ROUTE_CREATE = exports.EXAMPLE_ROUTE_LIST = exports.EXAMPLE_ROUTE_UPDATE = exports.EXAMPLE_ROUTE_DELETE = exports.EXAMPLE_DISTRO_DELETE = exports.EXAMPLE_ROUTE_GET = exports.EXAMPLE_DISTRO_UPDATE = exports.EXAMPLE_DISTRO_GET = exports.EXAMPLE_DISTRO_LIST = exports.EXAMPLE_SANDBOX_CP = exports.ERR_PROJECT_NO_PROJECTS = exports.TXT_LOGIN_SELECT_PROJECT = exports.TXT_COMMAND_PROJECT_CREATED = exports.TXT_COMMAND_PROJECT_LINK_NOT_FOUND = exports.TXT_COMMAND_PROJECT_LINK_NAME = exports.TXT_COMMAND_PROJECT_LINK_SELECT_PROJECT = exports.TXT_COMMAND_PROJECT_LINK_TO = exports.TXT_COMMAND_PROJECT_LINK_EXISTING_DESC = exports.TXT_COMMAND_PROJECT_LINK_EXISTING = exports.TXT_COMMAND_PROJECT_LINK_CREATE_NEW_DESC = void 0;
|
|
21
|
+
exports.EXAMPLE_CRAWL_LINK = exports.EXAMPLE_CRAWL_RUN = exports.EXAMPLE_TESTS_CAPTURE = exports.EXAMPLE_TESTS_VISUAL_SESSION_CLOSE = exports.EXAMPLE_TESTS_VISUAL_SESSION_CREATE = exports.EXAMPLE_TESTS_VISUAL_LINK = exports.EXAMPLE_TESTS_VISUAL_UPLOAD = exports.EXAMPLE_TESTS_VISUAL_SETUP = exports.EXAMPLE_TESTS_UNIT_LINK = exports.EXAMPLE_TESTS_UNIT_UPLOAD = exports.EXAMPLE_ARTIFACT_VERSION_DELETE = exports.EXAMPLE_ARTIFACT_VERSION_GET = exports.EXAMPLE_ARTIFACT_VERSION_LIST = exports.EXAMPLE_ARTIFACT_CREATE = exports.EXAMPLE_ARTIFACT_DELETE = exports.EXAMPLE_ARTIFACT_DOWNLOAD = exports.EXAMPLE_ARTIFACT_PUBLISH = exports.EXAMPLE_ARTIFACT_VERSION_CREATE = exports.EXAMPLE_PIPELINE_RUN_RETRY = exports.EXAMPLE_PIPELINE_RUN_LIST = exports.EXAMPLE_PIPELINE_LIST = exports.EXAMPLE_PIPELINE_YML = exports.EXAMPLE_PIPELINE_GET = exports.EXAMPLE_PIPELINE_UPDATE = exports.EXAMPLE_PIPELINE_DELETE = exports.EXAMPLE_PIPELINE_CREATE = exports.EXAMPLE_PIPELINE_RUN_CANCEL = exports.EXAMPLE_PIPELINE_RUN_APPLY = exports.EXAMPLE_PIPELINE_RUN_LOGS = exports.EXAMPLE_PIPELINE_RUN_JSONL = exports.EXAMPLE_PIPELINE_RUN_STATUS = exports.EXAMPLE_PIPELINE_RUN_START = exports.EXAMPLE_SANDBOX_ENDPOINT_LIST = void 0;
|
|
22
22
|
const utils_1 = require("./utils");
|
|
23
23
|
exports.ERR_CANCELLED = 'Cancelled';
|
|
24
24
|
exports.ERR_REST_API_GENERAL_ERROR = 'Something went wrong';
|
|
@@ -580,6 +580,7 @@ const LOG_AGENT_UPDATE_ROLLED_BACK = (from, to) => `Updated agent '${to}' kept r
|
|
|
580
580
|
exports.LOG_AGENT_UPDATE_ROLLED_BACK = LOG_AGENT_UPDATE_ROLLED_BACK;
|
|
581
581
|
const LOG_AGENT_UPDATE_ROLLBACK_ACKED = (version) => `Update to '${version}' was rolled back, clearing the request so it is not retried`;
|
|
582
582
|
exports.LOG_AGENT_UPDATE_ROLLBACK_ACKED = LOG_AGENT_UPDATE_ROLLBACK_ACKED;
|
|
583
|
+
exports.LOG_AGENT_UPDATE_NOT_AN_AGENT = 'Remote update applies to an installed agent, this is a foreground tunnel with no binary of its own to replace';
|
|
583
584
|
exports.LOG_AGENT_UPDATE_ROLLBACK_MISSING = 'Updated agent kept restarting but the previous binary is gone, nothing to roll back to';
|
|
584
585
|
exports.LOG_AGENT_STARTED = 'Agent started';
|
|
585
586
|
const LOG_TUNNEL_CONNECTED = (id, port) => `Tunnel '${id}' connected. Forwarding port '${port}'`;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TUNNEL_AGENT_ACTION = exports.TUNNEL_AGENT_STATUS = exports.TUNNEL_TERMINATE_AT = exports.TUNNEL_REGION = exports.TUNNEL_SOCKET_TYPE = exports.TUNNEL_EVENT_LATENCY = exports.TUNNEL_EVENT_TCP = exports.TUNNEL_EVENT_HTTP = exports.TUNNEL_EVENT = exports.TUNNEL_SOCKET_MESSAGE = exports.TUNNEL_SOCKET_EVENT = exports.TUNNEL_COMPRESSION_METHOD = exports.TUNNEL_HTTP_SOCKET = exports.TUNNEL_SSH_EVENT = exports.TUNNEL_HTTP_IDENTIFY = exports.TUNNEL_STATUS = exports.TUNNEL_HTTP_AUTH_TYPE = exports.TUNNEL_TYPE = void 0;
|
|
3
|
+
exports.TUNNEL_AGENT_UPDATE_STATUS = exports.TUNNEL_AGENT_ACTION = exports.TUNNEL_AGENT_STATUS = exports.TUNNEL_TERMINATE_AT = exports.TUNNEL_REGION = exports.TUNNEL_SOCKET_TYPE = exports.TUNNEL_EVENT_LATENCY = exports.TUNNEL_EVENT_TCP = exports.TUNNEL_EVENT_HTTP = exports.TUNNEL_EVENT = exports.TUNNEL_SOCKET_MESSAGE = exports.TUNNEL_SOCKET_EVENT = exports.TUNNEL_COMPRESSION_METHOD = exports.TUNNEL_HTTP_SOCKET = exports.TUNNEL_SSH_EVENT = exports.TUNNEL_HTTP_IDENTIFY = exports.TUNNEL_STATUS = exports.TUNNEL_HTTP_AUTH_TYPE = exports.TUNNEL_TYPE = void 0;
|
|
4
4
|
var TUNNEL_TYPE;
|
|
5
5
|
(function (TUNNEL_TYPE) {
|
|
6
6
|
TUNNEL_TYPE["TCP"] = "TCP";
|
|
@@ -138,3 +138,31 @@ var TUNNEL_AGENT_ACTION;
|
|
|
138
138
|
TUNNEL_AGENT_ACTION["DELETE"] = "DELETE";
|
|
139
139
|
TUNNEL_AGENT_ACTION["UPDATE"] = "UPDATE";
|
|
140
140
|
})(TUNNEL_AGENT_ACTION || (exports.TUNNEL_AGENT_ACTION = TUNNEL_AGENT_ACTION = {}));
|
|
141
|
+
// Written back into the same `action` field, which the backend stores as a plain string
|
|
142
|
+
// and never interprets. Disjoint from TUNNEL_AGENT_ACTION on purpose: those two values
|
|
143
|
+
// are requests the front writes and the agent acts on, these are outcomes the agent
|
|
144
|
+
// writes and the front only reads. makeAction matches the request values exactly, so a
|
|
145
|
+
// status sitting in the field is inert - it is never mistaken for a new request.
|
|
146
|
+
//
|
|
147
|
+
// The value carries the whole outcome because there is nowhere else to put it: no
|
|
148
|
+
// timestamp and no message field, so each distinct reason a user could act on gets its
|
|
149
|
+
// own value rather than being flattened into one FAILED plus free text.
|
|
150
|
+
var TUNNEL_AGENT_UPDATE_STATUS;
|
|
151
|
+
(function (TUNNEL_AGENT_UPDATE_STATUS) {
|
|
152
|
+
// The download and swap are under way. An agent left on this while offline never came
|
|
153
|
+
// back from its restart, which is the front's cue that the outcome is unknown.
|
|
154
|
+
TUNNEL_AGENT_UPDATE_STATUS["STARTED"] = "UPDATE_STARTED";
|
|
155
|
+
TUNNEL_AGENT_UPDATE_STATUS["FINISHED"] = "UPDATE_FINISHED";
|
|
156
|
+
// A request for a version the agent already runs - its own value so a no-op is not
|
|
157
|
+
// shown as a failure
|
|
158
|
+
TUNNEL_AGENT_UPDATE_STATUS["NOT_NEEDED"] = "UPDATE_NOT_NEEDED";
|
|
159
|
+
// Download, verification or the filesystem: the agent log has the detail
|
|
160
|
+
TUNNEL_AGENT_UPDATE_STATUS["FAILED"] = "UPDATE_FAILED";
|
|
161
|
+
TUNNEL_AGENT_UPDATE_STATUS["NO_ADMIN"] = "UPDATE_NO_ADMIN";
|
|
162
|
+
// A standalone install or a foreground tunnel - nothing supervises the process, so
|
|
163
|
+
// there is no binary of ours to replace
|
|
164
|
+
TUNNEL_AGENT_UPDATE_STATUS["UNSUPPORTED"] = "UPDATE_UNSUPPORTED";
|
|
165
|
+
// The new binary kept restarting and the previous one was put back, so the agent is
|
|
166
|
+
// healthy and running the version it started on
|
|
167
|
+
TUNNEL_AGENT_UPDATE_STATUS["ROLLED_BACK"] = "UPDATE_ROLLED_BACK";
|
|
168
|
+
})(TUNNEL_AGENT_UPDATE_STATUS || (exports.TUNNEL_AGENT_UPDATE_STATUS = TUNNEL_AGENT_UPDATE_STATUS = {}));
|