@camstack/addon-provider-homeassistant 1.2.83 → 1.2.85

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-D5pBNTWh.js");
2
+ const require_dist = require("./dist-DAyddjpR.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-DPdEnWGf.mjs";
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-D8MM0d_3.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
@@ -19777,6 +19777,33 @@ var RecentTracksQueryInput = object({
19777
19777
  */
19778
19778
  classes: array(string()).optional()
19779
19779
  });
19780
+ /**
19781
+ * A Summary (D359): the per-camera session envelope that references tracks.
19782
+ * `groupShotKey` is the media key of its group shot (`ownerKind: 'summary'`,
19783
+ * served by the event-media plane by key), null until the first frame with a
19784
+ * member visible has been materialised.
19785
+ */
19786
+ var SummarySchema = object({
19787
+ id: string(),
19788
+ deviceId: number(),
19789
+ openedAt: number(),
19790
+ lastActiveAt: number(),
19791
+ sealedAt: number().nullable(),
19792
+ memberCount: number().int().nonnegative(),
19793
+ groupShotKey: string().nullable()
19794
+ });
19795
+ var SummariesQueryInput = object({
19796
+ deviceIds: array(number()).min(1),
19797
+ since: number().optional(),
19798
+ until: number().optional(),
19799
+ limit: number().int().min(1).max(200).default(50)
19800
+ });
19801
+ var SummariesPageSchema = object({ summaries: array(SummarySchema).readonly() });
19802
+ var SummaryDetailSchema = object({
19803
+ summary: SummarySchema,
19804
+ /** Member track ids, in absorption order. */
19805
+ trackIds: array(string()).readonly()
19806
+ });
19780
19807
  var RecentTracksPageSchema = object({
19781
19808
  /** Merged page, ordered by (`lastSeen` DESC, `trackId` DESC). */
19782
19809
  tracks: array(TrackSchema).readonly(),
@@ -20177,7 +20204,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
20177
20204
  * timeline would read as a camera that saw nothing.
20178
20205
  */
20179
20206
  classes: array(string()).optional()
20180
- }), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(object({ deviceId: number() }), _void(), {
20207
+ }), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(SummariesQueryInput, SummariesPageSchema), method(object({ id: string() }), SummaryDetailSchema.nullable()), method(object({ deviceId: number() }), _void(), {
20181
20208
  kind: "mutation",
20182
20209
  auth: "admin"
20183
20210
  }), method(DeviceEventQueryInput, array(MotionEventSchema).readonly()), method(ObjectEventQueryInput, array(ObjectEventSchema).readonly()), method(DeviceEventQueryInput, array(AudioEventSchema).readonly()), method(object({ deviceId: number() }), array(EventKindDescriptorSchema).readonly()), method(object({ deviceIds: array(number()).min(1).max(200) }), array(EventKindsForDeviceSchema).readonly()), method(object({
@@ -21112,6 +21139,14 @@ var AgentPipelineSettingsSchema = object({
21112
21139
  /** Node is eligible to be the ingest / source-owner (serve the restream). */
21113
21140
  ingest: boolean().optional(),
21114
21141
  /**
21142
+ * This node's decode RAM budget, MB. Wins over the cluster
21143
+ * `nodeDecodeBudgetMb`; absent, the runner derives a share of the node's
21144
+ * own RAM unless the operator moved the cluster value (D365).
21145
+ */
21146
+ decodeBudgetMb: number().int().min(1024).max(65536).optional(),
21147
+ /** This node's live decode-worker cap. Wins over the cluster `maxLiveDecodeWorkers`. */
21148
+ maxLiveDecodeWorkers: number().int().min(1).max(32).optional(),
21149
+ /**
21115
21150
  * Operator override for the LAN host a cross-node decoder dials to reach
21116
21151
  * THIS node's restream (Cluster UI). Absent → auto-detect: a remote runner
21117
21152
  * falls back to its `CAMSTACK_HUB_URL`-derived host (the Moleculer address
@@ -21573,6 +21608,13 @@ method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
21573
21608
  }), object({ success: literal(true) }), {
21574
21609
  kind: "mutation",
21575
21610
  auth: "admin"
21611
+ }), method(object({
21612
+ agentNodeId: string(),
21613
+ decodeBudgetMb: number().int().min(1024).max(65536).nullable().optional(),
21614
+ maxLiveDecodeWorkers: number().int().min(1).max(32).nullable().optional()
21615
+ }), object({ success: literal(true) }), {
21616
+ kind: "mutation",
21617
+ auth: "admin"
21576
21618
  }), method(object({
21577
21619
  agentNodeId: string(),
21578
21620
  reachableHost: string().nullable()
@@ -36985,6 +37027,12 @@ Object.freeze({
36985
37027
  addonId: null,
36986
37028
  access: "view"
36987
37029
  },
37030
+ "pipelineAnalytics.getSummary": {
37031
+ capName: "pipeline-analytics",
37032
+ capScope: "device",
37033
+ addonId: null,
37034
+ access: "view"
37035
+ },
36988
37036
  "pipelineAnalytics.getTrack": {
36989
37037
  capName: "pipeline-analytics",
36990
37038
  capScope: "device",
@@ -37063,6 +37111,12 @@ Object.freeze({
37063
37111
  addonId: null,
37064
37112
  access: "view"
37065
37113
  },
37114
+ "pipelineAnalytics.listSummaries": {
37115
+ capName: "pipeline-analytics",
37116
+ capScope: "device",
37117
+ addonId: null,
37118
+ access: "view"
37119
+ },
37066
37120
  "pipelineAnalytics.listTrackMedia": {
37067
37121
  capName: "pipeline-analytics",
37068
37122
  capScope: "device",
@@ -37621,6 +37675,12 @@ Object.freeze({
37621
37675
  addonId: null,
37622
37676
  access: "create"
37623
37677
  },
37678
+ "pipelineOrchestrator.setAgentDecodeLimits": {
37679
+ capName: "pipeline-orchestrator",
37680
+ capScope: "system",
37681
+ addonId: null,
37682
+ access: "create"
37683
+ },
37624
37684
  "pipelineOrchestrator.setAgentDetectWeight": {
37625
37685
  capName: "pipeline-orchestrator",
37626
37686
  capScope: "system",
@@ -40752,6 +40812,11 @@ Object.freeze({
40752
40812
  form: "array",
40753
40813
  optional: true
40754
40814
  }],
40815
+ "pipelineAnalytics.listSummaries": [{
40816
+ name: "deviceIds",
40817
+ form: "array",
40818
+ optional: false
40819
+ }],
40755
40820
  "pipelineAnalytics.listTrackMedia": [{
40756
40821
  name: "deviceId",
40757
40822
  form: "single",
@@ -19777,6 +19777,33 @@ var RecentTracksQueryInput = object({
19777
19777
  */
19778
19778
  classes: array(string()).optional()
19779
19779
  });
19780
+ /**
19781
+ * A Summary (D359): the per-camera session envelope that references tracks.
19782
+ * `groupShotKey` is the media key of its group shot (`ownerKind: 'summary'`,
19783
+ * served by the event-media plane by key), null until the first frame with a
19784
+ * member visible has been materialised.
19785
+ */
19786
+ var SummarySchema = object({
19787
+ id: string(),
19788
+ deviceId: number(),
19789
+ openedAt: number(),
19790
+ lastActiveAt: number(),
19791
+ sealedAt: number().nullable(),
19792
+ memberCount: number().int().nonnegative(),
19793
+ groupShotKey: string().nullable()
19794
+ });
19795
+ var SummariesQueryInput = object({
19796
+ deviceIds: array(number()).min(1),
19797
+ since: number().optional(),
19798
+ until: number().optional(),
19799
+ limit: number().int().min(1).max(200).default(50)
19800
+ });
19801
+ var SummariesPageSchema = object({ summaries: array(SummarySchema).readonly() });
19802
+ var SummaryDetailSchema = object({
19803
+ summary: SummarySchema,
19804
+ /** Member track ids, in absorption order. */
19805
+ trackIds: array(string()).readonly()
19806
+ });
19780
19807
  var RecentTracksPageSchema = object({
19781
19808
  /** Merged page, ordered by (`lastSeen` DESC, `trackId` DESC). */
19782
19809
  tracks: array(TrackSchema).readonly(),
@@ -20177,7 +20204,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
20177
20204
  * timeline would read as a camera that saw nothing.
20178
20205
  */
20179
20206
  classes: array(string()).optional()
20180
- }), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(object({ deviceId: number() }), _void(), {
20207
+ }), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(SummariesQueryInput, SummariesPageSchema), method(object({ id: string() }), SummaryDetailSchema.nullable()), method(object({ deviceId: number() }), _void(), {
20181
20208
  kind: "mutation",
20182
20209
  auth: "admin"
20183
20210
  }), method(DeviceEventQueryInput, array(MotionEventSchema).readonly()), method(ObjectEventQueryInput, array(ObjectEventSchema).readonly()), method(DeviceEventQueryInput, array(AudioEventSchema).readonly()), method(object({ deviceId: number() }), array(EventKindDescriptorSchema).readonly()), method(object({ deviceIds: array(number()).min(1).max(200) }), array(EventKindsForDeviceSchema).readonly()), method(object({
@@ -21112,6 +21139,14 @@ var AgentPipelineSettingsSchema = object({
21112
21139
  /** Node is eligible to be the ingest / source-owner (serve the restream). */
21113
21140
  ingest: boolean().optional(),
21114
21141
  /**
21142
+ * This node's decode RAM budget, MB. Wins over the cluster
21143
+ * `nodeDecodeBudgetMb`; absent, the runner derives a share of the node's
21144
+ * own RAM unless the operator moved the cluster value (D365).
21145
+ */
21146
+ decodeBudgetMb: number().int().min(1024).max(65536).optional(),
21147
+ /** This node's live decode-worker cap. Wins over the cluster `maxLiveDecodeWorkers`. */
21148
+ maxLiveDecodeWorkers: number().int().min(1).max(32).optional(),
21149
+ /**
21115
21150
  * Operator override for the LAN host a cross-node decoder dials to reach
21116
21151
  * THIS node's restream (Cluster UI). Absent → auto-detect: a remote runner
21117
21152
  * falls back to its `CAMSTACK_HUB_URL`-derived host (the Moleculer address
@@ -21573,6 +21608,13 @@ method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
21573
21608
  }), object({ success: literal(true) }), {
21574
21609
  kind: "mutation",
21575
21610
  auth: "admin"
21611
+ }), method(object({
21612
+ agentNodeId: string(),
21613
+ decodeBudgetMb: number().int().min(1024).max(65536).nullable().optional(),
21614
+ maxLiveDecodeWorkers: number().int().min(1).max(32).nullable().optional()
21615
+ }), object({ success: literal(true) }), {
21616
+ kind: "mutation",
21617
+ auth: "admin"
21576
21618
  }), method(object({
21577
21619
  agentNodeId: string(),
21578
21620
  reachableHost: string().nullable()
@@ -36985,6 +37027,12 @@ Object.freeze({
36985
37027
  addonId: null,
36986
37028
  access: "view"
36987
37029
  },
37030
+ "pipelineAnalytics.getSummary": {
37031
+ capName: "pipeline-analytics",
37032
+ capScope: "device",
37033
+ addonId: null,
37034
+ access: "view"
37035
+ },
36988
37036
  "pipelineAnalytics.getTrack": {
36989
37037
  capName: "pipeline-analytics",
36990
37038
  capScope: "device",
@@ -37063,6 +37111,12 @@ Object.freeze({
37063
37111
  addonId: null,
37064
37112
  access: "view"
37065
37113
  },
37114
+ "pipelineAnalytics.listSummaries": {
37115
+ capName: "pipeline-analytics",
37116
+ capScope: "device",
37117
+ addonId: null,
37118
+ access: "view"
37119
+ },
37066
37120
  "pipelineAnalytics.listTrackMedia": {
37067
37121
  capName: "pipeline-analytics",
37068
37122
  capScope: "device",
@@ -37621,6 +37675,12 @@ Object.freeze({
37621
37675
  addonId: null,
37622
37676
  access: "create"
37623
37677
  },
37678
+ "pipelineOrchestrator.setAgentDecodeLimits": {
37679
+ capName: "pipeline-orchestrator",
37680
+ capScope: "system",
37681
+ addonId: null,
37682
+ access: "create"
37683
+ },
37624
37684
  "pipelineOrchestrator.setAgentDetectWeight": {
37625
37685
  capName: "pipeline-orchestrator",
37626
37686
  capScope: "system",
@@ -40752,6 +40812,11 @@ Object.freeze({
40752
40812
  form: "array",
40753
40813
  optional: true
40754
40814
  }],
40815
+ "pipelineAnalytics.listSummaries": [{
40816
+ name: "deviceIds",
40817
+ form: "array",
40818
+ optional: false
40819
+ }],
40755
40820
  "pipelineAnalytics.listTrackMedia": [{
40756
40821
  name: "deviceId",
40757
40822
  form: "single",
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  //#endregion
6
- const require_dist = require("../dist-D5pBNTWh.js");
6
+ const require_dist = require("../dist-DAyddjpR.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-DPdEnWGf.mjs";
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-D8MM0d_3.mjs";
2
2
  import { createHmac, timingSafeEqual } from "node:crypto";
3
3
  //#region src/ha-export/topics.ts
4
4
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-homeassistant",
3
- "version": "1.2.83",
3
+ "version": "1.2.85",
4
4
  "description": "Home Assistant device provider addon for CamStack",
5
5
  "keywords": [
6
6
  "camstack",