camstack 1.2.120 → 1.2.122
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.
|
@@ -36990,8 +36990,27 @@ var PrivacyMaskRegionSchema = external_exports.object({
|
|
|
36990
36990
|
});
|
|
36991
36991
|
var PrivacyMaskStatusSchema = external_exports.object({
|
|
36992
36992
|
enabled: external_exports.boolean(),
|
|
36993
|
-
/**
|
|
36994
|
-
|
|
36993
|
+
/**
|
|
36994
|
+
* Active zones (normalized 0..1). Length ≤ maxRegions.
|
|
36995
|
+
*
|
|
36996
|
+
* `null` means "no answer" — the provider has never reached this camera
|
|
36997
|
+
* (a cold `runtimeState` slice, a battery camera asleep) or the read
|
|
36998
|
+
* failed. A consumer must render it as UNKNOWN and never as "this camera
|
|
36999
|
+
* has no zones": those two look identical to an operator right up to the
|
|
37000
|
+
* moment one of them is acted on, and acting on them differs completely.
|
|
37001
|
+
* The switch group turned an unanswered read into *"nothing is set up for
|
|
37002
|
+
* it to act on"* — an instruction to go and draw a zone that already
|
|
37003
|
+
* exists — and this editor seeded an EMPTY canvas from it, one Save away
|
|
37004
|
+
* from deleting the mask it could not read.
|
|
37005
|
+
*
|
|
37006
|
+
* Empty-and-answered is `[]` and stays a real answer: this camera genuinely
|
|
37007
|
+
* has no zones. The distinction is the same one {@link
|
|
37008
|
+
* PrivacyMaskStatusSchema.shape.audioEnabled} already draws for the
|
|
37009
|
+
* microphone, on the very same payload — both planes come from ONE refresh,
|
|
37010
|
+
* so it was never coherent for one of them to be able to say "unknown"
|
|
37011
|
+
* while the other could not.
|
|
37012
|
+
*/
|
|
37013
|
+
regions: external_exports.array(PrivacyMaskRegionSchema).nullable(),
|
|
36995
37014
|
/**
|
|
36996
37015
|
* Is the camera capturing sound right now? Read from the camera, never from
|
|
36997
37016
|
* a server-side mirror.
|
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-F56HD6CH.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-2BTQJ5AA.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-2BTQJ5AA.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-X5IKQOKL.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-kUlalZ6-.js
|
|
23637
|
+
var require_dist_kUlalZ6 = __commonJS({
|
|
23638
|
+
"../system/dist/dist-kUlalZ6-.js"(exports) {
|
|
23639
23639
|
"use strict";
|
|
23640
23640
|
var zod = require_zod();
|
|
23641
23641
|
var EventCategory = /* @__PURE__ */ (function(EventCategory2) {
|
|
@@ -47605,8 +47605,27 @@ var require_dist_DBpT4R7u = __commonJS({
|
|
|
47605
47605
|
});
|
|
47606
47606
|
var PrivacyMaskStatusSchema = zod.z.object({
|
|
47607
47607
|
enabled: zod.z.boolean(),
|
|
47608
|
-
/**
|
|
47609
|
-
|
|
47608
|
+
/**
|
|
47609
|
+
* Active zones (normalized 0..1). Length ≤ maxRegions.
|
|
47610
|
+
*
|
|
47611
|
+
* `null` means "no answer" — the provider has never reached this camera
|
|
47612
|
+
* (a cold `runtimeState` slice, a battery camera asleep) or the read
|
|
47613
|
+
* failed. A consumer must render it as UNKNOWN and never as "this camera
|
|
47614
|
+
* has no zones": those two look identical to an operator right up to the
|
|
47615
|
+
* moment one of them is acted on, and acting on them differs completely.
|
|
47616
|
+
* The switch group turned an unanswered read into *"nothing is set up for
|
|
47617
|
+
* it to act on"* — an instruction to go and draw a zone that already
|
|
47618
|
+
* exists — and this editor seeded an EMPTY canvas from it, one Save away
|
|
47619
|
+
* from deleting the mask it could not read.
|
|
47620
|
+
*
|
|
47621
|
+
* Empty-and-answered is `[]` and stays a real answer: this camera genuinely
|
|
47622
|
+
* has no zones. The distinction is the same one {@link
|
|
47623
|
+
* PrivacyMaskStatusSchema.shape.audioEnabled} already draws for the
|
|
47624
|
+
* microphone, on the very same payload — both planes come from ONE refresh,
|
|
47625
|
+
* so it was never coherent for one of them to be able to say "unknown"
|
|
47626
|
+
* while the other could not.
|
|
47627
|
+
*/
|
|
47628
|
+
regions: zod.z.array(PrivacyMaskRegionSchema).nullable(),
|
|
47610
47629
|
/**
|
|
47611
47630
|
* Is the camera capturing sound right now? Read from the camera, never from
|
|
47612
47631
|
* a server-side mirror.
|
|
@@ -60939,7 +60958,7 @@ var require_alerts_addon = __commonJS({
|
|
|
60939
60958
|
[Symbol.toStringTag]: { value: "Module" }
|
|
60940
60959
|
});
|
|
60941
60960
|
require_chunk_Cek0wNdY();
|
|
60942
|
-
var require_dist10 =
|
|
60961
|
+
var require_dist10 = require_dist_kUlalZ6();
|
|
60943
60962
|
function selectExpired(alerts, cutoffMs) {
|
|
60944
60963
|
return alerts.filter((a) => a.createdAt < cutoffMs).sort((a, b) => a.createdAt - b.createdAt).map((a) => a.id);
|
|
60945
60964
|
}
|
|
@@ -61758,7 +61777,7 @@ var require_console_logging = __commonJS({
|
|
|
61758
61777
|
[Symbol.toStringTag]: { value: "Module" }
|
|
61759
61778
|
});
|
|
61760
61779
|
require_chunk_Cek0wNdY();
|
|
61761
|
-
var require_dist10 =
|
|
61780
|
+
var require_dist10 = require_dist_kUlalZ6();
|
|
61762
61781
|
var require_formatter = require_formatter_DqAKDlvN();
|
|
61763
61782
|
var LEVEL_RANK = {
|
|
61764
61783
|
debug: 0,
|
|
@@ -61852,7 +61871,7 @@ var require_core_blocks_addon = __commonJS({
|
|
|
61852
61871
|
"use strict";
|
|
61853
61872
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
61854
61873
|
var require_chunk = require_chunk_Cek0wNdY();
|
|
61855
|
-
var require_dist10 =
|
|
61874
|
+
var require_dist10 = require_dist_kUlalZ6();
|
|
61856
61875
|
var node_crypto = __require("crypto");
|
|
61857
61876
|
var node_fs_promises = __require("fs/promises");
|
|
61858
61877
|
node_fs_promises = require_chunk.__toESM(node_fs_promises);
|
|
@@ -62749,11 +62768,11 @@ var require_core_blocks = __commonJS({
|
|
|
62749
62768
|
}
|
|
62750
62769
|
});
|
|
62751
62770
|
|
|
62752
|
-
// ../system/dist/retired-settings-keys-
|
|
62753
|
-
var
|
|
62754
|
-
"../system/dist/retired-settings-keys-
|
|
62771
|
+
// ../system/dist/retired-settings-keys-D61YnSKJ.js
|
|
62772
|
+
var require_retired_settings_keys_D61YnSKJ = __commonJS({
|
|
62773
|
+
"../system/dist/retired-settings-keys-D61YnSKJ.js"(exports) {
|
|
62755
62774
|
"use strict";
|
|
62756
|
-
var require_dist10 =
|
|
62775
|
+
var require_dist10 = require_dist_kUlalZ6();
|
|
62757
62776
|
function settingsStoreIsAuthoritativeHere(env) {
|
|
62758
62777
|
const raw = (env["CAMSTACK_ROLE"] ?? "").trim().toLowerCase();
|
|
62759
62778
|
return raw === "" || raw === "hub";
|
|
@@ -64988,8 +65007,8 @@ var require_device_manager_addon = __commonJS({
|
|
|
64988
65007
|
[Symbol.toStringTag]: { value: "Module" }
|
|
64989
65008
|
});
|
|
64990
65009
|
require_chunk_Cek0wNdY();
|
|
64991
|
-
var require_dist10 =
|
|
64992
|
-
var require_retired_settings_keys =
|
|
65010
|
+
var require_dist10 = require_dist_kUlalZ6();
|
|
65011
|
+
var require_retired_settings_keys = require_retired_settings_keys_D61YnSKJ();
|
|
64993
65012
|
var node_crypto = __require("crypto");
|
|
64994
65013
|
var _camstack_types_node = require_node();
|
|
64995
65014
|
var JOB_HISTORY = 20;
|
|
@@ -70614,7 +70633,7 @@ var require_hub_forwarder = __commonJS({
|
|
|
70614
70633
|
[Symbol.toStringTag]: { value: "Module" }
|
|
70615
70634
|
});
|
|
70616
70635
|
require_chunk_Cek0wNdY();
|
|
70617
|
-
var require_dist10 =
|
|
70636
|
+
var require_dist10 = require_dist_kUlalZ6();
|
|
70618
70637
|
var require_formatter = require_formatter_DqAKDlvN();
|
|
70619
70638
|
var DEFAULT_OUTBOUND_BUFFER_SIZE = 500;
|
|
70620
70639
|
var HubForwarderDestination = class {
|
|
@@ -70751,7 +70770,7 @@ var require_liveness_monitor_addon = __commonJS({
|
|
|
70751
70770
|
"use strict";
|
|
70752
70771
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
70753
70772
|
require_chunk_Cek0wNdY();
|
|
70754
|
-
var require_dist10 =
|
|
70773
|
+
var require_dist10 = require_dist_kUlalZ6();
|
|
70755
70774
|
var NO_DEVICES = "liveness:no-devices";
|
|
70756
70775
|
var ALL_OFFLINE = "liveness:all-devices-offline";
|
|
70757
70776
|
var NO_FOOTAGE_PREFIX = "liveness:no-footage:";
|
|
@@ -70947,7 +70966,7 @@ var require_local_auth_addon = __commonJS({
|
|
|
70947
70966
|
[Symbol.toStringTag]: { value: "Module" }
|
|
70948
70967
|
});
|
|
70949
70968
|
var require_chunk = require_chunk_Cek0wNdY();
|
|
70950
|
-
var require_dist10 =
|
|
70969
|
+
var require_dist10 = require_dist_kUlalZ6();
|
|
70951
70970
|
var node_crypto = __require("crypto");
|
|
70952
70971
|
node_crypto = require_chunk.__toESM(node_crypto);
|
|
70953
70972
|
var crypto$1 = __require("crypto");
|
|
@@ -78760,7 +78779,7 @@ var require_loki_logging = __commonJS({
|
|
|
78760
78779
|
[Symbol.toStringTag]: { value: "Module" }
|
|
78761
78780
|
});
|
|
78762
78781
|
require_chunk_Cek0wNdY();
|
|
78763
|
-
var require_dist10 =
|
|
78782
|
+
var require_dist10 = require_dist_kUlalZ6();
|
|
78764
78783
|
function sanitizeLabelName(raw) {
|
|
78765
78784
|
const replaced = raw.replaceAll(/[^a-zA-Z0-9_]/g, "_");
|
|
78766
78785
|
return /^[a-zA-Z_]/.test(replaced) ? replaced : `_${replaced}`;
|
|
@@ -79325,7 +79344,7 @@ var require_native_metrics_addon = __commonJS({
|
|
|
79325
79344
|
[Symbol.toStringTag]: { value: "Module" }
|
|
79326
79345
|
});
|
|
79327
79346
|
var require_chunk = require_chunk_Cek0wNdY();
|
|
79328
|
-
var require_dist10 =
|
|
79347
|
+
var require_dist10 = require_dist_kUlalZ6();
|
|
79329
79348
|
var node_fs_promises = __require("fs/promises");
|
|
79330
79349
|
var node_child_process = __require("child_process");
|
|
79331
79350
|
var node_util = __require("util");
|
|
@@ -81909,7 +81928,7 @@ var require_filesystem_storage_addon = __commonJS({
|
|
|
81909
81928
|
[Symbol.toStringTag]: { value: "Module" }
|
|
81910
81929
|
});
|
|
81911
81930
|
var require_chunk = require_chunk_Cek0wNdY();
|
|
81912
|
-
var require_dist10 =
|
|
81931
|
+
var require_dist10 = require_dist_kUlalZ6();
|
|
81913
81932
|
var node_crypto = __require("crypto");
|
|
81914
81933
|
var node_fs_promises = __require("fs/promises");
|
|
81915
81934
|
var node_path = __require("path");
|
|
@@ -83025,8 +83044,8 @@ var require_sqlite_settings_addon = __commonJS({
|
|
|
83025
83044
|
[Symbol.toStringTag]: { value: "Module" }
|
|
83026
83045
|
});
|
|
83027
83046
|
var require_chunk = require_chunk_Cek0wNdY();
|
|
83028
|
-
var require_dist10 =
|
|
83029
|
-
var require_retired_settings_keys =
|
|
83047
|
+
var require_dist10 = require_dist_kUlalZ6();
|
|
83048
|
+
var require_retired_settings_keys = require_retired_settings_keys_D61YnSKJ();
|
|
83030
83049
|
var node_crypto = __require("crypto");
|
|
83031
83050
|
var node_fs = __require("fs");
|
|
83032
83051
|
var node_module = __require("module");
|
|
@@ -85530,7 +85549,7 @@ var require_storage_orchestrator_addon = __commonJS({
|
|
|
85530
85549
|
[Symbol.toStringTag]: { value: "Module" }
|
|
85531
85550
|
});
|
|
85532
85551
|
var require_chunk = require_chunk_Cek0wNdY();
|
|
85533
|
-
var require_dist10 =
|
|
85552
|
+
var require_dist10 = require_dist_kUlalZ6();
|
|
85534
85553
|
var require_hub_cap_forward = require_hub_cap_forward_DmHNjbB0();
|
|
85535
85554
|
var zod = require_zod();
|
|
85536
85555
|
var node_crypto = __require("crypto");
|
|
@@ -89086,7 +89105,7 @@ var require_system_config_addon = __commonJS({
|
|
|
89086
89105
|
[Symbol.toStringTag]: { value: "Module" }
|
|
89087
89106
|
});
|
|
89088
89107
|
require_chunk_Cek0wNdY();
|
|
89089
|
-
var require_dist10 =
|
|
89108
|
+
var require_dist10 = require_dist_kUlalZ6();
|
|
89090
89109
|
var SECTION_TITLES = {
|
|
89091
89110
|
server: "Server",
|
|
89092
89111
|
auth: "Authentication"
|
|
@@ -107147,7 +107166,7 @@ var require_winston_logging = __commonJS({
|
|
|
107147
107166
|
[Symbol.toStringTag]: { value: "Module" }
|
|
107148
107167
|
});
|
|
107149
107168
|
var require_chunk = require_chunk_Cek0wNdY();
|
|
107150
|
-
var require_dist10 =
|
|
107169
|
+
var require_dist10 = require_dist_kUlalZ6();
|
|
107151
107170
|
var require_formatter = require_formatter_DqAKDlvN();
|
|
107152
107171
|
var node_path = __require("path");
|
|
107153
107172
|
node_path = require_chunk.__toESM(node_path);
|
|
@@ -131757,7 +131776,7 @@ var require_dist3 = __commonJS({
|
|
|
131757
131776
|
"use strict";
|
|
131758
131777
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
131759
131778
|
var require_chunk = require_chunk_Cek0wNdY();
|
|
131760
|
-
var require_dist10 =
|
|
131779
|
+
var require_dist10 = require_dist_kUlalZ6();
|
|
131761
131780
|
var require_builtins_alerts_alerts_addon = require_alerts_addon();
|
|
131762
131781
|
require_alerts();
|
|
131763
131782
|
var require_formatter = require_formatter_DqAKDlvN();
|
|
@@ -237902,8 +237921,27 @@ ${recipe.triggers.map((t, i) => emitTrigger(t, i)).join("\n\n")}
|
|
|
237902
237921
|
});
|
|
237903
237922
|
var PrivacyMaskStatusSchema = zod.z.object({
|
|
237904
237923
|
enabled: zod.z.boolean(),
|
|
237905
|
-
/**
|
|
237906
|
-
|
|
237924
|
+
/**
|
|
237925
|
+
* Active zones (normalized 0..1). Length ≤ maxRegions.
|
|
237926
|
+
*
|
|
237927
|
+
* `null` means "no answer" — the provider has never reached this camera
|
|
237928
|
+
* (a cold `runtimeState` slice, a battery camera asleep) or the read
|
|
237929
|
+
* failed. A consumer must render it as UNKNOWN and never as "this camera
|
|
237930
|
+
* has no zones": those two look identical to an operator right up to the
|
|
237931
|
+
* moment one of them is acted on, and acting on them differs completely.
|
|
237932
|
+
* The switch group turned an unanswered read into *"nothing is set up for
|
|
237933
|
+
* it to act on"* — an instruction to go and draw a zone that already
|
|
237934
|
+
* exists — and this editor seeded an EMPTY canvas from it, one Save away
|
|
237935
|
+
* from deleting the mask it could not read.
|
|
237936
|
+
*
|
|
237937
|
+
* Empty-and-answered is `[]` and stays a real answer: this camera genuinely
|
|
237938
|
+
* has no zones. The distinction is the same one {@link
|
|
237939
|
+
* PrivacyMaskStatusSchema.shape.audioEnabled} already draws for the
|
|
237940
|
+
* microphone, on the very same payload — both planes come from ONE refresh,
|
|
237941
|
+
* so it was never coherent for one of them to be able to say "unknown"
|
|
237942
|
+
* while the other could not.
|
|
237943
|
+
*/
|
|
237944
|
+
regions: zod.z.array(PrivacyMaskRegionSchema).nullable(),
|
|
237907
237945
|
/**
|
|
237908
237946
|
* Is the camera capturing sound right now? Read from the camera, never from
|
|
237909
237947
|
* a server-side mirror.
|