camstack 1.2.143 → 1.2.145
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-CnLyvg3w.mjs
|
|
14526
14526
|
var AUDIO_CHUNK_FORMATS = [
|
|
14527
14527
|
"f32le",
|
|
14528
14528
|
"pcmu",
|
|
@@ -15399,7 +15399,8 @@ var MEDIA_OWNER_TYPES = [
|
|
|
15399
15399
|
"scene",
|
|
15400
15400
|
"motion",
|
|
15401
15401
|
"object",
|
|
15402
|
-
"audio"
|
|
15402
|
+
"audio",
|
|
15403
|
+
"mosaic"
|
|
15403
15404
|
];
|
|
15404
15405
|
var OWNER_TYPES = new Set(MEDIA_OWNER_TYPES);
|
|
15405
15406
|
var EVENT_OWNER_TYPES = [
|
|
@@ -15407,6 +15408,7 @@ var EVENT_OWNER_TYPES = [
|
|
|
15407
15408
|
"object",
|
|
15408
15409
|
"audio"
|
|
15409
15410
|
];
|
|
15411
|
+
var EventOwnerTypeSchema = external_exports.enum(EVENT_OWNER_TYPES);
|
|
15410
15412
|
var EVENT_OWNER_TYPE_SET = new Set(EVENT_OWNER_TYPES);
|
|
15411
15413
|
var VideoEncodeSchema = external_exports.object({
|
|
15412
15414
|
codec: external_exports.enum([
|
|
@@ -20006,6 +20008,60 @@ var settingsStoreCapability = {
|
|
|
20006
20008
|
filter: QueryFilterSchema.optional(),
|
|
20007
20009
|
columns: external_exports.array(external_exports.string()).readonly().optional()
|
|
20008
20010
|
}), external_exports.array(SettingsRecordSchema).readonly()),
|
|
20011
|
+
/**
|
|
20012
|
+
* Make a SLOT hold this row — insert it, or update whatever already
|
|
20013
|
+
* occupies the slot — and answer with the id the row HAS.
|
|
20014
|
+
*
|
|
20015
|
+
* ## Why the store needed this
|
|
20016
|
+
*
|
|
20017
|
+
* {@link set} is already an upsert, but its slot is the PRIMARY KEY: the
|
|
20018
|
+
* caller has to know the id to address the row. That is exactly what a
|
|
20019
|
+
* collection keyed by an `INTEGER` rowid alias cannot do — SQLite assigns
|
|
20020
|
+
* the id, so a writer whose uniqueness rule is "one row per
|
|
20021
|
+
* `(ownerKind, ownerId, kind, slot)`" has no id to name and no way to
|
|
20022
|
+
* express the rule. {@link insert} can express it (a UNIQUE index
|
|
20023
|
+
* arbitrates) but only by THROWING at the loser of a race, and the loser
|
|
20024
|
+
* here is a legitimate re-capture, not an error.
|
|
20025
|
+
*
|
|
20026
|
+
* Getting there without this method means read-then-write: query the slot,
|
|
20027
|
+
* then `insert` or `update`. Two statements instead of one, a race between
|
|
20028
|
+
* them, and a recovery path that has to recognise a UNIQUE violation by its
|
|
20029
|
+
* MESSAGE — across a process boundary, because the store lives behind an
|
|
20030
|
+
* RPC door. A string match would be the whole gate, and a store that
|
|
20031
|
+
* rephrased its error would lose the row silently. One statement has no
|
|
20032
|
+
* such gate (D482).
|
|
20033
|
+
*
|
|
20034
|
+
* ## The contract
|
|
20035
|
+
*
|
|
20036
|
+
* `conflict` names the DECLARED columns that identify the slot. They must
|
|
20037
|
+
* be covered by a UNIQUE index on the collection — SQLite resolves an
|
|
20038
|
+
* `ON CONFLICT` target against its indexes and REFUSES the statement when
|
|
20039
|
+
* none matches, so a wrong list is a loud error on the first write, never a
|
|
20040
|
+
* silently duplicated row. An empty list is refused rather than passed on:
|
|
20041
|
+
* `ON CONFLICT()` is not valid SQL, and the intent it would most likely
|
|
20042
|
+
* encode ("no slot, just insert") is {@link insert}.
|
|
20043
|
+
*
|
|
20044
|
+
* Row shape is {@link insert}'s: `record.id` is used when the collection
|
|
20045
|
+
* needs a supplied key and IGNORED when the primary key is an `INTEGER`
|
|
20046
|
+
* rowid alias — exactly as `insert` and `insertMany` already treat it.
|
|
20047
|
+
*
|
|
20048
|
+
* Returns the id either way: the one SQLite assigned on an insert, or the
|
|
20049
|
+
* one the row it updated already had. A caller cannot tell which happened,
|
|
20050
|
+
* and deliberately — every caller wants the slot's id, and one that needed
|
|
20051
|
+
* to distinguish creation from replacement would have to read first anyway.
|
|
20052
|
+
*/
|
|
20053
|
+
upsert: method(external_exports.object({
|
|
20054
|
+
namespace: external_exports.string().optional(),
|
|
20055
|
+
collection: external_exports.string(),
|
|
20056
|
+
/** Declared columns identifying the slot; must be covered by a UNIQUE
|
|
20057
|
+
* index on the collection. Never empty. */
|
|
20058
|
+
conflict: external_exports.array(external_exports.string()).readonly(),
|
|
20059
|
+
record: BulkRecordSchema
|
|
20060
|
+
}), external_exports.object({
|
|
20061
|
+
/** The id the row HAS: assigned by SQLite on an insert, or the existing
|
|
20062
|
+
* row's own id on an update. */
|
|
20063
|
+
id: external_exports.union([external_exports.string(), external_exports.number()])
|
|
20064
|
+
}), { kind: "mutation" }),
|
|
20009
20065
|
/** Insert a new record. */
|
|
20010
20066
|
insert: method(external_exports.object({
|
|
20011
20067
|
namespace: external_exports.string().optional(),
|
|
@@ -20249,6 +20305,20 @@ var dataStoreProviderCapability = {
|
|
|
20249
20305
|
kind: "mutation",
|
|
20250
20306
|
auth: "admin"
|
|
20251
20307
|
}),
|
|
20308
|
+
/**
|
|
20309
|
+
* Make a slot hold this row, and answer with the id the row HAS. The
|
|
20310
|
+
* engine half of `settings-store.upsert` — read that docblock for why the
|
|
20311
|
+
* store needed a slot that is not the primary key (D482).
|
|
20312
|
+
*/
|
|
20313
|
+
upsert: method(external_exports.object({
|
|
20314
|
+
namespace: external_exports.string().optional(),
|
|
20315
|
+
collection: external_exports.string(),
|
|
20316
|
+
conflict: external_exports.array(external_exports.string()).readonly(),
|
|
20317
|
+
record: BulkRecordSchema
|
|
20318
|
+
}), external_exports.object({ id: external_exports.union([external_exports.string(), external_exports.number()]) }), {
|
|
20319
|
+
kind: "mutation",
|
|
20320
|
+
auth: "admin"
|
|
20321
|
+
}),
|
|
20252
20322
|
/** Insert many records in ONE transaction. All or nothing. */
|
|
20253
20323
|
insertMany: method(external_exports.object({
|
|
20254
20324
|
namespace: external_exports.string().optional(),
|
|
@@ -26551,8 +26621,8 @@ var TrackPositionSchema = external_exports.object({
|
|
|
26551
26621
|
var TrackSnapshotSchema = external_exports.object({
|
|
26552
26622
|
timestamp: external_exports.number(),
|
|
26553
26623
|
position: TrackPositionSchema,
|
|
26554
|
-
/**
|
|
26555
|
-
|
|
26624
|
+
/** The snapshot's media row id (D482); resolve via `listTrackMedia({ trackId })`. */
|
|
26625
|
+
mediaId: external_exports.number().int()
|
|
26556
26626
|
});
|
|
26557
26627
|
var TrackEnvelopeSchema = external_exports.object({
|
|
26558
26628
|
minX: external_exports.number(),
|
|
@@ -26991,14 +27061,14 @@ var ObjectEventSchema = external_exports.object({
|
|
|
26991
27061
|
* pixel-space `bbox` onto a displayed image. Omitted in slim projection. */
|
|
26992
27062
|
frameWidth: external_exports.number().optional(),
|
|
26993
27063
|
frameHeight: external_exports.number().optional(),
|
|
26994
|
-
/**
|
|
26995
|
-
|
|
26996
|
-
/** Design B:
|
|
27064
|
+
/** Media row id of the crop attached to this event (if any) — D482. */
|
|
27065
|
+
mediaId: external_exports.number().int().optional(),
|
|
27066
|
+
/** Design B: media row id of the track's native-resolution key frame (the
|
|
26997
27067
|
* best-detection full frame). Resolve via the event-media data-plane
|
|
26998
|
-
* (`/addon/<addonId>/event-media/<
|
|
27068
|
+
* (`/addon/<addonId>/event-media/m/<keyFrameMediaId>`) for a detail view that
|
|
26999
27069
|
* draws `bbox` over the native frame. Absent on legacy rows / non-decoded
|
|
27000
|
-
* sources — consumers fall back to `
|
|
27001
|
-
|
|
27070
|
+
* sources — consumers fall back to `mediaId` (the tight crop). */
|
|
27071
|
+
keyFrameMediaId: external_exports.number().int().optional(),
|
|
27002
27072
|
/** Populated by B5 (recording playback URL for this event). */
|
|
27003
27073
|
mediaUrl: external_exports.string().optional(),
|
|
27004
27074
|
/** The parent track's key-event importance [0,1], propagated to every object
|
|
@@ -27035,7 +27105,19 @@ var MediaFileKindEnum = external_exports.enum([
|
|
|
27035
27105
|
"sceneFrame"
|
|
27036
27106
|
]);
|
|
27037
27107
|
var MediaFileRefSchema = external_exports.object({
|
|
27038
|
-
|
|
27108
|
+
/**
|
|
27109
|
+
* The media row's OWN id — the rowid SQLite assigned it (D482).
|
|
27110
|
+
*
|
|
27111
|
+
* It used to be the row's composite key, `<ownerType>:<ownerId>:<fileKind>
|
|
27112
|
+
* [:<timestampMs>]`, which embedded a FOREIGN id. D474 made event ids
|
|
27113
|
+
* per-table rowid aliases, so `object:101314` and `motion:101314` are two
|
|
27114
|
+
* different rows that spell the same number, and a track whose
|
|
27115
|
+
* `bestEventId` was an object event was served a motion event's snapshot —
|
|
27116
|
+
* a night-time thumbnail on an afternoon track, with no error anywhere. A
|
|
27117
|
+
* surrogate id cannot name the wrong row's owner, because it names no owner
|
|
27118
|
+
* at all.
|
|
27119
|
+
*/
|
|
27120
|
+
mediaId: external_exports.number().int(),
|
|
27039
27121
|
kind: MediaFileKindEnum,
|
|
27040
27122
|
sizeBytes: external_exports.number(),
|
|
27041
27123
|
timestamp: external_exports.number()
|
|
@@ -27103,7 +27185,7 @@ var RetrainTrackSchema = external_exports.object({
|
|
|
27103
27185
|
annotationCount: external_exports.number().int()
|
|
27104
27186
|
});
|
|
27105
27187
|
var RetrainFrameCandidateSchema = external_exports.object({
|
|
27106
|
-
|
|
27188
|
+
mediaId: external_exports.number().int(),
|
|
27107
27189
|
kind: MediaFileKindEnum,
|
|
27108
27190
|
timestamp: external_exports.number(),
|
|
27109
27191
|
sizeBytes: external_exports.number().int(),
|
|
@@ -27116,7 +27198,7 @@ var RetrainFrameSchema = external_exports.object({
|
|
|
27116
27198
|
deviceId: external_exports.number(),
|
|
27117
27199
|
trackId: external_exports.string(),
|
|
27118
27200
|
/** Provenance only. It may already point at nothing — that is expected. */
|
|
27119
|
-
|
|
27201
|
+
sourceMediaId: external_exports.number().int(),
|
|
27120
27202
|
sourceKind: MediaFileKindEnum,
|
|
27121
27203
|
sizeBytes: external_exports.number().int(),
|
|
27122
27204
|
width: external_exports.number().int(),
|
|
@@ -27131,7 +27213,7 @@ var RetrainCopyRefusalSchema = external_exports.enum([
|
|
|
27131
27213
|
var RetrainFrameSelectionSchema = external_exports.object({
|
|
27132
27214
|
copied: external_exports.array(RetrainFrameSchema).readonly(),
|
|
27133
27215
|
refused: external_exports.array(external_exports.object({
|
|
27134
|
-
|
|
27216
|
+
sourceMediaId: external_exports.number().int(),
|
|
27135
27217
|
reason: RetrainCopyRefusalSchema
|
|
27136
27218
|
})).readonly()
|
|
27137
27219
|
});
|
|
@@ -27139,7 +27221,7 @@ var RetrainFrameListSchema = external_exports.object({
|
|
|
27139
27221
|
candidates: external_exports.array(RetrainFrameCandidateSchema).readonly(),
|
|
27140
27222
|
copies: external_exports.array(RetrainFrameSchema).readonly(),
|
|
27141
27223
|
/** What the page pre-selects — the native key frame when one survives. */
|
|
27142
|
-
|
|
27224
|
+
autoPickMediaId: external_exports.number().int().optional()
|
|
27143
27225
|
});
|
|
27144
27226
|
var RetrainAssistSubjectSchema = external_exports.discriminatedUnion("kind", [external_exports.object({
|
|
27145
27227
|
kind: external_exports.literal("package"),
|
|
@@ -27232,7 +27314,7 @@ var SummarySchema = external_exports.object({
|
|
|
27232
27314
|
lastActiveAt: external_exports.number(),
|
|
27233
27315
|
sealedAt: external_exports.number().nullable(),
|
|
27234
27316
|
memberCount: external_exports.number().int().nonnegative(),
|
|
27235
|
-
|
|
27317
|
+
groupShotMediaId: external_exports.number().int().nullable()
|
|
27236
27318
|
});
|
|
27237
27319
|
var SummariesQueryInput = external_exports.object({
|
|
27238
27320
|
deviceIds: external_exports.array(external_exports.number()).min(1),
|
|
@@ -28125,7 +28207,7 @@ var pipelineAnalyticsCapability = {
|
|
|
28125
28207
|
selectRetrainFrames: method(external_exports.object({
|
|
28126
28208
|
deviceId: external_exports.number(),
|
|
28127
28209
|
trackId: external_exports.string(),
|
|
28128
|
-
|
|
28210
|
+
mediaIds: external_exports.array(external_exports.number().int()).min(1)
|
|
28129
28211
|
}), RetrainFrameSelectionSchema, {
|
|
28130
28212
|
kind: "mutation",
|
|
28131
28213
|
auth: "admin"
|
|
@@ -28289,8 +28371,29 @@ var pipelineAnalyticsCapability = {
|
|
|
28289
28371
|
kind: "query",
|
|
28290
28372
|
auth: "admin"
|
|
28291
28373
|
}),
|
|
28374
|
+
/**
|
|
28375
|
+
* The media an EVENT owns.
|
|
28376
|
+
*
|
|
28377
|
+
* `ownerType` is REQUIRED, and that is the whole correction (D482). An
|
|
28378
|
+
* event is a row in ONE of three tables, and since D474 each numbers from
|
|
28379
|
+
* 1 independently: `motion:101314` and `object:101314` both exist. This
|
|
28380
|
+
* method took a bare `eventId` and the provider probed motion → object →
|
|
28381
|
+
* audio, stopping at the first hit — so on the live hub, where object
|
|
28382
|
+
* events own no media of their own and 299 883 of 300 559 media rows are
|
|
28383
|
+
* motion-owned, EVERY object event resolved to its motion namesake. A
|
|
28384
|
+
* track from 17:34 on camera 615 was served a snapshot from 22:35 eleven
|
|
28385
|
+
* days earlier, silently.
|
|
28386
|
+
*
|
|
28387
|
+
* D476 had already disambiguated the KEY (`motion:` vs `object:`); this is
|
|
28388
|
+
* the API catching up to it. Naming the table is not a "qualification" of
|
|
28389
|
+
* the ambiguity — a listing BY OWNER has no address to make surrogate: the
|
|
28390
|
+
* owner IS (table, id), and half of it is not a question.
|
|
28391
|
+
*/
|
|
28292
28392
|
getEventMedia: method(external_exports.object({
|
|
28293
|
-
|
|
28393
|
+
/** Which of the three event tables owns the row. */
|
|
28394
|
+
ownerType: EventOwnerTypeSchema,
|
|
28395
|
+
/** The event's rowid in that table (D474: an event id is a number). */
|
|
28396
|
+
eventId: external_exports.number().int(),
|
|
28294
28397
|
kind: MediaFileKindEnum.optional(),
|
|
28295
28398
|
deviceId: external_exports.number()
|
|
28296
28399
|
}), external_exports.array(MediaFileSchema).readonly()),
|
|
@@ -28335,11 +28438,14 @@ var pipelineAnalyticsCapability = {
|
|
|
28335
28438
|
* the live hub: one event's `fullFrameBoxed` is 2 824 077 B, base64'd to
|
|
28336
28439
|
* ~3.8 MB, allocated whole in hub-main's heap, for a list of keys.
|
|
28337
28440
|
*
|
|
28338
|
-
* Same `deviceId` authorization subject as `getEventMedia`,
|
|
28339
|
-
*
|
|
28441
|
+
* Same `deviceId` authorization subject as `getEventMedia`, the same
|
|
28442
|
+
* REQUIRED `ownerType` (read that method's docblock for the night-time
|
|
28443
|
+
* thumbnail this closes — D482), and the same rows: this is a projection
|
|
28444
|
+
* of that method, never a different question.
|
|
28340
28445
|
*/
|
|
28341
28446
|
listEventMedia: method(external_exports.object({
|
|
28342
|
-
|
|
28447
|
+
ownerType: EventOwnerTypeSchema,
|
|
28448
|
+
eventId: external_exports.number().int(),
|
|
28343
28449
|
deviceId: external_exports.number()
|
|
28344
28450
|
}), external_exports.array(MediaFileInfoSchema).readonly()),
|
|
28345
28451
|
/**
|
|
@@ -34018,8 +34124,8 @@ var IdentitySchema = external_exports.object({
|
|
|
34018
34124
|
id: external_exports.string(),
|
|
34019
34125
|
name: external_exports.string(),
|
|
34020
34126
|
sampleCount: external_exports.number().int().nonnegative(),
|
|
34021
|
-
|
|
34022
|
-
/** Inline base64 of the cover sample's crop, resolved from `
|
|
34127
|
+
coverMediaId: external_exports.number().int().optional(),
|
|
34128
|
+
/** Inline base64 of the cover sample's crop, resolved from `coverMediaId`.
|
|
34023
34129
|
* Lets the UI render the person's face avatar instead of a placeholder icon. */
|
|
34024
34130
|
coverBase64: external_exports.string().optional()
|
|
34025
34131
|
});
|
|
@@ -34035,8 +34141,8 @@ var IdentitySampleAuditRowSchema = external_exports.object({
|
|
|
34035
34141
|
enrolledAt: external_exports.number().int(),
|
|
34036
34142
|
deviceId: external_exports.number().int().optional(),
|
|
34037
34143
|
source: external_exports.enum(["detected", "photo"]),
|
|
34038
|
-
/** The enrolled crop's media
|
|
34039
|
-
|
|
34144
|
+
/** The enrolled crop's media row id, so the panel can show the evidence. */
|
|
34145
|
+
mediaId: external_exports.number().int().optional(),
|
|
34040
34146
|
/**
|
|
34041
34147
|
* False = the sample is stamped with a DIFFERENT face model, and a cosine
|
|
34042
34148
|
* across feature spaces is a well-formed float with no meaning. Every number
|
|
@@ -34105,15 +34211,15 @@ var FaceInfoSchema = external_exports.object({
|
|
|
34105
34211
|
*/
|
|
34106
34212
|
cropUrl: external_exports.string().optional(),
|
|
34107
34213
|
/** Design B: the face bbox (pixel space) on the key frame — lets a detail
|
|
34108
|
-
* view draw the box over the native `
|
|
34214
|
+
* view draw the box over the native `keyFrameMediaId` frame. Absent on
|
|
34109
34215
|
* legacy rows written before design B. */
|
|
34110
34216
|
faceBbox: BoundingBoxSchema.optional(),
|
|
34111
34217
|
/** Design B: MediaStore key of the track's native-resolution key frame.
|
|
34112
34218
|
* Fetch the native JPEG via the event-media data-plane
|
|
34113
|
-
* (`/addon/<addonId>/event-media/<
|
|
34219
|
+
* (`/addon/<addonId>/event-media/m/<keyFrameMediaId>`). Absent when the
|
|
34114
34220
|
* track produced no key frame (e.g. native/onboard source) — the UI falls
|
|
34115
34221
|
* back to the inline `base64` face crop. */
|
|
34116
|
-
|
|
34222
|
+
keyFrameMediaId: external_exports.number().int().optional(),
|
|
34117
34223
|
/** Winning identity-match cosine (0..1) for this face's track, when an
|
|
34118
34224
|
* identity was auto-confirmed. Lets the UI surface WHY a face was assigned
|
|
34119
34225
|
* (confidence badge / low-confidence audit). Absent on legacy rows and on
|
|
@@ -34151,7 +34257,9 @@ var FaceClusterSchema = external_exports.object({
|
|
|
34151
34257
|
cohesion: external_exports.number()
|
|
34152
34258
|
});
|
|
34153
34259
|
var MediaFileLiteSchema$1 = external_exports.object({
|
|
34154
|
-
|
|
34260
|
+
/** The media row's own id — the same address `MediaFileRef.mediaId` carries
|
|
34261
|
+
* (D482). It was the row's composite key, which embedded the owner. */
|
|
34262
|
+
mediaId: external_exports.number().int(),
|
|
34155
34263
|
kind: external_exports.string(),
|
|
34156
34264
|
url: external_exports.string(),
|
|
34157
34265
|
sizeBytes: external_exports.number(),
|
|
@@ -34173,7 +34281,7 @@ var faceGalleryCapability = {
|
|
|
34173
34281
|
* covers inline, ~10 KB of base64 per row, on a query this UI mounts
|
|
34174
34282
|
* four times and the viewer holds at `staleTime: 30_000`.
|
|
34175
34283
|
*
|
|
34176
|
-
* Nothing loses its avatar: `
|
|
34284
|
+
* Nothing loses its avatar: `coverMediaId` is already on every row and
|
|
34177
34285
|
* the `event-media` plane serves that key `immutable` with an ETag.
|
|
34178
34286
|
*
|
|
34179
34287
|
* **This is an INPUT field, so it does not reach the addon until the
|
|
@@ -37303,8 +37411,8 @@ var VehicleSchema = external_exports.object({
|
|
|
37303
37411
|
id: external_exports.string(),
|
|
37304
37412
|
name: external_exports.string(),
|
|
37305
37413
|
sampleCount: external_exports.number().int().nonnegative(),
|
|
37306
|
-
|
|
37307
|
-
/** Inline base64 of the cover sample's plate crop, resolved from `
|
|
37414
|
+
coverMediaId: external_exports.number().int().optional(),
|
|
37415
|
+
/** Inline base64 of the cover sample's plate crop, resolved from `coverMediaId`. */
|
|
37308
37416
|
coverBase64: external_exports.string().optional()
|
|
37309
37417
|
});
|
|
37310
37418
|
var VehicleSampleInfoSchema = external_exports.object({
|
|
@@ -37337,7 +37445,7 @@ var PlateInfoSchema = external_exports.object({
|
|
|
37337
37445
|
/** keyFrame parity: the plate bbox (pixel space) on the native key frame. */
|
|
37338
37446
|
plateBbox: BoundingBoxSchema.optional(),
|
|
37339
37447
|
/** keyFrame parity: MediaStore key of the track's native-resolution key frame. */
|
|
37340
|
-
|
|
37448
|
+
keyFrameMediaId: external_exports.number().int().optional(),
|
|
37341
37449
|
base64: external_exports.string().optional(),
|
|
37342
37450
|
/**
|
|
37343
37451
|
* Same crop as a data-plane URL, always present when the plate has a stored
|
|
@@ -37348,7 +37456,9 @@ var PlateInfoSchema = external_exports.object({
|
|
|
37348
37456
|
cropUrl: external_exports.string().optional()
|
|
37349
37457
|
});
|
|
37350
37458
|
var MediaFileLiteSchema = external_exports.object({
|
|
37351
|
-
|
|
37459
|
+
/** The media row's own id — the same address `MediaFileRef.mediaId` carries
|
|
37460
|
+
* (D482). It was the row's composite key, which embedded the owner. */
|
|
37461
|
+
mediaId: external_exports.number().int(),
|
|
37352
37462
|
kind: external_exports.string(),
|
|
37353
37463
|
url: external_exports.string(),
|
|
37354
37464
|
sizeBytes: external_exports.number(),
|
|
@@ -37422,7 +37532,7 @@ var plateGalleryCapability = {
|
|
|
37422
37532
|
listVehicles: method(external_exports.object({
|
|
37423
37533
|
/** Inline {@link VehicleSchema.coverBase64} on every row. Default
|
|
37424
37534
|
* `false` — the vehicle twin of `faceGallery.listIdentities`'s
|
|
37425
|
-
* option; `
|
|
37535
|
+
* option; `coverMediaId` + the `event-media` plane carry the picture.
|
|
37426
37536
|
* INPUT field: stripped by the hub router until the train ships, which
|
|
37427
37537
|
* resolves to `false` and is exactly the intended default. */
|
|
37428
37538
|
includeCrops: external_exports.boolean().optional()
|
|
@@ -38920,7 +39030,14 @@ var SceneReferenceSchema = external_exports.object({
|
|
|
38920
39030
|
modelId: external_exports.string(),
|
|
38921
39031
|
condition: SceneConditionSchema,
|
|
38922
39032
|
capturedAt: external_exports.number(),
|
|
38923
|
-
|
|
39033
|
+
/**
|
|
39034
|
+
* The reference thumbnail's media ROW id (D482).
|
|
39035
|
+
*
|
|
39036
|
+
* The name already said `mediaId` while the value was the row's composite
|
|
39037
|
+
* key — a leftover that read as done and was not. It is the row's own id
|
|
39038
|
+
* now, addressed at `/addon/<addonId>/event-media/m/<id>`.
|
|
39039
|
+
*/
|
|
39040
|
+
thumbnailMediaId: external_exports.number().int().optional(),
|
|
38924
39041
|
/** Whole-frame (downscaled) embedding captured alongside the ROI crop. The
|
|
38925
39042
|
* anti-view-shift anchor: a bumped camera, a PTZ preset or a re-aim makes the
|
|
38926
39043
|
* normalized rect frame a different piece of world, and the scene would
|
|
@@ -40612,7 +40729,7 @@ var StationaryObjectSchema = external_exports.object({
|
|
|
40612
40729
|
/** Enrichment label carried from the source track (identity / plate). */
|
|
40613
40730
|
label: external_exports.string().optional(),
|
|
40614
40731
|
/** Native-resolution key-frame media key for the parked object's best image. */
|
|
40615
|
-
|
|
40732
|
+
keyFrameMediaId: external_exports.number().int().optional()
|
|
40616
40733
|
});
|
|
40617
40734
|
var CameraOccupancySnapshotSchema = external_exports.object({
|
|
40618
40735
|
/** Frame timestamp of the inference result that produced this snapshot. */
|
|
@@ -41876,6 +41993,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
41876
41993
|
addonId: null,
|
|
41877
41994
|
access: "create"
|
|
41878
41995
|
},
|
|
41996
|
+
"dataStoreProvider.upsert": {
|
|
41997
|
+
capName: "data-store-provider",
|
|
41998
|
+
capScope: "system",
|
|
41999
|
+
addonId: null,
|
|
42000
|
+
access: "create"
|
|
42001
|
+
},
|
|
41879
42002
|
"dayNight.getOptions": {
|
|
41880
42003
|
capName: "day-night",
|
|
41881
42004
|
capScope: "device",
|
|
@@ -45740,6 +45863,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
45740
45863
|
addonId: null,
|
|
45741
45864
|
access: "create"
|
|
45742
45865
|
},
|
|
45866
|
+
"settingsStore.upsert": {
|
|
45867
|
+
capName: "settings-store",
|
|
45868
|
+
capScope: "system",
|
|
45869
|
+
addonId: null,
|
|
45870
|
+
access: "create"
|
|
45871
|
+
},
|
|
45743
45872
|
"smtpProvider.getStatus": {
|
|
45744
45873
|
capName: "smtp-provider",
|
|
45745
45874
|
capScope: "system",
|
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-W67ATFOA.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-LICFWRGL.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-LICFWRGL.js");
|
|
87
87
|
}
|
|
88
88
|
|
|
89
89
|
// src/commands/setup.ts
|
|
@@ -1140,7 +1140,7 @@ function isUnknown(_value) {
|
|
|
1140
1140
|
return true;
|
|
1141
1141
|
}
|
|
1142
1142
|
async function resolveServerInteractive(presetNamespace) {
|
|
1143
|
-
const { discoverNodes, resolveHubFromDiscovered, filterHubNodes, DEFAULT_HUB_HTTPS_PORT } = await import("./discover-
|
|
1143
|
+
const { discoverNodes, resolveHubFromDiscovered, filterHubNodes, DEFAULT_HUB_HTTPS_PORT } = await import("./discover-CPDHVQWB.js");
|
|
1144
1144
|
if (presetNamespace) {
|
|
1145
1145
|
const spinner4 = clack.spinner();
|
|
1146
1146
|
spinner4.start(`Discovering hub on LAN (namespace "${presetNamespace}")`);
|