openskynet / src /hooks /bundled /boot-md /handler.ts
Darochin's picture
Mirror OpenSkyNet workspace snapshot from Git HEAD
fc93158 verified
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;