openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
38 lines (37 loc) • 1.49 kB
JavaScript
import { s as getGatewayRestartDrainSignal } from "./gateway-work-admission-R1IpuDim.js";
import { o as prepareSystemAgentRunAdmission } from "./admitted-run-context-CHY5SdVF.js";
import { t as createBackgroundWorkOwner } from "./background-work-DAaUk-Kp.js";
//#region src/skills/workshop/review-run.ts
const reviews = createBackgroundWorkOwner({
owner: "core:skill-workshop",
maxConcurrent: 1
});
/** All Workshop reviewers share admission, model locking, and background capacity. */
async function runSkillWorkshopReview(params) {
const { reviewKind, ...runParams } = params;
const restartSignal = getGatewayRestartDrainSignal();
const abortSignal = params.abortSignal ? AbortSignal.any([restartSignal, params.abortSignal]) : restartSignal;
abortSignal.throwIfAborted();
const preparedRunAdmission = prepareSystemAgentRunAdmission(params.config, params.runId, params.agentId, `skill-workshop.${reviewKind}`);
try {
const { runEmbeddedAgent } = await import("./embedded-agent-CUhbhIMN.js");
return await runEmbeddedAgent({
...runParams,
preparedRunAdmission,
abortSignal,
lane: reviews.lane,
agentHarnessId: "openclaw",
agentHarnessRuntimeOverride: "openclaw",
modelSelectionLocked: true,
modelFallbacksOverride: [],
disableTrajectory: true,
skillWorkshopProposalOnly: true,
cleanupBundleMcpOnRunEnd: true,
verboseLevel: "off"
});
} finally {
preparedRunAdmission.close();
}
}
//#endregion
export { runSkillWorkshopReview as t };