@camstack/addon-provider-unraid 0.1.1 → 0.1.3
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 +45 -43
- package/dist/addon.mjs +45 -43
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -17820,7 +17820,17 @@ var AgentAddonConfigSchema = object({
|
|
|
17820
17820
|
});
|
|
17821
17821
|
var AgentPipelineSettingsSchema = object({
|
|
17822
17822
|
addonDefaults: record(string(), AgentAddonConfigSchema).readonly(),
|
|
17823
|
-
maxCameras: number().int().nonnegative().nullable().default(null)
|
|
17823
|
+
maxCameras: number().int().nonnegative().nullable().default(null),
|
|
17824
|
+
/** Per-node detection weight (relative share for the quota balancer). */
|
|
17825
|
+
detectWeight: number().positive().optional(),
|
|
17826
|
+
/** Node is eligible to run the detection pipeline (decode + inference). */
|
|
17827
|
+
detect: boolean().optional(),
|
|
17828
|
+
/** Node is eligible to host decoder sessions. */
|
|
17829
|
+
decode: boolean().optional(),
|
|
17830
|
+
/** Node is eligible to run audio-analyzer sessions. */
|
|
17831
|
+
audio: boolean().optional(),
|
|
17832
|
+
/** Node is eligible to be the ingest / source-owner (serve the restream). */
|
|
17833
|
+
ingest: boolean().optional()
|
|
17824
17834
|
});
|
|
17825
17835
|
var CameraPipelineForAgentSchema = object({
|
|
17826
17836
|
steps: array(PipelineStepInputSchema).readonly(),
|
|
@@ -17895,7 +17905,10 @@ var AgentLoadSummarySchema = object({
|
|
|
17895
17905
|
online: boolean(),
|
|
17896
17906
|
load: RunnerLocalLoadSchema,
|
|
17897
17907
|
/** Computed score used by the L2 capacity balancer (lower = less loaded). */
|
|
17898
|
-
score: number()
|
|
17908
|
+
score: number(),
|
|
17909
|
+
/** This node's decode hwaccel backend (per-node `probedBestHwaccel`), or null
|
|
17910
|
+
* when not yet probed — for the cluster Pipeline table UI (P0.2). */
|
|
17911
|
+
decodeHwaccel: string().nullable()
|
|
17899
17912
|
});
|
|
17900
17913
|
/**
|
|
17901
17914
|
* Aggregate metrics across the whole detection cluster. Replaces the legacy
|
|
@@ -18123,6 +18136,21 @@ method(object({
|
|
|
18123
18136
|
}), object({ success: literal(true) }), {
|
|
18124
18137
|
kind: "mutation",
|
|
18125
18138
|
auth: "admin"
|
|
18139
|
+
}), method(object({
|
|
18140
|
+
agentNodeId: string(),
|
|
18141
|
+
detectWeight: number().positive().nullable()
|
|
18142
|
+
}), object({ success: literal(true) }), {
|
|
18143
|
+
kind: "mutation",
|
|
18144
|
+
auth: "admin"
|
|
18145
|
+
}), method(object({
|
|
18146
|
+
agentNodeId: string(),
|
|
18147
|
+
detect: boolean().nullable().optional(),
|
|
18148
|
+
decode: boolean().nullable().optional(),
|
|
18149
|
+
audio: boolean().nullable().optional(),
|
|
18150
|
+
ingest: boolean().nullable().optional()
|
|
18151
|
+
}), object({ success: literal(true) }), {
|
|
18152
|
+
kind: "mutation",
|
|
18153
|
+
auth: "admin"
|
|
18126
18154
|
}), method(object({ deviceId: number() }), CameraPipelineSettingsSchema.nullable()), method(object({
|
|
18127
18155
|
deviceId: number(),
|
|
18128
18156
|
addonId: string(),
|
|
@@ -20448,7 +20476,7 @@ var HardwareEncoderIdSchema = _enum([
|
|
|
20448
20476
|
"libx264",
|
|
20449
20477
|
"libx265"
|
|
20450
20478
|
]);
|
|
20451
|
-
|
|
20479
|
+
object({
|
|
20452
20480
|
encoders: array(object({
|
|
20453
20481
|
encoder: HardwareEncoderIdSchema,
|
|
20454
20482
|
codec: _enum(["H264", "H265"]),
|
|
@@ -20467,15 +20495,7 @@ var HardwareEncodersSchema = object({
|
|
|
20467
20495
|
defaultH265: HardwareEncoderIdSchema,
|
|
20468
20496
|
probedAt: number()
|
|
20469
20497
|
});
|
|
20470
|
-
|
|
20471
|
-
* Decode-side companion to {@link HardwareEncodersSchema}: the `-hwaccel`
|
|
20472
|
-
* methods the configured ffmpeg binary actually supports (parsed from
|
|
20473
|
-
* `ffmpeg -hwaccels`). Used to gate decode-hwaccel attempts so the transcode
|
|
20474
|
-
* egress never spends a spawn on a backend this build cannot offer. Per-stream
|
|
20475
|
-
* decode fragility (e.g. VideoToolbox HEVC) is still handled by the egress's
|
|
20476
|
-
* software fallback — this only filters out wholly-unsupported backends.
|
|
20477
|
-
*/
|
|
20478
|
-
var HardwareDecodeAccelsSchema = object({
|
|
20498
|
+
object({
|
|
20479
20499
|
methods: array(string()).readonly(),
|
|
20480
20500
|
probedAt: number()
|
|
20481
20501
|
});
|
|
@@ -20538,13 +20558,7 @@ var ResolvedInferenceConfigSchema = object({
|
|
|
20538
20558
|
format: ModelFormatSchema,
|
|
20539
20559
|
reason: string()
|
|
20540
20560
|
});
|
|
20541
|
-
method(_void(), PlatformCapabilitiesSchema), method(_void(), HardwareInfoSchema), method(object({ requirements: array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema), method(object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema)
|
|
20542
|
-
kind: "mutation",
|
|
20543
|
-
auth: "admin"
|
|
20544
|
-
}), method(_void(), HardwareDecodeAccelsSchema), method(_void(), HardwareDecodeAccelsSchema, {
|
|
20545
|
-
kind: "mutation",
|
|
20546
|
-
auth: "admin"
|
|
20547
|
-
});
|
|
20561
|
+
method(_void(), PlatformCapabilitiesSchema), method(_void(), HardwareInfoSchema), method(object({ requirements: array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema), method(object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema);
|
|
20548
20562
|
var PtzPresetSchema = object({
|
|
20549
20563
|
id: string(),
|
|
20550
20564
|
name: string()
|
|
@@ -24013,6 +24027,18 @@ Object.freeze({
|
|
|
24013
24027
|
addonId: null,
|
|
24014
24028
|
access: "create"
|
|
24015
24029
|
},
|
|
24030
|
+
"pipelineOrchestrator.setAgentCapabilities": {
|
|
24031
|
+
capName: "pipeline-orchestrator",
|
|
24032
|
+
capScope: "system",
|
|
24033
|
+
addonId: null,
|
|
24034
|
+
access: "create"
|
|
24035
|
+
},
|
|
24036
|
+
"pipelineOrchestrator.setAgentDetectWeight": {
|
|
24037
|
+
capName: "pipeline-orchestrator",
|
|
24038
|
+
capScope: "system",
|
|
24039
|
+
addonId: null,
|
|
24040
|
+
access: "create"
|
|
24041
|
+
},
|
|
24016
24042
|
"pipelineOrchestrator.setAgentMaxCameras": {
|
|
24017
24043
|
capName: "pipeline-orchestrator",
|
|
24018
24044
|
capScope: "system",
|
|
@@ -24169,30 +24195,6 @@ Object.freeze({
|
|
|
24169
24195
|
addonId: null,
|
|
24170
24196
|
access: "view"
|
|
24171
24197
|
},
|
|
24172
|
-
"platformProbe.getHardwareDecodeAccels": {
|
|
24173
|
-
capName: "platform-probe",
|
|
24174
|
-
capScope: "system",
|
|
24175
|
-
addonId: null,
|
|
24176
|
-
access: "view"
|
|
24177
|
-
},
|
|
24178
|
-
"platformProbe.getHardwareEncoders": {
|
|
24179
|
-
capName: "platform-probe",
|
|
24180
|
-
capScope: "system",
|
|
24181
|
-
addonId: null,
|
|
24182
|
-
access: "view"
|
|
24183
|
-
},
|
|
24184
|
-
"platformProbe.refreshHardwareDecodeAccels": {
|
|
24185
|
-
capName: "platform-probe",
|
|
24186
|
-
capScope: "system",
|
|
24187
|
-
addonId: null,
|
|
24188
|
-
access: "create"
|
|
24189
|
-
},
|
|
24190
|
-
"platformProbe.refreshHardwareEncoders": {
|
|
24191
|
-
capName: "platform-probe",
|
|
24192
|
-
capScope: "system",
|
|
24193
|
-
addonId: null,
|
|
24194
|
-
access: "create"
|
|
24195
|
-
},
|
|
24196
24198
|
"platformProbe.resolveHwAccel": {
|
|
24197
24199
|
capName: "platform-probe",
|
|
24198
24200
|
capScope: "system",
|
package/dist/addon.mjs
CHANGED
|
@@ -17819,7 +17819,17 @@ var AgentAddonConfigSchema = object({
|
|
|
17819
17819
|
});
|
|
17820
17820
|
var AgentPipelineSettingsSchema = object({
|
|
17821
17821
|
addonDefaults: record(string(), AgentAddonConfigSchema).readonly(),
|
|
17822
|
-
maxCameras: number().int().nonnegative().nullable().default(null)
|
|
17822
|
+
maxCameras: number().int().nonnegative().nullable().default(null),
|
|
17823
|
+
/** Per-node detection weight (relative share for the quota balancer). */
|
|
17824
|
+
detectWeight: number().positive().optional(),
|
|
17825
|
+
/** Node is eligible to run the detection pipeline (decode + inference). */
|
|
17826
|
+
detect: boolean().optional(),
|
|
17827
|
+
/** Node is eligible to host decoder sessions. */
|
|
17828
|
+
decode: boolean().optional(),
|
|
17829
|
+
/** Node is eligible to run audio-analyzer sessions. */
|
|
17830
|
+
audio: boolean().optional(),
|
|
17831
|
+
/** Node is eligible to be the ingest / source-owner (serve the restream). */
|
|
17832
|
+
ingest: boolean().optional()
|
|
17823
17833
|
});
|
|
17824
17834
|
var CameraPipelineForAgentSchema = object({
|
|
17825
17835
|
steps: array(PipelineStepInputSchema).readonly(),
|
|
@@ -17894,7 +17904,10 @@ var AgentLoadSummarySchema = object({
|
|
|
17894
17904
|
online: boolean(),
|
|
17895
17905
|
load: RunnerLocalLoadSchema,
|
|
17896
17906
|
/** Computed score used by the L2 capacity balancer (lower = less loaded). */
|
|
17897
|
-
score: number()
|
|
17907
|
+
score: number(),
|
|
17908
|
+
/** This node's decode hwaccel backend (per-node `probedBestHwaccel`), or null
|
|
17909
|
+
* when not yet probed — for the cluster Pipeline table UI (P0.2). */
|
|
17910
|
+
decodeHwaccel: string().nullable()
|
|
17898
17911
|
});
|
|
17899
17912
|
/**
|
|
17900
17913
|
* Aggregate metrics across the whole detection cluster. Replaces the legacy
|
|
@@ -18122,6 +18135,21 @@ method(object({
|
|
|
18122
18135
|
}), object({ success: literal(true) }), {
|
|
18123
18136
|
kind: "mutation",
|
|
18124
18137
|
auth: "admin"
|
|
18138
|
+
}), method(object({
|
|
18139
|
+
agentNodeId: string(),
|
|
18140
|
+
detectWeight: number().positive().nullable()
|
|
18141
|
+
}), object({ success: literal(true) }), {
|
|
18142
|
+
kind: "mutation",
|
|
18143
|
+
auth: "admin"
|
|
18144
|
+
}), method(object({
|
|
18145
|
+
agentNodeId: string(),
|
|
18146
|
+
detect: boolean().nullable().optional(),
|
|
18147
|
+
decode: boolean().nullable().optional(),
|
|
18148
|
+
audio: boolean().nullable().optional(),
|
|
18149
|
+
ingest: boolean().nullable().optional()
|
|
18150
|
+
}), object({ success: literal(true) }), {
|
|
18151
|
+
kind: "mutation",
|
|
18152
|
+
auth: "admin"
|
|
18125
18153
|
}), method(object({ deviceId: number() }), CameraPipelineSettingsSchema.nullable()), method(object({
|
|
18126
18154
|
deviceId: number(),
|
|
18127
18155
|
addonId: string(),
|
|
@@ -20447,7 +20475,7 @@ var HardwareEncoderIdSchema = _enum([
|
|
|
20447
20475
|
"libx264",
|
|
20448
20476
|
"libx265"
|
|
20449
20477
|
]);
|
|
20450
|
-
|
|
20478
|
+
object({
|
|
20451
20479
|
encoders: array(object({
|
|
20452
20480
|
encoder: HardwareEncoderIdSchema,
|
|
20453
20481
|
codec: _enum(["H264", "H265"]),
|
|
@@ -20466,15 +20494,7 @@ var HardwareEncodersSchema = object({
|
|
|
20466
20494
|
defaultH265: HardwareEncoderIdSchema,
|
|
20467
20495
|
probedAt: number()
|
|
20468
20496
|
});
|
|
20469
|
-
|
|
20470
|
-
* Decode-side companion to {@link HardwareEncodersSchema}: the `-hwaccel`
|
|
20471
|
-
* methods the configured ffmpeg binary actually supports (parsed from
|
|
20472
|
-
* `ffmpeg -hwaccels`). Used to gate decode-hwaccel attempts so the transcode
|
|
20473
|
-
* egress never spends a spawn on a backend this build cannot offer. Per-stream
|
|
20474
|
-
* decode fragility (e.g. VideoToolbox HEVC) is still handled by the egress's
|
|
20475
|
-
* software fallback — this only filters out wholly-unsupported backends.
|
|
20476
|
-
*/
|
|
20477
|
-
var HardwareDecodeAccelsSchema = object({
|
|
20497
|
+
object({
|
|
20478
20498
|
methods: array(string()).readonly(),
|
|
20479
20499
|
probedAt: number()
|
|
20480
20500
|
});
|
|
@@ -20537,13 +20557,7 @@ var ResolvedInferenceConfigSchema = object({
|
|
|
20537
20557
|
format: ModelFormatSchema,
|
|
20538
20558
|
reason: string()
|
|
20539
20559
|
});
|
|
20540
|
-
method(_void(), PlatformCapabilitiesSchema), method(_void(), HardwareInfoSchema), method(object({ requirements: array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema), method(object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema)
|
|
20541
|
-
kind: "mutation",
|
|
20542
|
-
auth: "admin"
|
|
20543
|
-
}), method(_void(), HardwareDecodeAccelsSchema), method(_void(), HardwareDecodeAccelsSchema, {
|
|
20544
|
-
kind: "mutation",
|
|
20545
|
-
auth: "admin"
|
|
20546
|
-
});
|
|
20560
|
+
method(_void(), PlatformCapabilitiesSchema), method(_void(), HardwareInfoSchema), method(object({ requirements: array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema), method(object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema);
|
|
20547
20561
|
var PtzPresetSchema = object({
|
|
20548
20562
|
id: string(),
|
|
20549
20563
|
name: string()
|
|
@@ -24012,6 +24026,18 @@ Object.freeze({
|
|
|
24012
24026
|
addonId: null,
|
|
24013
24027
|
access: "create"
|
|
24014
24028
|
},
|
|
24029
|
+
"pipelineOrchestrator.setAgentCapabilities": {
|
|
24030
|
+
capName: "pipeline-orchestrator",
|
|
24031
|
+
capScope: "system",
|
|
24032
|
+
addonId: null,
|
|
24033
|
+
access: "create"
|
|
24034
|
+
},
|
|
24035
|
+
"pipelineOrchestrator.setAgentDetectWeight": {
|
|
24036
|
+
capName: "pipeline-orchestrator",
|
|
24037
|
+
capScope: "system",
|
|
24038
|
+
addonId: null,
|
|
24039
|
+
access: "create"
|
|
24040
|
+
},
|
|
24015
24041
|
"pipelineOrchestrator.setAgentMaxCameras": {
|
|
24016
24042
|
capName: "pipeline-orchestrator",
|
|
24017
24043
|
capScope: "system",
|
|
@@ -24168,30 +24194,6 @@ Object.freeze({
|
|
|
24168
24194
|
addonId: null,
|
|
24169
24195
|
access: "view"
|
|
24170
24196
|
},
|
|
24171
|
-
"platformProbe.getHardwareDecodeAccels": {
|
|
24172
|
-
capName: "platform-probe",
|
|
24173
|
-
capScope: "system",
|
|
24174
|
-
addonId: null,
|
|
24175
|
-
access: "view"
|
|
24176
|
-
},
|
|
24177
|
-
"platformProbe.getHardwareEncoders": {
|
|
24178
|
-
capName: "platform-probe",
|
|
24179
|
-
capScope: "system",
|
|
24180
|
-
addonId: null,
|
|
24181
|
-
access: "view"
|
|
24182
|
-
},
|
|
24183
|
-
"platformProbe.refreshHardwareDecodeAccels": {
|
|
24184
|
-
capName: "platform-probe",
|
|
24185
|
-
capScope: "system",
|
|
24186
|
-
addonId: null,
|
|
24187
|
-
access: "create"
|
|
24188
|
-
},
|
|
24189
|
-
"platformProbe.refreshHardwareEncoders": {
|
|
24190
|
-
capName: "platform-probe",
|
|
24191
|
-
capScope: "system",
|
|
24192
|
-
addonId: null,
|
|
24193
|
-
access: "create"
|
|
24194
|
-
},
|
|
24195
24197
|
"platformProbe.resolveHwAccel": {
|
|
24196
24198
|
capName: "platform-probe",
|
|
24197
24199
|
capScope: "system",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-provider-unraid",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "Unraid device-provider addon for CamStack — one Container per Unraid instance fanning out array, disk, docker and notification entities",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|