@camstack/addon-pipeline-orchestrator 1.2.637 → 1.2.638
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/CHANGELOG.md +6 -0
- package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_orchestrator_widgets-3S_aIDgV.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_orchestrator_widgets-Hya6JCSL.mjs} +1 -1
- package/dist/{hostInit-DgrSAcMC.mjs → hostInit-BWrAZ8UU.mjs} +1 -1
- package/dist/index.js +14 -2
- package/dist/index.mjs +14 -2
- package/dist/remoteEntry.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [1.2.638] - 2026-10-28
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- Node alerts name the node by its display name and id
|
|
15
|
+
|
|
10
16
|
## [1.2.637] - 2026-10-28
|
|
11
17
|
|
|
12
18
|
### Changed
|
package/dist/index.js
CHANGED
|
@@ -106978,6 +106978,11 @@ var VERB = {
|
|
|
106978
106978
|
};
|
|
106979
106979
|
var RebalanceSuggestion = class {
|
|
106980
106980
|
deps;
|
|
106981
|
+
/** `name (id)` when a name distinct from the id is known, else the id. */
|
|
106982
|
+
async label(nodeId) {
|
|
106983
|
+
const name = await this.deps.nodeName(nodeId);
|
|
106984
|
+
return name === null || name.length === 0 || name === nodeId ? nodeId : `${name} (${nodeId})`;
|
|
106985
|
+
}
|
|
106981
106986
|
timer = null;
|
|
106982
106987
|
lastNote = null;
|
|
106983
106988
|
notUsedRaised = /* @__PURE__ */ new Set();
|
|
@@ -107026,7 +107031,7 @@ var RebalanceSuggestion = class {
|
|
|
107026
107031
|
return;
|
|
107027
107032
|
}
|
|
107028
107033
|
const note = this.lastNote;
|
|
107029
|
-
const cause = note === null ? "The cluster changed" : `Node ${note.nodeId} ${VERB[note.kind]}`;
|
|
107034
|
+
const cause = note === null ? "The cluster changed" : `Node ${await this.label(note.nodeId)} ${VERB[note.kind]}`;
|
|
107030
107035
|
const count = manual.moves.length;
|
|
107031
107036
|
const now = this.deps.now();
|
|
107032
107037
|
logger.info("rebalance suggestion: raising the alert", { meta: {
|
|
@@ -107070,7 +107075,7 @@ var RebalanceSuggestion = class {
|
|
|
107070
107075
|
category: ALERT_CATEGORY,
|
|
107071
107076
|
severity: "info",
|
|
107072
107077
|
title: "Node is not used for detection",
|
|
107073
|
-
message: `Node ${nodeId} is online but detection is not enabled on it, so no camera will be placed there.`,
|
|
107078
|
+
message: `Node ${await this.label(nodeId)} is online but detection is not enabled on it, so no camera will be placed there.`,
|
|
107074
107079
|
action: {
|
|
107075
107080
|
label: "Open node",
|
|
107076
107081
|
href: `/system/pipeline?view=nodes&node=${encodeURIComponent(nodeId)}`,
|
|
@@ -109429,6 +109434,13 @@ var PipelineOrchestratorAddon = class PipelineOrchestratorAddon extends BaseAddo
|
|
|
109429
109434
|
}),
|
|
109430
109435
|
enabledNodes: () => this.topology?.enabledNodes ?? [],
|
|
109431
109436
|
runnerNodes: () => this.topology?.collectRunnerNodeIds() ?? [],
|
|
109437
|
+
nodeName: async (nodeId) => {
|
|
109438
|
+
try {
|
|
109439
|
+
return (await ctx.api.nodes.directory.query()).nodes.find((n) => n.id === nodeId)?.name ?? null;
|
|
109440
|
+
} catch {
|
|
109441
|
+
return null;
|
|
109442
|
+
}
|
|
109443
|
+
},
|
|
109432
109444
|
alerts: {
|
|
109433
109445
|
emit: (alert) => ctx.api.alerts.emit.mutate(alert),
|
|
109434
109446
|
complete: (alertId) => ctx.api.alerts.update.mutate({
|
package/dist/index.mjs
CHANGED
|
@@ -106950,6 +106950,11 @@ var VERB = {
|
|
|
106950
106950
|
};
|
|
106951
106951
|
var RebalanceSuggestion = class {
|
|
106952
106952
|
deps;
|
|
106953
|
+
/** `name (id)` when a name distinct from the id is known, else the id. */
|
|
106954
|
+
async label(nodeId) {
|
|
106955
|
+
const name = await this.deps.nodeName(nodeId);
|
|
106956
|
+
return name === null || name.length === 0 || name === nodeId ? nodeId : `${name} (${nodeId})`;
|
|
106957
|
+
}
|
|
106953
106958
|
timer = null;
|
|
106954
106959
|
lastNote = null;
|
|
106955
106960
|
notUsedRaised = /* @__PURE__ */ new Set();
|
|
@@ -106998,7 +107003,7 @@ var RebalanceSuggestion = class {
|
|
|
106998
107003
|
return;
|
|
106999
107004
|
}
|
|
107000
107005
|
const note = this.lastNote;
|
|
107001
|
-
const cause = note === null ? "The cluster changed" : `Node ${note.nodeId} ${VERB[note.kind]}`;
|
|
107006
|
+
const cause = note === null ? "The cluster changed" : `Node ${await this.label(note.nodeId)} ${VERB[note.kind]}`;
|
|
107002
107007
|
const count = manual.moves.length;
|
|
107003
107008
|
const now = this.deps.now();
|
|
107004
107009
|
logger.info("rebalance suggestion: raising the alert", { meta: {
|
|
@@ -107042,7 +107047,7 @@ var RebalanceSuggestion = class {
|
|
|
107042
107047
|
category: ALERT_CATEGORY,
|
|
107043
107048
|
severity: "info",
|
|
107044
107049
|
title: "Node is not used for detection",
|
|
107045
|
-
message: `Node ${nodeId} is online but detection is not enabled on it, so no camera will be placed there.`,
|
|
107050
|
+
message: `Node ${await this.label(nodeId)} is online but detection is not enabled on it, so no camera will be placed there.`,
|
|
107046
107051
|
action: {
|
|
107047
107052
|
label: "Open node",
|
|
107048
107053
|
href: `/system/pipeline?view=nodes&node=${encodeURIComponent(nodeId)}`,
|
|
@@ -109401,6 +109406,13 @@ var PipelineOrchestratorAddon = class PipelineOrchestratorAddon extends BaseAddo
|
|
|
109401
109406
|
}),
|
|
109402
109407
|
enabledNodes: () => this.topology?.enabledNodes ?? [],
|
|
109403
109408
|
runnerNodes: () => this.topology?.collectRunnerNodeIds() ?? [],
|
|
109409
|
+
nodeName: async (nodeId) => {
|
|
109410
|
+
try {
|
|
109411
|
+
return (await ctx.api.nodes.directory.query()).nodes.find((n) => n.id === nodeId)?.name ?? null;
|
|
109412
|
+
} catch {
|
|
109413
|
+
return null;
|
|
109414
|
+
}
|
|
109415
|
+
},
|
|
109404
109416
|
alerts: {
|
|
109405
109417
|
emit: (alert) => ctx.api.alerts.emit.mutate(alert),
|
|
109406
109418
|
complete: (alertId) => ctx.api.alerts.update.mutate({
|
package/dist/remoteEntry.js
CHANGED
|
@@ -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-
|
|
33
|
+
return l ||= d(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_orchestrator_widgets-Hya6JCSL.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.
|
|
3
|
+
"version": "1.2.638",
|
|
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",
|