UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

43 lines (42 loc) 1.68 kB
import { t as createSubsystemLogger } from "./subsystem-Dy2tqXOS.js"; import { m as consumeRunSkillUsage } from "./agent-tools.before-tool-call-Bb7DJuFB.js"; import { r as runAgentHarnessAgentEndHook, t as awaitAgentHarnessAgentEndHook } from "./lifecycle-hook-helpers-Cpmpoz3T.js"; //#region src/agents/harness/agent-end-side-effects.ts /** * Agent-end side effect runner. * * Harnesses use this to trigger skill experience review and plugin agent_end hooks * either fire-and-forget or awaited during tests/shutdown. */ const log = createSubsystemLogger("agents/harness"); async function runCoreAgentEndSideEffects(params) { const usedSkills = consumeRunSkillUsage(params.ctx.runId); if (!params.ctx.foregroundPromptContext) return; const ctx = { ...params.ctx, foregroundPromptContext: params.ctx.foregroundPromptContext }; try { const { scheduleSkillExperienceReview } = await import("./experience-review-default-BYTLX3tU.js"); scheduleSkillExperienceReview({ event: params.event, ctx, usedSkills, ...params.ctx.config ? { config: params.ctx.config } : {} }); } catch (error) { log.warn(`skill experience review scheduling failed: ${String(error)}`); } } /** Starts agent-end side effects without waiting for completion. */ function runAgentEndSideEffects(params) { runCoreAgentEndSideEffects(params); runAgentHarnessAgentEndHook(params); } /** Runs agent-end side effects and waits for plugin/core completion. */ async function awaitAgentEndSideEffects(params) { await runCoreAgentEndSideEffects(params); await awaitAgentHarnessAgentEndHook(params); } //#endregion export { runAgentEndSideEffects as n, awaitAgentEndSideEffects as t };