@camstack/addon-pipeline-orchestrator 1.2.241 → 1.2.242

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/index.mjs CHANGED
@@ -5363,7 +5363,7 @@ var ZodIssueCode = {
5363
5363
  var ZodFirstPartyTypeKind;
5364
5364
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5365
5365
  //#endregion
5366
- //#region ../types/dist/sleep-CUmLTud7.mjs
5366
+ //#region ../types/dist/sleep-De1BvmWo.mjs
5367
5367
  /**
5368
5368
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5369
5369
  * window to float samples (D455).
@@ -8405,10 +8405,20 @@ var CameraSwitchAuthoritySchema = discriminatedUnion("kind", [
8405
8405
  var CameraSwitchUnavailableReasonSchema = _enum([
8406
8406
  "no-provider",
8407
8407
  "source-unreachable",
8408
- "not-configured",
8409
8408
  "device-disabled"
8410
8409
  ]);
8411
8410
  /**
8411
+ * Something true about a switch that is nonetheless OFFERED.
8412
+ *
8413
+ * The distinction from {@link CameraSwitchUnavailableReasonSchema} is the
8414
+ * whole point: a reason replaces the control, a warning travels WITH it. The
8415
+ * privacy mask taught us the difference — greying the one button that starts
8416
+ * the feature teaches the operator the feature is broken, while a live toggle
8417
+ * that flips nothing teaches them the switch is broken. Neither is true; the
8418
+ * honest surface is a working toggle that says what is missing.
8419
+ */
8420
+ var CameraSwitchWarningSchema = _enum(["no-privacy-zones"]);
8421
+ /**
8412
8422
  * One switch, resolved for one camera.
8413
8423
  *
8414
8424
  * `label` and `costWhenOff` travel ON THE WIRE rather than being looked up
@@ -8427,6 +8437,11 @@ var CameraSwitchSchema = object({
8427
8437
  /** False = do not render a control. `unavailableReason` says why. */
8428
8438
  available: boolean(),
8429
8439
  unavailableReason: CameraSwitchUnavailableReasonSchema.optional(),
8440
+ /**
8441
+ * Present on an AVAILABLE switch only. Rendered beside the live control;
8442
+ * never a substitute for one.
8443
+ */
8444
+ warning: CameraSwitchWarningSchema.optional(),
8430
8445
  /** Current state. Meaningless when `available` is false — read it as `true`. */
8431
8446
  enabled: boolean(),
8432
8447
  authority: CameraSwitchAuthoritySchema
@@ -8621,9 +8636,9 @@ function resolveState(descriptor, input) {
8621
8636
  unavailableReason: "source-unreachable"
8622
8637
  };
8623
8638
  if (mask.configuredRegions === 0) return {
8624
- available: false,
8625
- enabled: false,
8626
- unavailableReason: "not-configured"
8639
+ available: true,
8640
+ enabled: mask.enabled,
8641
+ warning: "no-privacy-zones"
8627
8642
  };
8628
8643
  return {
8629
8644
  available: true,
@@ -8662,6 +8677,7 @@ function deriveCameraSwitches(input) {
8662
8677
  costWhenOff: descriptor.costWhenOff,
8663
8678
  available: state.available,
8664
8679
  ...state.unavailableReason !== void 0 ? { unavailableReason: state.unavailableReason } : {},
8680
+ ...state.warning !== void 0 ? { warning: state.warning } : {},
8665
8681
  enabled: state.enabled,
8666
8682
  authority: descriptor.authority
8667
8683
  };
@@ -25955,6 +25971,82 @@ var ClipBytesSchema = object({
25955
25971
  */
25956
25972
  durationMs: number().positive().optional()
25957
25973
  });
25974
+ /**
25975
+ * Where a clip's STREAM can be dialled (D597) — the answer to
25976
+ * {@link videoclipsCapability.methods.dialClipStream}.
25977
+ *
25978
+ * `url` is plain `http://` on the provider's own token-gated listener, one
25979
+ * shot, short-lived. It is NOT the hub-proxied `/addon/<id>/clip-stream/…`
25980
+ * path: that plane takes only a user credential, which an addon does not
25981
+ * hold, and the framework offers no addon→addon byte transport — the one
25982
+ * precedent is the broker's own restream URLs (`getStreamWithCodec`), which
25983
+ * a consumer dials directly, and this is that precedent one addon over.
25984
+ */
25985
+ /**
25986
+ * The audio a clip stream can be asked for, and the audio it carries.
25987
+ *
25988
+ * The camera stores AAC and no WebRTC session speaks it, so a stream that
25989
+ * carries sound carries it TRANSCODED, muxed as a second track beside the
25990
+ * video by the one ffmpeg the provider already runs (D600). `opus` is
25991
+ * 48 kHz mono, `pcmu` is 8 kHz µ-law — the two codecs a broker session
25992
+ * negotiates — and `none` is a stream asked for, or served, without sound.
25993
+ */
25994
+ var ClipStreamAudioSchema = _enum([
25995
+ "opus",
25996
+ "pcmu",
25997
+ "none"
25998
+ ]);
25999
+ /**
26000
+ * Why a stream that was ASKED for sound is not carrying it (D600).
26001
+ *
26002
+ * Only ever set beside `servedAudio: 'none'` after a non-`none` ask. Absent
26003
+ * means the ask was honoured, or there was no ask.
26004
+ *
26005
+ * - `not-requested` — the caller asked for `none`.
26006
+ * - `unsupported-ask` — the provider cannot produce that codec.
26007
+ *
26008
+ * Whether the RECORDING has sound at all is not knowable here: the camera
26009
+ * declares no audio track before its first frame arrives. That answer is in
26010
+ * the stream itself — an fMP4 with no audio track — and the broker reads it
26011
+ * there. A dial that says `opus` promises the codec, never the content.
26012
+ */
26013
+ var ClipStreamAudioReasonSchema = _enum(["not-requested", "unsupported-ask"]);
26014
+ var ClipStreamDialSchema = object({
26015
+ url: string().min(1),
26016
+ /** After this the token is gone and the URL answers 404 `dial-expired`. */
26017
+ expiresAtMs: number(),
26018
+ /** What the stream IS — a consumer that cannot honour it must not dial. */
26019
+ transport: literal("forward-only"),
26020
+ /**
26021
+ * Which twin the stream ACTUALLY carries — not what was asked for.
26022
+ *
26023
+ * The stream serves every profile (D599), and a recording whose main twin
26024
+ * does not exist is streamed as its sub copy, which this field reports as
26025
+ * `low`. That is the whole reason the dial no longer refuses `high`:
26026
+ * stating what was served is what makes accepting honest, where a silent
26027
+ * substitution would be the 33x lie D576 forbids. Stated rather than
26028
+ * assumed, the way {@link ClipPlaybackSchema.served} is (D549 15).
26029
+ */
26030
+ served: CamProfileSchema,
26031
+ /**
26032
+ * Which audio the stream will ACTUALLY carry — `served`'s companion for
26033
+ * sound, and the same reasoning (D599, D600).
26034
+ *
26035
+ * The broker asks for the codec its WebRTC session negotiated, and the
26036
+ * provider either muxes that codec or carries none. Stating it is what
26037
+ * lets the broker wire the matching sink before the first byte, and what
26038
+ * keeps a session from being handed a codec it cannot send — the audio
26039
+ * shape of the substitution `served` exists to prevent.
26040
+ *
26041
+ * It is a promise about the CODEC, not about the content: a recording with
26042
+ * no microphone track answers `opus` here and then arrives with no audio
26043
+ * track at all. That second answer is in the stream, and the broker reads
26044
+ * it from the `moov`.
26045
+ */
26046
+ servedAudio: ClipStreamAudioSchema,
26047
+ /** Why `servedAudio` is `none` although sound was asked for. */
26048
+ audioReason: ClipStreamAudioReasonSchema.optional()
26049
+ });
25958
26050
  var ClipSourceAvailabilitySchema = object({
25959
26051
  state: _enum([
25960
26052
  "ok",
@@ -26114,6 +26206,27 @@ DeviceType.Camera, method(object({
26114
26206
  }), ClipBytesSchema, {
26115
26207
  kind: "query",
26116
26208
  auth: "protected"
26209
+ }), optionalMethod(object({
26210
+ deviceId: number(),
26211
+ clipId: string().min(1),
26212
+ /** WHICH provider holds the camera — see `readClipBytes.provider`. */
26213
+ provider: string().min(1),
26214
+ /** Which twin — `high` → the main file, everything else the sub (D599). */
26215
+ profile: CamProfileSchema.optional(),
26216
+ /**
26217
+ * Which audio codec the caller's session negotiated, so the provider
26218
+ * can mux it (D600). The ask travels on the DIAL because the mux is
26219
+ * spawned once, before the first byte, and cannot gain a track later.
26220
+ *
26221
+ * ABSENT IS `none`, never a guess: a caller that does not state an
26222
+ * ask is served the video-only stream that shipped first, so a broker
26223
+ * older than this field keeps working unchanged (D382 — an unstated
26224
+ * ask is zero).
26225
+ */
26226
+ audio: ClipStreamAudioSchema.optional()
26227
+ }), ClipStreamDialSchema, {
26228
+ kind: "query",
26229
+ auth: "protected"
26117
26230
  });
26118
26231
  /**
26119
26232
  * Optional client-side hints sent at session creation to help the provider
@@ -34151,6 +34264,1329 @@ function resolveDeviceProfile(features) {
34151
34264
  for (const profile of DEVICE_PROFILES) if (deviceMatchesProfile(features, profile)) return profile;
34152
34265
  return null;
34153
34266
  }
34267
+ /**
34268
+ * The vocabulary, in the order a picker offers it.
34269
+ *
34270
+ * Adding a key here is not enough to make it pickable: both glyph tables must
34271
+ * gain it too, and their tests fail until they do. That is the intended
34272
+ * friction — it is the only thing that keeps the two surfaces honest.
34273
+ */
34274
+ var DISPLAY_ICON_VOCABULARY = [
34275
+ {
34276
+ key: "camera",
34277
+ group: "device",
34278
+ synonyms: [
34279
+ "telecamera",
34280
+ "videocamera",
34281
+ "camera",
34282
+ "cam"
34283
+ ]
34284
+ },
34285
+ {
34286
+ key: "network",
34287
+ group: "device",
34288
+ synonyms: [
34289
+ "rete",
34290
+ "network",
34291
+ "lan"
34292
+ ]
34293
+ },
34294
+ {
34295
+ key: "toggle-left",
34296
+ group: "device",
34297
+ synonyms: [
34298
+ "interruttore",
34299
+ "switch",
34300
+ "toggle"
34301
+ ]
34302
+ },
34303
+ {
34304
+ key: "toggle-right",
34305
+ group: "device",
34306
+ synonyms: [
34307
+ "interruttore",
34308
+ "switch",
34309
+ "toggle",
34310
+ "acceso"
34311
+ ]
34312
+ },
34313
+ {
34314
+ key: "circle-dot",
34315
+ group: "device",
34316
+ synonyms: [
34317
+ "pulsante",
34318
+ "bottone",
34319
+ "button",
34320
+ "dot"
34321
+ ]
34322
+ },
34323
+ {
34324
+ key: "refresh-cw",
34325
+ group: "device",
34326
+ synonyms: [
34327
+ "aggiorna",
34328
+ "ricarica",
34329
+ "refresh",
34330
+ "reload",
34331
+ "ciclo"
34332
+ ]
34333
+ },
34334
+ {
34335
+ key: "box",
34336
+ group: "device",
34337
+ synonyms: [
34338
+ "scatola",
34339
+ "box",
34340
+ "contenitore"
34341
+ ]
34342
+ },
34343
+ {
34344
+ key: "scroll-text",
34345
+ group: "device",
34346
+ synonyms: [
34347
+ "registro",
34348
+ "log",
34349
+ "testo"
34350
+ ]
34351
+ },
34352
+ {
34353
+ key: "workflow",
34354
+ group: "device",
34355
+ synonyms: [
34356
+ "automazione",
34357
+ "flusso",
34358
+ "workflow",
34359
+ "scenario"
34360
+ ]
34361
+ },
34362
+ {
34363
+ key: "lock",
34364
+ group: "device",
34365
+ synonyms: [
34366
+ "serratura",
34367
+ "chiave",
34368
+ "lucchetto",
34369
+ "chiuso",
34370
+ "locked"
34371
+ ]
34372
+ },
34373
+ {
34374
+ key: "lock-open",
34375
+ group: "device",
34376
+ synonyms: [
34377
+ "serratura",
34378
+ "aperta",
34379
+ "sbloccato",
34380
+ "unlocked"
34381
+ ]
34382
+ },
34383
+ {
34384
+ key: "blinds",
34385
+ group: "device",
34386
+ synonyms: [
34387
+ "tapparella",
34388
+ "persiana",
34389
+ "serranda",
34390
+ "avvolgibile",
34391
+ "shutter",
34392
+ "blind",
34393
+ "veneziana"
34394
+ ]
34395
+ },
34396
+ {
34397
+ key: "air-vent",
34398
+ group: "device",
34399
+ synonyms: [
34400
+ "bocchetta",
34401
+ "aria",
34402
+ "ventilazione",
34403
+ "condizionatore",
34404
+ "vent"
34405
+ ]
34406
+ },
34407
+ {
34408
+ key: "monitor-play",
34409
+ group: "device",
34410
+ synonyms: [
34411
+ "schermo",
34412
+ "riproduzione",
34413
+ "player",
34414
+ "display"
34415
+ ]
34416
+ },
34417
+ {
34418
+ key: "sliders-horizontal",
34419
+ group: "device",
34420
+ synonyms: [
34421
+ "regolazione",
34422
+ "cursori",
34423
+ "impostazioni",
34424
+ "slider"
34425
+ ]
34426
+ },
34427
+ {
34428
+ key: "map-pin",
34429
+ group: "device",
34430
+ synonyms: [
34431
+ "posizione",
34432
+ "luogo",
34433
+ "mappa",
34434
+ "pin"
34435
+ ]
34436
+ },
34437
+ {
34438
+ key: "bot",
34439
+ group: "device",
34440
+ synonyms: [
34441
+ "robot",
34442
+ "aspirapolvere",
34443
+ "bot"
34444
+ ]
34445
+ },
34446
+ {
34447
+ key: "tractor",
34448
+ group: "device",
34449
+ synonyms: [
34450
+ "trattore",
34451
+ "tosaerba",
34452
+ "giardino"
34453
+ ]
34454
+ },
34455
+ {
34456
+ key: "image",
34457
+ group: "device",
34458
+ synonyms: [
34459
+ "immagine",
34460
+ "foto",
34461
+ "snapshot"
34462
+ ]
34463
+ },
34464
+ {
34465
+ key: "bone",
34466
+ group: "device",
34467
+ synonyms: ["osso", "cane"]
34468
+ },
34469
+ {
34470
+ key: "door-closed",
34471
+ group: "device",
34472
+ synonyms: [
34473
+ "porta",
34474
+ "chiusa",
34475
+ "contatto"
34476
+ ]
34477
+ },
34478
+ {
34479
+ key: "door-open",
34480
+ group: "device",
34481
+ synonyms: [
34482
+ "porta",
34483
+ "aperta",
34484
+ "contatto",
34485
+ "ingresso",
34486
+ "uscita"
34487
+ ]
34488
+ },
34489
+ {
34490
+ key: "crosshair",
34491
+ group: "device",
34492
+ synonyms: [
34493
+ "mirino",
34494
+ "puntamento",
34495
+ "centro"
34496
+ ]
34497
+ },
34498
+ {
34499
+ key: "eye",
34500
+ group: "device",
34501
+ synonyms: [
34502
+ "occhio",
34503
+ "visibile",
34504
+ "visto"
34505
+ ]
34506
+ },
34507
+ {
34508
+ key: "eye-off",
34509
+ group: "device",
34510
+ synonyms: [
34511
+ "privacy",
34512
+ "nascosto",
34513
+ "oscurato",
34514
+ "mascherato",
34515
+ "invisibile"
34516
+ ]
34517
+ },
34518
+ {
34519
+ key: "smartphone",
34520
+ group: "device",
34521
+ synonyms: [
34522
+ "telefono",
34523
+ "cellulare",
34524
+ "smartphone"
34525
+ ]
34526
+ },
34527
+ {
34528
+ key: "phone",
34529
+ group: "device",
34530
+ synonyms: ["telefono", "chiamata"]
34531
+ },
34532
+ {
34533
+ key: "tablet",
34534
+ group: "device",
34535
+ synonyms: ["tablet", "ipad"]
34536
+ },
34537
+ {
34538
+ key: "laptop",
34539
+ group: "device",
34540
+ synonyms: [
34541
+ "portatile",
34542
+ "laptop",
34543
+ "notebook"
34544
+ ]
34545
+ },
34546
+ {
34547
+ key: "monitor",
34548
+ group: "device",
34549
+ synonyms: ["monitor", "schermo"]
34550
+ },
34551
+ {
34552
+ key: "tv",
34553
+ group: "device",
34554
+ synonyms: ["televisore", "tv"]
34555
+ },
34556
+ {
34557
+ key: "speaker",
34558
+ group: "device",
34559
+ synonyms: [
34560
+ "altoparlante",
34561
+ "cassa",
34562
+ "speaker"
34563
+ ]
34564
+ },
34565
+ {
34566
+ key: "printer",
34567
+ group: "device",
34568
+ synonyms: ["stampante"]
34569
+ },
34570
+ {
34571
+ key: "projector",
34572
+ group: "device",
34573
+ synonyms: ["proiettore"]
34574
+ },
34575
+ {
34576
+ key: "gamepad-2",
34577
+ group: "device",
34578
+ synonyms: [
34579
+ "console",
34580
+ "gioco",
34581
+ "joystick"
34582
+ ]
34583
+ },
34584
+ {
34585
+ key: "radio",
34586
+ group: "device",
34587
+ synonyms: ["radio"]
34588
+ },
34589
+ {
34590
+ key: "router",
34591
+ group: "device",
34592
+ synonyms: ["router", "modem"]
34593
+ },
34594
+ {
34595
+ key: "bluetooth",
34596
+ group: "device",
34597
+ synonyms: ["bluetooth"]
34598
+ },
34599
+ {
34600
+ key: "cpu",
34601
+ group: "device",
34602
+ synonyms: [
34603
+ "processore",
34604
+ "cpu",
34605
+ "chip",
34606
+ "dispositivo"
34607
+ ]
34608
+ },
34609
+ {
34610
+ key: "hard-drive",
34611
+ group: "device",
34612
+ synonyms: [
34613
+ "disco",
34614
+ "hdd",
34615
+ "archiviazione",
34616
+ "storage"
34617
+ ]
34618
+ },
34619
+ {
34620
+ key: "server",
34621
+ group: "device",
34622
+ synonyms: ["server", "nas"]
34623
+ },
34624
+ {
34625
+ key: "mic",
34626
+ group: "device",
34627
+ synonyms: ["microfono", "audio"]
34628
+ },
34629
+ {
34630
+ key: "mic-off",
34631
+ group: "device",
34632
+ synonyms: [
34633
+ "microfono",
34634
+ "spento",
34635
+ "muto"
34636
+ ]
34637
+ },
34638
+ {
34639
+ key: "video",
34640
+ group: "device",
34641
+ synonyms: ["video"]
34642
+ },
34643
+ {
34644
+ key: "video-off",
34645
+ group: "device",
34646
+ synonyms: ["video", "spento"]
34647
+ },
34648
+ {
34649
+ key: "music",
34650
+ group: "device",
34651
+ synonyms: ["musica"]
34652
+ },
34653
+ {
34654
+ key: "plug",
34655
+ group: "device",
34656
+ synonyms: [
34657
+ "presa",
34658
+ "spina",
34659
+ "plug"
34660
+ ]
34661
+ },
34662
+ {
34663
+ key: "plug-zap",
34664
+ group: "device",
34665
+ synonyms: ["presa", "alimentata"]
34666
+ },
34667
+ {
34668
+ key: "power",
34669
+ group: "device",
34670
+ synonyms: [
34671
+ "accensione",
34672
+ "alimentazione",
34673
+ "power"
34674
+ ]
34675
+ },
34676
+ {
34677
+ key: "power-off",
34678
+ group: "device",
34679
+ synonyms: ["spegnimento", "spento"]
34680
+ },
34681
+ {
34682
+ key: "cable",
34683
+ group: "device",
34684
+ synonyms: ["cavo"]
34685
+ },
34686
+ {
34687
+ key: "battery",
34688
+ group: "device",
34689
+ synonyms: ["batteria"]
34690
+ },
34691
+ {
34692
+ key: "battery-charging",
34693
+ group: "device",
34694
+ synonyms: [
34695
+ "batteria",
34696
+ "carica",
34697
+ "ricarica"
34698
+ ]
34699
+ },
34700
+ {
34701
+ key: "battery-full",
34702
+ group: "device",
34703
+ synonyms: [
34704
+ "batteria",
34705
+ "carica",
34706
+ "piena"
34707
+ ]
34708
+ },
34709
+ {
34710
+ key: "battery-low",
34711
+ group: "device",
34712
+ synonyms: ["batteria", "scarica"]
34713
+ },
34714
+ {
34715
+ key: "key",
34716
+ group: "device",
34717
+ synonyms: ["chiave"]
34718
+ },
34719
+ {
34720
+ key: "key-round",
34721
+ group: "device",
34722
+ synonyms: ["chiave", "tonda"]
34723
+ },
34724
+ {
34725
+ key: "mailbox",
34726
+ group: "device",
34727
+ synonyms: [
34728
+ "cassetta",
34729
+ "postale",
34730
+ "posta"
34731
+ ]
34732
+ },
34733
+ {
34734
+ key: "package",
34735
+ group: "device",
34736
+ synonyms: ["pacco", "consegna"]
34737
+ },
34738
+ {
34739
+ key: "shield",
34740
+ group: "device",
34741
+ synonyms: [
34742
+ "scudo",
34743
+ "protezione",
34744
+ "sicurezza",
34745
+ "allarme"
34746
+ ]
34747
+ },
34748
+ {
34749
+ key: "shield-check",
34750
+ group: "device",
34751
+ synonyms: [
34752
+ "protetto",
34753
+ "sicuro",
34754
+ "armato"
34755
+ ]
34756
+ },
34757
+ {
34758
+ key: "shield-off",
34759
+ group: "device",
34760
+ synonyms: [
34761
+ "protezione",
34762
+ "disattivata",
34763
+ "disarmato"
34764
+ ]
34765
+ },
34766
+ {
34767
+ key: "briefcase",
34768
+ group: "device",
34769
+ synonyms: [
34770
+ "ufficio",
34771
+ "lavoro",
34772
+ "valigetta",
34773
+ "studio"
34774
+ ]
34775
+ },
34776
+ {
34777
+ key: "lightbulb",
34778
+ group: "lighting",
34779
+ synonyms: [
34780
+ "luce",
34781
+ "lampadina",
34782
+ "lampada",
34783
+ "light"
34784
+ ]
34785
+ },
34786
+ {
34787
+ key: "lamp",
34788
+ group: "lighting",
34789
+ synonyms: ["lampada", "abatjour"]
34790
+ },
34791
+ {
34792
+ key: "lamp-ceiling",
34793
+ group: "lighting",
34794
+ synonyms: [
34795
+ "plafoniera",
34796
+ "lampadario",
34797
+ "luce",
34798
+ "soffitto"
34799
+ ]
34800
+ },
34801
+ {
34802
+ key: "lamp-desk",
34803
+ group: "lighting",
34804
+ synonyms: [
34805
+ "lampada",
34806
+ "scrivania",
34807
+ "abatjour"
34808
+ ]
34809
+ },
34810
+ {
34811
+ key: "lamp-floor",
34812
+ group: "lighting",
34813
+ synonyms: [
34814
+ "piantana",
34815
+ "lampada",
34816
+ "terra"
34817
+ ]
34818
+ },
34819
+ {
34820
+ key: "flashlight",
34821
+ group: "lighting",
34822
+ synonyms: [
34823
+ "faretto",
34824
+ "torcia",
34825
+ "spot",
34826
+ "faro"
34827
+ ]
34828
+ },
34829
+ {
34830
+ key: "heater",
34831
+ group: "lighting",
34832
+ synonyms: [
34833
+ "riscaldamento",
34834
+ "termosifone",
34835
+ "stufa",
34836
+ "calore"
34837
+ ]
34838
+ },
34839
+ {
34840
+ key: "snowflake",
34841
+ group: "lighting",
34842
+ synonyms: [
34843
+ "freddo",
34844
+ "raffrescamento",
34845
+ "aria",
34846
+ "condizionata",
34847
+ "neve"
34848
+ ]
34849
+ },
34850
+ {
34851
+ key: "thermometer-sun",
34852
+ group: "lighting",
34853
+ synonyms: [
34854
+ "caldo",
34855
+ "temperatura",
34856
+ "alta"
34857
+ ]
34858
+ },
34859
+ {
34860
+ key: "thermometer-snowflake",
34861
+ group: "lighting",
34862
+ synonyms: [
34863
+ "freddo",
34864
+ "temperatura",
34865
+ "bassa"
34866
+ ]
34867
+ },
34868
+ {
34869
+ key: "refrigerator",
34870
+ group: "lighting",
34871
+ synonyms: ["frigorifero", "frigo"]
34872
+ },
34873
+ {
34874
+ key: "microwave",
34875
+ group: "lighting",
34876
+ synonyms: ["microonde", "forno"]
34877
+ },
34878
+ {
34879
+ key: "washing-machine",
34880
+ group: "lighting",
34881
+ synonyms: [
34882
+ "lavatrice",
34883
+ "lavastoviglie",
34884
+ "asciugatrice"
34885
+ ]
34886
+ },
34887
+ {
34888
+ key: "cooking-pot",
34889
+ group: "lighting",
34890
+ synonyms: [
34891
+ "pentola",
34892
+ "cucina",
34893
+ "fornello"
34894
+ ]
34895
+ },
34896
+ {
34897
+ key: "utensils",
34898
+ group: "lighting",
34899
+ synonyms: [
34900
+ "cucina",
34901
+ "posate",
34902
+ "sala",
34903
+ "pranzo"
34904
+ ]
34905
+ },
34906
+ {
34907
+ key: "thermometer",
34908
+ group: "sensing",
34909
+ synonyms: [
34910
+ "temperatura",
34911
+ "termometro",
34912
+ "termostato"
34913
+ ]
34914
+ },
34915
+ {
34916
+ key: "droplets",
34917
+ group: "sensing",
34918
+ synonyms: [
34919
+ "umidita",
34920
+ "acqua",
34921
+ "allagamento",
34922
+ "perdita"
34923
+ ]
34924
+ },
34925
+ {
34926
+ key: "droplet",
34927
+ group: "sensing",
34928
+ synonyms: [
34929
+ "goccia",
34930
+ "acqua",
34931
+ "perdita",
34932
+ "allagamento"
34933
+ ]
34934
+ },
34935
+ {
34936
+ key: "gauge",
34937
+ group: "sensing",
34938
+ synonyms: [
34939
+ "misura",
34940
+ "livello",
34941
+ "pressione",
34942
+ "indicatore"
34943
+ ]
34944
+ },
34945
+ {
34946
+ key: "gauge2",
34947
+ group: "sensing",
34948
+ synonyms: [
34949
+ "misura",
34950
+ "livello",
34951
+ "pressione",
34952
+ "indicatore"
34953
+ ],
34954
+ aliasOf: "gauge"
34955
+ },
34956
+ {
34957
+ key: "sun",
34958
+ group: "sensing",
34959
+ synonyms: [
34960
+ "sole",
34961
+ "luminosita",
34962
+ "giorno",
34963
+ "esterno"
34964
+ ]
34965
+ },
34966
+ {
34967
+ key: "sun-medium",
34968
+ group: "sensing",
34969
+ synonyms: ["sole", "luminosita"]
34970
+ },
34971
+ {
34972
+ key: "sunrise",
34973
+ group: "sensing",
34974
+ synonyms: ["alba"]
34975
+ },
34976
+ {
34977
+ key: "moon",
34978
+ group: "sensing",
34979
+ synonyms: [
34980
+ "notte",
34981
+ "luna",
34982
+ "notturna",
34983
+ "nightvision"
34984
+ ]
34985
+ },
34986
+ {
34987
+ key: "wind",
34988
+ group: "sensing",
34989
+ synonyms: [
34990
+ "vento",
34991
+ "aria",
34992
+ "gas",
34993
+ "monossido",
34994
+ "co"
34995
+ ]
34996
+ },
34997
+ {
34998
+ key: "cloud",
34999
+ group: "sensing",
35000
+ synonyms: ["nuvola", "nuvoloso"]
35001
+ },
35002
+ {
35003
+ key: "cloud-rain",
35004
+ group: "sensing",
35005
+ synonyms: ["pioggia"]
35006
+ },
35007
+ {
35008
+ key: "cloud-sun",
35009
+ group: "sensing",
35010
+ synonyms: [
35011
+ "variabile",
35012
+ "sole",
35013
+ "nuvole"
35014
+ ]
35015
+ },
35016
+ {
35017
+ key: "waves",
35018
+ group: "sensing",
35019
+ synonyms: [
35020
+ "onde",
35021
+ "acqua",
35022
+ "vibrazione"
35023
+ ]
35024
+ },
35025
+ {
35026
+ key: "sprout",
35027
+ group: "sensing",
35028
+ synonyms: [
35029
+ "irrigazione",
35030
+ "pianta",
35031
+ "germoglio",
35032
+ "orto"
35033
+ ]
35034
+ },
35035
+ {
35036
+ key: "leaf",
35037
+ group: "sensing",
35038
+ synonyms: [
35039
+ "foglia",
35040
+ "pianta",
35041
+ "verde"
35042
+ ]
35043
+ },
35044
+ {
35045
+ key: "flower",
35046
+ group: "sensing",
35047
+ synonyms: ["fiore", "pianta"]
35048
+ },
35049
+ {
35050
+ key: "zap",
35051
+ group: "sensing",
35052
+ synonyms: [
35053
+ "energia",
35054
+ "corrente",
35055
+ "consumo",
35056
+ "watt",
35057
+ "elettricita"
35058
+ ]
35059
+ },
35060
+ {
35061
+ key: "flame",
35062
+ group: "sensing",
35063
+ synonyms: [
35064
+ "fiamma",
35065
+ "gas",
35066
+ "fuoco",
35067
+ "incendio"
35068
+ ]
35069
+ },
35070
+ {
35071
+ key: "bell",
35072
+ group: "sensing",
35073
+ synonyms: [
35074
+ "campanello",
35075
+ "suoneria",
35076
+ "notifica",
35077
+ "bell",
35078
+ "chime"
35079
+ ]
35080
+ },
35081
+ {
35082
+ key: "bell-ring",
35083
+ group: "sensing",
35084
+ synonyms: [
35085
+ "campanello",
35086
+ "suona",
35087
+ "doorbell",
35088
+ "notifica"
35089
+ ]
35090
+ },
35091
+ {
35092
+ key: "bell-off",
35093
+ group: "sensing",
35094
+ synonyms: [
35095
+ "silenzioso",
35096
+ "notifiche",
35097
+ "disattivate",
35098
+ "muto"
35099
+ ]
35100
+ },
35101
+ {
35102
+ key: "siren",
35103
+ group: "sensing",
35104
+ synonyms: ["sirena", "allarme"]
35105
+ },
35106
+ {
35107
+ key: "radar",
35108
+ group: "sensing",
35109
+ synonyms: [
35110
+ "movimento",
35111
+ "presenza",
35112
+ "pir",
35113
+ "rilevamento",
35114
+ "radar"
35115
+ ]
35116
+ },
35117
+ {
35118
+ key: "activity",
35119
+ group: "sensing",
35120
+ synonyms: [
35121
+ "attivita",
35122
+ "sensore",
35123
+ "generico"
35124
+ ]
35125
+ },
35126
+ {
35127
+ key: "hash",
35128
+ group: "sensing",
35129
+ synonyms: [
35130
+ "numero",
35131
+ "contatore",
35132
+ "valore"
35133
+ ]
35134
+ },
35135
+ {
35136
+ key: "clock",
35137
+ group: "sensing",
35138
+ synonyms: [
35139
+ "orologio",
35140
+ "ora",
35141
+ "tempo"
35142
+ ]
35143
+ },
35144
+ {
35145
+ key: "timer",
35146
+ group: "sensing",
35147
+ synonyms: [
35148
+ "timer",
35149
+ "conto",
35150
+ "rovescia"
35151
+ ]
35152
+ },
35153
+ {
35154
+ key: "calendar",
35155
+ group: "sensing",
35156
+ synonyms: [
35157
+ "calendario",
35158
+ "data",
35159
+ "pianificazione"
35160
+ ]
35161
+ },
35162
+ {
35163
+ key: "pipette",
35164
+ group: "sensing",
35165
+ synonyms: [
35166
+ "qualita",
35167
+ "aria",
35168
+ "misura",
35169
+ "campione"
35170
+ ]
35171
+ },
35172
+ {
35173
+ key: "fan",
35174
+ group: "sensing",
35175
+ synonyms: [
35176
+ "ventilatore",
35177
+ "ventola",
35178
+ "aria"
35179
+ ]
35180
+ },
35181
+ {
35182
+ key: "bath",
35183
+ group: "sensing",
35184
+ synonyms: [
35185
+ "bagno",
35186
+ "vasca",
35187
+ "doccia"
35188
+ ]
35189
+ },
35190
+ {
35191
+ key: "footprints",
35192
+ group: "sensing",
35193
+ synonyms: [
35194
+ "movimento",
35195
+ "passi",
35196
+ "presenza",
35197
+ "motion"
35198
+ ]
35199
+ },
35200
+ {
35201
+ key: "alarm-smoke",
35202
+ group: "sensing",
35203
+ synonyms: [
35204
+ "fumo",
35205
+ "antincendio",
35206
+ "rilevatore"
35207
+ ]
35208
+ },
35209
+ {
35210
+ key: "shield-alert",
35211
+ group: "sensing",
35212
+ synonyms: [
35213
+ "manomissione",
35214
+ "allarme",
35215
+ "tamper",
35216
+ "avviso"
35217
+ ]
35218
+ },
35219
+ {
35220
+ key: "vibrate",
35221
+ group: "sensing",
35222
+ synonyms: [
35223
+ "vibrazione",
35224
+ "urto",
35225
+ "tamper"
35226
+ ]
35227
+ },
35228
+ {
35229
+ key: "wifi",
35230
+ group: "sensing",
35231
+ synonyms: [
35232
+ "wifi",
35233
+ "rete",
35234
+ "segnale"
35235
+ ]
35236
+ },
35237
+ {
35238
+ key: "wifi-off",
35239
+ group: "sensing",
35240
+ synonyms: [
35241
+ "wifi",
35242
+ "assente",
35243
+ "offline",
35244
+ "disconnesso"
35245
+ ]
35246
+ },
35247
+ {
35248
+ key: "volume-2",
35249
+ group: "sensing",
35250
+ synonyms: [
35251
+ "volume",
35252
+ "audio",
35253
+ "altoparlante",
35254
+ "suono"
35255
+ ]
35256
+ },
35257
+ {
35258
+ key: "volume-x",
35259
+ group: "sensing",
35260
+ synonyms: [
35261
+ "muto",
35262
+ "silenziato",
35263
+ "volume",
35264
+ "spento"
35265
+ ]
35266
+ },
35267
+ {
35268
+ key: "heart",
35269
+ group: "sensing",
35270
+ synonyms: [
35271
+ "cuore",
35272
+ "preferito",
35273
+ "salute"
35274
+ ]
35275
+ },
35276
+ {
35277
+ key: "heart-pulse",
35278
+ group: "sensing",
35279
+ synonyms: [
35280
+ "battito",
35281
+ "salute",
35282
+ "monitoraggio"
35283
+ ]
35284
+ },
35285
+ {
35286
+ key: "star",
35287
+ group: "sensing",
35288
+ synonyms: [
35289
+ "preferito",
35290
+ "stella",
35291
+ "importante"
35292
+ ]
35293
+ },
35294
+ {
35295
+ key: "sparkles",
35296
+ group: "sensing",
35297
+ synonyms: [
35298
+ "automatico",
35299
+ "intelligente",
35300
+ "ai",
35301
+ "scena"
35302
+ ]
35303
+ },
35304
+ {
35305
+ key: "house",
35306
+ group: "place",
35307
+ synonyms: [
35308
+ "casa",
35309
+ "abitazione",
35310
+ "home"
35311
+ ]
35312
+ },
35313
+ {
35314
+ key: "sofa",
35315
+ group: "place",
35316
+ synonyms: [
35317
+ "salone",
35318
+ "soggiorno",
35319
+ "divano",
35320
+ "living"
35321
+ ]
35322
+ },
35323
+ {
35324
+ key: "bed-double",
35325
+ group: "place",
35326
+ synonyms: [
35327
+ "camera",
35328
+ "letto",
35329
+ "matrimoniale"
35330
+ ]
35331
+ },
35332
+ {
35333
+ key: "bed",
35334
+ group: "place",
35335
+ synonyms: [
35336
+ "cameretta",
35337
+ "letto",
35338
+ "singolo"
35339
+ ]
35340
+ },
35341
+ {
35342
+ key: "warehouse",
35343
+ group: "place",
35344
+ synonyms: [
35345
+ "magazzino",
35346
+ "capanno",
35347
+ "deposito",
35348
+ "cantina"
35349
+ ]
35350
+ },
35351
+ {
35352
+ key: "trees",
35353
+ group: "place",
35354
+ synonyms: [
35355
+ "giardino",
35356
+ "alberi",
35357
+ "esterno",
35358
+ "parco"
35359
+ ]
35360
+ },
35361
+ {
35362
+ key: "tree-pine",
35363
+ group: "place",
35364
+ synonyms: [
35365
+ "albero",
35366
+ "pino",
35367
+ "giardino"
35368
+ ]
35369
+ },
35370
+ {
35371
+ key: "fence",
35372
+ group: "place",
35373
+ synonyms: [
35374
+ "recinto",
35375
+ "cancello",
35376
+ "staccionata",
35377
+ "perimetro"
35378
+ ]
35379
+ },
35380
+ {
35381
+ key: "store",
35382
+ group: "place",
35383
+ synonyms: [
35384
+ "negozio",
35385
+ "ingresso",
35386
+ "vetrina"
35387
+ ]
35388
+ },
35389
+ {
35390
+ key: "building",
35391
+ group: "place",
35392
+ synonyms: ["edificio", "palazzo"]
35393
+ },
35394
+ {
35395
+ key: "building-2",
35396
+ group: "place",
35397
+ synonyms: [
35398
+ "edificio",
35399
+ "uffici",
35400
+ "condominio"
35401
+ ]
35402
+ },
35403
+ {
35404
+ key: "mountain",
35405
+ group: "place",
35406
+ synonyms: [
35407
+ "montagna",
35408
+ "esterno",
35409
+ "panorama"
35410
+ ]
35411
+ },
35412
+ {
35413
+ key: "umbrella",
35414
+ group: "place",
35415
+ synonyms: [
35416
+ "tenda",
35417
+ "markise",
35418
+ "ombrellone",
35419
+ "pergola",
35420
+ "veranda"
35421
+ ]
35422
+ },
35423
+ {
35424
+ key: "dumbbell",
35425
+ group: "place",
35426
+ synonyms: ["palestra", "attrezzi"]
35427
+ },
35428
+ {
35429
+ key: "wrench",
35430
+ group: "place",
35431
+ synonyms: [
35432
+ "officina",
35433
+ "manutenzione",
35434
+ "attrezzi",
35435
+ "utenze"
35436
+ ]
35437
+ },
35438
+ {
35439
+ key: "hammer",
35440
+ group: "place",
35441
+ synonyms: [
35442
+ "officina",
35443
+ "martello",
35444
+ "lavori"
35445
+ ]
35446
+ },
35447
+ {
35448
+ key: "drill",
35449
+ group: "place",
35450
+ synonyms: [
35451
+ "officina",
35452
+ "trapano",
35453
+ "lavori"
35454
+ ]
35455
+ },
35456
+ {
35457
+ key: "waves-ladder",
35458
+ group: "place",
35459
+ synonyms: ["piscina", "vasca"]
35460
+ },
35461
+ {
35462
+ key: "circle-parking",
35463
+ group: "place",
35464
+ synonyms: [
35465
+ "parcheggio",
35466
+ "posto",
35467
+ "auto",
35468
+ "garage"
35469
+ ]
35470
+ },
35471
+ {
35472
+ key: "route",
35473
+ group: "place",
35474
+ synonyms: [
35475
+ "percorso",
35476
+ "strada",
35477
+ "vialetto",
35478
+ "tragitto"
35479
+ ]
35480
+ },
35481
+ {
35482
+ key: "car",
35483
+ group: "life",
35484
+ synonyms: [
35485
+ "auto",
35486
+ "macchina",
35487
+ "veicolo",
35488
+ "parcheggio"
35489
+ ]
35490
+ },
35491
+ {
35492
+ key: "bike",
35493
+ group: "life",
35494
+ synonyms: [
35495
+ "bicicletta",
35496
+ "bici",
35497
+ "moto"
35498
+ ]
35499
+ },
35500
+ {
35501
+ key: "bus",
35502
+ group: "life",
35503
+ synonyms: ["autobus", "pullman"]
35504
+ },
35505
+ {
35506
+ key: "truck",
35507
+ group: "life",
35508
+ synonyms: [
35509
+ "camion",
35510
+ "furgone",
35511
+ "consegna"
35512
+ ]
35513
+ },
35514
+ {
35515
+ key: "plane",
35516
+ group: "life",
35517
+ synonyms: ["aereo"]
35518
+ },
35519
+ {
35520
+ key: "train-front",
35521
+ group: "life",
35522
+ synonyms: ["treno"]
35523
+ },
35524
+ {
35525
+ key: "sailboat",
35526
+ group: "life",
35527
+ synonyms: ["barca", "imbarcazione"]
35528
+ },
35529
+ {
35530
+ key: "dog",
35531
+ group: "life",
35532
+ synonyms: ["cane", "animale"]
35533
+ },
35534
+ {
35535
+ key: "cat",
35536
+ group: "life",
35537
+ synonyms: ["gatto", "animale"]
35538
+ },
35539
+ {
35540
+ key: "bird",
35541
+ group: "life",
35542
+ synonyms: ["uccello", "animale"]
35543
+ },
35544
+ {
35545
+ key: "paw-print",
35546
+ group: "life",
35547
+ synonyms: [
35548
+ "animale",
35549
+ "zampa",
35550
+ "pet"
35551
+ ]
35552
+ },
35553
+ {
35554
+ key: "baby",
35555
+ group: "life",
35556
+ synonyms: [
35557
+ "neonato",
35558
+ "bimbo",
35559
+ "cameretta",
35560
+ "babymonitor"
35561
+ ]
35562
+ },
35563
+ {
35564
+ key: "user",
35565
+ group: "life",
35566
+ synonyms: ["persona", "utente"]
35567
+ },
35568
+ {
35569
+ key: "users",
35570
+ group: "life",
35571
+ synonyms: [
35572
+ "persone",
35573
+ "gruppo",
35574
+ "famiglia"
35575
+ ]
35576
+ },
35577
+ {
35578
+ key: "person-standing",
35579
+ group: "life",
35580
+ synonyms: [
35581
+ "persona",
35582
+ "piedi",
35583
+ "presenza"
35584
+ ]
35585
+ }
35586
+ ];
35587
+ DISPLAY_ICON_VOCABULARY.map((e) => e.key);
35588
+ DISPLAY_ICON_VOCABULARY.filter((e) => e.aliasOf === void 0).map((e) => e.key);
35589
+ new Map(DISPLAY_ICON_VOCABULARY.map((e) => [e.key, e]));
34154
35590
  Object.freeze({
34155
35591
  "accessories.getStatus": {
34156
35592
  capName: "accessories",
@@ -40944,6 +42380,12 @@ Object.freeze({
40944
42380
  addonId: null,
40945
42381
  access: "view"
40946
42382
  },
42383
+ "videoclips.dialClipStream": {
42384
+ capName: "videoclips",
42385
+ capScope: "device",
42386
+ addonId: null,
42387
+ access: "view"
42388
+ },
40947
42389
  "videoclips.getClipPlayback": {
40948
42390
  capName: "videoclips",
40949
42391
  capScope: "device",
@@ -42983,6 +44425,11 @@ Object.freeze({
42983
44425
  form: "single",
42984
44426
  optional: false
42985
44427
  }],
44428
+ "videoclips.dialClipStream": [{
44429
+ name: "deviceId",
44430
+ form: "single",
44431
+ optional: false
44432
+ }],
42986
44433
  "videoclips.getClipPlayback": [{
42987
44434
  name: "deviceId",
42988
44435
  form: "single",