@camstack/addon-mqtt-broker 1.1.4 → 1.1.6

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.
@@ -4673,7 +4673,7 @@ function _instanceof(cls, params = {}) {
4673
4673
  return inst;
4674
4674
  }
4675
4675
  //#endregion
4676
- //#region ../types/dist/sleep-_J5S7OEP.mjs
4676
+ //#region ../types/dist/sleep-NOH4yRwj.mjs
4677
4677
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
4678
4678
  EventCategory["SystemBoot"] = "system.boot";
4679
4679
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -12769,7 +12769,8 @@ method(object({
12769
12769
  sessionId: string().optional()
12770
12770
  }), ConvertResultSchema, {
12771
12771
  kind: "mutation",
12772
- auth: "admin"
12772
+ auth: "admin",
12773
+ timeoutMs: 6e5
12773
12774
  });
12774
12775
  var AddonHttpRouteSchema = object({
12775
12776
  method: _enum([
@@ -14305,7 +14306,14 @@ var NotificationRuleConditionsSchema = object({
14305
14306
  /** Match against `event.data.eventType` token (e.g. `'press_long'`). When non-empty, only events
14306
14307
  * carrying a matching `data.eventType` string pass this condition. Rules without this field are
14307
14308
  * unaffected (back-compat). Distinct from `rule.eventTypes` which holds EventCategory strings. */
14308
- eventTypeTokens: array(string()).readonly().optional()
14309
+ eventTypeTokens: array(string()).readonly().optional(),
14310
+ /** Match detections whose CLIP image embedding is semantically similar to this free-text
14311
+ * description. Requires the embedding-encoder cap to have pre-warmed the text vector.
14312
+ * `minSimilarity` is the cosine similarity threshold in [0, 1]. */
14313
+ clipDescription: object({
14314
+ text: string().min(1),
14315
+ minSimilarity: number().min(0).max(1)
14316
+ }).optional()
14309
14317
  });
14310
14318
  var NotificationRuleTemplateSchema = object({
14311
14319
  title: string(),
@@ -14547,6 +14555,16 @@ var TrackedDetectionSchema = object({
14547
14555
  zones: array(string()).readonly(),
14548
14556
  state: TrackStateSchema
14549
14557
  });
14558
+ var ScoredObjectEventSchema = ObjectEventSchema.extend({ score: number() });
14559
+ var SearchObjectEventsInput = object({
14560
+ text: string(),
14561
+ deviceId: number().optional(),
14562
+ since: number().optional(),
14563
+ until: number().optional(),
14564
+ classFilter: string().optional(),
14565
+ limit: number().default(50),
14566
+ minScore: number().min(0).max(1).default(.2)
14567
+ });
14550
14568
  DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).readonly()), method(object({
14551
14569
  deviceId: number(),
14552
14570
  trackId: string()
@@ -14581,7 +14599,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
14581
14599
  }), method(object({
14582
14600
  eventId: string(),
14583
14601
  kind: MediaFileKindEnum.optional()
14584
- }), array(MediaFileSchema).readonly()), method(object({ trackId: string() }), array(MediaFileSchema).readonly()), object({
14602
+ }), array(MediaFileSchema).readonly()), method(object({ trackId: string() }), array(MediaFileSchema).readonly()), method(SearchObjectEventsInput, array(ScoredObjectEventSchema).readonly()), object({
14585
14603
  deviceId: number(),
14586
14604
  timestamp: number(),
14587
14605
  frameWidth: number(),
@@ -19231,6 +19249,12 @@ Object.freeze({
19231
19249
  addonId: null,
19232
19250
  access: "create"
19233
19251
  },
19252
+ "pipelineAnalytics.searchObjectEvents": {
19253
+ capName: "pipeline-analytics",
19254
+ capScope: "device",
19255
+ addonId: null,
19256
+ access: "view"
19257
+ },
19234
19258
  "pipelineExecutor.cacheFrameInPool": {
19235
19259
  capName: "pipeline-executor",
19236
19260
  capScope: "system",
@@ -4668,7 +4668,7 @@ function _instanceof(cls, params = {}) {
4668
4668
  return inst;
4669
4669
  }
4670
4670
  //#endregion
4671
- //#region ../types/dist/sleep-_J5S7OEP.mjs
4671
+ //#region ../types/dist/sleep-NOH4yRwj.mjs
4672
4672
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
4673
4673
  EventCategory["SystemBoot"] = "system.boot";
4674
4674
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -12764,7 +12764,8 @@ method(object({
12764
12764
  sessionId: string().optional()
12765
12765
  }), ConvertResultSchema, {
12766
12766
  kind: "mutation",
12767
- auth: "admin"
12767
+ auth: "admin",
12768
+ timeoutMs: 6e5
12768
12769
  });
12769
12770
  var AddonHttpRouteSchema = object({
12770
12771
  method: _enum([
@@ -14300,7 +14301,14 @@ var NotificationRuleConditionsSchema = object({
14300
14301
  /** Match against `event.data.eventType` token (e.g. `'press_long'`). When non-empty, only events
14301
14302
  * carrying a matching `data.eventType` string pass this condition. Rules without this field are
14302
14303
  * unaffected (back-compat). Distinct from `rule.eventTypes` which holds EventCategory strings. */
14303
- eventTypeTokens: array(string()).readonly().optional()
14304
+ eventTypeTokens: array(string()).readonly().optional(),
14305
+ /** Match detections whose CLIP image embedding is semantically similar to this free-text
14306
+ * description. Requires the embedding-encoder cap to have pre-warmed the text vector.
14307
+ * `minSimilarity` is the cosine similarity threshold in [0, 1]. */
14308
+ clipDescription: object({
14309
+ text: string().min(1),
14310
+ minSimilarity: number().min(0).max(1)
14311
+ }).optional()
14304
14312
  });
14305
14313
  var NotificationRuleTemplateSchema = object({
14306
14314
  title: string(),
@@ -14542,6 +14550,16 @@ var TrackedDetectionSchema = object({
14542
14550
  zones: array(string()).readonly(),
14543
14551
  state: TrackStateSchema
14544
14552
  });
14553
+ var ScoredObjectEventSchema = ObjectEventSchema.extend({ score: number() });
14554
+ var SearchObjectEventsInput = object({
14555
+ text: string(),
14556
+ deviceId: number().optional(),
14557
+ since: number().optional(),
14558
+ until: number().optional(),
14559
+ classFilter: string().optional(),
14560
+ limit: number().default(50),
14561
+ minScore: number().min(0).max(1).default(.2)
14562
+ });
14545
14563
  DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).readonly()), method(object({
14546
14564
  deviceId: number(),
14547
14565
  trackId: string()
@@ -14576,7 +14594,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
14576
14594
  }), method(object({
14577
14595
  eventId: string(),
14578
14596
  kind: MediaFileKindEnum.optional()
14579
- }), array(MediaFileSchema).readonly()), method(object({ trackId: string() }), array(MediaFileSchema).readonly()), object({
14597
+ }), array(MediaFileSchema).readonly()), method(object({ trackId: string() }), array(MediaFileSchema).readonly()), method(SearchObjectEventsInput, array(ScoredObjectEventSchema).readonly()), object({
14580
14598
  deviceId: number(),
14581
14599
  timestamp: number(),
14582
14600
  frameWidth: number(),
@@ -19226,6 +19244,12 @@ Object.freeze({
19226
19244
  addonId: null,
19227
19245
  access: "create"
19228
19246
  },
19247
+ "pipelineAnalytics.searchObjectEvents": {
19248
+ capName: "pipeline-analytics",
19249
+ capScope: "device",
19250
+ addonId: null,
19251
+ access: "view"
19252
+ },
19229
19253
  "pipelineExecutor.cacheFrameInPool": {
19230
19254
  capName: "pipeline-executor",
19231
19255
  capScope: "system",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-mqtt-broker",
3
- "version": "1.1.4",
3
+ "version": "1.1.6",
4
4
  "description": "MQTT broker registry addon for CamStack — manages external broker entries + an optional embedded aedes broker. Consumers spin up their own `mqtt.js` clients via the `mqtt-broker` cap.",
5
5
  "keywords": [
6
6
  "camstack",