fix(comment-checker): defer CLI download and cleanup scheduler to first tool call

This commit is contained in:
Sisyphus
2026-04-18 14:09:43 +09:00
parent 493e37bb7d
commit e599840fba
2 changed files with 13 additions and 3 deletions
+6 -3
View File
@@ -28,6 +28,7 @@ import {
stopPendingCallCleanup, stopPendingCallCleanup,
takePendingCall, takePendingCall,
} from "./pending-calls" } from "./pending-calls"
import { ensureCommentCheckerInitialization } from "./initialization-gate"
import * as fs from "fs" import * as fs from "fs"
import { tmpdir } from "os" import { tmpdir } from "os"
@@ -48,14 +49,16 @@ function debugLog(...args: unknown[]) {
export function createCommentCheckerHooks(config?: CommentCheckerConfig) { export function createCommentCheckerHooks(config?: CommentCheckerConfig) {
debugLog("createCommentCheckerHooks called", { config }) debugLog("createCommentCheckerHooks called", { config })
startPendingCallCleanup()
initializeCommentCheckerCli(debugLog)
return { return {
"tool.execute.before": async ( "tool.execute.before": async (
input: { tool: string; sessionID: string; callID: string }, input: { tool: string; sessionID: string; callID: string },
output: { args: Record<string, unknown> }, output: { args: Record<string, unknown> },
): Promise<void> => { ): Promise<void> => {
ensureCommentCheckerInitialization(() => {
startPendingCallCleanup()
initializeCommentCheckerCli(debugLog)
})
debugLog("tool.execute.before:", { debugLog("tool.execute.before:", {
tool: input.tool, tool: input.tool,
callID: input.callID, callID: input.callID,
@@ -0,0 +1,7 @@
let initialized = false
export function ensureCommentCheckerInitialization(initializer: () => void): void {
if (initialized) return
initialized = true
initializer()
}