@camstack/addon-export-hap 1.2.74 → 1.2.76
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/hap-export.addon.js +48 -1
- package/dist/hap-export.addon.mjs +48 -1
- package/package.json +1 -1
package/dist/hap-export.addon.js
CHANGED
|
@@ -13438,6 +13438,24 @@ method(_void(), _void(), { kind: "mutation" }), method(_void(), _void(), { kind:
|
|
|
13438
13438
|
kind: "mutation",
|
|
13439
13439
|
auth: "admin"
|
|
13440
13440
|
});
|
|
13441
|
+
/**
|
|
13442
|
+
* Device Manager capability — hub-side singleton that unifies device persistence,
|
|
13443
|
+
* live registry access, and all management operations into a single tRPC surface.
|
|
13444
|
+
*
|
|
13445
|
+
* Replaces:
|
|
13446
|
+
* - `device-persistence` capability (persistence methods absorbed here)
|
|
13447
|
+
* - `device-management.router.ts` (deleted in Phase 2)
|
|
13448
|
+
* - `device-ops.router.ts` (compat layer — deleted; device-provider ops absorbed here)
|
|
13449
|
+
*
|
|
13450
|
+
* All device provider addons (rtsp, onvif, frigate, …) are hub-local: they may
|
|
13451
|
+
* fork into separate processes but never run on remote cluster agents. Therefore:
|
|
13452
|
+
* - No nodeId routing needed — this is a pure hub singleton.
|
|
13453
|
+
* - The hub's DeviceRegistry is the single source of truth for all live devices.
|
|
13454
|
+
* - No shadow registry or cross-node aggregation required.
|
|
13455
|
+
*
|
|
13456
|
+
* Forked workers register devices back to the hub via `ctx.devices`
|
|
13457
|
+
* (DeviceManagerApi → ctx.api.deviceManager.registerDevice), same as today.
|
|
13458
|
+
*/
|
|
13441
13459
|
/** One child-placement directive on a container's `childLayout`. Structurally
|
|
13442
13460
|
* identical to `ChildLayoutEntry` in `device-management.ts` — the cap wire
|
|
13443
13461
|
* shape for the same field. The child is identified by its re-sync-stable
|
|
@@ -13536,7 +13554,12 @@ var ConfigEntrySchema = object({
|
|
|
13536
13554
|
value: unknown(),
|
|
13537
13555
|
description: string().optional()
|
|
13538
13556
|
});
|
|
13539
|
-
|
|
13557
|
+
/**
|
|
13558
|
+
* Only `manual` since D356: the operator picks, nothing links itself. The
|
|
13559
|
+
* field survives on the wire because a viewer already OTA'd parses it —
|
|
13560
|
+
* drop it once no shipped client reads `mode`.
|
|
13561
|
+
*/
|
|
13562
|
+
var LinkedDevicesModeSchema = _enum(["manual"]);
|
|
13540
13563
|
/** One resolved linked device — the compact projection consumers need. */
|
|
13541
13564
|
var LinkedDeviceSchema = object({
|
|
13542
13565
|
deviceId: number(),
|
|
@@ -19086,6 +19109,9 @@ var RetrainStatusSchema = _enum([
|
|
|
19086
19109
|
*
|
|
19087
19110
|
* `debug` does NOT pin; it is attention, not durability.
|
|
19088
19111
|
*
|
|
19112
|
+
* `debugNote` is the operator's own words about WHAT should be checked on this
|
|
19113
|
+
* track, and it lives and dies with `debug` — see {@link MAX_TRACK_DEBUG_NOTE_LEN}.
|
|
19114
|
+
*
|
|
19089
19115
|
* `favourited` IS a BOOLEAN pin (durability bit), not a retrain lifecycle.
|
|
19090
19116
|
* A favourited track is skipped by retention the same way `staging` is, but
|
|
19091
19117
|
* it does not enter `none|staging|trained` and has no staging budget.
|
|
@@ -19096,6 +19122,21 @@ var TrackFlagFields = {
|
|
|
19096
19122
|
markForTrain: boolean().optional(),
|
|
19097
19123
|
/** Operator marked this track for diagnostic attention. */
|
|
19098
19124
|
debug: boolean().optional(),
|
|
19125
|
+
/**
|
|
19126
|
+
* What the operator wants CHECKED on this track, in their own words.
|
|
19127
|
+
*
|
|
19128
|
+
* The flag alone says "look at this" and nothing about what for; a debug set
|
|
19129
|
+
* reviewed hours later is a list of tracks with no question attached. Bound
|
|
19130
|
+
* to `debug` on the WRITE side — the body clears it when `debug` goes off,
|
|
19131
|
+
* and refuses it on a track whose debug is off — so a note can never outlive
|
|
19132
|
+
* the attention it belongs to.
|
|
19133
|
+
*
|
|
19134
|
+
* `''` is a real value ("marked, nothing to add"); the ABSENT key means
|
|
19135
|
+
* "leave whatever is stored alone", which is what lets a surface turn debug
|
|
19136
|
+
* on without a note (a cancelled prompt) and what lets it edit the note
|
|
19137
|
+
* without touching the flag.
|
|
19138
|
+
*/
|
|
19139
|
+
debugNote: string().max(500).optional(),
|
|
19099
19140
|
/** Operator favourited this track. Pins it against pruning. */
|
|
19100
19141
|
favourited: boolean().optional()
|
|
19101
19142
|
};
|
|
@@ -19122,6 +19163,12 @@ var TrackFlagsSchema = object({
|
|
|
19122
19163
|
trackId: string(),
|
|
19123
19164
|
markForTrain: boolean(),
|
|
19124
19165
|
debug: boolean(),
|
|
19166
|
+
/** The note as it STANDS after the write — never absent here (a track with no
|
|
19167
|
+
* note reports `''`), for the same reason the booleans are required: a
|
|
19168
|
+
* surface that has just written must be able to render the note it now owns
|
|
19169
|
+
* without a re-fetch, and an absent key would read as "unchanged" on a
|
|
19170
|
+
* screen that has no previous value to keep. */
|
|
19171
|
+
debugNote: string(),
|
|
19125
19172
|
favourited: boolean(),
|
|
19126
19173
|
/** The lifecycle state the boolean was derived from. Required here (unlike on
|
|
19127
19174
|
* a track row) because this shape is only ever produced by the write body,
|
|
@@ -13426,6 +13426,24 @@ method(_void(), _void(), { kind: "mutation" }), method(_void(), _void(), { kind:
|
|
|
13426
13426
|
kind: "mutation",
|
|
13427
13427
|
auth: "admin"
|
|
13428
13428
|
});
|
|
13429
|
+
/**
|
|
13430
|
+
* Device Manager capability — hub-side singleton that unifies device persistence,
|
|
13431
|
+
* live registry access, and all management operations into a single tRPC surface.
|
|
13432
|
+
*
|
|
13433
|
+
* Replaces:
|
|
13434
|
+
* - `device-persistence` capability (persistence methods absorbed here)
|
|
13435
|
+
* - `device-management.router.ts` (deleted in Phase 2)
|
|
13436
|
+
* - `device-ops.router.ts` (compat layer — deleted; device-provider ops absorbed here)
|
|
13437
|
+
*
|
|
13438
|
+
* All device provider addons (rtsp, onvif, frigate, …) are hub-local: they may
|
|
13439
|
+
* fork into separate processes but never run on remote cluster agents. Therefore:
|
|
13440
|
+
* - No nodeId routing needed — this is a pure hub singleton.
|
|
13441
|
+
* - The hub's DeviceRegistry is the single source of truth for all live devices.
|
|
13442
|
+
* - No shadow registry or cross-node aggregation required.
|
|
13443
|
+
*
|
|
13444
|
+
* Forked workers register devices back to the hub via `ctx.devices`
|
|
13445
|
+
* (DeviceManagerApi → ctx.api.deviceManager.registerDevice), same as today.
|
|
13446
|
+
*/
|
|
13429
13447
|
/** One child-placement directive on a container's `childLayout`. Structurally
|
|
13430
13448
|
* identical to `ChildLayoutEntry` in `device-management.ts` — the cap wire
|
|
13431
13449
|
* shape for the same field. The child is identified by its re-sync-stable
|
|
@@ -13524,7 +13542,12 @@ var ConfigEntrySchema = object({
|
|
|
13524
13542
|
value: unknown(),
|
|
13525
13543
|
description: string().optional()
|
|
13526
13544
|
});
|
|
13527
|
-
|
|
13545
|
+
/**
|
|
13546
|
+
* Only `manual` since D356: the operator picks, nothing links itself. The
|
|
13547
|
+
* field survives on the wire because a viewer already OTA'd parses it —
|
|
13548
|
+
* drop it once no shipped client reads `mode`.
|
|
13549
|
+
*/
|
|
13550
|
+
var LinkedDevicesModeSchema = _enum(["manual"]);
|
|
13528
13551
|
/** One resolved linked device — the compact projection consumers need. */
|
|
13529
13552
|
var LinkedDeviceSchema = object({
|
|
13530
13553
|
deviceId: number(),
|
|
@@ -19074,6 +19097,9 @@ var RetrainStatusSchema = _enum([
|
|
|
19074
19097
|
*
|
|
19075
19098
|
* `debug` does NOT pin; it is attention, not durability.
|
|
19076
19099
|
*
|
|
19100
|
+
* `debugNote` is the operator's own words about WHAT should be checked on this
|
|
19101
|
+
* track, and it lives and dies with `debug` — see {@link MAX_TRACK_DEBUG_NOTE_LEN}.
|
|
19102
|
+
*
|
|
19077
19103
|
* `favourited` IS a BOOLEAN pin (durability bit), not a retrain lifecycle.
|
|
19078
19104
|
* A favourited track is skipped by retention the same way `staging` is, but
|
|
19079
19105
|
* it does not enter `none|staging|trained` and has no staging budget.
|
|
@@ -19084,6 +19110,21 @@ var TrackFlagFields = {
|
|
|
19084
19110
|
markForTrain: boolean().optional(),
|
|
19085
19111
|
/** Operator marked this track for diagnostic attention. */
|
|
19086
19112
|
debug: boolean().optional(),
|
|
19113
|
+
/**
|
|
19114
|
+
* What the operator wants CHECKED on this track, in their own words.
|
|
19115
|
+
*
|
|
19116
|
+
* The flag alone says "look at this" and nothing about what for; a debug set
|
|
19117
|
+
* reviewed hours later is a list of tracks with no question attached. Bound
|
|
19118
|
+
* to `debug` on the WRITE side — the body clears it when `debug` goes off,
|
|
19119
|
+
* and refuses it on a track whose debug is off — so a note can never outlive
|
|
19120
|
+
* the attention it belongs to.
|
|
19121
|
+
*
|
|
19122
|
+
* `''` is a real value ("marked, nothing to add"); the ABSENT key means
|
|
19123
|
+
* "leave whatever is stored alone", which is what lets a surface turn debug
|
|
19124
|
+
* on without a note (a cancelled prompt) and what lets it edit the note
|
|
19125
|
+
* without touching the flag.
|
|
19126
|
+
*/
|
|
19127
|
+
debugNote: string().max(500).optional(),
|
|
19087
19128
|
/** Operator favourited this track. Pins it against pruning. */
|
|
19088
19129
|
favourited: boolean().optional()
|
|
19089
19130
|
};
|
|
@@ -19110,6 +19151,12 @@ var TrackFlagsSchema = object({
|
|
|
19110
19151
|
trackId: string(),
|
|
19111
19152
|
markForTrain: boolean(),
|
|
19112
19153
|
debug: boolean(),
|
|
19154
|
+
/** The note as it STANDS after the write — never absent here (a track with no
|
|
19155
|
+
* note reports `''`), for the same reason the booleans are required: a
|
|
19156
|
+
* surface that has just written must be able to render the note it now owns
|
|
19157
|
+
* without a re-fetch, and an absent key would read as "unchanged" on a
|
|
19158
|
+
* screen that has no previous value to keep. */
|
|
19159
|
+
debugNote: string(),
|
|
19113
19160
|
favourited: boolean(),
|
|
19114
19161
|
/** The lifecycle state the boolean was derived from. Required here (unlike on
|
|
19115
19162
|
* a track row) because this shape is only ever produced by the write body,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-export-hap",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.76",
|
|
4
4
|
"description": "HomeKit (HAP) exporter for CamStack devices. Publishes each exposed device as its own HomeKit accessory: cameras and doorbells with SRTP streaming, HomeKit Secure Video, motion, two-way audio, PTZ and battery; switches, lights, locks and sensors through a capability→service table.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|