Commit Graph

6 Commits

Author SHA1 Message Date
Mai Development
7bbf5e17f1 fix(01-02): correct ConversationMetadata import and initialization
Some checks failed
Discord Webhook / git (push) Has been cancelled
- Add ConversationMetadata to imports
- Fix metadata initialization in create_conversation()
- Resolve type error for conversation metadata

File: src/models/context_manager.py
2026-01-27 12:12:36 -05:00
Mai Development
ef2eba2a3f feat(01-02): implement context manager with intelligent compression
Some checks failed
Discord Webhook / git (push) Has been cancelled
- Create ContextManager class for conversation history management
- Implement hybrid compression strategy at 70% threshold
- Add message importance scoring for selective retention
- Support system message preservation during compression
- Include conversation statistics and session management
- Provide context retrieval with token limit enforcement

Key methods:
- add_message(): Add messages and trigger compression when needed
- get_context_for_model(): Retrieve context within token limits
- compress_conversation(): Apply hybrid compression preserving important messages
- get_conversation_summary(): Generate conversation summaries

File: src/models/context_manager.py (320 lines)
2026-01-27 12:09:23 -05:00
Mai Development
221717d3a3 feat(01-02): create conversation data structures
Some checks failed
Discord Webhook / git (push) Has been cancelled
- Define Message, Conversation, ContextBudget, and ContextWindow classes
- Implement MessageRole and MessageType enums for classification
- Add Pydantic models for validation and serialization
- Include importance scoring and token estimation utilities
- Support system, user, assistant, and tool message types

File: src/models/conversation.py (147 lines)
2026-01-27 12:07:29 -05:00
Mai Development
e6f072a6c7 feat(01-01): implement system resource monitoring
Some checks failed
Discord Webhook / git (push) Has been cancelled
- Created ResourceMonitor class with psutil integration
- Monitor CPU usage, memory availability, and GPU VRAM
- Added resource trend analysis for load prediction
- Implemented should_switch_model() logic based on thresholds
- Added can_load_model() method with safety margins
- Follow Pattern 2 from research: Resource-Aware Model Selection
- Graceful handling of missing gpu-tracker dependency
2026-01-27 12:00:06 -05:00
Mai Development
f5ffb7255e feat(01-01): implement LM Studio adapter with model discovery
Some checks failed
Discord Webhook / git (push) Has been cancelled
- Created LMStudioAdapter class using lmstudio-python SDK
- Added context manager get_client() for safe client handling
- Implemented list_available_models() with size estimation
- Added load_model(), unload_model(), get_model_info() methods
- Created mock_lmstudio.py for graceful fallback when lmstudio not installed
- Included error handling for LM Studio not running and model loading failures
- Implemented Pattern 1 from research: Model Client Factory
2026-01-27 11:59:48 -05:00
Mai Development
de6058f109 feat(01-01): create Python project foundation with dependencies
Some checks failed
Discord Webhook / git (push) Has been cancelled
- Created pyproject.toml with lmstudio, psutil, pydantic dependencies
- Created requirements.txt as fallback for pip install
- Created src/models/__init__.py with proper imports
- Set up PEP 518 compliant package structure
- Fixed .gitignore to allow src/models/ directory
2026-01-27 11:59:37 -05:00