@camstack/system 1.2.436 → 1.2.437
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/dist/{agent-https-B8lKYVtU.mjs → agent-https-BPfHrI4c.mjs} +3 -3
- package/dist/auth/login-session-manager.d.ts +2 -0
- package/dist/auth/session-revocation-bus.d.ts +32 -0
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
- package/dist/builtins/alerts/alerts.addon.js +1 -1
- package/dist/builtins/alerts/alerts.addon.mjs +1 -1
- package/dist/builtins/autotrack/index.js +1 -1
- package/dist/builtins/autotrack/index.mjs +1 -1
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +2 -2
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +2 -2
- package/dist/builtins/calendars/calendars.addon.js +1 -1
- package/dist/builtins/calendars/calendars.addon.mjs +1 -1
- package/dist/builtins/camera-grid/index.js +1 -1
- package/dist/builtins/camera-grid/index.mjs +1 -1
- package/dist/builtins/composer/composer.addon.js +2 -2
- package/dist/builtins/composer/composer.addon.mjs +2 -2
- package/dist/builtins/console-logging/index.js +1 -1
- package/dist/builtins/console-logging/index.mjs +1 -1
- package/dist/builtins/core-blocks/core-blocks.addon.js +2 -2
- package/dist/builtins/core-blocks/core-blocks.addon.mjs +5 -5
- package/dist/builtins/device-manager/device-manager.addon.js +2 -2
- package/dist/builtins/device-manager/device-manager.addon.mjs +2 -2
- package/dist/builtins/hub-forwarder/index.js +1 -1
- package/dist/builtins/hub-forwarder/index.mjs +1 -1
- package/dist/builtins/keychain/index.js +3 -3
- package/dist/builtins/keychain/index.mjs +3 -3
- package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
- package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
- package/dist/builtins/local-auth/local-auth.addon.js +43 -2
- package/dist/builtins/local-auth/local-auth.addon.mjs +43 -3
- package/dist/builtins/local-network/local-network.addon.js +1 -1
- package/dist/builtins/local-network/local-network.addon.mjs +4 -4
- package/dist/builtins/loki-logging/index.js +1 -1
- package/dist/builtins/loki-logging/index.mjs +1 -1
- package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
- package/dist/builtins/native-metrics/native-metrics.addon.mjs +10 -10
- package/dist/builtins/platform-probe/index.js +1 -1
- package/dist/builtins/platform-probe/index.mjs +8 -8
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
- package/dist/builtins/snapshot/index.js +1 -1
- package/dist/builtins/snapshot/index.mjs +1 -1
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
- package/dist/builtins/sqlite-storage/index.js +1 -1
- package/dist/builtins/sqlite-storage/index.mjs +1 -1
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +3 -3
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +3 -3
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
- package/dist/builtins/system-config/system-config.addon.d.ts +9 -0
- package/dist/builtins/system-config/system-config.addon.js +117 -72
- package/dist/builtins/system-config/system-config.addon.mjs +117 -73
- package/dist/builtins/winston-logging/index.js +1 -1
- package/dist/builtins/winston-logging/index.mjs +1 -1
- package/dist/{composition-sources-BAOlCu4j.js → composition-sources-BIT8IUKm.js} +1 -1
- package/dist/{composition-sources-gN_BWUKp.mjs → composition-sources-tpYR0f1x.mjs} +1 -1
- package/dist/{constants-BFpowodq.mjs → constants-Bc6trhoW.mjs} +1 -1
- package/dist/{constants-GENKqk9k.js → constants-CwRY32Nx.js} +1 -1
- package/dist/{device-ca-BNM5ai4t.mjs → device-ca-BhdBByGD.mjs} +1 -1
- package/dist/{device-ca-CuWuRW9N.js → device-ca-DImD8IzR.js} +1 -1
- package/dist/{dist-DVe0Nsp8.js → dist-CEAyXW3Q.js} +44 -2
- package/dist/{dist-DjD2M79P.mjs → dist-m5JkT8UN.mjs} +33 -3
- package/dist/file-host-worker.js +1 -1
- package/dist/file-host-worker.mjs +1 -1
- package/dist/{hub-mdns-ciao-DJRwtlA8.mjs → hub-mdns-ciao-DMlQTdPU.mjs} +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +8 -6
- package/dist/index.mjs +23 -22
- package/dist/{restore-archive-D4h904rb.js → restore-archive-C75srVbG.js} +1 -1
- package/dist/{restore-archive-BxmP1ChO.mjs → restore-archive-DNxAStrJ.mjs} +1 -1
- package/dist/{retired-settings-keys-CQaknvx1.mjs → retired-settings-keys-C5qP9QIf.mjs} +1 -1
- package/dist/{retired-settings-keys-CYP5IZJ5.js → retired-settings-keys-DNfV28R_.js} +1 -1
- package/dist/{wal-maintenance-Br60onAQ.js → wal-maintenance-Ch79gy9S.js} +0 -0
- package/dist/{wal-maintenance-CaDsrJM_.mjs → wal-maintenance-DvnVO5IK.mjs} +0 -0
- package/package.json +1 -1
|
@@ -3,17 +3,19 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
const require_chunk = require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-CEAyXW3Q.js");
|
|
7
7
|
const require_safe_buffer$1 = require("../../safe-buffer-D3aoa-7X.js");
|
|
8
8
|
const require_x509_es = require("../../x509.es-r7Ht1thA.js");
|
|
9
9
|
const require_agent_https = require("../../agent-https-BZIwS4xF.js");
|
|
10
|
-
const require_constants$8 = require("../../constants-
|
|
10
|
+
const require_constants$8 = require("../../constants-CwRY32Nx.js");
|
|
11
11
|
const require_src$1 = require("../../src-CnAqG6EF.js");
|
|
12
12
|
let zod = require("zod");
|
|
13
13
|
let node_crypto = require("node:crypto");
|
|
14
14
|
let node_net = require("node:net");
|
|
15
15
|
let node_fs_promises = require("node:fs/promises");
|
|
16
16
|
let node_path = require("node:path");
|
|
17
|
+
let node_os = require("node:os");
|
|
18
|
+
node_os = require_chunk.__toESM(node_os);
|
|
17
19
|
let node_url = require("node:url");
|
|
18
20
|
let node_fs = require("node:fs");
|
|
19
21
|
node_fs = require_chunk.__toESM(node_fs, 1);
|
|
@@ -21365,7 +21367,7 @@ var require_kleur = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, modul
|
|
|
21365
21367
|
//#region ../../node_modules/moleculer/src/utils.js
|
|
21366
21368
|
var require_utils$3 = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, module) => {
|
|
21367
21369
|
var kleur = require_kleur();
|
|
21368
|
-
var os$
|
|
21370
|
+
var os$19 = require("os");
|
|
21369
21371
|
var path$40 = require("path");
|
|
21370
21372
|
var fs$20 = require("fs");
|
|
21371
21373
|
var { TimeoutError } = require_errors$2();
|
|
@@ -21464,7 +21466,7 @@ var require_utils$3 = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, mod
|
|
|
21464
21466
|
* @returns
|
|
21465
21467
|
*/
|
|
21466
21468
|
getNodeID() {
|
|
21467
|
-
return os$
|
|
21469
|
+
return os$19.hostname().toLowerCase() + "-" + process.pid;
|
|
21468
21470
|
},
|
|
21469
21471
|
/**
|
|
21470
21472
|
* Get list of local IPs
|
|
@@ -21474,7 +21476,7 @@ var require_utils$3 = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, mod
|
|
|
21474
21476
|
getIpList() {
|
|
21475
21477
|
const list = [];
|
|
21476
21478
|
const ilist = [];
|
|
21477
|
-
const interfaces = os$
|
|
21479
|
+
const interfaces = os$19.networkInterfaces();
|
|
21478
21480
|
for (let iface in interfaces) for (let i in interfaces[iface]) {
|
|
21479
21481
|
const f = interfaces[iface]?.[i];
|
|
21480
21482
|
if (f.family === "IPv4") if (f.internal) {
|
|
@@ -23160,7 +23162,7 @@ var require_event$1 = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, mod
|
|
|
23160
23162
|
var require_datadog$2 = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, module) => {
|
|
23161
23163
|
var BaseReporter = require_base$8();
|
|
23162
23164
|
var _ = require_lodash();
|
|
23163
|
-
var os$
|
|
23165
|
+
var os$18 = require("os");
|
|
23164
23166
|
var { MoleculerError } = require_errors$2();
|
|
23165
23167
|
var METRIC = require_constants$6();
|
|
23166
23168
|
var { isFunction } = require_utils$3();
|
|
@@ -23193,7 +23195,7 @@ var require_datadog$2 = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, m
|
|
|
23193
23195
|
super(opts);
|
|
23194
23196
|
/** @type {DatadogReporterOptions} */
|
|
23195
23197
|
this.opts = _.defaultsDeep(this.opts, {
|
|
23196
|
-
host: os$
|
|
23198
|
+
host: os$18.hostname(),
|
|
23197
23199
|
baseUrl: BASE_URL,
|
|
23198
23200
|
apiVersion: "v1",
|
|
23199
23201
|
path: "/series",
|
|
@@ -23869,18 +23871,18 @@ var require_cpu_usage$1 = /* @__PURE__ */ require_chunk.__commonJSMin(((exports,
|
|
|
23869
23871
|
*
|
|
23870
23872
|
* Based on: https://github.com/icebob/cpu
|
|
23871
23873
|
*/
|
|
23872
|
-
var os$
|
|
23874
|
+
var os$17 = require("os");
|
|
23873
23875
|
/* istanbul ignore next */
|
|
23874
23876
|
module.exports = function getCpuUsage(sampleTime = 100) {
|
|
23875
23877
|
return new Promise((resolve, reject) => {
|
|
23876
23878
|
try {
|
|
23877
|
-
const first = os$
|
|
23879
|
+
const first = os$17.cpus().map((cpu) => cpu.times);
|
|
23878
23880
|
setTimeout(() => {
|
|
23879
23881
|
try {
|
|
23880
|
-
const second = os$
|
|
23882
|
+
const second = os$17.cpus().map((cpu) => cpu.times);
|
|
23881
23883
|
setTimeout(() => {
|
|
23882
23884
|
try {
|
|
23883
|
-
const third = os$
|
|
23885
|
+
const third = os$17.cpus().map((cpu) => cpu.times);
|
|
23884
23886
|
const usages = [];
|
|
23885
23887
|
for (let i = 0; i < first.length; i++) {
|
|
23886
23888
|
const first_idle = first[i].idle;
|
|
@@ -23913,7 +23915,7 @@ var require_cpu_usage$1 = /* @__PURE__ */ require_chunk.__commonJSMin(((exports,
|
|
|
23913
23915
|
//#endregion
|
|
23914
23916
|
//#region ../../node_modules/moleculer/src/metrics/commons.js
|
|
23915
23917
|
var require_commons = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, module) => {
|
|
23916
|
-
var os$
|
|
23918
|
+
var os$16 = require("os");
|
|
23917
23919
|
var METRIC = require_constants$6();
|
|
23918
23920
|
var cpuUsage = require_cpu_usage$1();
|
|
23919
23921
|
var v8;
|
|
@@ -24092,27 +24094,27 @@ var require_commons = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, mod
|
|
|
24092
24094
|
name: METRIC.OS_TYPE,
|
|
24093
24095
|
type: METRIC.TYPE_INFO,
|
|
24094
24096
|
description: "OS type"
|
|
24095
|
-
}).set(os$
|
|
24097
|
+
}).set(os$16.type());
|
|
24096
24098
|
this.register({
|
|
24097
24099
|
name: METRIC.OS_RELEASE,
|
|
24098
24100
|
type: METRIC.TYPE_INFO,
|
|
24099
24101
|
description: "OS release"
|
|
24100
|
-
}).set(os$
|
|
24102
|
+
}).set(os$16.release());
|
|
24101
24103
|
this.register({
|
|
24102
24104
|
name: METRIC.OS_HOSTNAME,
|
|
24103
24105
|
type: METRIC.TYPE_INFO,
|
|
24104
24106
|
description: "Hostname"
|
|
24105
|
-
}).set(os$
|
|
24107
|
+
}).set(os$16.hostname());
|
|
24106
24108
|
this.register({
|
|
24107
24109
|
name: METRIC.OS_ARCH,
|
|
24108
24110
|
type: METRIC.TYPE_INFO,
|
|
24109
24111
|
description: "OS architecture"
|
|
24110
|
-
}).set(os$
|
|
24112
|
+
}).set(os$16.arch());
|
|
24111
24113
|
this.register({
|
|
24112
24114
|
name: METRIC.OS_PLATFORM,
|
|
24113
24115
|
type: METRIC.TYPE_INFO,
|
|
24114
24116
|
description: "OS platform"
|
|
24115
|
-
}).set(os$
|
|
24117
|
+
}).set(os$16.platform());
|
|
24116
24118
|
const userInfo = getUserInfo();
|
|
24117
24119
|
this.register({
|
|
24118
24120
|
name: METRIC.OS_USER_UID,
|
|
@@ -24263,22 +24265,22 @@ var require_commons = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, mod
|
|
|
24263
24265
|
}
|
|
24264
24266
|
this.set(METRIC.PROCESS_UPTIME, process.uptime());
|
|
24265
24267
|
this.set(METRIC.PROCESS_INTERNAL_ACTIVE_HANDLES, process.getActiveResourcesInfo().length);
|
|
24266
|
-
const freeMem = os$
|
|
24267
|
-
const totalMem = os$
|
|
24268
|
+
const freeMem = os$16.freemem();
|
|
24269
|
+
const totalMem = os$16.totalmem();
|
|
24268
24270
|
const usedMem = totalMem - freeMem;
|
|
24269
24271
|
this.set(METRIC.OS_MEMORY_FREE, freeMem);
|
|
24270
24272
|
this.set(METRIC.OS_MEMORY_USED, usedMem);
|
|
24271
24273
|
this.set(METRIC.OS_MEMORY_TOTAL, totalMem);
|
|
24272
|
-
this.set(METRIC.OS_UPTIME, os$
|
|
24273
|
-
this.set(METRIC.OS_TYPE, os$
|
|
24274
|
-
this.set(METRIC.OS_RELEASE, os$
|
|
24275
|
-
this.set(METRIC.OS_HOSTNAME, os$
|
|
24276
|
-
this.set(METRIC.OS_ARCH, os$
|
|
24277
|
-
this.set(METRIC.OS_PLATFORM, os$
|
|
24274
|
+
this.set(METRIC.OS_UPTIME, os$16.uptime());
|
|
24275
|
+
this.set(METRIC.OS_TYPE, os$16.type());
|
|
24276
|
+
this.set(METRIC.OS_RELEASE, os$16.release());
|
|
24277
|
+
this.set(METRIC.OS_HOSTNAME, os$16.hostname());
|
|
24278
|
+
this.set(METRIC.OS_ARCH, os$16.arch());
|
|
24279
|
+
this.set(METRIC.OS_PLATFORM, os$16.platform());
|
|
24278
24280
|
const getNetworkInterfaces = () => {
|
|
24279
24281
|
const list = [];
|
|
24280
24282
|
const ilist = [];
|
|
24281
|
-
const interfaces = os$
|
|
24283
|
+
const interfaces = os$16.networkInterfaces();
|
|
24282
24284
|
for (let iface in interfaces) for (let i in interfaces[iface]) {
|
|
24283
24285
|
const f = interfaces[iface][i];
|
|
24284
24286
|
if (f.internal) ilist.push({
|
|
@@ -24308,7 +24310,7 @@ var require_commons = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, mod
|
|
|
24308
24310
|
this.set(METRIC.OS_DATETIME_ISO, d.toISOString());
|
|
24309
24311
|
this.set(METRIC.OS_DATETIME_UTC, d.toUTCString());
|
|
24310
24312
|
this.set(METRIC.OS_DATETIME_TZ_OFFSET, d.getTimezoneOffset());
|
|
24311
|
-
const load = os$
|
|
24313
|
+
const load = os$16.loadavg();
|
|
24312
24314
|
this.set(METRIC.OS_CPU_LOAD_1, load[0]);
|
|
24313
24315
|
this.set(METRIC.OS_CPU_LOAD_5, load[1]);
|
|
24314
24316
|
this.set(METRIC.OS_CPU_LOAD_15, load[2]);
|
|
@@ -24316,7 +24318,7 @@ var require_commons = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, mod
|
|
|
24316
24318
|
return this.broker.Promise.resolve().then(() => cpuUsage().then((res) => {
|
|
24317
24319
|
this.set(METRIC.OS_CPU_UTILIZATION, res.avg);
|
|
24318
24320
|
try {
|
|
24319
|
-
const cpus = os$
|
|
24321
|
+
const cpus = os$16.cpus();
|
|
24320
24322
|
this.set(METRIC.OS_CPU_TOTAL, cpus.length);
|
|
24321
24323
|
this.set(METRIC.OS_CPU_USER, cpus.reduce((a, b) => a + b.times.user, 0));
|
|
24322
24324
|
this.set(METRIC.OS_CPU_SYSTEM, cpus.reduce((a, b) => a + b.times.sys, 0));
|
|
@@ -24338,7 +24340,7 @@ var require_commons = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, mod
|
|
|
24338
24340
|
*/
|
|
24339
24341
|
function getUserInfo() {
|
|
24340
24342
|
try {
|
|
24341
|
-
return os$
|
|
24343
|
+
return os$16.userInfo();
|
|
24342
24344
|
} catch {
|
|
24343
24345
|
/* istanbul ignore next */
|
|
24344
24346
|
return {};
|
|
@@ -34560,7 +34562,7 @@ var require_node = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, module
|
|
|
34560
34562
|
//#region ../../node_modules/moleculer/src/registry/node-catalog.js
|
|
34561
34563
|
var require_node_catalog = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, module) => {
|
|
34562
34564
|
var _ = require_lodash();
|
|
34563
|
-
var os$
|
|
34565
|
+
var os$15 = require("os");
|
|
34564
34566
|
var Node = require_node();
|
|
34565
34567
|
var { getIpList } = require_utils$3();
|
|
34566
34568
|
/**
|
|
@@ -34606,7 +34608,7 @@ var require_node_catalog = /* @__PURE__ */ require_chunk.__commonJSMin(((exports
|
|
|
34606
34608
|
node.local = true;
|
|
34607
34609
|
node.ipList = getIpList();
|
|
34608
34610
|
node.instanceID = this.broker.instanceID;
|
|
34609
|
-
node.hostname = os$
|
|
34611
|
+
node.hostname = os$15.hostname();
|
|
34610
34612
|
node.client = {
|
|
34611
34613
|
type: "nodejs",
|
|
34612
34614
|
version: this.broker.MOLECULER_VERSION,
|
|
@@ -36680,7 +36682,7 @@ var require_console$2 = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, m
|
|
|
36680
36682
|
var require_datadog$1 = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, module) => {
|
|
36681
36683
|
var BaseLogger = require_base$4();
|
|
36682
36684
|
var _ = require_lodash();
|
|
36683
|
-
var os$
|
|
36685
|
+
var os$14 = require("os");
|
|
36684
36686
|
var { MoleculerError } = require_errors$2();
|
|
36685
36687
|
var util$6 = require("util");
|
|
36686
36688
|
var { isObject } = require_utils$3();
|
|
@@ -36713,7 +36715,7 @@ var require_datadog$1 = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, m
|
|
|
36713
36715
|
apiKey: process.env.DATADOG_API_KEY,
|
|
36714
36716
|
ddSource: "moleculer",
|
|
36715
36717
|
env: void 0,
|
|
36716
|
-
hostname: os$
|
|
36718
|
+
hostname: os$14.hostname(),
|
|
36717
36719
|
objectPrinter: null,
|
|
36718
36720
|
interval: 10 * 1e3
|
|
36719
36721
|
});
|
|
@@ -36909,7 +36911,7 @@ var require_file$2 = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, modu
|
|
|
36909
36911
|
var _ = require_lodash();
|
|
36910
36912
|
var fs$16 = require("fs/promises");
|
|
36911
36913
|
var path$37 = require("path");
|
|
36912
|
-
var os$
|
|
36914
|
+
var os$13 = require("os");
|
|
36913
36915
|
var { makeDirs } = require_utils$3();
|
|
36914
36916
|
/**
|
|
36915
36917
|
* Import types
|
|
@@ -36938,7 +36940,7 @@ var require_file$2 = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, modu
|
|
|
36938
36940
|
this.opts = _.defaultsDeep(this.opts, {
|
|
36939
36941
|
folder: "./logs",
|
|
36940
36942
|
filename: "moleculer-{date}.log",
|
|
36941
|
-
eol: os$
|
|
36943
|
+
eol: os$13.EOL,
|
|
36942
36944
|
interval: 1 * 1e3
|
|
36943
36945
|
});
|
|
36944
36946
|
this.opts.colors = false;
|
|
@@ -37358,7 +37360,7 @@ var require_lib$5 = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, modul
|
|
|
37358
37360
|
//#region ../../node_modules/log4js/lib/layouts.js
|
|
37359
37361
|
var require_layouts = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, module) => {
|
|
37360
37362
|
var dateFormat = require_lib$5();
|
|
37361
|
-
var os$
|
|
37363
|
+
var os$12 = require("os");
|
|
37362
37364
|
var util$4 = require("util");
|
|
37363
37365
|
var path$36 = require("path");
|
|
37364
37366
|
var styles = {
|
|
@@ -37484,13 +37486,13 @@ var require_layouts = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, mod
|
|
|
37484
37486
|
return dateFormat.asString(format, loggingEvent.startTime);
|
|
37485
37487
|
}
|
|
37486
37488
|
function hostname() {
|
|
37487
|
-
return os$
|
|
37489
|
+
return os$12.hostname().toString();
|
|
37488
37490
|
}
|
|
37489
37491
|
function formatMessage(loggingEvent) {
|
|
37490
37492
|
return util$4.format(...loggingEvent.data);
|
|
37491
37493
|
}
|
|
37492
37494
|
function endOfLine() {
|
|
37493
|
-
return os$
|
|
37495
|
+
return os$12.EOL;
|
|
37494
37496
|
}
|
|
37495
37497
|
function logLevel(loggingEvent) {
|
|
37496
37498
|
return loggingEvent.level.toString();
|
|
@@ -39089,11 +39091,11 @@ var require_mkdirs = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, modu
|
|
|
39089
39091
|
//#region ../../node_modules/streamroller/node_modules/fs-extra/lib/util/utimes.js
|
|
39090
39092
|
var require_utimes = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, module) => {
|
|
39091
39093
|
var fs = require_graceful_fs();
|
|
39092
|
-
var os$
|
|
39094
|
+
var os$11 = require("os");
|
|
39093
39095
|
var path$32 = require("path");
|
|
39094
39096
|
function hasMillisResSync() {
|
|
39095
39097
|
let tmpfile = path$32.join("millis-test-sync" + Date.now().toString() + Math.random().toString().slice(2));
|
|
39096
|
-
tmpfile = path$32.join(os$
|
|
39098
|
+
tmpfile = path$32.join(os$11.tmpdir(), tmpfile);
|
|
39097
39099
|
const d = /* @__PURE__ */ new Date(1435410243862);
|
|
39098
39100
|
fs.writeFileSync(tmpfile, "https://github.com/jprichardson/node-fs-extra/pull/141");
|
|
39099
39101
|
const fd = fs.openSync(tmpfile, "r+");
|
|
@@ -39103,7 +39105,7 @@ var require_utimes = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, modu
|
|
|
39103
39105
|
}
|
|
39104
39106
|
function hasMillisRes(callback) {
|
|
39105
39107
|
let tmpfile = path$32.join("millis-test" + Date.now().toString() + Math.random().toString().slice(2));
|
|
39106
|
-
tmpfile = path$32.join(os$
|
|
39108
|
+
tmpfile = path$32.join(os$11.tmpdir(), tmpfile);
|
|
39107
39109
|
const d = /* @__PURE__ */ new Date(1435410243862);
|
|
39108
39110
|
fs.writeFile(tmpfile, "https://github.com/jprichardson/node-fs-extra/pull/141", (err) => {
|
|
39109
39111
|
if (err) return callback(err);
|
|
@@ -45405,7 +45407,7 @@ var require_multistream = /* @__PURE__ */ require_chunk.__commonJSMin(((exports,
|
|
|
45405
45407
|
//#endregion
|
|
45406
45408
|
//#region ../../node_modules/pino/pino.js
|
|
45407
45409
|
var require_pino$1 = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, module) => {
|
|
45408
|
-
var os$
|
|
45410
|
+
var os$10 = require("node:os");
|
|
45409
45411
|
var stdSerializers = require_pino_std_serializers();
|
|
45410
45412
|
var caller = require_caller();
|
|
45411
45413
|
var redaction = require_redaction();
|
|
@@ -45420,7 +45422,7 @@ var require_pino$1 = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, modu
|
|
|
45420
45422
|
var { chindingsSym, redactFmtSym, serializersSym, timeSym, timeSliceIndexSym, streamSym, stringifySym, stringifySafeSym, stringifiersSym, setLevelSym, endSym, formatOptsSym, messageKeySym, errorKeySym, nestedKeySym, mixinSym, levelCompSym, useOnlyCustomLevelsSym, formattersSym, hooksSym, nestedKeyStrSym, mixinMergeStrategySym, msgPrefixSym } = symbols;
|
|
45421
45423
|
var { epochTime, nullTime } = time;
|
|
45422
45424
|
var { pid } = process;
|
|
45423
|
-
var hostname = os$
|
|
45425
|
+
var hostname = os$10.hostname();
|
|
45424
45426
|
var defaultErrorSerializer = stdSerializers.err;
|
|
45425
45427
|
var normalize = createArgsNormalizer({
|
|
45426
45428
|
level: "info",
|
|
@@ -71525,7 +71527,7 @@ var require_ipaddr = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, modu
|
|
|
71525
71527
|
//#region ../../node_modules/moleculer/src/transporters/tcp/udp-broadcaster.js
|
|
71526
71528
|
var require_udp_broadcaster = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, module) => {
|
|
71527
71529
|
var EventEmitter$2 = require("events");
|
|
71528
|
-
var os$
|
|
71530
|
+
var os$9 = require("os");
|
|
71529
71531
|
var dgram = require("dgram");
|
|
71530
71532
|
var ipaddr = require_ipaddr();
|
|
71531
71533
|
var { randomInt } = require_utils$3();
|
|
@@ -71736,7 +71738,7 @@ var require_udp_broadcaster = /* @__PURE__ */ require_chunk.__commonJSMin(((expo
|
|
|
71736
71738
|
*/
|
|
71737
71739
|
getBroadcastAddresses() {
|
|
71738
71740
|
const list = [];
|
|
71739
|
-
const interfaces = os$
|
|
71741
|
+
const interfaces = os$9.networkInterfaces();
|
|
71740
71742
|
for (let iface in interfaces) for (let i in interfaces[iface]) {
|
|
71741
71743
|
const f = interfaces[iface][i];
|
|
71742
71744
|
if (f.family === "IPv4") list.push(ipaddr.IPv4.broadcastAddressFromCIDR(f.cidr).toString());
|
|
@@ -71751,7 +71753,7 @@ var require_udp_broadcaster = /* @__PURE__ */ require_chunk.__commonJSMin(((expo
|
|
|
71751
71753
|
*/
|
|
71752
71754
|
getInterfaceAddresses() {
|
|
71753
71755
|
const list = [];
|
|
71754
|
-
const interfaces = os$
|
|
71756
|
+
const interfaces = os$9.networkInterfaces();
|
|
71755
71757
|
for (let iface in interfaces) for (let i in interfaces[iface]) {
|
|
71756
71758
|
const f = interfaces[iface][i];
|
|
71757
71759
|
if (f.family === "IPv4") list.push(f.address);
|
|
@@ -73034,7 +73036,7 @@ var init_package = require_chunk.__esmMin((() => {
|
|
|
73034
73036
|
//#endregion
|
|
73035
73037
|
//#region ../../node_modules/moleculer/src/health.js
|
|
73036
73038
|
var require_health = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, module) => {
|
|
73037
|
-
var os$
|
|
73039
|
+
var os$8 = require("os");
|
|
73038
73040
|
var { getIpList } = require_utils$3();
|
|
73039
73041
|
var MOLECULER_VERSION = (init_package(), require_chunk.__toCommonJS(package_exports).default).version;
|
|
73040
73042
|
/**
|
|
@@ -73050,9 +73052,9 @@ var require_health = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, modu
|
|
|
73050
73052
|
};
|
|
73051
73053
|
};
|
|
73052
73054
|
var getCpuInfo = () => {
|
|
73053
|
-
const cpus = os$
|
|
73054
|
-
const load = os$
|
|
73055
|
-
const cores = Array.isArray(cpus) ? os$
|
|
73055
|
+
const cpus = os$8.cpus();
|
|
73056
|
+
const load = os$8.loadavg();
|
|
73057
|
+
const cores = Array.isArray(cpus) ? os$8.cpus().length : null;
|
|
73056
73058
|
return {
|
|
73057
73059
|
load1: load[0],
|
|
73058
73060
|
load5: load[1],
|
|
@@ -73063,8 +73065,8 @@ var require_health = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, modu
|
|
|
73063
73065
|
};
|
|
73064
73066
|
var getMemoryInfo = () => {
|
|
73065
73067
|
const mem = {
|
|
73066
|
-
free: os$
|
|
73067
|
-
total: os$
|
|
73068
|
+
free: os$8.freemem(),
|
|
73069
|
+
total: os$8.totalmem(),
|
|
73068
73070
|
percent: null
|
|
73069
73071
|
};
|
|
73070
73072
|
mem.percent = mem.free * 100 / mem.total;
|
|
@@ -73076,19 +73078,19 @@ var require_health = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, modu
|
|
|
73076
73078
|
*/
|
|
73077
73079
|
var getUserInfo = () => {
|
|
73078
73080
|
try {
|
|
73079
|
-
return os$
|
|
73081
|
+
return os$8.userInfo();
|
|
73080
73082
|
} catch {
|
|
73081
73083
|
return {};
|
|
73082
73084
|
}
|
|
73083
73085
|
};
|
|
73084
73086
|
var getOsInfo = () => {
|
|
73085
73087
|
return {
|
|
73086
|
-
uptime: os$
|
|
73087
|
-
type: os$
|
|
73088
|
-
release: os$
|
|
73089
|
-
hostname: os$
|
|
73090
|
-
arch: os$
|
|
73091
|
-
platform: os$
|
|
73088
|
+
uptime: os$8.uptime(),
|
|
73089
|
+
type: os$8.type(),
|
|
73090
|
+
release: os$8.release(),
|
|
73091
|
+
hostname: os$8.hostname(),
|
|
73092
|
+
arch: os$8.arch(),
|
|
73093
|
+
platform: os$8.platform(),
|
|
73092
73094
|
user: getUserInfo()
|
|
73093
73095
|
};
|
|
73094
73096
|
};
|
|
@@ -74781,11 +74783,11 @@ var require_ttl = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, module)
|
|
|
74781
74783
|
//#endregion
|
|
74782
74784
|
//#region ../../node_modules/recursive-watch/index.js
|
|
74783
74785
|
var require_recursive_watch = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, module) => {
|
|
74784
|
-
var os$
|
|
74786
|
+
var os$7 = require("os");
|
|
74785
74787
|
var fs$9 = require("fs");
|
|
74786
74788
|
var path$11 = require("path");
|
|
74787
74789
|
var Cache = require_ttl();
|
|
74788
|
-
var watchDirectory = os$
|
|
74790
|
+
var watchDirectory = os$7.platform() === "linux" ? watchFallback : watchRecursive;
|
|
74789
74791
|
module.exports = watch;
|
|
74790
74792
|
function watch(name, onchange) {
|
|
74791
74793
|
var clear = null;
|
|
@@ -81761,7 +81763,7 @@ var require_has_flag = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, mo
|
|
|
81761
81763
|
//#endregion
|
|
81762
81764
|
//#region ../../node_modules/args/node_modules/supports-color/index.js
|
|
81763
81765
|
var require_supports_color = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, module) => {
|
|
81764
|
-
var os$
|
|
81766
|
+
var os$6 = require("os");
|
|
81765
81767
|
var hasFlag = require_has_flag();
|
|
81766
81768
|
var env = process.env;
|
|
81767
81769
|
var forceColor;
|
|
@@ -81784,7 +81786,7 @@ var require_supports_color = /* @__PURE__ */ require_chunk.__commonJSMin(((expor
|
|
|
81784
81786
|
if (stream && !stream.isTTY && forceColor !== true) return 0;
|
|
81785
81787
|
const min = forceColor ? 1 : 0;
|
|
81786
81788
|
if (process.platform === "win32") {
|
|
81787
|
-
const osRelease = os$
|
|
81789
|
+
const osRelease = os$6.release().split(".");
|
|
81788
81790
|
if (Number(process.versions.node.split(".")[0]) >= 8 && Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) return Number(osRelease[2]) >= 14931 ? 3 : 2;
|
|
81789
81791
|
return 1;
|
|
81790
81792
|
}
|
|
@@ -82674,7 +82676,7 @@ var require_lib = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, module)
|
|
|
82674
82676
|
var require_main = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, module) => {
|
|
82675
82677
|
var fs$4 = require("fs");
|
|
82676
82678
|
var path$3 = require("path");
|
|
82677
|
-
var os$
|
|
82679
|
+
var os$5 = require("os");
|
|
82678
82680
|
var crypto = require("crypto");
|
|
82679
82681
|
var TIPS = [
|
|
82680
82682
|
"◈ encrypted .env [www.dotenvx.com]",
|
|
@@ -82807,7 +82809,7 @@ var require_main = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, module
|
|
|
82807
82809
|
return null;
|
|
82808
82810
|
}
|
|
82809
82811
|
function _resolveHome(envPath) {
|
|
82810
|
-
return envPath[0] === "~" ? path$3.join(os$
|
|
82812
|
+
return envPath[0] === "~" ? path$3.join(os$5.homedir(), envPath.slice(1)) : envPath;
|
|
82811
82813
|
}
|
|
82812
82814
|
function _configVault(options) {
|
|
82813
82815
|
const debug = parseBoolean(process.env.DOTENV_CONFIG_DEBUG || options && options.debug);
|
|
@@ -82955,7 +82957,7 @@ var require_runner = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, modu
|
|
|
82955
82957
|
var inspect$1 = require("util").inspect;
|
|
82956
82958
|
var _ = require_lodash();
|
|
82957
82959
|
var Args = require_lib();
|
|
82958
|
-
var os$
|
|
82960
|
+
var os$4 = require("os");
|
|
82959
82961
|
/** @type {Cluster} */
|
|
82960
82962
|
var cluster$2 = require("cluster");
|
|
82961
82963
|
var kleur = require_kleur();
|
|
@@ -83261,7 +83263,7 @@ var require_runner = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, modu
|
|
|
83261
83263
|
logger.info(`Worker #${worker.id} restarted`);
|
|
83262
83264
|
} else process.exit(code);
|
|
83263
83265
|
});
|
|
83264
|
-
const workerCount = Number.isInteger(instances) && instances > 0 ? instances : os$
|
|
83266
|
+
const workerCount = Number.isInteger(instances) && instances > 0 ? instances : os$4.cpus().length;
|
|
83265
83267
|
logger.info(`Starting ${workerCount} workers...`);
|
|
83266
83268
|
for (let i = 0; i < workerCount; i++) cluster$2.fork();
|
|
83267
83269
|
stopSignals.forEach(function(signal) {
|
|
@@ -83399,7 +83401,7 @@ var Gt = (n, t, e) => {
|
|
|
83399
83401
|
}
|
|
83400
83402
|
return h;
|
|
83401
83403
|
};
|
|
83402
|
-
var fe = "\0SLASH" + Math.random() + "\0", ue = "\0OPEN" + Math.random() + "\0", qt = "\0CLOSE" + Math.random() + "\0", de = "\0COMMA" + Math.random() + "\0", pe = "\0PERIOD" + Math.random() + "\0", is = new RegExp(fe, "g"), rs = new RegExp(ue, "g"), ns = new RegExp(qt, "g"), os$
|
|
83404
|
+
var fe = "\0SLASH" + Math.random() + "\0", ue = "\0OPEN" + Math.random() + "\0", qt = "\0CLOSE" + Math.random() + "\0", de = "\0COMMA" + Math.random() + "\0", pe = "\0PERIOD" + Math.random() + "\0", is = new RegExp(fe, "g"), rs = new RegExp(ue, "g"), ns = new RegExp(qt, "g"), os$3 = new RegExp(de, "g"), hs = new RegExp(pe, "g"), as = /\\\\/g, ls = /\\{/g, cs = /\\}/g, fs$2 = /\\,/g, us = /\\./g, ds = 1e5;
|
|
83403
83405
|
function Ht(n) {
|
|
83404
83406
|
return isNaN(n) ? n.charCodeAt(0) : parseInt(n, 10);
|
|
83405
83407
|
}
|
|
@@ -83407,7 +83409,7 @@ function ps(n) {
|
|
|
83407
83409
|
return n.replace(as, fe).replace(ls, ue).replace(cs, qt).replace(fs$2, de).replace(us, pe);
|
|
83408
83410
|
}
|
|
83409
83411
|
function ms(n) {
|
|
83410
|
-
return n.replace(is, "\\").replace(rs, "{").replace(ns, "}").replace(os$
|
|
83412
|
+
return n.replace(is, "\\").replace(rs, "{").replace(ns, "}").replace(os$3, ",").replace(hs, ".");
|
|
83411
83413
|
}
|
|
83412
83414
|
function me(n) {
|
|
83413
83415
|
if (!n) return [""];
|
|
@@ -88362,7 +88364,8 @@ var MESH_REAP_MS = 24 * 36e5;
|
|
|
88362
88364
|
* state of their own (the session token lifetime).
|
|
88363
88365
|
*
|
|
88364
88366
|
* Sections exposed — this list is the whole of it:
|
|
88365
|
-
* - server (port, host, dataPath — READ-ONLY, loaded from config.yaml at bootstrap
|
|
88367
|
+
* - server (port, host, dataPath — READ-ONLY, loaded from config.yaml at bootstrap;
|
|
88368
|
+
* name = the hub's human name, `server.name`, editable — D861)
|
|
88366
88369
|
* - auth (tokenExpiry = session lifetime, accessTokenExpiry, trustedProxies,
|
|
88367
88370
|
* trustedNetworks)
|
|
88368
88371
|
* - cluster (no operator field remains: the cluster secret and the mesh auth
|
|
@@ -88401,12 +88404,15 @@ var SECTION_TITLES = {
|
|
|
88401
88404
|
};
|
|
88402
88405
|
/** The keychain owner of the hub's own secrets (D797). */
|
|
88403
88406
|
var SYSTEM_SECRET_OWNER = "system";
|
|
88407
|
+
/** The form key (and the `server` section key) of the hub's human name (D861). */
|
|
88408
|
+
var SERVER_NAME_FIELD = "name";
|
|
88404
88409
|
/** Keys that map 1:1 to a given yml section — used by `updateGlobalSettings`
|
|
88405
88410
|
* to figure out which section owns each key in the incoming patch. */
|
|
88406
88411
|
var KEY_TO_SECTION = {
|
|
88407
88412
|
port: "server",
|
|
88408
88413
|
host: "server",
|
|
88409
88414
|
dataPath: "server",
|
|
88415
|
+
[SERVER_NAME_FIELD]: "server",
|
|
88410
88416
|
tokenExpiry: "auth",
|
|
88411
88417
|
accessTokenExpiry: "auth",
|
|
88412
88418
|
trustedProxies: "auth",
|
|
@@ -88597,14 +88603,22 @@ var SystemConfigAddon = class extends require_dist.BaseAddon {
|
|
|
88597
88603
|
{
|
|
88598
88604
|
id: "system-config-server",
|
|
88599
88605
|
title: SECTION_TITLES["server"],
|
|
88600
|
-
description: "
|
|
88606
|
+
description: "The name of this server, and its connection settings (read-only, loaded from config.yaml at bootstrap).",
|
|
88601
88607
|
columns: 2,
|
|
88602
88608
|
fields: [
|
|
88609
|
+
{
|
|
88610
|
+
type: "text",
|
|
88611
|
+
key: SERVER_NAME_FIELD,
|
|
88612
|
+
label: "Server name",
|
|
88613
|
+
description: `Shown in the admin UI and on the apps' sign-in screen (1 to 48 characters). Leave empty to use this machine's hostname.`,
|
|
88614
|
+
placeholder: hostnameWithoutDomain(),
|
|
88615
|
+
span: 2
|
|
88616
|
+
},
|
|
88603
88617
|
{
|
|
88604
88618
|
type: "info",
|
|
88605
88619
|
key: "server-restart-note",
|
|
88606
88620
|
label: "Restart required",
|
|
88607
|
-
content: "
|
|
88621
|
+
content: "Port, host and data path are read-only. Change them in config.yaml and restart.",
|
|
88608
88622
|
variant: "warning"
|
|
88609
88623
|
},
|
|
88610
88624
|
{
|
|
@@ -88711,6 +88725,25 @@ var SystemConfigAddon = class extends require_dist.BaseAddon {
|
|
|
88711
88725
|
async updateGlobalSettingsAsOperator(patch, _nodeId) {
|
|
88712
88726
|
await this.updateGlobalSettings(patch);
|
|
88713
88727
|
}
|
|
88728
|
+
/**
|
|
88729
|
+
* The value to store for a `name` in a save, or `undefined` for "leave the row
|
|
88730
|
+
* alone". The whole form posts every field, so an empty box on a hub that was
|
|
88731
|
+
* never named is the NORMAL case and must write nothing (D861: a seed never
|
|
88732
|
+
* overwrites); an empty box over a stored name is the operator clearing it,
|
|
88733
|
+
* which stores `''` (readers treat it as unset). Anything else must be a valid
|
|
88734
|
+
* name — refused whole, like the network lists.
|
|
88735
|
+
*/
|
|
88736
|
+
async normalizeServerName(value) {
|
|
88737
|
+
if (value === void 0 || value === null) return void 0;
|
|
88738
|
+
if (typeof value !== "string") throw new Error("The server name must be text");
|
|
88739
|
+
if (value.trim() === "") {
|
|
88740
|
+
const current = (await this.ctx.settings.getSection("server"))[SERVER_NAME_FIELD];
|
|
88741
|
+
return typeof current === "string" && current !== "" ? "" : void 0;
|
|
88742
|
+
}
|
|
88743
|
+
const parsed = require_dist.ServerNameSchema.safeParse(value);
|
|
88744
|
+
if (!parsed.success) throw new Error(parsed.error.issues[0]?.message ?? "The server name is not valid");
|
|
88745
|
+
return parsed.data;
|
|
88746
|
+
}
|
|
88714
88747
|
async updateGlobalSettings(patch) {
|
|
88715
88748
|
if (!this.ctx.settings) throw new Error("system-config: ctx.settings not available — cannot write sections");
|
|
88716
88749
|
const perSection = /* @__PURE__ */ new Map();
|
|
@@ -88732,6 +88765,14 @@ var SystemConfigAddon = class extends require_dist.BaseAddon {
|
|
|
88732
88765
|
this.ctx.logger.warn("update ignored unknown key (not mapped to any section)", { meta: { key } });
|
|
88733
88766
|
continue;
|
|
88734
88767
|
}
|
|
88768
|
+
if (key === SERVER_NAME_FIELD) {
|
|
88769
|
+
const name = await this.normalizeServerName(value);
|
|
88770
|
+
if (name === void 0) continue;
|
|
88771
|
+
const bucket = perSection.get("server") ?? {};
|
|
88772
|
+
bucket[key] = name;
|
|
88773
|
+
perSection.set("server", bucket);
|
|
88774
|
+
continue;
|
|
88775
|
+
}
|
|
88735
88776
|
if (section === "server") {
|
|
88736
88777
|
this.ctx.logger.warn("update ignored read-only server-section key", { meta: { key } });
|
|
88737
88778
|
continue;
|
|
@@ -88756,6 +88797,10 @@ var SystemConfigAddon = class extends require_dist.BaseAddon {
|
|
|
88756
88797
|
}
|
|
88757
88798
|
}
|
|
88758
88799
|
};
|
|
88800
|
+
/** This machine's hostname without its domain: what an unnamed hub is called. */
|
|
88801
|
+
function hostnameWithoutDomain() {
|
|
88802
|
+
return require_dist.shortHostname(node_os.default.hostname());
|
|
88803
|
+
}
|
|
88759
88804
|
function parseMintUnlockInput(input) {
|
|
88760
88805
|
if (input === null || typeof input !== "object") throw new Error("system-config: mintAgentUiUnlockTicket requires { nodeId }");
|
|
88761
88806
|
const nodeId = Reflect.get(input, "nodeId");
|