scai
Version:
> **A local-first AI CLI for understanding, querying, and iterating on large codebases.** > **100% local • No token costs • No cloud • No prompt injection • Private by design**
27 lines (26 loc) • 798 B
JavaScript
import { runAskCommand } from '../commands/AskCmd.js';
import { getLockedRepo, isDaemonRunning, startDaemon, stopDaemon } from '../commands/DaemonCmd.js';
import { Config } from '../config.js';
import { updateContext } from '../context.js';
export async function runQueryWithDaemonControl(query) {
const ok = await updateContext();
if (!ok)
return;
const cfg = Config.getRaw();
const activeRepo = cfg.activeRepo;
const lockedRepo = getLockedRepo();
const shouldPauseDaemon = isDaemonRunning() &&
activeRepo &&
lockedRepo === activeRepo;
if (shouldPauseDaemon) {
await stopDaemon();
}
try {
await runAskCommand(query);
}
finally {
if (shouldPauseDaemon) {
await startDaemon();
}
}
}