const crypto = require('crypto'); const axios = require('axios'); const FormData = require('form-data'); function getApiKey() { const prefix = 'tryit'; const id = Math.floor(1e10 + Math.random() * 9e10).toString(); const hash = crypto.randomBytes(16).toString('hex'); return `${prefix}-${id}-${hash}`; } function cleanResponse(text) { if (!text) return ''; let cleaned = text.replace(/[\/\\]/g, ''); cleaned = cleaned.replace(/\n\s*\n/g, '\n\n'); cleaned = cleaned.replace(/([^\n])\n([^\n])/g, '$1 $2'); cleaned = cleaned.replace(/([^`])\s{2,}([^`])/g, '$1 $2'); return cleaned.trim(); } function formatCodeBlocks(text) { return text.replace(/```(\w+)?\s*([^`]+)```/g, (match, lang, code) => { const cleanedCode = code.replace(/\s{2,}/g, ' '); return `\`\`\`${lang || ''}\n${cleanedCode}\n\`\`\``; }); } async function deepai(input) { try { const form = new FormData(); form.append('chat_style', 'chat'); form.append('chatHistory', JSON.stringify([{ role: 'user', content: input }])); form.append('model', 'standard'); form.append('hacker_is_stinky', 'very_stinky'); const headers = { ...form.getHeaders(), 'api-key': getApiKey(), 'User-Agent': 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Mobile Safari/537.36', 'sec-ch-ua': '"Not)A;Brand";v="8", "Chromium";v="138", "Google Chrome";v="138"', 'sec-ch-ua-platform': '"Android"', 'Accept': '*/*', 'Origin': 'https://deepai.org', 'Referer': 'https://deepai.org/' }; const res = await axios.post('https://api.deepai.org/hacking_is_a_serious_crime', form, { headers, timeout: 30000 }); let rawResponse = ''; if (res.data?.output) rawResponse = res.data.output; else if (res.data?.text) rawResponse = res.data.text; else if (typeof res.data === 'string') rawResponse = res.data; if (!rawResponse) throw new Error("No response from DeepAI"); let cleaned = cleanResponse(rawResponse); cleaned = formatCodeBlocks(cleaned); return cleaned; } catch (error) { throw new Error(error.message); } } module.exports = { deepai };