@camstack/addon-provider-reolink 1.2.89 → 1.2.91

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/addon.js CHANGED
@@ -21369,6 +21369,14 @@ var AgentPipelineSettingsSchema = object({
21369
21369
  /** Node is eligible to be the ingest / source-owner (serve the restream). */
21370
21370
  ingest: boolean().optional(),
21371
21371
  /**
21372
+ * This node's decode RAM budget, MB. Wins over the cluster
21373
+ * `nodeDecodeBudgetMb`; absent, the runner derives a share of the node's
21374
+ * own RAM unless the operator moved the cluster value (D365).
21375
+ */
21376
+ decodeBudgetMb: number().int().min(1024).max(65536).optional(),
21377
+ /** This node's live decode-worker cap. Wins over the cluster `maxLiveDecodeWorkers`. */
21378
+ maxLiveDecodeWorkers: number().int().min(1).max(32).optional(),
21379
+ /**
21372
21380
  * Operator override for the LAN host a cross-node decoder dials to reach
21373
21381
  * THIS node's restream (Cluster UI). Absent → auto-detect: a remote runner
21374
21382
  * falls back to its `CAMSTACK_HUB_URL`-derived host (the Moleculer address
@@ -21830,6 +21838,13 @@ method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
21830
21838
  }), object({ success: literal(true) }), {
21831
21839
  kind: "mutation",
21832
21840
  auth: "admin"
21841
+ }), method(object({
21842
+ agentNodeId: string(),
21843
+ decodeBudgetMb: number().int().min(1024).max(65536).nullable().optional(),
21844
+ maxLiveDecodeWorkers: number().int().min(1).max(32).nullable().optional()
21845
+ }), object({ success: literal(true) }), {
21846
+ kind: "mutation",
21847
+ auth: "admin"
21833
21848
  }), method(object({
21834
21849
  agentNodeId: string(),
21835
21850
  reachableHost: string().nullable()
@@ -34152,7 +34167,15 @@ var BaseDeviceProvider = class extends BaseAddon {
34152
34167
  if (!Class) throw new Error(`no device class registered for type "${saved.type}"`);
34153
34168
  if (saved.parentDeviceId !== null && !restored.has(saved.parentDeviceId)) throw new Error(`parent device ${saved.parentDeviceId} not restored`);
34154
34169
  await this.healSavedConfig(saved, savedDevices);
34155
- await this.ctx.kernel.devices.create(saved.stableId, Class, {}, saved.parentDeviceId);
34170
+ try {
34171
+ await this.ctx.kernel.devices.create(saved.stableId, Class, {}, saved.parentDeviceId);
34172
+ } catch (err) {
34173
+ if (!(await this.ctx.kernel.devices.getAll()).some((device) => device.stableId === saved.stableId)) throw err;
34174
+ this.ctx.logger.debug("Restore row came to life during its own dial — kept", { tags: {
34175
+ deviceId: saved.id,
34176
+ stableId: saved.stableId
34177
+ } });
34178
+ }
34156
34179
  restored.add(saved.id);
34157
34180
  };
34158
34181
  const topLevel = savedDevices.filter((saved) => saved.parentDeviceId === null);
@@ -38348,6 +38371,12 @@ Object.freeze({
38348
38371
  addonId: null,
38349
38372
  access: "create"
38350
38373
  },
38374
+ "pipelineOrchestrator.setAgentDecodeLimits": {
38375
+ capName: "pipeline-orchestrator",
38376
+ capScope: "system",
38377
+ addonId: null,
38378
+ access: "create"
38379
+ },
38351
38380
  "pipelineOrchestrator.setAgentDetectWeight": {
38352
38381
  capName: "pipeline-orchestrator",
38353
38382
  capScope: "system",
package/dist/addon.mjs CHANGED
@@ -21364,6 +21364,14 @@ var AgentPipelineSettingsSchema = object({
21364
21364
  /** Node is eligible to be the ingest / source-owner (serve the restream). */
21365
21365
  ingest: boolean().optional(),
21366
21366
  /**
21367
+ * This node's decode RAM budget, MB. Wins over the cluster
21368
+ * `nodeDecodeBudgetMb`; absent, the runner derives a share of the node's
21369
+ * own RAM unless the operator moved the cluster value (D365).
21370
+ */
21371
+ decodeBudgetMb: number().int().min(1024).max(65536).optional(),
21372
+ /** This node's live decode-worker cap. Wins over the cluster `maxLiveDecodeWorkers`. */
21373
+ maxLiveDecodeWorkers: number().int().min(1).max(32).optional(),
21374
+ /**
21367
21375
  * Operator override for the LAN host a cross-node decoder dials to reach
21368
21376
  * THIS node's restream (Cluster UI). Absent → auto-detect: a remote runner
21369
21377
  * falls back to its `CAMSTACK_HUB_URL`-derived host (the Moleculer address
@@ -21825,6 +21833,13 @@ method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
21825
21833
  }), object({ success: literal(true) }), {
21826
21834
  kind: "mutation",
21827
21835
  auth: "admin"
21836
+ }), method(object({
21837
+ agentNodeId: string(),
21838
+ decodeBudgetMb: number().int().min(1024).max(65536).nullable().optional(),
21839
+ maxLiveDecodeWorkers: number().int().min(1).max(32).nullable().optional()
21840
+ }), object({ success: literal(true) }), {
21841
+ kind: "mutation",
21842
+ auth: "admin"
21828
21843
  }), method(object({
21829
21844
  agentNodeId: string(),
21830
21845
  reachableHost: string().nullable()
@@ -34147,7 +34162,15 @@ var BaseDeviceProvider = class extends BaseAddon {
34147
34162
  if (!Class) throw new Error(`no device class registered for type "${saved.type}"`);
34148
34163
  if (saved.parentDeviceId !== null && !restored.has(saved.parentDeviceId)) throw new Error(`parent device ${saved.parentDeviceId} not restored`);
34149
34164
  await this.healSavedConfig(saved, savedDevices);
34150
- await this.ctx.kernel.devices.create(saved.stableId, Class, {}, saved.parentDeviceId);
34165
+ try {
34166
+ await this.ctx.kernel.devices.create(saved.stableId, Class, {}, saved.parentDeviceId);
34167
+ } catch (err) {
34168
+ if (!(await this.ctx.kernel.devices.getAll()).some((device) => device.stableId === saved.stableId)) throw err;
34169
+ this.ctx.logger.debug("Restore row came to life during its own dial — kept", { tags: {
34170
+ deviceId: saved.id,
34171
+ stableId: saved.stableId
34172
+ } });
34173
+ }
34151
34174
  restored.add(saved.id);
34152
34175
  };
34153
34176
  const topLevel = savedDevices.filter((saved) => saved.parentDeviceId === null);
@@ -38343,6 +38366,12 @@ Object.freeze({
38343
38366
  addonId: null,
38344
38367
  access: "create"
38345
38368
  },
38369
+ "pipelineOrchestrator.setAgentDecodeLimits": {
38370
+ capName: "pipeline-orchestrator",
38371
+ capScope: "system",
38372
+ addonId: null,
38373
+ access: "create"
38374
+ },
38346
38375
  "pipelineOrchestrator.setAgentDetectWeight": {
38347
38376
  capName: "pipeline-orchestrator",
38348
38377
  capScope: "system",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-reolink",
3
- "version": "1.2.89",
3
+ "version": "1.2.91",
4
4
  "description": "Reolink camera device provider addon for CamStack — native Baichuan protocol",
5
5
  "keywords": [
6
6
  "camstack",