@camstack/addon-export-alexa 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.
@@ -4655,7 +4655,7 @@ function _instanceof(cls, params = {}) {
4655
4655
  return inst;
4656
4656
  }
4657
4657
  //#endregion
4658
- //#region ../types/dist/sleep-_J5S7OEP.mjs
4658
+ //#region ../types/dist/sleep-NOH4yRwj.mjs
4659
4659
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
4660
4660
  EventCategory["SystemBoot"] = "system.boot";
4661
4661
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -12929,7 +12929,8 @@ method(object({
12929
12929
  sessionId: string().optional()
12930
12930
  }), ConvertResultSchema, {
12931
12931
  kind: "mutation",
12932
- auth: "admin"
12932
+ auth: "admin",
12933
+ timeoutMs: 6e5
12933
12934
  });
12934
12935
  var AddonHttpRouteSchema = object({
12935
12936
  method: _enum([
@@ -14482,7 +14483,14 @@ var NotificationRuleConditionsSchema = object({
14482
14483
  /** Match against `event.data.eventType` token (e.g. `'press_long'`). When non-empty, only events
14483
14484
  * carrying a matching `data.eventType` string pass this condition. Rules without this field are
14484
14485
  * unaffected (back-compat). Distinct from `rule.eventTypes` which holds EventCategory strings. */
14485
- eventTypeTokens: array(string()).readonly().optional()
14486
+ eventTypeTokens: array(string()).readonly().optional(),
14487
+ /** Match detections whose CLIP image embedding is semantically similar to this free-text
14488
+ * description. Requires the embedding-encoder cap to have pre-warmed the text vector.
14489
+ * `minSimilarity` is the cosine similarity threshold in [0, 1]. */
14490
+ clipDescription: object({
14491
+ text: string().min(1),
14492
+ minSimilarity: number().min(0).max(1)
14493
+ }).optional()
14486
14494
  });
14487
14495
  var NotificationRuleTemplateSchema = object({
14488
14496
  title: string(),
@@ -14724,6 +14732,16 @@ var TrackedDetectionSchema = object({
14724
14732
  zones: array(string()).readonly(),
14725
14733
  state: TrackStateSchema
14726
14734
  });
14735
+ var ScoredObjectEventSchema = ObjectEventSchema.extend({ score: number() });
14736
+ var SearchObjectEventsInput = object({
14737
+ text: string(),
14738
+ deviceId: number().optional(),
14739
+ since: number().optional(),
14740
+ until: number().optional(),
14741
+ classFilter: string().optional(),
14742
+ limit: number().default(50),
14743
+ minScore: number().min(0).max(1).default(.2)
14744
+ });
14727
14745
  DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).readonly()), method(object({
14728
14746
  deviceId: number(),
14729
14747
  trackId: string()
@@ -14758,7 +14776,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
14758
14776
  }), method(object({
14759
14777
  eventId: string(),
14760
14778
  kind: MediaFileKindEnum.optional()
14761
- }), array(MediaFileSchema).readonly()), method(object({ trackId: string() }), array(MediaFileSchema).readonly()), object({
14779
+ }), array(MediaFileSchema).readonly()), method(object({ trackId: string() }), array(MediaFileSchema).readonly()), method(SearchObjectEventsInput, array(ScoredObjectEventSchema).readonly()), object({
14762
14780
  deviceId: number(),
14763
14781
  timestamp: number(),
14764
14782
  frameWidth: number(),
@@ -19408,6 +19426,12 @@ Object.freeze({
19408
19426
  addonId: null,
19409
19427
  access: "create"
19410
19428
  },
19429
+ "pipelineAnalytics.searchObjectEvents": {
19430
+ capName: "pipeline-analytics",
19431
+ capScope: "device",
19432
+ addonId: null,
19433
+ access: "view"
19434
+ },
19411
19435
  "pipelineExecutor.cacheFrameInPool": {
19412
19436
  capName: "pipeline-executor",
19413
19437
  capScope: "system",
@@ -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";
@@ -12903,7 +12903,8 @@ method(object({
12903
12903
  sessionId: string().optional()
12904
12904
  }), ConvertResultSchema, {
12905
12905
  kind: "mutation",
12906
- auth: "admin"
12906
+ auth: "admin",
12907
+ timeoutMs: 6e5
12907
12908
  });
12908
12909
  var AddonHttpRouteSchema = object({
12909
12910
  method: _enum([
@@ -14456,7 +14457,14 @@ var NotificationRuleConditionsSchema = object({
14456
14457
  /** Match against `event.data.eventType` token (e.g. `'press_long'`). When non-empty, only events
14457
14458
  * carrying a matching `data.eventType` string pass this condition. Rules without this field are
14458
14459
  * unaffected (back-compat). Distinct from `rule.eventTypes` which holds EventCategory strings. */
14459
- eventTypeTokens: array(string()).readonly().optional()
14460
+ eventTypeTokens: array(string()).readonly().optional(),
14461
+ /** Match detections whose CLIP image embedding is semantically similar to this free-text
14462
+ * description. Requires the embedding-encoder cap to have pre-warmed the text vector.
14463
+ * `minSimilarity` is the cosine similarity threshold in [0, 1]. */
14464
+ clipDescription: object({
14465
+ text: string().min(1),
14466
+ minSimilarity: number().min(0).max(1)
14467
+ }).optional()
14460
14468
  });
14461
14469
  var NotificationRuleTemplateSchema = object({
14462
14470
  title: string(),
@@ -14698,6 +14706,16 @@ var TrackedDetectionSchema = object({
14698
14706
  zones: array(string()).readonly(),
14699
14707
  state: TrackStateSchema
14700
14708
  });
14709
+ var ScoredObjectEventSchema = ObjectEventSchema.extend({ score: number() });
14710
+ var SearchObjectEventsInput = object({
14711
+ text: string(),
14712
+ deviceId: number().optional(),
14713
+ since: number().optional(),
14714
+ until: number().optional(),
14715
+ classFilter: string().optional(),
14716
+ limit: number().default(50),
14717
+ minScore: number().min(0).max(1).default(.2)
14718
+ });
14701
14719
  DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).readonly()), method(object({
14702
14720
  deviceId: number(),
14703
14721
  trackId: string()
@@ -14732,7 +14750,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
14732
14750
  }), method(object({
14733
14751
  eventId: string(),
14734
14752
  kind: MediaFileKindEnum.optional()
14735
- }), array(MediaFileSchema).readonly()), method(object({ trackId: string() }), array(MediaFileSchema).readonly()), object({
14753
+ }), array(MediaFileSchema).readonly()), method(object({ trackId: string() }), array(MediaFileSchema).readonly()), method(SearchObjectEventsInput, array(ScoredObjectEventSchema).readonly()), object({
14736
14754
  deviceId: number(),
14737
14755
  timestamp: number(),
14738
14756
  frameWidth: number(),
@@ -19382,6 +19400,12 @@ Object.freeze({
19382
19400
  addonId: null,
19383
19401
  access: "create"
19384
19402
  },
19403
+ "pipelineAnalytics.searchObjectEvents": {
19404
+ capName: "pipeline-analytics",
19405
+ capScope: "device",
19406
+ addonId: null,
19407
+ access: "view"
19408
+ },
19385
19409
  "pipelineExecutor.cacheFrameInPool": {
19386
19410
  capName: "pipeline-executor",
19387
19411
  capScope: "system",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-export-alexa",
3
- "version": "1.1.4",
3
+ "version": "1.1.6",
4
4
  "description": "Alexa Smart Home Skill export — hub-side OAuth provider + directive handler. The companion AWS Lambda forwards Alexa directives to this addon's /addon/export-alexa/directive endpoint.",
5
5
  "keywords": [
6
6
  "camstack",