Fix call to Claude Code CLI
This commit is contained in:
parent
106a44571c
commit
066d38d738
@ -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 ->
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user