feat: show live HWLAB build metadata

This commit is contained in:
Code Queue Review
2026-05-23 18:24:32 +00:00
parent ba3e494017
commit 6eef6351f4
16 changed files with 1018 additions and 46 deletions
+5 -13
View File
@@ -1,6 +1,7 @@
#!/usr/bin/env node
import { createServer } from "node:http";
import { buildMetadataFromEnv } from "../../internal/build-metadata.mjs";
import {
AGENT_MGR_SERVICE_ID,
createSkillsManifest
@@ -155,6 +156,9 @@ function createHealthResponse(opts) {
return {
serviceId: AGENT_MGR_SERVICE_ID,
ok: true,
status: health.status,
environment: process.env.HWLAB_ENVIRONMENT || "dev",
...buildMetadataFromEnv(process.env, { serviceId: AGENT_MGR_SERVICE_ID }),
health,
skillsManifest: managerSkills.status === "ready"
? createSkillsManifest({ commitId: managerSkills.commitId, version: managerSkills.version })
@@ -171,19 +175,7 @@ async function serveHealth(opts) {
const server = createServer((request, response) => {
const url = new URL(request.url || "/", "http://hwlab-agent-mgr.local");
if (url.pathname === "/health" || url.pathname === "/health/live") {
sendJson(response, 200, {
...createHealthResponse(opts),
environment: process.env.HWLAB_ENVIRONMENT || "dev",
commit: {
id: process.env.HWLAB_COMMIT_ID || "unknown",
source: "runtime-env"
},
image: {
reference: process.env.HWLAB_IMAGE || "unknown",
tag: process.env.HWLAB_IMAGE_TAG || "unknown",
digest: process.env.HWLAB_IMAGE_DIGEST || "unknown"
}
});
sendJson(response, 200, createHealthResponse(opts));
return;
}
if (url.pathname === "/" || url.pathname === "/help") {
+4
View File
@@ -1,4 +1,5 @@
#!/usr/bin/env node
import { buildMetadataFromEnv } from "../../internal/build-metadata.mjs";
import { AGENT_WORKER_SERVICE_ID } from "../../internal/agent/index.mjs";
import {
assessSkillsInjection,
@@ -35,6 +36,9 @@ async function dispatch(name, opts) {
return {
serviceId: AGENT_WORKER_SERVICE_ID,
ok: true,
status: "ok",
environment: process.env.HWLAB_ENVIRONMENT || "dev",
...buildMetadataFromEnv(process.env, { serviceId: AGENT_WORKER_SERVICE_ID }),
runtimeMode: "local-dry-run",
skills: assessSkillsInjection({
skillCommitId: opts.skillCommitId,