@camstack/addon-post-analysis 1.2.648 → 1.2.650
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 +13 -0
- package/dist/{clip-model-registry-CV0OM-KE.mjs → clip-model-registry-B_mY0hd7.mjs} +229 -14
- package/dist/{clip-model-registry-Dz05U9H7.js → clip-model-registry-CC7pvitG.js} +234 -13
- 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-DpZRdUNM.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-HjnmptAc.mjs} +2 -2
- package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-YNYqWfWY.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-OPayQG8i.mjs +26 -0
- package/dist/pipeline-analytics/{hostInit-CJRlIsq_.mjs → hostInit-BjUFFpLS.mjs} +2 -2
- package/dist/pipeline-analytics/index.js +115 -3
- package/dist/pipeline-analytics/index.mjs +115 -3
- package/dist/pipeline-analytics/remoteEntry.js +1 -1
- package/package.json +2 -1
- package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-D5tFxRsi.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-DgC84J8L.mjs +0 -26
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [1.2.650] - 2026-10-28
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- A Correct/Wrong tap on a notification whose track has already been discarded now still saves a training frame from the recording, into the Notification verdicts collection.
|
|
15
|
+
|
|
16
|
+
## [1.2.649] - 2026-10-28
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
|
|
20
|
+
- The Notification center now appears under System on the Integrations page
|
|
21
|
+
- A notification rule passes the delivery parameters its target's notifier declares (such as Echo mode and volume) along with the message.
|
|
22
|
+
|
|
10
23
|
## [1.2.648] - 2026-10-28
|
|
11
24
|
|
|
12
25
|
### Changed
|
|
@@ -5645,7 +5645,7 @@ var ZodIssueCode = {
|
|
|
5645
5645
|
var ZodFirstPartyTypeKind;
|
|
5646
5646
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5647
5647
|
//#endregion
|
|
5648
|
-
//#region ../types/dist/sleep-
|
|
5648
|
+
//#region ../types/dist/sleep-BAvUCi_2.mjs
|
|
5649
5649
|
/**
|
|
5650
5650
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5651
5651
|
* window to float samples (D455).
|
|
@@ -9078,6 +9078,7 @@ var CAP_NAMES = Object.freeze([
|
|
|
9078
9078
|
"image-settings",
|
|
9079
9079
|
"integrations",
|
|
9080
9080
|
"intercom",
|
|
9081
|
+
"ir-transmitter",
|
|
9081
9082
|
"keychain",
|
|
9082
9083
|
"keychain-admin",
|
|
9083
9084
|
"lawn-mower-control",
|
|
@@ -10325,6 +10326,11 @@ Object.freeze({
|
|
|
10325
10326
|
"path": "batteryPower",
|
|
10326
10327
|
"valueType": "number"
|
|
10327
10328
|
},
|
|
10329
|
+
{
|
|
10330
|
+
"path": "powerSource",
|
|
10331
|
+
"valueType": "enum",
|
|
10332
|
+
"enumValues": ["mains", "battery"]
|
|
10333
|
+
},
|
|
10328
10334
|
{
|
|
10329
10335
|
"path": "desiccantLeftDays",
|
|
10330
10336
|
"valueType": "number"
|
|
@@ -10910,7 +10916,7 @@ Object.freeze({
|
|
|
10910
10916
|
* can answer "may a rule actuate this?" without importing the schema barrel
|
|
10911
10917
|
* (~144MB RSS per runner, D28).
|
|
10912
10918
|
*
|
|
10913
|
-
* Coverage:
|
|
10919
|
+
* Coverage: 96 device-scoped capabilities.
|
|
10914
10920
|
*/
|
|
10915
10921
|
var DEVICE_SCOPED_CAPS = new Set([
|
|
10916
10922
|
"accessories",
|
|
@@ -10960,6 +10966,7 @@ var DEVICE_SCOPED_CAPS = new Set([
|
|
|
10960
10966
|
"image",
|
|
10961
10967
|
"image-settings",
|
|
10962
10968
|
"intercom",
|
|
10969
|
+
"ir-transmitter",
|
|
10963
10970
|
"lawn-mower-control",
|
|
10964
10971
|
"lock-control",
|
|
10965
10972
|
"media-player",
|
|
@@ -11053,7 +11060,7 @@ function sleep(ms) {
|
|
|
11053
11060
|
return new Promise((resolve) => setTimeout(resolve, Math.max(0, ms)));
|
|
11054
11061
|
}
|
|
11055
11062
|
//#endregion
|
|
11056
|
-
//#region ../types/dist/err-msg-
|
|
11063
|
+
//#region ../types/dist/err-msg-BCdlR2Li.mjs
|
|
11057
11064
|
var DeviceType = /* @__PURE__ */ function(DeviceType) {
|
|
11058
11065
|
DeviceType["Camera"] = "camera";
|
|
11059
11066
|
DeviceType["Hub"] = "hub";
|
|
@@ -11399,6 +11406,9 @@ var DeviceRole = /* @__PURE__ */ function(DeviceRole) {
|
|
|
11399
11406
|
/** Fallback when the notifier service name doesn't match a known
|
|
11400
11407
|
* pattern. */
|
|
11401
11408
|
DeviceRole["GenericNotifier"] = "generic-notifier";
|
|
11409
|
+
/** Emits a pulse train (infrared or RF) on request — the `ir-transmitter`
|
|
11410
|
+
* cap. A `DeviceType.Generic` device. */
|
|
11411
|
+
DeviceRole["IrTransmitter"] = "ir-transmitter";
|
|
11402
11412
|
return DeviceRole;
|
|
11403
11413
|
}({});
|
|
11404
11414
|
/**
|
|
@@ -11412,7 +11422,7 @@ function errMsg(err) {
|
|
|
11412
11422
|
return String(err);
|
|
11413
11423
|
}
|
|
11414
11424
|
//#endregion
|
|
11415
|
-
//#region ../types/dist/composition-
|
|
11425
|
+
//#region ../types/dist/composition-DpFv_J6D.mjs
|
|
11416
11426
|
/**
|
|
11417
11427
|
* Deterministic SHA-256 hash of an arbitrary serialisable value. The
|
|
11418
11428
|
* canonical form sorts object keys alphabetically at every depth so two
|
|
@@ -20395,12 +20405,13 @@ var CHANGED = {
|
|
|
20395
20405
|
expr: "now"
|
|
20396
20406
|
};
|
|
20397
20407
|
function numeric(input) {
|
|
20408
|
+
const { alsoFrom, ...base } = input;
|
|
20398
20409
|
return {
|
|
20399
|
-
...
|
|
20410
|
+
...base,
|
|
20400
20411
|
family: "numeric",
|
|
20401
20412
|
deviceType: DeviceType.Sensor,
|
|
20402
20413
|
memberDeviceType: DeviceType.Sensor,
|
|
20403
|
-
memberDeviceTypes: [DeviceType.Sensor],
|
|
20414
|
+
memberDeviceTypes: [DeviceType.Sensor, ...alsoFrom?.deviceTypes ?? []],
|
|
20404
20415
|
activeWhen: void 0,
|
|
20405
20416
|
commandCaps: [],
|
|
20406
20417
|
baseUnit: baseUnitOf(input.quantity),
|
|
@@ -20408,9 +20419,10 @@ function numeric(input) {
|
|
|
20408
20419
|
accept: [{
|
|
20409
20420
|
cap: input.outputCap,
|
|
20410
20421
|
fieldPath: input.outputField
|
|
20411
|
-
}]
|
|
20422
|
+
}, ...alsoFrom === void 0 ? [] : [alsoFrom.accept]]
|
|
20412
20423
|
};
|
|
20413
20424
|
}
|
|
20425
|
+
var CLIMATE_DEVICES = [DeviceType.Thermostat, DeviceType.Climate];
|
|
20414
20426
|
function binary(input) {
|
|
20415
20427
|
return {
|
|
20416
20428
|
...input,
|
|
@@ -20436,7 +20448,14 @@ var GROUP_TEMPLATES = [
|
|
|
20436
20448
|
quantity: "temperature",
|
|
20437
20449
|
defaultAggregate: "mean",
|
|
20438
20450
|
empty: "null",
|
|
20439
|
-
companions: [NOW$2]
|
|
20451
|
+
companions: [NOW$2],
|
|
20452
|
+
alsoFrom: {
|
|
20453
|
+
deviceTypes: CLIMATE_DEVICES,
|
|
20454
|
+
accept: {
|
|
20455
|
+
cap: "climate-control",
|
|
20456
|
+
fieldPath: "currentTemp"
|
|
20457
|
+
}
|
|
20458
|
+
}
|
|
20440
20459
|
}),
|
|
20441
20460
|
numeric({
|
|
20442
20461
|
id: "humidity",
|
|
@@ -20447,7 +20466,14 @@ var GROUP_TEMPLATES = [
|
|
|
20447
20466
|
quantity: "humidity",
|
|
20448
20467
|
defaultAggregate: "mean",
|
|
20449
20468
|
empty: "null",
|
|
20450
|
-
companions: [NOW$2]
|
|
20469
|
+
companions: [NOW$2],
|
|
20470
|
+
alsoFrom: {
|
|
20471
|
+
deviceTypes: CLIMATE_DEVICES,
|
|
20472
|
+
accept: {
|
|
20473
|
+
cap: "climate-control",
|
|
20474
|
+
fieldPath: "currentHumidity"
|
|
20475
|
+
}
|
|
20476
|
+
}
|
|
20451
20477
|
}),
|
|
20452
20478
|
numeric({
|
|
20453
20479
|
id: "pressure",
|
|
@@ -44980,6 +45006,17 @@ var LlmProfileSchema = object({
|
|
|
44980
45006
|
* field in its editor only when its descriptor lists it in `profileFields`. */
|
|
44981
45007
|
topK: number().int().positive().optional(),
|
|
44982
45008
|
maxTokens: number().int().positive().optional(),
|
|
45009
|
+
/** How hard the model "thinks" before it answers. Omitted = the model's own
|
|
45010
|
+
* default. `off` matters for structured output: a thinking model can spend
|
|
45011
|
+
* the whole completion on reasoning and return an empty `content`. Carried
|
|
45012
|
+
* only by the wires that have it — a kind offers the field in its editor
|
|
45013
|
+
* only when its descriptor lists it in `profileFields`. */
|
|
45014
|
+
reasoningEffort: _enum([
|
|
45015
|
+
"off",
|
|
45016
|
+
"low",
|
|
45017
|
+
"medium",
|
|
45018
|
+
"high"
|
|
45019
|
+
]).optional(),
|
|
44983
45020
|
/** Prompt context window. Advisory for cloud kinds (they enforce their own). */
|
|
44984
45021
|
contextLength: number().int().positive().optional(),
|
|
44985
45022
|
/** Default system prompt. A caller's `system` REPLACES it (never appends —
|
|
@@ -45018,6 +45055,7 @@ var LlmProfileFieldSchema = _enum([
|
|
|
45018
45055
|
"topP",
|
|
45019
45056
|
"topK",
|
|
45020
45057
|
"maxTokens",
|
|
45058
|
+
"reasoningEffort",
|
|
45021
45059
|
"contextLength",
|
|
45022
45060
|
"systemPrompt",
|
|
45023
45061
|
"timeoutMs",
|
|
@@ -46268,6 +46306,43 @@ var NotificationActionSchema = object({
|
|
|
46268
46306
|
*/
|
|
46269
46307
|
mode: _enum(["navigate", "background"]).optional()
|
|
46270
46308
|
});
|
|
46309
|
+
/** A delivery parameter value: what a notifier declared it takes. */
|
|
46310
|
+
var DeliveryParamValueSchema = union([
|
|
46311
|
+
string(),
|
|
46312
|
+
number(),
|
|
46313
|
+
boolean()
|
|
46314
|
+
]);
|
|
46315
|
+
/**
|
|
46316
|
+
* One extra delivery parameter a notifier KIND declares (D938). A rule that
|
|
46317
|
+
* addresses a target of that kind may set it; a kind that declares nothing is
|
|
46318
|
+
* never handed one. The admin UI derives its control from this descriptor —
|
|
46319
|
+
* no editor knows a service by name.
|
|
46320
|
+
*
|
|
46321
|
+
* Optional fields are `.optional()`, never `.default()` (a Zod default does not
|
|
46322
|
+
* run on the addon cap path).
|
|
46323
|
+
*/
|
|
46324
|
+
var DeliveryParamSchema = object({
|
|
46325
|
+
key: string().min(1),
|
|
46326
|
+
label: string(),
|
|
46327
|
+
/** i18n key of the label, resolved by the declaring addon's namespace. */
|
|
46328
|
+
labelKey: string().optional(),
|
|
46329
|
+
type: _enum([
|
|
46330
|
+
"enum",
|
|
46331
|
+
"number",
|
|
46332
|
+
"boolean",
|
|
46333
|
+
"string"
|
|
46334
|
+
]),
|
|
46335
|
+
/** `enum` only: the closed set of accepted values. */
|
|
46336
|
+
options: array(object({
|
|
46337
|
+
value: string(),
|
|
46338
|
+
label: string()
|
|
46339
|
+
})).optional(),
|
|
46340
|
+
/** `number` only. */
|
|
46341
|
+
min: number().optional(),
|
|
46342
|
+
max: number().optional(),
|
|
46343
|
+
/** What the notifier does when the rule sets nothing; shown as the placeholder. */
|
|
46344
|
+
default: DeliveryParamValueSchema.optional()
|
|
46345
|
+
});
|
|
46271
46346
|
/**
|
|
46272
46347
|
* The canonical notification. `body` is the only hard field (Apprise model).
|
|
46273
46348
|
* `priority` is a 5-level ORDINAL (1=lowest … 3=normal(default) … 5=urgent),
|
|
@@ -46290,7 +46365,13 @@ var NotificationSchema = object({
|
|
|
46290
46365
|
tag: string().optional(),
|
|
46291
46366
|
deviceId: number().optional(),
|
|
46292
46367
|
eventId: string().optional(),
|
|
46293
|
-
metadata: record(string(), unknown()).optional()
|
|
46368
|
+
metadata: record(string(), unknown()).optional(),
|
|
46369
|
+
/**
|
|
46370
|
+
* Values for the parameters the target's kind DECLARES in
|
|
46371
|
+
* {@link TargetKindSchema} `deliveryParams`. Already validated against the
|
|
46372
|
+
* declaration by the sender; a notifier reads only the keys it declared.
|
|
46373
|
+
*/
|
|
46374
|
+
delivery: record(string(), DeliveryParamValueSchema).optional()
|
|
46294
46375
|
});
|
|
46295
46376
|
/** One declared native severity/priority level for a kind. */
|
|
46296
46377
|
var TargetKindLevelSchema = object({
|
|
@@ -46396,6 +46477,11 @@ var TargetKindSchema = object({
|
|
|
46396
46477
|
*/
|
|
46397
46478
|
destinationKeys: array(string()).optional(),
|
|
46398
46479
|
supportsDiscovery: boolean(),
|
|
46480
|
+
/**
|
|
46481
|
+
* Extra delivery parameters a rule may set for a target of this kind (D938).
|
|
46482
|
+
* Absent = none; the rule editor then offers nothing.
|
|
46483
|
+
*/
|
|
46484
|
+
deliveryParams: array(DeliveryParamSchema).optional(),
|
|
46399
46485
|
caps: TargetKindCapsSchema
|
|
46400
46486
|
});
|
|
46401
46487
|
/**
|
|
@@ -60549,7 +60635,9 @@ var ManifestShapeSchema = object({
|
|
|
60549
60635
|
icon: string().optional()
|
|
60550
60636
|
}).optional(),
|
|
60551
60637
|
protected: boolean().optional(),
|
|
60552
|
-
removable: boolean().optional()
|
|
60638
|
+
removable: boolean().optional(),
|
|
60639
|
+
/** Declared Integrations-page block (mirror of `AddonDeclaration.integrationSection`). */
|
|
60640
|
+
integrationSection: _enum(["system", "providers"]).optional()
|
|
60553
60641
|
});
|
|
60554
60642
|
var AddonProcessSchema = object({
|
|
60555
60643
|
pid: number().optional(),
|
|
@@ -61683,6 +61771,56 @@ DeviceType.Button, method(object({ deviceId: number().int().nonnegative() }), _v
|
|
|
61683
61771
|
auth: "protected"
|
|
61684
61772
|
});
|
|
61685
61773
|
/**
|
|
61774
|
+
* A pulse train in signed microseconds: mark (+) first, then space (-), strictly
|
|
61775
|
+
* alternating, no zeros, 2..1024 entries.
|
|
61776
|
+
*/
|
|
61777
|
+
var IrTimingsSchema = array(number().int()).min(2).max(1024).superRefine((timings, ctx) => {
|
|
61778
|
+
timings.forEach((value, index) => {
|
|
61779
|
+
const expectMark = index % 2 === 0;
|
|
61780
|
+
if (value === 0 || value > 0 !== expectMark) ctx.addIssue({
|
|
61781
|
+
code: "custom",
|
|
61782
|
+
message: `timing ${index} must be a non-zero ${expectMark ? "mark (positive)" : "space (negative)"}`,
|
|
61783
|
+
path: [index]
|
|
61784
|
+
});
|
|
61785
|
+
});
|
|
61786
|
+
});
|
|
61787
|
+
/** Per-command transmit options. Every key is optional; a transmitter applies what it can. */
|
|
61788
|
+
var TransmitSettingsSchema = object({
|
|
61789
|
+
carrierHz: number().int().positive().optional(),
|
|
61790
|
+
dutyCyclePercent: number().int().min(1).max(100).optional(),
|
|
61791
|
+
repeat: number().int().min(0).max(20).optional(),
|
|
61792
|
+
repeatDelayMs: number().int().min(0).optional()
|
|
61793
|
+
});
|
|
61794
|
+
/** The setting keys a transmitter may declare as settable (`getInfo.settable`). */
|
|
61795
|
+
var TransmitSettingKeySchema = _enum([
|
|
61796
|
+
"carrierHz",
|
|
61797
|
+
"dutyCyclePercent",
|
|
61798
|
+
"repeat",
|
|
61799
|
+
"repeatDelayMs"
|
|
61800
|
+
]);
|
|
61801
|
+
var IrMediumSchema = _enum(["ir", "rf"]);
|
|
61802
|
+
var IrSendResultSchema = object({
|
|
61803
|
+
ok: literal(true),
|
|
61804
|
+
/** Settings the transmitter could not apply; the train was still sent. */
|
|
61805
|
+
ignoredSettings: array(string())
|
|
61806
|
+
});
|
|
61807
|
+
var IrTransmitterInfoSchema = object({
|
|
61808
|
+
media: array(IrMediumSchema),
|
|
61809
|
+
settable: array(TransmitSettingKeySchema),
|
|
61810
|
+
maxTimings: number().int().positive()
|
|
61811
|
+
});
|
|
61812
|
+
DeviceType.Generic, method(object({
|
|
61813
|
+
deviceId: number().int().nonnegative(),
|
|
61814
|
+
timings: IrTimingsSchema,
|
|
61815
|
+
settings: TransmitSettingsSchema.optional()
|
|
61816
|
+
}), IrSendResultSchema, {
|
|
61817
|
+
kind: "mutation",
|
|
61818
|
+
auth: "protected"
|
|
61819
|
+
}), method(object({ deviceId: number().int().nonnegative() }), IrTransmitterInfoSchema, {
|
|
61820
|
+
kind: "query",
|
|
61821
|
+
auth: "protected"
|
|
61822
|
+
});
|
|
61823
|
+
/**
|
|
61686
61824
|
* `calendar-source` — collection cap exposing per-provider calendars and
|
|
61687
61825
|
* their events. Every addon that contributes calendars (Home Assistant,
|
|
61688
61826
|
* a future Google Calendar addon, …) registers a provider here. The hub
|
|
@@ -67858,9 +67996,14 @@ var PetFeederStatusSchema = object({
|
|
|
67858
67996
|
* (`device_class: problem`, on = low). True when the tank reports empty,
|
|
67859
67997
|
* or, on a dual-hopper model, when EITHER hopper is empty. */
|
|
67860
67998
|
lowFood: boolean(),
|
|
67861
|
-
/** Battery charge 0..100 (%).
|
|
67862
|
-
*
|
|
67999
|
+
/** Battery charge 0..100 (%). On a feeder running on `mains` this is the
|
|
68000
|
+
* BACKUP battery's charge, not the power source. Null when the device has
|
|
68001
|
+
* no battery reading. */
|
|
67863
68002
|
batteryPower: number().min(0).max(100).nullable().meta(readingMeta("percentage")),
|
|
68003
|
+
/** What the feeder is powered from right now: `mains` (plugged in, the
|
|
68004
|
+
* battery is only a backup) or `battery`. Null when the device does not
|
|
68005
|
+
* report it. */
|
|
68006
|
+
powerSource: _enum(["mains", "battery"]).nullable(),
|
|
67864
68007
|
/**
|
|
67865
68008
|
* Desiccant life remaining, stored in seconds (duration base, D944).
|
|
67866
68009
|
* Providers convert from the days the feeder reports. Null when the
|
|
@@ -78735,6 +78878,20 @@ Object.freeze({
|
|
|
78735
78878
|
access: "create",
|
|
78736
78879
|
role: "viewer"
|
|
78737
78880
|
},
|
|
78881
|
+
"irTransmitter.getInfo": {
|
|
78882
|
+
capName: "ir-transmitter",
|
|
78883
|
+
capScope: "device",
|
|
78884
|
+
addonId: null,
|
|
78885
|
+
access: "view",
|
|
78886
|
+
role: "viewer"
|
|
78887
|
+
},
|
|
78888
|
+
"irTransmitter.send": {
|
|
78889
|
+
capName: "ir-transmitter",
|
|
78890
|
+
capScope: "device",
|
|
78891
|
+
addonId: null,
|
|
78892
|
+
access: "create",
|
|
78893
|
+
role: "viewer"
|
|
78894
|
+
},
|
|
78738
78895
|
"keychain.delete": {
|
|
78739
78896
|
capName: "keychain",
|
|
78740
78897
|
capScope: "system",
|
|
@@ -86358,6 +86515,11 @@ var ACTUATOR_CAP_VOCABULARY = {
|
|
|
86358
86515
|
icon: "circle-dot"
|
|
86359
86516
|
}]
|
|
86360
86517
|
},
|
|
86518
|
+
"ir-transmitter": {
|
|
86519
|
+
scope: "device",
|
|
86520
|
+
noun: t("IR / RF transmitter", "Trasmettitore IR / RF"),
|
|
86521
|
+
notOperatorFacing: { send: "a raw pulse train is not something an operator composes in an automation; the remote that owns the command table sends it" }
|
|
86522
|
+
},
|
|
86361
86523
|
control: {
|
|
86362
86524
|
scope: "device",
|
|
86363
86525
|
noun: t("Control", "Controllo"),
|
|
@@ -90077,6 +90239,16 @@ Object.freeze({
|
|
|
90077
90239
|
form: "single",
|
|
90078
90240
|
optional: false
|
|
90079
90241
|
}],
|
|
90242
|
+
"irTransmitter.getInfo": [{
|
|
90243
|
+
name: "deviceId",
|
|
90244
|
+
form: "single",
|
|
90245
|
+
optional: false
|
|
90246
|
+
}],
|
|
90247
|
+
"irTransmitter.send": [{
|
|
90248
|
+
name: "deviceId",
|
|
90249
|
+
form: "single",
|
|
90250
|
+
optional: false
|
|
90251
|
+
}],
|
|
90080
90252
|
"keychain.deleteDeviceScope": [{
|
|
90081
90253
|
name: "deviceId",
|
|
90082
90254
|
form: "single",
|
|
@@ -92081,6 +92253,33 @@ function isAudioClassName(name) {
|
|
|
92081
92253
|
return name.trim().toLowerCase().startsWith(`${AUDIO_GROUP_KEY}-`);
|
|
92082
92254
|
}
|
|
92083
92255
|
new Set(["devices", "classes"]);
|
|
92256
|
+
function valueFor(param, raw) {
|
|
92257
|
+
switch (param.type) {
|
|
92258
|
+
case "enum": return typeof raw === "string" && (param.options ?? []).some((o) => o.value === raw) ? raw : void 0;
|
|
92259
|
+
case "number": {
|
|
92260
|
+
if (typeof raw !== "number" || !Number.isFinite(raw)) return void 0;
|
|
92261
|
+
const floor = param.min ?? Number.NEGATIVE_INFINITY;
|
|
92262
|
+
const ceil = param.max ?? Number.POSITIVE_INFINITY;
|
|
92263
|
+
return Math.min(ceil, Math.max(floor, raw));
|
|
92264
|
+
}
|
|
92265
|
+
case "boolean": return typeof raw === "boolean" ? raw : void 0;
|
|
92266
|
+
case "string": return typeof raw === "string" && raw.length > 0 ? raw : void 0;
|
|
92267
|
+
}
|
|
92268
|
+
}
|
|
92269
|
+
/**
|
|
92270
|
+
* The values a rule target's `params` contribute for a kind: only declared
|
|
92271
|
+
* keys, only valid values. `undefined` when nothing survives — a notifier that
|
|
92272
|
+
* declared nothing is never handed a `delivery` block.
|
|
92273
|
+
*/
|
|
92274
|
+
function resolveDeliveryParams(declared, params) {
|
|
92275
|
+
if (declared === void 0 || params === void 0) return void 0;
|
|
92276
|
+
const out = {};
|
|
92277
|
+
for (const param of declared) {
|
|
92278
|
+
const value = valueFor(param, params[param.key]);
|
|
92279
|
+
if (value !== void 0) out[param.key] = value;
|
|
92280
|
+
}
|
|
92281
|
+
return Object.keys(out).length > 0 ? out : void 0;
|
|
92282
|
+
}
|
|
92084
92283
|
/**
|
|
92085
92284
|
* WHICH narrowing filter speaks about WHICH system-event kind — one predicate,
|
|
92086
92285
|
* consumed by the rule ENGINE and by every rule EDITOR.
|
|
@@ -96644,6 +96843,22 @@ function armRemovalReconcile(opts) {
|
|
|
96644
96843
|
timer.unref?.();
|
|
96645
96844
|
return () => clearInterval(timer);
|
|
96646
96845
|
}
|
|
96846
|
+
discriminatedUnion("kind", [object({
|
|
96847
|
+
kind: literal("raw"),
|
|
96848
|
+
timings: array(number().int()),
|
|
96849
|
+
settings: TransmitSettingsSchema.optional()
|
|
96850
|
+
}), object({
|
|
96851
|
+
kind: literal("pronto"),
|
|
96852
|
+
code: string()
|
|
96853
|
+
})]);
|
|
96854
|
+
object({
|
|
96855
|
+
manufacturer: string().optional(),
|
|
96856
|
+
supportedModels: array(string()).optional(),
|
|
96857
|
+
supportedController: string().optional(),
|
|
96858
|
+
commandsEncoding: string(),
|
|
96859
|
+
delay: number().nonnegative().optional(),
|
|
96860
|
+
commands: record(string(), unknown())
|
|
96861
|
+
});
|
|
96647
96862
|
//#endregion
|
|
96648
96863
|
//#region src/pipeline-analytics/cluster-model-pin.ts
|
|
96649
96864
|
/**
|
|
@@ -96940,4 +97155,4 @@ function buildClipModelRegistry(entries) {
|
|
|
96940
97155
|
/** The built-in catalog's registry. */
|
|
96941
97156
|
var BUILTIN_CLIP_MODELS = buildClipModelRegistry(CLIP_IMAGE_MODELS);
|
|
96942
97157
|
//#endregion
|
|
96943
|
-
export { MediaFileKindEnum as $,
|
|
97158
|
+
export { MediaFileKindEnum as $, BaseAddon as $i, cloneAlarmSettings as $n, paintHex as $r, OpsLogEntrySchema as $t, DeclaredDevices as A, unknown as Aa, storageOccupancyCapability as Ai, TrackSideSchema as An, isAudioClassName as Ar, NcAlarmSensorsInputSchema as At, FULL_IMAGE_BBOX as B, systemEventSummarySplitOf as Bi, applyModeDelaysEdits as Bn, isRootSuppliableStepId as Br, NcRuleUpdateInputSchema as Bt, ClearTrackRelationResultSchema as C, partialRecord as Ca, ruleGroupingApplies as Ci, TimelapseRuleInputSchema as Cn, failureContributionCapability as Cr, NC_SNOOZE_MAX_MINUTES as Ct, DEFAULT_TIMELAPSE_PREVIEW_TEXT as D, templateLiteral as Da, sensorRaisedOf as Di, TrackPuritySchema as Dn, isAlertEpisodeOpen as Dr, NC_TEMPLATE_VARS as Dt, DEFAULT_EVENT_COLOR as E, string as Ea, secureActuationFor as Ei, TrackPlacementSchema as En, isAlarmControllableCap as Er, NC_TAXONOMY as Et, EVENT_DENSITY_BATCH_MAX as F, syncActiveAlarmProfileSettings as Fi, alarmPanelCapability as Fn, isEventOwnerType as Fr, NcRuleActionSchema as Ft, ListTrackRelationsResultSchema as G, withSystemEventClasses as Gi, audioMetricsCapability as Gn, kebabToCamel as Gr, NcSnoozeSuppressedSchema as Gt, LABEL_SUPPLY_MACRO as H, templateVarsFor as Hi, applySecureOnArmEdit as Hn, isSystemDelivery as Hr, NcSharedSequenceSchema as Ht, EVENT_KIND_BY_CAP as I, systemEventDeliveryProblems as Ii, alertEpisodeId as In, isKnownTemplateVar as Ir, NcRuleInputSchema as It, MAX_BIRTH_DECISION_RECORDS as J, canonicalHash as Ji, buildSubjectPath as Jn, memoizePinnedFfmpeg as Jr, NcTaxonomySchema as Jt, LockStateSchema as K, zoneAnalyticsCapability as Ki, audioModeOf as Kn, linkedStepOf as Kr, NcStateSummarySectionIdSchema as Kt, EVENT_OWNER_TYPES as L, systemEventFamilyProblems as Li, alertEpisodeKind as Ln, isLabelSupplyStepId as Lr, NcRulePatchSchema as Lt, EMBEDDING_MODEL_FAILED as M, subjectPathSampleFromBox as Mi, activateAlarmProfile as Mn, isDetectionMacroClass as Mr, NcAlarmSettingsPatchSchema as Mt, EMBEDDING_REQUIREMENTS_FAILED as N, subjectPathSvgPoints as Ni, addonWidgetsSourceCapability as Nn, isDrawableSubjectPath as Nr, NcConditionDescriptorSchema as Nt, DETECTION_MACRO_CLASSES as O, tuple as Oa, servedTemplateVars as Oi, TrackRelationKindSchema as On, isAlertEpisodeSeverity as Or, NcAlarmConfigSchema as Ot, EMBEDDING_REQUIREMENTS_UNAVAILABLE as P, summarizeReview as Pi, alarmDeviceSecureOnArm as Pn, isEventKindLabelKey as Pr, NcConditionsSchema as Pt, MOTION_CLOSE_AFTER_MS as Q, errMsg as Qi, classifyRetrainReview as Qn, occupancyScope as Qr, OPS_LOG_DEFAULT_LIMIT as Qt, EXPORT_DENSE_MAX_RANGES as R, systemEventFilterApplies as Ri, alertEpisodePayload as Rn, isMediaOwnerType as Rr, NcRuleSchema as Rt, ClearTrackRelationInputSchema as S, object as Sa, ruleDeviceCompatCapQueries as Si, TRACK_RELATIONS_DEFAULT_LIMIT as Sn, faceGalleryCapability as Sr, NC_SENSOR_TRANSITION_KINDS as St, DEFAULT_DETAIL_CROP_CONVENTION as T, strictObject as Ta, sceneMonitorCapability as Ti, TimelapseRuleSchema as Tn, gifFromMp4Args as Tr, NC_SYSTEM_EVENT_KIND_GROUP_SPECS as Tt, LabelAttributionSchema as U, vectorDimFromBase64 as Ui, armRemovalReconcile as Un, isSystemEventSummaryRule as Ur, NcSnoozeInputSchema as Ut, FailureCounters as V, templateCarriesSummary as Vi, applyNonBlockingEdit as Vn, isScheduleActive as Vr, NcScheduleSchema as Vt, ListTrackRelationsInputSchema as W, viewerLinkBaseOf as Wi, assertTimelapseCadences as Wn, isVectorIndexDimConflict as Wr, NcSnoozeSchema as Wt, MAX_TRACK_PURITIES as X, isSourceCap as Xi, bundledCamstack as Xn, normalizeNcMediaPolicy as Xr, NcTemplatePreviewSchema as Xt, MAX_BIRTH_LATENCY_PROXY_MS as Y, evaluateSensorEdge as Yi, buildViewerLink as Yn, ncMediaPolicyError as Yr, NcTemplatePreviewInputSchema as Yt, MAX_TRACK_RELATIONS as Z, DeviceType as Zi, calendarEventLocalSpan as Zn, notificationRulesCapability as Zr, NcTemplateVarDescriptorSchema as Zt, BIRTH_DECISION_DEFAULT_LIMIT as _, boolean as _a, resolvePoolMemoryPolicy as _i, SceneMonitorSchema as _n, embeddingRequirementsUnavailableError as _r, NC_CONSUMABLE_SYSTEM_EVENT_KINDS as _t, CLIP_EMBEDDING_STEP_ID as a, createEvent as aa, plateGalleryCapability as ai, RetrainDismissedSchema as an, deleteAlarmProfile as ar, NC_ALARM_NOTIFY_FIELDS as at, BucketAccumulator as b, looseObject as ba, ruleAutoTriggersAlarm as bi, SetTrackRelationInputSchema as bn, eventKindLabel as br, NC_GROUPING_MAX_SEC as bt, readClusterModelPinStrict as c, defineRecordKinds as ca, readMotionTriggeredBy as ci, SCENE_CONFIRM_DEFAULT_MAX_IMAGE_PX as cn, deriveRecordingMode as cr, NC_AUDIO_CONFIRM_HITS_DEFAULT as ct, APPEARANCE_BLOCKS as d, nodePin as da, resolveClipSearchMinScore as di, SCENE_DEFAULT_CHECK_INTERVAL_SEC as dn, deviceAttentionKind as dr, NC_CLIP_PRE_ROLL_DEFAULT_SEC as dt, CAP_ADVANCE_FIELDS as ea, paletteResultSchema as ei, PackageLlmVerdictSchema as en, consumableFormOf as er, MotionTriggeredBySchema as et, APPEARANCE_RESOLVES_AMBIGUITY_DEFAULT as f, normalizeNodeId as fa, resolveDeliveryParams as fi, SCENE_DEFAULT_OBSERVATION_SPACING_SEC as fn, deviceRemovalHookCapability as fr, NC_CLIP_RETENTION_MAX_SEC as ft, ArchivedDebugNoteSchema as g, array as ga, resolveNcMediaImage as gi, SCENE_RESET_RECAPTURES as gn, embeddingRequirementsFailedError as gr, NC_CONSUMABLE_LOW_PERCENT_DEFAULT as gt, AlarmArmModeSchema as h, _enum as ha, resolveModeNotifyPolicy as hi, SCENE_DIVERGED as hn, embeddingRefusalOf as hr, NC_CONFIRM_DEFAULT_TIMEOUT_MS as ht, CLIP_TEXT_MODELS as i, RECORD_QUERY_MAX as ia, pipelineAnalyticsCapability as ii, RebuildObjectEmbeddingsRefusalSchema as in, createAlarmProfile as ir, NC_ALARM_DELAY_MAX_SEC as it, DetectionSourceSchema as j, EventCategory as ja, subKindsOf as ji, TrackSourceSchema as jn, isDefaultAlarmProfileId as jr, NcAlarmSensorsSchema as jt, DETECTION_PIPELINE_CAP_NAME as k, union as ka, startMoverUnderClearance as ki, TrackRelationSchema as kn, isAppLinkBase as kr, NcAlarmPostTriggeredActionSchema as kt, resolveClusterModelPin as l, hydrateSchema as la, readTimelapseGeneratedAt as li, SCENE_CONFIRM_DEFAULT_TIMEOUT_MS as ln, describeSystemEventDeliveryProblem as lr, NC_AUDIO_CONFIRM_WINDOW_SEC_DEFAULT as lt, AUDIO_MACRO_LABELS as m, ZodObject as ma, resolveModeDelays as mi, SCENE_DEFAULT_UNCOVERED_POLICY as mn, embeddingModelFailedError as mr, NC_CONFIRM_DEFAULT_MAX_IMAGE_PX as mt, DEFAULT_CLIP_MODEL as n, InvalidRecordError as na, parseProcStatus as ni, RECORDING_EXPORT_MAX_READ_BYTES as nn, coreBlockIdFromAddonId as nr, NC_ALARM_DEFAULT_TRIGGERED_DURATION_SEC as nt, CLUSTER_MODEL_OWNER_ADDON_ID as o, customAction as oa, projectSubjectPath as oi, RetrainOriginSchema as on, deriveDetailCropRect as or, NC_ALARM_SYSTEM_EVENT_KINDS as ot, ARCHIVED_DEBUG_NOTES_DEFAULT_LIMIT as p, sleep as pa, resolveLocationMode as pi, SCENE_DEFAULT_QUIET_SECONDS as pn, embeddingEncoderCapability as pr, NC_CONDITION_CATALOG as pt, MAX_ARCHIVED_DEBUG_NOTES as q, DEFAULT_FIRST_SIGHTING_FRESHNESS_MS as qi, buildEventKindDescriptor as qn, mayWriteToLocation as qr, NcSystemEventKindSchema as qt, CLIP_IMAGE_MODELS as r, RECORD_MAX_DATA_BYTES as ra, pickFaceRescoreIntervalMinutes as ri, RECORDING_SOURCE_CAMSTACK_ADDON as rn, cosineSimilarity as rr, NC_ALARM_DELAY_FIELDS as rt, FACE_EMBEDDING_STEP_ID as s, defineCustomActions as sa, readDeviceStateFrom as si, RetrainStatusSchema as sn, derivePostTriggeredAction as sr, NC_ALARM_TRIGGERED_MAX_SEC as st, BUILTIN_CLIP_MODELS as t, CamProfileSchema as ta, parseAlertEpisodePayload as ti, PoolMemoryWatchdog as tn, consumableLowPercentOf as tr, NC_ALARM_DEFAULT_PROFILE_ID as tt, APPEARANCE_BIN_COUNT as u, isDeviceScopedCap as ua, renameAlarmProfile as ui, SCENE_DEFAULT_ANCHOR_THRESHOLD as un, describeSystemEventFamilyProblem as ur, NC_CLIP_POST_ROLL_DEFAULT_SEC as ut, BaseDevice as v, discriminatedUnion as va, retrainRevisionConflictMessage as vi, SetTrackPurityInputSchema as vn, encodeVectorBase64 as vr, NC_DEFAULT_SNOOZE_MINUTES as vt, CoverStateSchema as w, record as wa, ruleKindOf as wi, TimelapseRulePatchSchema as wn, gifDeriveSpeed as wr, NC_STATE_SUMMARY_SECTION_IDS as wt, COCO_TO_MACRO as x, number as xa, ruleBelongsToAlarm as xi, TIMELAPSE_DENSE_FLOOR_SEC as xn, evictionPolicyOfLocation as xr, NC_GROUPING_MIN_SEC as xt, BirthDecisionRecordSchema as y, literal as ya, rootSupplyServes as yi, SetTrackPurityResultSchema as yn, ensureAlarmProfiles as yr, NC_GROUPING_DEFAULT_SEC as yt, FIRST_LEVEL_MACRO_CLASSES as z, systemEventSummaryScheduleOf as zi, applyBlockingEdit as zn, isRetiredClearKey as zr, NcRuleTargetSchema as zt };
|