camstack 1.2.68 → 1.2.70
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-BBI0PDUc.mjs
|
|
14526
14526
|
var WELL_KNOWN_TABS = [
|
|
14527
14527
|
{
|
|
14528
14528
|
id: "overview",
|
|
@@ -15787,6 +15787,20 @@ var RelocateJobSchema = external_exports.object({
|
|
|
15787
15787
|
* in its row, not in its name, so `MediaRelocateEngine` never reconciles one.
|
|
15788
15788
|
*/
|
|
15789
15789
|
rowsReconciled: external_exports.number().int().nonnegative().optional(),
|
|
15790
|
+
/**
|
|
15791
|
+
* Rows this run FORGOT because the file they name is not on disk.
|
|
15792
|
+
*
|
|
15793
|
+
* The mover derived the path from the row's own fields and `stat`ed it; an
|
|
15794
|
+
* ENOENT there is a per-path confirmation that the segment is gone (D296),
|
|
15795
|
+
* and the durable row is dropped through the same channel eviction uses. It
|
|
15796
|
+
* is reported for the same reason `rowsReconciled` is: this is a durable
|
|
15797
|
+
* mutation nobody asked for, and a migration that quietly erases hour rows is
|
|
15798
|
+
* the same failure as one that quietly skips them (D295).
|
|
15799
|
+
*
|
|
15800
|
+
* The production drain of 2026-08-30 would have reported 11 074 here — the
|
|
15801
|
+
* ledger claimed 5.65 GB of footage that no longer existed.
|
|
15802
|
+
*/
|
|
15803
|
+
rowsForgotten: external_exports.number().int().nonnegative().optional(),
|
|
15790
15804
|
startedAt: external_exports.number(),
|
|
15791
15805
|
finishedAt: external_exports.number().nullable(),
|
|
15792
15806
|
error: external_exports.string().nullable()
|
|
@@ -15994,6 +16008,71 @@ var RelocateResidueSchema = external_exports.object({
|
|
|
15994
16008
|
segments: external_exports.number().int().nonnegative(),
|
|
15995
16009
|
bytes: external_exports.number().int().nonnegative()
|
|
15996
16010
|
}).nullable();
|
|
16011
|
+
var LedgerWalkInputSchema = external_exports.object({
|
|
16012
|
+
locationId: external_exports.string().min(1),
|
|
16013
|
+
/** Forget the confirmed-absent rows, rather than only counting them. */
|
|
16014
|
+
apply: external_exports.boolean().optional(),
|
|
16015
|
+
/** Narrow to one camera. */
|
|
16016
|
+
deviceId: external_exports.number().int().positive().optional(),
|
|
16017
|
+
/** Narrow to these recording profiles; empty/absent = every profile. */
|
|
16018
|
+
profiles: external_exports.array(external_exports.string().min(1)).optional()
|
|
16019
|
+
});
|
|
16020
|
+
var LedgerWalkRefusalSchema = external_exports.enum([
|
|
16021
|
+
"location-unknown",
|
|
16022
|
+
"source-writable",
|
|
16023
|
+
"no-ledger",
|
|
16024
|
+
"archive-unreadable",
|
|
16025
|
+
"anchor-absent",
|
|
16026
|
+
"anchor-unreadable",
|
|
16027
|
+
"anchor-moved"
|
|
16028
|
+
]);
|
|
16029
|
+
var LedgerWalkSkipReasonSchema = external_exports.enum([
|
|
16030
|
+
"live-tail",
|
|
16031
|
+
"listing-error",
|
|
16032
|
+
"path-mismatch",
|
|
16033
|
+
"durable-refused"
|
|
16034
|
+
]);
|
|
16035
|
+
var LedgerWalkSkipCountsSchema = external_exports.object({
|
|
16036
|
+
"live-tail": external_exports.number().int().nonnegative(),
|
|
16037
|
+
"listing-error": external_exports.number().int().nonnegative(),
|
|
16038
|
+
"path-mismatch": external_exports.number().int().nonnegative(),
|
|
16039
|
+
"durable-refused": external_exports.number().int().nonnegative()
|
|
16040
|
+
});
|
|
16041
|
+
var LedgerWalkDeviceReportSchema = external_exports.object({
|
|
16042
|
+
deviceId: external_exports.number().int(),
|
|
16043
|
+
hoursWalked: external_exports.number().int().nonnegative(),
|
|
16044
|
+
hoursMissing: external_exports.number().int().nonnegative(),
|
|
16045
|
+
ghostSegments: external_exports.number().int().nonnegative(),
|
|
16046
|
+
ghostBytes: external_exports.number().int().nonnegative(),
|
|
16047
|
+
forgottenSegments: external_exports.number().int().nonnegative(),
|
|
16048
|
+
orphanFiles: external_exports.number().int().nonnegative()
|
|
16049
|
+
});
|
|
16050
|
+
var LedgerWalkReportSchema = external_exports.object({
|
|
16051
|
+
locationId: external_exports.string(),
|
|
16052
|
+
applied: external_exports.boolean(),
|
|
16053
|
+
refused: LedgerWalkRefusalSchema.nullable(),
|
|
16054
|
+
archiveSegments: external_exports.number().int().nonnegative().nullable(),
|
|
16055
|
+
archiveBytes: external_exports.number().int().nonnegative().nullable(),
|
|
16056
|
+
hoursClaimed: external_exports.number().int().nonnegative(),
|
|
16057
|
+
hoursWalked: external_exports.number().int().nonnegative(),
|
|
16058
|
+
hoursMissing: external_exports.number().int().nonnegative(),
|
|
16059
|
+
/** `readdir` calls issued — the cost, stated in the unit that is paid. */
|
|
16060
|
+
listings: external_exports.number().int().nonnegative(),
|
|
16061
|
+
segmentsClaimed: external_exports.number().int().nonnegative(),
|
|
16062
|
+
ghostSegments: external_exports.number().int().nonnegative(),
|
|
16063
|
+
ghostBytes: external_exports.number().int().nonnegative(),
|
|
16064
|
+
ghostHoursWhole: external_exports.number().int().nonnegative(),
|
|
16065
|
+
forgottenSegments: external_exports.number().int().nonnegative(),
|
|
16066
|
+
forgottenBytes: external_exports.number().int().nonnegative(),
|
|
16067
|
+
/** Files under a claimed hour that no durable row names. Never deleted. */
|
|
16068
|
+
orphanFiles: external_exports.number().int().nonnegative(),
|
|
16069
|
+
orphanSample: external_exports.array(external_exports.string()).readonly(),
|
|
16070
|
+
hoursSkipped: external_exports.number().int().nonnegative(),
|
|
16071
|
+
skippedByReason: LedgerWalkSkipCountsSchema,
|
|
16072
|
+
/** The walk stopped at its per-pass hour bound with claims unwalked. */
|
|
16073
|
+
bounded: external_exports.boolean(),
|
|
16074
|
+
byDevice: external_exports.array(LedgerWalkDeviceReportSchema).readonly()
|
|
16075
|
+
});
|
|
15997
16076
|
var RelocatableMediaCountSchema = external_exports.object({ rows: external_exports.number().int().nonnegative() }).nullable();
|
|
15998
16077
|
var RelocatableMediaCountInputSchema = external_exports.object({
|
|
15999
16078
|
toLocationId: external_exports.string().min(1),
|
|
@@ -26303,13 +26382,15 @@ var ListGroupsPageSchema = external_exports.object({
|
|
|
26303
26382
|
groups: external_exports.array(AnalyticsGroupRecordSchema).readonly(),
|
|
26304
26383
|
nextCursor: external_exports.string().nullable()
|
|
26305
26384
|
});
|
|
26385
|
+
var KEY_EVENTS_DEFAULT_LIMIT = 50;
|
|
26386
|
+
var KEY_EVENTS_MAX_LIMIT = 200;
|
|
26306
26387
|
var KeyEventQueryInput = external_exports.object({
|
|
26307
26388
|
deviceId: external_exports.number(),
|
|
26308
26389
|
/** Window lower bound (track firstSeen ≥ since). */
|
|
26309
26390
|
since: external_exports.number(),
|
|
26310
26391
|
/** Window upper bound (track firstSeen ≤ until). */
|
|
26311
26392
|
until: external_exports.number(),
|
|
26312
|
-
limit: external_exports.number().int().min(1).max(
|
|
26393
|
+
limit: external_exports.number().int().min(1).max(KEY_EVENTS_MAX_LIMIT).default(KEY_EVENTS_DEFAULT_LIMIT),
|
|
26313
26394
|
/** Drop tracks scoring below this importance. */
|
|
26314
26395
|
minImportance: external_exports.number().min(0).max(1).optional(),
|
|
26315
26396
|
/** Restrict to a single class (e.g. 'person'). */
|
|
@@ -26331,6 +26412,21 @@ var KeyEventSchema = external_exports.object({
|
|
|
26331
26412
|
...TrackFlagFields,
|
|
26332
26413
|
...TrackRetrainFields
|
|
26333
26414
|
});
|
|
26415
|
+
var KeyEventBatchQueryInput = external_exports.object({
|
|
26416
|
+
deviceIds: external_exports.array(external_exports.number()).min(1).max(200),
|
|
26417
|
+
since: external_exports.number(),
|
|
26418
|
+
until: external_exports.number(),
|
|
26419
|
+
/** Applied PER CAMERA, exactly as `getKeyEvents.limit` is — never a total
|
|
26420
|
+
* across the set, which would let a busy camera starve a quiet one of its
|
|
26421
|
+
* rows and change what the merged feed contains. */
|
|
26422
|
+
limit: external_exports.number().int().min(1).max(KEY_EVENTS_MAX_LIMIT).default(KEY_EVENTS_DEFAULT_LIMIT),
|
|
26423
|
+
minImportance: external_exports.number().min(0).max(1).optional(),
|
|
26424
|
+
classFilter: external_exports.string().optional()
|
|
26425
|
+
});
|
|
26426
|
+
var KeyEventsForDeviceSchema = external_exports.object({
|
|
26427
|
+
deviceId: external_exports.number(),
|
|
26428
|
+
events: external_exports.array(KeyEventSchema).readonly()
|
|
26429
|
+
});
|
|
26334
26430
|
var TrackedDetectionSchema = external_exports.object({
|
|
26335
26431
|
trackId: external_exports.string(),
|
|
26336
26432
|
className: external_exports.string(),
|
|
@@ -26495,6 +26591,39 @@ var RebuildStatusSchema = external_exports.object({
|
|
|
26495
26591
|
/** Present when the pass ended by throwing. */
|
|
26496
26592
|
error: external_exports.string().nullable()
|
|
26497
26593
|
});
|
|
26594
|
+
var MediaReclaimStartResultSchema = external_exports.object({
|
|
26595
|
+
started: external_exports.boolean(),
|
|
26596
|
+
/** True when a pass was already running; the new request is ignored. */
|
|
26597
|
+
alreadyRunning: external_exports.boolean()
|
|
26598
|
+
});
|
|
26599
|
+
var MediaReclaimInputSchema = external_exports.object({
|
|
26600
|
+
mode: external_exports.enum(["report", "reclaim"]).default("report"),
|
|
26601
|
+
scopes: external_exports.array(external_exports.enum(["motion-still", "track-filmstrip"])).min(1).optional(),
|
|
26602
|
+
deviceIds: external_exports.array(external_exports.number().int()).min(1).optional(),
|
|
26603
|
+
restart: external_exports.boolean().optional(),
|
|
26604
|
+
pageSize: external_exports.number().int().min(50).max(5e3).optional(),
|
|
26605
|
+
maxRowsPerDevice: external_exports.number().int().min(1).max(5e5).optional(),
|
|
26606
|
+
maxReclaimPerDevice: external_exports.number().int().min(1).max(5e5).optional(),
|
|
26607
|
+
maxBytesPerRun: external_exports.number().int().min(1).optional(),
|
|
26608
|
+
budgetMinutes: external_exports.number().int().min(1).max(720).optional(),
|
|
26609
|
+
throttleBytesPerSec: external_exports.number().int().min(64 * 1024).optional(),
|
|
26610
|
+
graceMinutes: external_exports.number().int().min(1).max(10080).optional()
|
|
26611
|
+
});
|
|
26612
|
+
var MediaReclaimStatusSchema = external_exports.object({
|
|
26613
|
+
running: external_exports.boolean(),
|
|
26614
|
+
mode: external_exports.enum(["report", "reclaim"]).nullable(),
|
|
26615
|
+
totalExamined: external_exports.number(),
|
|
26616
|
+
totalEligible: external_exports.number(),
|
|
26617
|
+
totalReclaimed: external_exports.number(),
|
|
26618
|
+
totalBytesReclaimed: external_exports.number(),
|
|
26619
|
+
totalRefused: external_exports.number(),
|
|
26620
|
+
/** Device+scope windows finished in this pass. */
|
|
26621
|
+
devicesDone: external_exports.number(),
|
|
26622
|
+
complete: external_exports.boolean().nullable(),
|
|
26623
|
+
startedAtMs: external_exports.number().nullable(),
|
|
26624
|
+
finishedAtMs: external_exports.number().nullable(),
|
|
26625
|
+
error: external_exports.string().nullable()
|
|
26626
|
+
});
|
|
26498
26627
|
var ReplayFrameInputSchema = external_exports.object({
|
|
26499
26628
|
timestamp: external_exports.number(),
|
|
26500
26629
|
frame: PipelineRunResultBridge
|
|
@@ -26625,6 +26754,21 @@ var pipelineAnalyticsCapability = {
|
|
|
26625
26754
|
* scored on-read (no write). Degrades to `[]` on error.
|
|
26626
26755
|
*/
|
|
26627
26756
|
getKeyEvents: method(KeyEventQueryInput, external_exports.array(KeyEventSchema).readonly()),
|
|
26757
|
+
/**
|
|
26758
|
+
* The same ranking, for a SET of cameras, in one round trip.
|
|
26759
|
+
*
|
|
26760
|
+
* The Detection Intelligence events feed asks this of every selected
|
|
26761
|
+
* camera and re-asks on a 30s timer. Fanned out client-side that is N
|
|
26762
|
+
* round trips — browser → hub → post-analysis — for N independent,
|
|
26763
|
+
* already-indexed store queries. Batched, the queries are unchanged and
|
|
26764
|
+
* run concurrently INSIDE the owner; only the transport collapses.
|
|
26765
|
+
*
|
|
26766
|
+
* Deliberately per-device rather than pre-merged: `limit` stays per
|
|
26767
|
+
* camera (a total would let a busy camera starve a quiet one), and a
|
|
26768
|
+
* caller that renders one camera's lane needs to know which camera a row
|
|
26769
|
+
* came from. `getKeyEvents` stays for single-device callers.
|
|
26770
|
+
*/
|
|
26771
|
+
getKeyEventsBatch: method(KeyEventBatchQueryInput, external_exports.array(KeyEventsForDeviceSchema).readonly()),
|
|
26628
26772
|
/** Server-side bucketed event counts for the 24-hour timeline.
|
|
26629
26773
|
* Returns one entry per non-empty bucket; empty buckets are omitted. */
|
|
26630
26774
|
getEventDensity: method(external_exports.object({
|
|
@@ -26903,6 +27047,20 @@ var pipelineAnalyticsCapability = {
|
|
|
26903
27047
|
auth: "admin"
|
|
26904
27048
|
}),
|
|
26905
27049
|
/**
|
|
27050
|
+
* Reclaim the standing debug-media backlog (motion-visit stills + track
|
|
27051
|
+
* filmstrips). DETACHED: returns `{ started }` immediately. The pass is
|
|
27052
|
+
* tens of minutes; awaiting it is a timeout, not a verdict. Dry-run unless
|
|
27053
|
+
* `mode: 'reclaim'`. Poll `getMediaReclaimStatus`.
|
|
27054
|
+
*/
|
|
27055
|
+
reclaimDebugMedia: method(MediaReclaimInputSchema, MediaReclaimStartResultSchema, {
|
|
27056
|
+
kind: "mutation",
|
|
27057
|
+
auth: "admin"
|
|
27058
|
+
}),
|
|
27059
|
+
getMediaReclaimStatus: method(external_exports.object({}), MediaReclaimStatusSchema, {
|
|
27060
|
+
kind: "query",
|
|
27061
|
+
auth: "admin"
|
|
27062
|
+
}),
|
|
27063
|
+
/**
|
|
26906
27064
|
* The CHEAP QUESTION, asked before any media moves: how big is the dataset
|
|
26907
27065
|
* the marked (`markForTrain`) tracks would produce?
|
|
26908
27066
|
*
|
|
@@ -36714,6 +36872,23 @@ var recordingCapability = {
|
|
|
36714
36872
|
kind: "query",
|
|
36715
36873
|
auth: "admin"
|
|
36716
36874
|
}),
|
|
36875
|
+
/**
|
|
36876
|
+
* Does this location's LEDGER tell the truth about its disk? (D319)
|
|
36877
|
+
*
|
|
36878
|
+
* One `readdir` per claimed hour, diffed both ways: durable rows whose file
|
|
36879
|
+
* is not there, and files no durable row names. `apply` defaults to FALSE —
|
|
36880
|
+
* the report is the product, and the dry run is how an operator
|
|
36881
|
+
* sanity-checks the destructive run before authorising it.
|
|
36882
|
+
*
|
|
36883
|
+
* REFUSES a source that is still a write target: a listing of a live
|
|
36884
|
+
* location is a lower bound, which is not the strong evidence that lets
|
|
36885
|
+
* this pass forget without a budget. A live location is reconciled by the
|
|
36886
|
+
* mover, under D318's bound.
|
|
36887
|
+
*/
|
|
36888
|
+
reconcileLedgerAgainstDisk: method(LedgerWalkInputSchema, LedgerWalkReportSchema, {
|
|
36889
|
+
kind: "mutation",
|
|
36890
|
+
auth: "admin"
|
|
36891
|
+
}),
|
|
36717
36892
|
/** Cancel a running or queued relocate job. A queued job never runs. */
|
|
36718
36893
|
cancelRelocateJob: method(external_exports.object({ jobId: external_exports.string() }), external_exports.object({ cancelled: external_exports.boolean() }), {
|
|
36719
36894
|
kind: "mutation",
|
|
@@ -37013,6 +37188,10 @@ var SceneMonitorStatusSchema = external_exports.object({
|
|
|
37013
37188
|
monitors: external_exports.array(SceneMonitorSchema),
|
|
37014
37189
|
lastFetchedAt: external_exports.number()
|
|
37015
37190
|
});
|
|
37191
|
+
var SceneMonitorStatusForDeviceSchema = external_exports.object({
|
|
37192
|
+
deviceId: external_exports.number(),
|
|
37193
|
+
status: SceneMonitorStatusSchema.nullable()
|
|
37194
|
+
});
|
|
37016
37195
|
var sceneMonitorCapability = {
|
|
37017
37196
|
name: "scene-monitor",
|
|
37018
37197
|
scope: "device",
|
|
@@ -37022,6 +37201,22 @@ var sceneMonitorCapability = {
|
|
|
37022
37201
|
deviceTypes: [DeviceType.Camera],
|
|
37023
37202
|
methods: {
|
|
37024
37203
|
listScenes: method(external_exports.object({ deviceId: external_exports.number() }), SceneMonitorStatusSchema),
|
|
37204
|
+
/**
|
|
37205
|
+
* The same answer, for a SET of cameras, in one round trip.
|
|
37206
|
+
*
|
|
37207
|
+
* `/scenes` renders every camera and re-reads them on a 30s safety-net
|
|
37208
|
+
* poll behind the push slice. Fanned out client-side that was one query
|
|
37209
|
+
* per camera — 29 round trips through the browser, the hub and the
|
|
37210
|
+
* post-analysis runner every 30 seconds to read an in-memory map the
|
|
37211
|
+
* owner had already merged. The work is unchanged (`statusFor` per
|
|
37212
|
+
* device, all in-process at the owner); what collapses is the transport.
|
|
37213
|
+
*
|
|
37214
|
+
* A camera that cannot answer still gets a row, with `status: null` —
|
|
37215
|
+
* see {@link SceneMonitorStatusForDeviceSchema}. Never fewer rows than
|
|
37216
|
+
* ids: a caller that asked for twenty-nine and got twenty-seven cannot
|
|
37217
|
+
* tell which two are missing, or that any are.
|
|
37218
|
+
*/
|
|
37219
|
+
listScenesBatch: method(external_exports.object({ deviceIds: external_exports.array(external_exports.number()).min(1).max(200) }), external_exports.array(SceneMonitorStatusForDeviceSchema).readonly()),
|
|
37025
37220
|
createScene: method(external_exports.object({
|
|
37026
37221
|
deviceId: external_exports.number(),
|
|
37027
37222
|
label: external_exports.string(),
|
|
@@ -38591,6 +38786,11 @@ var CameraOccupancySnapshotSchema = external_exports.object({
|
|
|
38591
38786
|
* than as repeated tracks/events. */
|
|
38592
38787
|
stationaryObjects: external_exports.array(StationaryObjectSchema).readonly().optional()
|
|
38593
38788
|
});
|
|
38789
|
+
var CameraOccupancySnapshotForDeviceSchema = external_exports.object({
|
|
38790
|
+
deviceId: external_exports.number(),
|
|
38791
|
+
read: external_exports.enum(["read", "unreadable"]),
|
|
38792
|
+
snapshot: CameraOccupancySnapshotSchema.nullable()
|
|
38793
|
+
});
|
|
38594
38794
|
var HistoryResolutionEnum = external_exports.enum([
|
|
38595
38795
|
"minute",
|
|
38596
38796
|
"5min",
|
|
@@ -38620,6 +38820,20 @@ var zoneAnalyticsCapability = {
|
|
|
38620
38820
|
* (no inference result emitted since boot or since binding was
|
|
38621
38821
|
* activated). */
|
|
38622
38822
|
getCurrentSnapshot: method(external_exports.object({ deviceId: external_exports.number() }), CameraOccupancySnapshotSchema.nullable()),
|
|
38823
|
+
/**
|
|
38824
|
+
* The same snapshot, for a SET of cameras, in one round trip.
|
|
38825
|
+
*
|
|
38826
|
+
* The Events page's Stationary section polls this every 15s for every
|
|
38827
|
+
* selected camera. Fanned out client-side that is one query per camera to
|
|
38828
|
+
* read a `Map.get` at the owner — the answer costs nothing, the round trip
|
|
38829
|
+
* costs everything. Batched, N transports become one and the per-device
|
|
38830
|
+
* work is unchanged.
|
|
38831
|
+
*
|
|
38832
|
+
* Every requested deviceId gets a row, tagged `read` — see
|
|
38833
|
+
* {@link CameraOccupancySnapshotForDeviceSchema}. A camera the owner could
|
|
38834
|
+
* not answer for is `'unreadable'`, never an empty reading.
|
|
38835
|
+
*/
|
|
38836
|
+
getCurrentSnapshotBatch: method(external_exports.object({ deviceIds: external_exports.array(external_exports.number()).min(1).max(200) }), external_exports.array(CameraOccupancySnapshotForDeviceSchema).readonly()),
|
|
38623
38837
|
/** Time-series object count inside one zone. `className` optional —
|
|
38624
38838
|
* omit to count every class in the zone. */
|
|
38625
38839
|
getZoneHistory: method(external_exports.object({
|
|
@@ -42030,6 +42244,18 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
42030
42244
|
addonId: null,
|
|
42031
42245
|
access: "view"
|
|
42032
42246
|
},
|
|
42247
|
+
"pipelineAnalytics.getKeyEventsBatch": {
|
|
42248
|
+
capName: "pipeline-analytics",
|
|
42249
|
+
capScope: "device",
|
|
42250
|
+
addonId: null,
|
|
42251
|
+
access: "view"
|
|
42252
|
+
},
|
|
42253
|
+
"pipelineAnalytics.getMediaReclaimStatus": {
|
|
42254
|
+
capName: "pipeline-analytics",
|
|
42255
|
+
capScope: "device",
|
|
42256
|
+
addonId: null,
|
|
42257
|
+
access: "view"
|
|
42258
|
+
},
|
|
42033
42259
|
"pipelineAnalytics.getMotionEvents": {
|
|
42034
42260
|
capName: "pipeline-analytics",
|
|
42035
42261
|
capScope: "device",
|
|
@@ -42204,6 +42430,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
42204
42430
|
addonId: null,
|
|
42205
42431
|
access: "create"
|
|
42206
42432
|
},
|
|
42433
|
+
"pipelineAnalytics.reclaimDebugMedia": {
|
|
42434
|
+
capName: "pipeline-analytics",
|
|
42435
|
+
capScope: "device",
|
|
42436
|
+
addonId: null,
|
|
42437
|
+
access: "create"
|
|
42438
|
+
},
|
|
42207
42439
|
"pipelineAnalytics.reconcileFromDisk": {
|
|
42208
42440
|
capName: "pipeline-analytics",
|
|
42209
42441
|
capScope: "device",
|
|
@@ -43206,6 +43438,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
43206
43438
|
addonId: null,
|
|
43207
43439
|
access: "view"
|
|
43208
43440
|
},
|
|
43441
|
+
"recording.reconcileLedgerAgainstDisk": {
|
|
43442
|
+
capName: "recording",
|
|
43443
|
+
capScope: "system",
|
|
43444
|
+
addonId: null,
|
|
43445
|
+
access: "create"
|
|
43446
|
+
},
|
|
43209
43447
|
"recording.refreshStorageLocationsForMigration": {
|
|
43210
43448
|
capName: "recording",
|
|
43211
43449
|
capScope: "system",
|
|
@@ -43332,6 +43570,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
43332
43570
|
addonId: null,
|
|
43333
43571
|
access: "view"
|
|
43334
43572
|
},
|
|
43573
|
+
"sceneMonitor.listScenesBatch": {
|
|
43574
|
+
capName: "scene-monitor",
|
|
43575
|
+
capScope: "device",
|
|
43576
|
+
addonId: null,
|
|
43577
|
+
access: "view"
|
|
43578
|
+
},
|
|
43335
43579
|
"sceneMonitor.recheckNow": {
|
|
43336
43580
|
capName: "scene-monitor",
|
|
43337
43581
|
capScope: "device",
|
|
@@ -44688,6 +44932,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
44688
44932
|
addonId: null,
|
|
44689
44933
|
access: "view"
|
|
44690
44934
|
},
|
|
44935
|
+
"zoneAnalytics.getCurrentSnapshotBatch": {
|
|
44936
|
+
capName: "zone-analytics",
|
|
44937
|
+
capScope: "device",
|
|
44938
|
+
addonId: null,
|
|
44939
|
+
access: "view"
|
|
44940
|
+
},
|
|
44691
44941
|
"zoneAnalytics.getUnzonedHistory": {
|
|
44692
44942
|
capName: "zone-analytics",
|
|
44693
44943
|
capScope: "device",
|
|
@@ -45692,6 +45942,11 @@ var METHOD_DEVICE_SELECTORS = Object.freeze({
|
|
|
45692
45942
|
form: "single",
|
|
45693
45943
|
optional: false
|
|
45694
45944
|
}],
|
|
45945
|
+
"pipelineAnalytics.getKeyEventsBatch": [{
|
|
45946
|
+
name: "deviceIds",
|
|
45947
|
+
form: "array",
|
|
45948
|
+
optional: false
|
|
45949
|
+
}],
|
|
45695
45950
|
"pipelineAnalytics.getMotionEvents": [{
|
|
45696
45951
|
name: "deviceId",
|
|
45697
45952
|
form: "single",
|
|
@@ -45797,6 +46052,11 @@ var METHOD_DEVICE_SELECTORS = Object.freeze({
|
|
|
45797
46052
|
form: "single",
|
|
45798
46053
|
optional: true
|
|
45799
46054
|
}],
|
|
46055
|
+
"pipelineAnalytics.reclaimDebugMedia": [{
|
|
46056
|
+
name: "deviceIds",
|
|
46057
|
+
form: "array",
|
|
46058
|
+
optional: true
|
|
46059
|
+
}],
|
|
45800
46060
|
"pipelineAnalytics.reconcileFromDisk": [{
|
|
45801
46061
|
name: "deviceId",
|
|
45802
46062
|
form: "single",
|
|
@@ -46132,6 +46392,11 @@ var METHOD_DEVICE_SELECTORS = Object.freeze({
|
|
|
46132
46392
|
form: "single",
|
|
46133
46393
|
optional: false
|
|
46134
46394
|
}],
|
|
46395
|
+
"recording.reconcileLedgerAgainstDisk": [{
|
|
46396
|
+
name: "deviceId",
|
|
46397
|
+
form: "single",
|
|
46398
|
+
optional: true
|
|
46399
|
+
}],
|
|
46135
46400
|
"recording.relocateFootage": [{
|
|
46136
46401
|
name: "deviceId",
|
|
46137
46402
|
form: "single",
|
|
@@ -46197,6 +46462,11 @@ var METHOD_DEVICE_SELECTORS = Object.freeze({
|
|
|
46197
46462
|
form: "single",
|
|
46198
46463
|
optional: false
|
|
46199
46464
|
}],
|
|
46465
|
+
"sceneMonitor.listScenesBatch": [{
|
|
46466
|
+
name: "deviceIds",
|
|
46467
|
+
form: "array",
|
|
46468
|
+
optional: false
|
|
46469
|
+
}],
|
|
46200
46470
|
"sceneMonitor.recheckNow": [{
|
|
46201
46471
|
name: "deviceId",
|
|
46202
46472
|
form: "single",
|
|
@@ -46458,6 +46728,11 @@ var METHOD_DEVICE_SELECTORS = Object.freeze({
|
|
|
46458
46728
|
form: "single",
|
|
46459
46729
|
optional: false
|
|
46460
46730
|
}],
|
|
46731
|
+
"zoneAnalytics.getCurrentSnapshotBatch": [{
|
|
46732
|
+
name: "deviceIds",
|
|
46733
|
+
form: "array",
|
|
46734
|
+
optional: false
|
|
46735
|
+
}],
|
|
46461
46736
|
"zoneAnalytics.getUnzonedHistory": [{
|
|
46462
46737
|
name: "deviceId",
|
|
46463
46738
|
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-45XQKO4Y.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-E2VZZ5O3.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-E2VZZ5O3.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-KE6GFVKY.js");
|
|
1134
1134
|
if (presetNamespace) {
|
|
1135
1135
|
const spinner4 = clack.spinner();
|
|
1136
1136
|
spinner4.start(`Discovering hub on LAN (namespace "${presetNamespace}")`);
|