@camstack/addon-agent-ui 1.2.72 → 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.
- package/dist/addon.js +87 -3
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
2
|
import { fileURLToPath } from "node:url";
|
|
3
|
-
//#region ../types/dist/event-category-
|
|
3
|
+
//#region ../types/dist/event-category-zAv7pMUz.mjs
|
|
4
4
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
5
5
|
EventCategory["SystemBoot"] = "system.boot";
|
|
6
6
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -372,6 +372,13 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
372
372
|
*/
|
|
373
373
|
EventCategory["BatteryOnStatusChanged"] = "battery.onStatusChanged";
|
|
374
374
|
/**
|
|
375
|
+
* Cap event fired by every device that registers the `network-link`
|
|
376
|
+
* capability. Mirrors the cap definition's `onStatusChanged`. Carries
|
|
377
|
+
* `{ deviceId, status: NetworkLinkStatus }` — a link switch or a signal
|
|
378
|
+
* reading that moved.
|
|
379
|
+
*/
|
|
380
|
+
EventCategory["NetworkLinkOnStatusChanged"] = "network-link.onStatusChanged";
|
|
381
|
+
/**
|
|
375
382
|
* Emitted by the battery cap provider WHEN `wakeForStream` enters the
|
|
376
383
|
* "wake in progress" window — between the Baichuan wake-up issue and
|
|
377
384
|
* the camera's first dialed-back RTP packet. The stream-broker
|
|
@@ -19024,6 +19031,33 @@ var RecentTracksQueryInput = object({
|
|
|
19024
19031
|
*/
|
|
19025
19032
|
classes: array(string()).optional()
|
|
19026
19033
|
});
|
|
19034
|
+
/**
|
|
19035
|
+
* A Summary (D359): the per-camera session envelope that references tracks.
|
|
19036
|
+
* `groupShotKey` is the media key of its group shot (`ownerKind: 'summary'`,
|
|
19037
|
+
* served by the event-media plane by key), null until the first frame with a
|
|
19038
|
+
* member visible has been materialised.
|
|
19039
|
+
*/
|
|
19040
|
+
var SummarySchema = object({
|
|
19041
|
+
id: string(),
|
|
19042
|
+
deviceId: number(),
|
|
19043
|
+
openedAt: number(),
|
|
19044
|
+
lastActiveAt: number(),
|
|
19045
|
+
sealedAt: number().nullable(),
|
|
19046
|
+
memberCount: number().int().nonnegative(),
|
|
19047
|
+
groupShotKey: string().nullable()
|
|
19048
|
+
});
|
|
19049
|
+
var SummariesQueryInput = object({
|
|
19050
|
+
deviceIds: array(number()).min(1),
|
|
19051
|
+
since: number().optional(),
|
|
19052
|
+
until: number().optional(),
|
|
19053
|
+
limit: number().int().min(1).max(200).default(50)
|
|
19054
|
+
});
|
|
19055
|
+
var SummariesPageSchema = object({ summaries: array(SummarySchema).readonly() });
|
|
19056
|
+
var SummaryDetailSchema = object({
|
|
19057
|
+
summary: SummarySchema,
|
|
19058
|
+
/** Member track ids, in absorption order. */
|
|
19059
|
+
trackIds: array(string()).readonly()
|
|
19060
|
+
});
|
|
19027
19061
|
var RecentTracksPageSchema = object({
|
|
19028
19062
|
/** Merged page, ordered by (`lastSeen` DESC, `trackId` DESC). */
|
|
19029
19063
|
tracks: array(TrackSchema).readonly(),
|
|
@@ -19424,7 +19458,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
19424
19458
|
* timeline would read as a camera that saw nothing.
|
|
19425
19459
|
*/
|
|
19426
19460
|
classes: array(string()).optional()
|
|
19427
|
-
}), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(object({ deviceId: number() }), _void(), {
|
|
19461
|
+
}), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(SummariesQueryInput, SummariesPageSchema), method(object({ id: string() }), SummaryDetailSchema.nullable()), method(object({ deviceId: number() }), _void(), {
|
|
19428
19462
|
kind: "mutation",
|
|
19429
19463
|
auth: "admin"
|
|
19430
19464
|
}), method(DeviceEventQueryInput, array(MotionEventSchema).readonly()), method(ObjectEventQueryInput, array(ObjectEventSchema).readonly()), method(DeviceEventQueryInput, array(AudioEventSchema).readonly()), method(object({ deviceId: number() }), array(EventKindDescriptorSchema).readonly()), method(object({ deviceIds: array(number()).min(1).max(200) }), array(EventKindsForDeviceSchema).readonly()), method(object({
|
|
@@ -23157,6 +23191,39 @@ DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, meth
|
|
|
23157
23191
|
deviceId: number(),
|
|
23158
23192
|
status: BatteryStatusSchema
|
|
23159
23193
|
});
|
|
23194
|
+
/**
|
|
23195
|
+
* Network-link snapshot. Same shape for every provider (a Reolink wifi
|
|
23196
|
+
* camera, a Home Assistant device with a signal-strength sensor, a Tapo
|
|
23197
|
+
* plug): one slice under `device.runtimeState['network-link']`, one badge,
|
|
23198
|
+
* one Home Assistant projection.
|
|
23199
|
+
*/
|
|
23200
|
+
var NetworkLinkStatusSchema = object({
|
|
23201
|
+
/** The link the device is on. `'unknown'` = not read yet, not "no link". */
|
|
23202
|
+
type: _enum([
|
|
23203
|
+
"wifi",
|
|
23204
|
+
"ethernet",
|
|
23205
|
+
"cellular",
|
|
23206
|
+
"unknown"
|
|
23207
|
+
]),
|
|
23208
|
+
/**
|
|
23209
|
+
* Link quality, 0..100 inclusive, normalised by the provider from whatever
|
|
23210
|
+
* the firmware reports (bars, RSSI, a vendor scale). **`null` means NOT
|
|
23211
|
+
* KNOWN or NOT APPLICABLE** — a wired link has no signal, and a wireless
|
|
23212
|
+
* one whose reading has not landed must not be drawn at 0 %. Consumers
|
|
23213
|
+
* SKIP a null rather than coerce it.
|
|
23214
|
+
*/
|
|
23215
|
+
signalPercent: number().min(0).max(100).nullable(),
|
|
23216
|
+
/** Raw received signal strength in dBm, when the firmware reports one. */
|
|
23217
|
+
rssiDbm: number().optional(),
|
|
23218
|
+
/** Network name of a wireless link, when the firmware reports it. */
|
|
23219
|
+
ssid: string().optional(),
|
|
23220
|
+
/** Ms epoch of the last observation. Lets consumers reason about freshness. */
|
|
23221
|
+
lastUpdated: number()
|
|
23222
|
+
});
|
|
23223
|
+
DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.Light, DeviceType.Lock, DeviceType.Siren, object({
|
|
23224
|
+
deviceId: number(),
|
|
23225
|
+
status: NetworkLinkStatusSchema
|
|
23226
|
+
});
|
|
23160
23227
|
object({
|
|
23161
23228
|
on: boolean(),
|
|
23162
23229
|
/** Ms epoch of the last transition. 0 if never observed. */
|
|
@@ -32379,6 +32446,12 @@ Object.freeze({
|
|
|
32379
32446
|
addonId: null,
|
|
32380
32447
|
access: "view"
|
|
32381
32448
|
},
|
|
32449
|
+
"pipelineAnalytics.getSummary": {
|
|
32450
|
+
capName: "pipeline-analytics",
|
|
32451
|
+
capScope: "device",
|
|
32452
|
+
addonId: null,
|
|
32453
|
+
access: "view"
|
|
32454
|
+
},
|
|
32382
32455
|
"pipelineAnalytics.getTrack": {
|
|
32383
32456
|
capName: "pipeline-analytics",
|
|
32384
32457
|
capScope: "device",
|
|
@@ -32457,6 +32530,12 @@ Object.freeze({
|
|
|
32457
32530
|
addonId: null,
|
|
32458
32531
|
access: "view"
|
|
32459
32532
|
},
|
|
32533
|
+
"pipelineAnalytics.listSummaries": {
|
|
32534
|
+
capName: "pipeline-analytics",
|
|
32535
|
+
capScope: "device",
|
|
32536
|
+
addonId: null,
|
|
32537
|
+
access: "view"
|
|
32538
|
+
},
|
|
32460
32539
|
"pipelineAnalytics.listTrackMedia": {
|
|
32461
32540
|
capName: "pipeline-analytics",
|
|
32462
32541
|
capScope: "device",
|
|
@@ -36152,6 +36231,11 @@ Object.freeze({
|
|
|
36152
36231
|
form: "array",
|
|
36153
36232
|
optional: true
|
|
36154
36233
|
}],
|
|
36234
|
+
"pipelineAnalytics.listSummaries": [{
|
|
36235
|
+
name: "deviceIds",
|
|
36236
|
+
form: "array",
|
|
36237
|
+
optional: false
|
|
36238
|
+
}],
|
|
36155
36239
|
"pipelineAnalytics.listTrackMedia": [{
|
|
36156
36240
|
name: "deviceId",
|
|
36157
36241
|
form: "single",
|
|
@@ -37436,7 +37520,7 @@ var AgentUIAddon = class extends BaseAddon {
|
|
|
37436
37520
|
capability: adminUiCapability,
|
|
37437
37521
|
provider: {
|
|
37438
37522
|
getStaticDir: async () => ({ staticDir: path.resolve(__dirname) }),
|
|
37439
|
-
getVersion: async () => ({ version: "1.2.
|
|
37523
|
+
getVersion: async () => ({ version: "1.2.74" })
|
|
37440
37524
|
}
|
|
37441
37525
|
}];
|
|
37442
37526
|
}
|