fix: drives

This commit is contained in:
Shivering Ocelot committed 2026-10-14 02:01:34 -05:00
1 parent 0d79b1f706
commit b74f7cd3d9
11 files changed
+598 -16

No files matched your search

+62
View File
@@ -0,0 +1,62 @@
import fs from 'node:fs';
import path from 'node:path';
const system = `Your goal is to write a research report based on the given prompt.
Use the \`submit-report\` function when you have gathered all information.
You can only read from \`docs\` and from the source code directories \`backend/src\` and \`frontend/src\`. Exploration in any other location is forbidden.
Only read up to 10 files. If more context is needed, submit the report regardless with all the information available. This is the breakpoint to work iteratively wit hthe user
Note: task is terminated after 20 turns, reasoning traces are not persisted after agent turns.
`;
function resolvePrompt (input) {
if (input.prompt) return input.prompt;
const candidates = ['prompt.md', 'prompt.txt', 'prompt'];
for (const name of candidates) {
const file = path.resolve(Gral.path, '.gral', name);
if (fs.existsSync(file)) {
return fs.readFileSync(file, 'utf8');
}
}
throw new Error("Prompt required.");
}
function writeReport(content) {
fs.writeFileSync(path.resolve(Gral.path, '.gral/report.md'), content);
}
export default async function research (input) {
const prompt = resolvePrompt(input);
let done = false;
let res = await Gral.run({
instruction: system,
input: prompt,
agentId: 7,
tools: [{
name: 'submit-report',
description: 'Submit a markdown report as your task deliverable.',
parameters: {
type: 'object',
properties: {
content: { type: 'string' },
},
required: ['content'],
},
handler: (args) => {
done = true;
writeReport(args.content);
}
}],
read: ['docs', 'frontend/src', 'backend/src'],
write: [],
defaultTools: ['list-dir', 'read-file', 'find-files', 'search-files'],
maxIter: 99,
verify: () => done,
});
console.log(res);
};