@camstack/addon-export-hap 1.2.63 → 1.2.64

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.
@@ -8384,7 +8384,8 @@ var OpsLogReasonSchema = _enum([
8384
8384
  "quota",
8385
8385
  "manual",
8386
8386
  "operator",
8387
- "maintenance"
8387
+ "maintenance",
8388
+ "orphaned-device"
8388
8389
  ]);
8389
8390
  /** One audit row, shared verbatim by both domains. */
8390
8391
  var OpsLogEntrySchema = object({
@@ -13550,10 +13551,39 @@ var DevicePersistConfigPayloadSchema = object({
13550
13551
  deviceId: number(),
13551
13552
  data: record(string(), unknown())
13552
13553
  });
13554
+ /** What a migration actually did, per switch. `unreachable` is a first-class
13555
+ * answer: a camera that could not be asked is not a camera that was silenced. */
13556
+ var MigrateSwitchOutcomeSchema = _enum([
13557
+ "off",
13558
+ "on",
13559
+ "not-offered",
13560
+ "unreachable"
13561
+ ]);
13562
+ var MigrateSwitchReportSchema = object({
13563
+ deviceId: number(),
13564
+ switchId: CameraSwitchIdSchema,
13565
+ outcome: MigrateSwitchOutcomeSchema,
13566
+ detail: string().optional()
13567
+ });
13568
+ var MigrateDeviceResultSchema = object({
13569
+ sourceId: number(),
13570
+ targetId: number(),
13571
+ switches: array(MigrateSwitchReportSchema).readonly(),
13572
+ /** Switches that could NOT be turned off on the source. Empty is the only
13573
+ * value meaning the replaced hardware is quiet. */
13574
+ sourceStillLive: array(CameraSwitchIdSchema).readonly(),
13575
+ swapped: boolean()
13576
+ });
13553
13577
  method(object({
13554
13578
  addonId: string(),
13555
13579
  stableId: string()
13556
- }), object({ id: number() }), { kind: "mutation" }), method(DeviceRegisterPayloadSchema, _void(), { kind: "mutation" }), method(DeviceRemovePayloadSchema, _void(), { kind: "mutation" }), method(DevicePersistConfigPayloadSchema, _void(), { kind: "mutation" }), method(object({ deviceId: number() }), record(string(), unknown())), method(object({ deviceId: number() }), record(string(), unknown())), method(object({ deviceId: number() }), DeviceMetaSchema.nullable()), method(object({
13580
+ }), object({ id: number() }), { kind: "mutation" }), method(object({
13581
+ sourceId: number(),
13582
+ targetId: number()
13583
+ }), MigrateDeviceResultSchema, {
13584
+ kind: "mutation",
13585
+ auth: "admin"
13586
+ }), method(DeviceRegisterPayloadSchema, _void(), { kind: "mutation" }), method(DeviceRemovePayloadSchema, _void(), { kind: "mutation" }), method(DevicePersistConfigPayloadSchema, _void(), { kind: "mutation" }), method(object({ deviceId: number() }), record(string(), unknown())), method(object({ deviceId: number() }), record(string(), unknown())), method(object({ deviceId: number() }), DeviceMetaSchema.nullable()), method(object({
13557
13587
  deviceId: number(),
13558
13588
  name: string()
13559
13589
  }), _void(), {
@@ -31129,6 +31159,12 @@ Object.freeze({
31129
31159
  addonId: null,
31130
31160
  access: "view"
31131
31161
  },
31162
+ "deviceManager.migrateDevice": {
31163
+ capName: "device-manager",
31164
+ capScope: "system",
31165
+ addonId: null,
31166
+ access: "create"
31167
+ },
31132
31168
  "deviceManager.persistConfig": {
31133
31169
  capName: "device-manager",
31134
31170
  capScope: "system",
@@ -8372,7 +8372,8 @@ var OpsLogReasonSchema = _enum([
8372
8372
  "quota",
8373
8373
  "manual",
8374
8374
  "operator",
8375
- "maintenance"
8375
+ "maintenance",
8376
+ "orphaned-device"
8376
8377
  ]);
8377
8378
  /** One audit row, shared verbatim by both domains. */
8378
8379
  var OpsLogEntrySchema = object({
@@ -13538,10 +13539,39 @@ var DevicePersistConfigPayloadSchema = object({
13538
13539
  deviceId: number(),
13539
13540
  data: record(string(), unknown())
13540
13541
  });
13542
+ /** What a migration actually did, per switch. `unreachable` is a first-class
13543
+ * answer: a camera that could not be asked is not a camera that was silenced. */
13544
+ var MigrateSwitchOutcomeSchema = _enum([
13545
+ "off",
13546
+ "on",
13547
+ "not-offered",
13548
+ "unreachable"
13549
+ ]);
13550
+ var MigrateSwitchReportSchema = object({
13551
+ deviceId: number(),
13552
+ switchId: CameraSwitchIdSchema,
13553
+ outcome: MigrateSwitchOutcomeSchema,
13554
+ detail: string().optional()
13555
+ });
13556
+ var MigrateDeviceResultSchema = object({
13557
+ sourceId: number(),
13558
+ targetId: number(),
13559
+ switches: array(MigrateSwitchReportSchema).readonly(),
13560
+ /** Switches that could NOT be turned off on the source. Empty is the only
13561
+ * value meaning the replaced hardware is quiet. */
13562
+ sourceStillLive: array(CameraSwitchIdSchema).readonly(),
13563
+ swapped: boolean()
13564
+ });
13541
13565
  method(object({
13542
13566
  addonId: string(),
13543
13567
  stableId: string()
13544
- }), object({ id: number() }), { kind: "mutation" }), method(DeviceRegisterPayloadSchema, _void(), { kind: "mutation" }), method(DeviceRemovePayloadSchema, _void(), { kind: "mutation" }), method(DevicePersistConfigPayloadSchema, _void(), { kind: "mutation" }), method(object({ deviceId: number() }), record(string(), unknown())), method(object({ deviceId: number() }), record(string(), unknown())), method(object({ deviceId: number() }), DeviceMetaSchema.nullable()), method(object({
13568
+ }), object({ id: number() }), { kind: "mutation" }), method(object({
13569
+ sourceId: number(),
13570
+ targetId: number()
13571
+ }), MigrateDeviceResultSchema, {
13572
+ kind: "mutation",
13573
+ auth: "admin"
13574
+ }), method(DeviceRegisterPayloadSchema, _void(), { kind: "mutation" }), method(DeviceRemovePayloadSchema, _void(), { kind: "mutation" }), method(DevicePersistConfigPayloadSchema, _void(), { kind: "mutation" }), method(object({ deviceId: number() }), record(string(), unknown())), method(object({ deviceId: number() }), record(string(), unknown())), method(object({ deviceId: number() }), DeviceMetaSchema.nullable()), method(object({
13545
13575
  deviceId: number(),
13546
13576
  name: string()
13547
13577
  }), _void(), {
@@ -31117,6 +31147,12 @@ Object.freeze({
31117
31147
  addonId: null,
31118
31148
  access: "view"
31119
31149
  },
31150
+ "deviceManager.migrateDevice": {
31151
+ capName: "device-manager",
31152
+ capScope: "system",
31153
+ addonId: null,
31154
+ access: "create"
31155
+ },
31120
31156
  "deviceManager.persistConfig": {
31121
31157
  capName: "device-manager",
31122
31158
  capScope: "system",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-export-hap",
3
- "version": "1.2.63",
3
+ "version": "1.2.64",
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",