From 10113f6ec6ddfd98f2216611aba30dad9f09a3a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E6=A9=98?= Date: Sun, 7 Jun 2026 11:44:29 +0000 Subject: [PATCH] chore(cli): clean up step-ask nits from PR #156 review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Remove dead-code detailRef null guards (already validated upstream) - Fix ?: to explicit T | null on external error type boundary - Drop unnecessary async from resolveAskWorkflow (no await) - Simplify double negation: opts.fork !== false → opts.fork Refs #146 --- packages/cli/src/cli.ts | 2 +- packages/cli/src/commands/step.ts | 17 +++++------------ 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/packages/cli/src/cli.ts b/packages/cli/src/cli.ts index 62b726e..02b899d 100755 --- a/packages/cli/src/cli.ts +++ b/packages/cli/src/cli.ts @@ -409,7 +409,7 @@ step const stdout = await cmdStepAsk(storageRoot, stepHash as CasRef, { prompt: opts.prompt, agentOverride: opts.agent ?? null, - fork: opts.fork !== false, + fork: opts.fork, }); process.stdout.write(stdout.endsWith("\n") ? stdout : `${stdout}\n`); }); diff --git a/packages/cli/src/commands/step.ts b/packages/cli/src/commands/step.ts index e7d1fe3..f5f5264 100644 --- a/packages/cli/src/commands/step.ts +++ b/packages/cli/src/commands/step.ts @@ -441,7 +441,7 @@ function spawnAskAgent(agent: AgentConfig, argv: string[], cwd: string): { stdou }); return { stdout }; } catch (e) { - const err = e as NodeJS.ErrnoException & { stderr?: Buffer | string | null }; + const err = e as NodeJS.ErrnoException & { stderr: Buffer | string | null }; if (err.code === "ENOENT") { fail( `"${agent.command}" not found in PATH. Install it or check your PATH config. Run: which ${agent.command}`, @@ -458,10 +458,7 @@ function spawnAskAgent(agent: AgentConfig, argv: string[], cwd: string): { stdou } } -async function resolveAskWorkflow( - uwf: UwfStore, - payload: StepNodePayload, -): Promise { +function resolveAskWorkflow(uwf: UwfStore, payload: StepNodePayload): WorkflowPayload | null { const startNode = uwf.store.cas.get(payload.start); if (startNode === null) { return null; @@ -529,7 +526,7 @@ export async function cmdStepAsk( const detailRef = payload.detail; const { sessionId: sourceSessionId } = loadDetailNode(uwf.store.cas, detailRef); - const workflow = await resolveAskWorkflow(uwf, payload); + const workflow = resolveAskWorkflow(uwf, payload); const config = await loadWorkflowConfig(storageRoot); const agent = resolveAskAgentConfig( config, @@ -553,18 +550,14 @@ export async function cmdStepAsk( cwd, ); const argv = ["--mode", "ask", "--session", askSessionId, "--prompt", options.prompt]; - if (detailRef !== null) { - argv.push("--detail", detailRef); - } + argv.push("--detail", detailRef); const { stdout } = spawnAskAgent(agent, argv, cwd); return stdout; } // Fallback path: ask without forking; inject detail ref for context. const argv = ["--mode", "ask", "--prompt", options.prompt]; - if (detailRef !== null) { - argv.push("--detail", detailRef); - } + argv.push("--detail", detailRef); const { stdout } = spawnAskAgent(agent, argv, cwd); return stdout; } -- 2.43.0