mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-17 12:11:20 +00:00
58 lines
1.8 KiB
TypeScript
58 lines
1.8 KiB
TypeScript
import { resolveStatusUpdateChannelInfo } from "./status-all/format.js";
|
|
import {
|
|
buildStatusGatewayJsonPayloadFromSurface,
|
|
type StatusOverviewSurface,
|
|
} from "./status-overview-surface.ts";
|
|
|
|
export { resolveStatusUpdateChannelInfo } from "./status-all/format.js";
|
|
|
|
export function buildStatusJsonPayload(params: {
|
|
summary: Record<string, unknown>;
|
|
surface: StatusOverviewSurface;
|
|
osSummary: unknown;
|
|
memory: unknown;
|
|
memoryPlugin: unknown;
|
|
agents: unknown;
|
|
secretDiagnostics: string[];
|
|
securityAudit?: unknown;
|
|
health?: unknown;
|
|
usage?: unknown;
|
|
lastHeartbeat?: unknown;
|
|
pluginCompatibility?: Array<Record<string, unknown>> | null | undefined;
|
|
}) {
|
|
const channelInfo = resolveStatusUpdateChannelInfo({
|
|
updateConfigChannel: params.surface.cfg.update?.channel ?? undefined,
|
|
update: params.surface.update,
|
|
});
|
|
return {
|
|
...params.summary,
|
|
os: params.osSummary,
|
|
update: params.surface.update,
|
|
updateChannel: channelInfo.channel,
|
|
updateChannelSource: channelInfo.source,
|
|
memory: params.memory,
|
|
memoryPlugin: params.memoryPlugin,
|
|
gateway: buildStatusGatewayJsonPayloadFromSurface({ surface: params.surface }),
|
|
gatewayService: params.surface.gatewayService,
|
|
nodeService: params.surface.nodeService,
|
|
agents: params.agents,
|
|
secretDiagnostics: params.secretDiagnostics,
|
|
...(params.securityAudit ? { securityAudit: params.securityAudit } : {}),
|
|
...(params.pluginCompatibility
|
|
? {
|
|
pluginCompatibility: {
|
|
count: params.pluginCompatibility.length,
|
|
warnings: params.pluginCompatibility,
|
|
},
|
|
}
|
|
: {}),
|
|
...(params.health || params.usage || params.lastHeartbeat
|
|
? {
|
|
health: params.health,
|
|
usage: params.usage,
|
|
lastHeartbeat: params.lastHeartbeat,
|
|
}
|
|
: {}),
|
|
};
|
|
}
|