feat: saving token data to sessions
This commit is contained in:
@@ -5,10 +5,17 @@ namespace AnchorCli.OpenRouter;
|
||||
/// </summary>
|
||||
internal sealed class TokenTracker
|
||||
{
|
||||
private readonly ChatSession _session;
|
||||
|
||||
public TokenTracker(ChatSession session)
|
||||
{
|
||||
_session = session;
|
||||
}
|
||||
|
||||
public string Provider { get; set; } = "Unknown";
|
||||
public long SessionInputTokens { get; private set; }
|
||||
public long SessionOutputTokens { get; private set; }
|
||||
public int RequestCount { get; private set; }
|
||||
public long SessionInputTokens => _session.SessionInputTokens;
|
||||
public long SessionOutputTokens => _session.SessionOutputTokens;
|
||||
public int RequestCount => _session.RequestCount;
|
||||
|
||||
/// <summary>Maximum context window for the model (tokens). 0 = unknown.</summary>
|
||||
public int ContextLength { get; set; }
|
||||
@@ -29,16 +36,16 @@ internal sealed class TokenTracker
|
||||
/// </summary>
|
||||
public void AddUsage(int inputTokens, int outputTokens)
|
||||
{
|
||||
SessionInputTokens += inputTokens;
|
||||
SessionOutputTokens += outputTokens;
|
||||
_session.SessionInputTokens += inputTokens;
|
||||
_session.SessionOutputTokens += outputTokens;
|
||||
LastInputTokens = inputTokens;
|
||||
RequestCount++;
|
||||
_session.RequestCount++;
|
||||
}
|
||||
public void Reset()
|
||||
{
|
||||
SessionInputTokens = 0;
|
||||
SessionOutputTokens = 0;
|
||||
RequestCount = 0;
|
||||
_session.SessionInputTokens = 0;
|
||||
_session.SessionOutputTokens = 0;
|
||||
_session.RequestCount = 0;
|
||||
LastInputTokens = 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user