@camstack/addon-provider-onvif 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
@@ -4631,7 +4631,7 @@ function _instanceof(cls, params = {}) {
4631
4631
  return inst;
4632
4632
  }
4633
4633
  //#endregion
4634
- //#region ../types/dist/sleep-_J5S7OEP.mjs
4634
+ //#region ../types/dist/sleep-NOH4yRwj.mjs
4635
4635
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
4636
4636
  EventCategory["SystemBoot"] = "system.boot";
4637
4637
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -13035,7 +13035,8 @@ method(object({
13035
13035
  sessionId: string().optional()
13036
13036
  }), ConvertResultSchema, {
13037
13037
  kind: "mutation",
13038
- auth: "admin"
13038
+ auth: "admin",
13039
+ timeoutMs: 6e5
13039
13040
  });
13040
13041
  var AddonHttpRouteSchema = object({
13041
13042
  method: _enum([
@@ -14614,7 +14615,14 @@ var NotificationRuleConditionsSchema = object({
14614
14615
  /** Match against `event.data.eventType` token (e.g. `'press_long'`). When non-empty, only events
14615
14616
  * carrying a matching `data.eventType` string pass this condition. Rules without this field are
14616
14617
  * unaffected (back-compat). Distinct from `rule.eventTypes` which holds EventCategory strings. */
14617
- eventTypeTokens: array(string()).readonly().optional()
14618
+ eventTypeTokens: array(string()).readonly().optional(),
14619
+ /** Match detections whose CLIP image embedding is semantically similar to this free-text
14620
+ * description. Requires the embedding-encoder cap to have pre-warmed the text vector.
14621
+ * `minSimilarity` is the cosine similarity threshold in [0, 1]. */
14622
+ clipDescription: object({
14623
+ text: string().min(1),
14624
+ minSimilarity: number().min(0).max(1)
14625
+ }).optional()
14618
14626
  });
14619
14627
  var NotificationRuleTemplateSchema = object({
14620
14628
  title: string(),
@@ -14856,6 +14864,16 @@ var TrackedDetectionSchema = object({
14856
14864
  zones: array(string()).readonly(),
14857
14865
  state: TrackStateSchema
14858
14866
  });
14867
+ var ScoredObjectEventSchema = ObjectEventSchema.extend({ score: number() });
14868
+ var SearchObjectEventsInput = object({
14869
+ text: string(),
14870
+ deviceId: number().optional(),
14871
+ since: number().optional(),
14872
+ until: number().optional(),
14873
+ classFilter: string().optional(),
14874
+ limit: number().default(50),
14875
+ minScore: number().min(0).max(1).default(.2)
14876
+ });
14859
14877
  DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).readonly()), method(object({
14860
14878
  deviceId: number(),
14861
14879
  trackId: string()
@@ -14890,7 +14908,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
14890
14908
  }), method(object({
14891
14909
  eventId: string(),
14892
14910
  kind: MediaFileKindEnum.optional()
14893
- }), array(MediaFileSchema).readonly()), method(object({ trackId: string() }), array(MediaFileSchema).readonly()), object({
14911
+ }), array(MediaFileSchema).readonly()), method(object({ trackId: string() }), array(MediaFileSchema).readonly()), method(SearchObjectEventsInput, array(ScoredObjectEventSchema).readonly()), object({
14894
14912
  deviceId: number(),
14895
14913
  timestamp: number(),
14896
14914
  frameWidth: number(),
@@ -19582,6 +19600,12 @@ Object.freeze({
19582
19600
  addonId: null,
19583
19601
  access: "create"
19584
19602
  },
19603
+ "pipelineAnalytics.searchObjectEvents": {
19604
+ capName: "pipeline-analytics",
19605
+ capScope: "device",
19606
+ addonId: null,
19607
+ access: "view"
19608
+ },
19585
19609
  "pipelineExecutor.cacheFrameInPool": {
19586
19610
  capName: "pipeline-executor",
19587
19611
  capScope: "system",
package/dist/addon.mjs CHANGED
@@ -4632,7 +4632,7 @@ function _instanceof(cls, params = {}) {
4632
4632
  return inst;
4633
4633
  }
4634
4634
  //#endregion
4635
- //#region ../types/dist/sleep-_J5S7OEP.mjs
4635
+ //#region ../types/dist/sleep-NOH4yRwj.mjs
4636
4636
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
4637
4637
  EventCategory["SystemBoot"] = "system.boot";
4638
4638
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -13036,7 +13036,8 @@ method(object({
13036
13036
  sessionId: string().optional()
13037
13037
  }), ConvertResultSchema, {
13038
13038
  kind: "mutation",
13039
- auth: "admin"
13039
+ auth: "admin",
13040
+ timeoutMs: 6e5
13040
13041
  });
13041
13042
  var AddonHttpRouteSchema = object({
13042
13043
  method: _enum([
@@ -14615,7 +14616,14 @@ var NotificationRuleConditionsSchema = object({
14615
14616
  /** Match against `event.data.eventType` token (e.g. `'press_long'`). When non-empty, only events
14616
14617
  * carrying a matching `data.eventType` string pass this condition. Rules without this field are
14617
14618
  * unaffected (back-compat). Distinct from `rule.eventTypes` which holds EventCategory strings. */
14618
- eventTypeTokens: array(string()).readonly().optional()
14619
+ eventTypeTokens: array(string()).readonly().optional(),
14620
+ /** Match detections whose CLIP image embedding is semantically similar to this free-text
14621
+ * description. Requires the embedding-encoder cap to have pre-warmed the text vector.
14622
+ * `minSimilarity` is the cosine similarity threshold in [0, 1]. */
14623
+ clipDescription: object({
14624
+ text: string().min(1),
14625
+ minSimilarity: number().min(0).max(1)
14626
+ }).optional()
14619
14627
  });
14620
14628
  var NotificationRuleTemplateSchema = object({
14621
14629
  title: string(),
@@ -14857,6 +14865,16 @@ var TrackedDetectionSchema = object({
14857
14865
  zones: array(string()).readonly(),
14858
14866
  state: TrackStateSchema
14859
14867
  });
14868
+ var ScoredObjectEventSchema = ObjectEventSchema.extend({ score: number() });
14869
+ var SearchObjectEventsInput = object({
14870
+ text: string(),
14871
+ deviceId: number().optional(),
14872
+ since: number().optional(),
14873
+ until: number().optional(),
14874
+ classFilter: string().optional(),
14875
+ limit: number().default(50),
14876
+ minScore: number().min(0).max(1).default(.2)
14877
+ });
14860
14878
  DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).readonly()), method(object({
14861
14879
  deviceId: number(),
14862
14880
  trackId: string()
@@ -14891,7 +14909,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
14891
14909
  }), method(object({
14892
14910
  eventId: string(),
14893
14911
  kind: MediaFileKindEnum.optional()
14894
- }), array(MediaFileSchema).readonly()), method(object({ trackId: string() }), array(MediaFileSchema).readonly()), object({
14912
+ }), array(MediaFileSchema).readonly()), method(object({ trackId: string() }), array(MediaFileSchema).readonly()), method(SearchObjectEventsInput, array(ScoredObjectEventSchema).readonly()), object({
14895
14913
  deviceId: number(),
14896
14914
  timestamp: number(),
14897
14915
  frameWidth: number(),
@@ -19583,6 +19601,12 @@ Object.freeze({
19583
19601
  addonId: null,
19584
19602
  access: "create"
19585
19603
  },
19604
+ "pipelineAnalytics.searchObjectEvents": {
19605
+ capName: "pipeline-analytics",
19606
+ capScope: "device",
19607
+ addonId: null,
19608
+ access: "view"
19609
+ },
19586
19610
  "pipelineExecutor.cacheFrameInPool": {
19587
19611
  capName: "pipeline-executor",
19588
19612
  capScope: "system",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-onvif",
3
- "version": "1.1.4",
3
+ "version": "1.1.5",
4
4
  "description": "ONVIF camera device provider addon for CamStack",
5
5
  "keywords": [
6
6
  "camstack",