@camstack/addon-pipeline 1.2.74 → 1.2.75

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 (36) hide show
  1. package/dist/{addon-utils-CQs-AjTJ.js → addon-utils-a_36HH_N.js} +4 -4
  2. package/dist/audio-analyzer/index.js +5 -6
  3. package/dist/audio-analyzer/index.mjs +3 -3
  4. package/dist/detection-pipeline/index.js +9 -10
  5. package/dist/detection-pipeline/index.mjs +5 -5
  6. package/dist/{dist-CgJ8MRAy.js → dist-6ZJCV0jY.js} +1900 -27
  7. package/dist/{dist-CKY0efl3.mjs → dist-T_8jMw7d.mjs} +1865 -27
  8. package/dist/{event-loop-stall-monitor-Dx-zXcNg.js → event-loop-stall-monitor-Cjof8vA1.js} +1 -1
  9. package/dist/{event-loop-stall-monitor-CIapFIez.mjs → event-loop-stall-monitor-XeGmL4xr.mjs} +1 -1
  10. package/dist/lazy-sharp-6oymT_yf.mjs +341 -0
  11. package/dist/lazy-sharp-DvwPafeP.js +360 -0
  12. package/dist/motion-wasm/index.js +3 -3
  13. package/dist/motion-wasm/index.mjs +3 -3
  14. package/dist/pipeline-runner/index.js +6 -7
  15. package/dist/pipeline-runner/index.mjs +4 -4
  16. package/dist/recorder/index.js +138 -32
  17. package/dist/recorder/index.mjs +137 -30
  18. package/dist/session-decode/decode-worker-child.js +311 -126
  19. package/dist/session-decode/decode-worker-child.mjs +311 -123
  20. package/dist/stream-broker/_stub.js +94 -94
  21. package/dist/stream-broker/{_virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-DVJ4gKkk.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-H2OTmgR6.mjs} +2 -2
  22. package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-RYTOS6B-.mjs +26 -0
  23. package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-DfsLsn2e.mjs +26 -0
  24. package/dist/stream-broker/{hostInit-5SFdfUyc.mjs → hostInit-4XDN_Nt0.mjs} +2 -2
  25. package/dist/stream-broker/index.js +12 -13
  26. package/dist/stream-broker/index.mjs +3 -3
  27. package/dist/stream-broker/remoteEntry.js +1 -1
  28. package/dist/{worker-protocol-D44DCkcs.js → worker-protocol-B0cbTXyw.js} +1 -1
  29. package/dist/{worker-protocol-BzAQPUR-.mjs → worker-protocol-SqED7Y9i.mjs} +1 -1
  30. package/package.json +1 -1
  31. package/dist/chunk-emK7D4bc.js +0 -35
  32. package/dist/lazy-sharp-B-mb8uWx.mjs +0 -20
  33. package/dist/lazy-sharp-CcYuXtsa.js +0 -25
  34. package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-C_plRUtD.mjs +0 -26
  35. package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-CExO0piw.mjs +0 -26
  36. package/dist/{addon-utils-CZ2xo67g.mjs → addon-utils-A2S9D7pu.mjs} +2 -2
@@ -2997,6 +2997,9 @@ function handlePipeResult(left, next, ctx) {
2997
2997
  fallback: left.fallback
2998
2998
  }, ctx);
2999
2999
  }
3000
+ var $ZodPreprocess = /*@__PURE__*/ $constructor("$ZodPreprocess", (inst, def) => {
3001
+ $ZodPipe.init(inst, def);
3002
+ });
3000
3003
  var $ZodReadonly = /*@__PURE__*/ $constructor("$ZodReadonly", (inst, def) => {
3001
3004
  $ZodType.init(inst, def);
3002
3005
  defineLazy(inst._zod, "propValues", () => def.innerType._zod.propValues);
@@ -5182,6 +5185,10 @@ function pipe(in_, out) {
5182
5185
  out
5183
5186
  });
5184
5187
  }
5188
+ var ZodPreprocess = /*@__PURE__*/ $constructor("ZodPreprocess", (inst, def) => {
5189
+ ZodPipe.init(inst, def);
5190
+ $ZodPreprocess.init(inst, def);
5191
+ });
5185
5192
  var ZodReadonly = /*@__PURE__*/ $constructor("ZodReadonly", (inst, def) => {
5186
5193
  $ZodReadonly.init(inst, def);
5187
5194
  ZodType.init(inst, def);
@@ -5240,6 +5247,13 @@ function _instanceof(cls, params = {}) {
5240
5247
  };
5241
5248
  return inst;
5242
5249
  }
5250
+ function preprocess(fn, schema) {
5251
+ return new ZodPreprocess({
5252
+ type: "pipe",
5253
+ in: transform(fn),
5254
+ out: schema
5255
+ });
5256
+ }
5243
5257
  //#endregion
5244
5258
  //#region ../../node_modules/zod/v4/classic/compat.js
5245
5259
  /** @deprecated Use the raw string literal codes instead, e.g. "invalid_type". */
@@ -15845,7 +15859,16 @@ var NcScheduleSchema = object({
15845
15859
  });
15846
15860
  /** Fuzzy plate matcher — OCR noise makes exact match useless (spec row 12/13). */
15847
15861
  var NcPlateMatcherSchema = object({
15848
- values: array(string().min(1)).min(1),
15862
+ /**
15863
+ * Plate texts (or gallery vehicle names) to match. EMPTY = **any plate the
15864
+ * pipeline could read** — the plate half of "no selection = no narrowing",
15865
+ * and the switch that says this rule is about vehicles that were IDENTIFIED
15866
+ * rather than merely seen. A subject carrying no plate still fails.
15867
+ *
15868
+ * The `.min(1)` this used to carry made that state unauthorable; nothing has
15869
+ * ever persisted an empty list, so widening it cannot change an existing rule.
15870
+ */
15871
+ values: array(string().min(1)),
15849
15872
  /** Max Levenshtein distance after normalization (uppercase alphanumeric). */
15850
15873
  maxDistance: number().int().min(0).max(3).default(1)
15851
15874
  });
@@ -16084,18 +16107,47 @@ var NcConditionsSchema = object({
16084
16107
  */
16085
16108
  labelEquals: array(string().min(1)).optional(),
16086
16109
  /**
16087
- * Identity matcher. P1 boundary: matched against the record's collapsed
16088
- * `label` (the identity display name propagated by the face pipeline) —
16089
- * identity-ID matching rides in P2 when identity ids reach the record.
16110
+ * KNOWN FACES the rule's identity scope, and the switch that says the rule
16111
+ * is about recognised people at all.
16112
+ *
16113
+ * Three states, and the empty one is the point:
16114
+ *
16115
+ * | value | meaning |
16116
+ * | --- | --- |
16117
+ * | absent | the rule does not care who it is; an unrecognised person matches |
16118
+ * | `[]` | **only known faces** — any identity in the gallery, nobody in particular |
16119
+ * | a list | only these identities |
16120
+ *
16121
+ * `[]` is the repo-wide "no selection = no narrowing" reading (an absent
16122
+ * `devices` list is every device), applied one level down: the operator has
16123
+ * turned the face scope ON and narrowed it to nothing, which is every known
16124
+ * face. No second field states the same thing — a switch that can disagree
16125
+ * with the list under it is worse than no switch (D62).
16126
+ *
16127
+ * MEMBERS ARE FACE-GALLERY `Identity.id`s (uuid), not display names. A name is
16128
+ * renameable, and a rule authored on "Gianluca" went silently dark the moment
16129
+ * the operator fixed the spelling. The id reaches the record on
16130
+ * `LabelAttribution.identityId`; the name is what the editor shows and what
16131
+ * `{{label}}` renders.
16132
+ *
16133
+ * Rules written before this carry NAMES, and are resolved to ids lazily at
16134
+ * load (`NcRuleStore.load`) against the live gallery — a name nothing answers
16135
+ * for is left as it stands and reported, never dropped. The engine also
16136
+ * accepts a display-name hit as a compatibility leg, so a rule whose
16137
+ * migration could not resolve keeps matching exactly what it matched before.
16090
16138
  */
16091
16139
  identities: array(string().min(1)).optional(),
16092
- /** Fuzzy plate matcher against the record's `label` (plate text). */
16140
+ /**
16141
+ * KNOWN PLATES / VEHICLES — the plate mirror of {@link identities}, including
16142
+ * the empty-list reading: `values: []` is "any plate the OCR could read",
16143
+ * a non-empty list is those plates (fuzzily). See {@link NcPlateMatcherSchema}.
16144
+ */
16093
16145
  plates: NcPlateMatcherSchema.optional(),
16094
16146
  /**
16095
- * Identity EXCLUDE — mirror of {@link identities} with `notIn` semantics.
16096
- * Same P1 boundary: matched against the record's collapsed `label` (the
16097
- * identity display name). A record with NO label passes (nothing to
16098
- * exclude), unlike the include variant which fails on an absent label.
16147
+ * Identity EXCLUDE — mirror of {@link identities} with `notIn` semantics, and
16148
+ * the same id members and the same lazy name→id migration. A record with NO
16149
+ * identity passes (nothing to exclude), unlike the include variant which
16150
+ * fails on an unrecognised subject. An EMPTY list excludes nobody.
16099
16151
  */
16100
16152
  identitiesExclude: array(string().min(1)).optional(),
16101
16153
  /**
@@ -16487,7 +16539,37 @@ var NcRuleInputSchema = object({
16487
16539
  * a rule that predates the gate must keep delivering byte-for-byte as it
16488
16540
  * did, and absent is the only way to say that without a migration.
16489
16541
  */
16490
- confirm: NcConfirmSchema.optional()
16542
+ confirm: NcConfirmSchema.optional(),
16543
+ /**
16544
+ * WAIT for face/plate recognition before saying anything.
16545
+ *
16546
+ * A notification's TEXT is frozen at enqueue and its media is re-resolved at
16547
+ * send; the identity is neither. A face is confirmed after `confirmFrames`
16548
+ * agreeing observations — p50 **11.4 s** after the track was first seen,
16549
+ * measured on this hub — and an `immediate` rule enqueues on the first object
16550
+ * event, seconds before that. So "Gianluca è arrivato" is unsayable on the
16551
+ * immediate path, and no amount of media re-resolution fixes a sentence.
16552
+ *
16553
+ * Only two honest answers exist, and this flag picks between them. It has
16554
+ * effect ONLY on a rule that declares a recognition scope
16555
+ * ({@link NcConditions.identities} or {@link NcConditions.plates}) — on any
16556
+ * other rule there is nothing to wait for and the flag is inert.
16557
+ *
16558
+ * | value | what happens |
16559
+ * | --- | --- |
16560
+ * | `true` | the rule stops firing on the object event and fires at TRACK CLOSE instead, once, with the name — later, and complete |
16561
+ * | absent / `false` | it fires at once WITHOUT the name, and if recognition lands before the track closes a SECOND, "…is Gianluca" notification follows (one per track, per rule, per target) |
16562
+ *
16563
+ * `.optional()` and deliberately NOT `.default()`: a Zod default does not run
16564
+ * on the addon cap path, and absent has to keep meaning exactly what every
16565
+ * rule authored before this field meant.
16566
+ *
16567
+ * The cost of `true` is stated here because the editor states it too: a rule
16568
+ * that waits also inherits track-close SEMANTICS — its `zones` condition
16569
+ * tests every zone the track visited and a `crossing` condition can no longer
16570
+ * be satisfied, because a closed track carries no crossing.
16571
+ */
16572
+ waitForEnhancement: boolean().optional()
16491
16573
  });
16492
16574
  /**
16493
16575
  * Partial patch for `updateRule` — any subset of the input fields, plus the
@@ -16999,7 +17081,87 @@ var MethodAccessSchema = _enum([
16999
17081
  var AllowedProviderSchema = union([literal("*"), array(string())]);
17000
17082
  var AllowedDevicesSchema = record(string(), union([literal("*"), array(string())]));
17001
17083
  var CapScopeSchema = _enum(["device", "system"]);
17002
- var TokenScopeSchema = discriminatedUnion("type", [
17084
+ /**
17085
+ * DeviceSelector (scope model v3 — 2026-08-12).
17086
+ *
17087
+ * A `device` grant no longer carries a frozen list of deviceIds. It carries
17088
+ * a SELECTOR the matcher resolves against the live fleet, so the grant can be
17089
+ * DYNAMIC: a `types:['camera']` selector automatically covers a camera added
17090
+ * AFTER the grant was minted — no re-grant, no re-login.
17091
+ *
17092
+ * - `all` — every device in the deployment. The broad viewer/operator
17093
+ * lever without a `category` grant (a `category` grant also covers device
17094
+ * caps that carry no deviceId; `all` is specifically the device set).
17095
+ * - `ids` — an explicit deviceId list. This is what a v2 `device:[…]`
17096
+ * grant migrates to (see {@link TokenScopeSchema}); STATIC — a new camera
17097
+ * is NOT covered until the grant is edited.
17098
+ * - `types` — every device of a `DeviceType` (e.g. every `camera`).
17099
+ * DYNAMIC. A device that changes type, or a new device of the type,
17100
+ * re-resolves on the next request.
17101
+ * - `locations` — every device whose operator-assigned `location` label is
17102
+ * in the set (e.g. "Garden", "Front door"). DYNAMIC. A device with a
17103
+ * null/unset location matches NO `locations` selector.
17104
+ */
17105
+ var DeviceSelectorSchema = discriminatedUnion("kind", [
17106
+ object({ kind: literal("all") }),
17107
+ object({
17108
+ kind: literal("ids"),
17109
+ ids: array(number().int()).min(1)
17110
+ }),
17111
+ object({
17112
+ kind: literal("types"),
17113
+ types: array(_enum(DeviceType)).min(1)
17114
+ }),
17115
+ object({
17116
+ kind: literal("locations"),
17117
+ locations: array(string().min(1)).min(1)
17118
+ })
17119
+ ]);
17120
+ var DeviceTokenScopeSchema = object({
17121
+ type: literal("device"),
17122
+ /** The device SET this grant covers — resolved against the live fleet. */
17123
+ selector: DeviceSelectorSchema,
17124
+ access: array(MethodAccessSchema).min(1),
17125
+ /**
17126
+ * Whether a grant on a PARENT device transparently covers its accessory
17127
+ * CHILDREN (siren / floodlight / PIR) via the persisted-parentage walk.
17128
+ * Direction is parent → children ONLY.
17129
+ *
17130
+ * Absent → the matcher DERIVES it from the access flavour: `view`
17131
+ * inherits (a camera viewer sees the camera's accessories), `create` /
17132
+ * `delete` do NOT (actuating/removing a child is an explicit act the
17133
+ * operator must grant on the child, not inherit from the parent). Set it
17134
+ * explicitly to override that default per grant.
17135
+ */
17136
+ includeLinked: boolean().optional()
17137
+ });
17138
+ /**
17139
+ * v2 → v3 lazy migration. A pre-v3 `device` grant carried
17140
+ * `targets: string[]` (stringified deviceIds); it rewrites to the equivalent
17141
+ * `selector: {kind:'ids', ids}`. Applied as a `preprocess` so it runs on
17142
+ * EVERY parse path — stored records AND the JWT-carried scope arrays
17143
+ * normalised at the request boundary ({@link normalizeTokenScopes} in
17144
+ * `device-selector.ts`). Chosen over a one-time DB migration because a
17145
+ * migration cannot reach a JWT already in a client's hands; parse-time
17146
+ * migration covers both without a flag day. No cast — the raw object is read
17147
+ * through `Reflect.get` (its static type is `unknown`).
17148
+ */
17149
+ function migrateLegacyTokenScope(raw) {
17150
+ if (raw === null || typeof raw !== "object" || Array.isArray(raw)) return raw;
17151
+ if (Reflect.get(raw, "type") !== "device") return raw;
17152
+ if (Reflect.get(raw, "selector") !== void 0) return raw;
17153
+ const targets = Reflect.get(raw, "targets");
17154
+ if (!Array.isArray(targets)) return raw;
17155
+ return {
17156
+ type: "device",
17157
+ selector: {
17158
+ kind: "ids",
17159
+ ids: targets.map((t) => typeof t === "string" ? Number(t) : t).filter((n) => typeof n === "number" && Number.isInteger(n))
17160
+ },
17161
+ access: Reflect.get(raw, "access")
17162
+ };
17163
+ }
17164
+ var TokenScopeSchema = preprocess(migrateLegacyTokenScope, discriminatedUnion("type", [
17003
17165
  object({
17004
17166
  type: literal("category"),
17005
17167
  target: CapScopeSchema,
@@ -17015,18 +17177,8 @@ var TokenScopeSchema = discriminatedUnion("type", [
17015
17177
  target: string(),
17016
17178
  access: array(MethodAccessSchema).min(1)
17017
17179
  }),
17018
- object({
17019
- type: literal("device"),
17020
- /**
17021
- * One or more deviceIds (serialised as strings for wire-format
17022
- * consistency with the rest of the union). Matcher accepts if
17023
- * `input.deviceId` ∈ `targets`. Array shape avoids the row-explosion
17024
- * of one scope-per-device when granting access to a set of cameras.
17025
- */
17026
- targets: array(string()).min(1),
17027
- access: array(MethodAccessSchema).min(1)
17028
- })
17029
- ]);
17180
+ DeviceTokenScopeSchema
17181
+ ]));
17030
17182
  object({
17031
17183
  id: string(),
17032
17184
  username: string(),
@@ -17479,7 +17631,21 @@ union([literal(1), literal(2)]);
17479
17631
  var LabelAttributionSchema = object({
17480
17632
  stepId: string(),
17481
17633
  modelId: string().optional(),
17482
- decidedAt: number()
17634
+ decidedAt: number(),
17635
+ /**
17636
+ * The GALLERY id behind a recognised tier-2 label — a face-gallery
17637
+ * `Identity.id` or a plate-gallery `Vehicle.id` (both `randomUUID`).
17638
+ *
17639
+ * The text alone is a DISPLAY NAME, and a display name is renameable: a
17640
+ * notification rule authored on "Gianluca" stopped matching the moment the
17641
+ * operator fixed the spelling in the gallery, and nothing said so. The id is
17642
+ * the thing that does not move, so it is what a rule matches on
17643
+ * (`NcConditions.identities`) and the text is what a human is shown.
17644
+ *
17645
+ * Absent when the label names no gallery row — a plate the OCR read but no
17646
+ * vehicle claims, a sub-class, a species, any tier-1 value.
17647
+ */
17648
+ identityId: string().optional()
17483
17649
  });
17484
17650
  /**
17485
17651
  * The TIERED label model (roadmap 4g), spread into `TrackSchema` and
@@ -25756,7 +25922,7 @@ var recordingCapability = {
25756
25922
  toMs: number()
25757
25923
  }), RecordingAvailabilitySchema, {
25758
25924
  kind: "query",
25759
- auth: "admin"
25925
+ auth: "protected"
25760
25926
  }),
25761
25927
  /** Which calendar days in [fromMs,toMs) have ≥1 recorded segment, bucketed by
25762
25928
  * the client's local day (`tzOffsetMinutes` = minutes to add to UTC). Drives
@@ -25768,7 +25934,7 @@ var recordingCapability = {
25768
25934
  tzOffsetMinutes: number()
25769
25935
  }), RecordingDaysSchema, {
25770
25936
  kind: "query",
25771
- auth: "admin"
25937
+ auth: "protected"
25772
25938
  }),
25773
25939
  getPlaybackManifest: method(object({
25774
25940
  deviceId: number(),
@@ -25776,7 +25942,7 @@ var recordingCapability = {
25776
25942
  toMs: number()
25777
25943
  }), RecordingManifestSchema, {
25778
25944
  kind: "query",
25779
- auth: "admin"
25945
+ auth: "protected"
25780
25946
  }),
25781
25947
  getStorageUsage: method(object({}), RecordingStorageUsageSchema, {
25782
25948
  kind: "query",
@@ -32913,6 +33079,1678 @@ Object.freeze({
32913
33079
  access: "create"
32914
33080
  }
32915
33081
  });
33082
+ Object.freeze({
33083
+ "accessories.setChildHidden": [{
33084
+ name: "childDeviceId",
33085
+ form: "single",
33086
+ optional: false
33087
+ }, {
33088
+ name: "deviceId",
33089
+ form: "single",
33090
+ optional: false
33091
+ }],
33092
+ "addonSettings.getDeviceSettings": [{
33093
+ name: "deviceId",
33094
+ form: "single",
33095
+ optional: false
33096
+ }],
33097
+ "addonSettings.updateDeviceSettings": [{
33098
+ name: "deviceId",
33099
+ form: "single",
33100
+ optional: false
33101
+ }],
33102
+ "alarmPanel.arm": [{
33103
+ name: "deviceId",
33104
+ form: "single",
33105
+ optional: false
33106
+ }],
33107
+ "alarmPanel.disarm": [{
33108
+ name: "deviceId",
33109
+ form: "single",
33110
+ optional: false
33111
+ }],
33112
+ "alarmPanel.trigger": [{
33113
+ name: "deviceId",
33114
+ form: "single",
33115
+ optional: false
33116
+ }],
33117
+ "audioAnalysis.resolveDeviceSettings": [{
33118
+ name: "deviceId",
33119
+ form: "single",
33120
+ optional: false
33121
+ }],
33122
+ "audioAnalyzer.classify": [{
33123
+ name: "deviceId",
33124
+ form: "single",
33125
+ optional: true
33126
+ }],
33127
+ "audioMetrics.getCurrentSnapshot": [{
33128
+ name: "deviceId",
33129
+ form: "single",
33130
+ optional: false
33131
+ }],
33132
+ "audioMetrics.getHistory": [{
33133
+ name: "deviceId",
33134
+ form: "single",
33135
+ optional: false
33136
+ }],
33137
+ "automationControl.disable": [{
33138
+ name: "deviceId",
33139
+ form: "single",
33140
+ optional: false
33141
+ }],
33142
+ "automationControl.enable": [{
33143
+ name: "deviceId",
33144
+ form: "single",
33145
+ optional: false
33146
+ }],
33147
+ "automationControl.trigger": [{
33148
+ name: "deviceId",
33149
+ form: "single",
33150
+ optional: false
33151
+ }],
33152
+ "battery.wakeForStream": [{
33153
+ name: "deviceId",
33154
+ form: "single",
33155
+ optional: false
33156
+ }],
33157
+ "brightness.setBrightness": [{
33158
+ name: "deviceId",
33159
+ form: "single",
33160
+ optional: false
33161
+ }],
33162
+ "button.press": [{
33163
+ name: "deviceId",
33164
+ form: "single",
33165
+ optional: false
33166
+ }],
33167
+ "cameraCredentials.getCredentials": [{
33168
+ name: "deviceId",
33169
+ form: "single",
33170
+ optional: false
33171
+ }],
33172
+ "cameraStreams.getBrokerStreams": [{
33173
+ name: "deviceId",
33174
+ form: "single",
33175
+ optional: false
33176
+ }],
33177
+ "cameraStreams.getCameraStreams": [{
33178
+ name: "deviceId",
33179
+ form: "single",
33180
+ optional: false
33181
+ }],
33182
+ "cameraStreams.getProfileRtspEntries": [{
33183
+ name: "deviceId",
33184
+ form: "single",
33185
+ optional: false
33186
+ }],
33187
+ "cameraStreams.getRtspEntries": [{
33188
+ name: "deviceId",
33189
+ form: "single",
33190
+ optional: false
33191
+ }],
33192
+ "cameraStreams.pickStream": [{
33193
+ name: "deviceId",
33194
+ form: "single",
33195
+ optional: false
33196
+ }],
33197
+ "climateControl.setFanMode": [{
33198
+ name: "deviceId",
33199
+ form: "single",
33200
+ optional: false
33201
+ }],
33202
+ "climateControl.setMode": [{
33203
+ name: "deviceId",
33204
+ form: "single",
33205
+ optional: false
33206
+ }],
33207
+ "climateControl.setPreset": [{
33208
+ name: "deviceId",
33209
+ form: "single",
33210
+ optional: false
33211
+ }],
33212
+ "climateControl.setSwingHorizontal": [{
33213
+ name: "deviceId",
33214
+ form: "single",
33215
+ optional: false
33216
+ }],
33217
+ "climateControl.setSwingVertical": [{
33218
+ name: "deviceId",
33219
+ form: "single",
33220
+ optional: false
33221
+ }],
33222
+ "climateControl.setTarget": [{
33223
+ name: "deviceId",
33224
+ form: "single",
33225
+ optional: false
33226
+ }],
33227
+ "climateControl.setTargetHumidity": [{
33228
+ name: "deviceId",
33229
+ form: "single",
33230
+ optional: false
33231
+ }],
33232
+ "climateControl.setTargetRange": [{
33233
+ name: "deviceId",
33234
+ form: "single",
33235
+ optional: false
33236
+ }],
33237
+ "color.setColor": [{
33238
+ name: "deviceId",
33239
+ form: "single",
33240
+ optional: false
33241
+ }],
33242
+ "consumables.reset": [{
33243
+ name: "deviceId",
33244
+ form: "single",
33245
+ optional: false
33246
+ }],
33247
+ "control.setValue": [{
33248
+ name: "deviceId",
33249
+ form: "single",
33250
+ optional: false
33251
+ }],
33252
+ "cover.close": [{
33253
+ name: "deviceId",
33254
+ form: "single",
33255
+ optional: false
33256
+ }],
33257
+ "cover.open": [{
33258
+ name: "deviceId",
33259
+ form: "single",
33260
+ optional: false
33261
+ }],
33262
+ "cover.setPosition": [{
33263
+ name: "deviceId",
33264
+ form: "single",
33265
+ optional: false
33266
+ }],
33267
+ "cover.setTiltPosition": [{
33268
+ name: "deviceId",
33269
+ form: "single",
33270
+ optional: false
33271
+ }],
33272
+ "cover.stop": [{
33273
+ name: "deviceId",
33274
+ form: "single",
33275
+ optional: false
33276
+ }],
33277
+ "dayNight.getOptions": [{
33278
+ name: "deviceId",
33279
+ form: "single",
33280
+ optional: false
33281
+ }],
33282
+ "dayNight.setSettings": [{
33283
+ name: "deviceId",
33284
+ form: "single",
33285
+ optional: false
33286
+ }],
33287
+ "decoder.createSession": [{
33288
+ name: "deviceId",
33289
+ form: "single",
33290
+ optional: true
33291
+ }],
33292
+ "deviceAdoption.release": [{
33293
+ name: "camDeviceId",
33294
+ form: "single",
33295
+ optional: false
33296
+ }],
33297
+ "deviceAdoption.resync": [{
33298
+ name: "camDeviceId",
33299
+ form: "single",
33300
+ optional: false
33301
+ }],
33302
+ "deviceDiscovery.adoptDevice": [{
33303
+ name: "deviceId",
33304
+ form: "single",
33305
+ optional: false
33306
+ }],
33307
+ "deviceDiscovery.listDiscovered": [{
33308
+ name: "deviceId",
33309
+ form: "single",
33310
+ optional: false
33311
+ }],
33312
+ "deviceDiscovery.refreshDiscovery": [{
33313
+ name: "deviceId",
33314
+ form: "single",
33315
+ optional: false
33316
+ }],
33317
+ "deviceDiscovery.releaseDevice": [{
33318
+ name: "childDeviceId",
33319
+ form: "single",
33320
+ optional: false
33321
+ }, {
33322
+ name: "deviceId",
33323
+ form: "single",
33324
+ optional: false
33325
+ }],
33326
+ "deviceManager.adoptionRelease": [{
33327
+ name: "camDeviceId",
33328
+ form: "single",
33329
+ optional: false
33330
+ }],
33331
+ "deviceManager.adoptionResync": [{
33332
+ name: "camDeviceId",
33333
+ form: "single",
33334
+ optional: false
33335
+ }],
33336
+ "deviceManager.applyInitialMeta": [{
33337
+ name: "deviceId",
33338
+ form: "single",
33339
+ optional: false
33340
+ }, {
33341
+ name: "linkDeviceId",
33342
+ form: "single",
33343
+ optional: true
33344
+ }],
33345
+ "deviceManager.disable": [{
33346
+ name: "deviceId",
33347
+ form: "single",
33348
+ optional: false
33349
+ }],
33350
+ "deviceManager.enable": [{
33351
+ name: "deviceId",
33352
+ form: "single",
33353
+ optional: false
33354
+ }],
33355
+ "deviceManager.getBindings": [{
33356
+ name: "deviceId",
33357
+ form: "single",
33358
+ optional: false
33359
+ }],
33360
+ "deviceManager.getChildren": [{
33361
+ name: "parentDeviceId",
33362
+ form: "single",
33363
+ optional: false
33364
+ }],
33365
+ "deviceManager.getConfigSchema": [{
33366
+ name: "deviceId",
33367
+ form: "single",
33368
+ optional: false
33369
+ }],
33370
+ "deviceManager.getDevice": [{
33371
+ name: "deviceId",
33372
+ form: "single",
33373
+ optional: false
33374
+ }],
33375
+ "deviceManager.getDeviceAggregate": [{
33376
+ name: "deviceId",
33377
+ form: "single",
33378
+ optional: false
33379
+ }],
33380
+ "deviceManager.getDeviceLiveInfoAggregate": [{
33381
+ name: "deviceId",
33382
+ form: "single",
33383
+ optional: false
33384
+ }],
33385
+ "deviceManager.getDeviceSettingsAggregate": [{
33386
+ name: "deviceId",
33387
+ form: "single",
33388
+ optional: false
33389
+ }],
33390
+ "deviceManager.getDeviceStatusAggregate": [{
33391
+ name: "deviceId",
33392
+ form: "single",
33393
+ optional: false
33394
+ }],
33395
+ "deviceManager.getDeviceStatusAggregateBatch": [{
33396
+ name: "deviceIds",
33397
+ form: "array",
33398
+ optional: false
33399
+ }],
33400
+ "deviceManager.getLinkedDevices": [{
33401
+ name: "deviceId",
33402
+ form: "single",
33403
+ optional: false
33404
+ }],
33405
+ "deviceManager.getSettingsSchema": [{
33406
+ name: "deviceId",
33407
+ form: "single",
33408
+ optional: false
33409
+ }],
33410
+ "deviceManager.getStreamProfileMap": [{
33411
+ name: "deviceId",
33412
+ form: "single",
33413
+ optional: false
33414
+ }],
33415
+ "deviceManager.getStreamSources": [{
33416
+ name: "deviceId",
33417
+ form: "single",
33418
+ optional: false
33419
+ }],
33420
+ "deviceManager.getWireableFields": [{
33421
+ name: "deviceId",
33422
+ form: "single",
33423
+ optional: false
33424
+ }],
33425
+ "deviceManager.loadConfig": [{
33426
+ name: "deviceId",
33427
+ form: "single",
33428
+ optional: false
33429
+ }],
33430
+ "deviceManager.loadMeta": [{
33431
+ name: "deviceId",
33432
+ form: "single",
33433
+ optional: false
33434
+ }],
33435
+ "deviceManager.loadRuntimeState": [{
33436
+ name: "deviceId",
33437
+ form: "single",
33438
+ optional: false
33439
+ }],
33440
+ "deviceManager.persistConfig": [{
33441
+ name: "deviceId",
33442
+ form: "single",
33443
+ optional: false
33444
+ }],
33445
+ "deviceManager.probeStreams": [{
33446
+ name: "deviceId",
33447
+ form: "single",
33448
+ optional: false
33449
+ }],
33450
+ "deviceManager.registerDevice": [{
33451
+ name: "parentDeviceId",
33452
+ form: "single",
33453
+ optional: true
33454
+ }],
33455
+ "deviceManager.remove": [{
33456
+ name: "deviceId",
33457
+ form: "single",
33458
+ optional: false
33459
+ }],
33460
+ "deviceManager.removeDevice": [{
33461
+ name: "deviceId",
33462
+ form: "single",
33463
+ optional: false
33464
+ }],
33465
+ "deviceManager.runDeviceAction": [{
33466
+ name: "deviceId",
33467
+ form: "single",
33468
+ optional: false
33469
+ }],
33470
+ "deviceManager.setChildLayout": [{
33471
+ name: "deviceId",
33472
+ form: "single",
33473
+ optional: false
33474
+ }],
33475
+ "deviceManager.setDisabled": [{
33476
+ name: "deviceId",
33477
+ form: "single",
33478
+ optional: false
33479
+ }],
33480
+ "deviceManager.setDisplay": [{
33481
+ name: "deviceId",
33482
+ form: "single",
33483
+ optional: false
33484
+ }],
33485
+ "deviceManager.setIntegrationId": [{
33486
+ name: "deviceId",
33487
+ form: "single",
33488
+ optional: false
33489
+ }],
33490
+ "deviceManager.setLinkDeviceId": [{
33491
+ name: "deviceId",
33492
+ form: "single",
33493
+ optional: false
33494
+ }, {
33495
+ name: "linkDeviceId",
33496
+ form: "single",
33497
+ optional: true
33498
+ }],
33499
+ "deviceManager.setLocation": [{
33500
+ name: "deviceId",
33501
+ form: "single",
33502
+ optional: false
33503
+ }],
33504
+ "deviceManager.setMetadata": [{
33505
+ name: "deviceId",
33506
+ form: "single",
33507
+ optional: false
33508
+ }],
33509
+ "deviceManager.setName": [{
33510
+ name: "deviceId",
33511
+ form: "single",
33512
+ optional: false
33513
+ }],
33514
+ "deviceManager.setPrimaryChildEntityId": [{
33515
+ name: "deviceId",
33516
+ form: "single",
33517
+ optional: false
33518
+ }],
33519
+ "deviceManager.setRole": [{
33520
+ name: "deviceId",
33521
+ form: "single",
33522
+ optional: false
33523
+ }],
33524
+ "deviceManager.setStreamProfileMap": [{
33525
+ name: "deviceId",
33526
+ form: "single",
33527
+ optional: false
33528
+ }],
33529
+ "deviceManager.setType": [{
33530
+ name: "deviceId",
33531
+ form: "single",
33532
+ optional: false
33533
+ }],
33534
+ "deviceManager.setWrapperActive": [{
33535
+ name: "deviceId",
33536
+ form: "single",
33537
+ optional: false
33538
+ }],
33539
+ "deviceManager.testField": [{
33540
+ name: "deviceId",
33541
+ form: "single",
33542
+ optional: false
33543
+ }],
33544
+ "deviceManager.updateConfig": [{
33545
+ name: "deviceId",
33546
+ form: "single",
33547
+ optional: false
33548
+ }],
33549
+ "deviceManager.updateDeviceField": [{
33550
+ name: "deviceId",
33551
+ form: "single",
33552
+ optional: false
33553
+ }],
33554
+ "deviceManager.updateDeviceFieldsBatch": [{
33555
+ name: "deviceId",
33556
+ form: "single",
33557
+ optional: false
33558
+ }],
33559
+ "deviceOps.getConfigEntries": [{
33560
+ name: "deviceId",
33561
+ form: "single",
33562
+ optional: false
33563
+ }],
33564
+ "deviceOps.getRawState": [{
33565
+ name: "deviceId",
33566
+ form: "single",
33567
+ optional: false
33568
+ }],
33569
+ "deviceOps.getSettingsSchema": [{
33570
+ name: "deviceId",
33571
+ form: "single",
33572
+ optional: false
33573
+ }],
33574
+ "deviceOps.getStreamSources": [{
33575
+ name: "deviceId",
33576
+ form: "single",
33577
+ optional: false
33578
+ }],
33579
+ "deviceOps.removeDevice": [{
33580
+ name: "deviceId",
33581
+ form: "single",
33582
+ optional: false
33583
+ }],
33584
+ "deviceOps.runAction": [{
33585
+ name: "deviceId",
33586
+ form: "single",
33587
+ optional: false
33588
+ }],
33589
+ "deviceOps.setConfig": [{
33590
+ name: "deviceId",
33591
+ form: "single",
33592
+ optional: false
33593
+ }],
33594
+ "deviceState.getCapSlice": [{
33595
+ name: "deviceId",
33596
+ form: "single",
33597
+ optional: false
33598
+ }],
33599
+ "deviceState.getSnapshot": [{
33600
+ name: "deviceId",
33601
+ form: "single",
33602
+ optional: false
33603
+ }],
33604
+ "deviceState.setCapSlice": [{
33605
+ name: "deviceId",
33606
+ form: "single",
33607
+ optional: false
33608
+ }],
33609
+ "events.getEventClipUrl": [{
33610
+ name: "deviceId",
33611
+ form: "single",
33612
+ optional: false
33613
+ }],
33614
+ "events.getEvents": [{
33615
+ name: "deviceId",
33616
+ form: "single",
33617
+ optional: false
33618
+ }],
33619
+ "events.getEventThumbnail": [{
33620
+ name: "deviceId",
33621
+ form: "single",
33622
+ optional: false
33623
+ }],
33624
+ "faceGallery.getFaceByTrack": [{
33625
+ name: "deviceId",
33626
+ form: "single",
33627
+ optional: false
33628
+ }],
33629
+ "faceGallery.listRecentFaces": [{
33630
+ name: "deviceId",
33631
+ form: "single",
33632
+ optional: true
33633
+ }],
33634
+ "fanControl.setDirection": [{
33635
+ name: "deviceId",
33636
+ form: "single",
33637
+ optional: false
33638
+ }],
33639
+ "fanControl.setOscillating": [{
33640
+ name: "deviceId",
33641
+ form: "single",
33642
+ optional: false
33643
+ }],
33644
+ "fanControl.setPercentage": [{
33645
+ name: "deviceId",
33646
+ form: "single",
33647
+ optional: false
33648
+ }],
33649
+ "fanControl.setPreset": [{
33650
+ name: "deviceId",
33651
+ form: "single",
33652
+ optional: false
33653
+ }],
33654
+ "humidifier.setMode": [{
33655
+ name: "deviceId",
33656
+ form: "single",
33657
+ optional: false
33658
+ }],
33659
+ "humidifier.setOn": [{
33660
+ name: "deviceId",
33661
+ form: "single",
33662
+ optional: false
33663
+ }],
33664
+ "humidifier.setTargetHumidity": [{
33665
+ name: "deviceId",
33666
+ form: "single",
33667
+ optional: false
33668
+ }],
33669
+ "imageSettings.getOptions": [{
33670
+ name: "deviceId",
33671
+ form: "single",
33672
+ optional: false
33673
+ }],
33674
+ "imageSettings.setSettings": [{
33675
+ name: "deviceId",
33676
+ form: "single",
33677
+ optional: false
33678
+ }],
33679
+ "intercom.endTalkSession": [{
33680
+ name: "deviceId",
33681
+ form: "single",
33682
+ optional: false
33683
+ }],
33684
+ "intercom.handleAnswer": [{
33685
+ name: "deviceId",
33686
+ form: "single",
33687
+ optional: false
33688
+ }],
33689
+ "intercom.pushTalkAudio": [{
33690
+ name: "deviceId",
33691
+ form: "single",
33692
+ optional: false
33693
+ }],
33694
+ "intercom.startSession": [{
33695
+ name: "deviceId",
33696
+ form: "single",
33697
+ optional: false
33698
+ }],
33699
+ "intercom.startTalkSession": [{
33700
+ name: "deviceId",
33701
+ form: "single",
33702
+ optional: false
33703
+ }],
33704
+ "intercom.stopSession": [{
33705
+ name: "deviceId",
33706
+ form: "single",
33707
+ optional: false
33708
+ }],
33709
+ "lawnMowerControl.dock": [{
33710
+ name: "deviceId",
33711
+ form: "single",
33712
+ optional: false
33713
+ }],
33714
+ "lawnMowerControl.pause": [{
33715
+ name: "deviceId",
33716
+ form: "single",
33717
+ optional: false
33718
+ }],
33719
+ "lawnMowerControl.startMowing": [{
33720
+ name: "deviceId",
33721
+ form: "single",
33722
+ optional: false
33723
+ }],
33724
+ "lockControl.lock": [{
33725
+ name: "deviceId",
33726
+ form: "single",
33727
+ optional: false
33728
+ }],
33729
+ "lockControl.open": [{
33730
+ name: "deviceId",
33731
+ form: "single",
33732
+ optional: false
33733
+ }],
33734
+ "lockControl.unlock": [{
33735
+ name: "deviceId",
33736
+ form: "single",
33737
+ optional: false
33738
+ }],
33739
+ "mediaPlayer.next": [{
33740
+ name: "deviceId",
33741
+ form: "single",
33742
+ optional: false
33743
+ }],
33744
+ "mediaPlayer.pause": [{
33745
+ name: "deviceId",
33746
+ form: "single",
33747
+ optional: false
33748
+ }],
33749
+ "mediaPlayer.play": [{
33750
+ name: "deviceId",
33751
+ form: "single",
33752
+ optional: false
33753
+ }],
33754
+ "mediaPlayer.playMedia": [{
33755
+ name: "deviceId",
33756
+ form: "single",
33757
+ optional: false
33758
+ }],
33759
+ "mediaPlayer.previous": [{
33760
+ name: "deviceId",
33761
+ form: "single",
33762
+ optional: false
33763
+ }],
33764
+ "mediaPlayer.seek": [{
33765
+ name: "deviceId",
33766
+ form: "single",
33767
+ optional: false
33768
+ }],
33769
+ "mediaPlayer.selectSource": [{
33770
+ name: "deviceId",
33771
+ form: "single",
33772
+ optional: false
33773
+ }],
33774
+ "mediaPlayer.setMute": [{
33775
+ name: "deviceId",
33776
+ form: "single",
33777
+ optional: false
33778
+ }],
33779
+ "mediaPlayer.setRepeat": [{
33780
+ name: "deviceId",
33781
+ form: "single",
33782
+ optional: false
33783
+ }],
33784
+ "mediaPlayer.setShuffle": [{
33785
+ name: "deviceId",
33786
+ form: "single",
33787
+ optional: false
33788
+ }],
33789
+ "mediaPlayer.setVolume": [{
33790
+ name: "deviceId",
33791
+ form: "single",
33792
+ optional: false
33793
+ }],
33794
+ "mediaPlayer.stop": [{
33795
+ name: "deviceId",
33796
+ form: "single",
33797
+ optional: false
33798
+ }],
33799
+ "motion.isDetected": [{
33800
+ name: "deviceId",
33801
+ form: "single",
33802
+ optional: false
33803
+ }],
33804
+ "motionDetection.analyze": [{
33805
+ name: "deviceId",
33806
+ form: "single",
33807
+ optional: false
33808
+ }],
33809
+ "motionDetection.removeCamera": [{
33810
+ name: "deviceId",
33811
+ form: "single",
33812
+ optional: false
33813
+ }],
33814
+ "motionTrigger.setMotionTrigger": [{
33815
+ name: "deviceId",
33816
+ form: "single",
33817
+ optional: false
33818
+ }],
33819
+ "motionZones.getOptions": [{
33820
+ name: "deviceId",
33821
+ form: "single",
33822
+ optional: false
33823
+ }],
33824
+ "motionZones.setZone": [{
33825
+ name: "deviceId",
33826
+ form: "single",
33827
+ optional: false
33828
+ }],
33829
+ "nativeObjectDetection.setEnabled": [{
33830
+ name: "deviceId",
33831
+ form: "single",
33832
+ optional: false
33833
+ }],
33834
+ "networkQuality.getDeviceStats": [{
33835
+ name: "deviceId",
33836
+ form: "single",
33837
+ optional: false
33838
+ }],
33839
+ "networkQuality.reportClientStats": [{
33840
+ name: "deviceId",
33841
+ form: "single",
33842
+ optional: false
33843
+ }],
33844
+ "notificationRules.setDeviceMuted": [{
33845
+ name: "deviceId",
33846
+ form: "single",
33847
+ optional: false
33848
+ }],
33849
+ "notifier.cancel": [{
33850
+ name: "deviceId",
33851
+ form: "single",
33852
+ optional: false
33853
+ }],
33854
+ "notifier.send": [{
33855
+ name: "deviceId",
33856
+ form: "single",
33857
+ optional: false
33858
+ }],
33859
+ "osd.setOverlay": [{
33860
+ name: "deviceId",
33861
+ form: "single",
33862
+ optional: false
33863
+ }],
33864
+ "osdManager.clearSlotBinding": [{
33865
+ name: "deviceId",
33866
+ form: "single",
33867
+ optional: false
33868
+ }],
33869
+ "osdManager.copyDeviceConfiguration": [{
33870
+ name: "sourceDeviceId",
33871
+ form: "single",
33872
+ optional: false
33873
+ }, {
33874
+ name: "targetDeviceId",
33875
+ form: "single",
33876
+ optional: false
33877
+ }],
33878
+ "osdManager.getDeviceOsd": [{
33879
+ name: "deviceId",
33880
+ form: "single",
33881
+ optional: false
33882
+ }],
33883
+ "osdManager.getSourceCatalog": [{
33884
+ name: "deviceId",
33885
+ form: "single",
33886
+ optional: false
33887
+ }],
33888
+ "osdManager.previewSlot": [{
33889
+ name: "deviceId",
33890
+ form: "single",
33891
+ optional: false
33892
+ }],
33893
+ "osdManager.renderDevice": [{
33894
+ name: "deviceId",
33895
+ form: "single",
33896
+ optional: false
33897
+ }],
33898
+ "osdManager.setSlotBinding": [{
33899
+ name: "deviceId",
33900
+ form: "single",
33901
+ optional: false
33902
+ }],
33903
+ "petFeeder.callPet": [{
33904
+ name: "deviceId",
33905
+ form: "single",
33906
+ optional: false
33907
+ }],
33908
+ "petFeeder.cancelFeed": [{
33909
+ name: "deviceId",
33910
+ form: "single",
33911
+ optional: false
33912
+ }],
33913
+ "petFeeder.feed": [{
33914
+ name: "deviceId",
33915
+ form: "single",
33916
+ optional: false
33917
+ }],
33918
+ "petFeeder.markFoodReplenished": [{
33919
+ name: "deviceId",
33920
+ form: "single",
33921
+ optional: false
33922
+ }],
33923
+ "petFeeder.playSound": [{
33924
+ name: "deviceId",
33925
+ form: "single",
33926
+ optional: false
33927
+ }],
33928
+ "petFeeder.resetDesiccant": [{
33929
+ name: "deviceId",
33930
+ form: "single",
33931
+ optional: false
33932
+ }],
33933
+ "petFeeder.setChildLock": [{
33934
+ name: "deviceId",
33935
+ form: "single",
33936
+ optional: false
33937
+ }],
33938
+ "petFeeder.setFeedSound": [{
33939
+ name: "deviceId",
33940
+ form: "single",
33941
+ optional: false
33942
+ }],
33943
+ "petFeeder.setIndicatorLight": [{
33944
+ name: "deviceId",
33945
+ form: "single",
33946
+ optional: false
33947
+ }],
33948
+ "petFeeder.setVolume": [{
33949
+ name: "deviceId",
33950
+ form: "single",
33951
+ optional: false
33952
+ }],
33953
+ "pipelineAnalytics.clearTracks": [{
33954
+ name: "deviceId",
33955
+ form: "single",
33956
+ optional: false
33957
+ }],
33958
+ "pipelineAnalytics.completeRetrainTrack": [{
33959
+ name: "deviceId",
33960
+ form: "single",
33961
+ optional: false
33962
+ }],
33963
+ "pipelineAnalytics.deleteDeviceEvents": [{
33964
+ name: "deviceId",
33965
+ form: "single",
33966
+ optional: false
33967
+ }],
33968
+ "pipelineAnalytics.deleteTracks": [{
33969
+ name: "deviceId",
33970
+ form: "single",
33971
+ optional: false
33972
+ }],
33973
+ "pipelineAnalytics.deselectRetrainFrame": [{
33974
+ name: "deviceId",
33975
+ form: "single",
33976
+ optional: false
33977
+ }],
33978
+ "pipelineAnalytics.getActiveTracks": [{
33979
+ name: "deviceId",
33980
+ form: "single",
33981
+ optional: false
33982
+ }],
33983
+ "pipelineAnalytics.getAudioEvents": [{
33984
+ name: "deviceId",
33985
+ form: "single",
33986
+ optional: false
33987
+ }],
33988
+ "pipelineAnalytics.getEventDensity": [{
33989
+ name: "deviceId",
33990
+ form: "single",
33991
+ optional: false
33992
+ }],
33993
+ "pipelineAnalytics.getKeyEvents": [{
33994
+ name: "deviceId",
33995
+ form: "single",
33996
+ optional: false
33997
+ }],
33998
+ "pipelineAnalytics.getMotionEvents": [{
33999
+ name: "deviceId",
34000
+ form: "single",
34001
+ optional: false
34002
+ }],
34003
+ "pipelineAnalytics.getObjectEvents": [{
34004
+ name: "deviceId",
34005
+ form: "single",
34006
+ optional: false
34007
+ }],
34008
+ "pipelineAnalytics.getRetrainExportUrl": [{
34009
+ name: "deviceIds",
34010
+ form: "array",
34011
+ optional: true
34012
+ }],
34013
+ "pipelineAnalytics.getSensorEvents": [{
34014
+ name: "deviceId",
34015
+ form: "single",
34016
+ optional: false
34017
+ }],
34018
+ "pipelineAnalytics.getTrack": [{
34019
+ name: "deviceId",
34020
+ form: "single",
34021
+ optional: false
34022
+ }],
34023
+ "pipelineAnalytics.getTrainingExportSummary": [{
34024
+ name: "deviceIds",
34025
+ form: "array",
34026
+ optional: true
34027
+ }],
34028
+ "pipelineAnalytics.getTrainingExportUrl": [{
34029
+ name: "deviceIds",
34030
+ form: "array",
34031
+ optional: true
34032
+ }],
34033
+ "pipelineAnalytics.listEventKinds": [{
34034
+ name: "deviceId",
34035
+ form: "single",
34036
+ optional: false
34037
+ }],
34038
+ "pipelineAnalytics.listEventKindsBatch": [{
34039
+ name: "deviceIds",
34040
+ form: "array",
34041
+ optional: false
34042
+ }],
34043
+ "pipelineAnalytics.listOpsLog": [{
34044
+ name: "deviceId",
34045
+ form: "single",
34046
+ optional: true
34047
+ }],
34048
+ "pipelineAnalytics.listRecentTracks": [{
34049
+ name: "deviceIds",
34050
+ form: "array",
34051
+ optional: false
34052
+ }],
34053
+ "pipelineAnalytics.listRetrainStaging": [{
34054
+ name: "deviceIds",
34055
+ form: "array",
34056
+ optional: true
34057
+ }],
34058
+ "pipelineAnalytics.listTracks": [{
34059
+ name: "deviceId",
34060
+ form: "single",
34061
+ optional: false
34062
+ }],
34063
+ "pipelineAnalytics.proposeRetrainAnnotations": [{
34064
+ name: "deviceId",
34065
+ form: "single",
34066
+ optional: false
34067
+ }],
34068
+ "pipelineAnalytics.pruneEventsBefore": [{
34069
+ name: "deviceId",
34070
+ form: "single",
34071
+ optional: false
34072
+ }],
34073
+ "pipelineAnalytics.pruneTracksBefore": [{
34074
+ name: "deviceId",
34075
+ form: "single",
34076
+ optional: false
34077
+ }],
34078
+ "pipelineAnalytics.rebuildObjectEmbeddings": [{
34079
+ name: "deviceId",
34080
+ form: "single",
34081
+ optional: true
34082
+ }],
34083
+ "pipelineAnalytics.restageRetrainTrack": [{
34084
+ name: "deviceId",
34085
+ form: "single",
34086
+ optional: false
34087
+ }],
34088
+ "pipelineAnalytics.saveRetrainAnnotations": [{
34089
+ name: "deviceId",
34090
+ form: "single",
34091
+ optional: false
34092
+ }],
34093
+ "pipelineAnalytics.searchObjectEvents": [{
34094
+ name: "deviceId",
34095
+ form: "single",
34096
+ optional: true
34097
+ }],
34098
+ "pipelineAnalytics.selectRetrainFrames": [{
34099
+ name: "deviceId",
34100
+ form: "single",
34101
+ optional: false
34102
+ }],
34103
+ "pipelineAnalytics.setTrackFlags": [{
34104
+ name: "deviceId",
34105
+ form: "single",
34106
+ optional: false
34107
+ }],
34108
+ "pipelineAnalytics.wipeAllAnalytics": [{
34109
+ name: "deviceId",
34110
+ form: "single",
34111
+ optional: false
34112
+ }],
34113
+ "pipelineExecutor.runPipeline": [{
34114
+ name: "deviceId",
34115
+ form: "single",
34116
+ optional: true
34117
+ }],
34118
+ "pipelineExecutor.runPipelineBatch": [{
34119
+ name: "deviceId",
34120
+ form: "single",
34121
+ optional: true
34122
+ }],
34123
+ "pipelineOrchestrator.assignAudio": [{
34124
+ name: "deviceId",
34125
+ form: "single",
34126
+ optional: false
34127
+ }],
34128
+ "pipelineOrchestrator.assignPipeline": [{
34129
+ name: "deviceId",
34130
+ form: "single",
34131
+ optional: false
34132
+ }],
34133
+ "pipelineOrchestrator.getAudioAssignment": [{
34134
+ name: "deviceId",
34135
+ form: "single",
34136
+ optional: false
34137
+ }],
34138
+ "pipelineOrchestrator.getCameraMetrics": [{
34139
+ name: "deviceId",
34140
+ form: "single",
34141
+ optional: false
34142
+ }],
34143
+ "pipelineOrchestrator.getCameraSettings": [{
34144
+ name: "deviceId",
34145
+ form: "single",
34146
+ optional: false
34147
+ }],
34148
+ "pipelineOrchestrator.getCameraStatus": [{
34149
+ name: "deviceId",
34150
+ form: "single",
34151
+ optional: false
34152
+ }],
34153
+ "pipelineOrchestrator.getCameraStatuses": [{
34154
+ name: "deviceIds",
34155
+ form: "array",
34156
+ optional: true
34157
+ }],
34158
+ "pipelineOrchestrator.getCameraStepOverrides": [{
34159
+ name: "deviceId",
34160
+ form: "single",
34161
+ optional: false
34162
+ }],
34163
+ "pipelineOrchestrator.getCameraSwitches": [{
34164
+ name: "deviceId",
34165
+ form: "single",
34166
+ optional: false
34167
+ }],
34168
+ "pipelineOrchestrator.getPipelineAssignment": [{
34169
+ name: "deviceId",
34170
+ form: "single",
34171
+ optional: false
34172
+ }],
34173
+ "pipelineOrchestrator.getPipelineDevicePin": [{
34174
+ name: "deviceId",
34175
+ form: "single",
34176
+ optional: false
34177
+ }],
34178
+ "pipelineOrchestrator.resolvePipeline": [{
34179
+ name: "deviceId",
34180
+ form: "single",
34181
+ optional: false
34182
+ }],
34183
+ "pipelineOrchestrator.setCameraPipelineForAgent": [{
34184
+ name: "deviceId",
34185
+ form: "single",
34186
+ optional: false
34187
+ }],
34188
+ "pipelineOrchestrator.setCameraStepOverride": [{
34189
+ name: "deviceId",
34190
+ form: "single",
34191
+ optional: false
34192
+ }],
34193
+ "pipelineOrchestrator.setCameraStepToggle": [{
34194
+ name: "deviceId",
34195
+ form: "single",
34196
+ optional: false
34197
+ }],
34198
+ "pipelineOrchestrator.setCameraSwitch": [{
34199
+ name: "deviceId",
34200
+ form: "single",
34201
+ optional: false
34202
+ }],
34203
+ "pipelineOrchestrator.setPipelineDevicePin": [{
34204
+ name: "deviceId",
34205
+ form: "single",
34206
+ optional: false
34207
+ }],
34208
+ "pipelineOrchestrator.unassignAudio": [{
34209
+ name: "deviceId",
34210
+ form: "single",
34211
+ optional: false
34212
+ }],
34213
+ "pipelineOrchestrator.unassignPipeline": [{
34214
+ name: "deviceId",
34215
+ form: "single",
34216
+ optional: false
34217
+ }],
34218
+ "pipelineRunner.attachCamera": [{
34219
+ name: "deviceId",
34220
+ form: "single",
34221
+ optional: false
34222
+ }],
34223
+ "pipelineRunner.detachCamera": [{
34224
+ name: "deviceId",
34225
+ form: "single",
34226
+ optional: false
34227
+ }],
34228
+ "pipelineRunner.getCameraMetrics": [{
34229
+ name: "deviceId",
34230
+ form: "single",
34231
+ optional: false
34232
+ }],
34233
+ "pipelineRunner.reportMotion": [{
34234
+ name: "deviceId",
34235
+ form: "single",
34236
+ optional: false
34237
+ }],
34238
+ "pipelineRunner.runDetailSubtree": [{
34239
+ name: "deviceId",
34240
+ form: "single",
34241
+ optional: false
34242
+ }],
34243
+ "pipelineRunner.runStatelessStep": [{
34244
+ name: "sourceDeviceId",
34245
+ form: "single",
34246
+ optional: false
34247
+ }],
34248
+ "plateGallery.getPlateByTrack": [{
34249
+ name: "deviceId",
34250
+ form: "single",
34251
+ optional: false
34252
+ }],
34253
+ "plateGallery.listPlates": [{
34254
+ name: "deviceId",
34255
+ form: "single",
34256
+ optional: true
34257
+ }],
34258
+ "privacyMask.getOptions": [{
34259
+ name: "deviceId",
34260
+ form: "single",
34261
+ optional: false
34262
+ }],
34263
+ "privacyMask.setAudioEnabled": [{
34264
+ name: "deviceId",
34265
+ form: "single",
34266
+ optional: false
34267
+ }],
34268
+ "privacyMask.setMask": [{
34269
+ name: "deviceId",
34270
+ form: "single",
34271
+ optional: false
34272
+ }],
34273
+ "ptz.continuousMove": [{
34274
+ name: "deviceId",
34275
+ form: "single",
34276
+ optional: false
34277
+ }],
34278
+ "ptz.deletePreset": [{
34279
+ name: "deviceId",
34280
+ form: "single",
34281
+ optional: false
34282
+ }],
34283
+ "ptz.getOptions": [{
34284
+ name: "deviceId",
34285
+ form: "single",
34286
+ optional: false
34287
+ }],
34288
+ "ptz.getPosition": [{
34289
+ name: "deviceId",
34290
+ form: "single",
34291
+ optional: false
34292
+ }],
34293
+ "ptz.getPresets": [{
34294
+ name: "deviceId",
34295
+ form: "single",
34296
+ optional: false
34297
+ }],
34298
+ "ptz.goHome": [{
34299
+ name: "deviceId",
34300
+ form: "single",
34301
+ optional: false
34302
+ }],
34303
+ "ptz.goToPreset": [{
34304
+ name: "deviceId",
34305
+ form: "single",
34306
+ optional: false
34307
+ }],
34308
+ "ptz.move": [{
34309
+ name: "deviceId",
34310
+ form: "single",
34311
+ optional: false
34312
+ }],
34313
+ "ptz.savePreset": [{
34314
+ name: "deviceId",
34315
+ form: "single",
34316
+ optional: false
34317
+ }],
34318
+ "ptz.setAutofocus": [{
34319
+ name: "deviceId",
34320
+ form: "single",
34321
+ optional: false
34322
+ }],
34323
+ "ptz.stop": [{
34324
+ name: "deviceId",
34325
+ form: "single",
34326
+ optional: false
34327
+ }],
34328
+ "ptzAutotrack.getSettings": [{
34329
+ name: "deviceId",
34330
+ form: "single",
34331
+ optional: false
34332
+ }],
34333
+ "ptzAutotrack.getStatus": [{
34334
+ name: "deviceId",
34335
+ form: "single",
34336
+ optional: false
34337
+ }],
34338
+ "ptzAutotrack.setEnabled": [{
34339
+ name: "deviceId",
34340
+ form: "single",
34341
+ optional: false
34342
+ }],
34343
+ "ptzAutotrack.setSettings": [{
34344
+ name: "deviceId",
34345
+ form: "single",
34346
+ optional: false
34347
+ }],
34348
+ "reboot.reboot": [{
34349
+ name: "deviceId",
34350
+ form: "single",
34351
+ optional: false
34352
+ }],
34353
+ "recording.deleteFootprint": [{
34354
+ name: "deviceId",
34355
+ form: "single",
34356
+ optional: false
34357
+ }],
34358
+ "recording.getAvailability": [{
34359
+ name: "deviceId",
34360
+ form: "single",
34361
+ optional: false
34362
+ }],
34363
+ "recording.getDaysWithRecordings": [{
34364
+ name: "deviceId",
34365
+ form: "single",
34366
+ optional: false
34367
+ }],
34368
+ "recording.getDeviceConfig": [{
34369
+ name: "deviceId",
34370
+ form: "single",
34371
+ optional: false
34372
+ }],
34373
+ "recording.getPlaybackManifest": [{
34374
+ name: "deviceId",
34375
+ form: "single",
34376
+ optional: false
34377
+ }],
34378
+ "recording.listOpsLog": [{
34379
+ name: "deviceId",
34380
+ form: "single",
34381
+ optional: true
34382
+ }],
34383
+ "recording.locateSegment": [{
34384
+ name: "deviceId",
34385
+ form: "single",
34386
+ optional: false
34387
+ }],
34388
+ "recording.pruneFootage": [{
34389
+ name: "deviceId",
34390
+ form: "single",
34391
+ optional: false
34392
+ }],
34393
+ "recording.readGopBytes": [{
34394
+ name: "deviceId",
34395
+ form: "single",
34396
+ optional: false
34397
+ }],
34398
+ "recording.readSegmentBytes": [{
34399
+ name: "deviceId",
34400
+ form: "single",
34401
+ optional: false
34402
+ }],
34403
+ "recording.relocateFootage": [{
34404
+ name: "deviceId",
34405
+ form: "single",
34406
+ optional: true
34407
+ }],
34408
+ "recording.renderClip": [{
34409
+ name: "deviceId",
34410
+ form: "single",
34411
+ optional: false
34412
+ }],
34413
+ "recording.renderGif": [{
34414
+ name: "deviceId",
34415
+ form: "single",
34416
+ optional: false
34417
+ }],
34418
+ "recording.rescanStorage": [{
34419
+ name: "deviceId",
34420
+ form: "single",
34421
+ optional: false
34422
+ }],
34423
+ "recording.setDeviceConfig": [{
34424
+ name: "deviceId",
34425
+ form: "single",
34426
+ optional: false
34427
+ }],
34428
+ "recording.startStorageMigrationMove": [{
34429
+ name: "deviceId",
34430
+ form: "single",
34431
+ optional: true
34432
+ }],
34433
+ "recordingExport.createExport": [{
34434
+ name: "deviceId",
34435
+ form: "single",
34436
+ optional: false
34437
+ }],
34438
+ "recordingExport.listExports": [{
34439
+ name: "deviceId",
34440
+ form: "single",
34441
+ optional: true
34442
+ }],
34443
+ "sceneMonitor.captureReference": [{
34444
+ name: "deviceId",
34445
+ form: "single",
34446
+ optional: false
34447
+ }],
34448
+ "sceneMonitor.createScene": [{
34449
+ name: "deviceId",
34450
+ form: "single",
34451
+ optional: false
34452
+ }],
34453
+ "sceneMonitor.deleteReference": [{
34454
+ name: "deviceId",
34455
+ form: "single",
34456
+ optional: false
34457
+ }],
34458
+ "sceneMonitor.deleteScene": [{
34459
+ name: "deviceId",
34460
+ form: "single",
34461
+ optional: false
34462
+ }],
34463
+ "sceneMonitor.listScenes": [{
34464
+ name: "deviceId",
34465
+ form: "single",
34466
+ optional: false
34467
+ }],
34468
+ "sceneMonitor.recheckNow": [{
34469
+ name: "deviceId",
34470
+ form: "single",
34471
+ optional: false
34472
+ }],
34473
+ "sceneMonitor.updateScene": [{
34474
+ name: "deviceId",
34475
+ form: "single",
34476
+ optional: false
34477
+ }],
34478
+ "scriptRunner.run": [{
34479
+ name: "deviceId",
34480
+ form: "single",
34481
+ optional: false
34482
+ }],
34483
+ "scriptRunner.stop": [{
34484
+ name: "deviceId",
34485
+ form: "single",
34486
+ optional: false
34487
+ }],
34488
+ "snapshot.getSnapshot": [{
34489
+ name: "deviceId",
34490
+ form: "single",
34491
+ optional: false
34492
+ }],
34493
+ "snapshot.getSnapshotOverview": [{
34494
+ name: "deviceIds",
34495
+ form: "array",
34496
+ optional: false
34497
+ }],
34498
+ "snapshot.invalidateCache": [{
34499
+ name: "deviceId",
34500
+ form: "single",
34501
+ optional: false
34502
+ }],
34503
+ "streamBroker.acquireEgressTranscode": [{
34504
+ name: "deviceId",
34505
+ form: "single",
34506
+ optional: false
34507
+ }],
34508
+ "streamBroker.assignProfile": [{
34509
+ name: "deviceId",
34510
+ form: "single",
34511
+ optional: false
34512
+ }],
34513
+ "streamBroker.getDeviceAudioMute": [{
34514
+ name: "deviceId",
34515
+ form: "single",
34516
+ optional: false
34517
+ }],
34518
+ "streamBroker.getStreamWithCodec": [{
34519
+ name: "deviceId",
34520
+ form: "single",
34521
+ optional: false
34522
+ }],
34523
+ "streamBroker.produceEventMedia": [{
34524
+ name: "deviceId",
34525
+ form: "single",
34526
+ optional: false
34527
+ }],
34528
+ "streamBroker.publishCameraStream": [{
34529
+ name: "deviceId",
34530
+ form: "single",
34531
+ optional: false
34532
+ }],
34533
+ "streamBroker.renderPreBufferClip": [{
34534
+ name: "deviceId",
34535
+ form: "single",
34536
+ optional: false
34537
+ }],
34538
+ "streamBroker.restartProfile": [{
34539
+ name: "deviceId",
34540
+ form: "single",
34541
+ optional: false
34542
+ }],
34543
+ "streamBroker.retractCameraStream": [{
34544
+ name: "deviceId",
34545
+ form: "single",
34546
+ optional: false
34547
+ }],
34548
+ "streamBroker.setDeviceAudioMute": [{
34549
+ name: "deviceId",
34550
+ form: "single",
34551
+ optional: false
34552
+ }],
34553
+ "streamBroker.unassignProfile": [{
34554
+ name: "deviceId",
34555
+ form: "single",
34556
+ optional: false
34557
+ }],
34558
+ "streamCatalog.getCatalog": [{
34559
+ name: "deviceId",
34560
+ form: "single",
34561
+ optional: false
34562
+ }],
34563
+ "streamParams.getConfigSchema": [{
34564
+ name: "deviceId",
34565
+ form: "single",
34566
+ optional: false
34567
+ }],
34568
+ "streamParams.getOptions": [{
34569
+ name: "deviceId",
34570
+ form: "single",
34571
+ optional: false
34572
+ }],
34573
+ "streamParams.setProfile": [{
34574
+ name: "deviceId",
34575
+ form: "single",
34576
+ optional: false
34577
+ }],
34578
+ "switch.setState": [{
34579
+ name: "deviceId",
34580
+ form: "single",
34581
+ optional: false
34582
+ }],
34583
+ "vacuumControl.locate": [{
34584
+ name: "deviceId",
34585
+ form: "single",
34586
+ optional: false
34587
+ }],
34588
+ "vacuumControl.pause": [{
34589
+ name: "deviceId",
34590
+ form: "single",
34591
+ optional: false
34592
+ }],
34593
+ "vacuumControl.returnToBase": [{
34594
+ name: "deviceId",
34595
+ form: "single",
34596
+ optional: false
34597
+ }],
34598
+ "vacuumControl.setFanSpeed": [{
34599
+ name: "deviceId",
34600
+ form: "single",
34601
+ optional: false
34602
+ }],
34603
+ "vacuumControl.start": [{
34604
+ name: "deviceId",
34605
+ form: "single",
34606
+ optional: false
34607
+ }],
34608
+ "vacuumControl.stop": [{
34609
+ name: "deviceId",
34610
+ form: "single",
34611
+ optional: false
34612
+ }],
34613
+ "valve.close": [{
34614
+ name: "deviceId",
34615
+ form: "single",
34616
+ optional: false
34617
+ }],
34618
+ "valve.open": [{
34619
+ name: "deviceId",
34620
+ form: "single",
34621
+ optional: false
34622
+ }],
34623
+ "valve.setPosition": [{
34624
+ name: "deviceId",
34625
+ form: "single",
34626
+ optional: false
34627
+ }],
34628
+ "valve.stop": [{
34629
+ name: "deviceId",
34630
+ form: "single",
34631
+ optional: false
34632
+ }],
34633
+ "videoclips.getClipPlayback": [{
34634
+ name: "deviceId",
34635
+ form: "single",
34636
+ optional: false
34637
+ }],
34638
+ "videoclips.listClips": [{
34639
+ name: "deviceId",
34640
+ form: "single",
34641
+ optional: false
34642
+ }],
34643
+ "waterHeater.setAway": [{
34644
+ name: "deviceId",
34645
+ form: "single",
34646
+ optional: false
34647
+ }],
34648
+ "waterHeater.setOperationMode": [{
34649
+ name: "deviceId",
34650
+ form: "single",
34651
+ optional: false
34652
+ }],
34653
+ "waterHeater.setTargetTemp": [{
34654
+ name: "deviceId",
34655
+ form: "single",
34656
+ optional: false
34657
+ }],
34658
+ "webrtcSession.addIceCandidate": [{
34659
+ name: "deviceId",
34660
+ form: "single",
34661
+ optional: false
34662
+ }],
34663
+ "webrtcSession.closeSession": [{
34664
+ name: "deviceId",
34665
+ form: "single",
34666
+ optional: false
34667
+ }],
34668
+ "webrtcSession.createSession": [{
34669
+ name: "deviceId",
34670
+ form: "single",
34671
+ optional: false
34672
+ }],
34673
+ "webrtcSession.getIceCandidates": [{
34674
+ name: "deviceId",
34675
+ form: "single",
34676
+ optional: false
34677
+ }],
34678
+ "webrtcSession.getSessionState": [{
34679
+ name: "deviceId",
34680
+ form: "single",
34681
+ optional: false
34682
+ }],
34683
+ "webrtcSession.handleAnswer": [{
34684
+ name: "deviceId",
34685
+ form: "single",
34686
+ optional: false
34687
+ }],
34688
+ "webrtcSession.handleOffer": [{
34689
+ name: "deviceId",
34690
+ form: "single",
34691
+ optional: false
34692
+ }],
34693
+ "webrtcSession.hasAdaptiveBitrate": [{
34694
+ name: "deviceId",
34695
+ form: "single",
34696
+ optional: false
34697
+ }],
34698
+ "webrtcSession.listStreams": [{
34699
+ name: "deviceId",
34700
+ form: "single",
34701
+ optional: false
34702
+ }],
34703
+ "zoneAnalytics.getCameraHistory": [{
34704
+ name: "deviceId",
34705
+ form: "single",
34706
+ optional: false
34707
+ }],
34708
+ "zoneAnalytics.getCurrentSnapshot": [{
34709
+ name: "deviceId",
34710
+ form: "single",
34711
+ optional: false
34712
+ }],
34713
+ "zoneAnalytics.getUnzonedHistory": [{
34714
+ name: "deviceId",
34715
+ form: "single",
34716
+ optional: false
34717
+ }],
34718
+ "zoneAnalytics.getZoneHistory": [{
34719
+ name: "deviceId",
34720
+ form: "single",
34721
+ optional: false
34722
+ }],
34723
+ "zoneRules.listRules": [{
34724
+ name: "deviceId",
34725
+ form: "single",
34726
+ optional: false
34727
+ }],
34728
+ "zoneRules.setRules": [{
34729
+ name: "deviceId",
34730
+ form: "single",
34731
+ optional: false
34732
+ }],
34733
+ "zones.addZone": [{
34734
+ name: "deviceId",
34735
+ form: "single",
34736
+ optional: false
34737
+ }],
34738
+ "zones.listZones": [{
34739
+ name: "deviceId",
34740
+ form: "single",
34741
+ optional: false
34742
+ }],
34743
+ "zones.removeZone": [{
34744
+ name: "deviceId",
34745
+ form: "single",
34746
+ optional: false
34747
+ }],
34748
+ "zones.updateZone": [{
34749
+ name: "deviceId",
34750
+ form: "single",
34751
+ optional: false
34752
+ }]
34753
+ });
32916
34754
  Object.freeze({
32917
34755
  "broker": "broker",
32918
34756
  "device-export": "device-export",