You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

25 lines
718 B

const express = require('express');
require('dotenv').config()
const fs = require('fs');
const { execSync } = require('child_process');
const app = express()
app.use(express.json())
const cors = require('cors');
app.use(cors());
app.post('/prompt', (req, res)=>{
const resumeFlag = process.env.SESSIONID ? `--resume "${process.env.SESSIONID}"` : '';
const result = execSync(
`cd /home/matt/pathfinder && claude -p "${req.body.content}" ${resumeFlag} --output-format json --allowedTools "Bash(*)" "Read(*)" "Write(*)" "Edit(*)"`,
{ encoding: 'utf-8', timeout: 120000 }
);
fs.writeFileSync('.env', `SESSIONID="${JSON.parse(result).session_id}"`, 'utf8');
res.json(JSON.parse(result))
})
app.listen(3000);