Add SQLite database module for persistent tracking

- Create aisbf/database.py with DatabaseManager class
- Track context dimensions (context_size, condense_context, condense_method, effective_context)
- Track token usage for rate limiting (TPM, TPH, TPD)
- Auto-create database at ~/.aisbf/aisbf.db if it doesn't exist
- Clean up old token usage records to prevent database bloat
- Export database module in __init__.py
- Update setup.py to include database.py in package data
parent ab62c97b
...@@ -25,6 +25,7 @@ A modular proxy server for managing multiple AI provider integrations. ...@@ -25,6 +25,7 @@ A modular proxy server for managing multiple AI provider integrations.
from .config import config, Config, ProviderConfig, RotationConfig, AppConfig, AutoselectConfig, AutoselectModelInfo from .config import config, Config, ProviderConfig, RotationConfig, AppConfig, AutoselectConfig, AutoselectModelInfo
from .context import ContextManager, get_context_config_for_model from .context import ContextManager, get_context_config_for_model
from .database import DatabaseManager, get_database, initialize_database
from .models import ( from .models import (
Message, Message,
ChatCompletionRequest, ChatCompletionRequest,
......
This diff is collapsed.
...@@ -96,6 +96,7 @@ setup( ...@@ -96,6 +96,7 @@ setup(
'aisbf/handlers.py', 'aisbf/handlers.py',
'aisbf/context.py', 'aisbf/context.py',
'aisbf/utils.py', 'aisbf/utils.py',
'aisbf/database.py',
]), ]),
], ],
entry_points={ entry_points={
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment