Spaces:
Runtime error
Runtime error
read input file
Browse files- src/index.ts +21 -2
src/index.ts
CHANGED
|
@@ -1,15 +1,34 @@
|
|
| 1 |
import "dotenv/config";
|
|
|
|
|
|
|
|
|
|
| 2 |
|
| 3 |
import { auditorAgent } from "./agents/auditor/agent.ts";
|
| 4 |
import { coderAgent } from "./agents/coder/agent.ts";
|
| 5 |
import { testerAgent } from "./agents/tester/agent.ts";
|
| 6 |
|
| 7 |
-
const
|
| 8 |
|
| 9 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 10 |
console.log("======= Coder =======");
|
| 11 |
console.log(coderResult.contract);
|
| 12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 13 |
const auditorResult = await auditorAgent.invoke({ solidityFile: coderResult.contract });
|
| 14 |
console.log("\n======= Auditor =======");
|
| 15 |
console.log(auditorResult.vulnerabilities);
|
|
|
|
| 1 |
import "dotenv/config";
|
| 2 |
+
import { readFileSync, mkdirSync, writeFileSync } from "node:fs";
|
| 3 |
+
import { resolve, dirname } from "node:path";
|
| 4 |
+
import { fileURLToPath } from "node:url";
|
| 5 |
|
| 6 |
import { auditorAgent } from "./agents/auditor/agent.ts";
|
| 7 |
import { coderAgent } from "./agents/coder/agent.ts";
|
| 8 |
import { testerAgent } from "./agents/tester/agent.ts";
|
| 9 |
|
| 10 |
+
const inputPath = process.argv[2];
|
| 11 |
|
| 12 |
+
if (!inputPath) {
|
| 13 |
+
console.log("Uso: npm start -- <caminho-do-arquivo-de-requisitos>");
|
| 14 |
+
console.log("Exemplo: npm start -- input/requirements.md");
|
| 15 |
+
process.exit(1);
|
| 16 |
+
}
|
| 17 |
+
|
| 18 |
+
const requirementsText = readFileSync(resolve(inputPath), "utf-8");
|
| 19 |
+
console.log("Requisitos carregados de:", inputPath);
|
| 20 |
+
|
| 21 |
+
const coderResult = await coderAgent.invoke({ requirements: [requirementsText] });
|
| 22 |
console.log("======= Coder =======");
|
| 23 |
console.log(coderResult.contract);
|
| 24 |
|
| 25 |
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
| 26 |
+
const outputDir = resolve(__dirname, "agents/coder/outputs");
|
| 27 |
+
mkdirSync(outputDir, { recursive: true });
|
| 28 |
+
const outputPath = resolve(outputDir, "Contract.sol");
|
| 29 |
+
writeFileSync(outputPath, coderResult.contract, "utf-8");
|
| 30 |
+
console.log("\nContrato salvo em:", outputPath);
|
| 31 |
+
|
| 32 |
const auditorResult = await auditorAgent.invoke({ solidityFile: coderResult.contract });
|
| 33 |
console.log("\n======= Auditor =======");
|
| 34 |
console.log(auditorResult.vulnerabilities);
|