mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-06 05:30:42 +00:00
fix(agents): use captured cli lifecycle hook runner
This commit is contained in:
@@ -205,6 +205,7 @@ export async function runPreparedCliAgent(
|
||||
...(output.usage ? { usage: output.usage } : {}),
|
||||
},
|
||||
ctx: hookContext,
|
||||
hookRunner,
|
||||
});
|
||||
}
|
||||
return { output, assistantText, lastAssistant };
|
||||
@@ -290,6 +291,7 @@ export async function runPreparedCliAgent(
|
||||
runAgentHarnessLlmInputHook({
|
||||
event: llmInputEvent,
|
||||
ctx: hookContext,
|
||||
hookRunner,
|
||||
});
|
||||
try {
|
||||
const { output, lastAssistant } = await executeCliAttempt(
|
||||
@@ -303,6 +305,7 @@ export async function runPreparedCliAgent(
|
||||
durationMs: Date.now() - context.started,
|
||||
},
|
||||
ctx: hookContext,
|
||||
hookRunner,
|
||||
});
|
||||
return buildCliRunResult({ output, effectiveCliSessionId });
|
||||
} catch (err) {
|
||||
@@ -325,6 +328,7 @@ export async function runPreparedCliAgent(
|
||||
durationMs: Date.now() - context.started,
|
||||
},
|
||||
ctx: hookContext,
|
||||
hookRunner,
|
||||
});
|
||||
return buildCliRunResult({ output, effectiveCliSessionId });
|
||||
} catch (retryErr) {
|
||||
@@ -332,6 +336,7 @@ export async function runPreparedCliAgent(
|
||||
runAgentHarnessAgentEndHook({
|
||||
event: buildFailedAgentEndEvent(retryMessage),
|
||||
ctx: hookContext,
|
||||
hookRunner,
|
||||
});
|
||||
return toCliRunFailure(retryErr);
|
||||
}
|
||||
@@ -339,6 +344,7 @@ export async function runPreparedCliAgent(
|
||||
runAgentHarnessAgentEndHook({
|
||||
event: buildFailedAgentEndEvent(formatErrorMessage(err)),
|
||||
ctx: hookContext,
|
||||
hookRunner,
|
||||
});
|
||||
throw err;
|
||||
}
|
||||
@@ -346,6 +352,7 @@ export async function runPreparedCliAgent(
|
||||
runAgentHarnessAgentEndHook({
|
||||
event: buildFailedAgentEndEvent(message),
|
||||
ctx: hookContext,
|
||||
hookRunner,
|
||||
});
|
||||
return toCliRunFailure(err);
|
||||
}
|
||||
|
||||
@@ -9,11 +9,14 @@ import { buildAgentHookContext, type AgentHarnessHookContext } from "./hook-cont
|
||||
|
||||
const log = createSubsystemLogger("agents/harness");
|
||||
|
||||
type AgentHarnessHookRunner = ReturnType<typeof getGlobalHookRunner>;
|
||||
|
||||
export function runAgentHarnessLlmInputHook(params: {
|
||||
event: PluginHookLlmInputEvent;
|
||||
ctx: AgentHarnessHookContext;
|
||||
hookRunner?: AgentHarnessHookRunner;
|
||||
}): void {
|
||||
const hookRunner = getGlobalHookRunner();
|
||||
const hookRunner = params.hookRunner ?? getGlobalHookRunner();
|
||||
if (!hookRunner?.hasHooks("llm_input")) {
|
||||
return;
|
||||
}
|
||||
@@ -25,8 +28,9 @@ export function runAgentHarnessLlmInputHook(params: {
|
||||
export function runAgentHarnessLlmOutputHook(params: {
|
||||
event: PluginHookLlmOutputEvent;
|
||||
ctx: AgentHarnessHookContext;
|
||||
hookRunner?: AgentHarnessHookRunner;
|
||||
}): void {
|
||||
const hookRunner = getGlobalHookRunner();
|
||||
const hookRunner = params.hookRunner ?? getGlobalHookRunner();
|
||||
if (!hookRunner?.hasHooks("llm_output")) {
|
||||
return;
|
||||
}
|
||||
@@ -38,8 +42,9 @@ export function runAgentHarnessLlmOutputHook(params: {
|
||||
export function runAgentHarnessAgentEndHook(params: {
|
||||
event: PluginHookAgentEndEvent;
|
||||
ctx: AgentHarnessHookContext;
|
||||
hookRunner?: AgentHarnessHookRunner;
|
||||
}): void {
|
||||
const hookRunner = getGlobalHookRunner();
|
||||
const hookRunner = params.hookRunner ?? getGlobalHookRunner();
|
||||
if (!hookRunner?.hasHooks("agent_end")) {
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user