perf(claude-code-hooks): defer config loading until after disabled check
Move loadClaudeHooksConfig and loadPluginExtendedConfig after isHookDisabled check in both tool-execute-before and tool-execute-after handlers to skip 5 file reads per tool call when hooks are disabled (C1)
This commit is contained in:
@@ -79,8 +79,6 @@ export function createToolExecuteAfterHandler(ctx: PluginInput, config: PluginCo
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
const claudeConfig = await loadClaudeHooksConfig()
|
|
||||||
const extendedConfig = await loadPluginExtendedConfig()
|
|
||||||
|
|
||||||
const cachedInput = getToolInput(input.sessionID, input.tool, input.callID) || {}
|
const cachedInput = getToolInput(input.sessionID, input.tool, input.callID) || {}
|
||||||
|
|
||||||
@@ -96,6 +94,9 @@ export function createToolExecuteAfterHandler(ctx: PluginInput, config: PluginCo
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const claudeConfig = await loadClaudeHooksConfig()
|
||||||
|
const extendedConfig = await loadPluginExtendedConfig()
|
||||||
|
|
||||||
const postClient: PostToolUseClient = {
|
const postClient: PostToolUseClient = {
|
||||||
session: {
|
session: {
|
||||||
messages: (opts) => ctx.client.session.messages(opts),
|
messages: (opts) => ctx.client.session.messages(opts),
|
||||||
|
|||||||
@@ -43,8 +43,6 @@ export function createToolExecuteBeforeHandler(ctx: PluginInput, config: PluginC
|
|||||||
log("todowrite: parsed todos string to array", { sessionID: input.sessionID })
|
log("todowrite: parsed todos string to array", { sessionID: input.sessionID })
|
||||||
}
|
}
|
||||||
|
|
||||||
const claudeConfig = await loadClaudeHooksConfig()
|
|
||||||
const extendedConfig = await loadPluginExtendedConfig()
|
|
||||||
|
|
||||||
appendTranscriptEntry(input.sessionID, {
|
appendTranscriptEntry(input.sessionID, {
|
||||||
type: "tool_use",
|
type: "tool_use",
|
||||||
@@ -59,6 +57,9 @@ export function createToolExecuteBeforeHandler(ctx: PluginInput, config: PluginC
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const claudeConfig = await loadClaudeHooksConfig()
|
||||||
|
const extendedConfig = await loadPluginExtendedConfig()
|
||||||
|
|
||||||
const preCtx: PreToolUseContext = {
|
const preCtx: PreToolUseContext = {
|
||||||
sessionId: input.sessionID,
|
sessionId: input.sessionID,
|
||||||
toolName: input.tool,
|
toolName: input.tool,
|
||||||
|
|||||||
Reference in New Issue
Block a user