Commit Graph

362 Commits

Author SHA1 Message Date
AI Christianson 5d262206ec version bump 2025-02-19 20:01:49 -05:00
AI Christianson f9c83d496c Reapply "add app headers for openrouter"
This reverts commit 56ccd938f7.
2025-02-19 19:33:34 -05:00
user 56ccd938f7 Revert "add app headers for openrouter"
This reverts commit 0eb2176ee5.
2025-02-19 19:25:41 -05:00
AI Christianson 0eb2176ee5 add app headers for openrouter 2025-02-19 19:22:18 -05:00
Ariel Frischer 396d7033fa
Show fallback models in config panel (#103)
* feat(readme): update experimental fallback handler description for clarity and add recommendation for OPENAI_API_KEY
feat(main.py): refactor status display logic into a separate build_status function for better readability and maintainability
feat(fallback_handler.py): add debug logging for fallback handler model selection process
chore(todo.md): create a new TODO file to track future improvements and tasks

* chore(todo.md): remove outdated TODO list file to clean up the repository

* feat(main.py): add wrench emoji to FallbackHandler status message for better visibility
2025-02-18 23:15:18 -05:00
AI Christianson ca49e509a8 use create_react_agent for sonnet via openrouter 2025-02-18 22:09:06 -05:00
AI Christianson ba92f49a91 fix bug where we sent reasoning_effort to models that do not support it. fixes #91 2025-02-17 19:08:06 -05:00
AI Christianson 8a2f0efb99 get rid of debug print 2025-02-17 18:54:30 -05:00
Ariel Frischer 5a4710b3be feat(tests): add --test-cmd-timeout argument to README and implement timeout for test command execution
fix(config): define DEFAULT_TEST_CMD_TIMEOUT for consistent test command timeout handling
fix(main.py): remove unused AgentInterrupt import and update test command timeout handling
fix(programmer.py): adjust interactive command execution to use model-specific latency
fix(handle_user_defined_test_cmd_execution.py): update timeout handling for test command execution
test(tests): update tests to verify timeout behavior for test command execution
2025-02-17 15:38:20 -08:00
Ariel Frischer e6ba8f5dff
Merge pull request #95 from ariel-frischer/test-cmd-args
feat: add `--test-cmd-timeout` option to specify timeout for test command
2025-02-17 15:25:09 -08:00
AI Christianson 7c3c616531 use base latency in programmer tool 2025-02-17 18:21:49 -05:00
Ariel Frischer becf8a1fd6 feat(dependabot): add dependabot configuration for daily updates of Python packages
docs(README.md): enhance documentation with installation, configuration, and usage guides
docs(contributing.md): create a contributing guide to encourage community involvement
docs(getting-help.md): add a section for reporting issues and community support
docs(quickstart): reorganize and enhance quickstart documentation for better clarity
style(docusaurus.config.ts): update footer copyright and GitHub link for accuracy
fix(models_params.py): add default base latency parameter for model configurations
feat(usage): add usage examples for creating games and modern web apps with RA.Aid
chore(remove): delete outdated quickstart and tutorial files to streamline documentation
2025-02-17 15:20:54 -08:00
Ariel Frischer 685d098f21 feat(docusaurus): add Vercel analytics plugin to enhance performance tracking
feat(models_params.py): add DEFAULT_BASE_LATENCY constant and integrate it into model parameters for latency management
fix(package.json): add @docusaurus/plugin-vercel-analytics dependency to support new analytics feature
2025-02-17 15:19:01 -08:00
AI Christianson e8e4dac038 add base latency model param 2025-02-17 18:11:33 -05:00
Ariel Frischer 581dc4b761 feat: add `--test-cmd-timeout` option to specify timeout for test command execution
This change introduces a new command-line option `--test-cmd-timeout` to allow users to set a timeout for the execution of test commands. The default timeout is set to 300 seconds. This enhancement provides users with more control over the execution time of their test commands, helping to prevent indefinite hangs during testing.

Additionally, the codebase has been updated to utilize this new timeout setting in relevant areas, ensuring consistent behavior across the application.
2025-02-17 11:03:19 -08:00
Ariel Frischer 9ff09b9b93 refactor(shell.py): rename expected_runtime_seconds parameter to timeout for clarity and consistency in function signature 2025-02-17 10:45:49 -08:00
Ariel Frischer 81354df48b fix(ciayn_agent.py): correct spelling of "execute" in error message for clarity
refactor(ciayn_agent.py): improve error handling by chaining exceptions for better debugging
docs(output.py): update docstring to include agent_type parameter for clarity on agent behavior
2025-02-14 14:45:33 -08:00
Ariel Frischer 4a2a0b691c chore(llm.py): remove unused import of BaseMessage to clean up code and improve readability 2025-02-14 14:42:56 -08:00
Ariel Frischer 119afd8600 refactor(tool_configs.py): remove unused get_all_tools_simple function to clean up code and improve maintainability 2025-02-14 14:41:42 -08:00
Ariel Frischer 7c828053d3 chore(main.py): remove deprecated fallback tool arguments to simplify configuration and reduce complexity 2025-02-14 14:40:46 -08:00
Ariel Frischer 69281c31db chore(llm.py): remove unused merge_chat_history function to clean up codebase
chore(test_fallback_handler.py): remove references to the removed merge_chat_history function in tests to maintain consistency
2025-02-14 14:20:11 -08:00
Ariel Frischer f65918cfd3 refactor(ciayn_agent.py): remove unused variables tool_failure_current_provider and tool_failure_current_model to clean up the code and improve readability 2025-02-14 14:11:33 -08:00
Ariel Frischer 56ddd967c0 fix(imports): remove redundant import of models_params in __main__.py for cleaner code
style(fallback_handler.py): format error message for better readability
style(test_llm.py): format exception assertion for better readability
2025-02-14 13:54:36 -08:00
Ariel Frischer 27400d6225 feat(ciayn_agent.py): add fallback_fixed_msg to inform users about fallback tool handling
fix(ciayn_agent.py): ensure error message is logged in chat history when fallback response is empty
2025-02-14 13:54:06 -08:00
Ariel Frischer f3a5ce6d8e chore(ciayn_agent.py): remove debug logging for extracted tool call to clean up logs and reduce verbosity 2025-02-14 13:50:43 -08:00
Ariel Frischer 0df5d43333 feat(main.py): import models_params and set default temperature for models that support it to improve user experience
fix(ciayn_agent.py): update fallback tool error messages to use FallbackToolExecutionError for better error handling
fix(config.py): remove unnecessary blank line to maintain code style consistency
fix(fallback_handler.py): raise FallbackToolExecutionError for better error clarity when tools are not found
fix(llm.py): set default temperature to 0.7 and notify user when not provided for models that support it
test(test_llm.py): update tests to check for default temperature behavior and improve error messages for unsupported providers
2025-02-14 13:50:32 -08:00
Ariel Frischer 6970a885e4 chore(docs): update documentation and assets for RA.Aid project using Docusaurus
- Add new versioned documentation for RA.Aid project.
- Include installation instructions, quick starts, and markdown features.
- Add configuration files for Docusaurus setup.
- Introduce new images and logos for branding.
- Create a sidebar for better navigation in documentation.
- Implement a .gitignore file for the docs directory to exclude unnecessary files.

feat(docs): add SVG illustrations for Docusaurus documentation to enhance visual appeal
feat(docs): create tsconfig.json for improved TypeScript support in Docusaurus
fix(pyproject.toml): update dependencies to latest versions for better compatibility and features
fix(__main__.py): improve expert provider selection logic based on available API keys
feat(llm.py): implement function to fetch available OpenAI models and select expert model
fix(file_listing.py): enhance file listing functionality to include hidden files option and improve error handling
fix(deepseek_chat.py): add timeout and max_retries parameters to ChatDeepseekReasoner initialization
fix(version.py): bump version to 0.14.1 for release readiness

feat(models_params.py): add default_temperature to model parameters for consistency and configurability
refactor(interactive.py): enhance run_interactive_command to support expected runtime and improve output capture
fix(prompts.py): update instructions to clarify file modification methods
refactor(provider_strategy.py): streamline expert model selection logic for clarity and maintainability
chore(tool_configs.py): update tool imports to reflect changes in write_file functionality
refactor(agent.py): enhance LLM initialization to include temperature and improve error handling
feat(memory.py): normalize file paths in emit_related_files to prevent duplicates
feat(programmer.py): add get_aider_executable function to retrieve the aider executable path
test: add comprehensive tests for new features and refactor existing tests for clarity and coverage
2025-02-14 13:11:10 -08:00
Ariel Frischer d5e2e0a9a0 refactor(agent_utils.py, ciayn_agent.py): remove unused import cpm to clean up code and improve readability
style(tests): format code for better readability and consistency in test files
test(tests): update assertions and test cases for better clarity and maintainability
2025-02-14 13:04:41 -08:00
Ariel Frischer 90b3070aa2 chore(agent_utils.py): remove debug print statement for config to clean up output
chore(fallback_handler.py): comment out cpm call for tool call result to reduce logging noise
2025-02-13 20:14:07 -08:00
Ariel Frischer efec91579a refactor(ciayn_agent.py): remove unnecessary raise statement and debug log to clean up code 2025-02-13 20:09:47 -08:00
Ariel Frischer 15ce534f8f feat(agent_utils.py): add debug print for config to assist in troubleshooting
feat(ciayn_agent.py): pass config to CiaynAgent for improved functionality
fix(ciayn_agent.py): handle tool execution errors more gracefully with msg_list
feat(fallback_handler.py): enhance handle_failure method to utilize msg_list for better context
feat(fallback_handler.py): implement init_msg_list to manage message history effectively
test(test_fallback_handler.py): add unit tests for init_msg_list to ensure correct behavior
2025-02-13 20:09:21 -08:00
Ariel Frischer 9caa46bc78 refactor(agent_utils.py): remove redundant agent_type parameter from _handle_fallback_response and run_agent_with_retry functions to simplify function signatures
feat(agent_utils.py): retrieve agent_type within _handle_fallback_response to maintain functionality while improving code clarity
2025-02-13 19:16:13 -08:00
Ariel Frischer cc1945facd feat(agent_utils.py): change SystemMessage to HumanMessage for fallback responses in React to improve message clarity
fix(fallback_handler.py): update tool invocation logic to handle missing tools and raise appropriate exceptions for better error handling
test(tests): add comprehensive tests for fallback handler functionality, including loading models, extracting tool names, and invoking tools to ensure robustness and reliability
2025-02-13 18:48:45 -08:00
Ariel Frischer 15a3291254 refactor(agent_utils.py): remove unnecessary debug log statement to clean up code
refactor(fallback_handler.py): improve error handling by raising a specific exception when all fallback models fail
test(fallback_handler.py): update tests to reflect changes in the fallback handler's error handling and initialization
fix(test_llm.py): update error messages in tests for unsupported providers to be more descriptive and accurate
2025-02-13 18:20:00 -08:00
Ariel Frischer ac13ce746a feat(agent_utils.py): add cpm function import for enhanced logging in run_agent_with_retry
fix(agent_utils.py): set default value of fallback_handler to None in run_agent_with_retry
chore(ciayn_agent.py): comment out debug log for generated code to reduce verbosity
fix(fallback_handler.py): change fallback_enabled config key to experimental_fallback_handler for better clarity
refactor(test_ciayn_agent.py): update invoke method in DummyModel to return AIMessage instead of a custom Response class
test(test_ciayn_agent.py): comment out test_retry_logic_with_failure_recovery for future implementation and focus on existing tests
2025-02-13 17:57:27 -08:00
Ariel Frischer cd8d1c459d feat(readme): document new command line arguments for experimental features
feat(main.py): add --experimental-fallback-handler argument to enable fallback handler
fix(agent_utils.py): modify init_fallback_handler to check for experimental fallback handler flag
fix(config.py): increase DEFAULT_MAX_TOOL_FAILURES to allow more retries before failure
2025-02-13 17:01:46 -08:00
Ariel Frischer 2420dfbb4f refactor(agent_utils.py): extract fallback handler initialization into a separate function to improve code readability and maintainability
fix(ciayn_agent.py): reset fallback handler after executing tool to ensure proper state management
style(fallback_handler.py): format method signature for better readability
2025-02-13 16:53:22 -08:00
Ariel Frischer 63e48db9de feat(agent_utils.py): add _handle_fallback_response function to streamline fallback handling logic
refactor(agent_utils.py): extract fallback handling logic from run_agent_with_retry to improve code readability
fix(ciayn_agent.py): update stream method parameter name for consistency
chore(agents_alias.py): reorder import statements to follow best practices
style(fallback_handler.py): reorder exception imports for consistency and clarity
2025-02-13 16:47:31 -08:00
Ariel Frischer 115cde98b6 feat(agent_utils.py): add FallbackToolExecutionError exception to handle fallback tool execution failures
fix(ciayn_agent.py): improve error message template for tool call errors to provide clearer guidance
refactor(ciayn_agent.py): update comment for clarity regarding fallback tool invocation
fix(output.py): clarify that CiaynAgent handles tool execution errors internally
fix(fallback_handler.py): raise FallbackToolExecutionError for better error handling in fallback scenarios
2025-02-13 16:42:59 -08:00
Ariel Frischer e2cd51c66d feat(agent_utils.py): add SystemMessage import and improve logging messages for clarity
fix(agent_utils.py): handle fallback responses more effectively and ensure fallback handler is optional
refactor(ciayn_agent.py): streamline prompt building and extract tool call logic into a separate method
chore(ciayn_agent.py): remove commented-out code and improve fallback response handling
chore(exceptions.py): remove unused CiaynToolExecutionError class to clean up code
chore(fallback_handler.py): simplify fallback response handling logic
chore(logging_config.py): add debug print statement for logging handler usage
chore(prompts.py): update prompts for clarity and maintainability
2025-02-13 16:14:24 -08:00
AI Christianson 66aa13f6ee Version bump. 2025-02-13 09:50:00 -05:00
AI Christianson 93a3f8ccd7 remove reference to write_file_tool 2025-02-13 09:47:19 -05:00
AI Christianson 1084faaf0b normalize/dedupe files for programmer tool 2025-02-13 09:45:32 -05:00
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
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