@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.
- package/CHANGELOG.md +8 -0
- package/dist/{clip-model-registry-Ch9Sz-Qb.mjs → clip-model-registry-DZTzG2p4.mjs} +292 -132
- package/dist/{clip-model-registry-TeNUAAPP.js → clip-model-registry-nn_STiGt.js} +297 -131
- package/dist/embedding-encoder/index.js +1 -1
- package/dist/embedding-encoder/index.mjs +1 -1
- package/dist/pipeline-analytics/_stub.js +2 -2
- 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
- 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
- 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
- package/dist/pipeline-analytics/{hostInit-BZ_D3_sF.mjs → hostInit-BAYLsfoZ.mjs} +2 -2
- package/dist/pipeline-analytics/index.js +316 -38
- package/dist/pipeline-analytics/index.mjs +316 -38
- package/dist/pipeline-analytics/remoteEntry.js +1 -1
- package/package.json +2 -2
- 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
- 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
|
@@ -6063,7 +6063,7 @@ var ZodIssueCode = {
|
|
|
6063
6063
|
var ZodFirstPartyTypeKind;
|
|
6064
6064
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
6065
6065
|
//#endregion
|
|
6066
|
-
//#region ../types/dist/sleep-
|
|
6066
|
+
//#region ../types/dist/sleep-hmSP-eJt.mjs
|
|
6067
6067
|
/**
|
|
6068
6068
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
6069
6069
|
* window to float samples (D455).
|
|
@@ -9830,6 +9830,7 @@ var CAP_NAMES = Object.freeze([
|
|
|
9830
9830
|
"backup",
|
|
9831
9831
|
"battery",
|
|
9832
9832
|
"binary",
|
|
9833
|
+
"board-key-source",
|
|
9833
9834
|
"brightness",
|
|
9834
9835
|
"broker",
|
|
9835
9836
|
"button",
|
|
@@ -9951,6 +9952,7 @@ var CAP_NAMES = Object.freeze([
|
|
|
9951
9952
|
"privacy-mask",
|
|
9952
9953
|
"ptz",
|
|
9953
9954
|
"ptz-autotrack",
|
|
9955
|
+
"pump-cycle",
|
|
9954
9956
|
"reboot",
|
|
9955
9957
|
"record-entries",
|
|
9956
9958
|
"recording",
|
|
@@ -11243,18 +11245,6 @@ Object.freeze({
|
|
|
11243
11245
|
"path": "pumpRunning",
|
|
11244
11246
|
"valueType": "boolean"
|
|
11245
11247
|
},
|
|
11246
|
-
{
|
|
11247
|
-
"path": "pumpIntervalEnabled",
|
|
11248
|
-
"valueType": "boolean"
|
|
11249
|
-
},
|
|
11250
|
-
{
|
|
11251
|
-
"path": "pumpOnTime",
|
|
11252
|
-
"valueType": "number"
|
|
11253
|
-
},
|
|
11254
|
-
{
|
|
11255
|
-
"path": "pumpOffTime",
|
|
11256
|
-
"valueType": "number"
|
|
11257
|
-
},
|
|
11258
11248
|
{
|
|
11259
11249
|
"path": "lastDrink",
|
|
11260
11250
|
"valueType": "number"
|
|
@@ -11378,6 +11368,20 @@ Object.freeze({
|
|
|
11378
11368
|
"valueType": "number"
|
|
11379
11369
|
}
|
|
11380
11370
|
],
|
|
11371
|
+
"pump-cycle": [
|
|
11372
|
+
{
|
|
11373
|
+
"path": "enabled",
|
|
11374
|
+
"valueType": "boolean"
|
|
11375
|
+
},
|
|
11376
|
+
{
|
|
11377
|
+
"path": "onTime",
|
|
11378
|
+
"valueType": "number"
|
|
11379
|
+
},
|
|
11380
|
+
{
|
|
11381
|
+
"path": "offTime",
|
|
11382
|
+
"valueType": "number"
|
|
11383
|
+
}
|
|
11384
|
+
],
|
|
11381
11385
|
"recording-archive": [
|
|
11382
11386
|
{
|
|
11383
11387
|
"path": "deviceId",
|
|
@@ -11829,7 +11833,7 @@ Object.freeze({
|
|
|
11829
11833
|
* can answer "may a rule actuate this?" without importing the schema barrel
|
|
11830
11834
|
* (~144MB RSS per runner, D28).
|
|
11831
11835
|
*
|
|
11832
|
-
* Coverage:
|
|
11836
|
+
* Coverage: 102 device-scoped capabilities.
|
|
11833
11837
|
*/
|
|
11834
11838
|
var DEVICE_SCOPED_CAPS = new Set([
|
|
11835
11839
|
"accessories",
|
|
@@ -11906,6 +11910,7 @@ var DEVICE_SCOPED_CAPS = new Set([
|
|
|
11906
11910
|
"privacy-mask",
|
|
11907
11911
|
"ptz",
|
|
11908
11912
|
"ptz-autotrack",
|
|
11913
|
+
"pump-cycle",
|
|
11909
11914
|
"reboot",
|
|
11910
11915
|
"recording",
|
|
11911
11916
|
"recording-onboard",
|
|
@@ -20451,24 +20456,52 @@ var APPLIANCE_CAP_VOCABULARY = {
|
|
|
20451
20456
|
args: { on: false }
|
|
20452
20457
|
},
|
|
20453
20458
|
{
|
|
20454
|
-
id: "petFountain.
|
|
20455
|
-
method: "
|
|
20459
|
+
id: "petFountain.resetDailyConsumption",
|
|
20460
|
+
method: "resetDailyConsumption",
|
|
20461
|
+
label: t("Clear daily consumption", "Azzera il consumo giornaliero"),
|
|
20462
|
+
phrase: t("Clear the daily water consumption of {device}", "Azzera il consumo giornaliero di acqua di {device}"),
|
|
20463
|
+
icon: "rotate-ccw"
|
|
20464
|
+
}
|
|
20465
|
+
],
|
|
20466
|
+
state: [{
|
|
20467
|
+
kind: "boolean",
|
|
20468
|
+
field: "empty",
|
|
20469
|
+
label: t("Tank empty", "Serbatoio vuoto"),
|
|
20470
|
+
whenTrue: t("When the tank of {device} is empty", "Quando il serbatoio di {device} è vuoto"),
|
|
20471
|
+
whenFalse: t("When the tank of {device} is refilled", "Quando il serbatoio di {device} viene riempito"),
|
|
20472
|
+
icon: "droplet"
|
|
20473
|
+
}, {
|
|
20474
|
+
kind: "numeric",
|
|
20475
|
+
field: "waterLevel",
|
|
20476
|
+
quantity: t("the water level", "il livello dell’acqua"),
|
|
20477
|
+
label: t("Water level", "Livello dell’acqua"),
|
|
20478
|
+
unit: "%",
|
|
20479
|
+
icon: "droplets"
|
|
20480
|
+
}]
|
|
20481
|
+
},
|
|
20482
|
+
"pump-cycle": {
|
|
20483
|
+
scope: "device",
|
|
20484
|
+
noun: t("Pump cycle", "Ciclo della pompa"),
|
|
20485
|
+
actions: [
|
|
20486
|
+
{
|
|
20487
|
+
id: "pumpCycle.on",
|
|
20488
|
+
method: "setEnabled",
|
|
20456
20489
|
label: t("Pump cycle on", "Ciclo pompa attivo"),
|
|
20457
20490
|
phrase: t("Run the pump of {device} on its on/off cycle", "Fai lavorare la pompa di {device} a ciclo acceso/spento"),
|
|
20458
20491
|
icon: "timer",
|
|
20459
20492
|
args: { on: true }
|
|
20460
20493
|
},
|
|
20461
20494
|
{
|
|
20462
|
-
id: "
|
|
20463
|
-
method: "
|
|
20495
|
+
id: "pumpCycle.off",
|
|
20496
|
+
method: "setEnabled",
|
|
20464
20497
|
label: t("Pump cycle off", "Ciclo pompa spento"),
|
|
20465
20498
|
phrase: t("Run the pump of {device} continuously", "Fai lavorare la pompa di {device} in continuo"),
|
|
20466
20499
|
icon: "timer-off",
|
|
20467
20500
|
args: { on: false }
|
|
20468
20501
|
},
|
|
20469
20502
|
{
|
|
20470
|
-
id: "
|
|
20471
|
-
method: "
|
|
20503
|
+
id: "pumpCycle.onMinutes",
|
|
20504
|
+
method: "setOnMinutes",
|
|
20472
20505
|
label: t("Set pump run time", "Imposta il tempo di lavoro della pompa"),
|
|
20473
20506
|
phrase: t("Set the pump of {device} to run {minutes} minutes per cycle", "Imposta la pompa di {device} a lavorare {minutes} minuti per ciclo"),
|
|
20474
20507
|
icon: "timer",
|
|
@@ -20484,8 +20517,8 @@ var APPLIANCE_CAP_VOCABULARY = {
|
|
|
20484
20517
|
}]
|
|
20485
20518
|
},
|
|
20486
20519
|
{
|
|
20487
|
-
id: "
|
|
20488
|
-
method: "
|
|
20520
|
+
id: "pumpCycle.offMinutes",
|
|
20521
|
+
method: "setOffMinutes",
|
|
20489
20522
|
label: t("Set pump rest time", "Imposta il tempo di riposo della pompa"),
|
|
20490
20523
|
phrase: t("Set the pump of {device} to rest {minutes} minutes per cycle", "Imposta la pompa di {device} a riposare {minutes} minuti per ciclo"),
|
|
20491
20524
|
icon: "timer-off",
|
|
@@ -20499,29 +20532,15 @@ var APPLIANCE_CAP_VOCABULARY = {
|
|
|
20499
20532
|
unit: "min"
|
|
20500
20533
|
}
|
|
20501
20534
|
}]
|
|
20502
|
-
},
|
|
20503
|
-
{
|
|
20504
|
-
id: "petFountain.resetDailyConsumption",
|
|
20505
|
-
method: "resetDailyConsumption",
|
|
20506
|
-
label: t("Clear daily consumption", "Azzera il consumo giornaliero"),
|
|
20507
|
-
phrase: t("Clear the daily water consumption of {device}", "Azzera il consumo giornaliero di acqua di {device}"),
|
|
20508
|
-
icon: "rotate-ccw"
|
|
20509
20535
|
}
|
|
20510
20536
|
],
|
|
20511
20537
|
state: [{
|
|
20512
20538
|
kind: "boolean",
|
|
20513
|
-
field: "
|
|
20514
|
-
label: t("
|
|
20515
|
-
whenTrue: t("When
|
|
20516
|
-
whenFalse: t("When
|
|
20517
|
-
icon: "
|
|
20518
|
-
}, {
|
|
20519
|
-
kind: "numeric",
|
|
20520
|
-
field: "waterLevel",
|
|
20521
|
-
quantity: t("the water level", "il livello dell’acqua"),
|
|
20522
|
-
label: t("Water level", "Livello dell’acqua"),
|
|
20523
|
-
unit: "%",
|
|
20524
|
-
icon: "droplets"
|
|
20539
|
+
field: "enabled",
|
|
20540
|
+
label: t("Pump cycle", "Ciclo pompa"),
|
|
20541
|
+
whenTrue: t("When {device} starts running its pump on a cycle", "Quando {device} inizia a far lavorare la pompa a ciclo"),
|
|
20542
|
+
whenFalse: t("When {device} runs its pump continuously", "Quando {device} fa lavorare la pompa in continuo"),
|
|
20543
|
+
icon: "timer"
|
|
20525
20544
|
}]
|
|
20526
20545
|
},
|
|
20527
20546
|
"media-player": {
|
|
@@ -22414,6 +22433,7 @@ var SYSTEM_CAP_VOCABULARY = {
|
|
|
22414
22433
|
"audio-analyzer": system(PIPELINE),
|
|
22415
22434
|
"audio-codec": system(INTERNAL),
|
|
22416
22435
|
"auth-provider": system(IDENTITY),
|
|
22436
|
+
"board-key-source": system(INTERNAL),
|
|
22417
22437
|
backup: system("system backups — run and restored from the Backups page"),
|
|
22418
22438
|
broker: system("message-broker connections — configured, not actuated"),
|
|
22419
22439
|
"calendar-source": system(INTERNAL),
|
|
@@ -47564,6 +47584,49 @@ var binaryCapability = {
|
|
|
47564
47584
|
volatileStateFields: ["lastChangedAt"]
|
|
47565
47585
|
};
|
|
47566
47586
|
/**
|
|
47587
|
+
* Why a board key could not be read. Typed so a caller reports the cause and
|
|
47588
|
+
* never treats "could not read" as "has no key" (D49).
|
|
47589
|
+
*/
|
|
47590
|
+
var BoardKeyFailureReasonSchema = _enum([
|
|
47591
|
+
"unknown-source",
|
|
47592
|
+
"not-admin",
|
|
47593
|
+
"no-builder",
|
|
47594
|
+
"no-ingress-url",
|
|
47595
|
+
"unreachable",
|
|
47596
|
+
"unknown-board",
|
|
47597
|
+
"no-encryption-key",
|
|
47598
|
+
"unreadable-config"
|
|
47599
|
+
]);
|
|
47600
|
+
var BoardKeySourceSchema = object({
|
|
47601
|
+
sourceId: string(),
|
|
47602
|
+
name: string()
|
|
47603
|
+
});
|
|
47604
|
+
var BoardKeyBoardSchema = object({
|
|
47605
|
+
/** The builder's file name, e.g. `kitchen.yaml`: the handle `getBoardKey` takes. */
|
|
47606
|
+
configuration: string(),
|
|
47607
|
+
/** The node name the builder gives the board. */
|
|
47608
|
+
name: string(),
|
|
47609
|
+
/** The address the builder knows the board by, when it has one. */
|
|
47610
|
+
address: string().nullable()
|
|
47611
|
+
});
|
|
47612
|
+
var BoardKeyFailureSchema = object({
|
|
47613
|
+
ok: literal(false),
|
|
47614
|
+
reason: BoardKeyFailureReasonSchema,
|
|
47615
|
+
detail: string().optional()
|
|
47616
|
+
});
|
|
47617
|
+
var ListBoardsResultSchema = discriminatedUnion("ok", [object({
|
|
47618
|
+
ok: literal(true),
|
|
47619
|
+
boards: array(BoardKeyBoardSchema).readonly()
|
|
47620
|
+
}), BoardKeyFailureSchema]);
|
|
47621
|
+
var GetBoardKeyResultSchema = discriminatedUnion("ok", [object({
|
|
47622
|
+
ok: literal(true),
|
|
47623
|
+
key: string()
|
|
47624
|
+
}), BoardKeyFailureSchema]);
|
|
47625
|
+
method(_void(), array(BoardKeySourceSchema).readonly(), { auth: "admin" }), method(object({ sourceId: string().min(1) }), ListBoardsResultSchema, { auth: "admin" }), method(object({
|
|
47626
|
+
sourceId: string().min(1),
|
|
47627
|
+
configuration: string().min(1)
|
|
47628
|
+
}), GetBoardKeyResultSchema, { auth: "admin" });
|
|
47629
|
+
/**
|
|
47567
47630
|
* Dimmable-light brightness control. Co-exists with `switch` on the
|
|
47568
47631
|
* same device — the switch toggles on/off, this cap sets the level
|
|
47569
47632
|
* applied when the light is on. Drivers map their per-vendor dim
|
|
@@ -54145,7 +54208,7 @@ var DishwasherStatusSchema = object({
|
|
|
54145
54208
|
/** Ms epoch of the last value received from the appliance; 0 = never. */
|
|
54146
54209
|
lastFetchedAt: number()
|
|
54147
54210
|
});
|
|
54148
|
-
var DeviceIdSchema$
|
|
54211
|
+
var DeviceIdSchema$2 = number().int().nonnegative();
|
|
54149
54212
|
/** A value a program option or setting can take. */
|
|
54150
54213
|
var DishwasherValueSchema = union([
|
|
54151
54214
|
boolean(),
|
|
@@ -54220,77 +54283,77 @@ var dishwasherCapability = {
|
|
|
54220
54283
|
* option feature keys; each is checked against the program's constraints.
|
|
54221
54284
|
*/
|
|
54222
54285
|
start: method(object({
|
|
54223
|
-
deviceId: DeviceIdSchema$
|
|
54286
|
+
deviceId: DeviceIdSchema$2,
|
|
54224
54287
|
program: string().min(1).optional(),
|
|
54225
54288
|
options: record(string(), DishwasherValueSchema).optional()
|
|
54226
54289
|
}), _void(), {
|
|
54227
54290
|
kind: "mutation",
|
|
54228
54291
|
auth: "protected"
|
|
54229
54292
|
}),
|
|
54230
|
-
pause: method(object({ deviceId: DeviceIdSchema$
|
|
54293
|
+
pause: method(object({ deviceId: DeviceIdSchema$2 }), _void(), {
|
|
54231
54294
|
kind: "mutation",
|
|
54232
54295
|
auth: "protected"
|
|
54233
54296
|
}),
|
|
54234
|
-
resume: method(object({ deviceId: DeviceIdSchema$
|
|
54297
|
+
resume: method(object({ deviceId: DeviceIdSchema$2 }), _void(), {
|
|
54235
54298
|
kind: "mutation",
|
|
54236
54299
|
auth: "protected"
|
|
54237
54300
|
}),
|
|
54238
|
-
stop: method(object({ deviceId: DeviceIdSchema$
|
|
54301
|
+
stop: method(object({ deviceId: DeviceIdSchema$2 }), _void(), {
|
|
54239
54302
|
kind: "mutation",
|
|
54240
54303
|
auth: "protected"
|
|
54241
54304
|
}),
|
|
54242
54305
|
/** Select (not start) a program; refused when the appliance does not offer it. */
|
|
54243
54306
|
setProgram: method(object({
|
|
54244
|
-
deviceId: DeviceIdSchema$
|
|
54307
|
+
deviceId: DeviceIdSchema$2,
|
|
54245
54308
|
program: string().min(1)
|
|
54246
54309
|
}), _void(), {
|
|
54247
54310
|
kind: "mutation",
|
|
54248
54311
|
auth: "protected"
|
|
54249
54312
|
}),
|
|
54250
54313
|
setPower: method(object({
|
|
54251
|
-
deviceId: DeviceIdSchema$
|
|
54314
|
+
deviceId: DeviceIdSchema$2,
|
|
54252
54315
|
on: boolean()
|
|
54253
54316
|
}), _void(), {
|
|
54254
54317
|
kind: "mutation",
|
|
54255
54318
|
auth: "protected"
|
|
54256
54319
|
}),
|
|
54257
54320
|
setHalfLoad: method(object({
|
|
54258
|
-
deviceId: DeviceIdSchema$
|
|
54321
|
+
deviceId: DeviceIdSchema$2,
|
|
54259
54322
|
on: boolean()
|
|
54260
54323
|
}), _void(), {
|
|
54261
54324
|
kind: "mutation",
|
|
54262
54325
|
auth: "protected"
|
|
54263
54326
|
}),
|
|
54264
54327
|
setHygienePlus: method(object({
|
|
54265
|
-
deviceId: DeviceIdSchema$
|
|
54328
|
+
deviceId: DeviceIdSchema$2,
|
|
54266
54329
|
on: boolean()
|
|
54267
54330
|
}), _void(), {
|
|
54268
54331
|
kind: "mutation",
|
|
54269
54332
|
auth: "protected"
|
|
54270
54333
|
}),
|
|
54271
54334
|
setExtraDry: method(object({
|
|
54272
|
-
deviceId: DeviceIdSchema$
|
|
54335
|
+
deviceId: DeviceIdSchema$2,
|
|
54273
54336
|
on: boolean()
|
|
54274
54337
|
}), _void(), {
|
|
54275
54338
|
kind: "mutation",
|
|
54276
54339
|
auth: "protected"
|
|
54277
54340
|
}),
|
|
54278
54341
|
setIntensiveZone: method(object({
|
|
54279
|
-
deviceId: DeviceIdSchema$
|
|
54342
|
+
deviceId: DeviceIdSchema$2,
|
|
54280
54343
|
on: boolean()
|
|
54281
54344
|
}), _void(), {
|
|
54282
54345
|
kind: "mutation",
|
|
54283
54346
|
auth: "protected"
|
|
54284
54347
|
}),
|
|
54285
54348
|
setVarioSpeedPlus: method(object({
|
|
54286
|
-
deviceId: DeviceIdSchema$
|
|
54349
|
+
deviceId: DeviceIdSchema$2,
|
|
54287
54350
|
on: boolean()
|
|
54288
54351
|
}), _void(), {
|
|
54289
54352
|
kind: "mutation",
|
|
54290
54353
|
auth: "protected"
|
|
54291
54354
|
}),
|
|
54292
54355
|
setChildLock: method(object({
|
|
54293
|
-
deviceId: DeviceIdSchema$
|
|
54356
|
+
deviceId: DeviceIdSchema$2,
|
|
54294
54357
|
on: boolean()
|
|
54295
54358
|
}), _void(), {
|
|
54296
54359
|
kind: "mutation",
|
|
@@ -54302,7 +54365,7 @@ var dishwasherCapability = {
|
|
|
54302
54365
|
* its declared range / members.
|
|
54303
54366
|
*/
|
|
54304
54367
|
setOption: method(object({
|
|
54305
|
-
deviceId: DeviceIdSchema$
|
|
54368
|
+
deviceId: DeviceIdSchema$2,
|
|
54306
54369
|
key: string().min(1),
|
|
54307
54370
|
value: DishwasherValueSchema
|
|
54308
54371
|
}), _void(), {
|
|
@@ -54310,7 +54373,7 @@ var dishwasherCapability = {
|
|
|
54310
54373
|
auth: "protected"
|
|
54311
54374
|
}),
|
|
54312
54375
|
/** What this appliance can do, from its own description — the UI is derived from it. */
|
|
54313
|
-
getOptions: method(object({ deviceId: DeviceIdSchema$
|
|
54376
|
+
getOptions: method(object({ deviceId: DeviceIdSchema$2 }), DishwasherOptionsSchema, { auth: "protected" })
|
|
54314
54377
|
},
|
|
54315
54378
|
status: {
|
|
54316
54379
|
schema: DishwasherStatusSchema,
|
|
@@ -69136,6 +69199,21 @@ var NcTemplateVarKindSchema = _enum([
|
|
|
69136
69199
|
"sound",
|
|
69137
69200
|
"system"
|
|
69138
69201
|
]);
|
|
69202
|
+
/**
|
|
69203
|
+
* The default title/body a rule of one SITUATION is delivered with when the
|
|
69204
|
+
* operator wrote no template — served so an editor can pre-fill it (and the
|
|
69205
|
+
* operator can rebuild it from placeholders) instead of starting from a blank
|
|
69206
|
+
* box that, once saved, silently replaces it. `id` names the situation inside
|
|
69207
|
+
* a rule `kind`: `appliance-cycle` is a `sensor` rule whose device is an
|
|
69208
|
+
* appliance finishing a cycle. Texts are raw templates (`{{var}}` intact), in
|
|
69209
|
+
* the hub's current language and with its overrides applied.
|
|
69210
|
+
*/
|
|
69211
|
+
var NcTemplateDefaultSchema = object({
|
|
69212
|
+
id: _enum(["appliance-cycle"]),
|
|
69213
|
+
kind: NcRuleKindSchema,
|
|
69214
|
+
title: string(),
|
|
69215
|
+
body: string()
|
|
69216
|
+
});
|
|
69139
69217
|
/** Which producer renders a template: an ordinary rule, a timelapse, a digest. */
|
|
69140
69218
|
var NcTemplateFamilySchema = _enum([
|
|
69141
69219
|
"rule",
|
|
@@ -70698,7 +70776,11 @@ var notificationRulesCapability = {
|
|
|
70698
70776
|
taxonomy: NcTaxonomySchema.optional()
|
|
70699
70777
|
})),
|
|
70700
70778
|
/** The declared `{{var}}` vocabulary; editors filter it with `templateVarsFor`. */
|
|
70701
|
-
getTemplateCatalog: method(object({}), object({
|
|
70779
|
+
getTemplateCatalog: method(object({}), object({
|
|
70780
|
+
vars: array(NcTemplateVarDescriptorSchema),
|
|
70781
|
+
/** Per-situation default texts; absent on a hub that predates them. */
|
|
70782
|
+
defaults: array(NcTemplateDefaultSchema)
|
|
70783
|
+
})),
|
|
70702
70784
|
/**
|
|
70703
70785
|
* Render a template with example values, through the hub's text catalog.
|
|
70704
70786
|
* Pure: sends nothing. A MUTATION only for transport — a 2.5k-char draft in
|
|
@@ -71708,7 +71790,7 @@ var petFeederCapability = {
|
|
|
71708
71790
|
/**
|
|
71709
71791
|
* Pet water-fountain cap. Models the telemetry and the control surface of a
|
|
71710
71792
|
* circulating drinking fountain: how much water is in the tank, how much the
|
|
71711
|
-
* pet drank, whether the pump runs
|
|
71793
|
+
* pet drank, whether the pump runs.
|
|
71712
71794
|
*
|
|
71713
71795
|
* It has no native vendor provider of its own: a fountain reaches CamStack as
|
|
71714
71796
|
* a container of loose entities (a pump switch, two number boxes, a "filter
|
|
@@ -71724,8 +71806,10 @@ var petFeederCapability = {
|
|
|
71724
71806
|
* never here. Every reading may be `null`: a source that is offline or does
|
|
71725
71807
|
* not report is unknown, never zero.
|
|
71726
71808
|
*
|
|
71727
|
-
* The
|
|
71728
|
-
* cap
|
|
71809
|
+
* The pump's on/off duty cycle is model-specific and lives in the optional
|
|
71810
|
+
* `pump-cycle` cap. The filter, the cleaning and the water change are not
|
|
71811
|
+
* fields of this cap: they are items of the `consumables` cap on the same
|
|
71812
|
+
* device (kind `wear`), reset by the same forward mechanism.
|
|
71729
71813
|
*/
|
|
71730
71814
|
var PetFountainStatusSchema = object({
|
|
71731
71815
|
/** Water in the tank, 0..100 (%). Null while the source has not reported. */
|
|
@@ -71736,27 +71820,20 @@ var PetFountainStatusSchema = object({
|
|
|
71736
71820
|
empty: boolean().nullable(),
|
|
71737
71821
|
/** True while the pump is running. Null while unknown. */
|
|
71738
71822
|
pumpRunning: boolean().nullable(),
|
|
71739
|
-
/** True when the pump works on an on/off duty cycle rather than continuously. */
|
|
71740
|
-
pumpIntervalEnabled: boolean().nullable(),
|
|
71741
|
-
/** How long the pump runs per cycle, in seconds. */
|
|
71742
|
-
pumpOnTime: number().min(0).nullable().meta(readingMeta("duration")),
|
|
71743
|
-
/** How long the pump rests per cycle, in seconds. */
|
|
71744
|
-
pumpOffTime: number().min(0).nullable().meta(readingMeta("duration")),
|
|
71745
71823
|
/** Water drunk in the last drink, in litres. */
|
|
71746
71824
|
lastDrink: number().min(0).nullable().meta(readingMeta("volume")),
|
|
71747
71825
|
/** Water drunk in the current hour, in litres. */
|
|
71748
71826
|
currentHourDrink: number().min(0).nullable().meta(readingMeta("volume")),
|
|
71749
71827
|
/** Water drunk over the last 24 hours (rolling), in litres. */
|
|
71750
71828
|
last24hDrink: number().min(0).nullable().meta(readingMeta("volume")),
|
|
71751
|
-
/** Water drunk since local midnight, in litres. */
|
|
71829
|
+
/** Water drunk since local midnight, in litres. Null when the fountain has no such sensor. */
|
|
71752
71830
|
todayDrink: number().min(0).nullable().meta(readingMeta("volume")),
|
|
71753
71831
|
/** Decoded fault message. Null means healthy; a non-null string is an active fault. */
|
|
71754
71832
|
error: string().nullable(),
|
|
71755
71833
|
/** Ms epoch when the slice was last refreshed. */
|
|
71756
71834
|
lastFetchedAt: number()
|
|
71757
71835
|
});
|
|
71758
|
-
var DeviceIdSchema = number().int().nonnegative();
|
|
71759
|
-
var MinutesSchema = number().int().min(0);
|
|
71836
|
+
var DeviceIdSchema$1 = number().int().nonnegative();
|
|
71760
71837
|
var petFountainCapability = {
|
|
71761
71838
|
name: "pet-fountain",
|
|
71762
71839
|
scope: "device",
|
|
@@ -71766,38 +71843,14 @@ var petFountainCapability = {
|
|
|
71766
71843
|
methods: {
|
|
71767
71844
|
/** Start or stop the pump. */
|
|
71768
71845
|
setPump: method(object({
|
|
71769
|
-
deviceId: DeviceIdSchema,
|
|
71770
|
-
on: boolean()
|
|
71771
|
-
}), _void(), {
|
|
71772
|
-
kind: "mutation",
|
|
71773
|
-
auth: "protected"
|
|
71774
|
-
}),
|
|
71775
|
-
/** Switch the on/off duty cycle on or off (off = the pump runs continuously). */
|
|
71776
|
-
setPumpInterval: method(object({
|
|
71777
|
-
deviceId: DeviceIdSchema,
|
|
71846
|
+
deviceId: DeviceIdSchema$1,
|
|
71778
71847
|
on: boolean()
|
|
71779
71848
|
}), _void(), {
|
|
71780
71849
|
kind: "mutation",
|
|
71781
71850
|
auth: "protected"
|
|
71782
71851
|
}),
|
|
71783
|
-
/** Set how many minutes the pump runs per cycle. */
|
|
71784
|
-
setPumpOnMinutes: method(object({
|
|
71785
|
-
deviceId: DeviceIdSchema,
|
|
71786
|
-
minutes: MinutesSchema
|
|
71787
|
-
}), _void(), {
|
|
71788
|
-
kind: "mutation",
|
|
71789
|
-
auth: "protected"
|
|
71790
|
-
}),
|
|
71791
|
-
/** Set how many minutes the pump rests per cycle. */
|
|
71792
|
-
setPumpOffMinutes: method(object({
|
|
71793
|
-
deviceId: DeviceIdSchema,
|
|
71794
|
-
minutes: MinutesSchema
|
|
71795
|
-
}), _void(), {
|
|
71796
|
-
kind: "mutation",
|
|
71797
|
-
auth: "protected"
|
|
71798
|
-
}),
|
|
71799
71852
|
/** Clear the rolling daily consumption counters on the device. */
|
|
71800
|
-
resetDailyConsumption: method(object({ deviceId: DeviceIdSchema }), _void(), {
|
|
71853
|
+
resetDailyConsumption: method(object({ deviceId: DeviceIdSchema$1 }), _void(), {
|
|
71801
71854
|
kind: "mutation",
|
|
71802
71855
|
auth: "protected"
|
|
71803
71856
|
})
|
|
@@ -74165,6 +74218,79 @@ var ptzAutotrackCapability = {
|
|
|
74165
74218
|
*/
|
|
74166
74219
|
history: "none"
|
|
74167
74220
|
};
|
|
74221
|
+
/**
|
|
74222
|
+
* The on/off duty cycle of a pet fountain's pump. Some models run the pump
|
|
74223
|
+
* continuously and have nothing to configure; others can alternate a run time
|
|
74224
|
+
* and a rest time. That is model-specific, so it is its own optional cap on the
|
|
74225
|
+
* fountain device: a fountain without cycle entities simply never composes it
|
|
74226
|
+
* (planning#366), and the `pet-fountain` cap stays the model-independent core.
|
|
74227
|
+
*
|
|
74228
|
+
* Like `pet-fountain` it has no native vendor provider: an operator BUILDS the
|
|
74229
|
+
* cycle from loose entities (a cycle switch and two number boxes) and every
|
|
74230
|
+
* method is a forward to one source entity (D659, D967). Durations are stored
|
|
74231
|
+
* in SECONDS (D944); a number box that cannot be read back leaves them `null`
|
|
74232
|
+
* — unknown, never zero (D393).
|
|
74233
|
+
*/
|
|
74234
|
+
var PumpCycleStatusSchema = object({
|
|
74235
|
+
/** True when the pump works on the on/off cycle, false when it runs continuously. Null while unknown. */
|
|
74236
|
+
enabled: boolean().nullable(),
|
|
74237
|
+
/** How long the pump runs per cycle, in seconds. Null while unknown. */
|
|
74238
|
+
onTime: number().min(0).nullable().meta(readingMeta("duration")),
|
|
74239
|
+
/** How long the pump rests per cycle, in seconds. Null while unknown. */
|
|
74240
|
+
offTime: number().min(0).nullable().meta(readingMeta("duration")),
|
|
74241
|
+
/** Ms epoch when the slice was last refreshed. */
|
|
74242
|
+
lastFetchedAt: number()
|
|
74243
|
+
});
|
|
74244
|
+
var DeviceIdSchema = number().int().nonnegative();
|
|
74245
|
+
var MinutesSchema = number().int().min(0);
|
|
74246
|
+
var pumpCycleCapability = {
|
|
74247
|
+
name: "pump-cycle",
|
|
74248
|
+
scope: "device",
|
|
74249
|
+
deviceNative: true,
|
|
74250
|
+
mode: "singleton",
|
|
74251
|
+
deviceTypes: [DeviceType.PetFountain],
|
|
74252
|
+
methods: {
|
|
74253
|
+
/** Switch the on/off duty cycle on or off (off = the pump runs continuously). */
|
|
74254
|
+
setEnabled: method(object({
|
|
74255
|
+
deviceId: DeviceIdSchema,
|
|
74256
|
+
on: boolean()
|
|
74257
|
+
}), _void(), {
|
|
74258
|
+
kind: "mutation",
|
|
74259
|
+
auth: "protected"
|
|
74260
|
+
}),
|
|
74261
|
+
/** Set how many minutes the pump runs per cycle. */
|
|
74262
|
+
setOnMinutes: method(object({
|
|
74263
|
+
deviceId: DeviceIdSchema,
|
|
74264
|
+
minutes: MinutesSchema
|
|
74265
|
+
}), _void(), {
|
|
74266
|
+
kind: "mutation",
|
|
74267
|
+
auth: "protected"
|
|
74268
|
+
}),
|
|
74269
|
+
/** Set how many minutes the pump rests per cycle. */
|
|
74270
|
+
setOffMinutes: method(object({
|
|
74271
|
+
deviceId: DeviceIdSchema,
|
|
74272
|
+
minutes: MinutesSchema
|
|
74273
|
+
}), _void(), {
|
|
74274
|
+
kind: "mutation",
|
|
74275
|
+
auth: "protected"
|
|
74276
|
+
})
|
|
74277
|
+
},
|
|
74278
|
+
status: {
|
|
74279
|
+
schema: PumpCycleStatusSchema,
|
|
74280
|
+
kind: "push"
|
|
74281
|
+
},
|
|
74282
|
+
/** Runtime-state slice — mirrored by the kernel; the hero card reads it whole. */
|
|
74283
|
+
runtimeState: PumpCycleStatusSchema,
|
|
74284
|
+
/**
|
|
74285
|
+
* Runtime-state durability: **session** — live appliance state re-published on connect.
|
|
74286
|
+
*
|
|
74287
|
+
* See `RuntimeStateDurability`. Enforced by
|
|
74288
|
+
* `scripts/check-runtime-state-durability.ts`.
|
|
74289
|
+
*/
|
|
74290
|
+
durability: "session",
|
|
74291
|
+
/** History (D850): a duty-cycle setting is not a series worth recording. */
|
|
74292
|
+
history: "none"
|
|
74293
|
+
};
|
|
74168
74294
|
DeviceType.Camera, DeviceType.Sensor, DeviceType.Switch, DeviceType.Gateway, method(object({ deviceId: number().int().nonnegative() }), object({ success: literal(true) }), {
|
|
74169
74295
|
kind: "mutation",
|
|
74170
74296
|
auth: "admin"
|
|
@@ -83459,6 +83585,7 @@ var DEVICE_LOCAL_STATE_CAPS = {
|
|
|
83459
83585
|
pressureSensor: pressureSensorCapability,
|
|
83460
83586
|
privacyMask: privacyMaskCapability,
|
|
83461
83587
|
ptzAutotrack: ptzAutotrackCapability,
|
|
83588
|
+
pumpCycle: pumpCycleCapability,
|
|
83462
83589
|
recordingOnboard: recordingOnboardCapability,
|
|
83463
83590
|
recordingSignal: recordingSignalCapability,
|
|
83464
83591
|
runningState: runningStateCapability,
|
|
@@ -85149,6 +85276,27 @@ Object.freeze({
|
|
|
85149
85276
|
access: "view",
|
|
85150
85277
|
role: "viewer"
|
|
85151
85278
|
},
|
|
85279
|
+
"boardKeySource.getBoardKey": {
|
|
85280
|
+
capName: "board-key-source",
|
|
85281
|
+
capScope: "system",
|
|
85282
|
+
addonId: null,
|
|
85283
|
+
access: "view",
|
|
85284
|
+
role: "admin"
|
|
85285
|
+
},
|
|
85286
|
+
"boardKeySource.listBoards": {
|
|
85287
|
+
capName: "board-key-source",
|
|
85288
|
+
capScope: "system",
|
|
85289
|
+
addonId: null,
|
|
85290
|
+
access: "view",
|
|
85291
|
+
role: "admin"
|
|
85292
|
+
},
|
|
85293
|
+
"boardKeySource.listSources": {
|
|
85294
|
+
capName: "board-key-source",
|
|
85295
|
+
capScope: "system",
|
|
85296
|
+
addonId: null,
|
|
85297
|
+
access: "view",
|
|
85298
|
+
role: "admin"
|
|
85299
|
+
},
|
|
85152
85300
|
"brightness.getStatus": {
|
|
85153
85301
|
capName: "brightness",
|
|
85154
85302
|
capScope: "device",
|
|
@@ -89972,27 +90120,6 @@ Object.freeze({
|
|
|
89972
90120
|
access: "create",
|
|
89973
90121
|
role: "viewer"
|
|
89974
90122
|
},
|
|
89975
|
-
"petFountain.setPumpInterval": {
|
|
89976
|
-
capName: "pet-fountain",
|
|
89977
|
-
capScope: "device",
|
|
89978
|
-
addonId: null,
|
|
89979
|
-
access: "create",
|
|
89980
|
-
role: "viewer"
|
|
89981
|
-
},
|
|
89982
|
-
"petFountain.setPumpOffMinutes": {
|
|
89983
|
-
capName: "pet-fountain",
|
|
89984
|
-
capScope: "device",
|
|
89985
|
-
addonId: null,
|
|
89986
|
-
access: "create",
|
|
89987
|
-
role: "viewer"
|
|
89988
|
-
},
|
|
89989
|
-
"petFountain.setPumpOnMinutes": {
|
|
89990
|
-
capName: "pet-fountain",
|
|
89991
|
-
capScope: "device",
|
|
89992
|
-
addonId: null,
|
|
89993
|
-
access: "create",
|
|
89994
|
-
role: "viewer"
|
|
89995
|
-
},
|
|
89996
90123
|
"pipelineAnalytics.addRetrainFrameFromRecording": {
|
|
89997
90124
|
capName: "pipeline-analytics",
|
|
89998
90125
|
capScope: "device",
|
|
@@ -91771,6 +91898,34 @@ Object.freeze({
|
|
|
91771
91898
|
access: "create",
|
|
91772
91899
|
role: "admin"
|
|
91773
91900
|
},
|
|
91901
|
+
"pumpCycle.getStatus": {
|
|
91902
|
+
capName: "pump-cycle",
|
|
91903
|
+
capScope: "device",
|
|
91904
|
+
addonId: null,
|
|
91905
|
+
access: "view",
|
|
91906
|
+
role: "viewer"
|
|
91907
|
+
},
|
|
91908
|
+
"pumpCycle.setEnabled": {
|
|
91909
|
+
capName: "pump-cycle",
|
|
91910
|
+
capScope: "device",
|
|
91911
|
+
addonId: null,
|
|
91912
|
+
access: "create",
|
|
91913
|
+
role: "viewer"
|
|
91914
|
+
},
|
|
91915
|
+
"pumpCycle.setOffMinutes": {
|
|
91916
|
+
capName: "pump-cycle",
|
|
91917
|
+
capScope: "device",
|
|
91918
|
+
addonId: null,
|
|
91919
|
+
access: "create",
|
|
91920
|
+
role: "viewer"
|
|
91921
|
+
},
|
|
91922
|
+
"pumpCycle.setOnMinutes": {
|
|
91923
|
+
capName: "pump-cycle",
|
|
91924
|
+
capScope: "device",
|
|
91925
|
+
addonId: null,
|
|
91926
|
+
access: "create",
|
|
91927
|
+
role: "viewer"
|
|
91928
|
+
},
|
|
91774
91929
|
"reboot.reboot": {
|
|
91775
91930
|
capName: "reboot",
|
|
91776
91931
|
capScope: "device",
|
|
@@ -96315,21 +96470,6 @@ Object.freeze({
|
|
|
96315
96470
|
form: "single",
|
|
96316
96471
|
optional: false
|
|
96317
96472
|
}],
|
|
96318
|
-
"petFountain.setPumpInterval": [{
|
|
96319
|
-
name: "deviceId",
|
|
96320
|
-
form: "single",
|
|
96321
|
-
optional: false
|
|
96322
|
-
}],
|
|
96323
|
-
"petFountain.setPumpOffMinutes": [{
|
|
96324
|
-
name: "deviceId",
|
|
96325
|
-
form: "single",
|
|
96326
|
-
optional: false
|
|
96327
|
-
}],
|
|
96328
|
-
"petFountain.setPumpOnMinutes": [{
|
|
96329
|
-
name: "deviceId",
|
|
96330
|
-
form: "single",
|
|
96331
|
-
optional: false
|
|
96332
|
-
}],
|
|
96333
96473
|
"pipelineAnalytics.addRetrainFrameFromRecording": [{
|
|
96334
96474
|
name: "deviceId",
|
|
96335
96475
|
form: "single",
|
|
@@ -96965,6 +97105,26 @@ Object.freeze({
|
|
|
96965
97105
|
form: "single",
|
|
96966
97106
|
optional: false
|
|
96967
97107
|
}],
|
|
97108
|
+
"pumpCycle.getStatus": [{
|
|
97109
|
+
name: "deviceId",
|
|
97110
|
+
form: "single",
|
|
97111
|
+
optional: false
|
|
97112
|
+
}],
|
|
97113
|
+
"pumpCycle.setEnabled": [{
|
|
97114
|
+
name: "deviceId",
|
|
97115
|
+
form: "single",
|
|
97116
|
+
optional: false
|
|
97117
|
+
}],
|
|
97118
|
+
"pumpCycle.setOffMinutes": [{
|
|
97119
|
+
name: "deviceId",
|
|
97120
|
+
form: "single",
|
|
97121
|
+
optional: false
|
|
97122
|
+
}],
|
|
97123
|
+
"pumpCycle.setOnMinutes": [{
|
|
97124
|
+
name: "deviceId",
|
|
97125
|
+
form: "single",
|
|
97126
|
+
optional: false
|
|
97127
|
+
}],
|
|
96968
97128
|
"reboot.reboot": [{
|
|
96969
97129
|
name: "deviceId",
|
|
96970
97130
|
form: "single",
|
|
@@ -103702,6 +103862,12 @@ Object.defineProperty(exports, "NcTaxonomySchema", {
|
|
|
103702
103862
|
return NcTaxonomySchema;
|
|
103703
103863
|
}
|
|
103704
103864
|
});
|
|
103865
|
+
Object.defineProperty(exports, "NcTemplateDefaultSchema", {
|
|
103866
|
+
enumerable: true,
|
|
103867
|
+
get: function() {
|
|
103868
|
+
return NcTemplateDefaultSchema;
|
|
103869
|
+
}
|
|
103870
|
+
});
|
|
103705
103871
|
Object.defineProperty(exports, "NcTemplatePreviewInputSchema", {
|
|
103706
103872
|
enumerable: true,
|
|
103707
103873
|
get: function() {
|