@camstack/addon-post-analysis 1.2.663 → 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 +14 -0
- package/dist/{clip-model-registry-CwXJyrLg.mjs → clip-model-registry-DZTzG2p4.mjs} +377 -132
- package/dist/{clip-model-registry-Cz8LWYwU.js → clip-model-registry-nn_STiGt.js} +382 -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-jPBj20ez.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-DOdK6KJ5.mjs → hostInit-BAYLsfoZ.mjs} +2 -2
- package/dist/pipeline-analytics/index.js +438 -61
- package/dist/pipeline-analytics/index.mjs +438 -61
- 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-Be6bZvOS.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-B5Bw-VHt.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-
|
|
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:
|
|
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",
|
|
@@ -13321,6 +13326,73 @@ var NodeColorIdSchema = _enum([
|
|
|
13321
13326
|
"node-g",
|
|
13322
13327
|
"node-h"
|
|
13323
13328
|
]);
|
|
13329
|
+
//#endregion
|
|
13330
|
+
//#region ../types/dist/index.mjs
|
|
13331
|
+
var SMTP_INBOUND_DEFAULT_PORT = 2525;
|
|
13332
|
+
var SMTP_INBOUND_DEFAULT_DOMAIN = "camstack.local";
|
|
13333
|
+
var SMTP_INBOUND_DEFAULT_MAX_MESSAGE_BYTES = 25 * 1024 * 1024;
|
|
13334
|
+
/** The text excerpt a message carries on the bus. */
|
|
13335
|
+
var SMTP_INBOUND_TEXT_MAX_CHARS = 4096;
|
|
13336
|
+
var PortSchema = number().int().min(1).max(65535);
|
|
13337
|
+
/** A recipient local-part: what stands before the `@`. */
|
|
13338
|
+
var SmtpRecipientSchema = string().min(1).max(64).regex(/^[A-Za-z0-9._+-]+$/);
|
|
13339
|
+
object({
|
|
13340
|
+
port: PortSchema.default(SMTP_INBOUND_DEFAULT_PORT),
|
|
13341
|
+
bindHost: string().min(1).default("0.0.0.0"),
|
|
13342
|
+
domain: string().min(1).default(SMTP_INBOUND_DEFAULT_DOMAIN),
|
|
13343
|
+
requireAuth: boolean().default(true),
|
|
13344
|
+
username: string().default(""),
|
|
13345
|
+
password: string().default("").meta({ secret: true }),
|
|
13346
|
+
starttls: boolean().default(false),
|
|
13347
|
+
maxMessageBytes: number().int().positive().default(SMTP_INBOUND_DEFAULT_MAX_MESSAGE_BYTES)
|
|
13348
|
+
});
|
|
13349
|
+
object({
|
|
13350
|
+
host: string().min(1).nullable(),
|
|
13351
|
+
hostReason: string().nullable(),
|
|
13352
|
+
port: PortSchema,
|
|
13353
|
+
domain: string().min(1),
|
|
13354
|
+
requireAuth: boolean(),
|
|
13355
|
+
username: string(),
|
|
13356
|
+
password: string(),
|
|
13357
|
+
starttls: boolean()
|
|
13358
|
+
});
|
|
13359
|
+
object({
|
|
13360
|
+
recipients: array(SmtpRecipientSchema).min(1),
|
|
13361
|
+
/**
|
|
13362
|
+
* Who is subscribing. A second `subscribe` with the same id REPLACES that subscriber's
|
|
13363
|
+
* recipients (the way a consumer that restarted, or lost a device, declares its set again);
|
|
13364
|
+
* a recipient held by another subscriber is refused with `smtp-inbound/recipient-claimed`.
|
|
13365
|
+
* Absent, the subscriber is anonymous and unique.
|
|
13366
|
+
*/
|
|
13367
|
+
subscriberId: string().min(1).max(64).optional()
|
|
13368
|
+
});
|
|
13369
|
+
var SmtpInboundAttachmentSchema = object({
|
|
13370
|
+
filename: string(),
|
|
13371
|
+
contentType: string(),
|
|
13372
|
+
bytes: number().int().nonnegative()
|
|
13373
|
+
});
|
|
13374
|
+
/** The payload of one `broker.message` (the key is the recipient local-part). */
|
|
13375
|
+
var SmtpInboundMessageSchema = object({
|
|
13376
|
+
/** Monotonic per mailbox; a gap tells a consumer it missed an event. */
|
|
13377
|
+
seq: number().int().positive(),
|
|
13378
|
+
messageId: string(),
|
|
13379
|
+
receivedAt: number().int().nonnegative(),
|
|
13380
|
+
from: string(),
|
|
13381
|
+
to: string(),
|
|
13382
|
+
subject: string(),
|
|
13383
|
+
text: string().max(SMTP_INBOUND_TEXT_MAX_CHARS),
|
|
13384
|
+
attachments: array(SmtpInboundAttachmentSchema)
|
|
13385
|
+
});
|
|
13386
|
+
object({
|
|
13387
|
+
/** The newest seq issued so far (0 before any mail). */
|
|
13388
|
+
lastSeq: number().int().nonnegative(),
|
|
13389
|
+
/** The oldest seq still retained; messages below it are gone. */
|
|
13390
|
+
oldestSeq: number().int().nonnegative(),
|
|
13391
|
+
messages: array(object({
|
|
13392
|
+
key: string(),
|
|
13393
|
+
message: SmtpInboundMessageSchema
|
|
13394
|
+
}))
|
|
13395
|
+
});
|
|
13324
13396
|
var OWNER_TYPES = new Set([
|
|
13325
13397
|
"track",
|
|
13326
13398
|
"face",
|
|
@@ -20353,24 +20425,52 @@ var APPLIANCE_CAP_VOCABULARY = {
|
|
|
20353
20425
|
args: { on: false }
|
|
20354
20426
|
},
|
|
20355
20427
|
{
|
|
20356
|
-
id: "petFountain.
|
|
20357
|
-
method: "
|
|
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",
|
|
20358
20458
|
label: t("Pump cycle on", "Ciclo pompa attivo"),
|
|
20359
20459
|
phrase: t("Run the pump of {device} on its on/off cycle", "Fai lavorare la pompa di {device} a ciclo acceso/spento"),
|
|
20360
20460
|
icon: "timer",
|
|
20361
20461
|
args: { on: true }
|
|
20362
20462
|
},
|
|
20363
20463
|
{
|
|
20364
|
-
id: "
|
|
20365
|
-
method: "
|
|
20464
|
+
id: "pumpCycle.off",
|
|
20465
|
+
method: "setEnabled",
|
|
20366
20466
|
label: t("Pump cycle off", "Ciclo pompa spento"),
|
|
20367
20467
|
phrase: t("Run the pump of {device} continuously", "Fai lavorare la pompa di {device} in continuo"),
|
|
20368
20468
|
icon: "timer-off",
|
|
20369
20469
|
args: { on: false }
|
|
20370
20470
|
},
|
|
20371
20471
|
{
|
|
20372
|
-
id: "
|
|
20373
|
-
method: "
|
|
20472
|
+
id: "pumpCycle.onMinutes",
|
|
20473
|
+
method: "setOnMinutes",
|
|
20374
20474
|
label: t("Set pump run time", "Imposta il tempo di lavoro della pompa"),
|
|
20375
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"),
|
|
20376
20476
|
icon: "timer",
|
|
@@ -20386,8 +20486,8 @@ var APPLIANCE_CAP_VOCABULARY = {
|
|
|
20386
20486
|
}]
|
|
20387
20487
|
},
|
|
20388
20488
|
{
|
|
20389
|
-
id: "
|
|
20390
|
-
method: "
|
|
20489
|
+
id: "pumpCycle.offMinutes",
|
|
20490
|
+
method: "setOffMinutes",
|
|
20391
20491
|
label: t("Set pump rest time", "Imposta il tempo di riposo della pompa"),
|
|
20392
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"),
|
|
20393
20493
|
icon: "timer-off",
|
|
@@ -20401,29 +20501,15 @@ var APPLIANCE_CAP_VOCABULARY = {
|
|
|
20401
20501
|
unit: "min"
|
|
20402
20502
|
}
|
|
20403
20503
|
}]
|
|
20404
|
-
},
|
|
20405
|
-
{
|
|
20406
|
-
id: "petFountain.resetDailyConsumption",
|
|
20407
|
-
method: "resetDailyConsumption",
|
|
20408
|
-
label: t("Clear daily consumption", "Azzera il consumo giornaliero"),
|
|
20409
|
-
phrase: t("Clear the daily water consumption of {device}", "Azzera il consumo giornaliero di acqua di {device}"),
|
|
20410
|
-
icon: "rotate-ccw"
|
|
20411
20504
|
}
|
|
20412
20505
|
],
|
|
20413
20506
|
state: [{
|
|
20414
20507
|
kind: "boolean",
|
|
20415
|
-
field: "
|
|
20416
|
-
label: t("
|
|
20417
|
-
whenTrue: t("When
|
|
20418
|
-
whenFalse: t("When
|
|
20419
|
-
icon: "
|
|
20420
|
-
}, {
|
|
20421
|
-
kind: "numeric",
|
|
20422
|
-
field: "waterLevel",
|
|
20423
|
-
quantity: t("the water level", "il livello dell’acqua"),
|
|
20424
|
-
label: t("Water level", "Livello dell’acqua"),
|
|
20425
|
-
unit: "%",
|
|
20426
|
-
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"
|
|
20427
20513
|
}]
|
|
20428
20514
|
},
|
|
20429
20515
|
"media-player": {
|
|
@@ -22316,6 +22402,7 @@ var SYSTEM_CAP_VOCABULARY = {
|
|
|
22316
22402
|
"audio-analyzer": system(PIPELINE),
|
|
22317
22403
|
"audio-codec": system(INTERNAL),
|
|
22318
22404
|
"auth-provider": system(IDENTITY),
|
|
22405
|
+
"board-key-source": system(INTERNAL),
|
|
22319
22406
|
backup: system("system backups — run and restored from the Backups page"),
|
|
22320
22407
|
broker: system("message-broker connections — configured, not actuated"),
|
|
22321
22408
|
"calendar-source": system(INTERNAL),
|
|
@@ -47466,6 +47553,49 @@ var binaryCapability = {
|
|
|
47466
47553
|
volatileStateFields: ["lastChangedAt"]
|
|
47467
47554
|
};
|
|
47468
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
|
+
/**
|
|
47469
47599
|
* Dimmable-light brightness control. Co-exists with `switch` on the
|
|
47470
47600
|
* same device — the switch toggles on/off, this cap sets the level
|
|
47471
47601
|
* applied when the light is on. Drivers map their per-vendor dim
|
|
@@ -54047,7 +54177,7 @@ var DishwasherStatusSchema = object({
|
|
|
54047
54177
|
/** Ms epoch of the last value received from the appliance; 0 = never. */
|
|
54048
54178
|
lastFetchedAt: number()
|
|
54049
54179
|
});
|
|
54050
|
-
var DeviceIdSchema$
|
|
54180
|
+
var DeviceIdSchema$2 = number().int().nonnegative();
|
|
54051
54181
|
/** A value a program option or setting can take. */
|
|
54052
54182
|
var DishwasherValueSchema = union([
|
|
54053
54183
|
boolean(),
|
|
@@ -54122,77 +54252,77 @@ var dishwasherCapability = {
|
|
|
54122
54252
|
* option feature keys; each is checked against the program's constraints.
|
|
54123
54253
|
*/
|
|
54124
54254
|
start: method(object({
|
|
54125
|
-
deviceId: DeviceIdSchema$
|
|
54255
|
+
deviceId: DeviceIdSchema$2,
|
|
54126
54256
|
program: string().min(1).optional(),
|
|
54127
54257
|
options: record(string(), DishwasherValueSchema).optional()
|
|
54128
54258
|
}), _void(), {
|
|
54129
54259
|
kind: "mutation",
|
|
54130
54260
|
auth: "protected"
|
|
54131
54261
|
}),
|
|
54132
|
-
pause: method(object({ deviceId: DeviceIdSchema$
|
|
54262
|
+
pause: method(object({ deviceId: DeviceIdSchema$2 }), _void(), {
|
|
54133
54263
|
kind: "mutation",
|
|
54134
54264
|
auth: "protected"
|
|
54135
54265
|
}),
|
|
54136
|
-
resume: method(object({ deviceId: DeviceIdSchema$
|
|
54266
|
+
resume: method(object({ deviceId: DeviceIdSchema$2 }), _void(), {
|
|
54137
54267
|
kind: "mutation",
|
|
54138
54268
|
auth: "protected"
|
|
54139
54269
|
}),
|
|
54140
|
-
stop: method(object({ deviceId: DeviceIdSchema$
|
|
54270
|
+
stop: method(object({ deviceId: DeviceIdSchema$2 }), _void(), {
|
|
54141
54271
|
kind: "mutation",
|
|
54142
54272
|
auth: "protected"
|
|
54143
54273
|
}),
|
|
54144
54274
|
/** Select (not start) a program; refused when the appliance does not offer it. */
|
|
54145
54275
|
setProgram: method(object({
|
|
54146
|
-
deviceId: DeviceIdSchema$
|
|
54276
|
+
deviceId: DeviceIdSchema$2,
|
|
54147
54277
|
program: string().min(1)
|
|
54148
54278
|
}), _void(), {
|
|
54149
54279
|
kind: "mutation",
|
|
54150
54280
|
auth: "protected"
|
|
54151
54281
|
}),
|
|
54152
54282
|
setPower: method(object({
|
|
54153
|
-
deviceId: DeviceIdSchema$
|
|
54283
|
+
deviceId: DeviceIdSchema$2,
|
|
54154
54284
|
on: boolean()
|
|
54155
54285
|
}), _void(), {
|
|
54156
54286
|
kind: "mutation",
|
|
54157
54287
|
auth: "protected"
|
|
54158
54288
|
}),
|
|
54159
54289
|
setHalfLoad: method(object({
|
|
54160
|
-
deviceId: DeviceIdSchema$
|
|
54290
|
+
deviceId: DeviceIdSchema$2,
|
|
54161
54291
|
on: boolean()
|
|
54162
54292
|
}), _void(), {
|
|
54163
54293
|
kind: "mutation",
|
|
54164
54294
|
auth: "protected"
|
|
54165
54295
|
}),
|
|
54166
54296
|
setHygienePlus: method(object({
|
|
54167
|
-
deviceId: DeviceIdSchema$
|
|
54297
|
+
deviceId: DeviceIdSchema$2,
|
|
54168
54298
|
on: boolean()
|
|
54169
54299
|
}), _void(), {
|
|
54170
54300
|
kind: "mutation",
|
|
54171
54301
|
auth: "protected"
|
|
54172
54302
|
}),
|
|
54173
54303
|
setExtraDry: method(object({
|
|
54174
|
-
deviceId: DeviceIdSchema$
|
|
54304
|
+
deviceId: DeviceIdSchema$2,
|
|
54175
54305
|
on: boolean()
|
|
54176
54306
|
}), _void(), {
|
|
54177
54307
|
kind: "mutation",
|
|
54178
54308
|
auth: "protected"
|
|
54179
54309
|
}),
|
|
54180
54310
|
setIntensiveZone: method(object({
|
|
54181
|
-
deviceId: DeviceIdSchema$
|
|
54311
|
+
deviceId: DeviceIdSchema$2,
|
|
54182
54312
|
on: boolean()
|
|
54183
54313
|
}), _void(), {
|
|
54184
54314
|
kind: "mutation",
|
|
54185
54315
|
auth: "protected"
|
|
54186
54316
|
}),
|
|
54187
54317
|
setVarioSpeedPlus: method(object({
|
|
54188
|
-
deviceId: DeviceIdSchema$
|
|
54318
|
+
deviceId: DeviceIdSchema$2,
|
|
54189
54319
|
on: boolean()
|
|
54190
54320
|
}), _void(), {
|
|
54191
54321
|
kind: "mutation",
|
|
54192
54322
|
auth: "protected"
|
|
54193
54323
|
}),
|
|
54194
54324
|
setChildLock: method(object({
|
|
54195
|
-
deviceId: DeviceIdSchema$
|
|
54325
|
+
deviceId: DeviceIdSchema$2,
|
|
54196
54326
|
on: boolean()
|
|
54197
54327
|
}), _void(), {
|
|
54198
54328
|
kind: "mutation",
|
|
@@ -54204,7 +54334,7 @@ var dishwasherCapability = {
|
|
|
54204
54334
|
* its declared range / members.
|
|
54205
54335
|
*/
|
|
54206
54336
|
setOption: method(object({
|
|
54207
|
-
deviceId: DeviceIdSchema$
|
|
54337
|
+
deviceId: DeviceIdSchema$2,
|
|
54208
54338
|
key: string().min(1),
|
|
54209
54339
|
value: DishwasherValueSchema
|
|
54210
54340
|
}), _void(), {
|
|
@@ -54212,7 +54342,7 @@ var dishwasherCapability = {
|
|
|
54212
54342
|
auth: "protected"
|
|
54213
54343
|
}),
|
|
54214
54344
|
/** What this appliance can do, from its own description — the UI is derived from it. */
|
|
54215
|
-
getOptions: method(object({ deviceId: DeviceIdSchema$
|
|
54345
|
+
getOptions: method(object({ deviceId: DeviceIdSchema$2 }), DishwasherOptionsSchema, { auth: "protected" })
|
|
54216
54346
|
},
|
|
54217
54347
|
status: {
|
|
54218
54348
|
schema: DishwasherStatusSchema,
|
|
@@ -56707,6 +56837,11 @@ var IntegrationInstanceSchema = object({
|
|
|
56707
56837
|
name: string(),
|
|
56708
56838
|
/** The addon's own rule (an URL is present, a client id is present...). */
|
|
56709
56839
|
configured: boolean(),
|
|
56840
|
+
/**
|
|
56841
|
+
* The instance's own on/off switch (D996): always present, derived from the record body
|
|
56842
|
+
* (`enabled !== false`, so a row written before the field existed is on).
|
|
56843
|
+
*/
|
|
56844
|
+
enabled: boolean(),
|
|
56710
56845
|
/** Values for the instance form; a secret is a `SecretFieldView`, never text. */
|
|
56711
56846
|
formValues: record(string(), unknown()),
|
|
56712
56847
|
status: IntegrationInstanceStatusSchema.optional()
|
|
@@ -56726,6 +56861,12 @@ method(_void(), IntegrationInstanceDescriptionSchema, { auth: "admin" }), method
|
|
|
56726
56861
|
}), method(IntegrationInstancePatchSchema, object({ ok: literal(true) }), {
|
|
56727
56862
|
kind: "mutation",
|
|
56728
56863
|
auth: "admin"
|
|
56864
|
+
}), method(object({
|
|
56865
|
+
id: IntegrationInstanceIdSchema,
|
|
56866
|
+
enabled: boolean()
|
|
56867
|
+
}), object({ ok: literal(true) }), {
|
|
56868
|
+
kind: "mutation",
|
|
56869
|
+
auth: "admin"
|
|
56729
56870
|
}), method(object({ id: IntegrationInstanceIdSchema }), object({ ok: literal(true) }), {
|
|
56730
56871
|
kind: "mutation",
|
|
56731
56872
|
auth: "admin"
|
|
@@ -69027,6 +69168,21 @@ var NcTemplateVarKindSchema = _enum([
|
|
|
69027
69168
|
"sound",
|
|
69028
69169
|
"system"
|
|
69029
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
|
+
});
|
|
69030
69186
|
/** Which producer renders a template: an ordinary rule, a timelapse, a digest. */
|
|
69031
69187
|
var NcTemplateFamilySchema = _enum([
|
|
69032
69188
|
"rule",
|
|
@@ -70589,7 +70745,11 @@ var notificationRulesCapability = {
|
|
|
70589
70745
|
taxonomy: NcTaxonomySchema.optional()
|
|
70590
70746
|
})),
|
|
70591
70747
|
/** The declared `{{var}}` vocabulary; editors filter it with `templateVarsFor`. */
|
|
70592
|
-
getTemplateCatalog: method(object({}), object({
|
|
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
|
+
})),
|
|
70593
70753
|
/**
|
|
70594
70754
|
* Render a template with example values, through the hub's text catalog.
|
|
70595
70755
|
* Pure: sends nothing. A MUTATION only for transport — a 2.5k-char draft in
|
|
@@ -71599,7 +71759,7 @@ var petFeederCapability = {
|
|
|
71599
71759
|
/**
|
|
71600
71760
|
* Pet water-fountain cap. Models the telemetry and the control surface of a
|
|
71601
71761
|
* circulating drinking fountain: how much water is in the tank, how much the
|
|
71602
|
-
* pet drank, whether the pump runs
|
|
71762
|
+
* pet drank, whether the pump runs.
|
|
71603
71763
|
*
|
|
71604
71764
|
* It has no native vendor provider of its own: a fountain reaches CamStack as
|
|
71605
71765
|
* a container of loose entities (a pump switch, two number boxes, a "filter
|
|
@@ -71615,8 +71775,10 @@ var petFeederCapability = {
|
|
|
71615
71775
|
* never here. Every reading may be `null`: a source that is offline or does
|
|
71616
71776
|
* not report is unknown, never zero.
|
|
71617
71777
|
*
|
|
71618
|
-
* The
|
|
71619
|
-
* cap
|
|
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.
|
|
71620
71782
|
*/
|
|
71621
71783
|
var PetFountainStatusSchema = object({
|
|
71622
71784
|
/** Water in the tank, 0..100 (%). Null while the source has not reported. */
|
|
@@ -71627,27 +71789,20 @@ var PetFountainStatusSchema = object({
|
|
|
71627
71789
|
empty: boolean().nullable(),
|
|
71628
71790
|
/** True while the pump is running. Null while unknown. */
|
|
71629
71791
|
pumpRunning: boolean().nullable(),
|
|
71630
|
-
/** True when the pump works on an on/off duty cycle rather than continuously. */
|
|
71631
|
-
pumpIntervalEnabled: boolean().nullable(),
|
|
71632
|
-
/** How long the pump runs per cycle, in seconds. */
|
|
71633
|
-
pumpOnTime: number().min(0).nullable().meta(readingMeta("duration")),
|
|
71634
|
-
/** How long the pump rests per cycle, in seconds. */
|
|
71635
|
-
pumpOffTime: number().min(0).nullable().meta(readingMeta("duration")),
|
|
71636
71792
|
/** Water drunk in the last drink, in litres. */
|
|
71637
71793
|
lastDrink: number().min(0).nullable().meta(readingMeta("volume")),
|
|
71638
71794
|
/** Water drunk in the current hour, in litres. */
|
|
71639
71795
|
currentHourDrink: number().min(0).nullable().meta(readingMeta("volume")),
|
|
71640
71796
|
/** Water drunk over the last 24 hours (rolling), in litres. */
|
|
71641
71797
|
last24hDrink: number().min(0).nullable().meta(readingMeta("volume")),
|
|
71642
|
-
/** Water drunk since local midnight, in litres. */
|
|
71798
|
+
/** Water drunk since local midnight, in litres. Null when the fountain has no such sensor. */
|
|
71643
71799
|
todayDrink: number().min(0).nullable().meta(readingMeta("volume")),
|
|
71644
71800
|
/** Decoded fault message. Null means healthy; a non-null string is an active fault. */
|
|
71645
71801
|
error: string().nullable(),
|
|
71646
71802
|
/** Ms epoch when the slice was last refreshed. */
|
|
71647
71803
|
lastFetchedAt: number()
|
|
71648
71804
|
});
|
|
71649
|
-
var DeviceIdSchema = number().int().nonnegative();
|
|
71650
|
-
var MinutesSchema = number().int().min(0);
|
|
71805
|
+
var DeviceIdSchema$1 = number().int().nonnegative();
|
|
71651
71806
|
var petFountainCapability = {
|
|
71652
71807
|
name: "pet-fountain",
|
|
71653
71808
|
scope: "device",
|
|
@@ -71657,38 +71812,14 @@ var petFountainCapability = {
|
|
|
71657
71812
|
methods: {
|
|
71658
71813
|
/** Start or stop the pump. */
|
|
71659
71814
|
setPump: method(object({
|
|
71660
|
-
deviceId: DeviceIdSchema,
|
|
71661
|
-
on: boolean()
|
|
71662
|
-
}), _void(), {
|
|
71663
|
-
kind: "mutation",
|
|
71664
|
-
auth: "protected"
|
|
71665
|
-
}),
|
|
71666
|
-
/** Switch the on/off duty cycle on or off (off = the pump runs continuously). */
|
|
71667
|
-
setPumpInterval: method(object({
|
|
71668
|
-
deviceId: DeviceIdSchema,
|
|
71815
|
+
deviceId: DeviceIdSchema$1,
|
|
71669
71816
|
on: boolean()
|
|
71670
71817
|
}), _void(), {
|
|
71671
71818
|
kind: "mutation",
|
|
71672
71819
|
auth: "protected"
|
|
71673
71820
|
}),
|
|
71674
|
-
/** Set how many minutes the pump runs per cycle. */
|
|
71675
|
-
setPumpOnMinutes: method(object({
|
|
71676
|
-
deviceId: DeviceIdSchema,
|
|
71677
|
-
minutes: MinutesSchema
|
|
71678
|
-
}), _void(), {
|
|
71679
|
-
kind: "mutation",
|
|
71680
|
-
auth: "protected"
|
|
71681
|
-
}),
|
|
71682
|
-
/** Set how many minutes the pump rests per cycle. */
|
|
71683
|
-
setPumpOffMinutes: method(object({
|
|
71684
|
-
deviceId: DeviceIdSchema,
|
|
71685
|
-
minutes: MinutesSchema
|
|
71686
|
-
}), _void(), {
|
|
71687
|
-
kind: "mutation",
|
|
71688
|
-
auth: "protected"
|
|
71689
|
-
}),
|
|
71690
71821
|
/** Clear the rolling daily consumption counters on the device. */
|
|
71691
|
-
resetDailyConsumption: method(object({ deviceId: DeviceIdSchema }), _void(), {
|
|
71822
|
+
resetDailyConsumption: method(object({ deviceId: DeviceIdSchema$1 }), _void(), {
|
|
71692
71823
|
kind: "mutation",
|
|
71693
71824
|
auth: "protected"
|
|
71694
71825
|
})
|
|
@@ -74056,6 +74187,79 @@ var ptzAutotrackCapability = {
|
|
|
74056
74187
|
*/
|
|
74057
74188
|
history: "none"
|
|
74058
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
|
+
};
|
|
74059
74263
|
DeviceType.Camera, DeviceType.Sensor, DeviceType.Switch, DeviceType.Gateway, method(object({ deviceId: number().int().nonnegative() }), object({ success: literal(true) }), {
|
|
74060
74264
|
kind: "mutation",
|
|
74061
74265
|
auth: "admin"
|
|
@@ -83350,6 +83554,7 @@ var DEVICE_LOCAL_STATE_CAPS = {
|
|
|
83350
83554
|
pressureSensor: pressureSensorCapability,
|
|
83351
83555
|
privacyMask: privacyMaskCapability,
|
|
83352
83556
|
ptzAutotrack: ptzAutotrackCapability,
|
|
83557
|
+
pumpCycle: pumpCycleCapability,
|
|
83353
83558
|
recordingOnboard: recordingOnboardCapability,
|
|
83354
83559
|
recordingSignal: recordingSignalCapability,
|
|
83355
83560
|
runningState: runningStateCapability,
|
|
@@ -85040,6 +85245,27 @@ Object.freeze({
|
|
|
85040
85245
|
access: "view",
|
|
85041
85246
|
role: "viewer"
|
|
85042
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
|
+
},
|
|
85043
85269
|
"brightness.getStatus": {
|
|
85044
85270
|
capName: "brightness",
|
|
85045
85271
|
capScope: "device",
|
|
@@ -87721,6 +87947,13 @@ Object.freeze({
|
|
|
87721
87947
|
access: "view",
|
|
87722
87948
|
role: "admin"
|
|
87723
87949
|
},
|
|
87950
|
+
"integrationInstances.setInstanceEnabled": {
|
|
87951
|
+
capName: "integration-instances",
|
|
87952
|
+
capScope: "system",
|
|
87953
|
+
addonId: null,
|
|
87954
|
+
access: "create",
|
|
87955
|
+
role: "admin"
|
|
87956
|
+
},
|
|
87724
87957
|
"integrationInstances.testInstance": {
|
|
87725
87958
|
capName: "integration-instances",
|
|
87726
87959
|
capScope: "system",
|
|
@@ -89856,27 +90089,6 @@ Object.freeze({
|
|
|
89856
90089
|
access: "create",
|
|
89857
90090
|
role: "viewer"
|
|
89858
90091
|
},
|
|
89859
|
-
"petFountain.setPumpInterval": {
|
|
89860
|
-
capName: "pet-fountain",
|
|
89861
|
-
capScope: "device",
|
|
89862
|
-
addonId: null,
|
|
89863
|
-
access: "create",
|
|
89864
|
-
role: "viewer"
|
|
89865
|
-
},
|
|
89866
|
-
"petFountain.setPumpOffMinutes": {
|
|
89867
|
-
capName: "pet-fountain",
|
|
89868
|
-
capScope: "device",
|
|
89869
|
-
addonId: null,
|
|
89870
|
-
access: "create",
|
|
89871
|
-
role: "viewer"
|
|
89872
|
-
},
|
|
89873
|
-
"petFountain.setPumpOnMinutes": {
|
|
89874
|
-
capName: "pet-fountain",
|
|
89875
|
-
capScope: "device",
|
|
89876
|
-
addonId: null,
|
|
89877
|
-
access: "create",
|
|
89878
|
-
role: "viewer"
|
|
89879
|
-
},
|
|
89880
90092
|
"pipelineAnalytics.addRetrainFrameFromRecording": {
|
|
89881
90093
|
capName: "pipeline-analytics",
|
|
89882
90094
|
capScope: "device",
|
|
@@ -91655,6 +91867,34 @@ Object.freeze({
|
|
|
91655
91867
|
access: "create",
|
|
91656
91868
|
role: "admin"
|
|
91657
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
|
+
},
|
|
91658
91898
|
"reboot.reboot": {
|
|
91659
91899
|
capName: "reboot",
|
|
91660
91900
|
capScope: "device",
|
|
@@ -96199,21 +96439,6 @@ Object.freeze({
|
|
|
96199
96439
|
form: "single",
|
|
96200
96440
|
optional: false
|
|
96201
96441
|
}],
|
|
96202
|
-
"petFountain.setPumpInterval": [{
|
|
96203
|
-
name: "deviceId",
|
|
96204
|
-
form: "single",
|
|
96205
|
-
optional: false
|
|
96206
|
-
}],
|
|
96207
|
-
"petFountain.setPumpOffMinutes": [{
|
|
96208
|
-
name: "deviceId",
|
|
96209
|
-
form: "single",
|
|
96210
|
-
optional: false
|
|
96211
|
-
}],
|
|
96212
|
-
"petFountain.setPumpOnMinutes": [{
|
|
96213
|
-
name: "deviceId",
|
|
96214
|
-
form: "single",
|
|
96215
|
-
optional: false
|
|
96216
|
-
}],
|
|
96217
96442
|
"pipelineAnalytics.addRetrainFrameFromRecording": [{
|
|
96218
96443
|
name: "deviceId",
|
|
96219
96444
|
form: "single",
|
|
@@ -96849,6 +97074,26 @@ Object.freeze({
|
|
|
96849
97074
|
form: "single",
|
|
96850
97075
|
optional: false
|
|
96851
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
|
+
}],
|
|
96852
97097
|
"reboot.reboot": [{
|
|
96853
97098
|
name: "deviceId",
|
|
96854
97099
|
form: "single",
|
|
@@ -102932,4 +103177,4 @@ function buildClipModelRegistry(entries) {
|
|
|
102932
103177
|
/** The built-in catalog's registry. */
|
|
102933
103178
|
var BUILTIN_CLIP_MODELS = buildClipModelRegistry(CLIP_IMAGE_MODELS);
|
|
102934
103179
|
//#endregion
|
|
102935
|
-
export { MAX_TRACK_RELATIONS as $,
|
|
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 };
|