@camstack/addon-remote-storage 1.2.66 → 1.2.68

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-Bxz2Kytb.js");
5
+ const require_shared = require("./shared-DyZPICRX.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-CvnsHCVR.mjs";
1
+ import { c as BaseAddon, i as rearmIdleAbort, n as getOptionalBasePath, o as scheduleIdleAbort, s as storageProviderCapability, t as createSessionId } from "./shared-2Joc7r-U.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-Bxz2Kytb.js");
5
+ const require_shared = require("./shared-DyZPICRX.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-CvnsHCVR.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-2Joc7r-U.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
@@ -19006,6 +19006,33 @@ var RecentTracksQueryInput = object({
19006
19006
  */
19007
19007
  classes: array(string()).optional()
19008
19008
  });
19009
+ /**
19010
+ * A Summary (D359): the per-camera session envelope that references tracks.
19011
+ * `groupShotKey` is the media key of its group shot (`ownerKind: 'summary'`,
19012
+ * served by the event-media plane by key), null until the first frame with a
19013
+ * member visible has been materialised.
19014
+ */
19015
+ var SummarySchema = object({
19016
+ id: string(),
19017
+ deviceId: number(),
19018
+ openedAt: number(),
19019
+ lastActiveAt: number(),
19020
+ sealedAt: number().nullable(),
19021
+ memberCount: number().int().nonnegative(),
19022
+ groupShotKey: string().nullable()
19023
+ });
19024
+ var SummariesQueryInput = object({
19025
+ deviceIds: array(number()).min(1),
19026
+ since: number().optional(),
19027
+ until: number().optional(),
19028
+ limit: number().int().min(1).max(200).default(50)
19029
+ });
19030
+ var SummariesPageSchema = object({ summaries: array(SummarySchema).readonly() });
19031
+ var SummaryDetailSchema = object({
19032
+ summary: SummarySchema,
19033
+ /** Member track ids, in absorption order. */
19034
+ trackIds: array(string()).readonly()
19035
+ });
19009
19036
  var RecentTracksPageSchema = object({
19010
19037
  /** Merged page, ordered by (`lastSeen` DESC, `trackId` DESC). */
19011
19038
  tracks: array(TrackSchema).readonly(),
@@ -19406,7 +19433,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
19406
19433
  * timeline would read as a camera that saw nothing.
19407
19434
  */
19408
19435
  classes: array(string()).optional()
19409
- }), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(object({ deviceId: number() }), _void(), {
19436
+ }), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(SummariesQueryInput, SummariesPageSchema), method(object({ id: string() }), SummaryDetailSchema.nullable()), method(object({ deviceId: number() }), _void(), {
19410
19437
  kind: "mutation",
19411
19438
  auth: "admin"
19412
19439
  }), method(DeviceEventQueryInput, array(MotionEventSchema).readonly()), method(ObjectEventQueryInput, array(ObjectEventSchema).readonly()), method(DeviceEventQueryInput, array(AudioEventSchema).readonly()), method(object({ deviceId: number() }), array(EventKindDescriptorSchema).readonly()), method(object({ deviceIds: array(number()).min(1).max(200) }), array(EventKindsForDeviceSchema).readonly()), method(object({
@@ -20341,6 +20368,14 @@ var AgentPipelineSettingsSchema = object({
20341
20368
  /** Node is eligible to be the ingest / source-owner (serve the restream). */
20342
20369
  ingest: boolean().optional(),
20343
20370
  /**
20371
+ * This node's decode RAM budget, MB. Wins over the cluster
20372
+ * `nodeDecodeBudgetMb`; absent, the runner derives a share of the node's
20373
+ * own RAM unless the operator moved the cluster value (D365).
20374
+ */
20375
+ decodeBudgetMb: number().int().min(1024).max(65536).optional(),
20376
+ /** This node's live decode-worker cap. Wins over the cluster `maxLiveDecodeWorkers`. */
20377
+ maxLiveDecodeWorkers: number().int().min(1).max(32).optional(),
20378
+ /**
20344
20379
  * Operator override for the LAN host a cross-node decoder dials to reach
20345
20380
  * THIS node's restream (Cluster UI). Absent → auto-detect: a remote runner
20346
20381
  * falls back to its `CAMSTACK_HUB_URL`-derived host (the Moleculer address
@@ -20802,6 +20837,13 @@ method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
20802
20837
  }), object({ success: literal(true) }), {
20803
20838
  kind: "mutation",
20804
20839
  auth: "admin"
20840
+ }), method(object({
20841
+ agentNodeId: string(),
20842
+ decodeBudgetMb: number().int().min(1024).max(65536).nullable().optional(),
20843
+ maxLiveDecodeWorkers: number().int().min(1).max(32).nullable().optional()
20844
+ }), object({ success: literal(true) }), {
20845
+ kind: "mutation",
20846
+ auth: "admin"
20805
20847
  }), method(object({
20806
20848
  agentNodeId: string(),
20807
20849
  reachableHost: string().nullable()
@@ -32406,6 +32448,12 @@ Object.freeze({
32406
32448
  addonId: null,
32407
32449
  access: "view"
32408
32450
  },
32451
+ "pipelineAnalytics.getSummary": {
32452
+ capName: "pipeline-analytics",
32453
+ capScope: "device",
32454
+ addonId: null,
32455
+ access: "view"
32456
+ },
32409
32457
  "pipelineAnalytics.getTrack": {
32410
32458
  capName: "pipeline-analytics",
32411
32459
  capScope: "device",
@@ -32484,6 +32532,12 @@ Object.freeze({
32484
32532
  addonId: null,
32485
32533
  access: "view"
32486
32534
  },
32535
+ "pipelineAnalytics.listSummaries": {
32536
+ capName: "pipeline-analytics",
32537
+ capScope: "device",
32538
+ addonId: null,
32539
+ access: "view"
32540
+ },
32487
32541
  "pipelineAnalytics.listTrackMedia": {
32488
32542
  capName: "pipeline-analytics",
32489
32543
  capScope: "device",
@@ -33042,6 +33096,12 @@ Object.freeze({
33042
33096
  addonId: null,
33043
33097
  access: "create"
33044
33098
  },
33099
+ "pipelineOrchestrator.setAgentDecodeLimits": {
33100
+ capName: "pipeline-orchestrator",
33101
+ capScope: "system",
33102
+ addonId: null,
33103
+ access: "create"
33104
+ },
33045
33105
  "pipelineOrchestrator.setAgentDetectWeight": {
33046
33106
  capName: "pipeline-orchestrator",
33047
33107
  capScope: "system",
@@ -36173,6 +36233,11 @@ Object.freeze({
36173
36233
  form: "array",
36174
36234
  optional: true
36175
36235
  }],
36236
+ "pipelineAnalytics.listSummaries": [{
36237
+ name: "deviceIds",
36238
+ form: "array",
36239
+ optional: false
36240
+ }],
36176
36241
  "pipelineAnalytics.listTrackMedia": [{
36177
36242
  name: "deviceId",
36178
36243
  form: "single",
@@ -19029,6 +19029,33 @@ var RecentTracksQueryInput = object({
19029
19029
  */
19030
19030
  classes: array(string()).optional()
19031
19031
  });
19032
+ /**
19033
+ * A Summary (D359): the per-camera session envelope that references tracks.
19034
+ * `groupShotKey` is the media key of its group shot (`ownerKind: 'summary'`,
19035
+ * served by the event-media plane by key), null until the first frame with a
19036
+ * member visible has been materialised.
19037
+ */
19038
+ var SummarySchema = object({
19039
+ id: string(),
19040
+ deviceId: number(),
19041
+ openedAt: number(),
19042
+ lastActiveAt: number(),
19043
+ sealedAt: number().nullable(),
19044
+ memberCount: number().int().nonnegative(),
19045
+ groupShotKey: string().nullable()
19046
+ });
19047
+ var SummariesQueryInput = object({
19048
+ deviceIds: array(number()).min(1),
19049
+ since: number().optional(),
19050
+ until: number().optional(),
19051
+ limit: number().int().min(1).max(200).default(50)
19052
+ });
19053
+ var SummariesPageSchema = object({ summaries: array(SummarySchema).readonly() });
19054
+ var SummaryDetailSchema = object({
19055
+ summary: SummarySchema,
19056
+ /** Member track ids, in absorption order. */
19057
+ trackIds: array(string()).readonly()
19058
+ });
19032
19059
  var RecentTracksPageSchema = object({
19033
19060
  /** Merged page, ordered by (`lastSeen` DESC, `trackId` DESC). */
19034
19061
  tracks: array(TrackSchema).readonly(),
@@ -19429,7 +19456,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
19429
19456
  * timeline would read as a camera that saw nothing.
19430
19457
  */
19431
19458
  classes: array(string()).optional()
19432
- }), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(object({ deviceId: number() }), _void(), {
19459
+ }), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(SummariesQueryInput, SummariesPageSchema), method(object({ id: string() }), SummaryDetailSchema.nullable()), method(object({ deviceId: number() }), _void(), {
19433
19460
  kind: "mutation",
19434
19461
  auth: "admin"
19435
19462
  }), method(DeviceEventQueryInput, array(MotionEventSchema).readonly()), method(ObjectEventQueryInput, array(ObjectEventSchema).readonly()), method(DeviceEventQueryInput, array(AudioEventSchema).readonly()), method(object({ deviceId: number() }), array(EventKindDescriptorSchema).readonly()), method(object({ deviceIds: array(number()).min(1).max(200) }), array(EventKindsForDeviceSchema).readonly()), method(object({
@@ -20364,6 +20391,14 @@ var AgentPipelineSettingsSchema = object({
20364
20391
  /** Node is eligible to be the ingest / source-owner (serve the restream). */
20365
20392
  ingest: boolean().optional(),
20366
20393
  /**
20394
+ * This node's decode RAM budget, MB. Wins over the cluster
20395
+ * `nodeDecodeBudgetMb`; absent, the runner derives a share of the node's
20396
+ * own RAM unless the operator moved the cluster value (D365).
20397
+ */
20398
+ decodeBudgetMb: number().int().min(1024).max(65536).optional(),
20399
+ /** This node's live decode-worker cap. Wins over the cluster `maxLiveDecodeWorkers`. */
20400
+ maxLiveDecodeWorkers: number().int().min(1).max(32).optional(),
20401
+ /**
20367
20402
  * Operator override for the LAN host a cross-node decoder dials to reach
20368
20403
  * THIS node's restream (Cluster UI). Absent → auto-detect: a remote runner
20369
20404
  * falls back to its `CAMSTACK_HUB_URL`-derived host (the Moleculer address
@@ -20825,6 +20860,13 @@ method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
20825
20860
  }), object({ success: literal(true) }), {
20826
20861
  kind: "mutation",
20827
20862
  auth: "admin"
20863
+ }), method(object({
20864
+ agentNodeId: string(),
20865
+ decodeBudgetMb: number().int().min(1024).max(65536).nullable().optional(),
20866
+ maxLiveDecodeWorkers: number().int().min(1).max(32).nullable().optional()
20867
+ }), object({ success: literal(true) }), {
20868
+ kind: "mutation",
20869
+ auth: "admin"
20828
20870
  }), method(object({
20829
20871
  agentNodeId: string(),
20830
20872
  reachableHost: string().nullable()
@@ -32429,6 +32471,12 @@ Object.freeze({
32429
32471
  addonId: null,
32430
32472
  access: "view"
32431
32473
  },
32474
+ "pipelineAnalytics.getSummary": {
32475
+ capName: "pipeline-analytics",
32476
+ capScope: "device",
32477
+ addonId: null,
32478
+ access: "view"
32479
+ },
32432
32480
  "pipelineAnalytics.getTrack": {
32433
32481
  capName: "pipeline-analytics",
32434
32482
  capScope: "device",
@@ -32507,6 +32555,12 @@ Object.freeze({
32507
32555
  addonId: null,
32508
32556
  access: "view"
32509
32557
  },
32558
+ "pipelineAnalytics.listSummaries": {
32559
+ capName: "pipeline-analytics",
32560
+ capScope: "device",
32561
+ addonId: null,
32562
+ access: "view"
32563
+ },
32510
32564
  "pipelineAnalytics.listTrackMedia": {
32511
32565
  capName: "pipeline-analytics",
32512
32566
  capScope: "device",
@@ -33065,6 +33119,12 @@ Object.freeze({
33065
33119
  addonId: null,
33066
33120
  access: "create"
33067
33121
  },
33122
+ "pipelineOrchestrator.setAgentDecodeLimits": {
33123
+ capName: "pipeline-orchestrator",
33124
+ capScope: "system",
33125
+ addonId: null,
33126
+ access: "create"
33127
+ },
33068
33128
  "pipelineOrchestrator.setAgentDetectWeight": {
33069
33129
  capName: "pipeline-orchestrator",
33070
33130
  capScope: "system",
@@ -36196,6 +36256,11 @@ Object.freeze({
36196
36256
  form: "array",
36197
36257
  optional: true
36198
36258
  }],
36259
+ "pipelineAnalytics.listSummaries": [{
36260
+ name: "deviceIds",
36261
+ form: "array",
36262
+ optional: false
36263
+ }],
36199
36264
  "pipelineAnalytics.listTrackMedia": [{
36200
36265
  name: "deviceId",
36201
36266
  form: "single",
package/dist/smb.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-Bxz2Kytb.js");
5
+ const require_shared = require("./shared-DyZPICRX.js");
6
6
  let node_crypto = require("node:crypto");
7
7
  let node_path = require("node:path");
8
8
  node_path = require_shared.__toESM(node_path);
@@ -1,4 +1,4 @@
1
- import { c as BaseAddon, i as rearmIdleAbort, o as scheduleIdleAbort, s as storageProviderCapability } from "./shared-CvnsHCVR.mjs";
1
+ import { c as BaseAddon, i as rearmIdleAbort, o as scheduleIdleAbort, s as storageProviderCapability } from "./shared-2Joc7r-U.mjs";
2
2
  import { randomUUID } from "node:crypto";
3
3
  import * as path from "node:path";
4
4
  import * as fsp from "node:fs/promises";
@@ -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-Bxz2Kytb.js");
5
+ const require_shared = require("./shared-DyZPICRX.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-CvnsHCVR.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-2Joc7r-U.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.66",
3
+ "version": "1.2.68",
4
4
  "description": "Remote storage providers (SFTP, S3, WebDAV, SMB) — unifies remote backends behind the storage-provider cap",
5
5
  "keywords": [
6
6
  "camstack",