camstack 1.2.87 → 1.2.89
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/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-BLJRLA7I.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-POOJGOAQ.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-POOJGOAQ.js");
|
|
87
87
|
}
|
|
88
88
|
|
|
89
89
|
// src/commands/setup.ts
|
|
@@ -1130,7 +1130,7 @@ function isUnknown(_value) {
|
|
|
1130
1130
|
return true;
|
|
1131
1131
|
}
|
|
1132
1132
|
async function resolveServerInteractive(presetNamespace) {
|
|
1133
|
-
const { discoverNodes, resolveHubFromDiscovered, filterHubNodes, DEFAULT_HUB_HTTPS_PORT } = await import("./discover-
|
|
1133
|
+
const { discoverNodes, resolveHubFromDiscovered, filterHubNodes, DEFAULT_HUB_HTTPS_PORT } = await import("./discover-FHE2CTRJ.js");
|
|
1134
1134
|
if (presetNamespace) {
|
|
1135
1135
|
const spinner4 = clack.spinner();
|
|
1136
1136
|
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-DE3OH-FG.js
|
|
23637
|
+
var require_dist_DE3OH_FG = __commonJS({
|
|
23638
|
+
"../system/dist/dist-DE3OH-FG.js"(exports) {
|
|
23639
23639
|
"use strict";
|
|
23640
23640
|
var zod = require_zod();
|
|
23641
23641
|
var EventCategory = /* @__PURE__ */ (function(EventCategory2) {
|
|
@@ -50286,16 +50286,34 @@ var require_dist_D8VIyu_0 = __commonJS({
|
|
|
50286
50286
|
"image",
|
|
50287
50287
|
"sensor"
|
|
50288
50288
|
];
|
|
50289
|
+
var CONTAINER_CHILD_ROLE_PRIORITY = [
|
|
50290
|
+
"contact-sensor",
|
|
50291
|
+
"motion-sensor",
|
|
50292
|
+
"occupancy-sensor",
|
|
50293
|
+
"smoke-sensor",
|
|
50294
|
+
"co-sensor",
|
|
50295
|
+
"gas-sensor",
|
|
50296
|
+
"leak-sensor",
|
|
50297
|
+
"vibration-sensor",
|
|
50298
|
+
"tamper-sensor",
|
|
50299
|
+
"sound-sensor"
|
|
50300
|
+
];
|
|
50301
|
+
function roleRank(role) {
|
|
50302
|
+
if (role === void 0) return CONTAINER_CHILD_ROLE_PRIORITY.length;
|
|
50303
|
+
const i = CONTAINER_CHILD_ROLE_PRIORITY.indexOf(role);
|
|
50304
|
+
return i === -1 ? CONTAINER_CHILD_ROLE_PRIORITY.length : i;
|
|
50305
|
+
}
|
|
50289
50306
|
function rank(type) {
|
|
50290
50307
|
const i = CONTAINER_CHILD_PRIORITY.indexOf(type);
|
|
50291
50308
|
return i === -1 ? CONTAINER_CHILD_PRIORITY.length : i;
|
|
50292
50309
|
}
|
|
50293
|
-
function resolveContainerPrimaryChild(children, overrideEntityId) {
|
|
50310
|
+
function resolveContainerPrimaryChild(children, overrideEntityId, containerName) {
|
|
50294
50311
|
if (overrideEntityId !== void 0 && overrideEntityId !== null) {
|
|
50295
50312
|
const picked = children.find((c) => c.stableId === overrideEntityId) ?? children.find((c) => c.entityId !== void 0 && c.entityId === overrideEntityId);
|
|
50296
50313
|
if (picked !== void 0) return picked;
|
|
50297
50314
|
}
|
|
50298
|
-
|
|
50315
|
+
const namesake = (c) => containerName !== void 0 && containerName.length > 0 && c.name !== void 0 && c.name.toLowerCase() === containerName.toLowerCase() ? 0 : 1;
|
|
50316
|
+
return [...children].toSorted((a, b) => roleRank(a.role) - roleRank(b.role) || namesake(a) - namesake(b) || rank(a.type) - rank(b.type))[0] ?? null;
|
|
50299
50317
|
}
|
|
50300
50318
|
var AccessoryKind = {
|
|
50301
50319
|
Siren: DeviceRole.Siren,
|
|
@@ -60061,7 +60079,7 @@ var require_alerts_addon = __commonJS({
|
|
|
60061
60079
|
[Symbol.toStringTag]: { value: "Module" }
|
|
60062
60080
|
});
|
|
60063
60081
|
require_chunk_Cek0wNdY();
|
|
60064
|
-
var require_dist10 =
|
|
60082
|
+
var require_dist10 = require_dist_DE3OH_FG();
|
|
60065
60083
|
function selectExpired(alerts, cutoffMs) {
|
|
60066
60084
|
return alerts.filter((a) => a.createdAt < cutoffMs).sort((a, b) => a.createdAt - b.createdAt).map((a) => a.id);
|
|
60067
60085
|
}
|
|
@@ -60880,7 +60898,7 @@ var require_console_logging = __commonJS({
|
|
|
60880
60898
|
[Symbol.toStringTag]: { value: "Module" }
|
|
60881
60899
|
});
|
|
60882
60900
|
require_chunk_Cek0wNdY();
|
|
60883
|
-
var require_dist10 =
|
|
60901
|
+
var require_dist10 = require_dist_DE3OH_FG();
|
|
60884
60902
|
var require_formatter = require_formatter_DqAKDlvN();
|
|
60885
60903
|
var LEVEL_RANK = {
|
|
60886
60904
|
debug: 0,
|
|
@@ -60974,7 +60992,7 @@ var require_core_blocks_addon = __commonJS({
|
|
|
60974
60992
|
"use strict";
|
|
60975
60993
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
60976
60994
|
var require_chunk = require_chunk_Cek0wNdY();
|
|
60977
|
-
var require_dist10 =
|
|
60995
|
+
var require_dist10 = require_dist_DE3OH_FG();
|
|
60978
60996
|
var node_crypto = __require("crypto");
|
|
60979
60997
|
var node_fs_promises = __require("fs/promises");
|
|
60980
60998
|
node_fs_promises = require_chunk.__toESM(node_fs_promises);
|
|
@@ -61871,11 +61889,11 @@ var require_core_blocks = __commonJS({
|
|
|
61871
61889
|
}
|
|
61872
61890
|
});
|
|
61873
61891
|
|
|
61874
|
-
// ../system/dist/retired-settings-keys-
|
|
61875
|
-
var
|
|
61876
|
-
"../system/dist/retired-settings-keys-
|
|
61892
|
+
// ../system/dist/retired-settings-keys-BgUS9Rr3.js
|
|
61893
|
+
var require_retired_settings_keys_BgUS9Rr3 = __commonJS({
|
|
61894
|
+
"../system/dist/retired-settings-keys-BgUS9Rr3.js"(exports) {
|
|
61877
61895
|
"use strict";
|
|
61878
|
-
var require_dist10 =
|
|
61896
|
+
var require_dist10 = require_dist_DE3OH_FG();
|
|
61879
61897
|
function settingsStoreIsAuthoritativeHere(env) {
|
|
61880
61898
|
const raw = (env["CAMSTACK_ROLE"] ?? "").trim().toLowerCase();
|
|
61881
61899
|
return raw === "" || raw === "hub";
|
|
@@ -64089,8 +64107,8 @@ var require_device_manager_addon = __commonJS({
|
|
|
64089
64107
|
[Symbol.toStringTag]: { value: "Module" }
|
|
64090
64108
|
});
|
|
64091
64109
|
require_chunk_Cek0wNdY();
|
|
64092
|
-
var require_dist10 =
|
|
64093
|
-
var require_retired_settings_keys =
|
|
64110
|
+
var require_dist10 = require_dist_DE3OH_FG();
|
|
64111
|
+
var require_retired_settings_keys = require_retired_settings_keys_BgUS9Rr3();
|
|
64094
64112
|
var node_crypto = __require("crypto");
|
|
64095
64113
|
var _camstack_types_node = require_node();
|
|
64096
64114
|
var JOB_HISTORY = 20;
|
|
@@ -65736,8 +65754,10 @@ var require_device_manager_addon = __commonJS({
|
|
|
65736
65754
|
const primary = require_dist10.resolveContainerPrimaryChild((byParent.get(id) ?? []).map((c) => ({
|
|
65737
65755
|
id: c.id,
|
|
65738
65756
|
stableId: c.stableId,
|
|
65739
|
-
type: c.type
|
|
65740
|
-
|
|
65757
|
+
type: c.type,
|
|
65758
|
+
...c.role !== void 0 && c.role !== null ? { role: c.role } : {},
|
|
65759
|
+
...c.name !== void 0 ? { name: c.name } : {}
|
|
65760
|
+
})), byId.get(id)?.primaryChildEntityId, byId.get(id)?.name);
|
|
65741
65761
|
if (primary !== null) expandContainer(primary.id, byId, byParent, nextVisited, out);
|
|
65742
65762
|
}
|
|
65743
65763
|
function resolveLinkedDeviceIds(params) {
|
|
@@ -67243,6 +67263,16 @@ var require_device_manager_addon = __commonJS({
|
|
|
67243
67263
|
const { deviceId, primaryChildEntityId } = input;
|
|
67244
67264
|
await pctx.metaStore.withMetaWriteLock(async () => {
|
|
67245
67265
|
if (!await pctx.metaStore.resolvePersistedById(deviceId)) throw new Error(`[device-manager] setPrimaryChildEntityId: unknown device id=${deviceId}`);
|
|
67266
|
+
if (primaryChildEntityId !== null) {
|
|
67267
|
+
const children = await pctx.metaStore.rows.listByParent(deviceId);
|
|
67268
|
+
if (!children.some((child) => child.meta.stableId === primaryChildEntityId)) pctx.host.ctx.logger.warn("setPrimaryChildEntityId: pick matches no child \u2014 the container will keep its priority default", {
|
|
67269
|
+
tags: { deviceId },
|
|
67270
|
+
meta: {
|
|
67271
|
+
primaryChildEntityId,
|
|
67272
|
+
childStableIds: children.map((child) => child.meta.stableId).slice(0, 12)
|
|
67273
|
+
}
|
|
67274
|
+
});
|
|
67275
|
+
}
|
|
67246
67276
|
await pctx.metaStore.rows.patch(deviceId, { primaryChildEntityId });
|
|
67247
67277
|
});
|
|
67248
67278
|
pctx.host.ctx.eventBus.emit({
|
|
@@ -69362,7 +69392,7 @@ var require_hub_forwarder = __commonJS({
|
|
|
69362
69392
|
[Symbol.toStringTag]: { value: "Module" }
|
|
69363
69393
|
});
|
|
69364
69394
|
require_chunk_Cek0wNdY();
|
|
69365
|
-
var require_dist10 =
|
|
69395
|
+
var require_dist10 = require_dist_DE3OH_FG();
|
|
69366
69396
|
var require_formatter = require_formatter_DqAKDlvN();
|
|
69367
69397
|
var DEFAULT_OUTBOUND_BUFFER_SIZE = 500;
|
|
69368
69398
|
var HubForwarderDestination = class {
|
|
@@ -69499,7 +69529,7 @@ var require_liveness_monitor_addon = __commonJS({
|
|
|
69499
69529
|
"use strict";
|
|
69500
69530
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
69501
69531
|
require_chunk_Cek0wNdY();
|
|
69502
|
-
var require_dist10 =
|
|
69532
|
+
var require_dist10 = require_dist_DE3OH_FG();
|
|
69503
69533
|
var NO_DEVICES = "liveness:no-devices";
|
|
69504
69534
|
var ALL_OFFLINE = "liveness:all-devices-offline";
|
|
69505
69535
|
var NO_FOOTAGE_PREFIX = "liveness:no-footage:";
|
|
@@ -69689,7 +69719,7 @@ var require_local_auth_addon = __commonJS({
|
|
|
69689
69719
|
[Symbol.toStringTag]: { value: "Module" }
|
|
69690
69720
|
});
|
|
69691
69721
|
var require_chunk = require_chunk_Cek0wNdY();
|
|
69692
|
-
var require_dist10 =
|
|
69722
|
+
var require_dist10 = require_dist_DE3OH_FG();
|
|
69693
69723
|
var node_crypto = __require("crypto");
|
|
69694
69724
|
node_crypto = require_chunk.__toESM(node_crypto);
|
|
69695
69725
|
var crypto$1 = __require("crypto");
|
|
@@ -77502,7 +77532,7 @@ var require_loki_logging = __commonJS({
|
|
|
77502
77532
|
[Symbol.toStringTag]: { value: "Module" }
|
|
77503
77533
|
});
|
|
77504
77534
|
require_chunk_Cek0wNdY();
|
|
77505
|
-
var require_dist10 =
|
|
77535
|
+
var require_dist10 = require_dist_DE3OH_FG();
|
|
77506
77536
|
function sanitizeLabelName(raw) {
|
|
77507
77537
|
const replaced = raw.replaceAll(/[^a-zA-Z0-9_]/g, "_");
|
|
77508
77538
|
return /^[a-zA-Z_]/.test(replaced) ? replaced : `_${replaced}`;
|
|
@@ -78067,7 +78097,7 @@ var require_native_metrics_addon = __commonJS({
|
|
|
78067
78097
|
[Symbol.toStringTag]: { value: "Module" }
|
|
78068
78098
|
});
|
|
78069
78099
|
var require_chunk = require_chunk_Cek0wNdY();
|
|
78070
|
-
var require_dist10 =
|
|
78100
|
+
var require_dist10 = require_dist_DE3OH_FG();
|
|
78071
78101
|
var node_fs_promises = __require("fs/promises");
|
|
78072
78102
|
var node_child_process = __require("child_process");
|
|
78073
78103
|
var node_util = __require("util");
|
|
@@ -80651,7 +80681,7 @@ var require_filesystem_storage_addon = __commonJS({
|
|
|
80651
80681
|
[Symbol.toStringTag]: { value: "Module" }
|
|
80652
80682
|
});
|
|
80653
80683
|
var require_chunk = require_chunk_Cek0wNdY();
|
|
80654
|
-
var require_dist10 =
|
|
80684
|
+
var require_dist10 = require_dist_DE3OH_FG();
|
|
80655
80685
|
var node_crypto = __require("crypto");
|
|
80656
80686
|
var node_fs_promises = __require("fs/promises");
|
|
80657
80687
|
var node_path = __require("path");
|
|
@@ -81767,8 +81797,8 @@ var require_sqlite_settings_addon = __commonJS({
|
|
|
81767
81797
|
[Symbol.toStringTag]: { value: "Module" }
|
|
81768
81798
|
});
|
|
81769
81799
|
var require_chunk = require_chunk_Cek0wNdY();
|
|
81770
|
-
var require_dist10 =
|
|
81771
|
-
var require_retired_settings_keys =
|
|
81800
|
+
var require_dist10 = require_dist_DE3OH_FG();
|
|
81801
|
+
var require_retired_settings_keys = require_retired_settings_keys_BgUS9Rr3();
|
|
81772
81802
|
var node_crypto = __require("crypto");
|
|
81773
81803
|
var node_fs = __require("fs");
|
|
81774
81804
|
var node_module = __require("module");
|
|
@@ -84258,7 +84288,7 @@ var require_storage_orchestrator_addon = __commonJS({
|
|
|
84258
84288
|
[Symbol.toStringTag]: { value: "Module" }
|
|
84259
84289
|
});
|
|
84260
84290
|
var require_chunk = require_chunk_Cek0wNdY();
|
|
84261
|
-
var require_dist10 =
|
|
84291
|
+
var require_dist10 = require_dist_DE3OH_FG();
|
|
84262
84292
|
var require_hub_cap_forward = require_hub_cap_forward_DmHNjbB0();
|
|
84263
84293
|
var zod = require_zod();
|
|
84264
84294
|
var node_crypto = __require("crypto");
|
|
@@ -87209,7 +87239,7 @@ var require_system_config_addon = __commonJS({
|
|
|
87209
87239
|
[Symbol.toStringTag]: { value: "Module" }
|
|
87210
87240
|
});
|
|
87211
87241
|
require_chunk_Cek0wNdY();
|
|
87212
|
-
var require_dist10 =
|
|
87242
|
+
var require_dist10 = require_dist_DE3OH_FG();
|
|
87213
87243
|
var SECTION_TITLES = {
|
|
87214
87244
|
server: "Server",
|
|
87215
87245
|
auth: "Authentication"
|
|
@@ -105270,7 +105300,7 @@ var require_winston_logging = __commonJS({
|
|
|
105270
105300
|
[Symbol.toStringTag]: { value: "Module" }
|
|
105271
105301
|
});
|
|
105272
105302
|
var require_chunk = require_chunk_Cek0wNdY();
|
|
105273
|
-
var require_dist10 =
|
|
105303
|
+
var require_dist10 = require_dist_DE3OH_FG();
|
|
105274
105304
|
var require_formatter = require_formatter_DqAKDlvN();
|
|
105275
105305
|
var node_path = __require("path");
|
|
105276
105306
|
node_path = require_chunk.__toESM(node_path);
|
|
@@ -117772,12 +117802,12 @@ var require_dist2 = __commonJS({
|
|
|
117772
117802
|
}
|
|
117773
117803
|
});
|
|
117774
117804
|
|
|
117775
|
-
// ../system/dist/manifest-system-deps-
|
|
117776
|
-
var
|
|
117777
|
-
"../system/dist/manifest-system-deps-
|
|
117805
|
+
// ../system/dist/manifest-system-deps-DMWd5Ygf.js
|
|
117806
|
+
var require_manifest_system_deps_DMWd5Ygf = __commonJS({
|
|
117807
|
+
"../system/dist/manifest-system-deps-DMWd5Ygf.js"(exports) {
|
|
117778
117808
|
"use strict";
|
|
117779
117809
|
var require_chunk = require_chunk_Cek0wNdY();
|
|
117780
|
-
|
|
117810
|
+
require_dist_DE3OH_FG();
|
|
117781
117811
|
require_hub_cap_forward_DmHNjbB0();
|
|
117782
117812
|
var node_crypto = __require("crypto");
|
|
117783
117813
|
node_crypto = require_chunk.__toESM(node_crypto);
|
|
@@ -129844,7 +129874,7 @@ var require_dist3 = __commonJS({
|
|
|
129844
129874
|
"use strict";
|
|
129845
129875
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
129846
129876
|
var require_chunk = require_chunk_Cek0wNdY();
|
|
129847
|
-
var require_dist10 =
|
|
129877
|
+
var require_dist10 = require_dist_DE3OH_FG();
|
|
129848
129878
|
var require_builtins_alerts_alerts_addon = require_alerts_addon();
|
|
129849
129879
|
require_alerts();
|
|
129850
129880
|
var require_formatter = require_formatter_DqAKDlvN();
|
|
@@ -129871,7 +129901,7 @@ var require_dist3 = __commonJS({
|
|
|
129871
129901
|
var require_builtins_winston_logging_index = require_winston_logging();
|
|
129872
129902
|
var require_file_data_plane = require_file_data_plane_DO8KbxCe();
|
|
129873
129903
|
var require_tls$1 = require_tls_BxQlomxd();
|
|
129874
|
-
var require_manifest_system_deps =
|
|
129904
|
+
var require_manifest_system_deps = require_manifest_system_deps_DMWd5Ygf();
|
|
129875
129905
|
var require_resource_monitor = require_resource_monitor_CdnzxBLP();
|
|
129876
129906
|
var require_custom_action_registry = require_custom_action_registry_jY0NOZK8();
|
|
129877
129907
|
var zod = require_zod();
|
|
@@ -238555,16 +238585,34 @@ ${recipe.triggers.map((t, i) => emitTrigger(t, i)).join("\n\n")}
|
|
|
238555
238585
|
"image",
|
|
238556
238586
|
"sensor"
|
|
238557
238587
|
];
|
|
238588
|
+
var CONTAINER_CHILD_ROLE_PRIORITY = [
|
|
238589
|
+
"contact-sensor",
|
|
238590
|
+
"motion-sensor",
|
|
238591
|
+
"occupancy-sensor",
|
|
238592
|
+
"smoke-sensor",
|
|
238593
|
+
"co-sensor",
|
|
238594
|
+
"gas-sensor",
|
|
238595
|
+
"leak-sensor",
|
|
238596
|
+
"vibration-sensor",
|
|
238597
|
+
"tamper-sensor",
|
|
238598
|
+
"sound-sensor"
|
|
238599
|
+
];
|
|
238600
|
+
function roleRank(role) {
|
|
238601
|
+
if (role === void 0) return CONTAINER_CHILD_ROLE_PRIORITY.length;
|
|
238602
|
+
const i = CONTAINER_CHILD_ROLE_PRIORITY.indexOf(role);
|
|
238603
|
+
return i === -1 ? CONTAINER_CHILD_ROLE_PRIORITY.length : i;
|
|
238604
|
+
}
|
|
238558
238605
|
function rank(type) {
|
|
238559
238606
|
const i = CONTAINER_CHILD_PRIORITY.indexOf(type);
|
|
238560
238607
|
return i === -1 ? CONTAINER_CHILD_PRIORITY.length : i;
|
|
238561
238608
|
}
|
|
238562
|
-
function resolveContainerPrimaryChild(children, overrideEntityId) {
|
|
238609
|
+
function resolveContainerPrimaryChild(children, overrideEntityId, containerName) {
|
|
238563
238610
|
if (overrideEntityId !== void 0 && overrideEntityId !== null) {
|
|
238564
238611
|
const picked = children.find((c) => c.stableId === overrideEntityId) ?? children.find((c) => c.entityId !== void 0 && c.entityId === overrideEntityId);
|
|
238565
238612
|
if (picked !== void 0) return picked;
|
|
238566
238613
|
}
|
|
238567
|
-
|
|
238614
|
+
const namesake = (c) => containerName !== void 0 && containerName.length > 0 && c.name !== void 0 && c.name.toLowerCase() === containerName.toLowerCase() ? 0 : 1;
|
|
238615
|
+
return [...children].toSorted((a, b) => roleRank(a.role) - roleRank(b.role) || namesake(a) - namesake(b) || rank(a.type) - rank(b.type))[0] ?? null;
|
|
238568
238616
|
}
|
|
238569
238617
|
var AccessoryKind = {
|
|
238570
238618
|
Siren: require_sleep.DeviceRole.Siren,
|
package/package.json
CHANGED
|
File without changes
|