camstack 1.2.73 → 1.2.74
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.
|
@@ -14522,7 +14522,7 @@ function date4(params) {
|
|
|
14522
14522
|
// ../../node_modules/zod/v4/classic/external.js
|
|
14523
14523
|
config(en_default());
|
|
14524
14524
|
|
|
14525
|
-
// ../types/dist/sleep-
|
|
14525
|
+
// ../types/dist/sleep-C1mz-ocE.mjs
|
|
14526
14526
|
var WELL_KNOWN_TABS = [
|
|
14527
14527
|
{
|
|
14528
14528
|
id: "overview",
|
|
@@ -26469,6 +26469,17 @@ var KeyEventsForDeviceSchema = external_exports.object({
|
|
|
26469
26469
|
deviceId: external_exports.number(),
|
|
26470
26470
|
events: external_exports.array(KeyEventSchema).readonly()
|
|
26471
26471
|
});
|
|
26472
|
+
var EventDensityBucketSchema = external_exports.object({
|
|
26473
|
+
bucketStart: external_exports.number(),
|
|
26474
|
+
motion: external_exports.number().int(),
|
|
26475
|
+
object: external_exports.number().int(),
|
|
26476
|
+
audio: external_exports.number().int()
|
|
26477
|
+
});
|
|
26478
|
+
var EventDensityForDeviceSchema = external_exports.object({
|
|
26479
|
+
deviceId: external_exports.number(),
|
|
26480
|
+
read: external_exports.enum(["read", "unreadable"]),
|
|
26481
|
+
buckets: external_exports.array(EventDensityBucketSchema).readonly()
|
|
26482
|
+
});
|
|
26472
26483
|
var TrackedDetectionSchema = external_exports.object({
|
|
26473
26484
|
trackId: external_exports.string(),
|
|
26474
26485
|
className: external_exports.string(),
|
|
@@ -26806,12 +26817,31 @@ var pipelineAnalyticsCapability = {
|
|
|
26806
26817
|
since: external_exports.number(),
|
|
26807
26818
|
until: external_exports.number(),
|
|
26808
26819
|
bucketMs: external_exports.number().int().positive()
|
|
26809
|
-
}), external_exports.array(
|
|
26810
|
-
|
|
26811
|
-
|
|
26812
|
-
|
|
26813
|
-
|
|
26814
|
-
|
|
26820
|
+
}), external_exports.array(EventDensityBucketSchema).readonly()),
|
|
26821
|
+
/**
|
|
26822
|
+
* The same histogram, for a SET of cameras, in one round trip.
|
|
26823
|
+
*
|
|
26824
|
+
* A multi-camera timeline (the tablet grid) re-asks this of every camera in
|
|
26825
|
+
* the grid on every day change — N browser → hub → post-analysis round
|
|
26826
|
+
* trips for N independent, already-indexed store queries. The queries are
|
|
26827
|
+
* unchanged and still run per camera (`densityByKind`, one per deviceId,
|
|
26828
|
+
* concurrently INSIDE the owner); only the transport collapses.
|
|
26829
|
+
*
|
|
26830
|
+
* Deliberately per-device rather than pre-merged: a timeline lane belongs
|
|
26831
|
+
* to a camera, and a caller that merged would have to un-merge.
|
|
26832
|
+
* `getEventDensity` stays for single-camera callers.
|
|
26833
|
+
*
|
|
26834
|
+
* Every requested id gets a row, marked — see
|
|
26835
|
+
* {@link EventDensityForDeviceSchema}. `deviceIds` is capped at
|
|
26836
|
+
* {@link EVENT_DENSITY_BATCH_MAX}, and an over-cap ask is refused rather
|
|
26837
|
+
* than truncated.
|
|
26838
|
+
*/
|
|
26839
|
+
getEventDensityBatch: method(external_exports.object({
|
|
26840
|
+
deviceIds: external_exports.array(external_exports.number()).min(1).max(200),
|
|
26841
|
+
since: external_exports.number(),
|
|
26842
|
+
until: external_exports.number(),
|
|
26843
|
+
bucketMs: external_exports.number().int().positive()
|
|
26844
|
+
}), external_exports.array(EventDensityForDeviceSchema).readonly()),
|
|
26815
26845
|
/**
|
|
26816
26846
|
* @deprecated Prefer `pruneTracksBefore` — the track is the ROOT of the
|
|
26817
26847
|
* analytics model and retention must cascade from it (design §5.1). This
|
|
@@ -36522,6 +36552,17 @@ var RecordingDaysSchema = external_exports.object({
|
|
|
36522
36552
|
/** Local-midnight epochs (UTC ms) of days that have ≥1 recorded segment. */
|
|
36523
36553
|
days: external_exports.array(external_exports.number())
|
|
36524
36554
|
});
|
|
36555
|
+
var RecordingAvailabilityForDeviceSchema = external_exports.object({
|
|
36556
|
+
deviceId: external_exports.number(),
|
|
36557
|
+
read: external_exports.enum(["read", "unreadable"]),
|
|
36558
|
+
ranges: external_exports.array(RecordingRangeSchema).readonly()
|
|
36559
|
+
});
|
|
36560
|
+
var RecordingDaysForDeviceSchema = external_exports.object({
|
|
36561
|
+
deviceId: external_exports.number(),
|
|
36562
|
+
read: external_exports.enum(["read", "unreadable"]),
|
|
36563
|
+
/** Local-midnight epochs (UTC ms) of days that have ≥1 recorded segment. */
|
|
36564
|
+
days: external_exports.array(external_exports.number()).readonly()
|
|
36565
|
+
});
|
|
36525
36566
|
var RecordingManifestSchema = external_exports.object({
|
|
36526
36567
|
deviceId: external_exports.number(),
|
|
36527
36568
|
/** Local filesystem path to the master playlist; null when no recording exists for the requested range. */
|
|
@@ -36704,6 +36745,32 @@ var recordingCapability = {
|
|
|
36704
36745
|
kind: "query",
|
|
36705
36746
|
auth: "protected"
|
|
36706
36747
|
}),
|
|
36748
|
+
/**
|
|
36749
|
+
* `getAvailability` for a SET of cameras, in one round trip.
|
|
36750
|
+
*
|
|
36751
|
+
* A multi-camera timeline re-asks availability for every camera in the grid
|
|
36752
|
+
* on every day change; fanned out that is one request per camera for N
|
|
36753
|
+
* independent calendar walks. The per-camera work is IDENTICAL (the same
|
|
36754
|
+
* `availabilityProfileFor` + `rangesIn`, run concurrently inside the
|
|
36755
|
+
* recorder) — only the transport collapses.
|
|
36756
|
+
*
|
|
36757
|
+
* `protected` for the same reason the singular method is: every id in
|
|
36758
|
+
* `deviceIds` is a device reference, so the F1 #3 gate refuses any camera
|
|
36759
|
+
* outside the caller's scope — one id out of scope refuses the CALL, it
|
|
36760
|
+
* does not quietly drop a row.
|
|
36761
|
+
*
|
|
36762
|
+
* Every requested id gets a row, marked — see
|
|
36763
|
+
* {@link RecordingAvailabilityForDeviceSchema}. `deviceIds` is capped at
|
|
36764
|
+
* {@link RECORDING_TIMELINE_BATCH_MAX} and an over-cap ask is refused.
|
|
36765
|
+
*/
|
|
36766
|
+
getAvailabilityBatch: method(external_exports.object({
|
|
36767
|
+
deviceIds: external_exports.array(external_exports.number()).min(1).max(200),
|
|
36768
|
+
fromMs: external_exports.number(),
|
|
36769
|
+
toMs: external_exports.number()
|
|
36770
|
+
}), external_exports.array(RecordingAvailabilityForDeviceSchema).readonly(), {
|
|
36771
|
+
kind: "query",
|
|
36772
|
+
auth: "protected"
|
|
36773
|
+
}),
|
|
36707
36774
|
/** Which calendar days in [fromMs,toMs) have ≥1 recorded segment, bucketed by
|
|
36708
36775
|
* the client's local day (`tzOffsetMinutes` = minutes to add to UTC). Drives
|
|
36709
36776
|
* the theater date-picker's day dots. */
|
|
@@ -36716,6 +36783,26 @@ var recordingCapability = {
|
|
|
36716
36783
|
kind: "query",
|
|
36717
36784
|
auth: "protected"
|
|
36718
36785
|
}),
|
|
36786
|
+
/**
|
|
36787
|
+
* `getDaysWithRecordings` for a SET of cameras, in one round trip.
|
|
36788
|
+
*
|
|
36789
|
+
* The cheapest question in the product, asked once per camera per month
|
|
36790
|
+
* change. One directory read per day per camera at the owner, unchanged;
|
|
36791
|
+
* what collapses is the N requests it took to ask.
|
|
36792
|
+
*
|
|
36793
|
+
* Every requested id gets a row, marked — see
|
|
36794
|
+
* {@link RecordingDaysForDeviceSchema}. `deviceIds` is capped at
|
|
36795
|
+
* {@link RECORDING_TIMELINE_BATCH_MAX} and an over-cap ask is refused.
|
|
36796
|
+
*/
|
|
36797
|
+
getDaysWithRecordingsBatch: method(external_exports.object({
|
|
36798
|
+
deviceIds: external_exports.array(external_exports.number()).min(1).max(200),
|
|
36799
|
+
fromMs: external_exports.number(),
|
|
36800
|
+
toMs: external_exports.number(),
|
|
36801
|
+
tzOffsetMinutes: external_exports.number()
|
|
36802
|
+
}), external_exports.array(RecordingDaysForDeviceSchema).readonly(), {
|
|
36803
|
+
kind: "query",
|
|
36804
|
+
auth: "protected"
|
|
36805
|
+
}),
|
|
36719
36806
|
getPlaybackManifest: method(external_exports.object({
|
|
36720
36807
|
deviceId: external_exports.number(),
|
|
36721
36808
|
fromMs: external_exports.number(),
|
|
@@ -42302,6 +42389,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
42302
42389
|
addonId: null,
|
|
42303
42390
|
access: "view"
|
|
42304
42391
|
},
|
|
42392
|
+
"pipelineAnalytics.getEventDensityBatch": {
|
|
42393
|
+
capName: "pipeline-analytics",
|
|
42394
|
+
capScope: "device",
|
|
42395
|
+
addonId: null,
|
|
42396
|
+
access: "view"
|
|
42397
|
+
},
|
|
42305
42398
|
"pipelineAnalytics.getEventMedia": {
|
|
42306
42399
|
capName: "pipeline-analytics",
|
|
42307
42400
|
capScope: "device",
|
|
@@ -43424,12 +43517,24 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
43424
43517
|
addonId: null,
|
|
43425
43518
|
access: "view"
|
|
43426
43519
|
},
|
|
43520
|
+
"recording.getAvailabilityBatch": {
|
|
43521
|
+
capName: "recording",
|
|
43522
|
+
capScope: "system",
|
|
43523
|
+
addonId: null,
|
|
43524
|
+
access: "view"
|
|
43525
|
+
},
|
|
43427
43526
|
"recording.getDaysWithRecordings": {
|
|
43428
43527
|
capName: "recording",
|
|
43429
43528
|
capScope: "system",
|
|
43430
43529
|
addonId: null,
|
|
43431
43530
|
access: "view"
|
|
43432
43531
|
},
|
|
43532
|
+
"recording.getDaysWithRecordingsBatch": {
|
|
43533
|
+
capName: "recording",
|
|
43534
|
+
capScope: "system",
|
|
43535
|
+
addonId: null,
|
|
43536
|
+
access: "view"
|
|
43537
|
+
},
|
|
43433
43538
|
"recording.getDeviceConfig": {
|
|
43434
43539
|
capName: "recording",
|
|
43435
43540
|
capScope: "system",
|
|
@@ -46034,6 +46139,11 @@ var METHOD_DEVICE_SELECTORS = Object.freeze({
|
|
|
46034
46139
|
form: "single",
|
|
46035
46140
|
optional: false
|
|
46036
46141
|
}],
|
|
46142
|
+
"pipelineAnalytics.getEventDensityBatch": [{
|
|
46143
|
+
name: "deviceIds",
|
|
46144
|
+
form: "array",
|
|
46145
|
+
optional: false
|
|
46146
|
+
}],
|
|
46037
46147
|
"pipelineAnalytics.getEventMedia": [{
|
|
46038
46148
|
name: "deviceId",
|
|
46039
46149
|
form: "single",
|
|
@@ -46449,11 +46559,21 @@ var METHOD_DEVICE_SELECTORS = Object.freeze({
|
|
|
46449
46559
|
form: "single",
|
|
46450
46560
|
optional: false
|
|
46451
46561
|
}],
|
|
46562
|
+
"recording.getAvailabilityBatch": [{
|
|
46563
|
+
name: "deviceIds",
|
|
46564
|
+
form: "array",
|
|
46565
|
+
optional: false
|
|
46566
|
+
}],
|
|
46452
46567
|
"recording.getDaysWithRecordings": [{
|
|
46453
46568
|
name: "deviceId",
|
|
46454
46569
|
form: "single",
|
|
46455
46570
|
optional: false
|
|
46456
46571
|
}],
|
|
46572
|
+
"recording.getDaysWithRecordingsBatch": [{
|
|
46573
|
+
name: "deviceIds",
|
|
46574
|
+
form: "array",
|
|
46575
|
+
optional: false
|
|
46576
|
+
}],
|
|
46457
46577
|
"recording.getDeviceConfig": [{
|
|
46458
46578
|
name: "deviceId",
|
|
46459
46579
|
form: "single",
|
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-U3GHKSOG.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-MNT6I6VY.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-MNT6I6VY.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-OD7ECRSD.js");
|
|
1134
1134
|
if (presetNamespace) {
|
|
1135
1135
|
const spinner4 = clack.spinner();
|
|
1136
1136
|
spinner4.start(`Discovering hub on LAN (namespace "${presetNamespace}")`);
|