giga-code
Version:
A personal AI CLI assistant powered by Grok for local development.
39 lines • 1.24 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ConversationTokenTracker = void 0;
const token_counter_1 = require("./token-counter");
class ConversationTokenTracker {
constructor(options) {
this.currentTokens = 0;
this.conversationId = null;
this.model = options.model;
this.maxTokens = options.maxTokens;
this.tokenCounter = (0, token_counter_1.createTokenCounter)(this.model);
}
startNewConversation(conversationId) {
this.conversationId = conversationId;
this.reset();
}
addTokens(text) {
const tokenCount = this.tokenCounter.countTokens(text);
this.currentTokens += tokenCount;
return tokenCount;
}
reset() {
this.currentTokens = 0;
}
get a() {
return {
current: this.currentTokens,
max: this.maxTokens,
percentage: (this.currentTokens / this.maxTokens) * 100,
model: this.model,
conversationId: this.conversationId,
};
}
dispose() {
this.tokenCounter.dispose();
}
}
exports.ConversationTokenTracker = ConversationTokenTracker;
//# sourceMappingURL=conversation-token-tracker.js.map