camstack 1.2.139 → 1.2.141
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.
|
@@ -28352,6 +28352,14 @@ var NativeCropResultSchema = external_exports.object({
|
|
|
28352
28352
|
* set `encodeJpeg: true`; `bytes` is then absent.
|
|
28353
28353
|
*/
|
|
28354
28354
|
jpeg: external_exports.string().optional(),
|
|
28355
|
+
/**
|
|
28356
|
+
* The SAME compressed JPEG as `jpeg`, as bytes (D462). Present instead of
|
|
28357
|
+
* `jpeg` when the request set `acceptJpegBytes`; a request that did not gets
|
|
28358
|
+
* `jpeg` exactly as before. MsgPack and the mesh leg both carry binary —
|
|
28359
|
+
* `bytes` above has crossed this boundary as a `Uint8Array` all along — so
|
|
28360
|
+
* base64 was buying nothing but a multi-megabyte string in the relay's heap.
|
|
28361
|
+
*/
|
|
28362
|
+
jpegBytes: external_exports.instanceof(Uint8Array).optional(),
|
|
28355
28363
|
width: external_exports.number().int().positive(),
|
|
28356
28364
|
height: external_exports.number().int().positive(),
|
|
28357
28365
|
/**
|
|
@@ -28393,7 +28401,14 @@ var ParkTrackFrameResultSchema = external_exports.discriminatedUnion("parked", [
|
|
|
28393
28401
|
detail: external_exports.string().optional()
|
|
28394
28402
|
})]);
|
|
28395
28403
|
var ParkedTrackFrameSchema = external_exports.object({
|
|
28396
|
-
|
|
28404
|
+
/**
|
|
28405
|
+
* Base64 JPEG — the pre-D462 wire. OPTIONAL since D462: a request that set
|
|
28406
|
+
* `acceptJpegBytes` is answered in `jpegBytes` and this is then absent.
|
|
28407
|
+
* Exactly one of the two is present.
|
|
28408
|
+
*/
|
|
28409
|
+
jpeg: external_exports.string().optional(),
|
|
28410
|
+
/** The same JPEG as bytes, for a caller that declared it reads them (D462). */
|
|
28411
|
+
jpegBytes: external_exports.instanceof(Uint8Array).optional(),
|
|
28397
28412
|
width: external_exports.number().int().positive(),
|
|
28398
28413
|
height: external_exports.number().int().positive(),
|
|
28399
28414
|
/** The frame instant the parcel shows (the caller's clock, echoed back). */
|
|
@@ -29049,6 +29064,13 @@ var pipelineRunnerCapability = {
|
|
|
29049
29064
|
bbox: NativeCropBboxSchema,
|
|
29050
29065
|
maxWidth: external_exports.number().int().positive().optional(),
|
|
29051
29066
|
/**
|
|
29067
|
+
* The caller reads a `Uint8Array` (D462). When set, a JPEG answer comes
|
|
29068
|
+
* back in `jpegBytes` instead of base64 `jpeg`. Absent means the old
|
|
29069
|
+
* wire — never assume consent: a pre-D462 caller parses the field as
|
|
29070
|
+
* base64 and bytes would decode to garbage rather than fail.
|
|
29071
|
+
*/
|
|
29072
|
+
acceptJpegBytes: external_exports.boolean().optional(),
|
|
29073
|
+
/**
|
|
29052
29074
|
* When `true`, the runner encodes the resolved crop to JPEG ON THE
|
|
29053
29075
|
* OWNING NODE and returns it in `jpeg` (base64) INSTEAD of raw `bytes`.
|
|
29054
29076
|
* Callers set this for CROSS-NODE fetches (`handle.nodeId` is a remote
|
|
@@ -29221,7 +29243,14 @@ var pipelineRunnerCapability = {
|
|
|
29221
29243
|
getParkedTrackFrame: method(external_exports.object({
|
|
29222
29244
|
deviceId: external_exports.number(),
|
|
29223
29245
|
trackId: external_exports.string(),
|
|
29224
|
-
kind: ParkedFrameKindSchema
|
|
29246
|
+
kind: ParkedFrameKindSchema,
|
|
29247
|
+
/**
|
|
29248
|
+
* The caller reads a `Uint8Array` (D462). When set, a JPEG answer comes
|
|
29249
|
+
* back in `jpegBytes` instead of base64 `jpeg`. Absent means the old
|
|
29250
|
+
* wire — never assume consent: a pre-D462 caller parses the field as
|
|
29251
|
+
* base64 and bytes would decode to garbage rather than fail.
|
|
29252
|
+
*/
|
|
29253
|
+
acceptJpegBytes: external_exports.boolean().optional()
|
|
29225
29254
|
}), ParkedTrackFrameSchema.nullable()),
|
|
29226
29255
|
/**
|
|
29227
29256
|
* Drop every parcel of a track — the hub closed it. Idempotent. A track
|
package/dist/cli.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
runDiscover
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-I7QELQM5.js";
|
|
5
5
|
import "./chunk-LMMQX4CK.js";
|
|
6
6
|
|
|
7
7
|
// src/cli.ts
|
|
@@ -38,7 +38,7 @@ async function runServe(args) {
|
|
|
38
38
|
...typeof values.data === "string" ? { data: values.data } : {}
|
|
39
39
|
};
|
|
40
40
|
Object.assign(process.env, buildServeEnv(opts));
|
|
41
|
-
await import("./launcher-
|
|
41
|
+
await import("./launcher-VU6P7QP5.js");
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
// src/commands/agent.ts
|
|
@@ -83,7 +83,7 @@ async function runAgent(args) {
|
|
|
83
83
|
...typeof values.port === "string" ? { port: values.port } : {}
|
|
84
84
|
};
|
|
85
85
|
Object.assign(process.env, buildAgentEnv(opts));
|
|
86
|
-
await import("./launcher-
|
|
86
|
+
await import("./launcher-VU6P7QP5.js");
|
|
87
87
|
}
|
|
88
88
|
|
|
89
89
|
// src/commands/setup.ts
|
|
@@ -531,6 +531,7 @@ async function deployAddon(addonPath, opts) {
|
|
|
531
531
|
targets.push({ label: "hub" });
|
|
532
532
|
}
|
|
533
533
|
const outcomes = [];
|
|
534
|
+
let propagating = false;
|
|
534
535
|
for (const t of targets) {
|
|
535
536
|
console.log(`[camstack] \u2192 Deploying ${path2.basename(tgzPath)} to ${t.label}...`);
|
|
536
537
|
const result = await withNetworkRetry(
|
|
@@ -553,6 +554,7 @@ async function deployAddon(addonPath, opts) {
|
|
|
553
554
|
console.error(`[camstack] \u2717 ${t.label}: ${misrouted}`);
|
|
554
555
|
outcomes.push({ target: t.label, ok: false, detail: misrouted });
|
|
555
556
|
} else if (result.success) {
|
|
557
|
+
if (result.propagatingToAgentsInBackground === true) propagating = true;
|
|
556
558
|
const { detail, warning } = describeDeployOutcome(result, t.nodeId !== void 0);
|
|
557
559
|
console.log(`[camstack] \u2713 ${t.label}: ${detail}`);
|
|
558
560
|
if (warning) console.warn(`[camstack] \u26A0 ${t.label}: ${warning}`);
|
|
@@ -569,6 +571,14 @@ async function deployAddon(addonPath, opts) {
|
|
|
569
571
|
process.exit(1);
|
|
570
572
|
}
|
|
571
573
|
console.log(`[camstack] \u2713 Deployed to ${outcomes.length} target(s)`);
|
|
574
|
+
if (propagating) {
|
|
575
|
+
console.log(
|
|
576
|
+
"[camstack] \u2026 agents are updated in the BACKGROUND and are NOT covered by the \u2713 above."
|
|
577
|
+
);
|
|
578
|
+
console.log(
|
|
579
|
+
"[camstack] Confirm with: hub log line `propagation done` (per-agent success/error)."
|
|
580
|
+
);
|
|
581
|
+
}
|
|
572
582
|
if (opts.verify !== false) {
|
|
573
583
|
process.stdout.write("[camstack] Verifying hub health");
|
|
574
584
|
const healthy = await verifyHubHealthy(opts.serverUrl, { attempts: 20, delayMs: 1500 });
|
|
@@ -1130,7 +1140,7 @@ function isUnknown(_value) {
|
|
|
1130
1140
|
return true;
|
|
1131
1141
|
}
|
|
1132
1142
|
async function resolveServerInteractive(presetNamespace) {
|
|
1133
|
-
const { discoverNodes, resolveHubFromDiscovered, filterHubNodes, DEFAULT_HUB_HTTPS_PORT } = await import("./discover-
|
|
1143
|
+
const { discoverNodes, resolveHubFromDiscovered, filterHubNodes, DEFAULT_HUB_HTTPS_PORT } = await import("./discover-ELE6KHU4.js");
|
|
1134
1144
|
if (presetNamespace) {
|
|
1135
1145
|
const spinner4 = clack.spinner();
|
|
1136
1146
|
spinner4.start(`Discovering hub on LAN (namespace "${presetNamespace}")`);
|
|
@@ -23633,9 +23633,9 @@ var require_zod = __commonJS({
|
|
|
23633
23633
|
}
|
|
23634
23634
|
});
|
|
23635
23635
|
|
|
23636
|
-
// ../system/dist/dist-
|
|
23637
|
-
var
|
|
23638
|
-
"../system/dist/dist-
|
|
23636
|
+
// ../system/dist/dist-0sWJNwme.js
|
|
23637
|
+
var require_dist_0sWJNwme = __commonJS({
|
|
23638
|
+
"../system/dist/dist-0sWJNwme.js"(exports) {
|
|
23639
23639
|
"use strict";
|
|
23640
23640
|
var zod = require_zod();
|
|
23641
23641
|
var EventCategory = /* @__PURE__ */ (function(EventCategory2) {
|
|
@@ -39130,6 +39130,14 @@ var require_dist_CllKpcTd = __commonJS({
|
|
|
39130
39130
|
* set `encodeJpeg: true`; `bytes` is then absent.
|
|
39131
39131
|
*/
|
|
39132
39132
|
jpeg: zod.z.string().optional(),
|
|
39133
|
+
/**
|
|
39134
|
+
* The SAME compressed JPEG as `jpeg`, as bytes (D462). Present instead of
|
|
39135
|
+
* `jpeg` when the request set `acceptJpegBytes`; a request that did not gets
|
|
39136
|
+
* `jpeg` exactly as before. MsgPack and the mesh leg both carry binary —
|
|
39137
|
+
* `bytes` above has crossed this boundary as a `Uint8Array` all along — so
|
|
39138
|
+
* base64 was buying nothing but a multi-megabyte string in the relay's heap.
|
|
39139
|
+
*/
|
|
39140
|
+
jpegBytes: zod.z.instanceof(Uint8Array).optional(),
|
|
39133
39141
|
width: zod.z.number().int().positive(),
|
|
39134
39142
|
height: zod.z.number().int().positive(),
|
|
39135
39143
|
/**
|
|
@@ -39171,7 +39179,14 @@ var require_dist_CllKpcTd = __commonJS({
|
|
|
39171
39179
|
detail: zod.z.string().optional()
|
|
39172
39180
|
})]);
|
|
39173
39181
|
var ParkedTrackFrameSchema = zod.z.object({
|
|
39174
|
-
|
|
39182
|
+
/**
|
|
39183
|
+
* Base64 JPEG — the pre-D462 wire. OPTIONAL since D462: a request that set
|
|
39184
|
+
* `acceptJpegBytes` is answered in `jpegBytes` and this is then absent.
|
|
39185
|
+
* Exactly one of the two is present.
|
|
39186
|
+
*/
|
|
39187
|
+
jpeg: zod.z.string().optional(),
|
|
39188
|
+
/** The same JPEG as bytes, for a caller that declared it reads them (D462). */
|
|
39189
|
+
jpegBytes: zod.z.instanceof(Uint8Array).optional(),
|
|
39175
39190
|
width: zod.z.number().int().positive(),
|
|
39176
39191
|
height: zod.z.number().int().positive(),
|
|
39177
39192
|
/** The frame instant the parcel shows (the caller's clock, echoed back). */
|
|
@@ -39654,6 +39669,13 @@ var require_dist_CllKpcTd = __commonJS({
|
|
|
39654
39669
|
bbox: NativeCropBboxSchema,
|
|
39655
39670
|
maxWidth: zod.z.number().int().positive().optional(),
|
|
39656
39671
|
/**
|
|
39672
|
+
* The caller reads a `Uint8Array` (D462). When set, a JPEG answer comes
|
|
39673
|
+
* back in `jpegBytes` instead of base64 `jpeg`. Absent means the old
|
|
39674
|
+
* wire — never assume consent: a pre-D462 caller parses the field as
|
|
39675
|
+
* base64 and bytes would decode to garbage rather than fail.
|
|
39676
|
+
*/
|
|
39677
|
+
acceptJpegBytes: zod.z.boolean().optional(),
|
|
39678
|
+
/**
|
|
39657
39679
|
* When `true`, the runner encodes the resolved crop to JPEG ON THE
|
|
39658
39680
|
* OWNING NODE and returns it in `jpeg` (base64) INSTEAD of raw `bytes`.
|
|
39659
39681
|
* Callers set this for CROSS-NODE fetches (`handle.nodeId` is a remote
|
|
@@ -39826,7 +39848,14 @@ var require_dist_CllKpcTd = __commonJS({
|
|
|
39826
39848
|
getParkedTrackFrame: method(zod.z.object({
|
|
39827
39849
|
deviceId: zod.z.number(),
|
|
39828
39850
|
trackId: zod.z.string(),
|
|
39829
|
-
kind: ParkedFrameKindSchema
|
|
39851
|
+
kind: ParkedFrameKindSchema,
|
|
39852
|
+
/**
|
|
39853
|
+
* The caller reads a `Uint8Array` (D462). When set, a JPEG answer comes
|
|
39854
|
+
* back in `jpegBytes` instead of base64 `jpeg`. Absent means the old
|
|
39855
|
+
* wire — never assume consent: a pre-D462 caller parses the field as
|
|
39856
|
+
* base64 and bytes would decode to garbage rather than fail.
|
|
39857
|
+
*/
|
|
39858
|
+
acceptJpegBytes: zod.z.boolean().optional()
|
|
39830
39859
|
}), ParkedTrackFrameSchema.nullable()),
|
|
39831
39860
|
/**
|
|
39832
39861
|
* Drop every parcel of a track — the hub closed it. Idempotent. A track
|
|
@@ -61710,7 +61739,7 @@ var require_alerts_addon = __commonJS({
|
|
|
61710
61739
|
[Symbol.toStringTag]: { value: "Module" }
|
|
61711
61740
|
});
|
|
61712
61741
|
require_chunk_Cek0wNdY();
|
|
61713
|
-
var require_dist10 =
|
|
61742
|
+
var require_dist10 = require_dist_0sWJNwme();
|
|
61714
61743
|
function selectExpired(alerts, cutoffMs) {
|
|
61715
61744
|
return alerts.filter((a) => a.createdAt < cutoffMs).sort((a, b) => a.createdAt - b.createdAt).map((a) => a.id);
|
|
61716
61745
|
}
|
|
@@ -62529,7 +62558,7 @@ var require_console_logging = __commonJS({
|
|
|
62529
62558
|
[Symbol.toStringTag]: { value: "Module" }
|
|
62530
62559
|
});
|
|
62531
62560
|
require_chunk_Cek0wNdY();
|
|
62532
|
-
var require_dist10 =
|
|
62561
|
+
var require_dist10 = require_dist_0sWJNwme();
|
|
62533
62562
|
var require_formatter = require_formatter_DqAKDlvN();
|
|
62534
62563
|
var LEVEL_RANK = {
|
|
62535
62564
|
debug: 0,
|
|
@@ -62623,7 +62652,7 @@ var require_core_blocks_addon = __commonJS({
|
|
|
62623
62652
|
"use strict";
|
|
62624
62653
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
62625
62654
|
var require_chunk = require_chunk_Cek0wNdY();
|
|
62626
|
-
var require_dist10 =
|
|
62655
|
+
var require_dist10 = require_dist_0sWJNwme();
|
|
62627
62656
|
var node_crypto = __require("crypto");
|
|
62628
62657
|
var node_fs_promises = __require("fs/promises");
|
|
62629
62658
|
node_fs_promises = require_chunk.__toESM(node_fs_promises);
|
|
@@ -63520,11 +63549,11 @@ var require_core_blocks = __commonJS({
|
|
|
63520
63549
|
}
|
|
63521
63550
|
});
|
|
63522
63551
|
|
|
63523
|
-
// ../system/dist/retired-settings-keys-
|
|
63524
|
-
var
|
|
63525
|
-
"../system/dist/retired-settings-keys-
|
|
63552
|
+
// ../system/dist/retired-settings-keys-Dh-XMfFx.js
|
|
63553
|
+
var require_retired_settings_keys_Dh_XMfFx = __commonJS({
|
|
63554
|
+
"../system/dist/retired-settings-keys-Dh-XMfFx.js"(exports) {
|
|
63526
63555
|
"use strict";
|
|
63527
|
-
var require_dist10 =
|
|
63556
|
+
var require_dist10 = require_dist_0sWJNwme();
|
|
63528
63557
|
function settingsStoreIsAuthoritativeHere(env) {
|
|
63529
63558
|
const raw = (env["CAMSTACK_ROLE"] ?? "").trim().toLowerCase();
|
|
63530
63559
|
return raw === "" || raw === "hub";
|
|
@@ -65759,8 +65788,8 @@ var require_device_manager_addon = __commonJS({
|
|
|
65759
65788
|
[Symbol.toStringTag]: { value: "Module" }
|
|
65760
65789
|
});
|
|
65761
65790
|
require_chunk_Cek0wNdY();
|
|
65762
|
-
var require_dist10 =
|
|
65763
|
-
var require_retired_settings_keys =
|
|
65791
|
+
var require_dist10 = require_dist_0sWJNwme();
|
|
65792
|
+
var require_retired_settings_keys = require_retired_settings_keys_Dh_XMfFx();
|
|
65764
65793
|
var node_crypto = __require("crypto");
|
|
65765
65794
|
var _camstack_types_node = require_node();
|
|
65766
65795
|
var JOB_HISTORY = 20;
|
|
@@ -71385,7 +71414,7 @@ var require_hub_forwarder = __commonJS({
|
|
|
71385
71414
|
[Symbol.toStringTag]: { value: "Module" }
|
|
71386
71415
|
});
|
|
71387
71416
|
require_chunk_Cek0wNdY();
|
|
71388
|
-
var require_dist10 =
|
|
71417
|
+
var require_dist10 = require_dist_0sWJNwme();
|
|
71389
71418
|
var require_formatter = require_formatter_DqAKDlvN();
|
|
71390
71419
|
var DEFAULT_OUTBOUND_BUFFER_SIZE = 500;
|
|
71391
71420
|
var HubForwarderDestination = class {
|
|
@@ -71522,7 +71551,7 @@ var require_liveness_monitor_addon = __commonJS({
|
|
|
71522
71551
|
"use strict";
|
|
71523
71552
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
71524
71553
|
require_chunk_Cek0wNdY();
|
|
71525
|
-
var require_dist10 =
|
|
71554
|
+
var require_dist10 = require_dist_0sWJNwme();
|
|
71526
71555
|
var NO_DEVICES = "liveness:no-devices";
|
|
71527
71556
|
var ALL_OFFLINE = "liveness:all-devices-offline";
|
|
71528
71557
|
var NO_FOOTAGE_PREFIX = "liveness:no-footage:";
|
|
@@ -71718,7 +71747,7 @@ var require_local_auth_addon = __commonJS({
|
|
|
71718
71747
|
[Symbol.toStringTag]: { value: "Module" }
|
|
71719
71748
|
});
|
|
71720
71749
|
var require_chunk = require_chunk_Cek0wNdY();
|
|
71721
|
-
var require_dist10 =
|
|
71750
|
+
var require_dist10 = require_dist_0sWJNwme();
|
|
71722
71751
|
var node_crypto = __require("crypto");
|
|
71723
71752
|
node_crypto = require_chunk.__toESM(node_crypto);
|
|
71724
71753
|
var crypto$1 = __require("crypto");
|
|
@@ -79531,7 +79560,7 @@ var require_loki_logging = __commonJS({
|
|
|
79531
79560
|
[Symbol.toStringTag]: { value: "Module" }
|
|
79532
79561
|
});
|
|
79533
79562
|
require_chunk_Cek0wNdY();
|
|
79534
|
-
var require_dist10 =
|
|
79563
|
+
var require_dist10 = require_dist_0sWJNwme();
|
|
79535
79564
|
function sanitizeLabelName(raw) {
|
|
79536
79565
|
const replaced = raw.replaceAll(/[^a-zA-Z0-9_]/g, "_");
|
|
79537
79566
|
return /^[a-zA-Z_]/.test(replaced) ? replaced : `_${replaced}`;
|
|
@@ -80118,7 +80147,7 @@ var require_native_metrics_addon = __commonJS({
|
|
|
80118
80147
|
[Symbol.toStringTag]: { value: "Module" }
|
|
80119
80148
|
});
|
|
80120
80149
|
var require_chunk = require_chunk_Cek0wNdY();
|
|
80121
|
-
var require_dist10 =
|
|
80150
|
+
var require_dist10 = require_dist_0sWJNwme();
|
|
80122
80151
|
var node_fs_promises = __require("fs/promises");
|
|
80123
80152
|
var node_fs = __require("fs");
|
|
80124
80153
|
node_fs = require_chunk.__toESM(node_fs);
|
|
@@ -82871,7 +82900,7 @@ var require_filesystem_storage_addon = __commonJS({
|
|
|
82871
82900
|
[Symbol.toStringTag]: { value: "Module" }
|
|
82872
82901
|
});
|
|
82873
82902
|
var require_chunk = require_chunk_Cek0wNdY();
|
|
82874
|
-
var require_dist10 =
|
|
82903
|
+
var require_dist10 = require_dist_0sWJNwme();
|
|
82875
82904
|
var node_crypto = __require("crypto");
|
|
82876
82905
|
var node_fs_promises = __require("fs/promises");
|
|
82877
82906
|
var node_path = __require("path");
|
|
@@ -84098,8 +84127,8 @@ var require_sqlite_settings_addon = __commonJS({
|
|
|
84098
84127
|
[Symbol.toStringTag]: { value: "Module" }
|
|
84099
84128
|
});
|
|
84100
84129
|
var require_chunk = require_chunk_Cek0wNdY();
|
|
84101
|
-
var require_dist10 =
|
|
84102
|
-
var require_retired_settings_keys =
|
|
84130
|
+
var require_dist10 = require_dist_0sWJNwme();
|
|
84131
|
+
var require_retired_settings_keys = require_retired_settings_keys_Dh_XMfFx();
|
|
84103
84132
|
var require_wal_checkpoint_policy = require_wal_checkpoint_policy_CCJZngds();
|
|
84104
84133
|
var node_crypto = __require("crypto");
|
|
84105
84134
|
var node_path = __require("path");
|
|
@@ -86766,7 +86795,7 @@ var require_storage_orchestrator_addon = __commonJS({
|
|
|
86766
86795
|
[Symbol.toStringTag]: { value: "Module" }
|
|
86767
86796
|
});
|
|
86768
86797
|
var require_chunk = require_chunk_Cek0wNdY();
|
|
86769
|
-
var require_dist10 =
|
|
86798
|
+
var require_dist10 = require_dist_0sWJNwme();
|
|
86770
86799
|
var require_hub_cap_forward = require_hub_cap_forward_DmHNjbB0();
|
|
86771
86800
|
var zod = require_zod();
|
|
86772
86801
|
var node_crypto = __require("crypto");
|
|
@@ -90416,7 +90445,7 @@ var require_system_config_addon = __commonJS({
|
|
|
90416
90445
|
[Symbol.toStringTag]: { value: "Module" }
|
|
90417
90446
|
});
|
|
90418
90447
|
require_chunk_Cek0wNdY();
|
|
90419
|
-
var require_dist10 =
|
|
90448
|
+
var require_dist10 = require_dist_0sWJNwme();
|
|
90420
90449
|
var SECTION_TITLES = {
|
|
90421
90450
|
server: "Server",
|
|
90422
90451
|
auth: "Authentication"
|
|
@@ -108477,7 +108506,7 @@ var require_winston_logging = __commonJS({
|
|
|
108477
108506
|
[Symbol.toStringTag]: { value: "Module" }
|
|
108478
108507
|
});
|
|
108479
108508
|
var require_chunk = require_chunk_Cek0wNdY();
|
|
108480
|
-
var require_dist10 =
|
|
108509
|
+
var require_dist10 = require_dist_0sWJNwme();
|
|
108481
108510
|
var require_formatter = require_formatter_DqAKDlvN();
|
|
108482
108511
|
var node_path = __require("path");
|
|
108483
108512
|
node_path = require_chunk.__toESM(node_path);
|
|
@@ -121213,9 +121242,9 @@ var require_dist2 = __commonJS({
|
|
|
121213
121242
|
}
|
|
121214
121243
|
});
|
|
121215
121244
|
|
|
121216
|
-
// ../system/dist/manifest-system-deps-
|
|
121217
|
-
var
|
|
121218
|
-
"../system/dist/manifest-system-deps-
|
|
121245
|
+
// ../system/dist/manifest-system-deps-YYKKCKSF.js
|
|
121246
|
+
var require_manifest_system_deps_YYKKCKSF = __commonJS({
|
|
121247
|
+
"../system/dist/manifest-system-deps-YYKKCKSF.js"(exports) {
|
|
121219
121248
|
"use strict";
|
|
121220
121249
|
var require_chunk = require_chunk_Cek0wNdY();
|
|
121221
121250
|
require_hub_cap_forward_DmHNjbB0();
|
|
@@ -121265,7 +121294,9 @@ var require_manifest_system_deps_DfpwaXkh = __commonJS({
|
|
|
121265
121294
|
childrenConnected: listed.length,
|
|
121266
121295
|
childrenUndeclared: registry.undeclaredChildCount(),
|
|
121267
121296
|
crossNodeDelivered: crossNode?.delivered ?? 0,
|
|
121268
|
-
crossNodeSuppressed: crossNode?.suppressed ?? 0
|
|
121297
|
+
crossNodeSuppressed: crossNode?.suppressed ?? 0,
|
|
121298
|
+
categories: registry.categoryFanout(),
|
|
121299
|
+
categoryOverflow: registry.categoryCensusOverflow()
|
|
121269
121300
|
};
|
|
121270
121301
|
} catch {
|
|
121271
121302
|
return;
|
|
@@ -121275,8 +121306,10 @@ var require_manifest_system_deps_DfpwaXkh = __commonJS({
|
|
|
121275
121306
|
var EVENT_PLANE_TOP_N = 5;
|
|
121276
121307
|
var EMPTY_EVENT_PLANE_BASELINE = {
|
|
121277
121308
|
children: /* @__PURE__ */ new Map(),
|
|
121309
|
+
categories: /* @__PURE__ */ new Map(),
|
|
121278
121310
|
crossNodeDelivered: 0,
|
|
121279
|
-
crossNodeSuppressed: 0
|
|
121311
|
+
crossNodeSuppressed: 0,
|
|
121312
|
+
categoryOverflow: 0
|
|
121280
121313
|
};
|
|
121281
121314
|
function diffEventPlane(baseline, current, topN = 5) {
|
|
121282
121315
|
const deltas = [];
|
|
@@ -121294,6 +121327,23 @@ var require_manifest_system_deps_DfpwaXkh = __commonJS({
|
|
|
121294
121327
|
suppressed
|
|
121295
121328
|
});
|
|
121296
121329
|
}
|
|
121330
|
+
const categoryDeltas = [];
|
|
121331
|
+
let categoryBroadcasts = 0;
|
|
121332
|
+
let orphanBroadcasts = 0;
|
|
121333
|
+
for (const sample of current.categories) {
|
|
121334
|
+
const before = baseline.categories.get(sample.category);
|
|
121335
|
+
const broadcasts = Math.max(0, sample.broadcasts - (before?.broadcasts ?? 0));
|
|
121336
|
+
if (broadcasts === 0) continue;
|
|
121337
|
+
const wanted = Math.max(0, sample.wanted - (before?.wanted ?? 0));
|
|
121338
|
+
categoryBroadcasts += broadcasts;
|
|
121339
|
+
if (wanted === 0) orphanBroadcasts += broadcasts;
|
|
121340
|
+
categoryDeltas.push({
|
|
121341
|
+
category: sample.category,
|
|
121342
|
+
broadcasts,
|
|
121343
|
+
wanted
|
|
121344
|
+
});
|
|
121345
|
+
}
|
|
121346
|
+
const byBroadcasts = categoryDeltas.toSorted((a, b) => b.broadcasts - a.broadcasts || a.category.localeCompare(b.category));
|
|
121297
121347
|
return {
|
|
121298
121348
|
udsMode: current.udsMode,
|
|
121299
121349
|
crossNodeMode: current.crossNodeMode,
|
|
@@ -121303,7 +121353,12 @@ var require_manifest_system_deps_DfpwaXkh = __commonJS({
|
|
|
121303
121353
|
fanoutSuppressed,
|
|
121304
121354
|
crossNodeDelivered: Math.max(0, current.crossNodeDelivered - baseline.crossNodeDelivered),
|
|
121305
121355
|
crossNodeSuppressed: Math.max(0, current.crossNodeSuppressed - baseline.crossNodeSuppressed),
|
|
121306
|
-
top: deltas.toSorted((a, b) => b.sent - a.sent || a.childId.localeCompare(b.childId)).slice(0, topN)
|
|
121356
|
+
top: deltas.toSorted((a, b) => b.sent - a.sent || a.childId.localeCompare(b.childId)).slice(0, topN),
|
|
121357
|
+
categoryBroadcasts,
|
|
121358
|
+
orphanBroadcasts,
|
|
121359
|
+
topCategories: byBroadcasts.slice(0, topN),
|
|
121360
|
+
topOrphans: byBroadcasts.filter((c) => c.wanted === 0).slice(0, topN),
|
|
121361
|
+
categoryOverflow: Math.max(0, current.categoryOverflow - baseline.categoryOverflow)
|
|
121307
121362
|
};
|
|
121308
121363
|
}
|
|
121309
121364
|
function createEventPlaneMeter(reader, topN = 5) {
|
|
@@ -121314,8 +121369,10 @@ var require_manifest_system_deps_DfpwaXkh = __commonJS({
|
|
|
121314
121369
|
const window2 = diffEventPlane(baseline, current, topN);
|
|
121315
121370
|
baseline = {
|
|
121316
121371
|
children: new Map(current.children.map((s) => [s.childId, s])),
|
|
121372
|
+
categories: new Map(current.categories.map((c) => [c.category, c])),
|
|
121317
121373
|
crossNodeDelivered: current.crossNodeDelivered,
|
|
121318
|
-
crossNodeSuppressed: current.crossNodeSuppressed
|
|
121374
|
+
crossNodeSuppressed: current.crossNodeSuppressed,
|
|
121375
|
+
categoryOverflow: current.categoryOverflow
|
|
121319
121376
|
};
|
|
121320
121377
|
return window2;
|
|
121321
121378
|
} };
|
|
@@ -121323,7 +121380,9 @@ var require_manifest_system_deps_DfpwaXkh = __commonJS({
|
|
|
121323
121380
|
function formatEventPlane(window2) {
|
|
121324
121381
|
if (window2 === void 0) return "";
|
|
121325
121382
|
const top = window2.top.map((d) => `${d.childId}:${d.sent}/${d.suppressed}`).join(",");
|
|
121326
|
-
|
|
121383
|
+
const cats = window2.topCategories.map((c) => `${c.category}:${c.broadcasts}/${c.wanted}`).join(",");
|
|
121384
|
+
const orphans = window2.topOrphans.map((c) => `${c.category}:${c.broadcasts}`).join(",");
|
|
121385
|
+
return ` fanoutMode=uds:${window2.udsMode}/cross-node:${window2.crossNodeMode} children=${window2.childrenConnected} childrenUndeclared=${window2.childrenUndeclared} fanoutSent=${window2.fanoutSent} fanoutSuppressed=${window2.fanoutSuppressed} crossNodeDelivered=${window2.crossNodeDelivered} crossNodeSuppressed=${window2.crossNodeSuppressed} fanoutEvents=${window2.categoryBroadcasts} fanoutOrphans=${window2.orphanBroadcasts} fanoutCatsDropped=${window2.categoryOverflow}` + (top.length === 0 ? "" : ` fanoutTop=${top}`) + (cats.length === 0 ? "" : ` fanoutCats=${cats}`) + (orphans.length === 0 ? "" : ` fanoutOrphanTop=${orphans}`);
|
|
121327
121386
|
}
|
|
121328
121387
|
var EMPTY_CAP_ACTION_READING = /* @__PURE__ */ new Map();
|
|
121329
121388
|
var CAP_ACTION_UNLABELLED = "(unlabelled)";
|
|
@@ -126394,6 +126453,12 @@ var require_manifest_system_deps_DfpwaXkh = __commonJS({
|
|
|
126394
126453
|
fanoutMode = readFanoutMode();
|
|
126395
126454
|
/** Per-child event fan-out counters (sent / suppressed). */
|
|
126396
126455
|
childEventStats = /* @__PURE__ */ new Map();
|
|
126456
|
+
/** D467: per-category production census (cumulative). See {@link CategoryFanoutSample}. */
|
|
126457
|
+
categoryStats = /* @__PURE__ */ new Map();
|
|
126458
|
+
/** Broadcasts whose category did not fit in {@link CATEGORY_CENSUS_MAX}. */
|
|
126459
|
+
categoryOverflow = 0;
|
|
126460
|
+
/** One INFO line the first time the census cap trips, never per event. */
|
|
126461
|
+
categoryOverflowLogged = false;
|
|
126397
126462
|
/** Last pattern-set string logged per child, to dedup the INFO line. */
|
|
126398
126463
|
loggedPatternSet = /* @__PURE__ */ new Map();
|
|
126399
126464
|
/**
|
|
@@ -126449,6 +126514,25 @@ var require_manifest_system_deps_DfpwaXkh = __commonJS({
|
|
|
126449
126514
|
};
|
|
126450
126515
|
}
|
|
126451
126516
|
/**
|
|
126517
|
+
* D467: every category this node has broadcast, with its emit count and how
|
|
126518
|
+
* many child subscriptions matched. Cumulative for the life of the process —
|
|
126519
|
+
* the heartbeat differences it, the same discipline as the per-child
|
|
126520
|
+
* counters. Largest `broadcasts` first.
|
|
126521
|
+
*/
|
|
126522
|
+
categoryFanout() {
|
|
126523
|
+
const out = [];
|
|
126524
|
+
for (const [category, s] of this.categoryStats) out.push({
|
|
126525
|
+
category,
|
|
126526
|
+
broadcasts: s.broadcasts,
|
|
126527
|
+
wanted: s.wanted
|
|
126528
|
+
});
|
|
126529
|
+
return out.toSorted((a, b) => b.broadcasts - a.broadcasts || a.category.localeCompare(b.category));
|
|
126530
|
+
}
|
|
126531
|
+
/** Broadcasts the census could not attribute because it was full (cumulative). */
|
|
126532
|
+
categoryCensusOverflow() {
|
|
126533
|
+
return this.categoryOverflow;
|
|
126534
|
+
}
|
|
126535
|
+
/**
|
|
126452
126536
|
* This child's socket traffic — bytes and messages, both directions, split by
|
|
126453
126537
|
* frame kind — or `null` when the child is gone or its channel keeps no
|
|
126454
126538
|
* counters (an in-process or test transport).
|
|
@@ -126539,6 +126623,17 @@ var require_manifest_system_deps_DfpwaXkh = __commonJS({
|
|
|
126539
126623
|
*/
|
|
126540
126624
|
childWantsEvent(entry, category) {
|
|
126541
126625
|
if (this.fanoutMode === "broadcast") return true;
|
|
126626
|
+
return this.childSubscribesTo(entry, category);
|
|
126627
|
+
}
|
|
126628
|
+
/**
|
|
126629
|
+
* The SUBSCRIPTION answer alone, with no fan-out-mode override.
|
|
126630
|
+
*
|
|
126631
|
+
* {@link childWantsEvent} answers "will this child be sent the event", which
|
|
126632
|
+
* under `broadcast` is `true` for everything and therefore cannot say whether
|
|
126633
|
+
* anyone actually asked. The D467 census needs the second question, so the
|
|
126634
|
+
* two are separate functions and `broadcast` mode overrides only the first.
|
|
126635
|
+
*/
|
|
126636
|
+
childSubscribesTo(entry, category) {
|
|
126542
126637
|
if (entry.eventPatterns === null) return true;
|
|
126543
126638
|
return entry.eventPatterns.some((p) => matchesPattern(p, category));
|
|
126544
126639
|
}
|
|
@@ -126841,8 +126936,10 @@ var require_manifest_system_deps_DfpwaXkh = __commonJS({
|
|
|
126841
126936
|
event,
|
|
126842
126937
|
sourceNodeId
|
|
126843
126938
|
};
|
|
126939
|
+
let subscribed = 0;
|
|
126844
126940
|
for (const entry of this.children.values()) {
|
|
126845
126941
|
if (entry.childId === exceptChildId) continue;
|
|
126942
|
+
if (this.childSubscribesTo(entry, event.category)) subscribed += 1;
|
|
126846
126943
|
const wants = this.childWantsEvent(entry, event.category);
|
|
126847
126944
|
const stats = this.statsFor(entry.childId);
|
|
126848
126945
|
if (!wants) stats.suppressed++;
|
|
@@ -126851,6 +126948,34 @@ var require_manifest_system_deps_DfpwaXkh = __commonJS({
|
|
|
126851
126948
|
entry.channel.emit(msg);
|
|
126852
126949
|
}
|
|
126853
126950
|
}
|
|
126951
|
+
this.recordCategoryBroadcast(event.category, subscribed);
|
|
126952
|
+
}
|
|
126953
|
+
/**
|
|
126954
|
+
* Record one PRODUCED event against its category. Called once per broadcast,
|
|
126955
|
+
* outside the per-child loop, because production is what the census measures.
|
|
126956
|
+
*/
|
|
126957
|
+
recordCategoryBroadcast(category, subscribed) {
|
|
126958
|
+
const existing = this.categoryStats.get(category);
|
|
126959
|
+
if (existing !== void 0) {
|
|
126960
|
+
existing.broadcasts += 1;
|
|
126961
|
+
existing.wanted += subscribed;
|
|
126962
|
+
return;
|
|
126963
|
+
}
|
|
126964
|
+
if (this.categoryStats.size >= 256) {
|
|
126965
|
+
this.categoryOverflow += 1;
|
|
126966
|
+
if (!this.categoryOverflowLogged) {
|
|
126967
|
+
this.categoryOverflowLogged = true;
|
|
126968
|
+
this.logger?.info("event category census full \u2014 further new categories are unattributed", {
|
|
126969
|
+
max: 256,
|
|
126970
|
+
firstDropped: category
|
|
126971
|
+
});
|
|
126972
|
+
}
|
|
126973
|
+
return;
|
|
126974
|
+
}
|
|
126975
|
+
this.categoryStats.set(category, {
|
|
126976
|
+
broadcasts: 1,
|
|
126977
|
+
wanted: subscribed
|
|
126978
|
+
});
|
|
126854
126979
|
}
|
|
126855
126980
|
/**
|
|
126856
126981
|
* E2: Send a `set-log-level` control message to a specific child.
|
|
@@ -130540,11 +130665,11 @@ var require_manifest_system_deps_DfpwaXkh = __commonJS({
|
|
|
130540
130665
|
}
|
|
130541
130666
|
});
|
|
130542
130667
|
|
|
130543
|
-
// ../system/dist/custom-action-registry-
|
|
130544
|
-
var
|
|
130545
|
-
"../system/dist/custom-action-registry-
|
|
130668
|
+
// ../system/dist/custom-action-registry-DvVMHLfJ.js
|
|
130669
|
+
var require_custom_action_registry_DvVMHLfJ = __commonJS({
|
|
130670
|
+
"../system/dist/custom-action-registry-DvVMHLfJ.js"(exports) {
|
|
130546
130671
|
"use strict";
|
|
130547
|
-
var require_dist10 =
|
|
130672
|
+
var require_dist10 = require_dist_0sWJNwme();
|
|
130548
130673
|
var CustomActionRegistry = class {
|
|
130549
130674
|
byAddon = /* @__PURE__ */ new Map();
|
|
130550
130675
|
registerAddon(addonId, catalog, handler) {
|
|
@@ -134358,7 +134483,7 @@ var require_dist3 = __commonJS({
|
|
|
134358
134483
|
"use strict";
|
|
134359
134484
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
134360
134485
|
var require_chunk = require_chunk_Cek0wNdY();
|
|
134361
|
-
var require_dist10 =
|
|
134486
|
+
var require_dist10 = require_dist_0sWJNwme();
|
|
134362
134487
|
var require_builtins_alerts_alerts_addon = require_alerts_addon();
|
|
134363
134488
|
require_alerts();
|
|
134364
134489
|
var require_formatter = require_formatter_DqAKDlvN();
|
|
@@ -134385,9 +134510,9 @@ var require_dist3 = __commonJS({
|
|
|
134385
134510
|
var require_builtins_winston_logging_index = require_winston_logging();
|
|
134386
134511
|
var require_event_loop_stall_monitor = require_event_loop_stall_monitor_CAsHdMwP();
|
|
134387
134512
|
var require_tls$1 = require_tls_BFs4PzoW();
|
|
134388
|
-
var require_manifest_system_deps =
|
|
134513
|
+
var require_manifest_system_deps = require_manifest_system_deps_YYKKCKSF();
|
|
134389
134514
|
var require_resource_monitor = require_resource_monitor_LVE1BoLs();
|
|
134390
|
-
var require_custom_action_registry =
|
|
134515
|
+
var require_custom_action_registry = require_custom_action_registry_DvVMHLfJ();
|
|
134391
134516
|
var zod = require_zod();
|
|
134392
134517
|
var node_crypto = __require("crypto");
|
|
134393
134518
|
var _camstack_types_node = require_node();
|
|
@@ -199088,8 +199213,9 @@ ${originalIndentation}`;
|
|
|
199088
199213
|
const type2 = resolvePacketType(packet[5]);
|
|
199089
199214
|
this.emit("data", type2, msg);
|
|
199090
199215
|
const rest = packet.slice(length);
|
|
199091
|
-
|
|
199092
|
-
this.
|
|
199216
|
+
const carried = rest.length > 0 && rest.length * 8 < rest.buffer.byteLength ? Buffer.from(rest) : rest;
|
|
199217
|
+
this.bufs = carried.length > 0 ? [carried] : [];
|
|
199218
|
+
this.bufLen = carried.length;
|
|
199093
199219
|
}
|
|
199094
199220
|
cb();
|
|
199095
199221
|
}
|
|
@@ -231696,6 +231822,14 @@ ${recipe.triggers.map((t, i) => emitTrigger(t, i)).join("\n\n")}
|
|
|
231696
231822
|
* set `encodeJpeg: true`; `bytes` is then absent.
|
|
231697
231823
|
*/
|
|
231698
231824
|
jpeg: zod.z.string().optional(),
|
|
231825
|
+
/**
|
|
231826
|
+
* The SAME compressed JPEG as `jpeg`, as bytes (D462). Present instead of
|
|
231827
|
+
* `jpeg` when the request set `acceptJpegBytes`; a request that did not gets
|
|
231828
|
+
* `jpeg` exactly as before. MsgPack and the mesh leg both carry binary —
|
|
231829
|
+
* `bytes` above has crossed this boundary as a `Uint8Array` all along — so
|
|
231830
|
+
* base64 was buying nothing but a multi-megabyte string in the relay's heap.
|
|
231831
|
+
*/
|
|
231832
|
+
jpegBytes: zod.z.instanceof(Uint8Array).optional(),
|
|
231699
231833
|
width: zod.z.number().int().positive(),
|
|
231700
231834
|
height: zod.z.number().int().positive(),
|
|
231701
231835
|
/**
|
|
@@ -231737,7 +231871,14 @@ ${recipe.triggers.map((t, i) => emitTrigger(t, i)).join("\n\n")}
|
|
|
231737
231871
|
detail: zod.z.string().optional()
|
|
231738
231872
|
})]);
|
|
231739
231873
|
var ParkedTrackFrameSchema = zod.z.object({
|
|
231740
|
-
|
|
231874
|
+
/**
|
|
231875
|
+
* Base64 JPEG — the pre-D462 wire. OPTIONAL since D462: a request that set
|
|
231876
|
+
* `acceptJpegBytes` is answered in `jpegBytes` and this is then absent.
|
|
231877
|
+
* Exactly one of the two is present.
|
|
231878
|
+
*/
|
|
231879
|
+
jpeg: zod.z.string().optional(),
|
|
231880
|
+
/** The same JPEG as bytes, for a caller that declared it reads them (D462). */
|
|
231881
|
+
jpegBytes: zod.z.instanceof(Uint8Array).optional(),
|
|
231741
231882
|
width: zod.z.number().int().positive(),
|
|
231742
231883
|
height: zod.z.number().int().positive(),
|
|
231743
231884
|
/** The frame instant the parcel shows (the caller's clock, echoed back). */
|
|
@@ -232393,6 +232534,13 @@ ${recipe.triggers.map((t, i) => emitTrigger(t, i)).join("\n\n")}
|
|
|
232393
232534
|
bbox: NativeCropBboxSchema,
|
|
232394
232535
|
maxWidth: zod.z.number().int().positive().optional(),
|
|
232395
232536
|
/**
|
|
232537
|
+
* The caller reads a `Uint8Array` (D462). When set, a JPEG answer comes
|
|
232538
|
+
* back in `jpegBytes` instead of base64 `jpeg`. Absent means the old
|
|
232539
|
+
* wire — never assume consent: a pre-D462 caller parses the field as
|
|
232540
|
+
* base64 and bytes would decode to garbage rather than fail.
|
|
232541
|
+
*/
|
|
232542
|
+
acceptJpegBytes: zod.z.boolean().optional(),
|
|
232543
|
+
/**
|
|
232396
232544
|
* When `true`, the runner encodes the resolved crop to JPEG ON THE
|
|
232397
232545
|
* OWNING NODE and returns it in `jpeg` (base64) INSTEAD of raw `bytes`.
|
|
232398
232546
|
* Callers set this for CROSS-NODE fetches (`handle.nodeId` is a remote
|
|
@@ -232565,7 +232713,14 @@ ${recipe.triggers.map((t, i) => emitTrigger(t, i)).join("\n\n")}
|
|
|
232565
232713
|
getParkedTrackFrame: require_sleep.method(zod.z.object({
|
|
232566
232714
|
deviceId: zod.z.number(),
|
|
232567
232715
|
trackId: zod.z.string(),
|
|
232568
|
-
kind: ParkedFrameKindSchema
|
|
232716
|
+
kind: ParkedFrameKindSchema,
|
|
232717
|
+
/**
|
|
232718
|
+
* The caller reads a `Uint8Array` (D462). When set, a JPEG answer comes
|
|
232719
|
+
* back in `jpegBytes` instead of base64 `jpeg`. Absent means the old
|
|
232720
|
+
* wire — never assume consent: a pre-D462 caller parses the field as
|
|
232721
|
+
* base64 and bytes would decode to garbage rather than fail.
|
|
232722
|
+
*/
|
|
232723
|
+
acceptJpegBytes: zod.z.boolean().optional()
|
|
232569
232724
|
}), ParkedTrackFrameSchema.nullable()),
|
|
232570
232725
|
/**
|
|
232571
232726
|
* Drop every parcel of a track — the hub closed it. Idempotent. A track
|
|
@@ -357630,8 +357785,10 @@ var require_parser2 = __commonJS({
|
|
|
357630
357785
|
const type = resolvePacketType(packet[5]);
|
|
357631
357786
|
this.emit("data", type, msg);
|
|
357632
357787
|
const rest = packet.slice(length);
|
|
357633
|
-
|
|
357634
|
-
|
|
357788
|
+
const pinsTooMuch = rest.length > 0 && rest.length * 8 < rest.buffer.byteLength;
|
|
357789
|
+
const carried = pinsTooMuch ? Buffer.from(rest) : rest;
|
|
357790
|
+
this.bufs = carried.length > 0 ? [carried] : [];
|
|
357791
|
+
this.bufLen = carried.length;
|
|
357635
357792
|
}
|
|
357636
357793
|
cb();
|
|
357637
357794
|
}
|
|
@@ -413995,7 +414152,7 @@ var require_agent_addon_delivery = __commonJS({
|
|
|
413995
414152
|
exports.AGENT_RELOAD_TIMEOUT_MS = exports.AGENT_DEPLOY_CONTROL_TIMEOUT_MS = void 0;
|
|
413996
414153
|
exports.isAgentDeployResponse = isAgentDeployResponse;
|
|
413997
414154
|
exports.deliverAddonToAgent = deliverAddonToAgent;
|
|
413998
|
-
exports.AGENT_DEPLOY_CONTROL_TIMEOUT_MS =
|
|
414155
|
+
exports.AGENT_DEPLOY_CONTROL_TIMEOUT_MS = 3e5;
|
|
413999
414156
|
exports.AGENT_RELOAD_TIMEOUT_MS = 6e4;
|
|
414000
414157
|
function isAgentDeployResponse(value) {
|
|
414001
414158
|
if (value === null || typeof value !== "object")
|