@camstack/addon-cloudflare 1.1.15 → 1.1.17

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.
@@ -14918,7 +14918,17 @@ var AgentAddonConfigSchema = object({
14918
14918
  });
14919
14919
  var AgentPipelineSettingsSchema = object({
14920
14920
  addonDefaults: record(string(), AgentAddonConfigSchema).readonly(),
14921
- maxCameras: number().int().nonnegative().nullable().default(null)
14921
+ maxCameras: number().int().nonnegative().nullable().default(null),
14922
+ /** Per-node detection weight (relative share for the quota balancer). */
14923
+ detectWeight: number().positive().optional(),
14924
+ /** Node is eligible to run the detection pipeline (decode + inference). */
14925
+ detect: boolean().optional(),
14926
+ /** Node is eligible to host decoder sessions. */
14927
+ decode: boolean().optional(),
14928
+ /** Node is eligible to run audio-analyzer sessions. */
14929
+ audio: boolean().optional(),
14930
+ /** Node is eligible to be the ingest / source-owner (serve the restream). */
14931
+ ingest: boolean().optional()
14922
14932
  });
14923
14933
  var CameraPipelineForAgentSchema = object({
14924
14934
  steps: array(PipelineStepInputSchema).readonly(),
@@ -14993,7 +15003,10 @@ var AgentLoadSummarySchema = object({
14993
15003
  online: boolean(),
14994
15004
  load: RunnerLocalLoadSchema,
14995
15005
  /** Computed score used by the L2 capacity balancer (lower = less loaded). */
14996
- score: number()
15006
+ score: number(),
15007
+ /** This node's decode hwaccel backend (per-node `probedBestHwaccel`), or null
15008
+ * when not yet probed — for the cluster Pipeline table UI (P0.2). */
15009
+ decodeHwaccel: string().nullable()
14997
15010
  });
14998
15011
  /**
14999
15012
  * Aggregate metrics across the whole detection cluster. Replaces the legacy
@@ -15221,6 +15234,21 @@ method(object({
15221
15234
  }), object({ success: literal(true) }), {
15222
15235
  kind: "mutation",
15223
15236
  auth: "admin"
15237
+ }), method(object({
15238
+ agentNodeId: string(),
15239
+ detectWeight: number().positive().nullable()
15240
+ }), object({ success: literal(true) }), {
15241
+ kind: "mutation",
15242
+ auth: "admin"
15243
+ }), method(object({
15244
+ agentNodeId: string(),
15245
+ detect: boolean().nullable().optional(),
15246
+ decode: boolean().nullable().optional(),
15247
+ audio: boolean().nullable().optional(),
15248
+ ingest: boolean().nullable().optional()
15249
+ }), object({ success: literal(true) }), {
15250
+ kind: "mutation",
15251
+ auth: "admin"
15224
15252
  }), method(object({ deviceId: number() }), CameraPipelineSettingsSchema.nullable()), method(object({
15225
15253
  deviceId: number(),
15226
15254
  addonId: string(),
@@ -17552,7 +17580,7 @@ var HardwareEncoderIdSchema = _enum([
17552
17580
  "libx264",
17553
17581
  "libx265"
17554
17582
  ]);
17555
- var HardwareEncodersSchema = object({
17583
+ object({
17556
17584
  encoders: array(object({
17557
17585
  encoder: HardwareEncoderIdSchema,
17558
17586
  codec: _enum(["H264", "H265"]),
@@ -17571,15 +17599,7 @@ var HardwareEncodersSchema = object({
17571
17599
  defaultH265: HardwareEncoderIdSchema,
17572
17600
  probedAt: number()
17573
17601
  });
17574
- /**
17575
- * Decode-side companion to {@link HardwareEncodersSchema}: the `-hwaccel`
17576
- * methods the configured ffmpeg binary actually supports (parsed from
17577
- * `ffmpeg -hwaccels`). Used to gate decode-hwaccel attempts so the transcode
17578
- * egress never spends a spawn on a backend this build cannot offer. Per-stream
17579
- * decode fragility (e.g. VideoToolbox HEVC) is still handled by the egress's
17580
- * software fallback — this only filters out wholly-unsupported backends.
17581
- */
17582
- var HardwareDecodeAccelsSchema = object({
17602
+ object({
17583
17603
  methods: array(string()).readonly(),
17584
17604
  probedAt: number()
17585
17605
  });
@@ -17642,13 +17662,7 @@ var ResolvedInferenceConfigSchema = object({
17642
17662
  format: ModelFormatSchema,
17643
17663
  reason: string()
17644
17664
  });
17645
- method(_void(), PlatformCapabilitiesSchema), method(_void(), HardwareInfoSchema), method(object({ requirements: array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema), method(object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema), method(_void(), HardwareEncodersSchema), method(_void(), HardwareEncodersSchema, {
17646
- kind: "mutation",
17647
- auth: "admin"
17648
- }), method(_void(), HardwareDecodeAccelsSchema), method(_void(), HardwareDecodeAccelsSchema, {
17649
- kind: "mutation",
17650
- auth: "admin"
17651
- });
17665
+ method(_void(), PlatformCapabilitiesSchema), method(_void(), HardwareInfoSchema), method(object({ requirements: array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema), method(object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema);
17652
17666
  var PtzPresetSchema = object({
17653
17667
  id: string(),
17654
17668
  name: string()
@@ -21117,6 +21131,18 @@ Object.freeze({
21117
21131
  addonId: null,
21118
21132
  access: "create"
21119
21133
  },
21134
+ "pipelineOrchestrator.setAgentCapabilities": {
21135
+ capName: "pipeline-orchestrator",
21136
+ capScope: "system",
21137
+ addonId: null,
21138
+ access: "create"
21139
+ },
21140
+ "pipelineOrchestrator.setAgentDetectWeight": {
21141
+ capName: "pipeline-orchestrator",
21142
+ capScope: "system",
21143
+ addonId: null,
21144
+ access: "create"
21145
+ },
21120
21146
  "pipelineOrchestrator.setAgentMaxCameras": {
21121
21147
  capName: "pipeline-orchestrator",
21122
21148
  capScope: "system",
@@ -21273,30 +21299,6 @@ Object.freeze({
21273
21299
  addonId: null,
21274
21300
  access: "view"
21275
21301
  },
21276
- "platformProbe.getHardwareDecodeAccels": {
21277
- capName: "platform-probe",
21278
- capScope: "system",
21279
- addonId: null,
21280
- access: "view"
21281
- },
21282
- "platformProbe.getHardwareEncoders": {
21283
- capName: "platform-probe",
21284
- capScope: "system",
21285
- addonId: null,
21286
- access: "view"
21287
- },
21288
- "platformProbe.refreshHardwareDecodeAccels": {
21289
- capName: "platform-probe",
21290
- capScope: "system",
21291
- addonId: null,
21292
- access: "create"
21293
- },
21294
- "platformProbe.refreshHardwareEncoders": {
21295
- capName: "platform-probe",
21296
- capScope: "system",
21297
- addonId: null,
21298
- access: "create"
21299
- },
21300
21302
  "platformProbe.resolveHwAccel": {
21301
21303
  capName: "platform-probe",
21302
21304
  capScope: "system",
@@ -14918,7 +14918,17 @@ var AgentAddonConfigSchema = object({
14918
14918
  });
14919
14919
  var AgentPipelineSettingsSchema = object({
14920
14920
  addonDefaults: record(string(), AgentAddonConfigSchema).readonly(),
14921
- maxCameras: number().int().nonnegative().nullable().default(null)
14921
+ maxCameras: number().int().nonnegative().nullable().default(null),
14922
+ /** Per-node detection weight (relative share for the quota balancer). */
14923
+ detectWeight: number().positive().optional(),
14924
+ /** Node is eligible to run the detection pipeline (decode + inference). */
14925
+ detect: boolean().optional(),
14926
+ /** Node is eligible to host decoder sessions. */
14927
+ decode: boolean().optional(),
14928
+ /** Node is eligible to run audio-analyzer sessions. */
14929
+ audio: boolean().optional(),
14930
+ /** Node is eligible to be the ingest / source-owner (serve the restream). */
14931
+ ingest: boolean().optional()
14922
14932
  });
14923
14933
  var CameraPipelineForAgentSchema = object({
14924
14934
  steps: array(PipelineStepInputSchema).readonly(),
@@ -14993,7 +15003,10 @@ var AgentLoadSummarySchema = object({
14993
15003
  online: boolean(),
14994
15004
  load: RunnerLocalLoadSchema,
14995
15005
  /** Computed score used by the L2 capacity balancer (lower = less loaded). */
14996
- score: number()
15006
+ score: number(),
15007
+ /** This node's decode hwaccel backend (per-node `probedBestHwaccel`), or null
15008
+ * when not yet probed — for the cluster Pipeline table UI (P0.2). */
15009
+ decodeHwaccel: string().nullable()
14997
15010
  });
14998
15011
  /**
14999
15012
  * Aggregate metrics across the whole detection cluster. Replaces the legacy
@@ -15221,6 +15234,21 @@ method(object({
15221
15234
  }), object({ success: literal(true) }), {
15222
15235
  kind: "mutation",
15223
15236
  auth: "admin"
15237
+ }), method(object({
15238
+ agentNodeId: string(),
15239
+ detectWeight: number().positive().nullable()
15240
+ }), object({ success: literal(true) }), {
15241
+ kind: "mutation",
15242
+ auth: "admin"
15243
+ }), method(object({
15244
+ agentNodeId: string(),
15245
+ detect: boolean().nullable().optional(),
15246
+ decode: boolean().nullable().optional(),
15247
+ audio: boolean().nullable().optional(),
15248
+ ingest: boolean().nullable().optional()
15249
+ }), object({ success: literal(true) }), {
15250
+ kind: "mutation",
15251
+ auth: "admin"
15224
15252
  }), method(object({ deviceId: number() }), CameraPipelineSettingsSchema.nullable()), method(object({
15225
15253
  deviceId: number(),
15226
15254
  addonId: string(),
@@ -17552,7 +17580,7 @@ var HardwareEncoderIdSchema = _enum([
17552
17580
  "libx264",
17553
17581
  "libx265"
17554
17582
  ]);
17555
- var HardwareEncodersSchema = object({
17583
+ object({
17556
17584
  encoders: array(object({
17557
17585
  encoder: HardwareEncoderIdSchema,
17558
17586
  codec: _enum(["H264", "H265"]),
@@ -17571,15 +17599,7 @@ var HardwareEncodersSchema = object({
17571
17599
  defaultH265: HardwareEncoderIdSchema,
17572
17600
  probedAt: number()
17573
17601
  });
17574
- /**
17575
- * Decode-side companion to {@link HardwareEncodersSchema}: the `-hwaccel`
17576
- * methods the configured ffmpeg binary actually supports (parsed from
17577
- * `ffmpeg -hwaccels`). Used to gate decode-hwaccel attempts so the transcode
17578
- * egress never spends a spawn on a backend this build cannot offer. Per-stream
17579
- * decode fragility (e.g. VideoToolbox HEVC) is still handled by the egress's
17580
- * software fallback — this only filters out wholly-unsupported backends.
17581
- */
17582
- var HardwareDecodeAccelsSchema = object({
17602
+ object({
17583
17603
  methods: array(string()).readonly(),
17584
17604
  probedAt: number()
17585
17605
  });
@@ -17642,13 +17662,7 @@ var ResolvedInferenceConfigSchema = object({
17642
17662
  format: ModelFormatSchema,
17643
17663
  reason: string()
17644
17664
  });
17645
- method(_void(), PlatformCapabilitiesSchema), method(_void(), HardwareInfoSchema), method(object({ requirements: array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema), method(object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema), method(_void(), HardwareEncodersSchema), method(_void(), HardwareEncodersSchema, {
17646
- kind: "mutation",
17647
- auth: "admin"
17648
- }), method(_void(), HardwareDecodeAccelsSchema), method(_void(), HardwareDecodeAccelsSchema, {
17649
- kind: "mutation",
17650
- auth: "admin"
17651
- });
17665
+ method(_void(), PlatformCapabilitiesSchema), method(_void(), HardwareInfoSchema), method(object({ requirements: array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema), method(object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema);
17652
17666
  var PtzPresetSchema = object({
17653
17667
  id: string(),
17654
17668
  name: string()
@@ -21117,6 +21131,18 @@ Object.freeze({
21117
21131
  addonId: null,
21118
21132
  access: "create"
21119
21133
  },
21134
+ "pipelineOrchestrator.setAgentCapabilities": {
21135
+ capName: "pipeline-orchestrator",
21136
+ capScope: "system",
21137
+ addonId: null,
21138
+ access: "create"
21139
+ },
21140
+ "pipelineOrchestrator.setAgentDetectWeight": {
21141
+ capName: "pipeline-orchestrator",
21142
+ capScope: "system",
21143
+ addonId: null,
21144
+ access: "create"
21145
+ },
21120
21146
  "pipelineOrchestrator.setAgentMaxCameras": {
21121
21147
  capName: "pipeline-orchestrator",
21122
21148
  capScope: "system",
@@ -21273,30 +21299,6 @@ Object.freeze({
21273
21299
  addonId: null,
21274
21300
  access: "view"
21275
21301
  },
21276
- "platformProbe.getHardwareDecodeAccels": {
21277
- capName: "platform-probe",
21278
- capScope: "system",
21279
- addonId: null,
21280
- access: "view"
21281
- },
21282
- "platformProbe.getHardwareEncoders": {
21283
- capName: "platform-probe",
21284
- capScope: "system",
21285
- addonId: null,
21286
- access: "view"
21287
- },
21288
- "platformProbe.refreshHardwareDecodeAccels": {
21289
- capName: "platform-probe",
21290
- capScope: "system",
21291
- addonId: null,
21292
- access: "create"
21293
- },
21294
- "platformProbe.refreshHardwareEncoders": {
21295
- capName: "platform-probe",
21296
- capScope: "system",
21297
- addonId: null,
21298
- access: "create"
21299
- },
21300
21302
  "platformProbe.resolveHwAccel": {
21301
21303
  capName: "platform-probe",
21302
21304
  capScope: "system",
@@ -21,7 +21,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
21
21
  enumerable: true
22
22
  }) : target, mod));
23
23
  //#endregion
24
- const require_dist = require("../dist-DEcSHXDU.js");
24
+ const require_dist = require("../dist-B33Abq-d.js");
25
25
  let node_path = require("node:path");
26
26
  node_path = __toESM(node_path);
27
27
  let node_crypto = require("node:crypto");
@@ -1,4 +1,4 @@
1
- import { a as BaseAddon, c as array, d as literal, f as number, l as boolean, m as string, n as defineCustomActions, o as EventCategory, p as object, r as networkAccessCapability, s as _enum, t as customAction } from "../dist-CMM6VQL6.mjs";
1
+ import { a as BaseAddon, c as array, d as literal, f as number, l as boolean, m as string, n as defineCustomActions, o as EventCategory, p as object, r as networkAccessCapability, s as _enum, t as customAction } from "../dist-BtDJPh1F.mjs";
2
2
  import * as path from "node:path";
3
3
  import { randomUUID } from "node:crypto";
4
4
  import { spawn } from "node:child_process";
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_dist = require("../dist-DEcSHXDU.js");
2
+ const require_dist = require("../dist-B33Abq-d.js");
3
3
  //#region src/turn/cloudflare-turn.ts
4
4
  /**
5
5
  * Cloudflare returns ICE servers in several flavours depending on which
@@ -1,4 +1,4 @@
1
- import { a as BaseAddon, d as literal, f as number, i as turnProviderCapability, l as boolean, m as string, n as defineCustomActions, p as object, t as customAction, u as discriminatedUnion } from "../dist-CMM6VQL6.mjs";
1
+ import { a as BaseAddon, d as literal, f as number, i as turnProviderCapability, l as boolean, m as string, n as defineCustomActions, p as object, t as customAction, u as discriminatedUnion } from "../dist-BtDJPh1F.mjs";
2
2
  //#region src/turn/cloudflare-turn.ts
3
3
  /**
4
4
  * Cloudflare returns ICE servers in several flavours depending on which
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-cloudflare",
3
- "version": "1.1.15",
3
+ "version": "1.1.17",
4
4
  "description": "Cloudflare bundle — Tunnel (network-access) + TURN relay (turn-provider). Multi-entry npm package shipping 2 addons under a single bundle.",
5
5
  "keywords": [
6
6
  "camstack",