UNPKG

@autobe/agent

Version:

AI backend server code generator

61 lines 2.5 kB
"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