File size: 1,331 Bytes
fc93158 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | import { listAgentIds, resolveAgentWorkspaceDir } from "../../../agents/agent-scope.js";
import { createDefaultDeps } from "../../../cli/deps.js";
import { runBootOnce } from "../../../gateway/boot.js";
import { createSubsystemLogger } from "../../../logging/subsystem.js";
import type { HookHandler } from "../../hooks.js";
import { isGatewayStartupEvent } from "../../internal-hooks.js";
const log = createSubsystemLogger("hooks/boot-md");
const runBootChecklist: HookHandler = async (event) => {
if (!isGatewayStartupEvent(event)) {
return;
}
if (!event.context.cfg) {
return;
}
const cfg = event.context.cfg;
const deps = event.context.deps ?? createDefaultDeps();
const agentIds = listAgentIds(cfg);
for (const agentId of agentIds) {
const workspaceDir = resolveAgentWorkspaceDir(cfg, agentId);
const result = await runBootOnce({ cfg, deps, workspaceDir, agentId });
if (result.status === "failed") {
log.warn("boot-md failed for agent startup run", {
agentId,
workspaceDir,
reason: result.reason,
});
continue;
}
if (result.status === "skipped") {
log.debug("boot-md skipped for agent startup run", {
agentId,
workspaceDir,
reason: result.reason,
});
}
}
};
export default runBootChecklist;
|