@camstack/addon-smtp-nodemailer 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.
@@ -4665,7 +4665,7 @@ function _instanceof(cls, params = {}) {
4665
4665
  return inst;
4666
4666
  }
4667
4667
  //#endregion
4668
- //#region ../types/dist/sleep-_J5S7OEP.mjs
4668
+ //#region ../types/dist/sleep-NOH4yRwj.mjs
4669
4669
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
4670
4670
  EventCategory["SystemBoot"] = "system.boot";
4671
4671
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -12706,7 +12706,8 @@ method(object({
12706
12706
  sessionId: string().optional()
12707
12707
  }), ConvertResultSchema, {
12708
12708
  kind: "mutation",
12709
- auth: "admin"
12709
+ auth: "admin",
12710
+ timeoutMs: 6e5
12710
12711
  });
12711
12712
  var AddonHttpRouteSchema = object({
12712
12713
  method: _enum([
@@ -14242,7 +14243,14 @@ var NotificationRuleConditionsSchema = object({
14242
14243
  /** Match against `event.data.eventType` token (e.g. `'press_long'`). When non-empty, only events
14243
14244
  * carrying a matching `data.eventType` string pass this condition. Rules without this field are
14244
14245
  * unaffected (back-compat). Distinct from `rule.eventTypes` which holds EventCategory strings. */
14245
- eventTypeTokens: array(string()).readonly().optional()
14246
+ eventTypeTokens: array(string()).readonly().optional(),
14247
+ /** Match detections whose CLIP image embedding is semantically similar to this free-text
14248
+ * description. Requires the embedding-encoder cap to have pre-warmed the text vector.
14249
+ * `minSimilarity` is the cosine similarity threshold in [0, 1]. */
14250
+ clipDescription: object({
14251
+ text: string().min(1),
14252
+ minSimilarity: number().min(0).max(1)
14253
+ }).optional()
14246
14254
  });
14247
14255
  var NotificationRuleTemplateSchema = object({
14248
14256
  title: string(),
@@ -14484,6 +14492,16 @@ var TrackedDetectionSchema = object({
14484
14492
  zones: array(string()).readonly(),
14485
14493
  state: TrackStateSchema
14486
14494
  });
14495
+ var ScoredObjectEventSchema = ObjectEventSchema.extend({ score: number() });
14496
+ var SearchObjectEventsInput = object({
14497
+ text: string(),
14498
+ deviceId: number().optional(),
14499
+ since: number().optional(),
14500
+ until: number().optional(),
14501
+ classFilter: string().optional(),
14502
+ limit: number().default(50),
14503
+ minScore: number().min(0).max(1).default(.2)
14504
+ });
14487
14505
  DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).readonly()), method(object({
14488
14506
  deviceId: number(),
14489
14507
  trackId: string()
@@ -14518,7 +14536,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
14518
14536
  }), method(object({
14519
14537
  eventId: string(),
14520
14538
  kind: MediaFileKindEnum.optional()
14521
- }), array(MediaFileSchema).readonly()), method(object({ trackId: string() }), array(MediaFileSchema).readonly()), object({
14539
+ }), array(MediaFileSchema).readonly()), method(object({ trackId: string() }), array(MediaFileSchema).readonly()), method(SearchObjectEventsInput, array(ScoredObjectEventSchema).readonly()), object({
14522
14540
  deviceId: number(),
14523
14541
  timestamp: number(),
14524
14542
  frameWidth: number(),
@@ -19168,6 +19186,12 @@ Object.freeze({
19168
19186
  addonId: null,
19169
19187
  access: "create"
19170
19188
  },
19189
+ "pipelineAnalytics.searchObjectEvents": {
19190
+ capName: "pipeline-analytics",
19191
+ capScope: "device",
19192
+ addonId: null,
19193
+ access: "view"
19194
+ },
19171
19195
  "pipelineExecutor.cacheFrameInPool": {
19172
19196
  capName: "pipeline-executor",
19173
19197
  capScope: "system",
@@ -4663,7 +4663,7 @@ function _instanceof(cls, params = {}) {
4663
4663
  return inst;
4664
4664
  }
4665
4665
  //#endregion
4666
- //#region ../types/dist/sleep-_J5S7OEP.mjs
4666
+ //#region ../types/dist/sleep-NOH4yRwj.mjs
4667
4667
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
4668
4668
  EventCategory["SystemBoot"] = "system.boot";
4669
4669
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -12704,7 +12704,8 @@ method(object({
12704
12704
  sessionId: string().optional()
12705
12705
  }), ConvertResultSchema, {
12706
12706
  kind: "mutation",
12707
- auth: "admin"
12707
+ auth: "admin",
12708
+ timeoutMs: 6e5
12708
12709
  });
12709
12710
  var AddonHttpRouteSchema = object({
12710
12711
  method: _enum([
@@ -14240,7 +14241,14 @@ var NotificationRuleConditionsSchema = object({
14240
14241
  /** Match against `event.data.eventType` token (e.g. `'press_long'`). When non-empty, only events
14241
14242
  * carrying a matching `data.eventType` string pass this condition. Rules without this field are
14242
14243
  * unaffected (back-compat). Distinct from `rule.eventTypes` which holds EventCategory strings. */
14243
- eventTypeTokens: array(string()).readonly().optional()
14244
+ eventTypeTokens: array(string()).readonly().optional(),
14245
+ /** Match detections whose CLIP image embedding is semantically similar to this free-text
14246
+ * description. Requires the embedding-encoder cap to have pre-warmed the text vector.
14247
+ * `minSimilarity` is the cosine similarity threshold in [0, 1]. */
14248
+ clipDescription: object({
14249
+ text: string().min(1),
14250
+ minSimilarity: number().min(0).max(1)
14251
+ }).optional()
14244
14252
  });
14245
14253
  var NotificationRuleTemplateSchema = object({
14246
14254
  title: string(),
@@ -14482,6 +14490,16 @@ var TrackedDetectionSchema = object({
14482
14490
  zones: array(string()).readonly(),
14483
14491
  state: TrackStateSchema
14484
14492
  });
14493
+ var ScoredObjectEventSchema = ObjectEventSchema.extend({ score: number() });
14494
+ var SearchObjectEventsInput = object({
14495
+ text: string(),
14496
+ deviceId: number().optional(),
14497
+ since: number().optional(),
14498
+ until: number().optional(),
14499
+ classFilter: string().optional(),
14500
+ limit: number().default(50),
14501
+ minScore: number().min(0).max(1).default(.2)
14502
+ });
14485
14503
  DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).readonly()), method(object({
14486
14504
  deviceId: number(),
14487
14505
  trackId: string()
@@ -14516,7 +14534,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
14516
14534
  }), method(object({
14517
14535
  eventId: string(),
14518
14536
  kind: MediaFileKindEnum.optional()
14519
- }), array(MediaFileSchema).readonly()), method(object({ trackId: string() }), array(MediaFileSchema).readonly()), object({
14537
+ }), array(MediaFileSchema).readonly()), method(object({ trackId: string() }), array(MediaFileSchema).readonly()), method(SearchObjectEventsInput, array(ScoredObjectEventSchema).readonly()), object({
14520
14538
  deviceId: number(),
14521
14539
  timestamp: number(),
14522
14540
  frameWidth: number(),
@@ -19166,6 +19184,12 @@ Object.freeze({
19166
19184
  addonId: null,
19167
19185
  access: "create"
19168
19186
  },
19187
+ "pipelineAnalytics.searchObjectEvents": {
19188
+ capName: "pipeline-analytics",
19189
+ capScope: "device",
19190
+ addonId: null,
19191
+ access: "view"
19192
+ },
19169
19193
  "pipelineExecutor.cacheFrameInPool": {
19170
19194
  capName: "pipeline-executor",
19171
19195
  capScope: "system",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-smtp-nodemailer",
3
- "version": "1.1.4",
3
+ "version": "1.1.5",
4
4
  "description": "SMTP email provider addon for CamStack — wraps `nodemailer` and registers a `smtp-provider` cap collection entry. Used by magic-link login + notifier addons.",
5
5
  "keywords": [
6
6
  "camstack",