@camstack/addon-provider-dreame 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 CHANGED
@@ -71246,6 +71246,14 @@ var AgentPipelineSettingsSchema = object({
71246
71246
  /** Node is eligible to be the ingest / source-owner (serve the restream). */
71247
71247
  ingest: boolean().optional(),
71248
71248
  /**
71249
+ * This node's decode RAM budget, MB. Wins over the cluster
71250
+ * `nodeDecodeBudgetMb`; absent, the runner derives a share of the node's
71251
+ * own RAM unless the operator moved the cluster value (D365).
71252
+ */
71253
+ decodeBudgetMb: number().int().min(1024).max(65536).optional(),
71254
+ /** This node's live decode-worker cap. Wins over the cluster `maxLiveDecodeWorkers`. */
71255
+ maxLiveDecodeWorkers: number().int().min(1).max(32).optional(),
71256
+ /**
71249
71257
  * Operator override for the LAN host a cross-node decoder dials to reach
71250
71258
  * THIS node's restream (Cluster UI). Absent → auto-detect: a remote runner
71251
71259
  * falls back to its `CAMSTACK_HUB_URL`-derived host (the Moleculer address
@@ -71707,6 +71715,13 @@ method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
71707
71715
  }), object({ success: literal(true) }), {
71708
71716
  kind: "mutation",
71709
71717
  auth: "admin"
71718
+ }), method(object({
71719
+ agentNodeId: string(),
71720
+ decodeBudgetMb: number().int().min(1024).max(65536).nullable().optional(),
71721
+ maxLiveDecodeWorkers: number().int().min(1).max(32).nullable().optional()
71722
+ }), object({ success: literal(true) }), {
71723
+ kind: "mutation",
71724
+ auth: "admin"
71710
71725
  }), method(object({
71711
71726
  agentNodeId: string(),
71712
71727
  reachableHost: string().nullable()
@@ -83650,7 +83665,15 @@ var BaseDeviceProvider = class extends BaseAddon {
83650
83665
  if (!Class) throw new Error(`no device class registered for type "${saved.type}"`);
83651
83666
  if (saved.parentDeviceId !== null && !restored.has(saved.parentDeviceId)) throw new Error(`parent device ${saved.parentDeviceId} not restored`);
83652
83667
  await this.healSavedConfig(saved, savedDevices);
83653
- await this.ctx.kernel.devices.create(saved.stableId, Class, {}, saved.parentDeviceId);
83668
+ try {
83669
+ await this.ctx.kernel.devices.create(saved.stableId, Class, {}, saved.parentDeviceId);
83670
+ } catch (err) {
83671
+ if (!(await this.ctx.kernel.devices.getAll()).some((device) => device.stableId === saved.stableId)) throw err;
83672
+ this.ctx.logger.debug("Restore row came to life during its own dial — kept", { tags: {
83673
+ deviceId: saved.id,
83674
+ stableId: saved.stableId
83675
+ } });
83676
+ }
83654
83677
  restored.add(saved.id);
83655
83678
  };
83656
83679
  const topLevel = savedDevices.filter((saved) => saved.parentDeviceId === null);
@@ -87683,6 +87706,12 @@ Object.freeze({
87683
87706
  addonId: null,
87684
87707
  access: "create"
87685
87708
  },
87709
+ "pipelineOrchestrator.setAgentDecodeLimits": {
87710
+ capName: "pipeline-orchestrator",
87711
+ capScope: "system",
87712
+ addonId: null,
87713
+ access: "create"
87714
+ },
87686
87715
  "pipelineOrchestrator.setAgentDetectWeight": {
87687
87716
  capName: "pipeline-orchestrator",
87688
87717
  capScope: "system",
package/dist/addon.mjs CHANGED
@@ -71246,6 +71246,14 @@ var AgentPipelineSettingsSchema = object({
71246
71246
  /** Node is eligible to be the ingest / source-owner (serve the restream). */
71247
71247
  ingest: boolean().optional(),
71248
71248
  /**
71249
+ * This node's decode RAM budget, MB. Wins over the cluster
71250
+ * `nodeDecodeBudgetMb`; absent, the runner derives a share of the node's
71251
+ * own RAM unless the operator moved the cluster value (D365).
71252
+ */
71253
+ decodeBudgetMb: number().int().min(1024).max(65536).optional(),
71254
+ /** This node's live decode-worker cap. Wins over the cluster `maxLiveDecodeWorkers`. */
71255
+ maxLiveDecodeWorkers: number().int().min(1).max(32).optional(),
71256
+ /**
71249
71257
  * Operator override for the LAN host a cross-node decoder dials to reach
71250
71258
  * THIS node's restream (Cluster UI). Absent → auto-detect: a remote runner
71251
71259
  * falls back to its `CAMSTACK_HUB_URL`-derived host (the Moleculer address
@@ -71707,6 +71715,13 @@ method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
71707
71715
  }), object({ success: literal(true) }), {
71708
71716
  kind: "mutation",
71709
71717
  auth: "admin"
71718
+ }), method(object({
71719
+ agentNodeId: string(),
71720
+ decodeBudgetMb: number().int().min(1024).max(65536).nullable().optional(),
71721
+ maxLiveDecodeWorkers: number().int().min(1).max(32).nullable().optional()
71722
+ }), object({ success: literal(true) }), {
71723
+ kind: "mutation",
71724
+ auth: "admin"
71710
71725
  }), method(object({
71711
71726
  agentNodeId: string(),
71712
71727
  reachableHost: string().nullable()
@@ -83650,7 +83665,15 @@ var BaseDeviceProvider = class extends BaseAddon {
83650
83665
  if (!Class) throw new Error(`no device class registered for type "${saved.type}"`);
83651
83666
  if (saved.parentDeviceId !== null && !restored.has(saved.parentDeviceId)) throw new Error(`parent device ${saved.parentDeviceId} not restored`);
83652
83667
  await this.healSavedConfig(saved, savedDevices);
83653
- await this.ctx.kernel.devices.create(saved.stableId, Class, {}, saved.parentDeviceId);
83668
+ try {
83669
+ await this.ctx.kernel.devices.create(saved.stableId, Class, {}, saved.parentDeviceId);
83670
+ } catch (err) {
83671
+ if (!(await this.ctx.kernel.devices.getAll()).some((device) => device.stableId === saved.stableId)) throw err;
83672
+ this.ctx.logger.debug("Restore row came to life during its own dial — kept", { tags: {
83673
+ deviceId: saved.id,
83674
+ stableId: saved.stableId
83675
+ } });
83676
+ }
83654
83677
  restored.add(saved.id);
83655
83678
  };
83656
83679
  const topLevel = savedDevices.filter((saved) => saved.parentDeviceId === null);
@@ -87683,6 +87706,12 @@ Object.freeze({
87683
87706
  addonId: null,
87684
87707
  access: "create"
87685
87708
  },
87709
+ "pipelineOrchestrator.setAgentDecodeLimits": {
87710
+ capName: "pipeline-orchestrator",
87711
+ capScope: "system",
87712
+ addonId: null,
87713
+ access: "create"
87714
+ },
87686
87715
  "pipelineOrchestrator.setAgentDetectWeight": {
87687
87716
  capName: "pipeline-orchestrator",
87688
87717
  capScope: "system",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-dreame",
3
- "version": "0.2.66",
3
+ "version": "0.2.68",
4
4
  "description": "Dreame robot-vacuum / lawn-mower device-provider addon for CamStack — wraps the @apocaliss92/nodedreame Dreamehome cloud client",
5
5
  "keywords": [
6
6
  "camstack",