UNPKG

jcrewai

Version:

Multi-agent automation framework written in TypeScript. Patterned after CrewAI.

39 lines (38 loc) 1.17 kB
"use strict"; 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;