@camstack/addon-pipeline-orchestrator 1.2.275 → 1.2.277

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (20) hide show
  1. package/assets/viewer/.viewer-current-files.json +6 -6
  2. package/assets/viewer/.viewer-version +1 -1
  3. package/assets/viewer/_expo/static/js/web/{index-ec729a36dbd732531b7d6e68f9c3faca.js → index-195a5e67b9a83bf9a418cc6b57830106.js} +37 -37
  4. package/assets/viewer/_expo/static/js/web/{index-433d31e04c2d44de395b0c0364df6667.js → index-87f81fc67bc0ebb1b0ad8b862af7d201.js} +3 -3
  5. package/assets/viewer/embed/assets/{MaskShapeCanvas-DI4BY7W2-DsCbcipt.js → MaskShapeCanvas-DI4BY7W2-Doi1xfUg.js} +1 -1
  6. package/assets/viewer/embed/assets/{MotionZonesSettings-DHDfnZyU-GeGLyksj.js → MotionZonesSettings-DHDfnZyU-B5A7WW9h.js} +1 -1
  7. package/assets/viewer/embed/assets/{PrivacyMaskSettings-DMkchqO1-Dti8nYBB.js → PrivacyMaskSettings-DMkchqO1-BdKgIiC9.js} +1 -1
  8. package/assets/viewer/embed/assets/{SceneMonitorEditor-vfWTm6qv-CXBZ1vn-.js → SceneMonitorEditor-vfWTm6qv-D77gC5R7.js} +1 -1
  9. package/assets/viewer/embed/assets/{index-BhxCbt6I.js → index-CICsBSxp.js} +4 -4
  10. package/assets/viewer/embed/index.html +1 -1
  11. package/assets/viewer/index.html +1 -1
  12. package/dist/_stub.js +1 -1
  13. package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_orchestrator_widgets-CCWPKb-T.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_orchestrator_widgets-pibrKGpJ.mjs} +1 -1
  14. package/dist/_virtual_mf___mfe_internal__addon_pipeline_orchestrator_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BB0RKuIQ.mjs +26 -0
  15. package/dist/{hostInit-4DkhYyNP.mjs → hostInit-BL7QxjHO.mjs} +1 -1
  16. package/dist/index.js +523 -79
  17. package/dist/index.mjs +523 -79
  18. package/dist/remoteEntry.js +1 -1
  19. package/package.json +1 -1
  20. package/dist/_virtual_mf___mfe_internal__addon_pipeline_orchestrator_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-QKm7DPIe.mjs +0 -26
package/dist/index.mjs CHANGED
@@ -20365,78 +20365,16 @@ var NcRuleInputSchema = object({
20365
20365
  */
20366
20366
  confirm: NcConfirmSchema.optional(),
20367
20367
  /**
20368
- * WAIT for face/plate recognition before saying anything.
20369
- *
20370
- * A notification's TEXT is frozen at enqueue and its media is re-resolved at
20371
- * send; the identity is neither. A face is confirmed after `confirmFrames`
20372
- * agreeing observations — p50 **11.4 s** after the track was first seen,
20373
- * measured on this hub — and an `immediate` rule enqueues on the first object
20374
- * event, seconds before that. So "Gianluca è arrivato" is unsayable on the
20375
- * immediate path, and no amount of media re-resolution fixes a sentence.
20376
- *
20377
- * Only two honest answers exist, and this flag picks between them. It has
20378
- * effect ONLY on a rule that declares a recognition scope
20379
- * ({@link NcConditions.identities} or {@link NcConditions.plates}) — on any
20380
- * other rule there is nothing to wait for and the flag is inert.
20381
- *
20382
- * | value | what happens |
20383
- * | --- | --- |
20384
- * | `true` | the rule stops firing on the object event and fires at TRACK CLOSE instead, once, with the name — later, and complete |
20385
- * | 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) |
20386
- *
20387
- * `.optional()` and deliberately NOT `.default()`: a Zod default does not run
20388
- * on the addon cap path, and absent has to keep meaning exactly what every
20389
- * rule authored before this field meant.
20390
- *
20391
- * The cost of `true` is stated here because the editor states it too: a rule
20392
- * that waits also inherits track-close SEMANTICS — its `zones` condition
20393
- * tests every zone the track visited and a `crossing` condition can no longer
20394
- * be satisfied, because a closed track carries no crossing.
20368
+ * IMMEDIATE GROUPED (D692): the first matching subject opens a window of this many
20369
+ * seconds; the rule sends ONE message when the window closes — early, once every
20370
+ * subject in it is final, never before {@link NC_GROUPING_MIN_SEC} — naming everybody
20371
+ * the rule matched, with one mosaic tile per subject.
20372
+ * Absent = plain immediate (one message per track, at the first match).
20373
+ * Only an `immediate` DETECTION rule may carry it (`ruleGroupingApplies`, enforced on
20374
+ * save by the hub's grouping guard). `.optional()`, never `.default()`: the addon cap
20375
+ * path does not run Zod defaults.
20395
20376
  */
20396
- waitForEnhancement: boolean().optional(),
20397
- /**
20398
- * GROUP a burst of subjects into ONE notification that grows.
20399
- *
20400
- * Seconds of quiet after the last matching subject before the burst is
20401
- * considered over. While it is open, the first subject enqueues immediately —
20402
- * **exactly as today, with no added latency** — and every real growth (a new
20403
- * subject, or a name confirmed on one already in it) REPLACES that
20404
- * notification with an updated one naming everybody. The push carries the
20405
- * group's own coalescing tag, so the phone replaces rather than stacks.
20406
- *
20407
- * `0` / absent = off, and off is today's behaviour byte for byte.
20408
- *
20409
- * ### Why an idle cutoff and not a window
20410
- *
20411
- * The measured seven-person arrival on device 590 spans 110 s with every
20412
- * internal gap under 30 s. A 12 s fixed window cuts it into three groups; an
20413
- * idle cutoff holds it as one and ends it when the arrival actually ends.
20414
- * 30 s is a widely shipped value for the same decision.
20415
- *
20416
- * ### What it replaces
20417
- *
20418
- * The blind cooldown, which collapses a burst by DISCARDING it. Measured on
20419
- * device 615 / *Persona su Uscio* over six days: 116 qualifying tracks → 74
20420
- * notifications, **44 (37.9%) suppressed outright**, 23 of them overlapping a
20421
- * track that did fire and 7 carrying a confirmed identity nobody heard about.
20422
- * A group collapses the same volume by MERGING, so the cooldown becomes a
20423
- * budget over GROUPS — which is what it always meant — and a growth is never
20424
- * throttled by the window its own first member spent.
20425
- *
20426
- * ### Interaction with {@link waitForEnhancement}
20427
- *
20428
- * They compose, and the order matters. `waitForEnhancement` defers the rule to
20429
- * TRACK CLOSE, so with both set the group is opened by the first member to
20430
- * CLOSE — already carrying its name — and grows as later members close. That
20431
- * is later, and complete. With grouping alone the group opens on the first
20432
- * object event and picks up names as they are confirmed, through the growth
20433
- * path. Neither combination fires twice for one subject.
20434
- *
20435
- * `.optional()` and deliberately NOT `.default()`: a Zod default does not run
20436
- * on the addon cap path, so absent must keep meaning what it meant before this
20437
- * field existed.
20438
- */
20439
- groupIdleSec: number().int().min(0).max(600).optional()
20377
+ groupingSec: number().int().min(5).max(60).optional()
20440
20378
  });
20441
20379
  /**
20442
20380
  * Partial patch for `updateRule` — any subset of the input fields, plus the
@@ -20484,9 +20422,10 @@ var NcRuleClearableKeySchema = _enum([
20484
20422
  "targetUsers",
20485
20423
  "snoozeOptions",
20486
20424
  "snoozeAllowGlobal",
20487
- "waitForEnhancement",
20488
20425
  "actions",
20489
20426
  "confirm",
20427
+ "groupingSec",
20428
+ "waitForEnhancement",
20490
20429
  "groupIdleSec"
20491
20430
  ]);
20492
20431
  var NcRuleUpdateInputSchema = object({
@@ -46266,6 +46205,11 @@ Object.freeze({
46266
46205
  }
46267
46206
  });
46268
46207
  Object.freeze({
46208
+ "accessories.getStatus": [{
46209
+ name: "deviceId",
46210
+ form: "single",
46211
+ optional: false
46212
+ }],
46269
46213
  "accessories.setChildHidden": [{
46270
46214
  name: "childDeviceId",
46271
46215
  form: "single",
@@ -46285,6 +46229,11 @@ Object.freeze({
46285
46229
  form: "single",
46286
46230
  optional: false
46287
46231
  }],
46232
+ "airQualitySensor.getStatus": [{
46233
+ name: "deviceId",
46234
+ form: "single",
46235
+ optional: false
46236
+ }],
46288
46237
  "alarmPanel.arm": [{
46289
46238
  name: "deviceId",
46290
46239
  form: "single",
@@ -46295,11 +46244,36 @@ Object.freeze({
46295
46244
  form: "single",
46296
46245
  optional: false
46297
46246
  }],
46247
+ "alarmPanel.getStatus": [{
46248
+ name: "deviceId",
46249
+ form: "single",
46250
+ optional: false
46251
+ }],
46298
46252
  "alarmPanel.trigger": [{
46299
46253
  name: "deviceId",
46300
46254
  form: "single",
46301
46255
  optional: false
46302
46256
  }],
46257
+ "ambientLightSensor.getStatus": [{
46258
+ name: "deviceId",
46259
+ form: "single",
46260
+ optional: false
46261
+ }],
46262
+ "audioAnalysis.applyDeviceSettingsPatch": [{
46263
+ name: "deviceId",
46264
+ form: "single",
46265
+ optional: false
46266
+ }],
46267
+ "audioAnalysis.getDeviceLiveContribution": [{
46268
+ name: "deviceId",
46269
+ form: "single",
46270
+ optional: false
46271
+ }],
46272
+ "audioAnalysis.getDeviceSettingsContribution": [{
46273
+ name: "deviceId",
46274
+ form: "single",
46275
+ optional: false
46276
+ }],
46303
46277
  "audioAnalysis.resolveDeviceSettings": [{
46304
46278
  name: "deviceId",
46305
46279
  form: "single",
@@ -46340,16 +46314,36 @@ Object.freeze({
46340
46314
  form: "single",
46341
46315
  optional: false
46342
46316
  }],
46317
+ "automationControl.getStatus": [{
46318
+ name: "deviceId",
46319
+ form: "single",
46320
+ optional: false
46321
+ }],
46343
46322
  "automationControl.trigger": [{
46344
46323
  name: "deviceId",
46345
46324
  form: "single",
46346
46325
  optional: false
46347
46326
  }],
46327
+ "battery.getStatus": [{
46328
+ name: "deviceId",
46329
+ form: "single",
46330
+ optional: false
46331
+ }],
46348
46332
  "battery.wakeForStream": [{
46349
46333
  name: "deviceId",
46350
46334
  form: "single",
46351
46335
  optional: false
46352
46336
  }],
46337
+ "binary.getStatus": [{
46338
+ name: "deviceId",
46339
+ form: "single",
46340
+ optional: false
46341
+ }],
46342
+ "brightness.getStatus": [{
46343
+ name: "deviceId",
46344
+ form: "single",
46345
+ optional: false
46346
+ }],
46353
46347
  "brightness.setBrightness": [{
46354
46348
  name: "deviceId",
46355
46349
  form: "single",
@@ -46365,6 +46359,26 @@ Object.freeze({
46365
46359
  form: "single",
46366
46360
  optional: false
46367
46361
  }],
46362
+ "cameraCredentials.getStatus": [{
46363
+ name: "deviceId",
46364
+ form: "single",
46365
+ optional: false
46366
+ }],
46367
+ "cameraGridLayout.applyDeviceSettingsPatch": [{
46368
+ name: "deviceId",
46369
+ form: "single",
46370
+ optional: false
46371
+ }],
46372
+ "cameraGridLayout.getDeviceLiveContribution": [{
46373
+ name: "deviceId",
46374
+ form: "single",
46375
+ optional: false
46376
+ }],
46377
+ "cameraGridLayout.getDeviceSettingsContribution": [{
46378
+ name: "deviceId",
46379
+ form: "single",
46380
+ optional: false
46381
+ }],
46368
46382
  "cameraGridLayout.getLayout": [{
46369
46383
  name: "deviceId",
46370
46384
  form: "single",
@@ -46380,6 +46394,21 @@ Object.freeze({
46380
46394
  form: "single",
46381
46395
  optional: false
46382
46396
  }],
46397
+ "cameraPipelineConfig.applyDeviceSettingsPatch": [{
46398
+ name: "deviceId",
46399
+ form: "single",
46400
+ optional: false
46401
+ }],
46402
+ "cameraPipelineConfig.getDeviceLiveContribution": [{
46403
+ name: "deviceId",
46404
+ form: "single",
46405
+ optional: false
46406
+ }],
46407
+ "cameraPipelineConfig.getDeviceSettingsContribution": [{
46408
+ name: "deviceId",
46409
+ form: "single",
46410
+ optional: false
46411
+ }],
46383
46412
  "cameraStreams.getBrokerStreams": [{
46384
46413
  name: "deviceId",
46385
46414
  form: "single",
@@ -46405,6 +46434,16 @@ Object.freeze({
46405
46434
  form: "single",
46406
46435
  optional: false
46407
46436
  }],
46437
+ "carbonMonoxide.getStatus": [{
46438
+ name: "deviceId",
46439
+ form: "single",
46440
+ optional: false
46441
+ }],
46442
+ "climateControl.getStatus": [{
46443
+ name: "deviceId",
46444
+ form: "single",
46445
+ optional: false
46446
+ }],
46408
46447
  "climateControl.setFanMode": [{
46409
46448
  name: "deviceId",
46410
46449
  form: "single",
@@ -46445,16 +46484,41 @@ Object.freeze({
46445
46484
  form: "single",
46446
46485
  optional: false
46447
46486
  }],
46487
+ "color.getStatus": [{
46488
+ name: "deviceId",
46489
+ form: "single",
46490
+ optional: false
46491
+ }],
46448
46492
  "color.setColor": [{
46449
46493
  name: "deviceId",
46450
46494
  form: "single",
46451
46495
  optional: false
46452
46496
  }],
46497
+ "connectivity.getStatus": [{
46498
+ name: "deviceId",
46499
+ form: "single",
46500
+ optional: false
46501
+ }],
46502
+ "consumables.getStatus": [{
46503
+ name: "deviceId",
46504
+ form: "single",
46505
+ optional: false
46506
+ }],
46453
46507
  "consumables.reset": [{
46454
46508
  name: "deviceId",
46455
46509
  form: "single",
46456
46510
  optional: false
46457
46511
  }],
46512
+ "contact.getStatus": [{
46513
+ name: "deviceId",
46514
+ form: "single",
46515
+ optional: false
46516
+ }],
46517
+ "control.getStatus": [{
46518
+ name: "deviceId",
46519
+ form: "single",
46520
+ optional: false
46521
+ }],
46458
46522
  "control.setValue": [{
46459
46523
  name: "deviceId",
46460
46524
  form: "single",
@@ -46465,6 +46529,11 @@ Object.freeze({
46465
46529
  form: "single",
46466
46530
  optional: false
46467
46531
  }],
46532
+ "cover.getStatus": [{
46533
+ name: "deviceId",
46534
+ form: "single",
46535
+ optional: false
46536
+ }],
46468
46537
  "cover.open": [{
46469
46538
  name: "deviceId",
46470
46539
  form: "single",
@@ -46490,6 +46559,11 @@ Object.freeze({
46490
46559
  form: "single",
46491
46560
  optional: false
46492
46561
  }],
46562
+ "dayNight.getStatus": [{
46563
+ name: "deviceId",
46564
+ form: "single",
46565
+ optional: false
46566
+ }],
46493
46567
  "dayNight.setSettings": [{
46494
46568
  name: "deviceId",
46495
46569
  form: "single",
@@ -46500,11 +46574,31 @@ Object.freeze({
46500
46574
  form: "single",
46501
46575
  optional: true
46502
46576
  }],
46577
+ "detectionPipeline.applyDeviceSettingsPatch": [{
46578
+ name: "deviceId",
46579
+ form: "single",
46580
+ optional: false
46581
+ }],
46582
+ "detectionPipeline.getDeviceLiveContribution": [{
46583
+ name: "deviceId",
46584
+ form: "single",
46585
+ optional: false
46586
+ }],
46587
+ "detectionPipeline.getDeviceSettingsContribution": [{
46588
+ name: "deviceId",
46589
+ form: "single",
46590
+ optional: false
46591
+ }],
46503
46592
  "deviceAdminLink.getAdminLink": [{
46504
46593
  name: "deviceId",
46505
46594
  form: "single",
46506
46595
  optional: false
46507
46596
  }],
46597
+ "deviceAdoption.getStatus": [{
46598
+ name: "deviceId",
46599
+ form: "single",
46600
+ optional: false
46601
+ }],
46508
46602
  "deviceAdoption.release": [{
46509
46603
  name: "camDeviceId",
46510
46604
  form: "single",
@@ -46520,6 +46614,11 @@ Object.freeze({
46520
46614
  form: "single",
46521
46615
  optional: false
46522
46616
  }],
46617
+ "deviceDiscovery.getStatus": [{
46618
+ name: "deviceId",
46619
+ form: "single",
46620
+ optional: false
46621
+ }],
46523
46622
  "deviceDiscovery.listDiscovered": [{
46524
46623
  name: "deviceId",
46525
46624
  form: "single",
@@ -46539,6 +46638,21 @@ Object.freeze({
46539
46638
  form: "single",
46540
46639
  optional: false
46541
46640
  }],
46641
+ "deviceExport.applyDeviceSettingsPatch": [{
46642
+ name: "deviceId",
46643
+ form: "single",
46644
+ optional: false
46645
+ }],
46646
+ "deviceExport.getDeviceLiveContribution": [{
46647
+ name: "deviceId",
46648
+ form: "single",
46649
+ optional: false
46650
+ }],
46651
+ "deviceExport.getDeviceSettingsContribution": [{
46652
+ name: "deviceId",
46653
+ form: "single",
46654
+ optional: false
46655
+ }],
46542
46656
  "deviceExtension.listCandidates": [{
46543
46657
  name: "deviceId",
46544
46658
  form: "single",
@@ -46887,6 +47001,26 @@ Object.freeze({
46887
47001
  form: "single",
46888
47002
  optional: false
46889
47003
  }],
47004
+ "deviceStatus.getStatus": [{
47005
+ name: "deviceId",
47006
+ form: "single",
47007
+ optional: false
47008
+ }],
47009
+ "doorbell.getStatus": [{
47010
+ name: "deviceId",
47011
+ form: "single",
47012
+ optional: false
47013
+ }],
47014
+ "enumSensor.getStatus": [{
47015
+ name: "deviceId",
47016
+ form: "single",
47017
+ optional: false
47018
+ }],
47019
+ "eventEmitter.getStatus": [{
47020
+ name: "deviceId",
47021
+ form: "single",
47022
+ optional: false
47023
+ }],
46890
47024
  "faceGallery.getFaceByTrack": [{
46891
47025
  name: "deviceId",
46892
47026
  form: "single",
@@ -46901,6 +47035,11 @@ Object.freeze({
46901
47035
  form: "array",
46902
47036
  optional: true
46903
47037
  }],
47038
+ "fanControl.getStatus": [{
47039
+ name: "deviceId",
47040
+ form: "single",
47041
+ optional: false
47042
+ }],
46904
47043
  "fanControl.setDirection": [{
46905
47044
  name: "deviceId",
46906
47045
  form: "single",
@@ -46921,6 +47060,26 @@ Object.freeze({
46921
47060
  form: "single",
46922
47061
  optional: false
46923
47062
  }],
47063
+ "featureProbe.getStatus": [{
47064
+ name: "deviceId",
47065
+ form: "single",
47066
+ optional: false
47067
+ }],
47068
+ "flood.getStatus": [{
47069
+ name: "deviceId",
47070
+ form: "single",
47071
+ optional: false
47072
+ }],
47073
+ "gas.getStatus": [{
47074
+ name: "deviceId",
47075
+ form: "single",
47076
+ optional: false
47077
+ }],
47078
+ "humidifier.getStatus": [{
47079
+ name: "deviceId",
47080
+ form: "single",
47081
+ optional: false
47082
+ }],
46924
47083
  "humidifier.setMode": [{
46925
47084
  name: "deviceId",
46926
47085
  form: "single",
@@ -46936,11 +47095,26 @@ Object.freeze({
46936
47095
  form: "single",
46937
47096
  optional: false
46938
47097
  }],
47098
+ "humiditySensor.getStatus": [{
47099
+ name: "deviceId",
47100
+ form: "single",
47101
+ optional: false
47102
+ }],
47103
+ "image.getStatus": [{
47104
+ name: "deviceId",
47105
+ form: "single",
47106
+ optional: false
47107
+ }],
46939
47108
  "imageSettings.getOptions": [{
46940
47109
  name: "deviceId",
46941
47110
  form: "single",
46942
47111
  optional: false
46943
47112
  }],
47113
+ "imageSettings.getStatus": [{
47114
+ name: "deviceId",
47115
+ form: "single",
47116
+ optional: false
47117
+ }],
46944
47118
  "imageSettings.setSettings": [{
46945
47119
  name: "deviceId",
46946
47120
  form: "single",
@@ -46951,6 +47125,11 @@ Object.freeze({
46951
47125
  form: "single",
46952
47126
  optional: false
46953
47127
  }],
47128
+ "intercom.getStatus": [{
47129
+ name: "deviceId",
47130
+ form: "single",
47131
+ optional: false
47132
+ }],
46954
47133
  "intercom.handleAnswer": [{
46955
47134
  name: "deviceId",
46956
47135
  form: "single",
@@ -46981,6 +47160,11 @@ Object.freeze({
46981
47160
  form: "single",
46982
47161
  optional: false
46983
47162
  }],
47163
+ "lawnMowerControl.getStatus": [{
47164
+ name: "deviceId",
47165
+ form: "single",
47166
+ optional: false
47167
+ }],
46984
47168
  "lawnMowerControl.pause": [{
46985
47169
  name: "deviceId",
46986
47170
  form: "single",
@@ -46991,6 +47175,11 @@ Object.freeze({
46991
47175
  form: "single",
46992
47176
  optional: false
46993
47177
  }],
47178
+ "lockControl.getStatus": [{
47179
+ name: "deviceId",
47180
+ form: "single",
47181
+ optional: false
47182
+ }],
46994
47183
  "lockControl.lock": [{
46995
47184
  name: "deviceId",
46996
47185
  form: "single",
@@ -47006,6 +47195,11 @@ Object.freeze({
47006
47195
  form: "single",
47007
47196
  optional: false
47008
47197
  }],
47198
+ "mediaPlayer.getStatus": [{
47199
+ name: "deviceId",
47200
+ form: "single",
47201
+ optional: false
47202
+ }],
47009
47203
  "mediaPlayer.next": [{
47010
47204
  name: "deviceId",
47011
47205
  form: "single",
@@ -47066,6 +47260,11 @@ Object.freeze({
47066
47260
  form: "single",
47067
47261
  optional: false
47068
47262
  }],
47263
+ "motion.getStatus": [{
47264
+ name: "deviceId",
47265
+ form: "single",
47266
+ optional: false
47267
+ }],
47069
47268
  "motion.isDetected": [{
47070
47269
  name: "deviceId",
47071
47270
  form: "single",
@@ -47076,11 +47275,31 @@ Object.freeze({
47076
47275
  form: "single",
47077
47276
  optional: false
47078
47277
  }],
47278
+ "motionDetection.applyDeviceSettingsPatch": [{
47279
+ name: "deviceId",
47280
+ form: "single",
47281
+ optional: false
47282
+ }],
47283
+ "motionDetection.getDeviceLiveContribution": [{
47284
+ name: "deviceId",
47285
+ form: "single",
47286
+ optional: false
47287
+ }],
47288
+ "motionDetection.getDeviceSettingsContribution": [{
47289
+ name: "deviceId",
47290
+ form: "single",
47291
+ optional: false
47292
+ }],
47079
47293
  "motionDetection.removeCamera": [{
47080
47294
  name: "deviceId",
47081
47295
  form: "single",
47082
47296
  optional: false
47083
47297
  }],
47298
+ "motionTrigger.getStatus": [{
47299
+ name: "deviceId",
47300
+ form: "single",
47301
+ optional: false
47302
+ }],
47084
47303
  "motionTrigger.setMotionTrigger": [{
47085
47304
  name: "deviceId",
47086
47305
  form: "single",
@@ -47091,6 +47310,11 @@ Object.freeze({
47091
47310
  form: "single",
47092
47311
  optional: false
47093
47312
  }],
47313
+ "motionZones.getStatus": [{
47314
+ name: "deviceId",
47315
+ form: "single",
47316
+ optional: false
47317
+ }],
47094
47318
  "motionZones.setZone": [{
47095
47319
  name: "deviceId",
47096
47320
  form: "single",
@@ -47101,6 +47325,11 @@ Object.freeze({
47101
47325
  form: "single",
47102
47326
  optional: false
47103
47327
  }],
47328
+ "nativeObjectDetection.getStatus": [{
47329
+ name: "deviceId",
47330
+ form: "single",
47331
+ optional: false
47332
+ }],
47104
47333
  "nativeObjectDetection.setEnabled": [{
47105
47334
  name: "deviceId",
47106
47335
  form: "single",
@@ -47116,6 +47345,11 @@ Object.freeze({
47116
47345
  form: "single",
47117
47346
  optional: false
47118
47347
  }],
47348
+ "navigation.getStatus": [{
47349
+ name: "deviceId",
47350
+ form: "single",
47351
+ optional: false
47352
+ }],
47119
47353
  "navigation.goToPoint": [{
47120
47354
  name: "deviceId",
47121
47355
  form: "single",
@@ -47161,6 +47395,11 @@ Object.freeze({
47161
47395
  form: "single",
47162
47396
  optional: false
47163
47397
  }],
47398
+ "networkLink.getStatus": [{
47399
+ name: "deviceId",
47400
+ form: "single",
47401
+ optional: false
47402
+ }],
47164
47403
  "networkQuality.getDeviceStats": [{
47165
47404
  name: "deviceId",
47166
47405
  form: "single",
@@ -47186,11 +47425,26 @@ Object.freeze({
47186
47425
  form: "single",
47187
47426
  optional: false
47188
47427
  }],
47428
+ "notifier.getStatus": [{
47429
+ name: "deviceId",
47430
+ form: "single",
47431
+ optional: false
47432
+ }],
47189
47433
  "notifier.send": [{
47190
47434
  name: "deviceId",
47191
47435
  form: "single",
47192
47436
  optional: false
47193
47437
  }],
47438
+ "numericSensor.getStatus": [{
47439
+ name: "deviceId",
47440
+ form: "single",
47441
+ optional: false
47442
+ }],
47443
+ "osd.getStatus": [{
47444
+ name: "deviceId",
47445
+ form: "single",
47446
+ optional: false
47447
+ }],
47194
47448
  "osd.setOverlay": [{
47195
47449
  name: "deviceId",
47196
47450
  form: "single",
@@ -47250,6 +47504,11 @@ Object.freeze({
47250
47504
  form: "single",
47251
47505
  optional: false
47252
47506
  }],
47507
+ "petFeeder.getStatus": [{
47508
+ name: "deviceId",
47509
+ form: "single",
47510
+ optional: false
47511
+ }],
47253
47512
  "petFeeder.markFoodReplenished": [{
47254
47513
  name: "deviceId",
47255
47514
  form: "single",
@@ -47285,6 +47544,11 @@ Object.freeze({
47285
47544
  form: "single",
47286
47545
  optional: false
47287
47546
  }],
47547
+ "pipelineAnalytics.applyDeviceSettingsPatch": [{
47548
+ name: "deviceId",
47549
+ form: "single",
47550
+ optional: false
47551
+ }],
47288
47552
  "pipelineAnalytics.clearTrackRelation": [{
47289
47553
  name: "deviceId",
47290
47554
  form: "single",
@@ -47325,6 +47589,16 @@ Object.freeze({
47325
47589
  form: "single",
47326
47590
  optional: false
47327
47591
  }],
47592
+ "pipelineAnalytics.getDeviceLiveContribution": [{
47593
+ name: "deviceId",
47594
+ form: "single",
47595
+ optional: false
47596
+ }],
47597
+ "pipelineAnalytics.getDeviceSettingsContribution": [{
47598
+ name: "deviceId",
47599
+ form: "single",
47600
+ optional: false
47601
+ }],
47328
47602
  "pipelineAnalytics.getEventDensity": [{
47329
47603
  name: "deviceId",
47330
47604
  form: "single",
@@ -47540,6 +47814,11 @@ Object.freeze({
47540
47814
  form: "single",
47541
47815
  optional: true
47542
47816
  }],
47817
+ "pipelineOrchestrator.applyDeviceSettingsPatch": [{
47818
+ name: "deviceId",
47819
+ form: "single",
47820
+ optional: false
47821
+ }],
47543
47822
  "pipelineOrchestrator.assignAudio": [{
47544
47823
  name: "deviceId",
47545
47824
  form: "single",
@@ -47585,6 +47864,16 @@ Object.freeze({
47585
47864
  form: "single",
47586
47865
  optional: false
47587
47866
  }],
47867
+ "pipelineOrchestrator.getDeviceLiveContribution": [{
47868
+ name: "deviceId",
47869
+ form: "single",
47870
+ optional: false
47871
+ }],
47872
+ "pipelineOrchestrator.getDeviceSettingsContribution": [{
47873
+ name: "deviceId",
47874
+ form: "single",
47875
+ optional: false
47876
+ }],
47588
47877
  "pipelineOrchestrator.getPipelineAssignment": [{
47589
47878
  name: "deviceId",
47590
47879
  form: "single",
@@ -47705,11 +47994,31 @@ Object.freeze({
47705
47994
  form: "single",
47706
47995
  optional: true
47707
47996
  }],
47997
+ "powerMeter.getStatus": [{
47998
+ name: "deviceId",
47999
+ form: "single",
48000
+ optional: false
48001
+ }],
48002
+ "presence.getStatus": [{
48003
+ name: "deviceId",
48004
+ form: "single",
48005
+ optional: false
48006
+ }],
48007
+ "pressureSensor.getStatus": [{
48008
+ name: "deviceId",
48009
+ form: "single",
48010
+ optional: false
48011
+ }],
47708
48012
  "privacyMask.getOptions": [{
47709
48013
  name: "deviceId",
47710
48014
  form: "single",
47711
48015
  optional: false
47712
48016
  }],
48017
+ "privacyMask.getStatus": [{
48018
+ name: "deviceId",
48019
+ form: "single",
48020
+ optional: false
48021
+ }],
47713
48022
  "privacyMask.setAudioEnabled": [{
47714
48023
  name: "deviceId",
47715
48024
  form: "single",
@@ -47760,6 +48069,11 @@ Object.freeze({
47760
48069
  form: "single",
47761
48070
  optional: false
47762
48071
  }],
48072
+ "ptz.getStatus": [{
48073
+ name: "deviceId",
48074
+ form: "single",
48075
+ optional: false
48076
+ }],
47763
48077
  "ptz.goHome": [{
47764
48078
  name: "deviceId",
47765
48079
  form: "single",
@@ -47850,6 +48164,11 @@ Object.freeze({
47850
48164
  form: "single",
47851
48165
  optional: false
47852
48166
  }],
48167
+ "recordingArchive.applyDeviceSettingsPatch": [{
48168
+ name: "deviceId",
48169
+ form: "single",
48170
+ optional: false
48171
+ }],
47853
48172
  "recordingArchive.deleteFootprint": [{
47854
48173
  name: "deviceId",
47855
48174
  form: "single",
@@ -47870,6 +48189,21 @@ Object.freeze({
47870
48189
  form: "single",
47871
48190
  optional: false
47872
48191
  }],
48192
+ "recordingArchive.getDeviceLiveContribution": [{
48193
+ name: "deviceId",
48194
+ form: "single",
48195
+ optional: false
48196
+ }],
48197
+ "recordingArchive.getDeviceSettingsContribution": [{
48198
+ name: "deviceId",
48199
+ form: "single",
48200
+ optional: false
48201
+ }],
48202
+ "recordingArchive.getStatus": [{
48203
+ name: "deviceId",
48204
+ form: "single",
48205
+ optional: false
48206
+ }],
47873
48207
  "recordingArchive.listOpsLog": [{
47874
48208
  name: "deviceId",
47875
48209
  form: "single",
@@ -47955,6 +48289,11 @@ Object.freeze({
47955
48289
  form: "single",
47956
48290
  optional: false
47957
48291
  }],
48292
+ "recordingOnboard.getStatus": [{
48293
+ name: "deviceId",
48294
+ form: "single",
48295
+ optional: false
48296
+ }],
47958
48297
  "recordingOnboard.setSettings": [{
47959
48298
  name: "deviceId",
47960
48299
  form: "single",
@@ -47985,6 +48324,11 @@ Object.freeze({
47985
48324
  form: "single",
47986
48325
  optional: false
47987
48326
  }],
48327
+ "sceneMonitor.getStatus": [{
48328
+ name: "deviceId",
48329
+ form: "single",
48330
+ optional: false
48331
+ }],
47988
48332
  "sceneMonitor.listScenes": [{
47989
48333
  name: "deviceId",
47990
48334
  form: "single",
@@ -48010,6 +48354,11 @@ Object.freeze({
48010
48354
  form: "single",
48011
48355
  optional: false
48012
48356
  }],
48357
+ "scriptRunner.getStatus": [{
48358
+ name: "deviceId",
48359
+ form: "single",
48360
+ optional: false
48361
+ }],
48013
48362
  "scriptRunner.run": [{
48014
48363
  name: "deviceId",
48015
48364
  form: "single",
@@ -48020,11 +48369,31 @@ Object.freeze({
48020
48369
  form: "single",
48021
48370
  optional: false
48022
48371
  }],
48372
+ "smoke.getStatus": [{
48373
+ name: "deviceId",
48374
+ form: "single",
48375
+ optional: false
48376
+ }],
48377
+ "snapshot.applyDeviceSettingsPatch": [{
48378
+ name: "deviceId",
48379
+ form: "single",
48380
+ optional: false
48381
+ }],
48023
48382
  "snapshot.getDebugState": [{
48024
48383
  name: "deviceId",
48025
48384
  form: "single",
48026
48385
  optional: false
48027
48386
  }],
48387
+ "snapshot.getDeviceLiveContribution": [{
48388
+ name: "deviceId",
48389
+ form: "single",
48390
+ optional: false
48391
+ }],
48392
+ "snapshot.getDeviceSettingsContribution": [{
48393
+ name: "deviceId",
48394
+ form: "single",
48395
+ optional: false
48396
+ }],
48028
48397
  "snapshot.getSnapshot": [{
48029
48398
  name: "deviceId",
48030
48399
  form: "single",
@@ -48041,6 +48410,11 @@ Object.freeze({
48041
48410
  form: "array",
48042
48411
  optional: false
48043
48412
  }],
48413
+ "snapshot.getStatus": [{
48414
+ name: "deviceId",
48415
+ form: "single",
48416
+ optional: false
48417
+ }],
48044
48418
  "snapshot.invalidateCache": [{
48045
48419
  name: "deviceId",
48046
48420
  form: "single",
@@ -48051,6 +48425,11 @@ Object.freeze({
48051
48425
  form: "single",
48052
48426
  optional: false
48053
48427
  }],
48428
+ "streamBroker.applyDeviceSettingsPatch": [{
48429
+ name: "deviceId",
48430
+ form: "single",
48431
+ optional: false
48432
+ }],
48054
48433
  "streamBroker.assignProfile": [{
48055
48434
  name: "deviceId",
48056
48435
  form: "single",
@@ -48066,6 +48445,16 @@ Object.freeze({
48066
48445
  form: "single",
48067
48446
  optional: false
48068
48447
  }],
48448
+ "streamBroker.getDeviceLiveContribution": [{
48449
+ name: "deviceId",
48450
+ form: "single",
48451
+ optional: false
48452
+ }],
48453
+ "streamBroker.getDeviceSettingsContribution": [{
48454
+ name: "deviceId",
48455
+ form: "single",
48456
+ optional: false
48457
+ }],
48069
48458
  "streamBroker.getStreamWithCodec": [{
48070
48459
  name: "deviceId",
48071
48460
  form: "single",
@@ -48126,16 +48515,46 @@ Object.freeze({
48126
48515
  form: "single",
48127
48516
  optional: false
48128
48517
  }],
48518
+ "streamParams.getStatus": [{
48519
+ name: "deviceId",
48520
+ form: "single",
48521
+ optional: false
48522
+ }],
48129
48523
  "streamParams.setProfile": [{
48130
48524
  name: "deviceId",
48131
48525
  form: "single",
48132
48526
  optional: false
48133
48527
  }],
48528
+ "switch.getStatus": [{
48529
+ name: "deviceId",
48530
+ form: "single",
48531
+ optional: false
48532
+ }],
48134
48533
  "switch.setState": [{
48135
48534
  name: "deviceId",
48136
48535
  form: "single",
48137
48536
  optional: false
48138
48537
  }],
48538
+ "tamper.getStatus": [{
48539
+ name: "deviceId",
48540
+ form: "single",
48541
+ optional: false
48542
+ }],
48543
+ "temperatureSensor.getStatus": [{
48544
+ name: "deviceId",
48545
+ form: "single",
48546
+ optional: false
48547
+ }],
48548
+ "update.getStatus": [{
48549
+ name: "deviceId",
48550
+ form: "single",
48551
+ optional: false
48552
+ }],
48553
+ "vacuumControl.getStatus": [{
48554
+ name: "deviceId",
48555
+ form: "single",
48556
+ optional: false
48557
+ }],
48139
48558
  "vacuumControl.locate": [{
48140
48559
  name: "deviceId",
48141
48560
  form: "single",
@@ -48171,6 +48590,11 @@ Object.freeze({
48171
48590
  form: "single",
48172
48591
  optional: false
48173
48592
  }],
48593
+ "valve.getStatus": [{
48594
+ name: "deviceId",
48595
+ form: "single",
48596
+ optional: false
48597
+ }],
48174
48598
  "valve.open": [{
48175
48599
  name: "deviceId",
48176
48600
  form: "single",
@@ -48186,6 +48610,11 @@ Object.freeze({
48186
48610
  form: "single",
48187
48611
  optional: false
48188
48612
  }],
48613
+ "vibration.getStatus": [{
48614
+ name: "deviceId",
48615
+ form: "single",
48616
+ optional: false
48617
+ }],
48189
48618
  "videoclips.dialClipStream": [{
48190
48619
  name: "deviceId",
48191
48620
  form: "single",
@@ -48221,6 +48650,11 @@ Object.freeze({
48221
48650
  form: "single",
48222
48651
  optional: false
48223
48652
  }],
48653
+ "waterHeater.getStatus": [{
48654
+ name: "deviceId",
48655
+ form: "single",
48656
+ optional: false
48657
+ }],
48224
48658
  "waterHeater.setAway": [{
48225
48659
  name: "deviceId",
48226
48660
  form: "single",
@@ -48236,6 +48670,11 @@ Object.freeze({
48236
48670
  form: "single",
48237
48671
  optional: false
48238
48672
  }],
48673
+ "weather.getStatus": [{
48674
+ name: "deviceId",
48675
+ form: "single",
48676
+ optional: false
48677
+ }],
48239
48678
  "webrtcSession.addIceCandidate": [{
48240
48679
  name: "deviceId",
48241
48680
  form: "single",
@@ -53064,6 +53503,7 @@ var CameraMotionSlice = class {
53064
53503
  const prior = read.kind === "answered" ? stampOf(read.slice) : null;
53065
53504
  if (prior !== null) stamp = Math.max(stamp, prior);
53066
53505
  }
53506
+ if (!this.#writable(deviceId)) return;
53067
53507
  await this.#write(deviceId, st, {
53068
53508
  detected: true,
53069
53509
  lastDetectedAt: stamp,
@@ -53092,6 +53532,7 @@ var CameraMotionSlice = class {
53092
53532
  });
53093
53533
  return;
53094
53534
  }
53535
+ if (!this.#writable(deviceId)) return;
53095
53536
  await this.#write(deviceId, st, {
53096
53537
  detected: false,
53097
53538
  lastDetectedAt: stampOf(read.slice),
@@ -53272,16 +53713,19 @@ var BLOCKED_SAY_AFTER = 2;
53272
53713
  var BLOCKED_SAY_EVERY = 20;
53273
53714
  /**
53274
53715
  * Is this `WorkerOnline` / `WorkerOffline` id the RUNNER's process — the only
53275
- * child whose (re)start can bring a writer of the slice back (R1-M1)? A bare
53276
- * node id (an agent reconnecting) is: every process of it came back. A decoder,
53277
- * a provider or any other child is not: forgetting its node closed the
53278
- * fleet-wide gate for a census and re-published every camera, for nothing. The
53279
- * runner is ALSO covered without this event by its `pipeline-executor`
53280
- * readiness epoch (`onRunnerReady`), so a dropped `WorkerOnline` loses nothing.
53716
+ * child whose (re)start can bring a writer of the slice back (R1-M1)?
53717
+ *
53718
+ * Production always keys workers `<node>/<childId>` (`LocalChildRegistry`). A
53719
+ * bare id is never a Worker event: an agent reconnect is `AgentOnline`, and
53720
+ * that path calls `forgetNode` directly. A decoder, a provider or any other
53721
+ * child is not the runner: forgetting its node closed the fleet-wide gate for
53722
+ * a census and re-published every camera, for nothing. The runner is ALSO
53723
+ * covered without this event by its `pipeline-executor` readiness epoch
53724
+ * (`onRunnerReady`), so a dropped `WorkerOnline` loses nothing.
53281
53725
  */
53282
53726
  function isRunnerProcess(processId) {
53283
53727
  const slash = processId.indexOf("/");
53284
- return slash === -1 || processId.slice(slash + 1) === "detection";
53728
+ return slash !== -1 && processId.slice(slash + 1) === "detection";
53285
53729
  }
53286
53730
  function nodeOf(processNodeId) {
53287
53731
  return processNodeId.split("/")[0] ?? processNodeId;