Commit Graph

101 Commits

Author SHA1 Message Date
AI Christianson 60e4616313 fix agent context 2025-03-07 18:33:45 -05:00
AI Christianson 3607803bf5 use interrupt for tighter control of agent loop 2025-03-07 17:31:27 -05:00
AI Christianson c9f3f37ca3 get rid of global memory 2025-03-04 21:25:37 -05:00
AI Christianson 5bd8c76a22 config repository 2025-03-04 21:01:08 -05:00
AI Christianson 60a6707107 track agent depth via context 2025-03-04 19:05:33 -05:00
AI Christianson a1b268fdf4 get rid of global memory work log refs 2025-03-04 18:30:52 -05:00
AI Christianson d907a0ea9c key snippets 2025-03-04 17:49:17 -05:00
AI Christianson 600bf355d9 use repo pattern 2025-03-04 14:59:45 -05:00
AI Christianson 035544c77a research notes repo 2025-03-03 22:31:51 -05:00
AI Christianson 5202d2e7f3 use context vars for human input repo 2025-03-03 17:58:55 -05:00
AI Christianson 36e4004db0 use context vars for key facts repo 2025-03-03 16:58:03 -05:00
AI Christianson bc9d11e6e2 remove refs to global memory key snippets (dead code/obsolete) 2025-03-03 07:54:37 -05:00
AI Christianson 1c95080897 cleanup 2025-03-02 20:56:16 -05:00
AI Christianson 80e8d9134b include last human input in research prompt 2025-03-02 20:54:39 -05:00
AI Christianson 038e7b886c key snippets db 2025-03-02 19:06:51 -05:00
AI Christianson 073c68d010 cleanup 2025-03-02 16:30:22 -05:00
AI Christianson 746649a1bb cleanup 2025-03-02 16:20:36 -05:00
AI Christianson 935a013a4c key facts repository 2025-03-02 16:00:55 -05:00
AI Christianson 17ab6d2a50 refactor: agents/ -> agent_backends/ 2025-03-02 14:16:15 -05:00
AI Christianson 5736144d89 remove old prompts.py 2025-03-02 13:52:45 -05:00
Ariel Frischer e960a68d29
Binary Skipped ascii filetype fix (#108)
* chore: refactor code for improved readability and maintainability

- Standardize variable naming conventions for consistency.
- Improve logging messages for better clarity and debugging.
- Remove unnecessary imports and clean up code structure.
- Enhance error handling and logging in various modules.
- Update comments and docstrings for better understanding.
- Optimize imports and organize them logically.
- Ensure consistent formatting across files for better readability.
- Refactor functions to reduce complexity and improve performance.
- Add missing type hints and annotations for better code clarity.
- Improve test coverage and organization in test files.

style(tests): apply consistent formatting and spacing in test files for improved readability and maintainability

* chore(tests): remove redundant test for ensure_tables_created with no models to streamline test suite and reduce maintenance overhead

* fix(memory.py): update is_binary_file function to correctly identify binary files by returning True for non-text mime types
2025-02-28 06:47:35 -05:00
AI Christianson 429f854fb8 catch more rate limit errors 2025-02-27 22:42:06 -05:00
AI Christianson 346e22b5cb improve agent crash detection 2025-02-27 11:41:36 -05:00
AI Christianson 6c85a39bbb added agent_should_exit context 2025-02-27 10:14:17 -05:00
AI Christianson 28d9032ca5 agent context 2025-02-26 19:30:08 -05:00
AI Christianson 52722f6600 use latest aider; update tool calling prompts and minimize return values to improve tool calling performance 2025-02-24 19:08:12 -05:00
AI Christianson ca49e509a8 use create_react_agent for sonnet via openrouter 2025-02-18 22:09:06 -05: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 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
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
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
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
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
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
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 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
AI Christianson f40e11ee21 improve work logging; use reasoning_effort=high for openai expert models; improve prompts 2025-02-08 14:36:08 -05:00
AI Christianson 5fad3fc755 make cwd/current date available to more agents 2025-02-08 13:58:16 -05:00
AI Christianson ea992960c1 prompt improvements 2025-02-08 13:36:30 -05:00