taskforce-aiagent
Version:
TaskForce is a modular, open-source, production-ready TypeScript agent framework for orchestrating AI agents, LLM-powered autonomous agents, task pipelines, dynamic toolchains, RAG workflows and memory/retrieval systems.
35 lines (34 loc) • 1.59 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.defaultTrainingPath = defaultTrainingPath;
exports.trainAgent = trainAgent;
exports.loadTraining = loadTraining;
const fs_1 = __importDefault(require("fs"));
const path_1 = __importDefault(require("path"));
const DEFAULT_TRAINED_AGENT_DIR = "trainings";
function defaultTrainingPath(agentName) {
return path_1.default.join(process.cwd(), DEFAULT_TRAINED_AGENT_DIR, `${agentName.replace(/\s+/g, "_").toLowerCase()}_trained.json`);
}
async function trainAgent(agent, trainingExamples, outputPath) {
const suggestions = trainingExamples.flatMap((e) => e.humanFeedback ? [`Improve based on: ${e.humanFeedback}`] : []);
const quality = 8.5; // Placeholder for actual evaluation logic
const final_summary = `Trained on ${trainingExamples.length} feedback examples.`;
const trainingResult = {
suggestions,
quality,
final_summary,
};
const outPath = outputPath || defaultTrainingPath(agent.name);
fs_1.default.writeFileSync(outPath, JSON.stringify(trainingResult, null, 2), "utf-8");
console.log(`✅ Trained data saved for agent ${agent.name} → ${outPath}`);
}
function loadTraining(agentName) {
const pathToFile = defaultTrainingPath(agentName);
if (!fs_1.default.existsSync(pathToFile))
return null;
const raw = fs_1.default.readFileSync(pathToFile, "utf-8");
return JSON.parse(raw);
}