@camstack/addon-provider-dreo 0.2.66 → 0.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/addon.js +30 -1
- package/dist/addon.mjs +30 -1
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -20777,6 +20777,14 @@ var AgentPipelineSettingsSchema = object({
|
|
|
20777
20777
|
/** Node is eligible to be the ingest / source-owner (serve the restream). */
|
|
20778
20778
|
ingest: boolean().optional(),
|
|
20779
20779
|
/**
|
|
20780
|
+
* This node's decode RAM budget, MB. Wins over the cluster
|
|
20781
|
+
* `nodeDecodeBudgetMb`; absent, the runner derives a share of the node's
|
|
20782
|
+
* own RAM unless the operator moved the cluster value (D365).
|
|
20783
|
+
*/
|
|
20784
|
+
decodeBudgetMb: number().int().min(1024).max(65536).optional(),
|
|
20785
|
+
/** This node's live decode-worker cap. Wins over the cluster `maxLiveDecodeWorkers`. */
|
|
20786
|
+
maxLiveDecodeWorkers: number().int().min(1).max(32).optional(),
|
|
20787
|
+
/**
|
|
20780
20788
|
* Operator override for the LAN host a cross-node decoder dials to reach
|
|
20781
20789
|
* THIS node's restream (Cluster UI). Absent → auto-detect: a remote runner
|
|
20782
20790
|
* falls back to its `CAMSTACK_HUB_URL`-derived host (the Moleculer address
|
|
@@ -21238,6 +21246,13 @@ method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
|
21238
21246
|
}), object({ success: literal(true) }), {
|
|
21239
21247
|
kind: "mutation",
|
|
21240
21248
|
auth: "admin"
|
|
21249
|
+
}), method(object({
|
|
21250
|
+
agentNodeId: string(),
|
|
21251
|
+
decodeBudgetMb: number().int().min(1024).max(65536).nullable().optional(),
|
|
21252
|
+
maxLiveDecodeWorkers: number().int().min(1).max(32).nullable().optional()
|
|
21253
|
+
}), object({ success: literal(true) }), {
|
|
21254
|
+
kind: "mutation",
|
|
21255
|
+
auth: "admin"
|
|
21241
21256
|
}), method(object({
|
|
21242
21257
|
agentNodeId: string(),
|
|
21243
21258
|
reachableHost: string().nullable()
|
|
@@ -33164,7 +33179,15 @@ var BaseDeviceProvider = class extends BaseAddon {
|
|
|
33164
33179
|
if (!Class) throw new Error(`no device class registered for type "${saved.type}"`);
|
|
33165
33180
|
if (saved.parentDeviceId !== null && !restored.has(saved.parentDeviceId)) throw new Error(`parent device ${saved.parentDeviceId} not restored`);
|
|
33166
33181
|
await this.healSavedConfig(saved, savedDevices);
|
|
33167
|
-
|
|
33182
|
+
try {
|
|
33183
|
+
await this.ctx.kernel.devices.create(saved.stableId, Class, {}, saved.parentDeviceId);
|
|
33184
|
+
} catch (err) {
|
|
33185
|
+
if (!(await this.ctx.kernel.devices.getAll()).some((device) => device.stableId === saved.stableId)) throw err;
|
|
33186
|
+
this.ctx.logger.debug("Restore row came to life during its own dial — kept", { tags: {
|
|
33187
|
+
deviceId: saved.id,
|
|
33188
|
+
stableId: saved.stableId
|
|
33189
|
+
} });
|
|
33190
|
+
}
|
|
33168
33191
|
restored.add(saved.id);
|
|
33169
33192
|
};
|
|
33170
33193
|
const topLevel = savedDevices.filter((saved) => saved.parentDeviceId === null);
|
|
@@ -37197,6 +37220,12 @@ Object.freeze({
|
|
|
37197
37220
|
addonId: null,
|
|
37198
37221
|
access: "create"
|
|
37199
37222
|
},
|
|
37223
|
+
"pipelineOrchestrator.setAgentDecodeLimits": {
|
|
37224
|
+
capName: "pipeline-orchestrator",
|
|
37225
|
+
capScope: "system",
|
|
37226
|
+
addonId: null,
|
|
37227
|
+
access: "create"
|
|
37228
|
+
},
|
|
37200
37229
|
"pipelineOrchestrator.setAgentDetectWeight": {
|
|
37201
37230
|
capName: "pipeline-orchestrator",
|
|
37202
37231
|
capScope: "system",
|
package/dist/addon.mjs
CHANGED
|
@@ -20778,6 +20778,14 @@ var AgentPipelineSettingsSchema = object({
|
|
|
20778
20778
|
/** Node is eligible to be the ingest / source-owner (serve the restream). */
|
|
20779
20779
|
ingest: boolean().optional(),
|
|
20780
20780
|
/**
|
|
20781
|
+
* This node's decode RAM budget, MB. Wins over the cluster
|
|
20782
|
+
* `nodeDecodeBudgetMb`; absent, the runner derives a share of the node's
|
|
20783
|
+
* own RAM unless the operator moved the cluster value (D365).
|
|
20784
|
+
*/
|
|
20785
|
+
decodeBudgetMb: number().int().min(1024).max(65536).optional(),
|
|
20786
|
+
/** This node's live decode-worker cap. Wins over the cluster `maxLiveDecodeWorkers`. */
|
|
20787
|
+
maxLiveDecodeWorkers: number().int().min(1).max(32).optional(),
|
|
20788
|
+
/**
|
|
20781
20789
|
* Operator override for the LAN host a cross-node decoder dials to reach
|
|
20782
20790
|
* THIS node's restream (Cluster UI). Absent → auto-detect: a remote runner
|
|
20783
20791
|
* falls back to its `CAMSTACK_HUB_URL`-derived host (the Moleculer address
|
|
@@ -21239,6 +21247,13 @@ method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
|
21239
21247
|
}), object({ success: literal(true) }), {
|
|
21240
21248
|
kind: "mutation",
|
|
21241
21249
|
auth: "admin"
|
|
21250
|
+
}), method(object({
|
|
21251
|
+
agentNodeId: string(),
|
|
21252
|
+
decodeBudgetMb: number().int().min(1024).max(65536).nullable().optional(),
|
|
21253
|
+
maxLiveDecodeWorkers: number().int().min(1).max(32).nullable().optional()
|
|
21254
|
+
}), object({ success: literal(true) }), {
|
|
21255
|
+
kind: "mutation",
|
|
21256
|
+
auth: "admin"
|
|
21242
21257
|
}), method(object({
|
|
21243
21258
|
agentNodeId: string(),
|
|
21244
21259
|
reachableHost: string().nullable()
|
|
@@ -33165,7 +33180,15 @@ var BaseDeviceProvider = class extends BaseAddon {
|
|
|
33165
33180
|
if (!Class) throw new Error(`no device class registered for type "${saved.type}"`);
|
|
33166
33181
|
if (saved.parentDeviceId !== null && !restored.has(saved.parentDeviceId)) throw new Error(`parent device ${saved.parentDeviceId} not restored`);
|
|
33167
33182
|
await this.healSavedConfig(saved, savedDevices);
|
|
33168
|
-
|
|
33183
|
+
try {
|
|
33184
|
+
await this.ctx.kernel.devices.create(saved.stableId, Class, {}, saved.parentDeviceId);
|
|
33185
|
+
} catch (err) {
|
|
33186
|
+
if (!(await this.ctx.kernel.devices.getAll()).some((device) => device.stableId === saved.stableId)) throw err;
|
|
33187
|
+
this.ctx.logger.debug("Restore row came to life during its own dial — kept", { tags: {
|
|
33188
|
+
deviceId: saved.id,
|
|
33189
|
+
stableId: saved.stableId
|
|
33190
|
+
} });
|
|
33191
|
+
}
|
|
33169
33192
|
restored.add(saved.id);
|
|
33170
33193
|
};
|
|
33171
33194
|
const topLevel = savedDevices.filter((saved) => saved.parentDeviceId === null);
|
|
@@ -37198,6 +37221,12 @@ Object.freeze({
|
|
|
37198
37221
|
addonId: null,
|
|
37199
37222
|
access: "create"
|
|
37200
37223
|
},
|
|
37224
|
+
"pipelineOrchestrator.setAgentDecodeLimits": {
|
|
37225
|
+
capName: "pipeline-orchestrator",
|
|
37226
|
+
capScope: "system",
|
|
37227
|
+
addonId: null,
|
|
37228
|
+
access: "create"
|
|
37229
|
+
},
|
|
37201
37230
|
"pipelineOrchestrator.setAgentDetectWeight": {
|
|
37202
37231
|
capName: "pipeline-orchestrator",
|
|
37203
37232
|
capScope: "system",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-provider-dreo",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.68",
|
|
4
4
|
"description": "Dreo smart-device (fan / air-circulator / purifier / heater / humidifier) device-provider addon for CamStack — wraps the @apocaliss92/nodedreo Dreo cloud client (REST + WebSocket)",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|