jcrewai
Version:
Multi-agent automation framework written in TypeScript. Patterned after CrewAI.
39 lines (38 loc) • 1.17 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Prompts = void 0;
class Prompts {
constructor(agent, i18n, hasTools = false) {
this.agent = agent;
this.i18n = i18n;
this.hasTools = hasTools;
}
taskExecution() {
const slices = ['role_playing'];
if (this.hasTools) {
slices.push('tools');
}
else {
slices.push('no_tools');
}
const system = this.buildPrompt(slices);
slices.push('task');
return {
system: system,
user: this.buildPrompt(['task']),
prompt: this.buildPrompt(slices)
};
}
buildPrompt(components) {
const promptParts = [];
for (const component of components) {
promptParts.push(this.i18n.slice(component));
}
let prompt = promptParts.join('');
prompt = prompt.replaceAll('{role}', this.agent.role);
prompt = prompt.replaceAll('{goal}', this.agent.goal);
prompt = prompt.replaceAll('{backstory}', this.agent.backstory);
return prompt;
}
}
exports.Prompts = Prompts;