@camstack/addon-provider-amcrest 0.2.68 → 0.2.70
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 +30 -1
- package/dist/addon.mjs +30 -1
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -20719,6 +20719,14 @@ var AgentPipelineSettingsSchema = object({
|
|
|
20719
20719
|
/** Node is eligible to be the ingest / source-owner (serve the restream). */
|
|
20720
20720
|
ingest: boolean().optional(),
|
|
20721
20721
|
/**
|
|
20722
|
+
* This node's decode RAM budget, MB. Wins over the cluster
|
|
20723
|
+
* `nodeDecodeBudgetMb`; absent, the runner derives a share of the node's
|
|
20724
|
+
* own RAM unless the operator moved the cluster value (D365).
|
|
20725
|
+
*/
|
|
20726
|
+
decodeBudgetMb: number().int().min(1024).max(65536).optional(),
|
|
20727
|
+
/** This node's live decode-worker cap. Wins over the cluster `maxLiveDecodeWorkers`. */
|
|
20728
|
+
maxLiveDecodeWorkers: number().int().min(1).max(32).optional(),
|
|
20729
|
+
/**
|
|
20722
20730
|
* Operator override for the LAN host a cross-node decoder dials to reach
|
|
20723
20731
|
* THIS node's restream (Cluster UI). Absent → auto-detect: a remote runner
|
|
20724
20732
|
* falls back to its `CAMSTACK_HUB_URL`-derived host (the Moleculer address
|
|
@@ -21180,6 +21188,13 @@ method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
|
21180
21188
|
}), object({ success: literal(true) }), {
|
|
21181
21189
|
kind: "mutation",
|
|
21182
21190
|
auth: "admin"
|
|
21191
|
+
}), method(object({
|
|
21192
|
+
agentNodeId: string(),
|
|
21193
|
+
decodeBudgetMb: number().int().min(1024).max(65536).nullable().optional(),
|
|
21194
|
+
maxLiveDecodeWorkers: number().int().min(1).max(32).nullable().optional()
|
|
21195
|
+
}), object({ success: literal(true) }), {
|
|
21196
|
+
kind: "mutation",
|
|
21197
|
+
auth: "admin"
|
|
21183
21198
|
}), method(object({
|
|
21184
21199
|
agentNodeId: string(),
|
|
21185
21200
|
reachableHost: string().nullable()
|
|
@@ -33508,7 +33523,15 @@ var BaseDeviceProvider = class extends BaseAddon {
|
|
|
33508
33523
|
if (!Class) throw new Error(`no device class registered for type "${saved.type}"`);
|
|
33509
33524
|
if (saved.parentDeviceId !== null && !restored.has(saved.parentDeviceId)) throw new Error(`parent device ${saved.parentDeviceId} not restored`);
|
|
33510
33525
|
await this.healSavedConfig(saved, savedDevices);
|
|
33511
|
-
|
|
33526
|
+
try {
|
|
33527
|
+
await this.ctx.kernel.devices.create(saved.stableId, Class, {}, saved.parentDeviceId);
|
|
33528
|
+
} catch (err) {
|
|
33529
|
+
if (!(await this.ctx.kernel.devices.getAll()).some((device) => device.stableId === saved.stableId)) throw err;
|
|
33530
|
+
this.ctx.logger.debug("Restore row came to life during its own dial — kept", { tags: {
|
|
33531
|
+
deviceId: saved.id,
|
|
33532
|
+
stableId: saved.stableId
|
|
33533
|
+
} });
|
|
33534
|
+
}
|
|
33512
33535
|
restored.add(saved.id);
|
|
33513
33536
|
};
|
|
33514
33537
|
const topLevel = savedDevices.filter((saved) => saved.parentDeviceId === null);
|
|
@@ -37747,6 +37770,12 @@ Object.freeze({
|
|
|
37747
37770
|
addonId: null,
|
|
37748
37771
|
access: "create"
|
|
37749
37772
|
},
|
|
37773
|
+
"pipelineOrchestrator.setAgentDecodeLimits": {
|
|
37774
|
+
capName: "pipeline-orchestrator",
|
|
37775
|
+
capScope: "system",
|
|
37776
|
+
addonId: null,
|
|
37777
|
+
access: "create"
|
|
37778
|
+
},
|
|
37750
37779
|
"pipelineOrchestrator.setAgentDetectWeight": {
|
|
37751
37780
|
capName: "pipeline-orchestrator",
|
|
37752
37781
|
capScope: "system",
|
package/dist/addon.mjs
CHANGED
|
@@ -20720,6 +20720,14 @@ var AgentPipelineSettingsSchema = object({
|
|
|
20720
20720
|
/** Node is eligible to be the ingest / source-owner (serve the restream). */
|
|
20721
20721
|
ingest: boolean().optional(),
|
|
20722
20722
|
/**
|
|
20723
|
+
* This node's decode RAM budget, MB. Wins over the cluster
|
|
20724
|
+
* `nodeDecodeBudgetMb`; absent, the runner derives a share of the node's
|
|
20725
|
+
* own RAM unless the operator moved the cluster value (D365).
|
|
20726
|
+
*/
|
|
20727
|
+
decodeBudgetMb: number().int().min(1024).max(65536).optional(),
|
|
20728
|
+
/** This node's live decode-worker cap. Wins over the cluster `maxLiveDecodeWorkers`. */
|
|
20729
|
+
maxLiveDecodeWorkers: number().int().min(1).max(32).optional(),
|
|
20730
|
+
/**
|
|
20723
20731
|
* Operator override for the LAN host a cross-node decoder dials to reach
|
|
20724
20732
|
* THIS node's restream (Cluster UI). Absent → auto-detect: a remote runner
|
|
20725
20733
|
* falls back to its `CAMSTACK_HUB_URL`-derived host (the Moleculer address
|
|
@@ -21181,6 +21189,13 @@ method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
|
21181
21189
|
}), object({ success: literal(true) }), {
|
|
21182
21190
|
kind: "mutation",
|
|
21183
21191
|
auth: "admin"
|
|
21192
|
+
}), method(object({
|
|
21193
|
+
agentNodeId: string(),
|
|
21194
|
+
decodeBudgetMb: number().int().min(1024).max(65536).nullable().optional(),
|
|
21195
|
+
maxLiveDecodeWorkers: number().int().min(1).max(32).nullable().optional()
|
|
21196
|
+
}), object({ success: literal(true) }), {
|
|
21197
|
+
kind: "mutation",
|
|
21198
|
+
auth: "admin"
|
|
21184
21199
|
}), method(object({
|
|
21185
21200
|
agentNodeId: string(),
|
|
21186
21201
|
reachableHost: string().nullable()
|
|
@@ -33509,7 +33524,15 @@ var BaseDeviceProvider = class extends BaseAddon {
|
|
|
33509
33524
|
if (!Class) throw new Error(`no device class registered for type "${saved.type}"`);
|
|
33510
33525
|
if (saved.parentDeviceId !== null && !restored.has(saved.parentDeviceId)) throw new Error(`parent device ${saved.parentDeviceId} not restored`);
|
|
33511
33526
|
await this.healSavedConfig(saved, savedDevices);
|
|
33512
|
-
|
|
33527
|
+
try {
|
|
33528
|
+
await this.ctx.kernel.devices.create(saved.stableId, Class, {}, saved.parentDeviceId);
|
|
33529
|
+
} catch (err) {
|
|
33530
|
+
if (!(await this.ctx.kernel.devices.getAll()).some((device) => device.stableId === saved.stableId)) throw err;
|
|
33531
|
+
this.ctx.logger.debug("Restore row came to life during its own dial — kept", { tags: {
|
|
33532
|
+
deviceId: saved.id,
|
|
33533
|
+
stableId: saved.stableId
|
|
33534
|
+
} });
|
|
33535
|
+
}
|
|
33513
33536
|
restored.add(saved.id);
|
|
33514
33537
|
};
|
|
33515
33538
|
const topLevel = savedDevices.filter((saved) => saved.parentDeviceId === null);
|
|
@@ -37748,6 +37771,12 @@ Object.freeze({
|
|
|
37748
37771
|
addonId: null,
|
|
37749
37772
|
access: "create"
|
|
37750
37773
|
},
|
|
37774
|
+
"pipelineOrchestrator.setAgentDecodeLimits": {
|
|
37775
|
+
capName: "pipeline-orchestrator",
|
|
37776
|
+
capScope: "system",
|
|
37777
|
+
addonId: null,
|
|
37778
|
+
access: "create"
|
|
37779
|
+
},
|
|
37751
37780
|
"pipelineOrchestrator.setAgentDetectWeight": {
|
|
37752
37781
|
capName: "pipeline-orchestrator",
|
|
37753
37782
|
capScope: "system",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-provider-amcrest",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.70",
|
|
4
4
|
"description": "Amcrest/Dahua camera device provider addon for CamStack — Dahua CGI over HTTP(S) with digest auth (snapshot, RTSP catalog, PTZ, image/day-night config)",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|