* adding requiered packages for loading pdf, docx, md, tex files (preferably pure python packages)
* adding text file utils providing function to load file based on extension && adding read_text_file command
* adding test cases for text file loading (pdf file creation is hardcoded due to external package requierment for creation (a sample file can be added))
* formatting
* changing command name from 'read_text_file' to 'parse_text_document'
* fallback to txtParser if file extension is not known to read script and code files
* adding extension respective parsers
* adding binary file check function
* adding file existance check && raising valueError for unsupported binary file formats
* adding check file type (binary) in test_parsers for specific extensions && fixing mock pdf generation to include null bytes
* adding .yml extension parser
* removal of .doc parser
* updating file loading commands names
* updating test (removing .doc mock function)
* fix: import sort
* new cassette for mem A
* feat: update Cassettes
* feat: consolidate commands
* feat: linting
* feat: updates to cassettes
---------
Co-authored-by: Reinier van der Leer <github@pwuts.nl>
Co-authored-by: Nicholas Tindle <nick@ntindle.com>
Co-authored-by: k-boikov <64261260+k-boikov@users.noreply.github.com>
* Update prompt.py to clarify how to call commands
* new cassettes
* try again with a new cassette
* one last try with the cassette
* black dot
---------
Co-authored-by: k-boikov <64261260+k-boikov@users.noreply.github.com>
Co-authored-by: Nicholas Tindle <nick@ntindle.com>
* * there is really no need to return the reference to the Selenium driver along with the text summary and list of links.
* * removing unused second return value from browse_website()
* * updated cassette
* * updated YAML cassette for test_browse_website
* * after requirements reinstall, another update YAML cassette for test_browse_website
* * another update YAML cassette for test_browse_website, only as a placholder commit to trigger re-testing due to some docker TCP timeout issue
* * another update YAML cassette for test_browse_website
---------
Co-authored-by: batyu <batyu@localhost>
* feat: move task_complete command out of prompt
* fix: formatting fixes
* Add the shutdown command to the test agents
* tests: update test vcrs
---------
Co-authored-by: James Collins <collijk@uw.edu>
* Update remove_color_codes to handle non-string input
The `remove_color_codes` function now accepts any type of input that can be cast to a string. Previously, it was only accepting string input and not casting non-string types to string which was causing errors in some cases.
The changes were made to both logs.py and its corresponding test file.
* Refactor AIConfig to Sanitize Input for Goal Parameters
Details:
- Modified `ai_config.py` to correctly handle and sanitize user input for AI goals and convert them to formatted strings, to fix an issue where some specially formatted ai_settings.yaml files were causing goals to load as list[dict]
- `test_ai_config.py` includes a test for the `sanitize_input` function in `AIConfig` class.
- Removed unnecessary tests from `test_logs.py`
* Update for readabiity
* Update for readabiity
* Updates for conciceness
* Updated tests to confirm AIConfig saves goals as strings
* FIxed trailing space at end of line
---------
Co-authored-by: Luke Kyohere <lkyohere@mfsafrica.com>
Co-authored-by: James Collins <collijk@uw.edu>
* move remove_color_codes to utils and add tests
* Fix for ai_settings goals loaded as list(dict)
Some ai_settings formats can cause goals to load as list(dict)
not list(str)
Refactor code in utils.py to explicitly convert input type to string in
remove_color_codes() function.
- Updated remove_color_codes function to convert input argument
to string type explicitly to avoid unexpected type errors.
- Test case added to check conversion of dict to string in
remove_color_codes function.
* Update tests/test_utils.py
Co-authored-by: James Collins <collijk@uw.edu>
* move remove_color_codes fn and tests to proper files
---------
Co-authored-by: Luke Kyohere <lkyohere@mfsafrica.com>
Co-authored-by: James Collins <collijk@uw.edu>