@camstack/addon-post-analysis 1.2.664 → 1.2.665

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 (16) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/{clip-model-registry-Ch9Sz-Qb.mjs → clip-model-registry-DZTzG2p4.mjs} +292 -132
  3. package/dist/{clip-model-registry-TeNUAAPP.js → clip-model-registry-nn_STiGt.js} +297 -131
  4. package/dist/embedding-encoder/index.js +1 -1
  5. package/dist/embedding-encoder/index.mjs +1 -1
  6. package/dist/pipeline-analytics/_stub.js +2 -2
  7. package/dist/pipeline-analytics/{_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-CXG7YPYq.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-Hy74pMMo.mjs} +2 -2
  8. package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BXTAZYaJ.mjs +26 -0
  9. package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-Br6eWzp_.mjs +26 -0
  10. package/dist/pipeline-analytics/{hostInit-BZ_D3_sF.mjs → hostInit-BAYLsfoZ.mjs} +2 -2
  11. package/dist/pipeline-analytics/index.js +316 -38
  12. package/dist/pipeline-analytics/index.mjs +316 -38
  13. package/dist/pipeline-analytics/remoteEntry.js +1 -1
  14. package/package.json +2 -2
  15. package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-CIt_RDlm.mjs +0 -26
  16. package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-4TTlyJ66.mjs +0 -26
@@ -6032,7 +6032,7 @@ var ZodIssueCode = {
6032
6032
  var ZodFirstPartyTypeKind;
6033
6033
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
6034
6034
  //#endregion
6035
- //#region ../types/dist/sleep-QsoHs66J.mjs
6035
+ //#region ../types/dist/sleep-hmSP-eJt.mjs
6036
6036
  /**
6037
6037
  * The audio chunk plane's byte format, and the ONE expansion from a coded
6038
6038
  * window to float samples (D455).
@@ -9799,6 +9799,7 @@ var CAP_NAMES = Object.freeze([
9799
9799
  "backup",
9800
9800
  "battery",
9801
9801
  "binary",
9802
+ "board-key-source",
9802
9803
  "brightness",
9803
9804
  "broker",
9804
9805
  "button",
@@ -9920,6 +9921,7 @@ var CAP_NAMES = Object.freeze([
9920
9921
  "privacy-mask",
9921
9922
  "ptz",
9922
9923
  "ptz-autotrack",
9924
+ "pump-cycle",
9923
9925
  "reboot",
9924
9926
  "record-entries",
9925
9927
  "recording",
@@ -11212,18 +11214,6 @@ Object.freeze({
11212
11214
  "path": "pumpRunning",
11213
11215
  "valueType": "boolean"
11214
11216
  },
11215
- {
11216
- "path": "pumpIntervalEnabled",
11217
- "valueType": "boolean"
11218
- },
11219
- {
11220
- "path": "pumpOnTime",
11221
- "valueType": "number"
11222
- },
11223
- {
11224
- "path": "pumpOffTime",
11225
- "valueType": "number"
11226
- },
11227
11217
  {
11228
11218
  "path": "lastDrink",
11229
11219
  "valueType": "number"
@@ -11347,6 +11337,20 @@ Object.freeze({
11347
11337
  "valueType": "number"
11348
11338
  }
11349
11339
  ],
11340
+ "pump-cycle": [
11341
+ {
11342
+ "path": "enabled",
11343
+ "valueType": "boolean"
11344
+ },
11345
+ {
11346
+ "path": "onTime",
11347
+ "valueType": "number"
11348
+ },
11349
+ {
11350
+ "path": "offTime",
11351
+ "valueType": "number"
11352
+ }
11353
+ ],
11350
11354
  "recording-archive": [
11351
11355
  {
11352
11356
  "path": "deviceId",
@@ -11798,7 +11802,7 @@ Object.freeze({
11798
11802
  * can answer "may a rule actuate this?" without importing the schema barrel
11799
11803
  * (~144MB RSS per runner, D28).
11800
11804
  *
11801
- * Coverage: 101 device-scoped capabilities.
11805
+ * Coverage: 102 device-scoped capabilities.
11802
11806
  */
11803
11807
  var DEVICE_SCOPED_CAPS = new Set([
11804
11808
  "accessories",
@@ -11875,6 +11879,7 @@ var DEVICE_SCOPED_CAPS = new Set([
11875
11879
  "privacy-mask",
11876
11880
  "ptz",
11877
11881
  "ptz-autotrack",
11882
+ "pump-cycle",
11878
11883
  "reboot",
11879
11884
  "recording",
11880
11885
  "recording-onboard",
@@ -20420,24 +20425,52 @@ var APPLIANCE_CAP_VOCABULARY = {
20420
20425
  args: { on: false }
20421
20426
  },
20422
20427
  {
20423
- id: "petFountain.intervalOn",
20424
- method: "setPumpInterval",
20428
+ id: "petFountain.resetDailyConsumption",
20429
+ method: "resetDailyConsumption",
20430
+ label: t("Clear daily consumption", "Azzera il consumo giornaliero"),
20431
+ phrase: t("Clear the daily water consumption of {device}", "Azzera il consumo giornaliero di acqua di {device}"),
20432
+ icon: "rotate-ccw"
20433
+ }
20434
+ ],
20435
+ state: [{
20436
+ kind: "boolean",
20437
+ field: "empty",
20438
+ label: t("Tank empty", "Serbatoio vuoto"),
20439
+ whenTrue: t("When the tank of {device} is empty", "Quando il serbatoio di {device} è vuoto"),
20440
+ whenFalse: t("When the tank of {device} is refilled", "Quando il serbatoio di {device} viene riempito"),
20441
+ icon: "droplet"
20442
+ }, {
20443
+ kind: "numeric",
20444
+ field: "waterLevel",
20445
+ quantity: t("the water level", "il livello dell’acqua"),
20446
+ label: t("Water level", "Livello dell’acqua"),
20447
+ unit: "%",
20448
+ icon: "droplets"
20449
+ }]
20450
+ },
20451
+ "pump-cycle": {
20452
+ scope: "device",
20453
+ noun: t("Pump cycle", "Ciclo della pompa"),
20454
+ actions: [
20455
+ {
20456
+ id: "pumpCycle.on",
20457
+ method: "setEnabled",
20425
20458
  label: t("Pump cycle on", "Ciclo pompa attivo"),
20426
20459
  phrase: t("Run the pump of {device} on its on/off cycle", "Fai lavorare la pompa di {device} a ciclo acceso/spento"),
20427
20460
  icon: "timer",
20428
20461
  args: { on: true }
20429
20462
  },
20430
20463
  {
20431
- id: "petFountain.intervalOff",
20432
- method: "setPumpInterval",
20464
+ id: "pumpCycle.off",
20465
+ method: "setEnabled",
20433
20466
  label: t("Pump cycle off", "Ciclo pompa spento"),
20434
20467
  phrase: t("Run the pump of {device} continuously", "Fai lavorare la pompa di {device} in continuo"),
20435
20468
  icon: "timer-off",
20436
20469
  args: { on: false }
20437
20470
  },
20438
20471
  {
20439
- id: "petFountain.pumpOnMinutes",
20440
- method: "setPumpOnMinutes",
20472
+ id: "pumpCycle.onMinutes",
20473
+ method: "setOnMinutes",
20441
20474
  label: t("Set pump run time", "Imposta il tempo di lavoro della pompa"),
20442
20475
  phrase: t("Set the pump of {device} to run {minutes} minutes per cycle", "Imposta la pompa di {device} a lavorare {minutes} minuti per ciclo"),
20443
20476
  icon: "timer",
@@ -20453,8 +20486,8 @@ var APPLIANCE_CAP_VOCABULARY = {
20453
20486
  }]
20454
20487
  },
20455
20488
  {
20456
- id: "petFountain.pumpOffMinutes",
20457
- method: "setPumpOffMinutes",
20489
+ id: "pumpCycle.offMinutes",
20490
+ method: "setOffMinutes",
20458
20491
  label: t("Set pump rest time", "Imposta il tempo di riposo della pompa"),
20459
20492
  phrase: t("Set the pump of {device} to rest {minutes} minutes per cycle", "Imposta la pompa di {device} a riposare {minutes} minuti per ciclo"),
20460
20493
  icon: "timer-off",
@@ -20468,29 +20501,15 @@ var APPLIANCE_CAP_VOCABULARY = {
20468
20501
  unit: "min"
20469
20502
  }
20470
20503
  }]
20471
- },
20472
- {
20473
- id: "petFountain.resetDailyConsumption",
20474
- method: "resetDailyConsumption",
20475
- label: t("Clear daily consumption", "Azzera il consumo giornaliero"),
20476
- phrase: t("Clear the daily water consumption of {device}", "Azzera il consumo giornaliero di acqua di {device}"),
20477
- icon: "rotate-ccw"
20478
20504
  }
20479
20505
  ],
20480
20506
  state: [{
20481
20507
  kind: "boolean",
20482
- field: "empty",
20483
- label: t("Tank empty", "Serbatoio vuoto"),
20484
- whenTrue: t("When the tank of {device} is empty", "Quando il serbatoio di {device} è vuoto"),
20485
- whenFalse: t("When the tank of {device} is refilled", "Quando il serbatoio di {device} viene riempito"),
20486
- icon: "droplet"
20487
- }, {
20488
- kind: "numeric",
20489
- field: "waterLevel",
20490
- quantity: t("the water level", "il livello dell’acqua"),
20491
- label: t("Water level", "Livello dell’acqua"),
20492
- unit: "%",
20493
- icon: "droplets"
20508
+ field: "enabled",
20509
+ label: t("Pump cycle", "Ciclo pompa"),
20510
+ whenTrue: t("When {device} starts running its pump on a cycle", "Quando {device} inizia a far lavorare la pompa a ciclo"),
20511
+ whenFalse: t("When {device} runs its pump continuously", "Quando {device} fa lavorare la pompa in continuo"),
20512
+ icon: "timer"
20494
20513
  }]
20495
20514
  },
20496
20515
  "media-player": {
@@ -22383,6 +22402,7 @@ var SYSTEM_CAP_VOCABULARY = {
22383
22402
  "audio-analyzer": system(PIPELINE),
22384
22403
  "audio-codec": system(INTERNAL),
22385
22404
  "auth-provider": system(IDENTITY),
22405
+ "board-key-source": system(INTERNAL),
22386
22406
  backup: system("system backups — run and restored from the Backups page"),
22387
22407
  broker: system("message-broker connections — configured, not actuated"),
22388
22408
  "calendar-source": system(INTERNAL),
@@ -47533,6 +47553,49 @@ var binaryCapability = {
47533
47553
  volatileStateFields: ["lastChangedAt"]
47534
47554
  };
47535
47555
  /**
47556
+ * Why a board key could not be read. Typed so a caller reports the cause and
47557
+ * never treats "could not read" as "has no key" (D49).
47558
+ */
47559
+ var BoardKeyFailureReasonSchema = _enum([
47560
+ "unknown-source",
47561
+ "not-admin",
47562
+ "no-builder",
47563
+ "no-ingress-url",
47564
+ "unreachable",
47565
+ "unknown-board",
47566
+ "no-encryption-key",
47567
+ "unreadable-config"
47568
+ ]);
47569
+ var BoardKeySourceSchema = object({
47570
+ sourceId: string(),
47571
+ name: string()
47572
+ });
47573
+ var BoardKeyBoardSchema = object({
47574
+ /** The builder's file name, e.g. `kitchen.yaml`: the handle `getBoardKey` takes. */
47575
+ configuration: string(),
47576
+ /** The node name the builder gives the board. */
47577
+ name: string(),
47578
+ /** The address the builder knows the board by, when it has one. */
47579
+ address: string().nullable()
47580
+ });
47581
+ var BoardKeyFailureSchema = object({
47582
+ ok: literal(false),
47583
+ reason: BoardKeyFailureReasonSchema,
47584
+ detail: string().optional()
47585
+ });
47586
+ var ListBoardsResultSchema = discriminatedUnion("ok", [object({
47587
+ ok: literal(true),
47588
+ boards: array(BoardKeyBoardSchema).readonly()
47589
+ }), BoardKeyFailureSchema]);
47590
+ var GetBoardKeyResultSchema = discriminatedUnion("ok", [object({
47591
+ ok: literal(true),
47592
+ key: string()
47593
+ }), BoardKeyFailureSchema]);
47594
+ method(_void(), array(BoardKeySourceSchema).readonly(), { auth: "admin" }), method(object({ sourceId: string().min(1) }), ListBoardsResultSchema, { auth: "admin" }), method(object({
47595
+ sourceId: string().min(1),
47596
+ configuration: string().min(1)
47597
+ }), GetBoardKeyResultSchema, { auth: "admin" });
47598
+ /**
47536
47599
  * Dimmable-light brightness control. Co-exists with `switch` on the
47537
47600
  * same device — the switch toggles on/off, this cap sets the level
47538
47601
  * applied when the light is on. Drivers map their per-vendor dim
@@ -54114,7 +54177,7 @@ var DishwasherStatusSchema = object({
54114
54177
  /** Ms epoch of the last value received from the appliance; 0 = never. */
54115
54178
  lastFetchedAt: number()
54116
54179
  });
54117
- var DeviceIdSchema$1 = number().int().nonnegative();
54180
+ var DeviceIdSchema$2 = number().int().nonnegative();
54118
54181
  /** A value a program option or setting can take. */
54119
54182
  var DishwasherValueSchema = union([
54120
54183
  boolean(),
@@ -54189,77 +54252,77 @@ var dishwasherCapability = {
54189
54252
  * option feature keys; each is checked against the program's constraints.
54190
54253
  */
54191
54254
  start: method(object({
54192
- deviceId: DeviceIdSchema$1,
54255
+ deviceId: DeviceIdSchema$2,
54193
54256
  program: string().min(1).optional(),
54194
54257
  options: record(string(), DishwasherValueSchema).optional()
54195
54258
  }), _void(), {
54196
54259
  kind: "mutation",
54197
54260
  auth: "protected"
54198
54261
  }),
54199
- pause: method(object({ deviceId: DeviceIdSchema$1 }), _void(), {
54262
+ pause: method(object({ deviceId: DeviceIdSchema$2 }), _void(), {
54200
54263
  kind: "mutation",
54201
54264
  auth: "protected"
54202
54265
  }),
54203
- resume: method(object({ deviceId: DeviceIdSchema$1 }), _void(), {
54266
+ resume: method(object({ deviceId: DeviceIdSchema$2 }), _void(), {
54204
54267
  kind: "mutation",
54205
54268
  auth: "protected"
54206
54269
  }),
54207
- stop: method(object({ deviceId: DeviceIdSchema$1 }), _void(), {
54270
+ stop: method(object({ deviceId: DeviceIdSchema$2 }), _void(), {
54208
54271
  kind: "mutation",
54209
54272
  auth: "protected"
54210
54273
  }),
54211
54274
  /** Select (not start) a program; refused when the appliance does not offer it. */
54212
54275
  setProgram: method(object({
54213
- deviceId: DeviceIdSchema$1,
54276
+ deviceId: DeviceIdSchema$2,
54214
54277
  program: string().min(1)
54215
54278
  }), _void(), {
54216
54279
  kind: "mutation",
54217
54280
  auth: "protected"
54218
54281
  }),
54219
54282
  setPower: method(object({
54220
- deviceId: DeviceIdSchema$1,
54283
+ deviceId: DeviceIdSchema$2,
54221
54284
  on: boolean()
54222
54285
  }), _void(), {
54223
54286
  kind: "mutation",
54224
54287
  auth: "protected"
54225
54288
  }),
54226
54289
  setHalfLoad: method(object({
54227
- deviceId: DeviceIdSchema$1,
54290
+ deviceId: DeviceIdSchema$2,
54228
54291
  on: boolean()
54229
54292
  }), _void(), {
54230
54293
  kind: "mutation",
54231
54294
  auth: "protected"
54232
54295
  }),
54233
54296
  setHygienePlus: method(object({
54234
- deviceId: DeviceIdSchema$1,
54297
+ deviceId: DeviceIdSchema$2,
54235
54298
  on: boolean()
54236
54299
  }), _void(), {
54237
54300
  kind: "mutation",
54238
54301
  auth: "protected"
54239
54302
  }),
54240
54303
  setExtraDry: method(object({
54241
- deviceId: DeviceIdSchema$1,
54304
+ deviceId: DeviceIdSchema$2,
54242
54305
  on: boolean()
54243
54306
  }), _void(), {
54244
54307
  kind: "mutation",
54245
54308
  auth: "protected"
54246
54309
  }),
54247
54310
  setIntensiveZone: method(object({
54248
- deviceId: DeviceIdSchema$1,
54311
+ deviceId: DeviceIdSchema$2,
54249
54312
  on: boolean()
54250
54313
  }), _void(), {
54251
54314
  kind: "mutation",
54252
54315
  auth: "protected"
54253
54316
  }),
54254
54317
  setVarioSpeedPlus: method(object({
54255
- deviceId: DeviceIdSchema$1,
54318
+ deviceId: DeviceIdSchema$2,
54256
54319
  on: boolean()
54257
54320
  }), _void(), {
54258
54321
  kind: "mutation",
54259
54322
  auth: "protected"
54260
54323
  }),
54261
54324
  setChildLock: method(object({
54262
- deviceId: DeviceIdSchema$1,
54325
+ deviceId: DeviceIdSchema$2,
54263
54326
  on: boolean()
54264
54327
  }), _void(), {
54265
54328
  kind: "mutation",
@@ -54271,7 +54334,7 @@ var dishwasherCapability = {
54271
54334
  * its declared range / members.
54272
54335
  */
54273
54336
  setOption: method(object({
54274
- deviceId: DeviceIdSchema$1,
54337
+ deviceId: DeviceIdSchema$2,
54275
54338
  key: string().min(1),
54276
54339
  value: DishwasherValueSchema
54277
54340
  }), _void(), {
@@ -54279,7 +54342,7 @@ var dishwasherCapability = {
54279
54342
  auth: "protected"
54280
54343
  }),
54281
54344
  /** What this appliance can do, from its own description — the UI is derived from it. */
54282
- getOptions: method(object({ deviceId: DeviceIdSchema$1 }), DishwasherOptionsSchema, { auth: "protected" })
54345
+ getOptions: method(object({ deviceId: DeviceIdSchema$2 }), DishwasherOptionsSchema, { auth: "protected" })
54283
54346
  },
54284
54347
  status: {
54285
54348
  schema: DishwasherStatusSchema,
@@ -69105,6 +69168,21 @@ var NcTemplateVarKindSchema = _enum([
69105
69168
  "sound",
69106
69169
  "system"
69107
69170
  ]);
69171
+ /**
69172
+ * The default title/body a rule of one SITUATION is delivered with when the
69173
+ * operator wrote no template — served so an editor can pre-fill it (and the
69174
+ * operator can rebuild it from placeholders) instead of starting from a blank
69175
+ * box that, once saved, silently replaces it. `id` names the situation inside
69176
+ * a rule `kind`: `appliance-cycle` is a `sensor` rule whose device is an
69177
+ * appliance finishing a cycle. Texts are raw templates (`{{var}}` intact), in
69178
+ * the hub's current language and with its overrides applied.
69179
+ */
69180
+ var NcTemplateDefaultSchema = object({
69181
+ id: _enum(["appliance-cycle"]),
69182
+ kind: NcRuleKindSchema,
69183
+ title: string(),
69184
+ body: string()
69185
+ });
69108
69186
  /** Which producer renders a template: an ordinary rule, a timelapse, a digest. */
69109
69187
  var NcTemplateFamilySchema = _enum([
69110
69188
  "rule",
@@ -70667,7 +70745,11 @@ var notificationRulesCapability = {
70667
70745
  taxonomy: NcTaxonomySchema.optional()
70668
70746
  })),
70669
70747
  /** The declared `{{var}}` vocabulary; editors filter it with `templateVarsFor`. */
70670
- getTemplateCatalog: method(object({}), object({ vars: array(NcTemplateVarDescriptorSchema) })),
70748
+ getTemplateCatalog: method(object({}), object({
70749
+ vars: array(NcTemplateVarDescriptorSchema),
70750
+ /** Per-situation default texts; absent on a hub that predates them. */
70751
+ defaults: array(NcTemplateDefaultSchema)
70752
+ })),
70671
70753
  /**
70672
70754
  * Render a template with example values, through the hub's text catalog.
70673
70755
  * Pure: sends nothing. A MUTATION only for transport — a 2.5k-char draft in
@@ -71677,7 +71759,7 @@ var petFeederCapability = {
71677
71759
  /**
71678
71760
  * Pet water-fountain cap. Models the telemetry and the control surface of a
71679
71761
  * circulating drinking fountain: how much water is in the tank, how much the
71680
- * pet drank, whether the pump runs and on what duty cycle.
71762
+ * pet drank, whether the pump runs.
71681
71763
  *
71682
71764
  * It has no native vendor provider of its own: a fountain reaches CamStack as
71683
71765
  * a container of loose entities (a pump switch, two number boxes, a "filter
@@ -71693,8 +71775,10 @@ var petFeederCapability = {
71693
71775
  * never here. Every reading may be `null`: a source that is offline or does
71694
71776
  * not report is unknown, never zero.
71695
71777
  *
71696
- * The filter is not a field of this cap: it is an item of the `consumables`
71697
- * cap on the same device (kind `wear`), reset by the same forward mechanism.
71778
+ * The pump's on/off duty cycle is model-specific and lives in the optional
71779
+ * `pump-cycle` cap. The filter, the cleaning and the water change are not
71780
+ * fields of this cap: they are items of the `consumables` cap on the same
71781
+ * device (kind `wear`), reset by the same forward mechanism.
71698
71782
  */
71699
71783
  var PetFountainStatusSchema = object({
71700
71784
  /** Water in the tank, 0..100 (%). Null while the source has not reported. */
@@ -71705,27 +71789,20 @@ var PetFountainStatusSchema = object({
71705
71789
  empty: boolean().nullable(),
71706
71790
  /** True while the pump is running. Null while unknown. */
71707
71791
  pumpRunning: boolean().nullable(),
71708
- /** True when the pump works on an on/off duty cycle rather than continuously. */
71709
- pumpIntervalEnabled: boolean().nullable(),
71710
- /** How long the pump runs per cycle, in seconds. */
71711
- pumpOnTime: number().min(0).nullable().meta(readingMeta("duration")),
71712
- /** How long the pump rests per cycle, in seconds. */
71713
- pumpOffTime: number().min(0).nullable().meta(readingMeta("duration")),
71714
71792
  /** Water drunk in the last drink, in litres. */
71715
71793
  lastDrink: number().min(0).nullable().meta(readingMeta("volume")),
71716
71794
  /** Water drunk in the current hour, in litres. */
71717
71795
  currentHourDrink: number().min(0).nullable().meta(readingMeta("volume")),
71718
71796
  /** Water drunk over the last 24 hours (rolling), in litres. */
71719
71797
  last24hDrink: number().min(0).nullable().meta(readingMeta("volume")),
71720
- /** Water drunk since local midnight, in litres. */
71798
+ /** Water drunk since local midnight, in litres. Null when the fountain has no such sensor. */
71721
71799
  todayDrink: number().min(0).nullable().meta(readingMeta("volume")),
71722
71800
  /** Decoded fault message. Null means healthy; a non-null string is an active fault. */
71723
71801
  error: string().nullable(),
71724
71802
  /** Ms epoch when the slice was last refreshed. */
71725
71803
  lastFetchedAt: number()
71726
71804
  });
71727
- var DeviceIdSchema = number().int().nonnegative();
71728
- var MinutesSchema = number().int().min(0);
71805
+ var DeviceIdSchema$1 = number().int().nonnegative();
71729
71806
  var petFountainCapability = {
71730
71807
  name: "pet-fountain",
71731
71808
  scope: "device",
@@ -71735,38 +71812,14 @@ var petFountainCapability = {
71735
71812
  methods: {
71736
71813
  /** Start or stop the pump. */
71737
71814
  setPump: method(object({
71738
- deviceId: DeviceIdSchema,
71739
- on: boolean()
71740
- }), _void(), {
71741
- kind: "mutation",
71742
- auth: "protected"
71743
- }),
71744
- /** Switch the on/off duty cycle on or off (off = the pump runs continuously). */
71745
- setPumpInterval: method(object({
71746
- deviceId: DeviceIdSchema,
71815
+ deviceId: DeviceIdSchema$1,
71747
71816
  on: boolean()
71748
71817
  }), _void(), {
71749
71818
  kind: "mutation",
71750
71819
  auth: "protected"
71751
71820
  }),
71752
- /** Set how many minutes the pump runs per cycle. */
71753
- setPumpOnMinutes: method(object({
71754
- deviceId: DeviceIdSchema,
71755
- minutes: MinutesSchema
71756
- }), _void(), {
71757
- kind: "mutation",
71758
- auth: "protected"
71759
- }),
71760
- /** Set how many minutes the pump rests per cycle. */
71761
- setPumpOffMinutes: method(object({
71762
- deviceId: DeviceIdSchema,
71763
- minutes: MinutesSchema
71764
- }), _void(), {
71765
- kind: "mutation",
71766
- auth: "protected"
71767
- }),
71768
71821
  /** Clear the rolling daily consumption counters on the device. */
71769
- resetDailyConsumption: method(object({ deviceId: DeviceIdSchema }), _void(), {
71822
+ resetDailyConsumption: method(object({ deviceId: DeviceIdSchema$1 }), _void(), {
71770
71823
  kind: "mutation",
71771
71824
  auth: "protected"
71772
71825
  })
@@ -74134,6 +74187,79 @@ var ptzAutotrackCapability = {
74134
74187
  */
74135
74188
  history: "none"
74136
74189
  };
74190
+ /**
74191
+ * The on/off duty cycle of a pet fountain's pump. Some models run the pump
74192
+ * continuously and have nothing to configure; others can alternate a run time
74193
+ * and a rest time. That is model-specific, so it is its own optional cap on the
74194
+ * fountain device: a fountain without cycle entities simply never composes it
74195
+ * (planning#366), and the `pet-fountain` cap stays the model-independent core.
74196
+ *
74197
+ * Like `pet-fountain` it has no native vendor provider: an operator BUILDS the
74198
+ * cycle from loose entities (a cycle switch and two number boxes) and every
74199
+ * method is a forward to one source entity (D659, D967). Durations are stored
74200
+ * in SECONDS (D944); a number box that cannot be read back leaves them `null`
74201
+ * — unknown, never zero (D393).
74202
+ */
74203
+ var PumpCycleStatusSchema = object({
74204
+ /** True when the pump works on the on/off cycle, false when it runs continuously. Null while unknown. */
74205
+ enabled: boolean().nullable(),
74206
+ /** How long the pump runs per cycle, in seconds. Null while unknown. */
74207
+ onTime: number().min(0).nullable().meta(readingMeta("duration")),
74208
+ /** How long the pump rests per cycle, in seconds. Null while unknown. */
74209
+ offTime: number().min(0).nullable().meta(readingMeta("duration")),
74210
+ /** Ms epoch when the slice was last refreshed. */
74211
+ lastFetchedAt: number()
74212
+ });
74213
+ var DeviceIdSchema = number().int().nonnegative();
74214
+ var MinutesSchema = number().int().min(0);
74215
+ var pumpCycleCapability = {
74216
+ name: "pump-cycle",
74217
+ scope: "device",
74218
+ deviceNative: true,
74219
+ mode: "singleton",
74220
+ deviceTypes: [DeviceType.PetFountain],
74221
+ methods: {
74222
+ /** Switch the on/off duty cycle on or off (off = the pump runs continuously). */
74223
+ setEnabled: method(object({
74224
+ deviceId: DeviceIdSchema,
74225
+ on: boolean()
74226
+ }), _void(), {
74227
+ kind: "mutation",
74228
+ auth: "protected"
74229
+ }),
74230
+ /** Set how many minutes the pump runs per cycle. */
74231
+ setOnMinutes: method(object({
74232
+ deviceId: DeviceIdSchema,
74233
+ minutes: MinutesSchema
74234
+ }), _void(), {
74235
+ kind: "mutation",
74236
+ auth: "protected"
74237
+ }),
74238
+ /** Set how many minutes the pump rests per cycle. */
74239
+ setOffMinutes: method(object({
74240
+ deviceId: DeviceIdSchema,
74241
+ minutes: MinutesSchema
74242
+ }), _void(), {
74243
+ kind: "mutation",
74244
+ auth: "protected"
74245
+ })
74246
+ },
74247
+ status: {
74248
+ schema: PumpCycleStatusSchema,
74249
+ kind: "push"
74250
+ },
74251
+ /** Runtime-state slice — mirrored by the kernel; the hero card reads it whole. */
74252
+ runtimeState: PumpCycleStatusSchema,
74253
+ /**
74254
+ * Runtime-state durability: **session** — live appliance state re-published on connect.
74255
+ *
74256
+ * See `RuntimeStateDurability`. Enforced by
74257
+ * `scripts/check-runtime-state-durability.ts`.
74258
+ */
74259
+ durability: "session",
74260
+ /** History (D850): a duty-cycle setting is not a series worth recording. */
74261
+ history: "none"
74262
+ };
74137
74263
  DeviceType.Camera, DeviceType.Sensor, DeviceType.Switch, DeviceType.Gateway, method(object({ deviceId: number().int().nonnegative() }), object({ success: literal(true) }), {
74138
74264
  kind: "mutation",
74139
74265
  auth: "admin"
@@ -83428,6 +83554,7 @@ var DEVICE_LOCAL_STATE_CAPS = {
83428
83554
  pressureSensor: pressureSensorCapability,
83429
83555
  privacyMask: privacyMaskCapability,
83430
83556
  ptzAutotrack: ptzAutotrackCapability,
83557
+ pumpCycle: pumpCycleCapability,
83431
83558
  recordingOnboard: recordingOnboardCapability,
83432
83559
  recordingSignal: recordingSignalCapability,
83433
83560
  runningState: runningStateCapability,
@@ -85118,6 +85245,27 @@ Object.freeze({
85118
85245
  access: "view",
85119
85246
  role: "viewer"
85120
85247
  },
85248
+ "boardKeySource.getBoardKey": {
85249
+ capName: "board-key-source",
85250
+ capScope: "system",
85251
+ addonId: null,
85252
+ access: "view",
85253
+ role: "admin"
85254
+ },
85255
+ "boardKeySource.listBoards": {
85256
+ capName: "board-key-source",
85257
+ capScope: "system",
85258
+ addonId: null,
85259
+ access: "view",
85260
+ role: "admin"
85261
+ },
85262
+ "boardKeySource.listSources": {
85263
+ capName: "board-key-source",
85264
+ capScope: "system",
85265
+ addonId: null,
85266
+ access: "view",
85267
+ role: "admin"
85268
+ },
85121
85269
  "brightness.getStatus": {
85122
85270
  capName: "brightness",
85123
85271
  capScope: "device",
@@ -89941,27 +90089,6 @@ Object.freeze({
89941
90089
  access: "create",
89942
90090
  role: "viewer"
89943
90091
  },
89944
- "petFountain.setPumpInterval": {
89945
- capName: "pet-fountain",
89946
- capScope: "device",
89947
- addonId: null,
89948
- access: "create",
89949
- role: "viewer"
89950
- },
89951
- "petFountain.setPumpOffMinutes": {
89952
- capName: "pet-fountain",
89953
- capScope: "device",
89954
- addonId: null,
89955
- access: "create",
89956
- role: "viewer"
89957
- },
89958
- "petFountain.setPumpOnMinutes": {
89959
- capName: "pet-fountain",
89960
- capScope: "device",
89961
- addonId: null,
89962
- access: "create",
89963
- role: "viewer"
89964
- },
89965
90092
  "pipelineAnalytics.addRetrainFrameFromRecording": {
89966
90093
  capName: "pipeline-analytics",
89967
90094
  capScope: "device",
@@ -91740,6 +91867,34 @@ Object.freeze({
91740
91867
  access: "create",
91741
91868
  role: "admin"
91742
91869
  },
91870
+ "pumpCycle.getStatus": {
91871
+ capName: "pump-cycle",
91872
+ capScope: "device",
91873
+ addonId: null,
91874
+ access: "view",
91875
+ role: "viewer"
91876
+ },
91877
+ "pumpCycle.setEnabled": {
91878
+ capName: "pump-cycle",
91879
+ capScope: "device",
91880
+ addonId: null,
91881
+ access: "create",
91882
+ role: "viewer"
91883
+ },
91884
+ "pumpCycle.setOffMinutes": {
91885
+ capName: "pump-cycle",
91886
+ capScope: "device",
91887
+ addonId: null,
91888
+ access: "create",
91889
+ role: "viewer"
91890
+ },
91891
+ "pumpCycle.setOnMinutes": {
91892
+ capName: "pump-cycle",
91893
+ capScope: "device",
91894
+ addonId: null,
91895
+ access: "create",
91896
+ role: "viewer"
91897
+ },
91743
91898
  "reboot.reboot": {
91744
91899
  capName: "reboot",
91745
91900
  capScope: "device",
@@ -96284,21 +96439,6 @@ Object.freeze({
96284
96439
  form: "single",
96285
96440
  optional: false
96286
96441
  }],
96287
- "petFountain.setPumpInterval": [{
96288
- name: "deviceId",
96289
- form: "single",
96290
- optional: false
96291
- }],
96292
- "petFountain.setPumpOffMinutes": [{
96293
- name: "deviceId",
96294
- form: "single",
96295
- optional: false
96296
- }],
96297
- "petFountain.setPumpOnMinutes": [{
96298
- name: "deviceId",
96299
- form: "single",
96300
- optional: false
96301
- }],
96302
96442
  "pipelineAnalytics.addRetrainFrameFromRecording": [{
96303
96443
  name: "deviceId",
96304
96444
  form: "single",
@@ -96934,6 +97074,26 @@ Object.freeze({
96934
97074
  form: "single",
96935
97075
  optional: false
96936
97076
  }],
97077
+ "pumpCycle.getStatus": [{
97078
+ name: "deviceId",
97079
+ form: "single",
97080
+ optional: false
97081
+ }],
97082
+ "pumpCycle.setEnabled": [{
97083
+ name: "deviceId",
97084
+ form: "single",
97085
+ optional: false
97086
+ }],
97087
+ "pumpCycle.setOffMinutes": [{
97088
+ name: "deviceId",
97089
+ form: "single",
97090
+ optional: false
97091
+ }],
97092
+ "pumpCycle.setOnMinutes": [{
97093
+ name: "deviceId",
97094
+ form: "single",
97095
+ optional: false
97096
+ }],
96937
97097
  "reboot.reboot": [{
96938
97098
  name: "deviceId",
96939
97099
  form: "single",
@@ -103017,4 +103177,4 @@ function buildClipModelRegistry(entries) {
103017
103177
  /** The built-in catalog's registry. */
103018
103178
  var BUILTIN_CLIP_MODELS = buildClipModelRegistry(CLIP_IMAGE_MODELS);
103019
103179
  //#endregion
103020
- export { MAX_TRACK_RELATIONS as $, DEFAULT_FIRST_SIGHTING_FRESHNESS_MS as $i, bundledCamstack as $n, normalizeNcAction as $r, NcTemplateVarDescriptorSchema as $t, DETECTION_MACRO_CLASSES as A, strictObject as Aa, sceneMonitorCapability as Ai, TrackPuritySchema as An, isAlertEpisodeOpen as Ar, NcAlarmConfigSchema as At, EXPORT_DENSE_MAX_RANGES as B, sunTimes as Bi, alertEpisodeKind as Bn, isLabelSupplyStepId as Br, NcRuleSchema as Bt, COCO_TO_MACRO as C, discriminatedUnion as Ca, retrainRevisionConflictMessage as Ci, SetTrackRelationInputSchema as Cn, eventKindLabel as Cr, NC_GROUPING_MIN_SEC as Ct, DEFAULT_DETAIL_CROP_CONVENTION as D, object as Da, ruleDeviceCompatCapQueries as Di, TimelapseRulePatchSchema as Dn, gifDeriveSpeed as Dr, NC_SYSTEM_EVENT_KIND_GROUP_SPECS as Dt, CoverStateSchema as E, number as Ea, ruleBelongsToAlarm as Ei, TimelapseRuleInputSchema as En, failureContributionCapability as Er, NC_STATE_SUMMARY_SECTION_IDS as Et, EMBEDDING_REQUIREMENTS_FAILED as F, unknown as Fa, storageOccupancyCapability as Fi, activateAlarmProfile as Fn, isDetectionMacroClass as Fr, NcConditionDescriptorSchema as Ft, LabelAttributionSchema as G, systemEventSummaryScheduleOf as Gi, applySecureOnArmEdit as Gn, isSystemDelivery as Gr, NcSnoozeInputSchema as Gt, FULL_IMAGE_BBOX as H, systemEventDeliveryProblems as Hi, applyBlockingEdit as Hn, isRetiredClearKey as Hr, NcRuleUpdateInputSchema as Ht, EMBEDDING_REQUIREMENTS_UNAVAILABLE as I, DeviceType as Ia, subKindsOf as Ii, addonWidgetsSourceCapability as In, isDrawableSubjectPath as Ir, NcConditionsSchema as It, LockStateSchema as J, templateVarsFor as Ji, audioMetricsCapability as Jn, kebabToCamel as Jr, NcStateSummarySectionIdSchema as Jt, ListTrackRelationsInputSchema as K, systemEventSummarySplitOf as Ki, armRemovalReconcile as Kn, isSystemEventSummaryRule as Kr, NcSnoozeSchema as Kt, EVENT_DENSITY_BATCH_MAX as L, errMsg as La, subjectPathSampleFromBox as Li, alarmDeviceSecureOnArm as Ln, isEventKindLabelKey as Lr, NcRuleActionSchema as Lt, DeclaredDevices as M, templateLiteral as Ma, sensorRaisedOf as Mi, TrackRelationSchema as Mn, isAppLinkBase as Mr, NcAlarmSensorsInputSchema as Mt, DetectionSourceSchema as N, tuple as Na, servedTemplateVars as Ni, TrackSideSchema as Nn, isAudioClassName as Nr, NcAlarmSensorsSchema as Nt, DEFAULT_EVENT_COLOR as O, partialRecord as Oa, ruleGroupingApplies as Oi, TimelapseRuleSchema as On, gifFromMp4Args as Or, NC_TAXONOMY as Ot, EMBEDDING_MODEL_FAILED as P, union as Pa, startMoverUnderClearance as Pi, TrackSourceSchema as Pn, isDefaultAlarmProfileId as Pr, NcAlarmSettingsPatchSchema as Pt, MAX_TRACK_PURITIES as Q, zoneAnalyticsCapability as Qi, buildViewerLink as Qn, ncMediaPolicyError as Qr, NcTemplatePreviewSchema as Qt, EVENT_KIND_BY_CAP as R, EventCategory as Ra, subjectPathSvgPoints as Ri, alarmPanelCapability as Rn, isEventOwnerType as Rr, NcRuleInputSchema as Rt, BucketAccumulator as S, boolean as Sa, resolvePoolMemoryPolicy as Si, SetTrackPurityResultSchema as Sn, ensureAlarmProfiles as Sr, NC_GROUPING_MAX_SEC as St, ClearTrackRelationResultSchema as T, looseObject as Ta, ruleAutoTriggersAlarm as Ti, TRACK_RELATIONS_DEFAULT_LIMIT as Tn, faceGalleryCapability as Tr, NC_SNOOZE_MAX_MINUTES as Tt, FailureCounters as U, systemEventFamilyProblems as Ui, applyModeDelaysEdits as Un, isRootSuppliableStepId as Ur, NcScheduleSchema as Ut, FIRST_LEVEL_MACRO_CLASSES as V, syncActiveAlarmProfileSettings as Vi, alertEpisodePayload as Vn, isMediaOwnerType as Vr, NcRuleTargetSchema as Vt, LABEL_SUPPLY_MACRO as W, systemEventFilterApplies as Wi, applyNonBlockingEdit as Wn, isScheduleActive as Wr, NcSharedSequenceSchema as Wt, MAX_BIRTH_DECISION_RECORDS as X, viewerLinkBaseOf as Xi, buildEventKindDescriptor as Xn, mayWriteToLocation as Xr, NcTaxonomySchema as Xt, MAX_ARCHIVED_DEBUG_NOTES as Y, vectorDimFromBase64 as Yi, audioModeOf as Yn, linkedStepOf as Yr, NcSystemEventKindSchema as Yt, MAX_BIRTH_LATENCY_PROXY_MS as Z, withSystemEventClasses as Zi, buildSubjectPath as Zn, memoizePinnedFfmpeg as Zr, NcTemplatePreviewInputSchema as Zt, AlarmArmModeSchema as _, normalizeNodeId as _a, resolveDeliveryParams as _i, SCENE_DEFAULT_UNCOVERED_POLICY as _n, embeddingModelFailedError as _r, NC_CONFIRM_DEFAULT_TIMEOUT_MS as _t, CLIP_EMBEDDING_STEP_ID as a, CamProfileSchema as aa, paletteResultSchema as ai, RECORDING_SOURCE_CAMSTACK_ADDON as an, coreBlockIdFromAddonId as ar, NC_ALARM_DELAY_FIELDS as at, BaseDevice as b, _enum as ba, resolveModeNotifyPolicy as bi, SceneMonitorSchema as bn, embeddingRequirementsUnavailableError as br, NC_DEFAULT_SNOOZE_MINUTES as bt, readClusterModelPinStrict as c, RECORD_QUERY_MAX as ca, pickFaceRescoreIntervalMinutes as ci, RetrainOriginSchema as cn, deleteAlarmProfile as cr, NC_ALARM_SYSTEM_EVENT_KINDS as ct, APPEARANCE_BIN_COUNT as d, defineAddonMigrations as da, projectSubjectPath as di, SCENE_CONFIRM_DEFAULT_MAX_IMAGE_PX as dn, deriveRecordingMode as dr, NC_AUDIO_CONFIRM_WINDOW_SEC_DEFAULT as dt, canonicalHash as ea, normalizeNcCapTarget as ei, OPS_LOG_DEFAULT_LIMIT as en, calendarEventLocalSpan as er, MOTION_CLOSE_AFTER_MS as et, APPEARANCE_BLOCKS as f, defineCustomActions as fa, readDeviceStateFrom as fi, SCENE_CONFIRM_DEFAULT_TIMEOUT_MS as fn, describeSystemEventDeliveryProblem as fr, NC_CLIP_POST_ROLL_DEFAULT_SEC as ft, ActionTargetResolver as g, nodePin as ga, resolveClipSearchMinScore as gi, SCENE_DEFAULT_QUIET_SECONDS as gn, embeddingEncoderCapability as gr, NC_CONFIRM_DEFAULT_MAX_IMAGE_PX as gt, AUDIO_MACRO_LABELS as h, isDeviceScopedCap as ha, renameAlarmProfile as hi, SCENE_DEFAULT_OBSERVATION_SPACING_SEC as hn, deviceRemovalHookCapability as hr, NC_CONDITION_CATALOG as ht, CLIP_TEXT_MODELS as i, CAP_ADVANCE_FIELDS as ia, paintHex as ii, RECORDING_EXPORT_MAX_READ_BYTES as in, consumableLowPercentOf as ir, NC_ALARM_DEFAULT_TRIGGERED_DURATION_SEC as it, DETECTION_PIPELINE_CAP_NAME as j, string as ja, secureActuationFor as ji, TrackRelationKindSchema as jn, isAlertEpisodeSeverity as jr, NcAlarmPostTriggeredActionSchema as jt, DEFAULT_TIMELAPSE_PREVIEW_TEXT as k, record as ka, ruleKindOf as ki, TrackPlacementSchema as kn, isAlarmControllableCap as kr, NC_TEMPLATE_VARS as kt, resolveClusterModelPin as l, createEvent as la, pipelineAnalyticsCapability as li, RetrainStatusSchema as ln, deriveDetailCropRect as lr, NC_ALARM_TRIGGERED_MAX_SEC as lt, ARCHIVED_DEBUG_NOTES_DEFAULT_LIMIT as m, hydrateSchema as ma, readTimelapseGeneratedAt as mi, SCENE_DEFAULT_CHECK_INTERVAL_SEC as mn, deviceAttentionKind as mr, NC_CLIP_RETENTION_MAX_SEC as mt, DEFAULT_CLIP_MODEL as n, isSourceCap as na, notificationRulesCapability as ni, PackageLlmVerdictSchema as nn, cloneAlarmSettings as nr, MotionTriggeredBySchema as nt, CLUSTER_MODEL_OWNER_ADDON_ID as o, InvalidRecordError as oa, parseAlertEpisodePayload as oi, RebuildObjectEmbeddingsRefusalSchema as on, cosineSimilarity as or, NC_ALARM_DELAY_MAX_SEC as ot, APPEARANCE_RESOLVES_AMBIGUITY_DEFAULT as p, defineRecordKinds as pa, readMotionTriggeredBy as pi, SCENE_DEFAULT_ANCHOR_THRESHOLD as pn, describeSystemEventFamilyProblem as pr, NC_CLIP_PRE_ROLL_DEFAULT_SEC as pt, ListTrackRelationsResultSchema as q, templateCarriesSummary as qi, assertTimelapseCadences as qn, isVectorIndexDimConflict as qr, NcSnoozeSuppressedSchema as qt, CLIP_IMAGE_MODELS as r, BaseAddon as ra, occupancyScope as ri, PoolMemoryWatchdog as rn, consumableFormOf as rr, NC_ALARM_DEFAULT_PROFILE_ID as rt, FACE_EMBEDDING_STEP_ID as s, RECORD_MAX_DATA_BYTES as sa, parseProcStatus as si, RetrainDismissedSchema as sn, createAlarmProfile as sr, NC_ALARM_NOTIFY_FIELDS as st, BUILTIN_CLIP_MODELS as t, evaluateSensorEdge as ta, normalizeNcMediaPolicy as ti, OpsLogEntrySchema as tn, classifyRetrainReview as tr, MediaFileKindEnum as tt, ACTION_TARGET_INVALIDATION_EVENTS as u, customAction as ua, plateGalleryCapability as ui, RetrainVerdictSubjectSchema as un, derivePostTriggeredAction as ur, NC_AUDIO_CONFIRM_HITS_DEFAULT as ut, ArchivedDebugNoteSchema as v, sleep as va, resolveLocationMode as vi, SCENE_DIVERGED as vn, embeddingRefusalOf as vr, NC_CONSUMABLE_LOW_PERCENT_DEFAULT as vt, ClearTrackRelationInputSchema as w, literal as wa, rootSupplyServes as wi, TIMELAPSE_DENSE_FLOOR_SEC as wn, evictionPolicyOfLocation as wr, NC_SENSOR_TRANSITION_KINDS as wt, BirthDecisionRecordSchema as x, array as xa, resolveNcMediaImage as xi, SetTrackPurityInputSchema as xn, encodeVectorBase64 as xr, NC_GROUPING_DEFAULT_SEC as xt, BIRTH_DECISION_DEFAULT_LIMIT as y, ZodObject as ya, resolveModeDelays as yi, SCENE_RESET_RECAPTURES as yn, embeddingRequirementsFailedError as yr, NC_CONSUMABLE_SYSTEM_EVENT_KINDS as yt, EVENT_OWNER_TYPES as z, summarizeReview as zi, alertEpisodeId as zn, isKnownTemplateVar as zr, NcRulePatchSchema as zt };
103180
+ export { MAX_TRACK_RELATIONS as $, zoneAnalyticsCapability as $i, buildViewerLink as $n, ncMediaPolicyError as $r, NcTemplatePreviewSchema as $t, DETECTION_MACRO_CLASSES as A, record as Aa, ruleKindOf as Ai, TrackPlacementSchema as An, isAlarmControllableCap as Ar, NcAlarmConfigSchema as At, EXPORT_DENSE_MAX_RANGES as B, summarizeReview as Bi, alertEpisodeId as Bn, isKnownTemplateVar as Br, NcRuleSchema as Bt, COCO_TO_MACRO as C, boolean as Ca, resolvePoolMemoryPolicy as Ci, SetTrackPurityResultSchema as Cn, ensureAlarmProfiles as Cr, NC_GROUPING_MIN_SEC as Ct, DEFAULT_DETAIL_CROP_CONVENTION as D, number as Da, ruleBelongsToAlarm as Di, TimelapseRuleInputSchema as Dn, failureContributionCapability as Dr, NC_SYSTEM_EVENT_KIND_GROUP_SPECS as Dt, CoverStateSchema as E, looseObject as Ea, ruleAutoTriggersAlarm as Ei, TRACK_RELATIONS_DEFAULT_LIMIT as En, faceGalleryCapability as Er, NC_STATE_SUMMARY_SECTION_IDS as Et, EMBEDDING_REQUIREMENTS_FAILED as F, union as Fa, startMoverUnderClearance as Fi, TrackSourceSchema as Fn, isDefaultAlarmProfileId as Fr, NcConditionDescriptorSchema as Ft, LabelAttributionSchema as G, systemEventFilterApplies as Gi, applyNonBlockingEdit as Gn, isScheduleActive as Gr, NcSnoozeInputSchema as Gt, FULL_IMAGE_BBOX as H, syncActiveAlarmProfileSettings as Hi, alertEpisodePayload as Hn, isMediaOwnerType as Hr, NcRuleUpdateInputSchema as Ht, EMBEDDING_REQUIREMENTS_UNAVAILABLE as I, unknown as Ia, storageOccupancyCapability as Ii, activateAlarmProfile as In, isDetectionMacroClass as Ir, NcConditionsSchema as It, LockStateSchema as J, templateCarriesSummary as Ji, assertTimelapseCadences as Jn, isVectorIndexDimConflict as Jr, NcStateSummarySectionIdSchema as Jt, ListTrackRelationsInputSchema as K, systemEventSummaryScheduleOf as Ki, applySecureOnArmEdit as Kn, isSystemDelivery as Kr, NcSnoozeSchema as Kt, EVENT_DENSITY_BATCH_MAX as L, DeviceType as La, subKindsOf as Li, addonWidgetsSourceCapability as Ln, isDrawableSubjectPath as Lr, NcRuleActionSchema as Lt, DeclaredDevices as M, string as Ma, secureActuationFor as Mi, TrackRelationKindSchema as Mn, isAlertEpisodeSeverity as Mr, NcAlarmSensorsInputSchema as Mt, DetectionSourceSchema as N, templateLiteral as Na, sensorRaisedOf as Ni, TrackRelationSchema as Nn, isAppLinkBase as Nr, NcAlarmSensorsSchema as Nt, DEFAULT_EVENT_COLOR as O, object as Oa, ruleDeviceCompatCapQueries as Oi, TimelapseRulePatchSchema as On, gifDeriveSpeed as Or, NC_TAXONOMY as Ot, EMBEDDING_MODEL_FAILED as P, tuple as Pa, servedTemplateVars as Pi, TrackSideSchema as Pn, isAudioClassName as Pr, NcAlarmSettingsPatchSchema as Pt, MAX_TRACK_PURITIES as Q, withSystemEventClasses as Qi, buildSubjectPath as Qn, memoizePinnedFfmpeg as Qr, NcTemplatePreviewInputSchema as Qt, EVENT_KIND_BY_CAP as R, errMsg as Ra, subjectPathSampleFromBox as Ri, alarmDeviceSecureOnArm as Rn, isEventKindLabelKey as Rr, NcRuleInputSchema as Rt, BucketAccumulator as S, array as Sa, resolveNcMediaImage as Si, SetTrackPurityInputSchema as Sn, encodeVectorBase64 as Sr, NC_GROUPING_MAX_SEC as St, ClearTrackRelationResultSchema as T, literal as Ta, rootSupplyServes as Ti, TIMELAPSE_DENSE_FLOOR_SEC as Tn, evictionPolicyOfLocation as Tr, NC_SNOOZE_MAX_MINUTES as Tt, FailureCounters as U, systemEventDeliveryProblems as Ui, applyBlockingEdit as Un, isRetiredClearKey as Ur, NcScheduleSchema as Ut, FIRST_LEVEL_MACRO_CLASSES as V, sunTimes as Vi, alertEpisodeKind as Vn, isLabelSupplyStepId as Vr, NcRuleTargetSchema as Vt, LABEL_SUPPLY_MACRO as W, systemEventFamilyProblems as Wi, applyModeDelaysEdits as Wn, isRootSuppliableStepId as Wr, NcSharedSequenceSchema as Wt, MAX_BIRTH_DECISION_RECORDS as X, vectorDimFromBase64 as Xi, audioModeOf as Xn, linkedStepOf as Xr, NcTaxonomySchema as Xt, MAX_ARCHIVED_DEBUG_NOTES as Y, templateVarsFor as Yi, audioMetricsCapability as Yn, kebabToCamel as Yr, NcSystemEventKindSchema as Yt, MAX_BIRTH_LATENCY_PROXY_MS as Z, viewerLinkBaseOf as Zi, buildEventKindDescriptor as Zn, mayWriteToLocation as Zr, NcTemplateDefaultSchema as Zt, AlarmArmModeSchema as _, nodePin as _a, resolveClipSearchMinScore as _i, SCENE_DEFAULT_QUIET_SECONDS as _n, embeddingEncoderCapability as _r, NC_CONFIRM_DEFAULT_TIMEOUT_MS as _t, CLIP_EMBEDDING_STEP_ID as a, CAP_ADVANCE_FIELDS as aa, paintHex as ai, RECORDING_EXPORT_MAX_READ_BYTES as an, consumableLowPercentOf as ar, NC_ALARM_DELAY_FIELDS as at, BaseDevice as b, ZodObject as ba, resolveModeDelays as bi, SCENE_RESET_RECAPTURES as bn, embeddingRequirementsFailedError as br, NC_DEFAULT_SNOOZE_MINUTES as bt, readClusterModelPinStrict as c, RECORD_MAX_DATA_BYTES as ca, parseProcStatus as ci, RetrainDismissedSchema as cn, createAlarmProfile as cr, NC_ALARM_SYSTEM_EVENT_KINDS as ct, APPEARANCE_BIN_COUNT as d, customAction as da, plateGalleryCapability as di, RetrainVerdictSubjectSchema as dn, derivePostTriggeredAction as dr, NC_AUDIO_CONFIRM_WINDOW_SEC_DEFAULT as dt, DEFAULT_FIRST_SIGHTING_FRESHNESS_MS as ea, normalizeNcAction as ei, NcTemplateVarDescriptorSchema as en, bundledCamstack as er, MOTION_CLOSE_AFTER_MS as et, APPEARANCE_BLOCKS as f, defineAddonMigrations as fa, projectSubjectPath as fi, SCENE_CONFIRM_DEFAULT_MAX_IMAGE_PX as fn, deriveRecordingMode as fr, NC_CLIP_POST_ROLL_DEFAULT_SEC as ft, ActionTargetResolver as g, isDeviceScopedCap as ga, renameAlarmProfile as gi, SCENE_DEFAULT_OBSERVATION_SPACING_SEC as gn, deviceRemovalHookCapability as gr, NC_CONFIRM_DEFAULT_MAX_IMAGE_PX as gt, AUDIO_MACRO_LABELS as h, hydrateSchema as ha, readTimelapseGeneratedAt as hi, SCENE_DEFAULT_CHECK_INTERVAL_SEC as hn, deviceAttentionKind as hr, NC_CONDITION_CATALOG as ht, CLIP_TEXT_MODELS as i, BaseAddon as ia, occupancyScope as ii, PoolMemoryWatchdog as in, consumableFormOf as ir, NC_ALARM_DEFAULT_TRIGGERED_DURATION_SEC as it, DETECTION_PIPELINE_CAP_NAME as j, strictObject as ja, sceneMonitorCapability as ji, TrackPuritySchema as jn, isAlertEpisodeOpen as jr, NcAlarmPostTriggeredActionSchema as jt, DEFAULT_TIMELAPSE_PREVIEW_TEXT as k, partialRecord as ka, ruleGroupingApplies as ki, TimelapseRuleSchema as kn, gifFromMp4Args as kr, NC_TEMPLATE_VARS as kt, resolveClusterModelPin as l, RECORD_QUERY_MAX as la, pickFaceRescoreIntervalMinutes as li, RetrainOriginSchema as ln, deleteAlarmProfile as lr, NC_ALARM_TRIGGERED_MAX_SEC as lt, ARCHIVED_DEBUG_NOTES_DEFAULT_LIMIT as m, defineRecordKinds as ma, readMotionTriggeredBy as mi, SCENE_DEFAULT_ANCHOR_THRESHOLD as mn, describeSystemEventFamilyProblem as mr, NC_CLIP_RETENTION_MAX_SEC as mt, DEFAULT_CLIP_MODEL as n, evaluateSensorEdge as na, normalizeNcMediaPolicy as ni, OpsLogEntrySchema as nn, classifyRetrainReview as nr, MotionTriggeredBySchema as nt, CLUSTER_MODEL_OWNER_ADDON_ID as o, CamProfileSchema as oa, paletteResultSchema as oi, RECORDING_SOURCE_CAMSTACK_ADDON as on, coreBlockIdFromAddonId as or, NC_ALARM_DELAY_MAX_SEC as ot, APPEARANCE_RESOLVES_AMBIGUITY_DEFAULT as p, defineCustomActions as pa, readDeviceStateFrom as pi, SCENE_CONFIRM_DEFAULT_TIMEOUT_MS as pn, describeSystemEventDeliveryProblem as pr, NC_CLIP_PRE_ROLL_DEFAULT_SEC as pt, ListTrackRelationsResultSchema as q, systemEventSummarySplitOf as qi, armRemovalReconcile as qn, isSystemEventSummaryRule as qr, NcSnoozeSuppressedSchema as qt, CLIP_IMAGE_MODELS as r, isSourceCap as ra, notificationRulesCapability as ri, PackageLlmVerdictSchema as rn, cloneAlarmSettings as rr, NC_ALARM_DEFAULT_PROFILE_ID as rt, FACE_EMBEDDING_STEP_ID as s, InvalidRecordError as sa, parseAlertEpisodePayload as si, RebuildObjectEmbeddingsRefusalSchema as sn, cosineSimilarity as sr, NC_ALARM_NOTIFY_FIELDS as st, BUILTIN_CLIP_MODELS as t, canonicalHash as ta, normalizeNcCapTarget as ti, OPS_LOG_DEFAULT_LIMIT as tn, calendarEventLocalSpan as tr, MediaFileKindEnum as tt, ACTION_TARGET_INVALIDATION_EVENTS as u, createEvent as ua, pipelineAnalyticsCapability as ui, RetrainStatusSchema as un, deriveDetailCropRect as ur, NC_AUDIO_CONFIRM_HITS_DEFAULT as ut, ArchivedDebugNoteSchema as v, normalizeNodeId as va, resolveDeliveryParams as vi, SCENE_DEFAULT_UNCOVERED_POLICY as vn, embeddingModelFailedError as vr, NC_CONSUMABLE_LOW_PERCENT_DEFAULT as vt, ClearTrackRelationInputSchema as w, discriminatedUnion as wa, retrainRevisionConflictMessage as wi, SetTrackRelationInputSchema as wn, eventKindLabel as wr, NC_SENSOR_TRANSITION_KINDS as wt, BirthDecisionRecordSchema as x, _enum as xa, resolveModeNotifyPolicy as xi, SceneMonitorSchema as xn, embeddingRequirementsUnavailableError as xr, NC_GROUPING_DEFAULT_SEC as xt, BIRTH_DECISION_DEFAULT_LIMIT as y, sleep as ya, resolveLocationMode as yi, SCENE_DIVERGED as yn, embeddingRefusalOf as yr, NC_CONSUMABLE_SYSTEM_EVENT_KINDS as yt, EVENT_OWNER_TYPES as z, EventCategory as za, subjectPathSvgPoints as zi, alarmPanelCapability as zn, isEventOwnerType as zr, NcRulePatchSchema as zt };