Commit Graph

620 Commits

Author SHA1 Message Date
AI Christianson 972ea5284a be more conservative with external process i/o to prevent hung situations 2025-02-13 09:00:29 -05:00
AI Christianson 09e30f2a24 validate expected_runtime_seconds 2025-02-13 08:37:43 -05:00
AI Christianson 098f4a9c53 integrate expected_runtime_seconds with run_shell_command 2025-02-13 08:34:38 -05:00
AI Christianson abfa5a1d6a add expected_runtime_seconds and shutdown processes w/ grace period that run too long. 2025-02-13 08:29:17 -05:00
AI Christianson c5c27c9f87 enforce byte limit in interactive commands 2025-02-13 08:03:16 -05:00
AI Christianson 7d5eb4ca80 relax aider version req. for compatibility with RA.Aid-swe-bench 2025-02-13 07:41:54 -05:00
Ariel Frischer 646d509c22 feat(agent_utils.py): add agent_type retrieval to enhance fallback handling logic
feat(ciayn_agent.py): implement chat_history in CiaynAgent for improved context management during tool execution
refactor(ciayn_agent.py): streamline fallback response handling and logging for better clarity and maintainability
2025-02-13 00:24:31 -08:00
AI Christianson e6b34e4ebc normalize related file paths 2025-02-12 22:12:55 -05:00
AI Christianson f91237ee02 update aider dep 2025-02-12 21:57:42 -05:00
AI Christianson 6e512166f4 upgrade langchain/langgraph deps 2025-02-12 21:54:45 -05:00
Jose M Leon 10ad8aa8d5
FIX aider flags (#89) 2025-02-12 21:46:14 -05:00
Ariel Frischer e508e4d1f2 feat(agent_utils.py): introduce get_agent_type function to determine agent type and improve code clarity
refactor(agent_utils.py): update _run_agent_stream to utilize agent type for output printing
fix(ciayn_agent.py): modify _execute_tool to handle BaseMessage and improve error reporting
feat(ciayn_agent.py): add extract_tool_name method to identify tool names from code
chore(agents_alias.py): create agents_alias module to avoid circular imports and define RAgents type
refactor(config.py): remove direct import of CiaynAgent and update RAgents definition
fix(output.py): update print_agent_output to accept agent type for better error handling
fix(exceptions.py): add CiaynToolExecutionError for distinguishing tool execution failures
refactor(fallback_handler.py): improve logging and error handling in fallback mechanism
2025-02-12 17:55:43 -08:00
Jose M Leon 9bd0edfd10
FEAT print config at the beginning (#88) 2025-02-12 18:52:24 -05:00
Ariel Frischer 96b41458a1 feat(agent_utils.py): refactor agent stream handling to improve clarity and maintainability by introducing reset_agent_completion_flags function
feat(fallback_handler.py): enhance fallback handling by allowing RAgents type and improving error handling
fix(config.py): update RAgents type definition to include both CompiledGraph and CiaynAgent for better type safety
refactor(fallback_handler.py): streamline fallback model invocation and response handling for improved readability and functionality
2025-02-12 15:35:31 -08:00
AI Christianson 23dfc024e3 Version bump. 2025-02-12 18:09:38 -05:00
AI Christianson e3d0de332f use parent tty width 2025-02-12 18:07:38 -05:00
AI Christianson 3d3b3cfba4 set env vars to disable common interactive modes 2025-02-12 18:04:27 -05:00
AI Christianson 18b0ce230e handle raw input in interactive 2025-02-12 17:59:34 -05:00
AI Christianson 7bae09e829 add pyte; improve status panel output 2025-02-12 17:21:03 -05:00
AI Christianson 1fbaeac308 use aider from the current env 2025-02-12 17:17:30 -05:00
AI Christianson 4d14b9747f fix interactive command input 2025-02-12 17:08:37 -05:00
AI Christianson 0c8a4009dc fix bug where completion message was wiped too early 2025-02-12 16:58:39 -05:00
Ariel Frischer 6e8b0f2e42 chore(output.py): remove debug print statements for cleaner code and improved readability 2025-02-12 13:50:37 -08:00
Ariel Frischer 803acc6166 feat(agent_utils.py): convert fallback response to string for prompt concatenation to ensure proper formatting
refactor(fallback_handler.py): change failed_messages from set to list for ordered message handling
refactor(fallback_handler.py): update handle_failure method to accept ToolExecutionError type for better type safety
refactor(fallback_handler.py): implement _reset_on_new_failure method to encapsulate failure reset logic
feat(fallback_handler.py): add construct_prompt_msg_list method to create structured message list for fallback tool calls
2025-02-12 13:39:25 -08:00
AI Christianson a169ed8517 disable put_complete_file_contents; improve prompts; improve status panel output 2025-02-12 16:20:24 -05:00
Ariel Frischer af9f95ceb1 refactor(agent_utils.py): remove the _handle_tool_execution_error function and simplify error handling in run_agent_with_retry
feat(fallback_handler.py): enhance handle_failure method to extract tool name from ToolExecutionError and improve fallback logic
fix(exceptions.py): update ToolExecutionError to include base_message for better error context
feat(output.py): add base_message to ToolExecutionError for improved debugging
chore(tool_configs.py): update get_all_tools function to specify return type
style(logging_config.py): reorder imports for consistency
test(tests): add tests for new error handling and fallback logic in agent_utils and fallback_handler
2025-02-12 13:07:12 -08:00
AI Christianson 905ed2c8fc improve expert model auto detection 2025-02-12 15:55:47 -05:00
AI Christianson e3a705eb9b auto detect openai expert models 2025-02-12 15:40:21 -05:00
AI Christianson c9d7e90312 lower interactive shell history to conserve context; improve prompts 2025-02-12 15:26:48 -05:00
AI Christianson 94f0d96654 lower interactive shell history to conserve context; improve prompts 2025-02-12 15:26:36 -05:00
AI Christianson 6f9ed9562d increase history; fix test 2025-02-12 15:01:02 -05:00
AI Christianson dc079c5d0e improve interactive tty process capture 2025-02-12 14:58:58 -05:00
AI Christianson 7598d42cf9 set temperature param on all initialize_llm calls 2025-02-12 14:15:05 -05:00
AI Christianson d54203b819 fix tests 2025-02-12 13:52:45 -05:00
AI Christianson 087009918b fix tests 2025-02-12 13:50:45 -05:00
AI Christianson a1371fc7e0 support default temp on a per-model basis; show status panel 2025-02-12 13:38:52 -05:00
AI Christianson 264f5025ed Refactor write file tool so it is easier for LLMs to use properly. 2025-02-12 11:51:19 -05:00
Ariel Frischer a7322eaef2 refactor(fallback_handler.py): clean up code by removing unused imports and comments to enhance readability
refactor(fallback_handler.py): extract tool call extraction logic into a separate method for better organization and maintainability
refactor(fallback_handler.py): introduce _parse_tool_arguments method to handle argument parsing, improving code clarity and reusability
2025-02-11 18:38:52 -08:00
Ariel Frischer 67ecf72a6c feat(fallback): implement fallback handler for tool execution errors to enhance error resilience and user experience
refactor(fallback): streamline fallback model selection and invocation process for improved maintainability
fix(config): reduce maximum tool failures from 3 to 2 to tighten error handling thresholds
style(console): improve error message formatting and logging for better clarity and debugging
chore(main): remove redundant fallback tool model handling from main function to simplify configuration management
2025-02-11 18:35:34 -08:00
Ariel Frischer 1388067769 refactor(agent_utils.py): refactor run_agent_with_retry function for better readability and maintainability by extracting helper functions
feat(agent_utils.py): add new helper functions for handling API errors and managing interrupt signals
fix(agent_utils.py): improve error handling in tool execution and retry logic
feat(fallback_handler.py): enhance fallback handling by binding tools correctly during retries
test(tests): add unit tests for new helper functions and refactored logic in agent_utils.py
2025-02-11 12:16:04 -08:00
Ariel Frischer de489584e5 refactor(fallback_handler.py): improve code readability by formatting imports and restructuring for loops
fix(fallback_handler.py): ensure fallback models have a default type of "prompt" and handle exceptions properly during fallback attempts
2025-02-11 01:10:22 -08:00
Ariel Frischer d39be05e39 docs(fallback_handler.py): add detailed docstrings to FallbackHandler methods to improve code documentation and clarity on functionality 2025-02-11 00:44:39 -08:00
Ariel Frischer 3d622911a6 feat(fallback_handler.py): add console notification for tool fallback activation to improve user feedback during failures 2025-02-11 00:40:02 -08:00
Ariel Frischer 0521b3ff9a feat(config.py): add RETRY_FALLBACK_COUNT and RETRY_FALLBACK_DELAY
to configure retry behavior for fallback models

refactor(fallback_handler.py): enhance fallback handling logic to
support both prompt-based and function-calling fallbacks with retries

fix(fallback_handler.py): update fallback model selection to return
dictionaries for better structure and access to model properties
2025-02-11 00:38:15 -08:00
Ariel Frischer 55abf6e5dd feat(fallback_handler): implement FallbackHandler class to manage tool failures and fallback logic
refactor(ciayn_agent): integrate FallbackHandler into CiaynAgent for improved failure handling
fix(agent_utils): add missing newline for better readability in run_agent_with_retry function
test(fallback_handler): add unit tests for FallbackHandler to ensure correct failure handling and fallback logic
2025-02-10 23:37:15 -08:00
Ariel Frischer d8ee4e04f4 feat(fallback): implement automatic fallback to alternative LLM models on consecutive failures to enhance user experience and prevent infinite error loops
refactor(ciayn_agent): restructure tool failure handling to track consecutive failures and fallback attempts more effectively
fix(logging): add pretty logging option for improved log readability
chore(config): define valid providers for LLM selection and update fallback model loading logic
test(ciayn_agent): add unit tests for fallback logic and tool failure handling to ensure reliability and correctness
2025-02-10 14:13:19 -08:00
AI Christianson 589233aaff fix tests 2025-02-10 12:13:14 -05:00
AI Christianson aca62d0c92 update logo 2025-02-10 11:45:36 -05:00
AI Christianson 149e8e2251 set timeouts on llm clients 2025-02-10 11:41:27 -05:00
AI Christianson 26b0f1bdd5 update logo 2025-02-10 11:41:03 -05:00