@camstack/addon-model-studio 1.1.333 → 1.1.335

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.
Files changed (20) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/{MotionZonesSettings-CLGFGWhw.mjs → MotionZonesSettings-BDvOrmgK.mjs} +2 -2
  3. package/dist/{PrivacyMaskSettings-BoxQ8UnJ.mjs → PrivacyMaskSettings-COjGlTix.mjs} +4 -4
  4. package/dist/{SceneMonitorEditor-DDiS9gPs.mjs → SceneMonitorEditor-D51rv_fX.mjs} +3 -3
  5. package/dist/_stub.js +4348 -4292
  6. package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_model_studio_page-DGlyA6qx.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_model_studio_page-DzS9A7K3.mjs} +3 -3
  7. package/dist/_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-DOB7swL3.mjs +26 -0
  8. package/dist/addon-model-studio.css +1 -1
  9. package/dist/{hostInit-9w1fy_w0.mjs → hostInit-BPhHEPUB.mjs} +2 -2
  10. package/dist/model-studio.addon.js +141 -7
  11. package/dist/model-studio.addon.mjs +141 -7
  12. package/dist/{player-overlays-Mivvb-y6.mjs → player-overlays-ByGpTGW4.mjs} +1 -1
  13. package/dist/remoteEntry.js +1 -1
  14. package/dist/{responsive-0BR63LF_.mjs → responsive-CsLwuUC5.mjs} +1 -1
  15. package/dist/{scene-monitor-copy-BVp1KO84.mjs → scene-monitor-copy-DlcGmqOz.mjs} +1 -1
  16. package/dist/{square-ChSRM6WU.mjs → square-cDi3GFi9.mjs} +1 -1
  17. package/dist/{trash-2-B4u99CqE.mjs → trash-2-Bv6j8WWa.mjs} +1 -1
  18. package/dist/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-9UIE4kFJ.mjs → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-BXMYlxeW.mjs} +1 -1
  19. package/package.json +1 -1
  20. package/dist/_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-DyeK_PyL.mjs +0 -26
@@ -36,7 +36,7 @@ async function r() {
36
36
  }
37
37
  },
38
38
  "@camstack/types": {
39
- version: "1.2.458",
39
+ version: "1.2.459",
40
40
  scope: "default",
41
41
  shareConfig: {
42
42
  singleton: !0,
@@ -81,7 +81,7 @@ async function r() {
81
81
  }
82
82
  },
83
83
  "@camstack/ui-library": {
84
- version: "1.2.362",
84
+ version: "1.2.364",
85
85
  scope: "default",
86
86
  shareConfig: {
87
87
  singleton: !0,
@@ -5850,7 +5850,7 @@ var ZodIssueCode = {
5850
5850
  var ZodFirstPartyTypeKind;
5851
5851
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5852
5852
  //#endregion
5853
- //#region ../types/dist/sleep-DSVWZfJC.mjs
5853
+ //#region ../types/dist/sleep-dco0-jRo.mjs
5854
5854
  /**
5855
5855
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5856
5856
  * window to float samples (D455).
@@ -9323,6 +9323,7 @@ var CAP_NAMES = Object.freeze([
9323
9323
  "plate-gallery",
9324
9324
  "platform-probe",
9325
9325
  "power-meter",
9326
+ "power-source",
9326
9327
  "presence",
9327
9328
  "pressure-sensor",
9328
9329
  "privacy-mask",
@@ -10674,6 +10675,13 @@ Object.freeze({
10674
10675
  "valueType": "number"
10675
10676
  }
10676
10677
  ],
10678
+ "power-source": [{
10679
+ "path": "switchOn",
10680
+ "valueType": "boolean"
10681
+ }, {
10682
+ "path": "offSeconds",
10683
+ "valueType": "number"
10684
+ }],
10677
10685
  "presence": [
10678
10686
  {
10679
10687
  "path": "state",
@@ -16781,6 +16789,41 @@ var ACTUATOR_CAP_VOCABULARY = {
16781
16789
  icon: "droplets"
16782
16790
  }]
16783
16791
  },
16792
+ "power-source": {
16793
+ scope: "device",
16794
+ noun: t("Power source", "Alimentazione"),
16795
+ actions: [
16796
+ {
16797
+ id: "powerSource.on",
16798
+ method: "powerOn",
16799
+ label: t("Power on", "Dai corrente"),
16800
+ phrase: t("Power on {device}", "Dai corrente a {device}"),
16801
+ icon: "power"
16802
+ },
16803
+ {
16804
+ id: "powerSource.off",
16805
+ method: "powerOff",
16806
+ label: t("Power off", "Togli corrente"),
16807
+ phrase: t("Cut the power of {device}", "Togli la corrente a {device}"),
16808
+ icon: "power-off"
16809
+ },
16810
+ {
16811
+ id: "powerSource.forceRestart",
16812
+ method: "forceRestart",
16813
+ label: t("Force restart", "Riavvio forzato"),
16814
+ phrase: t("Force restart {device} by cutting its power", "Riavvia {device} togliendo la corrente"),
16815
+ icon: "refresh-cw"
16816
+ }
16817
+ ],
16818
+ state: [{
16819
+ kind: "boolean",
16820
+ field: "switchOn",
16821
+ label: t("Power switch on", "Presa accesa"),
16822
+ whenTrue: t("When the power of {device} comes on", "Quando arriva la corrente a {device}"),
16823
+ whenFalse: t("When the power of {device} is cut", "Quando manca la corrente a {device}"),
16824
+ icon: "power"
16825
+ }]
16826
+ },
16784
16827
  "lock-control": {
16785
16828
  scope: "device",
16786
16829
  noun: t("Lock", "Serratura"),
@@ -17256,7 +17299,7 @@ var ACTUATOR_CAP_VOCABULARY = {
17256
17299
  method: "setDirection",
17257
17300
  label: t("Spin forward", "Rotazione avanti"),
17258
17301
  phrase: t("Spin {device} forward", "Fai girare {device} in avanti"),
17259
- icon: "rotate-cw",
17302
+ icon: "refresh-cw",
17260
17303
  effect: {
17261
17304
  field: "direction",
17262
17305
  value: "forward"
@@ -45408,7 +45451,7 @@ method(object({
45408
45451
  kind: "mutation",
45409
45452
  auth: "admin"
45410
45453
  }), method(object({ blockIds: array(string()) }), object({ states: array(CompositionBlockStateSchema) }), { auth: "admin" });
45411
- DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.PetFeeder, DeviceType.Container, DeviceType.Thermostat, DeviceType.EventEmitter, DeviceType.Camera, DeviceType.Hub, DeviceType.Light, DeviceType.Siren, DeviceType.Switch, DeviceType.Sensor, DeviceType.Thermostat, DeviceType.Climate, DeviceType.Button, DeviceType.EventEmitter, DeviceType.Update, DeviceType.Generic, DeviceType.Notifier, DeviceType.Script, DeviceType.Automation, DeviceType.Lock, DeviceType.Cover, DeviceType.Valve, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.Fan, DeviceType.MediaPlayer, DeviceType.AlarmPanel, DeviceType.Control, DeviceType.Presence, DeviceType.Weather, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.Container, DeviceType.Image, DeviceType.PetFeeder, DeviceType.PetFountain, DeviceType.Dishwasher, DeviceType.Washer, DeviceType.Dryer, DeviceType.Gateway, DeviceType.Camera, DeviceType.Lock, DeviceType.Camera, DeviceType.Switch, DeviceType.Light, DeviceType.Fan, DeviceType.Climate, DeviceType.Thermostat, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.MediaPlayer, DeviceType.Washer, DeviceType.Dryer, DeviceType.Dishwasher, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.PetFeeder, DeviceType.Switch, DeviceType.Light, DeviceType.Fan, DeviceType.Climate, DeviceType.Thermostat, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.MediaPlayer, DeviceType.Washer, DeviceType.Dryer, DeviceType.Dishwasher, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.PetFeeder, DeviceType.Switch, DeviceType.Light, DeviceType.Fan, DeviceType.Climate, DeviceType.Thermostat, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.MediaPlayer, DeviceType.Washer, DeviceType.Dryer, DeviceType.Dishwasher, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.PetFeeder, DeviceType.Switch, DeviceType.Light, DeviceType.Fan, DeviceType.Climate, DeviceType.Thermostat, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.MediaPlayer, DeviceType.Washer, DeviceType.Dryer, DeviceType.Dishwasher, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.PetFeeder, DeviceType.MediaPlayer, DeviceType.Washer, DeviceType.Dryer, DeviceType.Dishwasher, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.MediaPlayer, DeviceType.WaterHeater, DeviceType.Humidifier, DeviceType.Fan, DeviceType.Climate, DeviceType.Thermostat, DeviceType.PetFeeder;
45454
+ DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.PetFeeder, DeviceType.Container, DeviceType.Thermostat, DeviceType.EventEmitter, DeviceType.Camera, DeviceType.Hub, DeviceType.Light, DeviceType.Siren, DeviceType.Switch, DeviceType.Sensor, DeviceType.Thermostat, DeviceType.Climate, DeviceType.Button, DeviceType.EventEmitter, DeviceType.Update, DeviceType.Generic, DeviceType.Notifier, DeviceType.Script, DeviceType.Automation, DeviceType.Lock, DeviceType.Cover, DeviceType.Valve, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.Fan, DeviceType.MediaPlayer, DeviceType.AlarmPanel, DeviceType.Control, DeviceType.Presence, DeviceType.Weather, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.Container, DeviceType.Image, DeviceType.PetFeeder, DeviceType.PetFountain, DeviceType.Dishwasher, DeviceType.Washer, DeviceType.Dryer, DeviceType.Gateway, DeviceType.Camera, DeviceType.Lock, DeviceType.Camera, DeviceType.Switch, DeviceType.Light, DeviceType.Fan, DeviceType.Climate, DeviceType.Thermostat, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.MediaPlayer, DeviceType.Washer, DeviceType.Dryer, DeviceType.Dishwasher, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.PetFeeder, DeviceType.Switch, DeviceType.Light, DeviceType.Fan, DeviceType.Climate, DeviceType.Thermostat, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.MediaPlayer, DeviceType.Washer, DeviceType.Dryer, DeviceType.Dishwasher, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.PetFeeder, DeviceType.Switch, DeviceType.Light, DeviceType.Fan, DeviceType.Climate, DeviceType.Thermostat, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.MediaPlayer, DeviceType.Washer, DeviceType.Dryer, DeviceType.Dishwasher, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.PetFeeder, DeviceType.Switch, DeviceType.Light, DeviceType.Fan, DeviceType.Climate, DeviceType.Thermostat, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.MediaPlayer, DeviceType.Washer, DeviceType.Dryer, DeviceType.Dishwasher, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.PetFeeder, DeviceType.Gateway, DeviceType.Hub, DeviceType.Camera, DeviceType.Sensor, DeviceType.MediaPlayer, DeviceType.Vacuum, DeviceType.Generic, DeviceType.MediaPlayer, DeviceType.Washer, DeviceType.Dryer, DeviceType.Dishwasher, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.MediaPlayer, DeviceType.WaterHeater, DeviceType.Humidifier, DeviceType.Fan, DeviceType.Climate, DeviceType.Thermostat, DeviceType.PetFeeder;
45412
45455
  var NUMBER = {
45413
45456
  kind: "fixed",
45414
45457
  result: ["number"]
@@ -64520,19 +64563,19 @@ var RemoteSetConfigResultSchema = discriminatedUnion("status", [object({ status:
64520
64563
  reason: _enum(["unknown-template", "not-a-media-player"]),
64521
64564
  detail: string()
64522
64565
  })]);
64523
- var deviceInput = object({ deviceId: number().int().nonnegative() });
64566
+ var deviceInput$1 = object({ deviceId: number().int().nonnegative() });
64524
64567
  DeviceType.MediaPlayer;
64525
- method(deviceInput, RemoteConfigSchema, { auth: "admin" }), method(deviceInput.extend({ config: RemoteConfigSchema }), RemoteSetConfigResultSchema, {
64568
+ method(deviceInput$1, RemoteConfigSchema, { auth: "admin" }), method(deviceInput$1.extend({ config: RemoteConfigSchema }), RemoteSetConfigResultSchema, {
64526
64569
  kind: "mutation",
64527
64570
  auth: "admin"
64528
- }), method(deviceInput, RemoteCommandListSchema, { auth: "protected" }), method(deviceInput.extend({
64571
+ }), method(deviceInput$1, RemoteCommandListSchema, { auth: "protected" }), method(deviceInput$1.extend({
64529
64572
  role: RemoteRoleSchema,
64530
64573
  /** Sends in a row (volume steps). */
64531
64574
  repeat: number().int().min(1).max(50).default(1)
64532
64575
  }), RemoteSendResultSchema, {
64533
64576
  kind: "mutation",
64534
64577
  auth: "protected"
64535
- }), method(deviceInput.extend({
64578
+ }), method(deviceInput$1.extend({
64536
64579
  command: RemoteMediaCommandSchema,
64537
64580
  muted: boolean().optional(),
64538
64581
  source: string().optional(),
@@ -67444,6 +67487,49 @@ DeviceType.Lock, method(object({
67444
67487
  kind: "mutation",
67445
67488
  auth: "protected"
67446
67489
  });
67490
+ var PowerSourceRefusalReasonSchema = _enum([
67491
+ "no-power-source",
67492
+ "switch-missing",
67493
+ "switch-offline",
67494
+ "switch-unknown",
67495
+ "restart-in-progress",
67496
+ "switch-call-failed"
67497
+ ]);
67498
+ var PowerSourceActionResultSchema = discriminatedUnion("accepted", [object({ accepted: literal(true) }), object({
67499
+ accepted: literal(false),
67500
+ reason: PowerSourceRefusalReasonSchema,
67501
+ /** One line for the operator, naming the switch. */
67502
+ message: string()
67503
+ })]);
67504
+ var PowerSourceInfoSchema = object({
67505
+ /** False when the device has no power source linked; the rest is then empty. */
67506
+ linked: boolean(),
67507
+ switchDeviceId: number().nullable(),
67508
+ switchName: string().nullable(),
67509
+ /** The switch's on/off state, or null when it is unknown. Never false for unknown (D393). */
67510
+ switchOn: boolean().nullable(),
67511
+ switchOnline: boolean().nullable(),
67512
+ restartInProgress: boolean(),
67513
+ offSeconds: number().int()
67514
+ });
67515
+ object({
67516
+ /** Null while the switch has not reported: unknown is never `false` (D393). */
67517
+ switchOn: boolean().nullable(),
67518
+ offSeconds: number().int(),
67519
+ lastFetchedAt: number()
67520
+ });
67521
+ DeviceType.Gateway, DeviceType.Hub, DeviceType.Camera, DeviceType.Sensor, DeviceType.MediaPlayer, DeviceType.Vacuum, DeviceType.Generic;
67522
+ var deviceInput = object({ deviceId: number().int().nonnegative() });
67523
+ systemMethod(deviceInput, PowerSourceInfoSchema, { auth: "admin" }), systemMethod(deviceInput, PowerSourceActionResultSchema, {
67524
+ kind: "mutation",
67525
+ auth: "admin"
67526
+ }), systemMethod(deviceInput, PowerSourceActionResultSchema, {
67527
+ kind: "mutation",
67528
+ auth: "admin"
67529
+ }), systemMethod(deviceInput, PowerSourceActionResultSchema, {
67530
+ kind: "mutation",
67531
+ auth: "admin"
67532
+ });
67447
67533
  object({
67448
67534
  value: number().nullable().meta(readingMeta("device", { label: "Total" })),
67449
67535
  lastFetchedAt: number()
@@ -81094,6 +81180,34 @@ Object.freeze({
81094
81180
  access: "view",
81095
81181
  role: "viewer"
81096
81182
  },
81183
+ "powerSource.forceRestart": {
81184
+ capName: "power-source",
81185
+ capScope: "device",
81186
+ addonId: null,
81187
+ access: "create",
81188
+ role: "admin"
81189
+ },
81190
+ "powerSource.getStatus": {
81191
+ capName: "power-source",
81192
+ capScope: "device",
81193
+ addonId: null,
81194
+ access: "view",
81195
+ role: "admin"
81196
+ },
81197
+ "powerSource.powerOff": {
81198
+ capName: "power-source",
81199
+ capScope: "device",
81200
+ addonId: null,
81201
+ access: "create",
81202
+ role: "admin"
81203
+ },
81204
+ "powerSource.powerOn": {
81205
+ capName: "power-source",
81206
+ capScope: "device",
81207
+ addonId: null,
81208
+ access: "create",
81209
+ role: "admin"
81210
+ },
81097
81211
  "presence.getStatus": {
81098
81212
  capName: "presence",
81099
81213
  capScope: "device",
@@ -86242,6 +86356,26 @@ Object.freeze({
86242
86356
  form: "single",
86243
86357
  optional: false
86244
86358
  }],
86359
+ "powerSource.forceRestart": [{
86360
+ name: "deviceId",
86361
+ form: "single",
86362
+ optional: false
86363
+ }],
86364
+ "powerSource.getStatus": [{
86365
+ name: "deviceId",
86366
+ form: "single",
86367
+ optional: false
86368
+ }],
86369
+ "powerSource.powerOff": [{
86370
+ name: "deviceId",
86371
+ form: "single",
86372
+ optional: false
86373
+ }],
86374
+ "powerSource.powerOn": [{
86375
+ name: "deviceId",
86376
+ form: "single",
86377
+ optional: false
86378
+ }],
86245
86379
  "presence.getStatus": [{
86246
86380
  name: "deviceId",
86247
86381
  form: "single",
@@ -5824,7 +5824,7 @@ var ZodIssueCode = {
5824
5824
  var ZodFirstPartyTypeKind;
5825
5825
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5826
5826
  //#endregion
5827
- //#region ../types/dist/sleep-DSVWZfJC.mjs
5827
+ //#region ../types/dist/sleep-dco0-jRo.mjs
5828
5828
  /**
5829
5829
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5830
5830
  * window to float samples (D455).
@@ -9297,6 +9297,7 @@ var CAP_NAMES = Object.freeze([
9297
9297
  "plate-gallery",
9298
9298
  "platform-probe",
9299
9299
  "power-meter",
9300
+ "power-source",
9300
9301
  "presence",
9301
9302
  "pressure-sensor",
9302
9303
  "privacy-mask",
@@ -10648,6 +10649,13 @@ Object.freeze({
10648
10649
  "valueType": "number"
10649
10650
  }
10650
10651
  ],
10652
+ "power-source": [{
10653
+ "path": "switchOn",
10654
+ "valueType": "boolean"
10655
+ }, {
10656
+ "path": "offSeconds",
10657
+ "valueType": "number"
10658
+ }],
10651
10659
  "presence": [
10652
10660
  {
10653
10661
  "path": "state",
@@ -16755,6 +16763,41 @@ var ACTUATOR_CAP_VOCABULARY = {
16755
16763
  icon: "droplets"
16756
16764
  }]
16757
16765
  },
16766
+ "power-source": {
16767
+ scope: "device",
16768
+ noun: t("Power source", "Alimentazione"),
16769
+ actions: [
16770
+ {
16771
+ id: "powerSource.on",
16772
+ method: "powerOn",
16773
+ label: t("Power on", "Dai corrente"),
16774
+ phrase: t("Power on {device}", "Dai corrente a {device}"),
16775
+ icon: "power"
16776
+ },
16777
+ {
16778
+ id: "powerSource.off",
16779
+ method: "powerOff",
16780
+ label: t("Power off", "Togli corrente"),
16781
+ phrase: t("Cut the power of {device}", "Togli la corrente a {device}"),
16782
+ icon: "power-off"
16783
+ },
16784
+ {
16785
+ id: "powerSource.forceRestart",
16786
+ method: "forceRestart",
16787
+ label: t("Force restart", "Riavvio forzato"),
16788
+ phrase: t("Force restart {device} by cutting its power", "Riavvia {device} togliendo la corrente"),
16789
+ icon: "refresh-cw"
16790
+ }
16791
+ ],
16792
+ state: [{
16793
+ kind: "boolean",
16794
+ field: "switchOn",
16795
+ label: t("Power switch on", "Presa accesa"),
16796
+ whenTrue: t("When the power of {device} comes on", "Quando arriva la corrente a {device}"),
16797
+ whenFalse: t("When the power of {device} is cut", "Quando manca la corrente a {device}"),
16798
+ icon: "power"
16799
+ }]
16800
+ },
16758
16801
  "lock-control": {
16759
16802
  scope: "device",
16760
16803
  noun: t("Lock", "Serratura"),
@@ -17230,7 +17273,7 @@ var ACTUATOR_CAP_VOCABULARY = {
17230
17273
  method: "setDirection",
17231
17274
  label: t("Spin forward", "Rotazione avanti"),
17232
17275
  phrase: t("Spin {device} forward", "Fai girare {device} in avanti"),
17233
- icon: "rotate-cw",
17276
+ icon: "refresh-cw",
17234
17277
  effect: {
17235
17278
  field: "direction",
17236
17279
  value: "forward"
@@ -45382,7 +45425,7 @@ method(object({
45382
45425
  kind: "mutation",
45383
45426
  auth: "admin"
45384
45427
  }), method(object({ blockIds: array(string()) }), object({ states: array(CompositionBlockStateSchema) }), { auth: "admin" });
45385
- DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.PetFeeder, DeviceType.Container, DeviceType.Thermostat, DeviceType.EventEmitter, DeviceType.Camera, DeviceType.Hub, DeviceType.Light, DeviceType.Siren, DeviceType.Switch, DeviceType.Sensor, DeviceType.Thermostat, DeviceType.Climate, DeviceType.Button, DeviceType.EventEmitter, DeviceType.Update, DeviceType.Generic, DeviceType.Notifier, DeviceType.Script, DeviceType.Automation, DeviceType.Lock, DeviceType.Cover, DeviceType.Valve, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.Fan, DeviceType.MediaPlayer, DeviceType.AlarmPanel, DeviceType.Control, DeviceType.Presence, DeviceType.Weather, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.Container, DeviceType.Image, DeviceType.PetFeeder, DeviceType.PetFountain, DeviceType.Dishwasher, DeviceType.Washer, DeviceType.Dryer, DeviceType.Gateway, DeviceType.Camera, DeviceType.Lock, DeviceType.Camera, DeviceType.Switch, DeviceType.Light, DeviceType.Fan, DeviceType.Climate, DeviceType.Thermostat, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.MediaPlayer, DeviceType.Washer, DeviceType.Dryer, DeviceType.Dishwasher, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.PetFeeder, DeviceType.Switch, DeviceType.Light, DeviceType.Fan, DeviceType.Climate, DeviceType.Thermostat, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.MediaPlayer, DeviceType.Washer, DeviceType.Dryer, DeviceType.Dishwasher, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.PetFeeder, DeviceType.Switch, DeviceType.Light, DeviceType.Fan, DeviceType.Climate, DeviceType.Thermostat, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.MediaPlayer, DeviceType.Washer, DeviceType.Dryer, DeviceType.Dishwasher, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.PetFeeder, DeviceType.Switch, DeviceType.Light, DeviceType.Fan, DeviceType.Climate, DeviceType.Thermostat, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.MediaPlayer, DeviceType.Washer, DeviceType.Dryer, DeviceType.Dishwasher, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.PetFeeder, DeviceType.MediaPlayer, DeviceType.Washer, DeviceType.Dryer, DeviceType.Dishwasher, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.MediaPlayer, DeviceType.WaterHeater, DeviceType.Humidifier, DeviceType.Fan, DeviceType.Climate, DeviceType.Thermostat, DeviceType.PetFeeder;
45428
+ DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.PetFeeder, DeviceType.Container, DeviceType.Thermostat, DeviceType.EventEmitter, DeviceType.Camera, DeviceType.Hub, DeviceType.Light, DeviceType.Siren, DeviceType.Switch, DeviceType.Sensor, DeviceType.Thermostat, DeviceType.Climate, DeviceType.Button, DeviceType.EventEmitter, DeviceType.Update, DeviceType.Generic, DeviceType.Notifier, DeviceType.Script, DeviceType.Automation, DeviceType.Lock, DeviceType.Cover, DeviceType.Valve, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.Fan, DeviceType.MediaPlayer, DeviceType.AlarmPanel, DeviceType.Control, DeviceType.Presence, DeviceType.Weather, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.Container, DeviceType.Image, DeviceType.PetFeeder, DeviceType.PetFountain, DeviceType.Dishwasher, DeviceType.Washer, DeviceType.Dryer, DeviceType.Gateway, DeviceType.Camera, DeviceType.Lock, DeviceType.Camera, DeviceType.Switch, DeviceType.Light, DeviceType.Fan, DeviceType.Climate, DeviceType.Thermostat, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.MediaPlayer, DeviceType.Washer, DeviceType.Dryer, DeviceType.Dishwasher, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.PetFeeder, DeviceType.Switch, DeviceType.Light, DeviceType.Fan, DeviceType.Climate, DeviceType.Thermostat, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.MediaPlayer, DeviceType.Washer, DeviceType.Dryer, DeviceType.Dishwasher, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.PetFeeder, DeviceType.Switch, DeviceType.Light, DeviceType.Fan, DeviceType.Climate, DeviceType.Thermostat, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.MediaPlayer, DeviceType.Washer, DeviceType.Dryer, DeviceType.Dishwasher, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.PetFeeder, DeviceType.Switch, DeviceType.Light, DeviceType.Fan, DeviceType.Climate, DeviceType.Thermostat, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.MediaPlayer, DeviceType.Washer, DeviceType.Dryer, DeviceType.Dishwasher, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.PetFeeder, DeviceType.Gateway, DeviceType.Hub, DeviceType.Camera, DeviceType.Sensor, DeviceType.MediaPlayer, DeviceType.Vacuum, DeviceType.Generic, DeviceType.MediaPlayer, DeviceType.Washer, DeviceType.Dryer, DeviceType.Dishwasher, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.MediaPlayer, DeviceType.WaterHeater, DeviceType.Humidifier, DeviceType.Fan, DeviceType.Climate, DeviceType.Thermostat, DeviceType.PetFeeder;
45386
45429
  var NUMBER = {
45387
45430
  kind: "fixed",
45388
45431
  result: ["number"]
@@ -64494,19 +64537,19 @@ var RemoteSetConfigResultSchema = discriminatedUnion("status", [object({ status:
64494
64537
  reason: _enum(["unknown-template", "not-a-media-player"]),
64495
64538
  detail: string()
64496
64539
  })]);
64497
- var deviceInput = object({ deviceId: number().int().nonnegative() });
64540
+ var deviceInput$1 = object({ deviceId: number().int().nonnegative() });
64498
64541
  DeviceType.MediaPlayer;
64499
- method(deviceInput, RemoteConfigSchema, { auth: "admin" }), method(deviceInput.extend({ config: RemoteConfigSchema }), RemoteSetConfigResultSchema, {
64542
+ method(deviceInput$1, RemoteConfigSchema, { auth: "admin" }), method(deviceInput$1.extend({ config: RemoteConfigSchema }), RemoteSetConfigResultSchema, {
64500
64543
  kind: "mutation",
64501
64544
  auth: "admin"
64502
- }), method(deviceInput, RemoteCommandListSchema, { auth: "protected" }), method(deviceInput.extend({
64545
+ }), method(deviceInput$1, RemoteCommandListSchema, { auth: "protected" }), method(deviceInput$1.extend({
64503
64546
  role: RemoteRoleSchema,
64504
64547
  /** Sends in a row (volume steps). */
64505
64548
  repeat: number().int().min(1).max(50).default(1)
64506
64549
  }), RemoteSendResultSchema, {
64507
64550
  kind: "mutation",
64508
64551
  auth: "protected"
64509
- }), method(deviceInput.extend({
64552
+ }), method(deviceInput$1.extend({
64510
64553
  command: RemoteMediaCommandSchema,
64511
64554
  muted: boolean().optional(),
64512
64555
  source: string().optional(),
@@ -67418,6 +67461,49 @@ DeviceType.Lock, method(object({
67418
67461
  kind: "mutation",
67419
67462
  auth: "protected"
67420
67463
  });
67464
+ var PowerSourceRefusalReasonSchema = _enum([
67465
+ "no-power-source",
67466
+ "switch-missing",
67467
+ "switch-offline",
67468
+ "switch-unknown",
67469
+ "restart-in-progress",
67470
+ "switch-call-failed"
67471
+ ]);
67472
+ var PowerSourceActionResultSchema = discriminatedUnion("accepted", [object({ accepted: literal(true) }), object({
67473
+ accepted: literal(false),
67474
+ reason: PowerSourceRefusalReasonSchema,
67475
+ /** One line for the operator, naming the switch. */
67476
+ message: string()
67477
+ })]);
67478
+ var PowerSourceInfoSchema = object({
67479
+ /** False when the device has no power source linked; the rest is then empty. */
67480
+ linked: boolean(),
67481
+ switchDeviceId: number().nullable(),
67482
+ switchName: string().nullable(),
67483
+ /** The switch's on/off state, or null when it is unknown. Never false for unknown (D393). */
67484
+ switchOn: boolean().nullable(),
67485
+ switchOnline: boolean().nullable(),
67486
+ restartInProgress: boolean(),
67487
+ offSeconds: number().int()
67488
+ });
67489
+ object({
67490
+ /** Null while the switch has not reported: unknown is never `false` (D393). */
67491
+ switchOn: boolean().nullable(),
67492
+ offSeconds: number().int(),
67493
+ lastFetchedAt: number()
67494
+ });
67495
+ DeviceType.Gateway, DeviceType.Hub, DeviceType.Camera, DeviceType.Sensor, DeviceType.MediaPlayer, DeviceType.Vacuum, DeviceType.Generic;
67496
+ var deviceInput = object({ deviceId: number().int().nonnegative() });
67497
+ systemMethod(deviceInput, PowerSourceInfoSchema, { auth: "admin" }), systemMethod(deviceInput, PowerSourceActionResultSchema, {
67498
+ kind: "mutation",
67499
+ auth: "admin"
67500
+ }), systemMethod(deviceInput, PowerSourceActionResultSchema, {
67501
+ kind: "mutation",
67502
+ auth: "admin"
67503
+ }), systemMethod(deviceInput, PowerSourceActionResultSchema, {
67504
+ kind: "mutation",
67505
+ auth: "admin"
67506
+ });
67421
67507
  object({
67422
67508
  value: number().nullable().meta(readingMeta("device", { label: "Total" })),
67423
67509
  lastFetchedAt: number()
@@ -81068,6 +81154,34 @@ Object.freeze({
81068
81154
  access: "view",
81069
81155
  role: "viewer"
81070
81156
  },
81157
+ "powerSource.forceRestart": {
81158
+ capName: "power-source",
81159
+ capScope: "device",
81160
+ addonId: null,
81161
+ access: "create",
81162
+ role: "admin"
81163
+ },
81164
+ "powerSource.getStatus": {
81165
+ capName: "power-source",
81166
+ capScope: "device",
81167
+ addonId: null,
81168
+ access: "view",
81169
+ role: "admin"
81170
+ },
81171
+ "powerSource.powerOff": {
81172
+ capName: "power-source",
81173
+ capScope: "device",
81174
+ addonId: null,
81175
+ access: "create",
81176
+ role: "admin"
81177
+ },
81178
+ "powerSource.powerOn": {
81179
+ capName: "power-source",
81180
+ capScope: "device",
81181
+ addonId: null,
81182
+ access: "create",
81183
+ role: "admin"
81184
+ },
81071
81185
  "presence.getStatus": {
81072
81186
  capName: "presence",
81073
81187
  capScope: "device",
@@ -86216,6 +86330,26 @@ Object.freeze({
86216
86330
  form: "single",
86217
86331
  optional: false
86218
86332
  }],
86333
+ "powerSource.forceRestart": [{
86334
+ name: "deviceId",
86335
+ form: "single",
86336
+ optional: false
86337
+ }],
86338
+ "powerSource.getStatus": [{
86339
+ name: "deviceId",
86340
+ form: "single",
86341
+ optional: false
86342
+ }],
86343
+ "powerSource.powerOff": [{
86344
+ name: "deviceId",
86345
+ form: "single",
86346
+ optional: false
86347
+ }],
86348
+ "powerSource.powerOn": [{
86349
+ name: "deviceId",
86350
+ form: "single",
86351
+ optional: false
86352
+ }],
86219
86353
  "presence.getStatus": [{
86220
86354
  name: "deviceId",
86221
86355
  form: "single",
@@ -1,6 +1,6 @@
1
1
  import { S as e, d as t, u as n, v as r } from "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare__react__loadShare__.js-DMBKVIH7.mjs";
2
2
  import { n as i, r as a, t as o } from "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-ds_Ehzaa.mjs";
3
- import { _ as s, v as c } from "./responsive-0BR63LF_.mjs";
3
+ import { _ as s, v as c } from "./responsive-CsLwuUC5.mjs";
4
4
  var l = c("chevron-down", [["path", {
5
5
  d: "m6 9 6 6 6-6",
6
6
  key: "qrunsl"
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-9UIE4kFJ.mjs";
1
+ import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-BXMYlxeW.mjs";
2
2
  export { t as get, e as init };
@@ -1,6 +1,6 @@
1
1
  import { S as e, d as t, g as n, i as r, l as i, n as a, r as o, u as s, v as c, y as l } from "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare__react__loadShare__.js-DMBKVIH7.mjs";
2
2
  import "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-ds_Ehzaa.mjs";
3
- import { C as u } from "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-DyeK_PyL.mjs";
3
+ import { C as u } from "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-DOB7swL3.mjs";
4
4
  //#region ../../node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js
5
5
  e();
6
6
  var d = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), f = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), p = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), m = (e) => {
@@ -1,7 +1,7 @@
1
1
  import { S as e, g as t, l as n, u as r, v as i } from "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare__react__loadShare__.js-DMBKVIH7.mjs";
2
2
  import "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-ds_Ehzaa.mjs";
3
3
  import { n as a } from "./ui-text-BqZa5BNK.mjs";
4
- import { _ as o, v as s } from "./responsive-0BR63LF_.mjs";
4
+ import { _ as o, v as s } from "./responsive-CsLwuUC5.mjs";
5
5
  var c = s("camera", [["path", {
6
6
  d: "M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z",
7
7
  key: "18u6gg"
@@ -1,4 +1,4 @@
1
- import { v as e } from "./responsive-0BR63LF_.mjs";
1
+ import { v as e } from "./responsive-CsLwuUC5.mjs";
2
2
  var t = e("eye-off", [
3
3
  ["path", {
4
4
  d: "M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",
@@ -1,4 +1,4 @@
1
- import { v as e } from "./responsive-0BR63LF_.mjs";
1
+ import { v as e } from "./responsive-CsLwuUC5.mjs";
2
2
  var t = e("trash-2", [
3
3
  ["path", {
4
4
  d: "M10 11v6",
@@ -2753,7 +2753,7 @@ async function rr(e) {
2753
2753
  }
2754
2754
  }
2755
2755
  async function ir() {
2756
- return tr ||= rr(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_model_studio_page-DGlyA6qx.mjs")).catch((e) => {
2756
+ return tr ||= rr(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_model_studio_page-DzS9A7K3.mjs")).catch((e) => {
2757
2757
  throw tr = void 0, e;
2758
2758
  }), tr;
2759
2759
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-model-studio",
3
- "version": "1.1.333",
3
+ "version": "1.1.335",
4
4
  "description": "Custom detection model registry, conversion & distribution for CamStack",
5
5
  "keywords": [
6
6
  "camstack",