28 lines
816 B
TypeScript
28 lines
816 B
TypeScript
import type { CliDeps } from "../../../cli/deps.js";
|
|
import { createDefaultDeps } from "../../../cli/deps.js";
|
|
import type { ClawdbotConfig } from "../../../config/config.js";
|
|
import { runBootOnce } from "../../../gateway/boot.js";
|
|
import type { HookHandler } from "../../hooks.js";
|
|
|
|
type BootHookContext = {
|
|
cfg?: ClawdbotConfig;
|
|
workspaceDir?: string;
|
|
deps?: CliDeps;
|
|
};
|
|
|
|
const runBootChecklist: HookHandler = async (event) => {
|
|
if (event.type !== "gateway" || event.action !== "startup") {
|
|
return;
|
|
}
|
|
|
|
const context = (event.context ?? {}) as BootHookContext;
|
|
if (!context.cfg || !context.workspaceDir) {
|
|
return;
|
|
}
|
|
|
|
const deps = context.deps ?? createDefaultDeps();
|
|
await runBootOnce({ cfg: context.cfg, deps, workspaceDir: context.workspaceDir });
|
|
};
|
|
|
|
export default runBootChecklist;
|