@camstack/addon-provider-homeassistant 1.1.4 → 1.1.5

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
@@ -4629,7 +4629,7 @@ function _instanceof(cls, params = {}) {
4629
4629
  return inst;
4630
4630
  }
4631
4631
  //#endregion
4632
- //#region ../types/dist/sleep-_J5S7OEP.mjs
4632
+ //#region ../types/dist/sleep-NOH4yRwj.mjs
4633
4633
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
4634
4634
  EventCategory["SystemBoot"] = "system.boot";
4635
4635
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -15548,7 +15548,8 @@ method(object({
15548
15548
  sessionId: string().optional()
15549
15549
  }), ConvertResultSchema, {
15550
15550
  kind: "mutation",
15551
- auth: "admin"
15551
+ auth: "admin",
15552
+ timeoutMs: 6e5
15552
15553
  });
15553
15554
  var AddonHttpRouteSchema = object({
15554
15555
  method: _enum([
@@ -17084,7 +17085,14 @@ var NotificationRuleConditionsSchema = object({
17084
17085
  /** Match against `event.data.eventType` token (e.g. `'press_long'`). When non-empty, only events
17085
17086
  * carrying a matching `data.eventType` string pass this condition. Rules without this field are
17086
17087
  * unaffected (back-compat). Distinct from `rule.eventTypes` which holds EventCategory strings. */
17087
- eventTypeTokens: array(string()).readonly().optional()
17088
+ eventTypeTokens: array(string()).readonly().optional(),
17089
+ /** Match detections whose CLIP image embedding is semantically similar to this free-text
17090
+ * description. Requires the embedding-encoder cap to have pre-warmed the text vector.
17091
+ * `minSimilarity` is the cosine similarity threshold in [0, 1]. */
17092
+ clipDescription: object({
17093
+ text: string().min(1),
17094
+ minSimilarity: number().min(0).max(1)
17095
+ }).optional()
17088
17096
  });
17089
17097
  var NotificationRuleTemplateSchema = object({
17090
17098
  title: string(),
@@ -17326,6 +17334,16 @@ var TrackedDetectionSchema = object({
17326
17334
  zones: array(string()).readonly(),
17327
17335
  state: TrackStateSchema
17328
17336
  });
17337
+ var ScoredObjectEventSchema = ObjectEventSchema.extend({ score: number() });
17338
+ var SearchObjectEventsInput = object({
17339
+ text: string(),
17340
+ deviceId: number().optional(),
17341
+ since: number().optional(),
17342
+ until: number().optional(),
17343
+ classFilter: string().optional(),
17344
+ limit: number().default(50),
17345
+ minScore: number().min(0).max(1).default(.2)
17346
+ });
17329
17347
  DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).readonly()), method(object({
17330
17348
  deviceId: number(),
17331
17349
  trackId: string()
@@ -17360,7 +17378,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
17360
17378
  }), method(object({
17361
17379
  eventId: string(),
17362
17380
  kind: MediaFileKindEnum.optional()
17363
- }), array(MediaFileSchema).readonly()), method(object({ trackId: string() }), array(MediaFileSchema).readonly()), object({
17381
+ }), array(MediaFileSchema).readonly()), method(object({ trackId: string() }), array(MediaFileSchema).readonly()), method(SearchObjectEventsInput, array(ScoredObjectEventSchema).readonly()), object({
17364
17382
  deviceId: number(),
17365
17383
  timestamp: number(),
17366
17384
  frameWidth: number(),
@@ -22099,6 +22117,12 @@ Object.freeze({
22099
22117
  addonId: null,
22100
22118
  access: "create"
22101
22119
  },
22120
+ "pipelineAnalytics.searchObjectEvents": {
22121
+ capName: "pipeline-analytics",
22122
+ capScope: "device",
22123
+ addonId: null,
22124
+ access: "view"
22125
+ },
22102
22126
  "pipelineExecutor.cacheFrameInPool": {
22103
22127
  capName: "pipeline-executor",
22104
22128
  capScope: "system",
package/dist/addon.mjs CHANGED
@@ -4628,7 +4628,7 @@ function _instanceof(cls, params = {}) {
4628
4628
  return inst;
4629
4629
  }
4630
4630
  //#endregion
4631
- //#region ../types/dist/sleep-_J5S7OEP.mjs
4631
+ //#region ../types/dist/sleep-NOH4yRwj.mjs
4632
4632
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
4633
4633
  EventCategory["SystemBoot"] = "system.boot";
4634
4634
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -15547,7 +15547,8 @@ method(object({
15547
15547
  sessionId: string().optional()
15548
15548
  }), ConvertResultSchema, {
15549
15549
  kind: "mutation",
15550
- auth: "admin"
15550
+ auth: "admin",
15551
+ timeoutMs: 6e5
15551
15552
  });
15552
15553
  var AddonHttpRouteSchema = object({
15553
15554
  method: _enum([
@@ -17083,7 +17084,14 @@ var NotificationRuleConditionsSchema = object({
17083
17084
  /** Match against `event.data.eventType` token (e.g. `'press_long'`). When non-empty, only events
17084
17085
  * carrying a matching `data.eventType` string pass this condition. Rules without this field are
17085
17086
  * unaffected (back-compat). Distinct from `rule.eventTypes` which holds EventCategory strings. */
17086
- eventTypeTokens: array(string()).readonly().optional()
17087
+ eventTypeTokens: array(string()).readonly().optional(),
17088
+ /** Match detections whose CLIP image embedding is semantically similar to this free-text
17089
+ * description. Requires the embedding-encoder cap to have pre-warmed the text vector.
17090
+ * `minSimilarity` is the cosine similarity threshold in [0, 1]. */
17091
+ clipDescription: object({
17092
+ text: string().min(1),
17093
+ minSimilarity: number().min(0).max(1)
17094
+ }).optional()
17087
17095
  });
17088
17096
  var NotificationRuleTemplateSchema = object({
17089
17097
  title: string(),
@@ -17325,6 +17333,16 @@ var TrackedDetectionSchema = object({
17325
17333
  zones: array(string()).readonly(),
17326
17334
  state: TrackStateSchema
17327
17335
  });
17336
+ var ScoredObjectEventSchema = ObjectEventSchema.extend({ score: number() });
17337
+ var SearchObjectEventsInput = object({
17338
+ text: string(),
17339
+ deviceId: number().optional(),
17340
+ since: number().optional(),
17341
+ until: number().optional(),
17342
+ classFilter: string().optional(),
17343
+ limit: number().default(50),
17344
+ minScore: number().min(0).max(1).default(.2)
17345
+ });
17328
17346
  DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).readonly()), method(object({
17329
17347
  deviceId: number(),
17330
17348
  trackId: string()
@@ -17359,7 +17377,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
17359
17377
  }), method(object({
17360
17378
  eventId: string(),
17361
17379
  kind: MediaFileKindEnum.optional()
17362
- }), array(MediaFileSchema).readonly()), method(object({ trackId: string() }), array(MediaFileSchema).readonly()), object({
17380
+ }), array(MediaFileSchema).readonly()), method(object({ trackId: string() }), array(MediaFileSchema).readonly()), method(SearchObjectEventsInput, array(ScoredObjectEventSchema).readonly()), object({
17363
17381
  deviceId: number(),
17364
17382
  timestamp: number(),
17365
17383
  frameWidth: number(),
@@ -22098,6 +22116,12 @@ Object.freeze({
22098
22116
  addonId: null,
22099
22117
  access: "create"
22100
22118
  },
22119
+ "pipelineAnalytics.searchObjectEvents": {
22120
+ capName: "pipeline-analytics",
22121
+ capScope: "device",
22122
+ addonId: null,
22123
+ access: "view"
22124
+ },
22101
22125
  "pipelineExecutor.cacheFrameInPool": {
22102
22126
  capName: "pipeline-executor",
22103
22127
  capScope: "system",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-homeassistant",
3
- "version": "1.1.4",
3
+ "version": "1.1.5",
4
4
  "description": "Home Assistant device provider addon for CamStack",
5
5
  "keywords": [
6
6
  "camstack",