Fix call to Claude Code CLI

This commit is contained in:
Brian McKenna 2026-02-15 23:42:24 +11:00
parent 106a44571c
commit 066d38d738

View File

@ -11,10 +11,7 @@ import Data.ByteString.Lazy qualified as BL
import Data.Text (Text)
import Data.Text qualified as T
import Data.Text.Encoding qualified as TE
import Data.Text.IO qualified as TIO
import System.Directory (getTemporaryDirectory, removeFile)
import System.Exit (ExitCode (..))
import System.FilePath ((</>))
import System.Process (readProcessWithExitCode)
data ReviewOutput = ReviewOutput
@ -68,20 +65,12 @@ reviewJsonSchema = unlines
invokeClaudeReview :: Text -> IO (Either String ReviewOutput)
invokeClaudeReview prompt = do
tmpDir <- getTemporaryDirectory
let promptFile = tmpDir </> "claude-review-prompt.txt"
schemaFile = tmpDir </> "claude-review-schema.json"
TIO.writeFile promptFile prompt
writeFile schemaFile reviewJsonSchema
(exitCode, stdout, stderr_) <- readProcessWithExitCode "claude"
[ "-p"
[ "-p", T.unpack prompt
, "--output-format", "json"
, "--max-turns", "1"
, "--prompt-file", promptFile
, "--json-schema", schemaFile
, "--json-schema", reviewJsonSchema
] ""
removeFile promptFile
removeFile schemaFile
case exitCode of
ExitSuccess -> pure $ parseClaudeJsonOutput stdout
ExitFailure code ->
@ -89,16 +78,11 @@ invokeClaudeReview prompt = do
invokeClaudeReply :: Text -> IO (Either String Text)
invokeClaudeReply prompt = do
tmpDir <- getTemporaryDirectory
let promptFile = tmpDir </> "claude-reply-prompt.txt"
TIO.writeFile promptFile prompt
(exitCode, stdout, stderr_) <- readProcessWithExitCode "claude"
[ "-p"
[ "-p", T.unpack prompt
, "--output-format", "json"
, "--max-turns", "1"
, "--prompt-file", promptFile
] ""
removeFile promptFile
case exitCode of
ExitSuccess -> pure $ parseClaudeTextOutput stdout
ExitFailure code ->