@autobe/agent
Version:
AI backend server code generator
61 lines • 2.5 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.AutoBeTokenUsage = void 0;
const core_1 = require("@agentica/core");
class AutoBeTokenUsage {
constructor(props) {
if (props === undefined) {
this.facade = new core_1.AgenticaTokenUsage();
this.analyze = new core_1.AgenticaTokenUsage();
this.prisma = new core_1.AgenticaTokenUsage();
this.interface = new core_1.AgenticaTokenUsage();
this.test = new core_1.AgenticaTokenUsage();
this.realize = new core_1.AgenticaTokenUsage();
return;
}
this.facade = new core_1.AgenticaTokenUsage(props.facade);
this.analyze = new core_1.AgenticaTokenUsage(props.analyze);
this.prisma = new core_1.AgenticaTokenUsage(props.prisma);
this.interface = new core_1.AgenticaTokenUsage(props.interface);
this.test = new core_1.AgenticaTokenUsage(props.test);
this.realize = new core_1.AgenticaTokenUsage(props.realize);
}
record(usage, additionalStages = []) {
this.facade.increment(usage);
additionalStages.forEach((stage) => {
this[stage].increment(usage);
});
}
increment(usage) {
AutoBeTokenUsage.keys().forEach((key) => {
this[key].increment(usage[key]);
});
return this;
}
static plus(usageA, usageB) {
return new AutoBeTokenUsage({
facade: core_1.AgenticaTokenUsage.plus(usageA.facade, usageB.facade),
analyze: core_1.AgenticaTokenUsage.plus(usageA.analyze, usageB.analyze),
prisma: core_1.AgenticaTokenUsage.plus(usageA.prisma, usageB.prisma),
interface: core_1.AgenticaTokenUsage.plus(usageA.interface, usageB.interface),
test: core_1.AgenticaTokenUsage.plus(usageA.test, usageB.test),
realize: core_1.AgenticaTokenUsage.plus(usageA.realize, usageB.realize),
});
}
toJSON() {
return {
facade: this.facade.toJSON(),
analyze: this.analyze.toJSON(),
prisma: this.prisma.toJSON(),
interface: this.interface.toJSON(),
test: this.test.toJSON(),
realize: this.realize.toJSON(),
};
}
/** @internal */
static keys() {
return ["facade", "analyze", "prisma", "interface", "test", "realize"];
}
}
exports.AutoBeTokenUsage = AutoBeTokenUsage;
//# sourceMappingURL=AutoBeTokenUsage.js.map