camstack 1.2.135 → 1.2.137
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.
|
@@ -24249,6 +24249,7 @@ var NcSystemEventKindSchema = external_exports.enum([
|
|
|
24249
24249
|
"addon-crash-loop",
|
|
24250
24250
|
"addon-update-available",
|
|
24251
24251
|
"server-update-available",
|
|
24252
|
+
"wrapper-update-available",
|
|
24252
24253
|
"alarm-triggered",
|
|
24253
24254
|
"alarm-armed",
|
|
24254
24255
|
"alarm-disarmed",
|
|
@@ -27110,7 +27111,17 @@ var EventDensityBucketSchema = external_exports.object({
|
|
|
27110
27111
|
bucketStart: external_exports.number(),
|
|
27111
27112
|
motion: external_exports.number().int(),
|
|
27112
27113
|
object: external_exports.number().int(),
|
|
27113
|
-
audio: external_exports.number().int()
|
|
27114
|
+
audio: external_exports.number().int(),
|
|
27115
|
+
/**
|
|
27116
|
+
* Energy-weighted mean dBFS of the audio events in this bucket — the LEVEL,
|
|
27117
|
+
* as opposed to `audio`, which is their COUNT (D431).
|
|
27118
|
+
*
|
|
27119
|
+
* ABSENT when the bucket holds no audio event. Absence means "nothing was
|
|
27120
|
+
* measured", which is not the same claim as silence, and a lane that cannot
|
|
27121
|
+
* tell them apart paints a quiet hour at full scale — which is exactly what
|
|
27122
|
+
* the count-on-a-level-meter did.
|
|
27123
|
+
*/
|
|
27124
|
+
audioDbfs: external_exports.number().optional()
|
|
27114
27125
|
});
|
|
27115
27126
|
var EventDensityForDeviceSchema = external_exports.object({
|
|
27116
27127
|
deviceId: external_exports.number(),
|
|
@@ -30089,6 +30100,45 @@ var ImageContractSchema = external_exports.object({
|
|
|
30089
30100
|
/** One operator-grade sentence: this node runs image X; the contract says Y. */
|
|
30090
30101
|
message: external_exports.string()
|
|
30091
30102
|
});
|
|
30103
|
+
var WrapperKindSchema = external_exports.enum([
|
|
30104
|
+
"docker",
|
|
30105
|
+
"electron",
|
|
30106
|
+
"native",
|
|
30107
|
+
"contradictory",
|
|
30108
|
+
"unknown"
|
|
30109
|
+
]);
|
|
30110
|
+
var WrapperEvidenceSchema = external_exports.object({
|
|
30111
|
+
/** Which probe this row reports. */
|
|
30112
|
+
fact: external_exports.enum([
|
|
30113
|
+
"dockerenv-file",
|
|
30114
|
+
"proc-1-cgroup",
|
|
30115
|
+
"platform",
|
|
30116
|
+
"electron-app-version-env"
|
|
30117
|
+
]),
|
|
30118
|
+
/**
|
|
30119
|
+
* `observed` — this process read it itself. `declared` — the shell told the
|
|
30120
|
+
* process and nothing here can check it. Only the Electron app version is
|
|
30121
|
+
* ever `declared`, and only because a child cannot see its parent.
|
|
30122
|
+
*/
|
|
30123
|
+
mode: external_exports.enum(["observed", "declared"]),
|
|
30124
|
+
/** Did the probe support the fact it names? A `false` row is still evidence. */
|
|
30125
|
+
holds: external_exports.boolean(),
|
|
30126
|
+
/** What was actually read, verbatim enough for an operator to argue with. */
|
|
30127
|
+
detail: external_exports.string()
|
|
30128
|
+
});
|
|
30129
|
+
var WrapperIdentitySchema = external_exports.object({
|
|
30130
|
+
kind: WrapperKindSchema,
|
|
30131
|
+
/** Every probe that ran, in a stable order. Never empty. */
|
|
30132
|
+
evidence: external_exports.array(WrapperEvidenceSchema),
|
|
30133
|
+
/**
|
|
30134
|
+
* The version of the SHELL, when the shell has one it can state: the
|
|
30135
|
+
* Electron app version it declared, or the baked seed closure that
|
|
30136
|
+
* fingerprints a container / app bundle. `null` for `contradictory` and
|
|
30137
|
+
* `unknown` — which version belongs to the shell is precisely what is not
|
|
30138
|
+
* known there.
|
|
30139
|
+
*/
|
|
30140
|
+
currentVersion: external_exports.string().nullable()
|
|
30141
|
+
});
|
|
30092
30142
|
var ServerRollbackInfoSchema = external_exports.object({
|
|
30093
30143
|
/** The version that failed (or was manually rolled back). */
|
|
30094
30144
|
fromVersion: external_exports.string(),
|
|
@@ -30130,7 +30180,13 @@ var ServerPackageStatusSchema = external_exports.object({
|
|
|
30130
30180
|
* Seed-vs-contract verdict (see {@link ImageContractSchema}). Optional for
|
|
30131
30181
|
* version skew: an older provider's payload simply omits it.
|
|
30132
30182
|
*/
|
|
30133
|
-
imageContract: ImageContractSchema.optional()
|
|
30183
|
+
imageContract: ImageContractSchema.optional(),
|
|
30184
|
+
/**
|
|
30185
|
+
* What this node runs INSIDE (see {@link WrapperIdentitySchema}). Optional
|
|
30186
|
+
* for version skew: an older provider's payload simply omits it, and an
|
|
30187
|
+
* absent wrapper is unknown — never `native`.
|
|
30188
|
+
*/
|
|
30189
|
+
wrapper: WrapperIdentitySchema.optional()
|
|
30134
30190
|
});
|
|
30135
30191
|
var ServerUpdateCheckResultSchema = external_exports.object({
|
|
30136
30192
|
packageName: external_exports.string(),
|
|
@@ -37795,7 +37851,23 @@ var RecordingRangeSchema = external_exports.object({
|
|
|
37795
37851
|
});
|
|
37796
37852
|
var RecordingAvailabilitySchema = external_exports.object({
|
|
37797
37853
|
deviceId: external_exports.number(),
|
|
37798
|
-
ranges: external_exports.array(RecordingRangeSchema)
|
|
37854
|
+
ranges: external_exports.array(RecordingRangeSchema),
|
|
37855
|
+
/**
|
|
37856
|
+
* Every profile this camera has footage in — not only the one `ranges`
|
|
37857
|
+
* describes (D433).
|
|
37858
|
+
*
|
|
37859
|
+
* `ranges` answers for ONE profile by design: the timeline is a single bar,
|
|
37860
|
+
* and enumerating all of them triples the directory reads for a bar that
|
|
37861
|
+
* would look identical. But the answer used to say nothing about that, so a
|
|
37862
|
+
* caller asking "what can I export?" read the single preferred profile as
|
|
37863
|
+
* the only one that exists — on this deployment every camera records `high`
|
|
37864
|
+
* AND `low`, the low tree holding 14 GB for camera 615 alone, and the export
|
|
37865
|
+
* UI could not see it.
|
|
37866
|
+
*
|
|
37867
|
+
* Cheap: it is the same shallow directory read the profile CHOICE already
|
|
37868
|
+
* makes. Ask for a specific profile's ranges with the `profile` input.
|
|
37869
|
+
*/
|
|
37870
|
+
profilesWithFootage: external_exports.array(external_exports.string())
|
|
37799
37871
|
});
|
|
37800
37872
|
var RecordingDaysSchema = external_exports.object({
|
|
37801
37873
|
deviceId: external_exports.number(),
|
|
@@ -37805,7 +37877,11 @@ var RecordingDaysSchema = external_exports.object({
|
|
|
37805
37877
|
var RecordingAvailabilityForDeviceSchema = external_exports.object({
|
|
37806
37878
|
deviceId: external_exports.number(),
|
|
37807
37879
|
read: external_exports.enum(["read", "unreadable"]),
|
|
37808
|
-
ranges: external_exports.array(RecordingRangeSchema).readonly()
|
|
37880
|
+
ranges: external_exports.array(RecordingRangeSchema).readonly(),
|
|
37881
|
+
/** Same field, same meaning, as the singular answer (D433). A row that
|
|
37882
|
+
* dropped it would tell a grid caller the archive holds one profile.
|
|
37883
|
+
* Empty on an `'unreadable'` row: nobody looked. */
|
|
37884
|
+
profilesWithFootage: external_exports.array(external_exports.string()).readonly()
|
|
37809
37885
|
});
|
|
37810
37886
|
var RecordingDaysForDeviceSchema = external_exports.object({
|
|
37811
37887
|
deviceId: external_exports.number(),
|
|
@@ -38020,7 +38096,14 @@ var recordingCapability = {
|
|
|
38020
38096
|
getAvailability: method(external_exports.object({
|
|
38021
38097
|
deviceId: external_exports.number(),
|
|
38022
38098
|
fromMs: external_exports.number(),
|
|
38023
|
-
toMs: external_exports.number()
|
|
38099
|
+
toMs: external_exports.number(),
|
|
38100
|
+
/**
|
|
38101
|
+
* Answer for THIS profile instead of the preferred one (D433). Absent
|
|
38102
|
+
* keeps the timeline's behaviour — one bar, one profile, one set of
|
|
38103
|
+
* reads. `profilesWithFootage` on the answer says what may be asked
|
|
38104
|
+
* for.
|
|
38105
|
+
*/
|
|
38106
|
+
profile: external_exports.string().optional()
|
|
38024
38107
|
}), RecordingAvailabilitySchema, {
|
|
38025
38108
|
kind: "query",
|
|
38026
38109
|
auth: "protected"
|
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-EYL3W5FY.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-U2UTNMNT.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-U2UTNMNT.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-VOPNVH7F.js");
|
|
1134
1134
|
if (presetNamespace) {
|
|
1135
1135
|
const spinner4 = clack.spinner();
|
|
1136
1136
|
spinner4.start(`Discovering hub on LAN (namespace "${presetNamespace}")`);
|