- 23 Mar, 2026 4 commits
-
-
Your Name authored
- Updated README.md to list Kiro (Amazon Q Developer / AWS CodeWhisperer) as a supported provider - Updated DOCUMENTATION.md Provider Support section with Kiro details - Kiro provider uses native authentication (IDE credentials or CLI) - Supports Claude models through Kiro with streaming, tool calling, and extended thinking
-
Your Name authored
- Deleted KIRO_GATEWAY.md and KIRO_INTEGRATION.md - AISBF has native Kiro support built-in via KiroProviderHandler - No need for external kiro-gateway integration documentation
-
Your Name authored
- Removed vendor/kiro-gateway submodule/directory as Kiro support is fully integrated into AISBF - Updated KIRO_GATEWAY.md to reference external GitHub repository (https://github.com/jwadow/kiro-gateway) - Updated AI.PROMPT to remove vendor directory reference - Kiro integration remains fully functional through KiroProviderHandler
-
Your Name authored
-
- 22 Mar, 2026 11 commits
-
-
Your Name authored
- Add bs4 to requirements.txt (required by debgpt) - Pin protobuf to >=3.20,<4 to fix compatibility with electrum - Resolves dependency conflicts
-
Your Name authored
- Add pip_install() function that detects externally-managed-environment errors - Automatically retry with --break-system-packages flag when needed - Improves compatibility with modern Linux distributions that use PEP 668
-
Your Name authored
- Implement intelligent 429 rate limit parsing in providers - Parse Retry-After and X-RateLimit-Reset headers - Extract wait time from response body fields - Parse error messages for time patterns - Automatically disable providers for exact duration specified - Update aisbf.sh to read port from config file dynamically - Add get_port() function to parse aisbf.json - Remove hardcoded port 17765 - Show port number when starting server - Implement SHA256 password hashing for dashboard - Store password as hash in aisbf.json - Hash passwords during login validation - Hash passwords when updating settings - Add templates to package distribution - Update setup.py to include dashboard templates - Update MANIFEST.in (already included templates) - Add aisbf.json to package - Update documentation - Add OpenAI-compatible v1 endpoints to README - Add dashboard endpoints documentation - Create comprehensive API_EXAMPLES.md with examples in cURL, Python, and JavaScript - Add GPL license headers to all template files - HTML templates in templates/ directory - JavaScript code in templates/base.html All changes maintain backward compatibility while adding new features.
-
Your Name authored
- Added jinja2 and itsdangerous dependencies to requirements.txt - Created templates directory with base layout and dashboard pages - Implemented login/logout with session-based authentication - Added dashboard overview page showing server stats - Added configuration editors for: - Providers (providers.json) - Rotations (rotations.json) - Autoselect (autoselect.json) - Condensation prompts (markdown files) - Server settings (aisbf.json) - Dashboard accessible at /dashboard with configurable username/password - Session middleware with secure random secret key - Authentication middleware skips dashboard routes - All config changes saved to ~/.aisbf/ directory - Dashboard config loaded from aisbf.json (username, password) - Default credentials: admin/admin
-
Your Name authored
- Changed default port from 8000 to 17765 in config and code - Added command-line argument parsing with argparse - Added --config flag to specify custom config directory - Added --host, --port flags to override config file settings - Added --https, --ssl-cert, --ssl-key flags for HTTPS configuration - Added --no-auth flag to disable authentication - CLI arguments take precedence over config file - Updated config.py to support custom config directories via AISBF_CONFIG_DIR env var - Config and handlers are now initialized after CLI parsing to support --config flag
-
Your Name authored
- Added example tokens array to demonstrate client authentication - When auth.enabled is true, clients must use Bearer token in Authorization header - Tokens are validated against the tokens array in aisbf.json
-
Your Name authored
- Add HTTPS support with auto-generated self-signed certificates - Add API token authentication middleware - Update aisbf.json with protocol, SSL, and auth configuration - Add system prompt loading method to ContextManager - Update main() to support SSL certificates - Add authentication check middleware for API endpoints
-
Your Name authored
- Add max_context field to CondensationConfig - Support 'internal' keyword for local HuggingFace model in condensation - Add internal model initialization with temperature=0.3, top_p=0.8, repeat_penalty=1.1 - Create condensation system prompts (conversational, semantic) - Add aisbf.json for server configuration (host, port, dashboard auth) - Update main.py to read server config from aisbf.json - Update providers.json with max_context example for condensation
-
Your Name authored
- Changed autoselect prompt from single user message to system+user split - System message contains the skill instructions - User message contains the prompt and model list - Set temperature to 0 for deterministic selection - Added stop parameter: </aisbf_model_autoselection> - Updated internal model handling to combine messages
-
Your Name authored
- Centralized API key storage in providers.json only - Added support for provider-only rotation entries (auto-selects random model) - Added default settings hierarchy at provider and rotation levels - Limited autoselect selection context to 10 messages or 8000 tokens - Added support for direct provider models in autoselect (rotation/provider/model) - Added 'internal' keyword for local HuggingFace model selection - Updated requirements.txt with torch and transformers
-
Your Name authored
- Integrated complete kiro-gateway conversion pipeline (1,522 lines) - Added multi-source authentication (Kiro IDE, kiro-cli, env vars) - Implemented full OpenAI <-> Kiro format conversion - Added support for tools/function calling - Added support for images/multimodal content - Implemented message merging, validation, and role normalization - Added KiroAuthManager for automatic token refresh - Created comprehensive conversion modules: - aisbf/kiro_converters.py (core conversion logic) - aisbf/kiro_converters_openai.py (OpenAI adapter) - aisbf/kiro_models.py (data models) - aisbf/kiro_auth.py (authentication) - aisbf/kiro_utils.py (utilities) - Updated KiroProviderHandler with full conversion pipeline - Added kiro_config support to ProviderConfig - Updated providers.json with clean Kiro examples - Added comprehensive documentation (KIRO_INTEGRATION.md) - Implemented model name prefixing across all providers (provider_id/model) No external kiro-gateway server needed - all functionality built-in.
-
- 09 Feb, 2026 7 commits
-
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
Fix Google provider tool formatting - pass function declarations directly instead of wrapping in dict
-
- 08 Feb, 2026 18 commits
-
-
Stefy Lanza (nextime / spora ) authored
Changed line 511 to check list length instead of boolean evaluation. This fixes the bug where tool calls extracted from Google chunks were not being sent to clients because empty lists were being treated as falsy. Before: 'tool_calls': delta_tool_calls if delta_tool_calls else None After: 'tool_calls': delta_tool_calls if len(delta_tool_calls) > 0 else None
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
- Added extraction of function_call from Google chunk parts - Convert Google function_call to OpenAI-compatible tool_calls format - Track accumulated_tool_calls to calculate deltas - Include tool_calls in the delta when present - Send chunks when there are new tool calls, not just text
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
- Removed stray 'd' identifier on line 494 - Fixed indentation issues on lines 494 and 537 - File now compiles without errors
-
Stefy Lanza (nextime / spora ) authored
- Fixed tool conversion to create single function_declarations array - This prevents Google from detecting malformed tool use - Tools are now properly converted from OpenAI to Google format
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
Improve error message formatting by replacing semicolon separators with newlines for better readability
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
- Detect and unwrap responses wrapped in 'assistant: [{"type": "text", "text": "..."}]' format - Use extracted text for response content instead of raw accumulated text - Fix variable scoping issue with tool_match variable - Update token counting to use final_text when available
-