

















@@ -1,3 +1,6 @@
1+/**
2+ * Top-level CLI-backed agent runner orchestration.
3+ */
14import type { ReplyPayload } from "../auto-reply/reply-payload.js";
25import { SILENT_REPLY_TOKEN } from "../auto-reply/tokens.js";
36import { formatErrorMessage } from "../infra/errors.js";
@@ -44,10 +47,12 @@ const cliRunnerDeps = {
4447},
4548};
464950+/** Overrides top-level CLI runner dependencies for tests. */
4751export function setCliRunnerTestDeps(overrides: Partial<typeof cliRunnerDeps>): void {
4852Object.assign(cliRunnerDeps, overrides);
4953}
505455+/** Restores default top-level CLI runner dependencies after tests. */
5156export function restoreCliRunnerTestDeps(): void {
5257cliRunnerDeps.claudeCliSessionTranscriptHasContent = claudeCliSessionTranscriptHasContentImpl;
5358cliRunnerDeps.delay = async (delayMs: number) => {
@@ -80,6 +85,7 @@ function shouldRetryFreshCliSessionAfterFailover(params: {
8085}
8186}
828788+/** Checks whether a Claude CLI session binding has reached its transcript file. */
8389export async function isCliBindingFlushed(
8490sessionId: string | undefined,
8591provider: string | undefined,
@@ -281,6 +287,7 @@ async function finalizeCliContextEngineTurn(params: {
281287}
282288}
283289290+/** Prepares and runs one CLI-backed agent turn. */
284291export async function runCliAgent(params: RunCliAgentParams): Promise<EmbeddedAgentRunResult> {
285292// Cron gate must fire before prepareCliRunContext — that call allocates
286293// backend resources released only by runPreparedCliAgent's try…finally.
@@ -351,6 +358,7 @@ export async function runCliAgent(params: RunCliAgentParams): Promise<EmbeddedAg
351358}
352359}
353360361+/** Runs an already-prepared CLI agent context through hooks and execution. */
354362export async function runPreparedCliAgent(
355363context: PreparedCliRunContext,
356364): Promise<EmbeddedAgentRunResult> {
@@ -850,11 +858,13 @@ export async function runPreparedCliAgent(
850858}
851859}
852860861+/** Legacy Claude-specific wrapper params for the generic CLI runner. */
853862export type RunClaudeCliAgentParams = Omit<RunCliAgentParams, "provider" | "cliSessionId"> & {
854863provider?: string;
855864claudeSessionId?: string;
856865};
857866867+/** Converts legacy Claude CLI wrapper params into generic CLI runner params. */
858868export function buildRunClaudeCliAgentParams(params: RunClaudeCliAgentParams): RunCliAgentParams {
859869return {
860870sessionId: params.sessionId,
@@ -892,6 +902,7 @@ export function buildRunClaudeCliAgentParams(params: RunClaudeCliAgentParams): R
892902};
893903}
894904905+/** Runs the legacy Claude CLI wrapper through the generic CLI runner. */
895906export async function runClaudeCliAgent(
896907params: RunClaudeCliAgentParams,
897908): Promise<EmbeddedAgentRunResult> {
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。