1. 31 Mar, 2026 3 commits
    • Your Name's avatar
      Add KiloCode Claude provider comparison to review document · a96f358d
      Your Name authored
      - Add KiloCode implementation analysis (vendors/kilocode/packages/opencode/src/provider/)
      - Compare KiloCode's AI SDK approach (@ai-sdk/anthropic) vs direct HTTP
      - Document KiloCode's features: automatic prompt caching, thinking support,
        message validation, reasoning variants, model management
      - Add comparison tables for architecture, message conversion, streaming,
        headers, model resolution, reasoning/thinking support, prompt caching
      - Document KiloCode exclusive features: empty content filtering, tool call ID
        sanitization, duplicate reasoning fix, provider option remapping,
        Gemini schema sanitization, unsupported part handling
      - Update summary with KiloCode strengths and additional improvement areas
      a96f358d
    • Your Name's avatar
      Update Claude provider comparison to include Kiro Gateway implementation · ce2788a9
      Your Name authored
      - Add comprehensive Kiro Gateway analysis alongside Claude Code comparison
      - Document Kiro's unified intermediate message format approach
      - Compare streaming implementations (SSE vs AWS Event Stream)
      - Document Kiro's advanced features: thinking injection, tool content stripping,
        image extraction, truncation recovery, model name normalization
      - Add comparison tables for architecture, message handling, tools, streaming
      - Identify patterns from Kiro that could improve AISBF (unified format,
        message validation, multimodal support)
      ce2788a9
    • Your Name's avatar
      Add Claude provider comparison review and include all pending changes · 406ae38a
      Your Name authored
      - Add comprehensive comparison of AISBF Claude provider vs original Claude Code source
      - Document message conversion, tool handling, streaming, and response parsing differences
      - Identify areas for improvement: thinking blocks, tool call streaming, usage metadata
      - Include all other pending changes across the codebase
      406ae38a
  2. 30 Mar, 2026 5 commits
    • Your Name's avatar
      docs: Comprehensive documentation update with all missing features · f64585f1
      Your Name authored
      - Updated CHANGELOG.md with complete feature list including:
        * Claude OAuth2 provider with PKCE flow and automatic token refresh
        * Response caching with semantic deduplication (Memory/Redis/SQLite/MySQL)
        * Model embeddings cache with multiple backends
        * User-specific API endpoints and MCP enhancements
        * Adaptive rate limiting and token usage analytics
        * Smart request batching and streaming optimization
        * All performance features and bug fixes
      
      - Enhanced README.md with:
        * Claude OAuth2 authentication section with setup guide
        * Response caching details with all backends and deduplication
        * Flexible caching system with Redis/MySQL/SQLite/File/Memory
        * Updated key features with expanded descriptions
        * Configuration examples for all caching systems
      
      - Updated DOCUMENTATION.md with:
        * Claude Code provider in Provider Support section
        * Enhanced provider descriptions with caching capabilities
        * Reference to Claude OAuth2 setup documentation
      
      - Enhanced CLAUDE_OAUTH2_SETUP.md with key features list
      
      - Added clarifying comments to aisbf/claude_auth.py
      
      All documentation now accurately reflects the codebase with complete
      coverage of caching systems (response cache and model embeddings cache),
      request deduplication via SHA256, and all implemented features.
      f64585f1
    • Your Name's avatar
      Add comprehensive user API documentation and MCP user tools · a33c622b
      Your Name authored
      - Document user-specific API endpoints: /api/user/models, /api/user/providers,
        /api/user/rotations, /api/user/autoselects, /api/user/chat/completions
      - Document user MCP tools: list_user_models, list_user_providers, set_user_provider,
        delete_user_provider, list_user_rotations, set_user_rotation, delete_user_rotation,
        list_user_autoselects, set_user_autoselect, delete_user_autoselect, user_chat_completion
      - Update user dashboard with clear endpoint documentation
      - Add enhanced analytics for user token usage tracking
      - Add database improvements for user token management
      a33c622b
    • Your Name's avatar
      Add user-specific API endpoints and MCP configuration · 76c5318f
      Your Name authored
      - Added /api/user/* endpoints for authenticated users to access their own configurations
      - Admin users get access to global + user configs, regular users get user-only
      - Global tokens from aisbf.json have full access to all configurations
      - Enhanced MCP with user-specific tools for authenticated users
      - Updated user dashboard with comprehensive API endpoint documentation
      - Updated README.md, DOCUMENTATION.md with new endpoint documentation
      - Updated CHANGELOG.md with new features
      - Bumped version to 0.9.1
      76c5318f
    • Your Name's avatar
      Add pricing extraction (rate_multiplier, rate_unit, prompt/completion tokens)... · 53558e03
      Your Name authored
      Add pricing extraction (rate_multiplier, rate_unit, prompt/completion tokens) and auto-configure rate limits on 429
      
      - Parse rate_multiplier and rate_unit from nexlab API as pricing
      - Parse promptTokenPrice and completionTokenPrice from AWS Q API
      - Extract pricing from OpenRouter-style API responses for OpenAI provider
      - Add _auto_configure_rate_limits to extract X-RateLimit-* headers
      - Update parse_429_response to capture rate limit headers
      53558e03
    • Your Name's avatar
      Add model metadata fields (top_provider, pricing, description,... · 3d925b69
      Your Name authored
      Add model metadata fields (top_provider, pricing, description, supported_parameters, architecture) and dashboard Get Models button
      
      - Update providers.py to extract all fields from provider API responses
      - Add max_input_tokens support for Claude provider context size
      - Add top_provider, pricing, description, supported_parameters, architecture fields
      - Update cache functions to save/load new metadata fields
      - Update handlers.py to expose new fields in model list response
      - Add Get Models button to dashboard
      3d925b69
  3. 27 Mar, 2026 5 commits
    • Your Name's avatar
      Add analytics filtering by provider, model, rotation and autoselect · b0dfd636
      Your Name authored
      - Added filter parameters to analytics route in main.py
      - Updated get_model_performance() to support filtering by provider, model, rotation, and autoselect
      - Added get_rotations_stats() and get_autoselects_stats() methods
      - Added filter UI to analytics.html with dropdowns for filtering
      - Updated Model Performance table to show type (Provider/Rotation/Autoselect)
      b0dfd636
    • Your Name's avatar
      Add admin user management feature to dashboard · e9a2c8b9
      Your Name authored
      - Added new dashboard template (templates/dashboard/users.html) for managing users
      - Added routes in main.py: GET /dashboard/users, POST /dashboard/users/add,
        POST /dashboard/users/{id}/edit, POST /dashboard/users/{id}/toggle,
        POST /dashboard/users/{id}/delete
      - Added 'Users' link to navigation menu (visible only for admin users)
      - Added update_user method to database.py for editing user details
      
      Features:
      - Add new users with username, password, and role (user/admin)
      - Edit existing user details
      - Toggle user active/inactive status
      - Delete users
      e9a2c8b9
    • Your Name's avatar
      feat: Implement Adaptive Rate Limiting · 97ad28ec
      Your Name authored
      - Add AdaptiveRateLimiter class in aisbf/providers.py for per-provider adaptive rate limiting
      - Enhance 429 handling with exponential backoff and jitter
      - Track 429 patterns per provider with configurable history window
      - Implement dynamic rate limit adjustment that learns from 429 responses
      - Add rate limit headroom (stays 10% below learned limits)
      - Add gradual recovery after consecutive successful requests
      - Add AdaptiveRateLimitingConfig in aisbf/config.py
      - Add adaptive_rate_limiting configuration to config/aisbf.json
      - Add dashboard UI at /dashboard/rate-limits
      - Add dashboard API endpoints for stats and reset functionality
      - Update TODO.md to mark item #8 as completed
      97ad28ec
    • Your Name's avatar
      feat: Implement Token Usage Analytics (Point 7) · 2176c233
      Your Name authored
      - Add aisbf/analytics.py module with Analytics class for tracking token usage,
        request counts, latency, error rates, and cost estimation per provider
      - Add templates/dashboard/analytics.html with comprehensive dashboard page
      - Integrate analytics recording into RequestHandler, RotationHandler, and
        AutoselectHandler
      - Add /dashboard/analytics route in main.py
      - Add Analytics link to base.html navigation
      - Update CHANGELOG.md with new feature documentation
      
      Features:
      - Token usage tracking with database persistence
      - Real-time request counts and latency tracking
      - Error rates and types tracking
      - Cost estimation per provider (Anthropic, OpenAI, Google, Kiro, OpenRouter)
      - Model performance comparison
      - Token usage over time visualization (1h, 6h, 24h, 7d)
      - Optimization recommendations
      - Export functionality (JSON, CSV)
      - Integration with all request handlers
      - Support for rotation_id and autoselect_id tracking
      2176c233
    • Your Name's avatar
      feat: Implement Streaming Response Optimization (Point 6) · add528f4
      Your Name authored
      - Add aisbf/streaming_optimization.py module with:
        - StreamingConfig: Configuration dataclass for optimization settings
        - ChunkPool: Memory-efficient chunk object reuse pool
        - BackpressureController: Flow control to prevent overwhelming consumers
        - StreamingOptimizer: Main coordinator combining all optimizations
        - KiroSSEParser: Optimized SSE parser for Kiro streaming
        - OptimizedTextAccumulator: Memory-efficient text accumulation
        - calculate_google_delta(): Incremental delta calculation
      
      - Update aisbf/handlers.py to integrate streaming optimizations:
        - Use chunk pooling for Google streaming
        - Use OptimizedTextAccumulator for memory efficiency
        - Add delta-based streaming for Google provider
        - Integrate KiroSSEParser for Kiro provider
      
      - Update setup.py to include streaming_optimization.py
      - Update pyproject.toml with package data
      - Update TODO.md with completed status
      - Update README.md with new feature description
      - Update CHANGELOG.md with streaming optimization details
      
      Expected benefits:
      - 10-20% memory reduction in streaming responses
      - Better flow control with backpressure handling
      - Optimized Google and Kiro streaming with delta calculation
      - Configurable optimization via StreamingConfig
      add528f4
  4. 26 Mar, 2026 8 commits
    • Your Name's avatar
      feat: implement smart request batching (v0.8.0) · 709b6f80
      Your Name authored
      - Add aisbf/batching.py module with RequestBatcher class
      - Implement time-based (100ms window) and size-based batching
      - Add provider-specific batching configurations (OpenAI: 10, Anthropic: 5)
      - Integrate batching with BaseProviderHandler
      - Add batching configuration to config/aisbf.json
      - Initialize batching system in main.py startup
      - Update version to 0.8.0 in setup.py and pyproject.toml
      - Add batching.py to setup.py data_files
      - Update README.md and TODO.md documentation
      - Expected benefit: 15-25% latency reduction
      
      Features:
      - Automatic batch formation and processing
      - Response splitting and distribution
      - Statistics tracking (batches formed, requests batched, avg batch size)
      - Graceful error handling and fallback
      - Non-blocking async queue management
      - Streaming request bypass (batching disabled for streams)
      709b6f80
    • Your Name's avatar
    • Your Name's avatar
      feat: Enhanced Context Condensation - 8 methods with analytics · 21a1c101
      Your Name authored
      - Optimized existing condensation methods (hierarchical, conversational, semantic, algorithmic)
      - Added 4 new condensation methods (sliding_window, importance_based, entity_aware, code_aware)
      - Fixed critical bugs in conversational and semantic methods (undefined variables)
      - Added internal model warm-up functionality for faster first inference
      - Implemented condensation analytics (effectiveness %, latency tracking)
      - Added similarity detection in algorithmic method using difflib
      - Support for condensation method chaining
      - Per-model condensation thresholds
      - Adaptive condensation based on context size
      - Updated README, TODO, DOCUMENTATION, and CHANGELOG
      21a1c101
    • Your Name's avatar
      feat: implement response caching with granular control · f04ae15d
      Your Name authored
      - Add ResponseCache class with multiple backend support (memory, Redis, SQLite, MySQL)
      - Implement LRU eviction for memory backend with configurable max size
      - Add SHA256-based cache key generation for request deduplication
      - Implement TTL-based expiration (default: 600 seconds)
      - Add cache statistics tracking (hits, misses, hit rate, evictions)
      - Integrate caching into RequestHandler, RotationHandler, and AutoselectHandler
      - Add granular cache control at model, provider, rotation, and autoselect levels
      - Implement hierarchical configuration: Model > Provider > Rotation > Autoselect > Global
      - Add dashboard endpoints for cache statistics (/dashboard/response-cache/stats) and clearing (/dashboard/response-cache/clear)
      - Add response cache initialization in main.py startup event
      - Skip caching for streaming requests
      - Add comprehensive test suite (test_response_cache.py) with 6 test scenarios
      - Update configuration models with enable_response_cache fields
      - Update TODO.md to mark Response Caching as completed
      - Update CHANGELOG.md with response caching features
      
      Files created:
      - aisbf/response_cache.py (740+ lines)
      - test_response_cache.py (comprehensive test suite)
      
      Files modified:
      - aisbf/handlers.py (cache integration and _should_cache_response helper)
      - aisbf/config.py (ResponseCacheConfig and enable_response_cache fields)
      - config/aisbf.json (response_cache configuration section)
      - main.py (response cache initialization)
      - TODO.md (mark task as completed)
      - CHANGELOG.md (document new features)
      f04ae15d
    • Your Name's avatar
      feat: Add Provider-Native Caching Integration · af46d8c0
      Your Name authored
      - Implement Anthropic cache_control support for 50-70% cost reduction
      - Add Google Context Caching API framework with TTL configuration
      - Add provider-level caching configuration (enable_native_caching, cache_ttl, min_cacheable_tokens)
      - Update dashboard UI with caching settings
      - Update documentation with detailed caching guide and examples
      - Mark system messages and conversation prefixes as cacheable automatically
      - Test Python compilation and validate implementation
      af46d8c0
    • Your Name's avatar
      feat: Integrate existing database module for multi-user support · 84d6f6e4
      Your Name authored
      - Implement user-specific configuration isolation with SQLite database
      - Add user management, authentication, and role-based access control
      - Create user-specific providers, rotations, and autoselect configurations
      - Add API token management and usage tracking per user
      - Update handlers to support user-specific configs with fallback to global
      - Add MCP support for user-specific configurations
      - Update documentation and README with multi-user features
      - Add user dashboard templates for configuration management
      84d6f6e4
    • Your Name's avatar
      Complete database integration with multi-user support and persistent tracking · 4ec3cf51
      Your Name authored
      - Integrate existing SQLite database module with full functionality
      - Add persistent token usage tracking across application restarts
      - Implement context dimension tracking and effective context updates
      - Add automatic database cleanup on startup (7+ day old records)
      - Implement multi-user authentication with role-based access control
      - Add user management with isolated configurations (providers, rotations, autoselects)
      - Enable user-specific API token management and usage tracking
      - Update dashboard with role-based access (admin vs user dashboards)
      - Add database-first authentication with config admin fallback
      - Update README, TODO, and documentation with database features
      - Cache model embeddings for semantic classification performance
      4ec3cf51
    • Your Name's avatar
      feat: Add NSFW/privacy content filtering and semantic classification · e02ed7fc
      Your Name authored
      - Add NSFW/privacy boolean fields to models (providers.json, rotations.json, autoselect.json)
      - Implement content classification using last 3 messages for performance
      - Add semantic classification with hybrid BM25 + sentence-transformer re-ranking
      - Update autoselect handler to support classify_semantic flag
      - Add new semantic_classifier.py module with hybrid search capabilities
      - Update dashboard templates to manage new configuration fields
      - Update documentation (README.md, DOCUMENTATION.md) with new features
      - Bump version to 0.6.0 in pyproject.toml and setup.py
      - Add new dependencies: sentence-transformers, rank-bm25
      - Update package configuration for PyPI distribution
      e02ed7fc
  5. 23 Mar, 2026 19 commits
    • Your Name's avatar
      Update CHANGELOG with all changes since 0.1.2 · b2151583
      Your Name authored
      - Added Kiro AWS Event Stream parsing and converters
      - Added TOR hidden service support
      - Added MCP server endpoint
      - Added credential validation for kiro/kiro-cli
      - Added various Python 3.13 compatibility fixes
      - Added intelligent 429 rate limit handling
      - Updated venv handling and auto-update features
      b2151583
    • Your Name's avatar
      Merge branch 'experimental' · 8a986192
      Your Name authored
      8a986192
    • Your Name's avatar
      Update CHANGELOG with recent changes · 50f5d67a
      Your Name authored
      - Added Unreleased section for OpenRouter fields implementation
      - Added web dashboard documentation updates
      - Documented Model class fixes for API compatibility
      50f5d67a
    • Your Name's avatar
      Add web dashboard section to README with screenshot · 9467bd25
      Your Name authored
      - Added screenshot.png reference at top of README
      - Added Web Dashboard section describing features
      - Includes dashboard access information and default credentials
      9467bd25
    • Your Name's avatar
      Add OpenRouter-style extended fields to Model class · 27da6f46
      Your Name authored
      - Added description, context_length, architecture, pricing, top_provider, supported_parameters, and default_parameters fields
      - Fixes crash when returning model data through API with OpenRouter metadata
      - Aligns Model class with ProviderModelConfig, RotationConfig, and AutoselectConfig
      27da6f46
    • Your Name's avatar
      feat: Add Kiro AWS Event Stream parsing, converters, and TODO roadmap · 2e7a8460
      Your Name authored
      - Add aisbf/kiro_parsers.py: AWS Event Stream parser for Kiro API responses
      - Update kiro_converters_openai.py: Add build_kiro_payload_from_dict function
      - Update kiro_converters.py: Minor fixes
      - Update kiro_auth.py: Add AWS SSO OIDC authentication support
      - Update handlers.py: Enhance streaming and error handling
      - Update main.py: Add proxy headers middleware and configuration
      - Update setup.py: Add version bump
      - Add TODO.md: Comprehensive roadmap for caching and performance improvements
      
      Features:
      - Kiro AWS Event Stream parsing for non-streaming responses
      - OpenAI-to-Kiro payload conversion
      - AWS SSO OIDC authentication for Kiro
      - Proxy headers middleware for reverse proxy support
      - TODO roadmap with prioritized items for future development
      2e7a8460
    • Your Name's avatar
      Fix premature tool call finalization in Kiro streaming responses · 52b44029
      Your Name authored
      - Avoid calling parser.get_tool_calls() during streaming loop
      - Only call get_tool_calls() after all chunks are processed
      - Send tool calls in separate chunk after content streaming completes
      - Prevents empty arguments issue caused by premature finalization
      52b44029
    • Your Name's avatar
      Fix kiro credential validation to handle dict-based config · 15f8fff0
      Your Name authored
      - Updated validate_kiro_credentials() to handle both dict and object config access
      - Added get_config_value() helper function for flexible config access
      - Now correctly detects kiro-cli credentials from SQLite database
      - Validation now works out of the box when kiro-cli is installed
      15f8fff0
    • Your Name's avatar
      Add credential validation for kiro/kiro-cli providers · 4718ce47
      Your Name authored
      - Added validate_kiro_credentials() function to check credential availability
      - Validates kiro IDE credentials from ~/.config/Code/User/globalStorage/amazon.q/credentials.json
      - Validates kiro-cli credentials from ~/.local/share/kiro-cli/data.sqlite3
      - Integrated validation into get_provider_models() to exclude providers without credentials
      - Added validation checks to all request endpoints (chat, audio, images, embeddings)
      - Providers only appear in model listings and accept requests when credentials are valid
      - Returns HTTP 403 when credentials are missing or invalid
      4718ce47
    • Your Name's avatar
      Fix template session references for Python 3.13 compatibility · 1da131cd
      Your Name authored
      - Updated base.html to use request.session instead of session
      - Resolves jinja2.exceptions.UndefinedError: 'session' is undefined
      - Completes Python 3.13 compatibility fix
      1da131cd
    • Your Name's avatar
      Improve venv handling to use system-installed aisbf package · 9ee547d7
      Your Name authored
      - Create venv with --system-site-packages flag to access system aisbf
      - Remove redundant aisbf package installation in venv
      - Venv now only contains requirements.txt dependencies
      - On upgrade detection, only update requirements.txt dependencies
      - System-installed aisbf package is automatically accessible in venv
      9ee547d7
    • Your Name's avatar
      Fix Python 3.13 compatibility issue with Jinja2 template caching · 1d62a6d8
      Your Name authored
      - Removed redundant 'session' parameter from all template responses
      - request.session is already accessible in templates via request object
      - Fixes TypeError: unhashable type: 'dict' in Jinja2 cache with Python 3.13
      1d62a6d8
    • Your Name's avatar
      Add auto-update venv feature on pip package upgrade · be97e35e
      Your Name authored
      - Added check_package_upgrade() function to detect when aisbf package is upgraded
      - Modified ensure_venv() to automatically update venv when package upgrade is detected
      - Version tracking using .aisbf_version file in venv directory
      - Ensures venv stays in sync with pip-installed package version
      be97e35e
    • Your Name's avatar
    • Your Name's avatar
      Add 'Create Persistent' button to TOR settings · fc19aae4
      Your Name authored
      - Add button to easily create persistent hidden service directory
      - Automatically fills in default path (~/.aisbf/tor_hidden_service)
      - Includes confirmation dialog if path already exists
      - Visual feedback on button click
      fc19aae4
    • Your Name's avatar
      Add TOR hidden service support (v0.5.0) · 6baea83b
      Your Name authored
      - Add full TOR hidden service support for exposing AISBF over TOR network
      - Create aisbf/tor.py module with TorHiddenService class
      - Add TorConfig model to config.py for TOR configuration
      - Update config/aisbf.json with TOR settings
      - Integrate TOR service into main.py with startup/shutdown handlers
      - Add TOR configuration UI to dashboard settings with real-time status
      - Add get_tor_status MCP tool for monitoring TOR service
      - Update README.md and DOCUMENTATION.md with TOR guides
      - Add stem library dependency to requirements.txt
      - Bump version to 0.5.0 in pyproject.toml
      - Support both ephemeral and persistent hidden services
      - All AISBF endpoints accessible over TOR network
      6baea83b
    • Your Name's avatar
      Add MCP documentation and dashboard settings · 96379f03
      Your Name authored
      - Add MCP features to README.md key features
      - Add MCP configuration section to dashboard settings page
      - Add MCP form handling in main.py dashboard_settings_save
      - Add comprehensive MCP documentation to API_EXAMPLES.md
      96379f03
    • Your Name's avatar
      Add MCP (Model Context Protocol) server endpoint · 924dfeeb
      Your Name authored
      - Implement MCP server module (aisbf/mcp.py) with SSE and HTTP stream support
      - Add two authentication levels: autoselect-only and fullconfig
      - Add MCP configuration to config/aisbf.json (disabled by default)
      - Add MCP endpoints to main.py: GET/POST /mcp, GET /mcp/tools, POST /mcp/tools/call
      - Both token types give access to standard APIs (list_models, chat_completion)
      - autoselect_tokens: access to autoselection/autorotation settings
      - fullconfig_tokens: access to full system configuration including providers
      
      This allows remote agents to configure the system and/or just the
      autoselections/rotations, as well as make requests for models.
      924dfeeb
    • Your Name's avatar
      Add proxy-awareness and configurable error cooldown features · 673281d1
      Your Name authored
      Proxy-Awareness:
      - Added ProxyHeadersMiddleware to detect and handle reverse proxy headers
      - Implemented get_base_url() and url_for() helper functions for proxy-aware URL generation
      - Updated all RedirectResponse calls to use url_for()
      - Updated templates/base.html to use url_for() for all links and fetch calls
      - Added comprehensive nginx proxy configuration examples to DOCUMENTATION.md
      - Supports X-Forwarded-Proto, X-Forwarded-Host, X-Forwarded-Port, X-Forwarded-Prefix, X-Forwarded-For headers
      - Application now fully supports deployment behind reverse proxies with subpaths
      
      Configurable Error Cooldown:
      - Added error_cooldown field to Model class in aisbf/models.py
      - Added error_cooldown to ProviderModelConfig in aisbf/config.py
      - Added default_error_cooldown to ProviderConfig in aisbf/config.py
      - Added default_error_cooldown to RotationConfig in aisbf/config.py
      - Updated BaseProviderHandler.record_failure() in aisbf/providers.py to use cascading cooldown configuration
      - Cooldown configuration follows cascading pattern: model-specific > provider default > system default (300 seconds)
      - Updated DOCUMENTATION.md with error_cooldown configuration examples
      - Updated AI.PROMPT with error_cooldown documentation
      
      Both features are fully documented and ready for production use.
      673281d1