@camstack/addon-remote-storage 1.2.0 → 1.2.1

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-D2FKy7ui.js");
5
+ const require_shared = require("./shared-C77pnEyI.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-2xhHvv1n.mjs";
1
+ import { c as BaseAddon, i as rearmIdleAbort, n as getOptionalBasePath, o as scheduleIdleAbort, s as storageProviderCapability, t as createSessionId } from "./shared-BXdymO1F.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-D2FKy7ui.js");
5
+ const require_shared = require("./shared-C77pnEyI.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-2xhHvv1n.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-BXdymO1F.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
@@ -11324,7 +11324,21 @@ var NativeCropResultSchema = object({
11324
11324
  /** Packed rgb (24-bit) pixels of the crop. */
11325
11325
  bytes: _instanceof(Uint8Array),
11326
11326
  width: number().int().positive(),
11327
- height: number().int().positive()
11327
+ height: number().int().positive(),
11328
+ /**
11329
+ * Which source served this crop, so a quality-sensitive consumer (the native
11330
+ * `keyFrame`) can reject a degraded fallback:
11331
+ * - `native` — cut from the decode worker's retained NATIVE surface (the
11332
+ * quality path).
11333
+ * - `ram-fullframe` — the native surface MISSED but the request was full-frame,
11334
+ * so the ≤640 RAM `RetainedFrameStore` served it (honest lower-res; legit for
11335
+ * the blank-frame guard / 640-snapshot resolve, NOT for the clean keyFrame).
11336
+ *
11337
+ * OPTIONAL: a pre-tier runner (version skew) omits it — an ABSENT `tier` MUST be
11338
+ * treated as `native` (accepted) by every consumer so mixed-version clusters
11339
+ * keep the pre-tier behaviour. An ROI miss returns `null` (no tier at all).
11340
+ */
11341
+ tier: _enum(["native", "ram-fullframe"]).optional()
11328
11342
  });
11329
11343
  /** Parent detection context passed to `runDetailSubtree` — the crop's
11330
11344
  * originating detection, in FRAME-space coordinates. Reuses
@@ -14655,7 +14669,8 @@ var LinkedDeviceSchema = object({
14655
14669
  deviceId: number(),
14656
14670
  name: string(),
14657
14671
  location: string().nullable(),
14658
- features: array(string())
14672
+ features: array(string()),
14673
+ producesTrackedEvents: boolean().optional()
14659
14674
  });
14660
14675
  var SavedDeviceRowSchema = object({
14661
14676
  /** Numeric id reserved at allocateDeviceId time. */
@@ -16285,6 +16300,7 @@ var TrackSchema = object({
16285
16300
  deviceId: number(),
16286
16301
  className: string(),
16287
16302
  label: string().optional(),
16303
+ producingDeviceName: string().optional(),
16288
16304
  /** Track provenance. Absent ⇒ `pipeline` (legacy rows). */
16289
16305
  source: TrackSourceSchema.optional(),
16290
16306
  firstSeen: number(),
@@ -16422,7 +16438,8 @@ var MediaFileKindEnum = _enum([
16422
16438
  "fullFrameBoxed",
16423
16439
  "faceCrop",
16424
16440
  "plateCrop",
16425
- "keyFrame"
16441
+ "keyFrame",
16442
+ "keyFrameSmall"
16426
16443
  ]);
16427
16444
  var MediaFileSchema = object({
16428
16445
  key: string(),
@@ -11347,7 +11347,21 @@ var NativeCropResultSchema = object({
11347
11347
  /** Packed rgb (24-bit) pixels of the crop. */
11348
11348
  bytes: _instanceof(Uint8Array),
11349
11349
  width: number().int().positive(),
11350
- height: number().int().positive()
11350
+ height: number().int().positive(),
11351
+ /**
11352
+ * Which source served this crop, so a quality-sensitive consumer (the native
11353
+ * `keyFrame`) can reject a degraded fallback:
11354
+ * - `native` — cut from the decode worker's retained NATIVE surface (the
11355
+ * quality path).
11356
+ * - `ram-fullframe` — the native surface MISSED but the request was full-frame,
11357
+ * so the ≤640 RAM `RetainedFrameStore` served it (honest lower-res; legit for
11358
+ * the blank-frame guard / 640-snapshot resolve, NOT for the clean keyFrame).
11359
+ *
11360
+ * OPTIONAL: a pre-tier runner (version skew) omits it — an ABSENT `tier` MUST be
11361
+ * treated as `native` (accepted) by every consumer so mixed-version clusters
11362
+ * keep the pre-tier behaviour. An ROI miss returns `null` (no tier at all).
11363
+ */
11364
+ tier: _enum(["native", "ram-fullframe"]).optional()
11351
11365
  });
11352
11366
  /** Parent detection context passed to `runDetailSubtree` — the crop's
11353
11367
  * originating detection, in FRAME-space coordinates. Reuses
@@ -14678,7 +14692,8 @@ var LinkedDeviceSchema = object({
14678
14692
  deviceId: number(),
14679
14693
  name: string(),
14680
14694
  location: string().nullable(),
14681
- features: array(string())
14695
+ features: array(string()),
14696
+ producesTrackedEvents: boolean().optional()
14682
14697
  });
14683
14698
  var SavedDeviceRowSchema = object({
14684
14699
  /** Numeric id reserved at allocateDeviceId time. */
@@ -16308,6 +16323,7 @@ var TrackSchema = object({
16308
16323
  deviceId: number(),
16309
16324
  className: string(),
16310
16325
  label: string().optional(),
16326
+ producingDeviceName: string().optional(),
16311
16327
  /** Track provenance. Absent ⇒ `pipeline` (legacy rows). */
16312
16328
  source: TrackSourceSchema.optional(),
16313
16329
  firstSeen: number(),
@@ -16445,7 +16461,8 @@ var MediaFileKindEnum = _enum([
16445
16461
  "fullFrameBoxed",
16446
16462
  "faceCrop",
16447
16463
  "plateCrop",
16448
- "keyFrame"
16464
+ "keyFrame",
16465
+ "keyFrameSmall"
16449
16466
  ]);
16450
16467
  var MediaFileSchema = object({
16451
16468
  key: string(),
@@ -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-D2FKy7ui.js");
5
+ const require_shared = require("./shared-C77pnEyI.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-2xhHvv1n.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-BXdymO1F.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.2.0",
3
+ "version": "1.2.1",
4
4
  "description": "Remote storage providers (SFTP, S3, WebDAV) — unifies remote backends behind the storage-provider cap",
5
5
  "keywords": [
6
6
  "camstack",