chore(cloudly): consume released Spark interfaces

This commit is contained in:
2026-05-24 12:54:09 +00:00
parent 6565c44c29
commit 057af996aa
5 changed files with 20 additions and 9 deletions
+1
View File
@@ -12,6 +12,7 @@
### Maintenance
- refresh release tooling dependencies
- update `@serve.zone/interfaces` to the Spark telemetry contract release
## 2026-05-24 - 5.8.2
+1 -1
View File
@@ -79,7 +79,7 @@
"@push.rocks/taskbuffer": "^8.0.2",
"@push.rocks/webjwt": "^1.0.10",
"@serve.zone/api": "^5.3.8",
"@serve.zone/interfaces": "^5.9.0",
"@serve.zone/interfaces": "^5.10.0",
"@tsclass/tsclass": "^9.5.1"
},
"files": [
+11 -2
View File
@@ -144,8 +144,8 @@ importers:
specifier: ^5.3.8
version: 5.3.8(@push.rocks/smartserve@2.0.4)
'@serve.zone/interfaces':
specifier: ^5.9.0
version: 5.9.0
specifier: ^5.10.0
version: 5.10.0
'@tsclass/tsclass':
specifier: ^9.5.1
version: 9.5.1
@@ -2030,6 +2030,9 @@ packages:
'@serve.zone/api@5.3.8':
resolution: {integrity: sha512-k3IU4mcHuk5pKB+X7rhYWGK+j5hyyDzFoqR3ytzG1iidvgDEIIToQJq+mB3E1v6X1+tI3WyYUaMN/TaZRz0l0w==}
'@serve.zone/interfaces@5.10.0':
resolution: {integrity: sha512-8ZnP1A43UZlYwfd2j+S0Yin//didacIX2Rou9MobRuSFFgi1RQOqQcIWqOINcDk80wBDuYkyMCwHygYxD5i+Ig==}
'@serve.zone/interfaces@5.9.0':
resolution: {integrity: sha512-XMXyTXTMcB8AX6zYOMO+Jt5bOv9ujyXj5miE6lrgyT8g+eJ/I6sUFqVNUKJ3LiMk/yFWsPln7HtZeZKDEhaCwQ==}
@@ -7776,6 +7779,12 @@ snapshots:
transitivePeerDependencies:
- '@push.rocks/smartserve'
'@serve.zone/interfaces@5.10.0':
dependencies:
'@api.global/typedrequest-interfaces': 3.0.19
'@push.rocks/smartlog-interfaces': 3.0.2
'@tsclass/tsclass': 9.5.1
'@serve.zone/interfaces@5.9.0':
dependencies:
'@api.global/typedrequest-interfaces': 3.0.19
+2 -4
View File
@@ -59,12 +59,10 @@ export class ClusterNode extends plugins.smartdata.SmartDataDbDoc<
public async updateSparkHeartbeat(
metricsArg: plugins.servezoneInterfaces.data.IClusterNodeMetrics,
runtimeInfoArg: Record<string, unknown>,
runtimeInfoArg: plugins.servezoneInterfaces.data.ISparkNodeRuntimeInfo,
) {
this.data.metrics = metricsArg;
(this.data as plugins.servezoneInterfaces.data.IClusterNode['data'] & {
sparkRuntimeInfo?: Record<string, unknown>;
}).sparkRuntimeInfo = runtimeInfoArg;
this.data.sparkRuntimeInfo = runtimeInfoArg;
this.data.status = 'online';
this.data.lastHealthCheck = Date.now();
if (typeof runtimeInfoArg.swarmNodeId === 'string' && runtimeInfoArg.swarmNodeId) {
+5 -2
View File
@@ -8,7 +8,7 @@ interface ISparkHeartbeatRequest {
nodeId?: string;
nodeToken?: string;
metrics?: plugins.servezoneInterfaces.data.IClusterNodeMetrics;
runtimeInfo?: Record<string, unknown>;
runtimeInfo?: plugins.servezoneInterfaces.data.ISparkNodeRuntimeInfo;
}
interface ISparkHeartbeatResponse {
@@ -223,7 +223,10 @@ export class CloudlyNodeManager {
&& typeof metrics.timestamp === 'number';
}
private isSparkRuntimeInfo(valueArg: unknown, nodeIdArg: string): valueArg is Record<string, unknown> {
private isSparkRuntimeInfo(
valueArg: unknown,
nodeIdArg: string,
): valueArg is plugins.servezoneInterfaces.data.ISparkNodeRuntimeInfo {
if (!valueArg || typeof valueArg !== 'object') {
return false;
}