@camstack/addon-provider-hikvision 1.2.74 → 1.2.76
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
|
@@ -21031,6 +21031,14 @@ var AgentPipelineSettingsSchema = object({
|
|
|
21031
21031
|
/** Node is eligible to be the ingest / source-owner (serve the restream). */
|
|
21032
21032
|
ingest: boolean().optional(),
|
|
21033
21033
|
/**
|
|
21034
|
+
* This node's decode RAM budget, MB. Wins over the cluster
|
|
21035
|
+
* `nodeDecodeBudgetMb`; absent, the runner derives a share of the node's
|
|
21036
|
+
* own RAM unless the operator moved the cluster value (D365).
|
|
21037
|
+
*/
|
|
21038
|
+
decodeBudgetMb: number().int().min(1024).max(65536).optional(),
|
|
21039
|
+
/** This node's live decode-worker cap. Wins over the cluster `maxLiveDecodeWorkers`. */
|
|
21040
|
+
maxLiveDecodeWorkers: number().int().min(1).max(32).optional(),
|
|
21041
|
+
/**
|
|
21034
21042
|
* Operator override for the LAN host a cross-node decoder dials to reach
|
|
21035
21043
|
* THIS node's restream (Cluster UI). Absent → auto-detect: a remote runner
|
|
21036
21044
|
* falls back to its `CAMSTACK_HUB_URL`-derived host (the Moleculer address
|
|
@@ -21492,6 +21500,13 @@ method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
|
21492
21500
|
}), object({ success: literal(true) }), {
|
|
21493
21501
|
kind: "mutation",
|
|
21494
21502
|
auth: "admin"
|
|
21503
|
+
}), method(object({
|
|
21504
|
+
agentNodeId: string(),
|
|
21505
|
+
decodeBudgetMb: number().int().min(1024).max(65536).nullable().optional(),
|
|
21506
|
+
maxLiveDecodeWorkers: number().int().min(1).max(32).nullable().optional()
|
|
21507
|
+
}), object({ success: literal(true) }), {
|
|
21508
|
+
kind: "mutation",
|
|
21509
|
+
auth: "admin"
|
|
21495
21510
|
}), method(object({
|
|
21496
21511
|
agentNodeId: string(),
|
|
21497
21512
|
reachableHost: string().nullable()
|
|
@@ -33860,7 +33875,15 @@ var BaseDeviceProvider = class extends BaseAddon {
|
|
|
33860
33875
|
if (!Class) throw new Error(`no device class registered for type "${saved.type}"`);
|
|
33861
33876
|
if (saved.parentDeviceId !== null && !restored.has(saved.parentDeviceId)) throw new Error(`parent device ${saved.parentDeviceId} not restored`);
|
|
33862
33877
|
await this.healSavedConfig(saved, savedDevices);
|
|
33863
|
-
|
|
33878
|
+
try {
|
|
33879
|
+
await this.ctx.kernel.devices.create(saved.stableId, Class, {}, saved.parentDeviceId);
|
|
33880
|
+
} catch (err) {
|
|
33881
|
+
if (!(await this.ctx.kernel.devices.getAll()).some((device) => device.stableId === saved.stableId)) throw err;
|
|
33882
|
+
this.ctx.logger.debug("Restore row came to life during its own dial — kept", { tags: {
|
|
33883
|
+
deviceId: saved.id,
|
|
33884
|
+
stableId: saved.stableId
|
|
33885
|
+
} });
|
|
33886
|
+
}
|
|
33864
33887
|
restored.add(saved.id);
|
|
33865
33888
|
};
|
|
33866
33889
|
const topLevel = savedDevices.filter((saved) => saved.parentDeviceId === null);
|
|
@@ -38111,6 +38134,12 @@ Object.freeze({
|
|
|
38111
38134
|
addonId: null,
|
|
38112
38135
|
access: "create"
|
|
38113
38136
|
},
|
|
38137
|
+
"pipelineOrchestrator.setAgentDecodeLimits": {
|
|
38138
|
+
capName: "pipeline-orchestrator",
|
|
38139
|
+
capScope: "system",
|
|
38140
|
+
addonId: null,
|
|
38141
|
+
access: "create"
|
|
38142
|
+
},
|
|
38114
38143
|
"pipelineOrchestrator.setAgentDetectWeight": {
|
|
38115
38144
|
capName: "pipeline-orchestrator",
|
|
38116
38145
|
capScope: "system",
|
package/dist/addon.mjs
CHANGED
|
@@ -21032,6 +21032,14 @@ var AgentPipelineSettingsSchema = object({
|
|
|
21032
21032
|
/** Node is eligible to be the ingest / source-owner (serve the restream). */
|
|
21033
21033
|
ingest: boolean().optional(),
|
|
21034
21034
|
/**
|
|
21035
|
+
* This node's decode RAM budget, MB. Wins over the cluster
|
|
21036
|
+
* `nodeDecodeBudgetMb`; absent, the runner derives a share of the node's
|
|
21037
|
+
* own RAM unless the operator moved the cluster value (D365).
|
|
21038
|
+
*/
|
|
21039
|
+
decodeBudgetMb: number().int().min(1024).max(65536).optional(),
|
|
21040
|
+
/** This node's live decode-worker cap. Wins over the cluster `maxLiveDecodeWorkers`. */
|
|
21041
|
+
maxLiveDecodeWorkers: number().int().min(1).max(32).optional(),
|
|
21042
|
+
/**
|
|
21035
21043
|
* Operator override for the LAN host a cross-node decoder dials to reach
|
|
21036
21044
|
* THIS node's restream (Cluster UI). Absent → auto-detect: a remote runner
|
|
21037
21045
|
* falls back to its `CAMSTACK_HUB_URL`-derived host (the Moleculer address
|
|
@@ -21493,6 +21501,13 @@ method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
|
21493
21501
|
}), object({ success: literal(true) }), {
|
|
21494
21502
|
kind: "mutation",
|
|
21495
21503
|
auth: "admin"
|
|
21504
|
+
}), method(object({
|
|
21505
|
+
agentNodeId: string(),
|
|
21506
|
+
decodeBudgetMb: number().int().min(1024).max(65536).nullable().optional(),
|
|
21507
|
+
maxLiveDecodeWorkers: number().int().min(1).max(32).nullable().optional()
|
|
21508
|
+
}), object({ success: literal(true) }), {
|
|
21509
|
+
kind: "mutation",
|
|
21510
|
+
auth: "admin"
|
|
21496
21511
|
}), method(object({
|
|
21497
21512
|
agentNodeId: string(),
|
|
21498
21513
|
reachableHost: string().nullable()
|
|
@@ -33861,7 +33876,15 @@ var BaseDeviceProvider = class extends BaseAddon {
|
|
|
33861
33876
|
if (!Class) throw new Error(`no device class registered for type "${saved.type}"`);
|
|
33862
33877
|
if (saved.parentDeviceId !== null && !restored.has(saved.parentDeviceId)) throw new Error(`parent device ${saved.parentDeviceId} not restored`);
|
|
33863
33878
|
await this.healSavedConfig(saved, savedDevices);
|
|
33864
|
-
|
|
33879
|
+
try {
|
|
33880
|
+
await this.ctx.kernel.devices.create(saved.stableId, Class, {}, saved.parentDeviceId);
|
|
33881
|
+
} catch (err) {
|
|
33882
|
+
if (!(await this.ctx.kernel.devices.getAll()).some((device) => device.stableId === saved.stableId)) throw err;
|
|
33883
|
+
this.ctx.logger.debug("Restore row came to life during its own dial — kept", { tags: {
|
|
33884
|
+
deviceId: saved.id,
|
|
33885
|
+
stableId: saved.stableId
|
|
33886
|
+
} });
|
|
33887
|
+
}
|
|
33865
33888
|
restored.add(saved.id);
|
|
33866
33889
|
};
|
|
33867
33890
|
const topLevel = savedDevices.filter((saved) => saved.parentDeviceId === null);
|
|
@@ -38112,6 +38135,12 @@ Object.freeze({
|
|
|
38112
38135
|
addonId: null,
|
|
38113
38136
|
access: "create"
|
|
38114
38137
|
},
|
|
38138
|
+
"pipelineOrchestrator.setAgentDecodeLimits": {
|
|
38139
|
+
capName: "pipeline-orchestrator",
|
|
38140
|
+
capScope: "system",
|
|
38141
|
+
addonId: null,
|
|
38142
|
+
access: "create"
|
|
38143
|
+
},
|
|
38115
38144
|
"pipelineOrchestrator.setAgentDetectWeight": {
|
|
38116
38145
|
capName: "pipeline-orchestrator",
|
|
38117
38146
|
capScope: "system",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-provider-hikvision",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.76",
|
|
4
4
|
"description": "Hikvision camera device provider addon for CamStack — ISAPI over HTTP(S) with digest auth (snapshot, alarm stream, RTSP discovery)",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|