@camstack/addon-provider-homeassistant 1.2.96 → 1.2.98
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/dist/addon.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_dist = require("./dist-
|
|
2
|
+
const require_dist = require("./dist-CYfXTo_T.js");
|
|
3
3
|
let node_crypto = require("node:crypto");
|
|
4
4
|
let node_zlib = require("node:zlib");
|
|
5
5
|
//#region src/ha-device-source.ts
|
package/dist/addon.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $ as presenceCapability, A as controlCapability, At as EventCategory, B as humiditySensorCapability, C as buildAddonRouteProvider, Ct as number, D as colorCapability, Dt as union, E as climateControlCapability, Et as string, F as eventEmitterCapability, G as motionCapability, H as lawnMowerControlCapability, I as fanControlCapability, J as notifierCapability, K as normalizeUnit, L as floodCapability, M as deviceAdoptionCapability, O as connectivityCapability, Ot as unknown, P as enumSensorCapability, Q as prepareNotification, R as gasCapability, S as brokerCapability, St as literal, T as carbonMonoxideCapability, Tt as record, U as lockControlCapability, V as imageCapability, W as mediaPlayerCapability, Y as numericSensorCapability, Z as powerMeterCapability, _ as automationControlCapability, _t as createEvent, at as temperatureSensorCapability, b as binaryCapability, bt as array, ct as valveCapability, d as TargetSchema, dt as weatherCapability, et as pressureSensorCapability, f as accessoriesCapability, ft as errMsg, g as ambientLightSensorCapability, gt as DeviceType, h as alarmPanelCapability, ht as DeviceRole, it as tamperCapability, j as coverCapability, k as contactCapability, kt as url, lt as vibrationCapability, m as airQualitySensorCapability, mt as DeviceFeature, n as BaseDevice, nt as smokeCapability, ot as updateCapability, p as addonRoutesCapability, q as notificationOutputCapability, r as BaseDeviceProvider, rt as switchCapability, s as EnumSensorDateTimeFormatSchema, st as vacuumControlCapability, tt as scriptRunnerCapability, ut as waterHeaterCapability, v as batteryCapability, w as buttonCapability, wt as object, x as brightnessCapability, xt as discriminatedUnion, y as bestLocationMatch, yt as _enum, z as humidifierCapability } from "./dist-
|
|
1
|
+
import { $ as presenceCapability, A as controlCapability, At as EventCategory, B as humiditySensorCapability, C as buildAddonRouteProvider, Ct as number, D as colorCapability, Dt as union, E as climateControlCapability, Et as string, F as eventEmitterCapability, G as motionCapability, H as lawnMowerControlCapability, I as fanControlCapability, J as notifierCapability, K as normalizeUnit, L as floodCapability, M as deviceAdoptionCapability, O as connectivityCapability, Ot as unknown, P as enumSensorCapability, Q as prepareNotification, R as gasCapability, S as brokerCapability, St as literal, T as carbonMonoxideCapability, Tt as record, U as lockControlCapability, V as imageCapability, W as mediaPlayerCapability, Y as numericSensorCapability, Z as powerMeterCapability, _ as automationControlCapability, _t as createEvent, at as temperatureSensorCapability, b as binaryCapability, bt as array, ct as valveCapability, d as TargetSchema, dt as weatherCapability, et as pressureSensorCapability, f as accessoriesCapability, ft as errMsg, g as ambientLightSensorCapability, gt as DeviceType, h as alarmPanelCapability, ht as DeviceRole, it as tamperCapability, j as coverCapability, k as contactCapability, kt as url, lt as vibrationCapability, m as airQualitySensorCapability, mt as DeviceFeature, n as BaseDevice, nt as smokeCapability, ot as updateCapability, p as addonRoutesCapability, q as notificationOutputCapability, r as BaseDeviceProvider, rt as switchCapability, s as EnumSensorDateTimeFormatSchema, st as vacuumControlCapability, tt as scriptRunnerCapability, ut as waterHeaterCapability, v as batteryCapability, w as buttonCapability, wt as object, x as brightnessCapability, xt as discriminatedUnion, y as bestLocationMatch, yt as _enum, z as humidifierCapability } from "./dist-DgTxDihJ.mjs";
|
|
2
2
|
import { randomUUID } from "node:crypto";
|
|
3
3
|
import { brotliCompressSync, deflateSync, gzipSync } from "node:zlib";
|
|
4
4
|
//#region src/ha-device-source.ts
|
|
@@ -12322,6 +12322,9 @@ var QueryFilterSchema = object({
|
|
|
12322
12322
|
whereBetween: record(string(), tuple([unknown(), unknown()])).optional(),
|
|
12323
12323
|
/** NULL-safe exclusion: matches rows whose field is NULL OR != the value. */
|
|
12324
12324
|
whereNot: record(string(), unknown()).optional(),
|
|
12325
|
+
/** NULL-safe exclusion of a SET — `whereNot` for more than one value. An
|
|
12326
|
+
* empty list excludes nothing. See `QueryFilter.whereNotIn`. */
|
|
12327
|
+
whereNotIn: record(string(), array(unknown())).optional(),
|
|
12325
12328
|
orderBy: object({
|
|
12326
12329
|
field: string(),
|
|
12327
12330
|
direction: _enum(["asc", "desc"])
|
|
@@ -12342,7 +12345,8 @@ var MutationFilterSchema = object({
|
|
|
12342
12345
|
where: record(string(), unknown()).optional(),
|
|
12343
12346
|
whereIn: record(string(), array(unknown())).optional(),
|
|
12344
12347
|
whereBetween: record(string(), tuple([unknown(), unknown()])).optional(),
|
|
12345
|
-
whereNot: record(string(), unknown()).optional()
|
|
12348
|
+
whereNot: record(string(), unknown()).optional(),
|
|
12349
|
+
whereNotIn: record(string(), array(unknown())).optional()
|
|
12346
12350
|
});
|
|
12347
12351
|
/**
|
|
12348
12352
|
* One scalar an {@link settingsStoreCapability.methods.aggregate} call asks for.
|
|
@@ -19215,10 +19219,12 @@ var TrackSourceSchema = _enum([
|
|
|
19215
19219
|
* Terminal for the plain `markForTrain` toggle: returning it to `staging` is
|
|
19216
19220
|
* a deliberate action of the retrain page, not a side effect of a checkbox.
|
|
19217
19221
|
*
|
|
19218
|
-
* There is no `null`. The state is stored `TEXT NOT NULL DEFAULT 'none'`
|
|
19219
|
-
*
|
|
19220
|
-
*
|
|
19221
|
-
*
|
|
19222
|
+
* There is no `null`. The state is stored `TEXT NOT NULL DEFAULT 'none'` so that
|
|
19223
|
+
* every row is selectable by a positive predicate. (The filter language has
|
|
19224
|
+
* since grown the NULL-safe `whereNot` / `whereNotIn` and an `IS NULL` reading
|
|
19225
|
+
* of `where: { f: null }`, which is how {@link TrackSourceSchema} can be
|
|
19226
|
+
* filtered on a NULLABLE column — see `excludeSources`. It did not when this
|
|
19227
|
+
* column was designed, and a NOT NULL column is still the better shape.)
|
|
19222
19228
|
*/
|
|
19223
19229
|
var RetrainStatusSchema = _enum([
|
|
19224
19230
|
"none",
|
|
@@ -19954,7 +19960,9 @@ var RecentTracksQueryInput = object({
|
|
|
19954
19960
|
* whose class list is unreadable are kept, and the client's rule stays the
|
|
19955
19961
|
* exact one.
|
|
19956
19962
|
*/
|
|
19957
|
-
classes: array(string()).optional()
|
|
19963
|
+
classes: array(string()).optional(),
|
|
19964
|
+
/** See {@link ExcludeSourcesDoc}. */
|
|
19965
|
+
excludeSources: array(TrackSourceSchema).optional()
|
|
19958
19966
|
});
|
|
19959
19967
|
/**
|
|
19960
19968
|
* A Summary (D359): the per-camera session envelope that references tracks.
|
|
@@ -20382,7 +20390,9 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
20382
20390
|
* selected is an operator who has not narrowed anything, and an empty
|
|
20383
20391
|
* timeline would read as a camera that saw nothing.
|
|
20384
20392
|
*/
|
|
20385
|
-
classes: array(string()).optional()
|
|
20393
|
+
classes: array(string()).optional(),
|
|
20394
|
+
/** See {@link ExcludeSourcesDoc}. */
|
|
20395
|
+
excludeSources: array(TrackSourceSchema).optional()
|
|
20386
20396
|
}), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(SummariesQueryInput, SummariesPageSchema), method(object({ id: string() }), SummaryDetailSchema.nullable()), method(object({ deviceId: number() }), _void(), {
|
|
20387
20397
|
kind: "mutation",
|
|
20388
20398
|
auth: "admin"
|
|
@@ -20887,8 +20897,25 @@ var occupancyRecheckFramesField = {
|
|
|
20887
20897
|
* (analyzer attaches detected `regions[]`; onboard does not — the
|
|
20888
20898
|
* camera typically only reports a binary signal plus an optional
|
|
20889
20899
|
* channel/AI class which lives in dedicated event channels).
|
|
20890
|
-
|
|
20891
|
-
|
|
20900
|
+
*
|
|
20901
|
+
* - `onboard` — the camera's firmware said something moved.
|
|
20902
|
+
* - `analyzer` — this runner's frame-diff said so, and attaches `regions[]`.
|
|
20903
|
+
* - `device-activity` — the DEVICE said it is doing its job: the
|
|
20904
|
+
* `recording-signal` LEVEL the same device raises for the recorder
|
|
20905
|
+
* ([D380](../../../../docs/decisions/adr-0380-a-device-decided-recording-is-a-mode-with-no-schedule-seeded-once.md)),
|
|
20906
|
+
* republished as a motion source. It attaches **nothing** — no regions, no
|
|
20907
|
+
* class: the only fact it carries is that the device is active, and a robot
|
|
20908
|
+
* vacuum that is itself the moving object has no region worth sending. It is
|
|
20909
|
+
* a LEVEL, so unlike `onboard` it has a real falling edge, and unlike
|
|
20910
|
+
* `analyzer` it must not open the frame-diff side-channel — the runner's
|
|
20911
|
+
* `handleOnboardMotionAnalyzer` gate is `source === 'onboard'` and stays that
|
|
20912
|
+
* way ([D392](../../../../docs/decisions/adr-0392-a-device-that-says-it-is-working-is-a-motion-source-of-its-own.md)).
|
|
20913
|
+
*/
|
|
20914
|
+
var MotionSourceEnum = _enum([
|
|
20915
|
+
"onboard",
|
|
20916
|
+
"analyzer",
|
|
20917
|
+
"device-activity"
|
|
20918
|
+
]);
|
|
20892
20919
|
/**
|
|
20893
20920
|
* List of motion sources active on a camera. Empty array is valid:
|
|
20894
20921
|
* "no source" — happens for battery cams without firmware motion when
|
|
@@ -12322,6 +12322,9 @@ var QueryFilterSchema = object({
|
|
|
12322
12322
|
whereBetween: record(string(), tuple([unknown(), unknown()])).optional(),
|
|
12323
12323
|
/** NULL-safe exclusion: matches rows whose field is NULL OR != the value. */
|
|
12324
12324
|
whereNot: record(string(), unknown()).optional(),
|
|
12325
|
+
/** NULL-safe exclusion of a SET — `whereNot` for more than one value. An
|
|
12326
|
+
* empty list excludes nothing. See `QueryFilter.whereNotIn`. */
|
|
12327
|
+
whereNotIn: record(string(), array(unknown())).optional(),
|
|
12325
12328
|
orderBy: object({
|
|
12326
12329
|
field: string(),
|
|
12327
12330
|
direction: _enum(["asc", "desc"])
|
|
@@ -12342,7 +12345,8 @@ var MutationFilterSchema = object({
|
|
|
12342
12345
|
where: record(string(), unknown()).optional(),
|
|
12343
12346
|
whereIn: record(string(), array(unknown())).optional(),
|
|
12344
12347
|
whereBetween: record(string(), tuple([unknown(), unknown()])).optional(),
|
|
12345
|
-
whereNot: record(string(), unknown()).optional()
|
|
12348
|
+
whereNot: record(string(), unknown()).optional(),
|
|
12349
|
+
whereNotIn: record(string(), array(unknown())).optional()
|
|
12346
12350
|
});
|
|
12347
12351
|
/**
|
|
12348
12352
|
* One scalar an {@link settingsStoreCapability.methods.aggregate} call asks for.
|
|
@@ -19215,10 +19219,12 @@ var TrackSourceSchema = _enum([
|
|
|
19215
19219
|
* Terminal for the plain `markForTrain` toggle: returning it to `staging` is
|
|
19216
19220
|
* a deliberate action of the retrain page, not a side effect of a checkbox.
|
|
19217
19221
|
*
|
|
19218
|
-
* There is no `null`. The state is stored `TEXT NOT NULL DEFAULT 'none'`
|
|
19219
|
-
*
|
|
19220
|
-
*
|
|
19221
|
-
*
|
|
19222
|
+
* There is no `null`. The state is stored `TEXT NOT NULL DEFAULT 'none'` so that
|
|
19223
|
+
* every row is selectable by a positive predicate. (The filter language has
|
|
19224
|
+
* since grown the NULL-safe `whereNot` / `whereNotIn` and an `IS NULL` reading
|
|
19225
|
+
* of `where: { f: null }`, which is how {@link TrackSourceSchema} can be
|
|
19226
|
+
* filtered on a NULLABLE column — see `excludeSources`. It did not when this
|
|
19227
|
+
* column was designed, and a NOT NULL column is still the better shape.)
|
|
19222
19228
|
*/
|
|
19223
19229
|
var RetrainStatusSchema = _enum([
|
|
19224
19230
|
"none",
|
|
@@ -19954,7 +19960,9 @@ var RecentTracksQueryInput = object({
|
|
|
19954
19960
|
* whose class list is unreadable are kept, and the client's rule stays the
|
|
19955
19961
|
* exact one.
|
|
19956
19962
|
*/
|
|
19957
|
-
classes: array(string()).optional()
|
|
19963
|
+
classes: array(string()).optional(),
|
|
19964
|
+
/** See {@link ExcludeSourcesDoc}. */
|
|
19965
|
+
excludeSources: array(TrackSourceSchema).optional()
|
|
19958
19966
|
});
|
|
19959
19967
|
/**
|
|
19960
19968
|
* A Summary (D359): the per-camera session envelope that references tracks.
|
|
@@ -20382,7 +20390,9 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
20382
20390
|
* selected is an operator who has not narrowed anything, and an empty
|
|
20383
20391
|
* timeline would read as a camera that saw nothing.
|
|
20384
20392
|
*/
|
|
20385
|
-
classes: array(string()).optional()
|
|
20393
|
+
classes: array(string()).optional(),
|
|
20394
|
+
/** See {@link ExcludeSourcesDoc}. */
|
|
20395
|
+
excludeSources: array(TrackSourceSchema).optional()
|
|
20386
20396
|
}), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(SummariesQueryInput, SummariesPageSchema), method(object({ id: string() }), SummaryDetailSchema.nullable()), method(object({ deviceId: number() }), _void(), {
|
|
20387
20397
|
kind: "mutation",
|
|
20388
20398
|
auth: "admin"
|
|
@@ -20887,8 +20897,25 @@ var occupancyRecheckFramesField = {
|
|
|
20887
20897
|
* (analyzer attaches detected `regions[]`; onboard does not — the
|
|
20888
20898
|
* camera typically only reports a binary signal plus an optional
|
|
20889
20899
|
* channel/AI class which lives in dedicated event channels).
|
|
20890
|
-
|
|
20891
|
-
|
|
20900
|
+
*
|
|
20901
|
+
* - `onboard` — the camera's firmware said something moved.
|
|
20902
|
+
* - `analyzer` — this runner's frame-diff said so, and attaches `regions[]`.
|
|
20903
|
+
* - `device-activity` — the DEVICE said it is doing its job: the
|
|
20904
|
+
* `recording-signal` LEVEL the same device raises for the recorder
|
|
20905
|
+
* ([D380](../../../../docs/decisions/adr-0380-a-device-decided-recording-is-a-mode-with-no-schedule-seeded-once.md)),
|
|
20906
|
+
* republished as a motion source. It attaches **nothing** — no regions, no
|
|
20907
|
+
* class: the only fact it carries is that the device is active, and a robot
|
|
20908
|
+
* vacuum that is itself the moving object has no region worth sending. It is
|
|
20909
|
+
* a LEVEL, so unlike `onboard` it has a real falling edge, and unlike
|
|
20910
|
+
* `analyzer` it must not open the frame-diff side-channel — the runner's
|
|
20911
|
+
* `handleOnboardMotionAnalyzer` gate is `source === 'onboard'` and stays that
|
|
20912
|
+
* way ([D392](../../../../docs/decisions/adr-0392-a-device-that-says-it-is-working-is-a-motion-source-of-its-own.md)).
|
|
20913
|
+
*/
|
|
20914
|
+
var MotionSourceEnum = _enum([
|
|
20915
|
+
"onboard",
|
|
20916
|
+
"analyzer",
|
|
20917
|
+
"device-activity"
|
|
20918
|
+
]);
|
|
20892
20919
|
/**
|
|
20893
20920
|
* List of motion sources active on a camera. Empty array is valid:
|
|
20894
20921
|
* "no source" — happens for battery cams without firmware motion when
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
//#endregion
|
|
6
|
-
const require_dist = require("../dist-
|
|
6
|
+
const require_dist = require("../dist-CYfXTo_T.js");
|
|
7
7
|
let node_crypto = require("node:crypto");
|
|
8
8
|
//#region src/ha-export/topics.ts
|
|
9
9
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { At as EventCategory, C as buildAddonRouteProvider, Et as string, N as deviceExportCapability, X as oauthIntegrationCapability, a as COCO_TO_MACRO, c as FanDirectionSchema, i as CAMERA_SWITCH_ORDER, l as HvacModeSchema, o as CameraSwitchIdSchema, p as addonRoutesCapability, pt as BaseAddon, t as AlarmArmModeSchema, u as MediaPlayerRepeatSchema, vt as nodePin } from "../dist-
|
|
1
|
+
import { At as EventCategory, C as buildAddonRouteProvider, Et as string, N as deviceExportCapability, X as oauthIntegrationCapability, a as COCO_TO_MACRO, c as FanDirectionSchema, i as CAMERA_SWITCH_ORDER, l as HvacModeSchema, o as CameraSwitchIdSchema, p as addonRoutesCapability, pt as BaseAddon, t as AlarmArmModeSchema, u as MediaPlayerRepeatSchema, vt as nodePin } from "../dist-DgTxDihJ.mjs";
|
|
2
2
|
import { createHmac, timingSafeEqual } from "node:crypto";
|
|
3
3
|
//#region src/ha-export/topics.ts
|
|
4
4
|
/**
|