@camstack/addon-provider-tuya 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 CHANGED
@@ -17841,7 +17841,17 @@ var AgentAddonConfigSchema = object({
17841
17841
  });
17842
17842
  var AgentPipelineSettingsSchema = object({
17843
17843
  addonDefaults: record(string(), AgentAddonConfigSchema).readonly(),
17844
- maxCameras: number().int().nonnegative().nullable().default(null)
17844
+ maxCameras: number().int().nonnegative().nullable().default(null),
17845
+ /** Per-node detection weight (relative share for the quota balancer). */
17846
+ detectWeight: number().positive().optional(),
17847
+ /** Node is eligible to run the detection pipeline (decode + inference). */
17848
+ detect: boolean().optional(),
17849
+ /** Node is eligible to host decoder sessions. */
17850
+ decode: boolean().optional(),
17851
+ /** Node is eligible to run audio-analyzer sessions. */
17852
+ audio: boolean().optional(),
17853
+ /** Node is eligible to be the ingest / source-owner (serve the restream). */
17854
+ ingest: boolean().optional()
17845
17855
  });
17846
17856
  var CameraPipelineForAgentSchema = object({
17847
17857
  steps: array(PipelineStepInputSchema).readonly(),
@@ -17916,7 +17926,10 @@ var AgentLoadSummarySchema = object({
17916
17926
  online: boolean(),
17917
17927
  load: RunnerLocalLoadSchema,
17918
17928
  /** Computed score used by the L2 capacity balancer (lower = less loaded). */
17919
- score: number()
17929
+ score: number(),
17930
+ /** This node's decode hwaccel backend (per-node `probedBestHwaccel`), or null
17931
+ * when not yet probed — for the cluster Pipeline table UI (P0.2). */
17932
+ decodeHwaccel: string().nullable()
17920
17933
  });
17921
17934
  /**
17922
17935
  * Aggregate metrics across the whole detection cluster. Replaces the legacy
@@ -18144,6 +18157,21 @@ method(object({
18144
18157
  }), object({ success: literal(true) }), {
18145
18158
  kind: "mutation",
18146
18159
  auth: "admin"
18160
+ }), method(object({
18161
+ agentNodeId: string(),
18162
+ detectWeight: number().positive().nullable()
18163
+ }), object({ success: literal(true) }), {
18164
+ kind: "mutation",
18165
+ auth: "admin"
18166
+ }), method(object({
18167
+ agentNodeId: string(),
18168
+ detect: boolean().nullable().optional(),
18169
+ decode: boolean().nullable().optional(),
18170
+ audio: boolean().nullable().optional(),
18171
+ ingest: boolean().nullable().optional()
18172
+ }), object({ success: literal(true) }), {
18173
+ kind: "mutation",
18174
+ auth: "admin"
18147
18175
  }), method(object({ deviceId: number() }), CameraPipelineSettingsSchema.nullable()), method(object({
18148
18176
  deviceId: number(),
18149
18177
  addonId: string(),
@@ -20452,7 +20480,7 @@ var HardwareEncoderIdSchema = _enum([
20452
20480
  "libx264",
20453
20481
  "libx265"
20454
20482
  ]);
20455
- var HardwareEncodersSchema = object({
20483
+ object({
20456
20484
  encoders: array(object({
20457
20485
  encoder: HardwareEncoderIdSchema,
20458
20486
  codec: _enum(["H264", "H265"]),
@@ -20471,15 +20499,7 @@ var HardwareEncodersSchema = object({
20471
20499
  defaultH265: HardwareEncoderIdSchema,
20472
20500
  probedAt: number()
20473
20501
  });
20474
- /**
20475
- * Decode-side companion to {@link HardwareEncodersSchema}: the `-hwaccel`
20476
- * methods the configured ffmpeg binary actually supports (parsed from
20477
- * `ffmpeg -hwaccels`). Used to gate decode-hwaccel attempts so the transcode
20478
- * egress never spends a spawn on a backend this build cannot offer. Per-stream
20479
- * decode fragility (e.g. VideoToolbox HEVC) is still handled by the egress's
20480
- * software fallback — this only filters out wholly-unsupported backends.
20481
- */
20482
- var HardwareDecodeAccelsSchema = object({
20502
+ object({
20483
20503
  methods: array(string()).readonly(),
20484
20504
  probedAt: number()
20485
20505
  });
@@ -20542,13 +20562,7 @@ var ResolvedInferenceConfigSchema = object({
20542
20562
  format: ModelFormatSchema,
20543
20563
  reason: string()
20544
20564
  });
20545
- method(_void(), PlatformCapabilitiesSchema), method(_void(), HardwareInfoSchema), method(object({ requirements: array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema), method(object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema), method(_void(), HardwareEncodersSchema), method(_void(), HardwareEncodersSchema, {
20546
- kind: "mutation",
20547
- auth: "admin"
20548
- }), method(_void(), HardwareDecodeAccelsSchema), method(_void(), HardwareDecodeAccelsSchema, {
20549
- kind: "mutation",
20550
- auth: "admin"
20551
- });
20565
+ method(_void(), PlatformCapabilitiesSchema), method(_void(), HardwareInfoSchema), method(object({ requirements: array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema), method(object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema);
20552
20566
  var PtzPresetSchema = object({
20553
20567
  id: string(),
20554
20568
  name: string()
@@ -24017,6 +24031,18 @@ Object.freeze({
24017
24031
  addonId: null,
24018
24032
  access: "create"
24019
24033
  },
24034
+ "pipelineOrchestrator.setAgentCapabilities": {
24035
+ capName: "pipeline-orchestrator",
24036
+ capScope: "system",
24037
+ addonId: null,
24038
+ access: "create"
24039
+ },
24040
+ "pipelineOrchestrator.setAgentDetectWeight": {
24041
+ capName: "pipeline-orchestrator",
24042
+ capScope: "system",
24043
+ addonId: null,
24044
+ access: "create"
24045
+ },
24020
24046
  "pipelineOrchestrator.setAgentMaxCameras": {
24021
24047
  capName: "pipeline-orchestrator",
24022
24048
  capScope: "system",
@@ -24173,30 +24199,6 @@ Object.freeze({
24173
24199
  addonId: null,
24174
24200
  access: "view"
24175
24201
  },
24176
- "platformProbe.getHardwareDecodeAccels": {
24177
- capName: "platform-probe",
24178
- capScope: "system",
24179
- addonId: null,
24180
- access: "view"
24181
- },
24182
- "platformProbe.getHardwareEncoders": {
24183
- capName: "platform-probe",
24184
- capScope: "system",
24185
- addonId: null,
24186
- access: "view"
24187
- },
24188
- "platformProbe.refreshHardwareDecodeAccels": {
24189
- capName: "platform-probe",
24190
- capScope: "system",
24191
- addonId: null,
24192
- access: "create"
24193
- },
24194
- "platformProbe.refreshHardwareEncoders": {
24195
- capName: "platform-probe",
24196
- capScope: "system",
24197
- addonId: null,
24198
- access: "create"
24199
- },
24200
24202
  "platformProbe.resolveHwAccel": {
24201
24203
  capName: "platform-probe",
24202
24204
  capScope: "system",
package/dist/addon.mjs CHANGED
@@ -17840,7 +17840,17 @@ var AgentAddonConfigSchema = object({
17840
17840
  });
17841
17841
  var AgentPipelineSettingsSchema = object({
17842
17842
  addonDefaults: record(string(), AgentAddonConfigSchema).readonly(),
17843
- maxCameras: number().int().nonnegative().nullable().default(null)
17843
+ maxCameras: number().int().nonnegative().nullable().default(null),
17844
+ /** Per-node detection weight (relative share for the quota balancer). */
17845
+ detectWeight: number().positive().optional(),
17846
+ /** Node is eligible to run the detection pipeline (decode + inference). */
17847
+ detect: boolean().optional(),
17848
+ /** Node is eligible to host decoder sessions. */
17849
+ decode: boolean().optional(),
17850
+ /** Node is eligible to run audio-analyzer sessions. */
17851
+ audio: boolean().optional(),
17852
+ /** Node is eligible to be the ingest / source-owner (serve the restream). */
17853
+ ingest: boolean().optional()
17844
17854
  });
17845
17855
  var CameraPipelineForAgentSchema = object({
17846
17856
  steps: array(PipelineStepInputSchema).readonly(),
@@ -17915,7 +17925,10 @@ var AgentLoadSummarySchema = object({
17915
17925
  online: boolean(),
17916
17926
  load: RunnerLocalLoadSchema,
17917
17927
  /** Computed score used by the L2 capacity balancer (lower = less loaded). */
17918
- score: number()
17928
+ score: number(),
17929
+ /** This node's decode hwaccel backend (per-node `probedBestHwaccel`), or null
17930
+ * when not yet probed — for the cluster Pipeline table UI (P0.2). */
17931
+ decodeHwaccel: string().nullable()
17919
17932
  });
17920
17933
  /**
17921
17934
  * Aggregate metrics across the whole detection cluster. Replaces the legacy
@@ -18143,6 +18156,21 @@ method(object({
18143
18156
  }), object({ success: literal(true) }), {
18144
18157
  kind: "mutation",
18145
18158
  auth: "admin"
18159
+ }), method(object({
18160
+ agentNodeId: string(),
18161
+ detectWeight: number().positive().nullable()
18162
+ }), object({ success: literal(true) }), {
18163
+ kind: "mutation",
18164
+ auth: "admin"
18165
+ }), method(object({
18166
+ agentNodeId: string(),
18167
+ detect: boolean().nullable().optional(),
18168
+ decode: boolean().nullable().optional(),
18169
+ audio: boolean().nullable().optional(),
18170
+ ingest: boolean().nullable().optional()
18171
+ }), object({ success: literal(true) }), {
18172
+ kind: "mutation",
18173
+ auth: "admin"
18146
18174
  }), method(object({ deviceId: number() }), CameraPipelineSettingsSchema.nullable()), method(object({
18147
18175
  deviceId: number(),
18148
18176
  addonId: string(),
@@ -20451,7 +20479,7 @@ var HardwareEncoderIdSchema = _enum([
20451
20479
  "libx264",
20452
20480
  "libx265"
20453
20481
  ]);
20454
- var HardwareEncodersSchema = object({
20482
+ object({
20455
20483
  encoders: array(object({
20456
20484
  encoder: HardwareEncoderIdSchema,
20457
20485
  codec: _enum(["H264", "H265"]),
@@ -20470,15 +20498,7 @@ var HardwareEncodersSchema = object({
20470
20498
  defaultH265: HardwareEncoderIdSchema,
20471
20499
  probedAt: number()
20472
20500
  });
20473
- /**
20474
- * Decode-side companion to {@link HardwareEncodersSchema}: the `-hwaccel`
20475
- * methods the configured ffmpeg binary actually supports (parsed from
20476
- * `ffmpeg -hwaccels`). Used to gate decode-hwaccel attempts so the transcode
20477
- * egress never spends a spawn on a backend this build cannot offer. Per-stream
20478
- * decode fragility (e.g. VideoToolbox HEVC) is still handled by the egress's
20479
- * software fallback — this only filters out wholly-unsupported backends.
20480
- */
20481
- var HardwareDecodeAccelsSchema = object({
20501
+ object({
20482
20502
  methods: array(string()).readonly(),
20483
20503
  probedAt: number()
20484
20504
  });
@@ -20541,13 +20561,7 @@ var ResolvedInferenceConfigSchema = object({
20541
20561
  format: ModelFormatSchema,
20542
20562
  reason: string()
20543
20563
  });
20544
- method(_void(), PlatformCapabilitiesSchema), method(_void(), HardwareInfoSchema), method(object({ requirements: array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema), method(object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema), method(_void(), HardwareEncodersSchema), method(_void(), HardwareEncodersSchema, {
20545
- kind: "mutation",
20546
- auth: "admin"
20547
- }), method(_void(), HardwareDecodeAccelsSchema), method(_void(), HardwareDecodeAccelsSchema, {
20548
- kind: "mutation",
20549
- auth: "admin"
20550
- });
20564
+ method(_void(), PlatformCapabilitiesSchema), method(_void(), HardwareInfoSchema), method(object({ requirements: array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema), method(object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema);
20551
20565
  var PtzPresetSchema = object({
20552
20566
  id: string(),
20553
20567
  name: string()
@@ -24016,6 +24030,18 @@ Object.freeze({
24016
24030
  addonId: null,
24017
24031
  access: "create"
24018
24032
  },
24033
+ "pipelineOrchestrator.setAgentCapabilities": {
24034
+ capName: "pipeline-orchestrator",
24035
+ capScope: "system",
24036
+ addonId: null,
24037
+ access: "create"
24038
+ },
24039
+ "pipelineOrchestrator.setAgentDetectWeight": {
24040
+ capName: "pipeline-orchestrator",
24041
+ capScope: "system",
24042
+ addonId: null,
24043
+ access: "create"
24044
+ },
24019
24045
  "pipelineOrchestrator.setAgentMaxCameras": {
24020
24046
  capName: "pipeline-orchestrator",
24021
24047
  capScope: "system",
@@ -24172,30 +24198,6 @@ Object.freeze({
24172
24198
  addonId: null,
24173
24199
  access: "view"
24174
24200
  },
24175
- "platformProbe.getHardwareDecodeAccels": {
24176
- capName: "platform-probe",
24177
- capScope: "system",
24178
- addonId: null,
24179
- access: "view"
24180
- },
24181
- "platformProbe.getHardwareEncoders": {
24182
- capName: "platform-probe",
24183
- capScope: "system",
24184
- addonId: null,
24185
- access: "view"
24186
- },
24187
- "platformProbe.refreshHardwareDecodeAccels": {
24188
- capName: "platform-probe",
24189
- capScope: "system",
24190
- addonId: null,
24191
- access: "create"
24192
- },
24193
- "platformProbe.refreshHardwareEncoders": {
24194
- capName: "platform-probe",
24195
- capScope: "system",
24196
- addonId: null,
24197
- access: "create"
24198
- },
24199
24201
  "platformProbe.resolveHwAccel": {
24200
24202
  capName: "platform-probe",
24201
24203
  capScope: "system",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-tuya",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "Tuya / Smart Life device-provider addon for CamStack — account-onboarded (Tuya IoT cloud fetch of device localKeys) + LOCAL DP control via the @apocaliss92/nodetuya encrypted-LAN client, exposing switch / water-heater-family kettle entities",
5
5
  "keywords": [
6
6
  "camstack",