@camstack/addon-remote-storage 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/s3.addon.js CHANGED
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_shared = require("./shared-Cg0_vqM3.js");
5
+ const require_shared = require("./shared-BUmgLZCW.js");
6
6
  let node_stream = require("node:stream");
7
7
  let _aws_sdk_client_s3 = require("@aws-sdk/client-s3");
8
8
  let _aws_sdk_lib_storage = require("@aws-sdk/lib-storage");
package/dist/s3.addon.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { c as BaseAddon, i as rearmIdleAbort, n as getOptionalBasePath, o as scheduleIdleAbort, s as storageProviderCapability, t as createSessionId } from "./shared-B9MZZLEG.mjs";
1
+ import { c as BaseAddon, i as rearmIdleAbort, n as getOptionalBasePath, o as scheduleIdleAbort, s as storageProviderCapability, t as createSessionId } from "./shared-DR3X5bYm.mjs";
2
2
  import { PassThrough } from "node:stream";
3
3
  import { DeleteObjectCommand, GetObjectCommand, HeadBucketCommand, HeadObjectCommand, ListObjectsV2Command, PutObjectCommand, S3Client } from "@aws-sdk/client-s3";
4
4
  import { Upload } from "@aws-sdk/lib-storage";
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_shared = require("./shared-Cg0_vqM3.js");
5
+ const require_shared = require("./shared-BUmgLZCW.js");
6
6
  let ssh2 = require("ssh2");
7
7
  let node_path = require("node:path");
8
8
  node_path = require_shared.__toESM(node_path);
@@ -1,4 +1,4 @@
1
- import { a as safeJoinRemotePath, c as BaseAddon, i as rearmIdleAbort, o as scheduleIdleAbort, r as getRequiredBasePath, s as storageProviderCapability, t as createSessionId } from "./shared-B9MZZLEG.mjs";
1
+ import { a as safeJoinRemotePath, c as BaseAddon, i as rearmIdleAbort, o as scheduleIdleAbort, r as getRequiredBasePath, s as storageProviderCapability, t as createSessionId } from "./shared-DR3X5bYm.mjs";
2
2
  import { Client } from "ssh2";
3
3
  import * as path from "node:path";
4
4
  //#region src/providers/sftp/sftp-config-schema.ts
@@ -4652,7 +4652,7 @@ function _instanceof(cls, params = {}) {
4652
4652
  return inst;
4653
4653
  }
4654
4654
  //#endregion
4655
- //#region ../types/dist/sleep-_J5S7OEP.mjs
4655
+ //#region ../types/dist/sleep-NOH4yRwj.mjs
4656
4656
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
4657
4657
  EventCategory["SystemBoot"] = "system.boot";
4658
4658
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -12725,7 +12725,8 @@ method(object({
12725
12725
  sessionId: string().optional()
12726
12726
  }), ConvertResultSchema, {
12727
12727
  kind: "mutation",
12728
- auth: "admin"
12728
+ auth: "admin",
12729
+ timeoutMs: 6e5
12729
12730
  });
12730
12731
  var AddonHttpRouteSchema = object({
12731
12732
  method: _enum([
@@ -14261,7 +14262,14 @@ var NotificationRuleConditionsSchema = object({
14261
14262
  /** Match against `event.data.eventType` token (e.g. `'press_long'`). When non-empty, only events
14262
14263
  * carrying a matching `data.eventType` string pass this condition. Rules without this field are
14263
14264
  * unaffected (back-compat). Distinct from `rule.eventTypes` which holds EventCategory strings. */
14264
- eventTypeTokens: array(string()).readonly().optional()
14265
+ eventTypeTokens: array(string()).readonly().optional(),
14266
+ /** Match detections whose CLIP image embedding is semantically similar to this free-text
14267
+ * description. Requires the embedding-encoder cap to have pre-warmed the text vector.
14268
+ * `minSimilarity` is the cosine similarity threshold in [0, 1]. */
14269
+ clipDescription: object({
14270
+ text: string().min(1),
14271
+ minSimilarity: number().min(0).max(1)
14272
+ }).optional()
14265
14273
  });
14266
14274
  var NotificationRuleTemplateSchema = object({
14267
14275
  title: string(),
@@ -14503,6 +14511,16 @@ var TrackedDetectionSchema = object({
14503
14511
  zones: array(string()).readonly(),
14504
14512
  state: TrackStateSchema
14505
14513
  });
14514
+ var ScoredObjectEventSchema = ObjectEventSchema.extend({ score: number() });
14515
+ var SearchObjectEventsInput = object({
14516
+ text: string(),
14517
+ deviceId: number().optional(),
14518
+ since: number().optional(),
14519
+ until: number().optional(),
14520
+ classFilter: string().optional(),
14521
+ limit: number().default(50),
14522
+ minScore: number().min(0).max(1).default(.2)
14523
+ });
14506
14524
  DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).readonly()), method(object({
14507
14525
  deviceId: number(),
14508
14526
  trackId: string()
@@ -14537,7 +14555,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
14537
14555
  }), method(object({
14538
14556
  eventId: string(),
14539
14557
  kind: MediaFileKindEnum.optional()
14540
- }), array(MediaFileSchema).readonly()), method(object({ trackId: string() }), array(MediaFileSchema).readonly()), object({
14558
+ }), array(MediaFileSchema).readonly()), method(object({ trackId: string() }), array(MediaFileSchema).readonly()), method(SearchObjectEventsInput, array(ScoredObjectEventSchema).readonly()), object({
14541
14559
  deviceId: number(),
14542
14560
  timestamp: number(),
14543
14561
  frameWidth: number(),
@@ -19187,6 +19205,12 @@ Object.freeze({
19187
19205
  addonId: null,
19188
19206
  access: "create"
19189
19207
  },
19208
+ "pipelineAnalytics.searchObjectEvents": {
19209
+ capName: "pipeline-analytics",
19210
+ capScope: "device",
19211
+ addonId: null,
19212
+ access: "view"
19213
+ },
19190
19214
  "pipelineExecutor.cacheFrameInPool": {
19191
19215
  capName: "pipeline-executor",
19192
19216
  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";
@@ -12702,7 +12702,8 @@ method(object({
12702
12702
  sessionId: string().optional()
12703
12703
  }), ConvertResultSchema, {
12704
12704
  kind: "mutation",
12705
- auth: "admin"
12705
+ auth: "admin",
12706
+ timeoutMs: 6e5
12706
12707
  });
12707
12708
  var AddonHttpRouteSchema = object({
12708
12709
  method: _enum([
@@ -14238,7 +14239,14 @@ var NotificationRuleConditionsSchema = object({
14238
14239
  /** Match against `event.data.eventType` token (e.g. `'press_long'`). When non-empty, only events
14239
14240
  * carrying a matching `data.eventType` string pass this condition. Rules without this field are
14240
14241
  * unaffected (back-compat). Distinct from `rule.eventTypes` which holds EventCategory strings. */
14241
- eventTypeTokens: array(string()).readonly().optional()
14242
+ eventTypeTokens: array(string()).readonly().optional(),
14243
+ /** Match detections whose CLIP image embedding is semantically similar to this free-text
14244
+ * description. Requires the embedding-encoder cap to have pre-warmed the text vector.
14245
+ * `minSimilarity` is the cosine similarity threshold in [0, 1]. */
14246
+ clipDescription: object({
14247
+ text: string().min(1),
14248
+ minSimilarity: number().min(0).max(1)
14249
+ }).optional()
14242
14250
  });
14243
14251
  var NotificationRuleTemplateSchema = object({
14244
14252
  title: string(),
@@ -14480,6 +14488,16 @@ var TrackedDetectionSchema = object({
14480
14488
  zones: array(string()).readonly(),
14481
14489
  state: TrackStateSchema
14482
14490
  });
14491
+ var ScoredObjectEventSchema = ObjectEventSchema.extend({ score: number() });
14492
+ var SearchObjectEventsInput = object({
14493
+ text: string(),
14494
+ deviceId: number().optional(),
14495
+ since: number().optional(),
14496
+ until: number().optional(),
14497
+ classFilter: string().optional(),
14498
+ limit: number().default(50),
14499
+ minScore: number().min(0).max(1).default(.2)
14500
+ });
14483
14501
  DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).readonly()), method(object({
14484
14502
  deviceId: number(),
14485
14503
  trackId: string()
@@ -14514,7 +14532,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
14514
14532
  }), method(object({
14515
14533
  eventId: string(),
14516
14534
  kind: MediaFileKindEnum.optional()
14517
- }), array(MediaFileSchema).readonly()), method(object({ trackId: string() }), array(MediaFileSchema).readonly()), object({
14535
+ }), array(MediaFileSchema).readonly()), method(object({ trackId: string() }), array(MediaFileSchema).readonly()), method(SearchObjectEventsInput, array(ScoredObjectEventSchema).readonly()), object({
14518
14536
  deviceId: number(),
14519
14537
  timestamp: number(),
14520
14538
  frameWidth: number(),
@@ -19164,6 +19182,12 @@ Object.freeze({
19164
19182
  addonId: null,
19165
19183
  access: "create"
19166
19184
  },
19185
+ "pipelineAnalytics.searchObjectEvents": {
19186
+ capName: "pipeline-analytics",
19187
+ capScope: "device",
19188
+ addonId: null,
19189
+ access: "view"
19190
+ },
19167
19191
  "pipelineExecutor.cacheFrameInPool": {
19168
19192
  capName: "pipeline-executor",
19169
19193
  capScope: "system",
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_shared = require("./shared-Cg0_vqM3.js");
5
+ const require_shared = require("./shared-BUmgLZCW.js");
6
6
  let node_stream = require("node:stream");
7
7
  let webdav = require("webdav");
8
8
  //#region src/providers/webdav/webdav-config-schema.ts
@@ -1,4 +1,4 @@
1
- import { a as safeJoinRemotePath, c as BaseAddon, i as rearmIdleAbort, o as scheduleIdleAbort, r as getRequiredBasePath, s as storageProviderCapability, t as createSessionId } from "./shared-B9MZZLEG.mjs";
1
+ import { a as safeJoinRemotePath, c as BaseAddon, i as rearmIdleAbort, o as scheduleIdleAbort, r as getRequiredBasePath, s as storageProviderCapability, t as createSessionId } from "./shared-DR3X5bYm.mjs";
2
2
  import { PassThrough } from "node:stream";
3
3
  import { AuthType, createClient } from "webdav";
4
4
  //#region src/providers/webdav/webdav-config-schema.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-remote-storage",
3
- "version": "1.1.4",
3
+ "version": "1.1.5",
4
4
  "description": "Remote storage providers (SFTP, S3, WebDAV) — unifies remote backends behind the storage-provider cap",
5
5
  "keywords": [
6
6
  "camstack",