* feat(agent_utils.py): add get_model_token_limit function to retrieve token limits for models based on provider and model name
feat(models_tokens.py): create models_tokens module to store token limits for various models and providers
test(agent_utils.py): implement unit tests for get_model_token_limit and create_agent functions to ensure correct behavior and error handling
* test: Add unit tests for token limiting and agent creation functionality
* fix: Correct indentation and add missing test function for error handling
* fix: Update test assertion to use messages_modifier instead of state_modifier
* feat(agent_utils.py): add limit_tokens function to manage message token limits and preserve system message
fix(agent_utils.py): update get_model_token_limit to handle exceptions and return None on error
fix(ciayn_agent.py): set default max_tokens to DEFAULT_TOKEN_LIMIT in CiaynAgent initialization
feat(models_tokens.py): define DEFAULT_TOKEN_LIMIT for consistent token limit management across agents
style(agent_utils.py): improve code formatting and consistency in function definitions and comments
style(agent_utils.py): refactor imports for better organization and readability
fix(test_agent_utils.py): correct test assertion to use state_modifier instead of messages_modifier for create_agent function
* refactor(agent_utils.py): improve docstring clarity and formatting for limit_tokens function to enhance readability
refactor(test_agent_utils.py): format test assertions for consistency and readability in agent creation tests
* feat: Update limit_tokens function to support Dict type for state parameter
* feat: Update limit_tokens to handle both list and dict input types
* refactor: Extract duplicate token trimming logic into helper function
* refactor: Rename and update message trimming functions for clarity
* refactor: Extract agent kwargs logic into a helper method for reuse
* refactor: Rename _build_agent_kwargs to build_agent_kwargs for clarity
* fix: Ensure state_modifier is passed correctly for agent creation
* test: Add tests for create_agent token limiting configuration
* refactor: Simplify CiaynAgent instantiation to only use max_tokens parameter
* refactor: Remove is_react_agent parameter from build_agent_kwargs function
* test: Fix test assertions for state_modifier in agent creation tests
* fix: Update agent creation to handle checkpointer and simplify tests
* test: Remove unnecessary assertions from agent creation test
* feat: Implement token limiting configuration for create_agent function
* refactor: Remove unused model info and token limit retrieval code
* test: Fix assertion errors in agent creation tests and update state_modifier handling
* test: Remove commented-out code and clarify assertions in tests
* test: Fix assertion in test_create_agent_anthropic_token_limiting_disabled
* feat(main.py): add --limit-tokens argument to control token limiting in agent state
fix(main.py): include limit_tokens in configuration to ensure proper state management
* test: Refactor agent creation tests for improved readability and consistency
* test: Modify error handling in create_agent test to use side_effect on get_model_token_limit
* test: Improve error handling in create_agent test to verify fallback behavior
* test: Trigger exception on get_model_token_limit in error handling test
* refactor(agent_utils.py): remove unused config parameter from create_agent function to simplify the function signature
fix(agent_utils.py): ensure config is always retrieved from _global_memory with a default value to prevent potential errors
test(tests/test_agent_utils.py): remove outdated test for create_agent error handling to clean up the test suite
* feat: Add debug print for agent_kwargs in create_agent function
* refactor: Replace lambda with inner function for state_modifier in agent_utils
* refactor: Simplify limit_tokens function to return only message sequences
* feat: Add debug print statements to show token trimming details in trim_messages
* PAIN
* feat(main.py): add debug print statement for args.chat to assist in troubleshooting chat mode
feat(agent_utils.py): implement estimate_messages_tokens function to calculate total tokens in messages
refactor(agent_utils.py): replace token counting logic in trim_messages_with_removal with estimate_messages_tokens for clarity
refactor(agent_utils.py): modify state_modifier to accept model and max_tokens parameters for better flexibility
refactor(agent_utils.py): update build_agent_kwargs to pass model to state_modifier for improved functionality
* feat: Add .direnvrc to manage Python virtual environment activation
* refactor: Update state_modifier to handle first message token count and trim messages
* chore: remove unused .direnvrc file to clean up project structure
feat: add .envrc to .gitignore to prevent environment configuration file from being tracked
fix: update help text for --disable-limit-tokens argument for clarity
refactor: clean up imports in agent_utils.py for better readability
refactor: remove unused functions and comments in agent_utils.py to streamline code
test: add unit tests for state_modifier function to ensure correct message trimming behavior
* refactor: Remove commented-out code in create_agent function
* feat: Add is_anthropic_claude method to check provider and model name
* fix: Correct search/replace block to match existing lines in agent_utils.py
* fix(main.py): update help text for --disable-limit-tokens argument to clarify it applies to react agents
refactor(agent_utils.py): streamline token limit retrieval and improve readability by removing redundant checks and restructuring code
refactor(agent_utils.py): modify build_agent_kwargs to use is_anthropic_claude for clarity and maintainability
* test: Update tests to pass config argument to get_model_token_limit()
* refactor(agent_utils.py): remove unnecessary print statements and improve function signatures for clarity
refactor(agent_utils.py): consolidate provider and model_name retrieval into config parameter for better maintainability
* test: Remove redundant token limiting tests from agent creation logic
* test: Refactor test_state_modifier to use mock_messages fixture
* test(tests): update test description for clarity on state_modifier behavior and use mock_messages for assertions to ensure consistency
* refactor(agent_utils.py): simplify token limit retrieval by removing unnecessary variable initialization and defaulting to None in get method
* chore(main.py): remove debug print statement for args.chat to clean up output