@camstack/addon-pipeline-orchestrator 1.2.152 → 1.2.154

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.
Files changed (20) hide show
  1. package/assets/viewer/.viewer-current-files.json +6 -6
  2. package/assets/viewer/.viewer-version +1 -1
  3. package/assets/viewer/_expo/static/js/web/{index-0bfe4572bdd5efd9eeb2cefa2e294a8e.js → index-75f763b949bea828a458aa4fa88aaabe.js} +9 -9
  4. package/assets/viewer/embed/assets/{MaskShapeCanvas-DI4BY7W2-Y4Gmo_fk.js → MaskShapeCanvas-DI4BY7W2-CwsEoZgH.js} +1 -1
  5. package/assets/viewer/embed/assets/{MotionZonesSettings-DNdnFHso-6yNjUyn0.js → MotionZonesSettings-DNdnFHso-BBL6r4UH.js} +1 -1
  6. package/assets/viewer/embed/assets/{PrivacyMaskSettings-DNSLc6ww-kF0F_4DP.js → PrivacyMaskSettings-DNSLc6ww-3mWZlmvm.js} +1 -1
  7. package/assets/viewer/embed/assets/{SceneMonitorEditor-d_A4kO-M-BwkjZRqf.js → SceneMonitorEditor-d_A4kO-M-CULeYhtP.js} +1 -1
  8. package/assets/viewer/embed/assets/{index-DC8UE97Q.js → index-6Ff1zM4h.js} +33 -33
  9. package/assets/viewer/embed/index.html +1 -1
  10. package/assets/viewer/index.html +1 -1
  11. package/dist/_stub.js +2 -2
  12. package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_orchestrator_widgets-Bhxh7cZu.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_orchestrator_widgets-CA0M730h.mjs} +3 -3
  13. package/dist/{_virtual_mf___mfe_internal__addon_pipeline_orchestrator_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-D6Q8jg5j.mjs → _virtual_mf___mfe_internal__addon_pipeline_orchestrator_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-zcPhDMA0.mjs} +1 -1
  14. package/dist/{_virtual_mf___mfe_internal__addon_pipeline_orchestrator_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-DokBKc_-.mjs → _virtual_mf___mfe_internal__addon_pipeline_orchestrator_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-DK2tQxVt.mjs} +1 -1
  15. package/dist/{hostInit-Dyob2qx0.mjs → hostInit-COg9rRuw.mjs} +3 -3
  16. package/dist/index.js +58 -0
  17. package/dist/index.mjs +58 -0
  18. package/dist/remoteEntry.js +1 -1
  19. package/package.json +1 -1
  20. package/assets/viewer/_expo/static/js/web/index-22c6dcf9f1eb7365ef8bfcca1002bc3f.js +0 -3674
package/dist/index.mjs CHANGED
@@ -21665,6 +21665,14 @@ var AgentPipelineSettingsSchema = object({
21665
21665
  /** Node is eligible to be the ingest / source-owner (serve the restream). */
21666
21666
  ingest: boolean().optional(),
21667
21667
  /**
21668
+ * This node's decode RAM budget, MB. Wins over the cluster
21669
+ * `nodeDecodeBudgetMb`; absent, the runner derives a share of the node's
21670
+ * own RAM unless the operator moved the cluster value (D365).
21671
+ */
21672
+ decodeBudgetMb: number().int().min(1024).max(65536).optional(),
21673
+ /** This node's live decode-worker cap. Wins over the cluster `maxLiveDecodeWorkers`. */
21674
+ maxLiveDecodeWorkers: number().int().min(1).max(32).optional(),
21675
+ /**
21668
21676
  * Operator override for the LAN host a cross-node decoder dials to reach
21669
21677
  * THIS node's restream (Cluster UI). Absent → auto-detect: a remote runner
21670
21678
  * falls back to its `CAMSTACK_HUB_URL`-derived host (the Moleculer address
@@ -22286,6 +22294,20 @@ var pipelineOrchestratorCapability = {
22286
22294
  auth: "admin"
22287
22295
  }),
22288
22296
  /**
22297
+ * Size ONE node's decode admission: its RAM budget and live-worker cap.
22298
+ * `null` clears a limit (back to the cluster setting or the RAM-derived
22299
+ * default); an omitted key leaves it alone. Read by the node's runner on
22300
+ * its next lease refresh (D365).
22301
+ */
22302
+ setAgentDecodeLimits: method(object({
22303
+ agentNodeId: string(),
22304
+ decodeBudgetMb: number().int().min(1024).max(65536).nullable().optional(),
22305
+ maxLiveDecodeWorkers: number().int().min(1).max(32).nullable().optional()
22306
+ }), object({ success: literal(true) }), {
22307
+ kind: "mutation",
22308
+ auth: "admin"
22309
+ }),
22310
+ /**
22289
22311
  * Set (or clear) the operator override for the LAN host a cross-node
22290
22312
  * decoder dials to reach this node's restream. Pass a non-empty string to
22291
22313
  * override the auto-detected address (the runner's `CAMSTACK_HUB_URL`
@@ -34713,6 +34735,12 @@ Object.freeze({
34713
34735
  addonId: null,
34714
34736
  access: "create"
34715
34737
  },
34738
+ "pipelineOrchestrator.setAgentDecodeLimits": {
34739
+ capName: "pipeline-orchestrator",
34740
+ capScope: "system",
34741
+ addonId: null,
34742
+ access: "create"
34743
+ },
34716
34744
  "pipelineOrchestrator.setAgentDetectWeight": {
34717
34745
  capName: "pipeline-orchestrator",
34718
34746
  capScope: "system",
@@ -47614,6 +47642,8 @@ var StoredAgentPipelineSettingsSchema = object({
47614
47642
  decode: boolean().optional(),
47615
47643
  audio: boolean().optional(),
47616
47644
  ingest: boolean().optional(),
47645
+ decodeBudgetMb: number().int().min(1024).max(65536).optional(),
47646
+ maxLiveDecodeWorkers: number().int().min(1).max(32).optional(),
47617
47647
  reachableHost: string().optional(),
47618
47648
  inferenceDevices: record(string(), object({
47619
47649
  enabled: boolean(),
@@ -53206,6 +53236,34 @@ var PipelineOrchestratorAddon = class PipelineOrchestratorAddon extends BaseAddo
53206
53236
  return { success: true };
53207
53237
  }
53208
53238
  /**
53239
+ * Size one node's decode admission (D365). `null` clears a limit, an
53240
+ * omitted key leaves it; the node's runner reads the entry on its next
53241
+ * lease refresh and resizes its admission — no restart.
53242
+ */
53243
+ async setAgentDecodeLimits(input) {
53244
+ const existing = (await this.settingsStore.readAgentSettingsMap())[input.agentNodeId] ?? { maxCameras: null };
53245
+ const applyLimit = (key) => {
53246
+ const patch = input[key];
53247
+ if (patch === void 0) return existing[key];
53248
+ if (patch === null) return void 0;
53249
+ return patch;
53250
+ };
53251
+ const next = {
53252
+ ...existing,
53253
+ decodeBudgetMb: applyLimit("decodeBudgetMb"),
53254
+ maxLiveDecodeWorkers: applyLimit("maxLiveDecodeWorkers")
53255
+ };
53256
+ await this.settingsStore.writeAgentSettings(input.agentNodeId, next);
53257
+ this.ctx.logger.info("agentSettings.decodeLimits updated", {
53258
+ tags: { nodeId: input.agentNodeId },
53259
+ meta: {
53260
+ decodeBudgetMb: next.decodeBudgetMb,
53261
+ maxLiveDecodeWorkers: next.maxLiveDecodeWorkers
53262
+ }
53263
+ });
53264
+ return { success: true };
53265
+ }
53266
+ /**
53209
53267
  * Set (or clear) the per-node `reachableHost` override — the LAN host a
53210
53268
  * cross-node decoder dials to reach this node's restream. A non-empty string
53211
53269
  * overrides the auto-detected host the runner would otherwise derive from
@@ -30,7 +30,7 @@ async function d(e) {
30
30
  }
31
31
  }
32
32
  async function f() {
33
- return l ||= d(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_orchestrator_widgets-Bhxh7cZu.mjs")).catch((e) => {
33
+ return l ||= d(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_orchestrator_widgets-CA0M730h.mjs")).catch((e) => {
34
34
  throw l = void 0, e;
35
35
  }), l;
36
36
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-pipeline-orchestrator",
3
- "version": "1.2.152",
3
+ "version": "1.2.154",
4
4
  "description": "Hub-side camera-to-agent load balancer — tracks runner capacity and dispatches attachCamera calls to the optimal pipeline-runner instance",
5
5
  "keywords": [
6
6
  "camstack",