jcrewai
Version:
Multi-agent automation framework written in TypeScript. Patterned after CrewAI.
25 lines (24 loc) • 778 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.agent = agent;
exports.task = task;
exports.crew = crew;
exports.llm = llm;
require("reflect-metadata");
function agent(target, propertyKey) {
setMetadata('agent:methods', target, propertyKey);
}
function task(target, propertyKey) {
setMetadata('task:methods', target, propertyKey);
}
function crew(target, propertyKey) {
setMetadata('crew:methods', target, propertyKey);
}
function llm(target, propertyKey) {
setMetadata('llm:methods', target, propertyKey);
}
function setMetadata(metadataKey, target, propertyKey) {
const methods = Reflect.getMetadata(metadataKey, target) ?? [];
methods.push(propertyKey);
Reflect.defineMetadata(metadataKey, methods, target);
}