Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(agent): Disable profile generator -> speed up agent setup #7121

Open
wants to merge 9 commits into
base: master
Choose a base branch
from

Conversation

Pwuts
Copy link
Member

@Pwuts Pwuts commented May 3, 2024

User description

  • Remove dead AIProfile.api_budget attribute
  • Generalize example call in profile_generator.py
  • Remove agent.ai_profile and agent.directives attributes
  • Add default AutoGPT profile to ai_profile.py & disable profile generator
  • Disable custom AI profile generation in agent_protocol_server.py

Type

enhancement, bug_fix


Description

  • Refactored create_agent to handle optional AIProfile, using defaults when not provided.
  • Generalized the example call in profile_generator.py for broader use.
  • Streamlined agent initialization by removing specific AI profiles and directives.
  • Disabled budget constraints in system prompts to avoid unnecessary restrictions.
  • Optimized agent creation in the protocol server by replacing generate_agent_for_task with create_agent.
  • Replaced task-specific AI profile generation with default profiles in the main application flow.
  • Simplified the SystemComponent by removing unused directives related to AI profiles.
  • Updated AIProfile to have default values and removed the api_budget attribute.
  • Adjusted unit tests to align with the removal of api_budget from AIProfile.

Changes walkthrough

Relevant files
Enhancement
7 files
configurators.py
Refactor create_agent to Handle Optional AIProfile             

autogpts/autogpt/autogpt/agent_factory/configurators.py

  • Made ai_profile parameter optional in create_agent function,
    defaulting to a new AIProfile instance if not provided.
  • Added handling for missing ai_profile and directives by creating
    default instances within the function.
  • +3/-1     
    profile_generator.py
    Simplify and Generalize Example Call in Profile Generator

    autogpts/autogpt/autogpt/agent_factory/profile_generator.py

  • Simplified the structure of _example_call to a more generalized
    format.
  • +40/-46 
    agent.py
    Streamline Agent Initialization by Removing Specific Profiles

    autogpts/autogpt/autogpt/agents/agent.py

  • Removed ai_profile and directives from agent initialization, using
    system-wide defaults instead.
  • +1/-3     
    agent_protocol_server.py
    Optimize Agent Creation in Protocol Server                             

    autogpts/autogpt/autogpt/app/agent_protocol_server.py

  • Replaced generate_agent_for_task with create_agent to streamline agent
    creation.
  • Removed logging for agent creation to potentially improve performance.

  • +5/-4     
    main.py
    Use Default AI Profiles in Main Application Flow                 

    autogpts/autogpt/autogpt/app/main.py

  • Replaced task-specific AI profile generation with a default profile
    setup.
  • Added comments to reconsider the performance benefits of task-oriented
    profiles.
  • +17/-9   
    system.py
    Simplify System Component by Removing Unused Directives   

    autogpts/autogpt/autogpt/commands/system.py

  • Removed DirectiveProvider implementation and related methods as
    ai_profile is no longer used here.
  • +3/-11   
    ai_profile.py
    Update AIProfile with Defaults and Remove Budget                 

    autogpts/autogpt/autogpt/config/ai_profile.py

  • Set default values for ai_name and ai_role in AIProfile.
  • Removed api_budget attribute from AIProfile.
  • +15/-9   
    Bug_fix
    1 files
    one_shot.py
    Disable Budget Constraint in System Prompt                             

    autogpts/autogpt/autogpt/agents/prompt_strategies/one_shot.py

    • Commented out the budget constraint addition to the system prompt.
    +1/-1     
    Tests
    1 files
    test_ai_profile.py
    Update AIProfile Unit Tests for Budget Removal                     

    autogpts/autogpt/tests/unit/test_ai_profile.py

  • Updated tests to reflect the removal of api_budget from AIProfile.
  • +0/-4     

    PR-Agent usage:
    Comment /help on the PR to get a list of all available PR-Agent tools and their descriptions

    Pwuts added 5 commits May 3, 2024 15:37
    Currently it's specified in an OpenAI-specific format, which might adversely affect performance with other providers.
    …ace usages with `agent.state.*`
    
    This prevents potential state inconsistency between `agent` and `agent.state` when other values are assigned to `agent.ai_profile` and `agent.directives`
    - Replace `generate_agent_for_task` by `create_agent`
    - Make `ai_profile` parameter on `create_agent` optional (use default `AIProfile` if not passed)
    @Pwuts Pwuts requested a review from a team as a code owner May 3, 2024 13:59
    Copy link

    netlify bot commented May 3, 2024

    Deploy Preview for auto-gpt-docs canceled.

    Name Link
    🔨 Latest commit 4f30373
    🔍 Latest deploy log https://app.netlify.com/sites/auto-gpt-docs/deploys/665100d79523cb0008135846

    @codiumai-pr-agent-pro codiumai-pr-agent-pro bot added enhancement New feature or request bug_fix labels May 3, 2024
    Copy link

    PR-Agent was enabled for this repository. To continue using it, please link your git user with your CodiumAI identity here.

    PR Description updated to latest commit (b0e02fa)

    Copy link

    PR-Agent was enabled for this repository. To continue using it, please link your git user with your CodiumAI identity here.

    PR Review

    ⏱️ Estimated effort to review [1-5]

    3, because the PR involves multiple files and significant changes in the system's behavior, particularly in how agents are configured and profiles are generated. The changes impact core functionalities and require careful review to ensure that the new default behaviors align with expected outcomes without introducing regressions.

    🧪 Relevant tests

    No

    🔍 Possible issues

    Possible Bug: In autogpts/autogpt/autogpt/agent_factory/configurators.py, the function create_agent now uses a default AIProfile if none is provided. This change assumes that the default profile is always suitable, which might not be the case for all tasks. This could lead to unexpected behavior if the default profile does not meet the specific requirements of certain tasks.

    Logic Change: The removal of api_budget in various parts of the codebase could lead to unforeseen issues if other parts of the system still expect this attribute to exist or to be used in calculations or checks.

    🔒 Security concerns

    No

    Code feedback:
    relevant fileautogpts/autogpt/autogpt/agent_factory/configurators.py
    suggestion      

    Consider implementing a mechanism to allow for the specification of different default profiles based on the task type. This could enhance flexibility and ensure that the agent's behavior is optimized for its specific tasks. [important]

    relevant lineai_profile = AIProfile()

    relevant fileautogpts/autogpt/autogpt/agents/agent.py
    suggestion      

    Ensure that all components that previously depended on ai_profile and directives being set during initialization are still functioning correctly with their removal. It might be necessary to adjust the logic in these components to handle the absence of these attributes. [important]

    relevant line- self.ai_profile = settings.ai_profile

    relevant fileautogpts/autogpt/autogpt/commands/system.py
    suggestion      

    Given the removal of the api_budget attribute, ensure that no other parts of the system rely on this attribute to function correctly. If necessary, implement alternative mechanisms to handle budget-related functionalities. [medium]

    relevant line- if self.profile.api_budget > 0.0:

    Copy link

    PR-Agent was enabled for this repository. To continue using it, please link your git user with your CodiumAI identity here.

    CI Failure Feedback

    Action: test (3.10, macos-arm64)

    Failed stage: Run pytest with coverage [❌]

    Failed test name: test_ai_profile_file_not_exists, test_ai_profile_file_is_empty

    Failure summary:

    The action failed due to two unit tests in tests/unit/test_ai_profile.py:

  • test_ai_profile_file_not_exists: Expected the ai_name attribute to be an empty string, but it was
    'AutoGPT'.
  • test_ai_profile_file_is_empty: Expected the ai_name attribute to be an empty string after attempting
    to load from an empty file, but it was 'AutoGPT'.

  • Relevant error logs:
    1:  ##[group]Operating System
    2:  macOS
    ...
    
    83:  $ minio server http://node{1...16}.example.com/mnt/export{1...32} \
    84:  http://node{17...64}.example.com/mnt/export{1...64}
    85:  5. Start distributed MinIO server, with FTP and SFTP servers on all interfaces via port 8021, 8022 respectively
    86:  $ minio server http://node{1...4}.example.com/mnt/export{1...4} \
    87:  --ftp="address=:8021" --ftp="passive-port-range=30000-40000" \
    88:  --sftp="address=:8022" --sftp="ssh-private-key=${HOME}/.ssh/id_rsa"
    89:  🍺  /opt/homebrew/Cellar/minio/RELEASE.2024-05-01T01-11-10Z_1: 3 files, 103.7MB, built in 2 seconds
    90:  Formatting 1st pool, 1 set(s), 1 drives per set.
    91:  WARNING: Host local has more than 0 drives of set. A host failure will result in data becoming unavailable.
    ...
    
    299:  Installing collected packages: pip
    300:  Successfully installed pip-24.0
    301:  Install OpenSSL certificates
    302:  Collecting certifi
    303:  Using cached certifi-2024.2.2-py3-none-any.whl.metadata (2.2 kB)
    304:  Using cached certifi-2024.2.2-py3-none-any.whl (163 kB)
    305:  Installing collected packages: certifi
    306:  Successfully installed certifi-2024.2.2
    307:  ##[error][notice] A new release of pip is available: 23.0.1 -> 24.0
    ...
    
    679:  [gw1] [  4%] PASSED tests/unit/test_json_utils.py::test_json_loads_fixable[fixable_json9] 
    680:  [gw2] [  5%] PASSED tests/unit/test_local_file_storage.py::test_open_file[file_path1] 
    681:  tests/unit/test_local_file_storage.py::test_open_file[file_path2] 
    682:  tests/unit/test_json_utils.py::test_json_loads_fixable[fixable_json10] 
    683:  [gw1] [  5%] PASSED tests/unit/test_json_utils.py::test_json_loads_fixable[fixable_json10] 
    684:  [gw2] [  6%] PASSED tests/unit/test_local_file_storage.py::test_open_file[file_path2] 
    685:  tests/unit/test_local_file_storage.py::test_open_file[file_path3] 
    686:  tests/unit/test_json_utils.py::test_json_loads_fixable[fixable_json11] 
    687:  [gw0] [  6%] FAILED tests/unit/test_ai_profile.py::test_ai_profile_file_not_exists 
    688:  tests/unit/test_ai_profile.py::test_ai_profile_file_is_empty 
    689:  [gw1] [  6%] PASSED tests/unit/test_json_utils.py::test_json_loads_fixable[fixable_json11] 
    690:  [gw2] [  7%] PASSED tests/unit/test_local_file_storage.py::test_open_file[file_path3] 
    691:  tests/unit/test_local_file_storage.py::test_write_read_file 
    692:  tests/unit/test_json_utils.py::test_json_loads_fixable[fixable_json12] 
    693:  [gw2] [  7%] PASSED tests/unit/test_local_file_storage.py::test_write_read_file 
    694:  [gw1] [  8%] PASSED tests/unit/test_json_utils.py::test_json_loads_fixable[fixable_json12] 
    695:  [gw0] [  8%] FAILED tests/unit/test_ai_profile.py::test_ai_profile_file_is_empty 
    ...
    
    794:  [gw1] [ 28%] PASSED tests/unit/test_logs.py::test_remove_color_codes[hello-hello] 
    795:  tests/unit/test_local_file_storage.py::test_get_path_inaccessible[inaccessible_path1] 
    796:  tests/unit/test_logs.py::test_remove_color_codes[hello\x1b[31m world-hello world] 
    797:  [gw1] [ 28%] PASSED tests/unit/test_logs.py::test_remove_color_codes[hello\x1b[31m world-hello world] 
    798:  tests/unit/test_logs.py::test_remove_color_codes[\x1b[36mHello,\x1b[32m World!-Hello, World!] 
    799:  [gw2] [ 28%] PASSED tests/unit/test_local_file_storage.py::test_get_path_inaccessible[inaccessible_path1] 
    800:  [gw1] [ 29%] PASSED tests/unit/test_logs.py::test_remove_color_codes[\x1b[36mHello,\x1b[32m World!-Hello, World!] 
    801:  tests/unit/test_local_file_storage.py::test_get_path_inaccessible[inaccessible_path2] 
    802:  tests/unit/test_logs.py::test_remove_color_codes[\x1b[1m\x1b[31mError:\x1b[0m\x1b[31m file not found-Error: file not found] 
    803:  [gw1] [ 29%] PASSED tests/unit/test_logs.py::test_remove_color_codes[\x1b[1m\x1b[31mError:\x1b[0m\x1b[31m file not found-Error: file not found] 
    ...
    
    830:  tests/unit/test_file_operations.py::test_write_to_file_absolute_path 
    831:  [gw2] [ 35%] PASSED tests/unit/test_url_validation.py::test_url_validation_succeeds[https://google.com/search?query=abc] 
    832:  tests/unit/test_url_validation.py::test_url_validation_succeeds[https://google.com/search?query=abc&p=123] 
    833:  [gw2] [ 35%] PASSED tests/unit/test_url_validation.py::test_url_validation_succeeds[https://google.com/search?query=abc&p=123] 
    834:  tests/unit/test_url_validation.py::test_url_validation_succeeds[http://google.com/] 
    835:  [gw2] [ 36%] PASSED tests/unit/test_url_validation.py::test_url_validation_succeeds[http://google.com/] 
    836:  tests/unit/test_url_validation.py::test_url_validation_succeeds[http://a.lot.of.domain.net/param1/param2] 
    837:  [gw2] [ 36%] PASSED tests/unit/test_url_validation.py::test_url_validation_succeeds[http://a.lot.of.domain.net/param1/param2] 
    838:  tests/unit/test_url_validation.py::test_url_validation_fails_invalid_url[htt://example.com-Invalid URL format] 
    839:  [gw2] [ 36%] PASSED tests/unit/test_url_validation.py::test_url_validation_fails_invalid_url[htt://example.com-Invalid URL format] 
    840:  tests/unit/test_url_validation.py::test_url_validation_fails_invalid_url[httppp://example.com-Invalid URL format] 
    841:  [gw2] [ 37%] PASSED tests/unit/test_url_validation.py::test_url_validation_fails_invalid_url[httppp://example.com-Invalid URL format] 
    842:  tests/unit/test_url_validation.py::test_url_validation_fails_invalid_url[ https://example.com-Invalid URL format] 
    843:  [gw2] [ 37%] PASSED tests/unit/test_url_validation.py::test_url_validation_fails_invalid_url[ https://example.com-Invalid URL format] 
    844:  tests/unit/test_url_validation.py::test_url_validation_fails_invalid_url[http://?query=q-Missing Scheme or Network location] 
    845:  [gw2] [ 38%] PASSED tests/unit/test_url_validation.py::test_url_validation_fails_invalid_url[http://?query=q-Missing Scheme or Network location] 
    846:  tests/unit/test_url_validation.py::test_url_validation_fails_local_path[file://localhost] 
    847:  [gw2] [ 38%] PASSED tests/unit/test_url_validation.py::test_url_validation_fails_local_path[file://localhost] 
    848:  tests/unit/test_url_validation.py::test_url_validation_fails_local_path[file://localhost/home/reinier/secrets.txt] 
    849:  [gw2] [ 38%] PASSED tests/unit/test_url_validation.py::test_url_validation_fails_local_path[file://localhost/home/reinier/secrets.txt] 
    850:  tests/unit/test_url_validation.py::test_url_validation_fails_local_path[file:///home/reinier/secrets.txt] 
    851:  [gw0] [ 39%] PASSED tests/unit/test_file_operations.py::test_write_to_file_absolute_path 
    852:  tests/unit/test_file_operations.py::test_list_files 
    853:  [gw2] [ 39%] PASSED tests/unit/test_url_validation.py::test_url_validation_fails_local_path[file:///home/reinier/secrets.txt] 
    854:  tests/unit/test_url_validation.py::test_url_validation_fails_local_path[file:///C:/Users/Reinier/secrets.txt] 
    855:  [gw2] [ 40%] PASSED tests/unit/test_url_validation.py::test_url_validation_fails_local_path[file:///C:/Users/Reinier/secrets.txt] 
    ...
    
    876:  tests/unit/test_utils.py::test_validate_yaml_file_valid 
    877:  [gw2] [ 44%] PASSED tests/unit/test_utils.py::test_validate_yaml_file_valid 
    878:  tests/unit/test_utils.py::test_validate_yaml_file_not_found 
    879:  [gw2] [ 44%] PASSED tests/unit/test_utils.py::test_validate_yaml_file_not_found 
    880:  tests/unit/test_utils.py::test_validate_yaml_file_invalid 
    881:  [gw2] [ 45%] PASSED tests/unit/test_utils.py::test_validate_yaml_file_invalid 
    882:  tests/unit/test_utils.py::test_get_bulletin_from_web_success 
    883:  [gw2] [ 45%] PASSED tests/unit/test_utils.py::test_get_bulletin_from_web_success 
    884:  tests/unit/test_utils.py::test_get_bulletin_from_web_failure 
    885:  [gw2] [ 46%] PASSED tests/unit/test_utils.py::test_get_bulletin_from_web_failure 
    886:  tests/unit/test_utils.py::test_get_bulletin_from_web_exception 
    887:  [gw2] [ 46%] PASSED tests/unit/test_utils.py::test_get_bulletin_from_web_exception 
    888:  tests/unit/test_utils.py::test_get_latest_bulletin_no_file 
    889:  [gw0] [ 46%] PASSED tests/unit/test_git_commands.py::test_clone_auto_gpt_repository 
    890:  tests/unit/test_git_commands.py::test_clone_repository_error 
    ...
    
    892:  tests/unit/test_utils.py::test_get_latest_bulletin_with_file 
    893:  [gw2] [ 47%] PASSED tests/unit/test_utils.py::test_get_latest_bulletin_with_file 
    894:  tests/unit/test_utils.py::test_get_latest_bulletin_with_new_bulletin 
    895:  [gw2] [ 48%] PASSED tests/unit/test_utils.py::test_get_latest_bulletin_with_new_bulletin 
    896:  tests/unit/test_utils.py::test_get_latest_bulletin_new_bulletin_same_as_old_bulletin 
    897:  [gw2] [ 48%] PASSED tests/unit/test_utils.py::test_get_latest_bulletin_new_bulletin_same_as_old_bulletin 
    898:  tests/unit/test_utils.py::test_get_current_git_branch 
    899:  [gw2] [ 48%] SKIPPED tests/unit/test_utils.py::test_get_current_git_branch 
    900:  [gw0] [ 49%] PASSED tests/unit/test_git_commands.py::test_clone_repository_error 
    901:  tests/unit/test_utils.py::test_get_current_git_branch_success 
    902:  tests/unit/test_json_utils.py::test_json_loads_fixable[fixable_json0] 
    903:  [gw2] [ 49%] PASSED tests/unit/test_utils.py::test_get_current_git_branch_success 
    904:  tests/unit/test_utils.py::test_get_current_git_branch_failure 
    905:  [gw0] [ 50%] PASSED tests/unit/test_json_utils.py::test_json_loads_fixable[fixable_json0] 
    906:  [gw2] [ 50%] PASSED tests/unit/test_utils.py::test_get_current_git_branch_failure 
    ...
    
    992:  tests/integration/test_image_gen.py::test_sd_webui[1024] 
    993:  [gw1] [ 67%] XFAIL tests/integration/test_image_gen.py::test_sd_webui[1024] 
    994:  tests/integration/test_image_gen.py::test_sd_webui_negative_prompt[256] 
    995:  [gw1] [ 68%] XFAIL tests/integration/test_image_gen.py::test_sd_webui_negative_prompt[256] 
    996:  tests/integration/test_image_gen.py::test_sd_webui_negative_prompt[512] 
    997:  [gw1] [ 68%] XFAIL tests/integration/test_image_gen.py::test_sd_webui_negative_prompt[512] 
    998:  tests/integration/test_image_gen.py::test_sd_webui_negative_prompt[1024] 
    999:  [gw1] [ 68%] XFAIL tests/integration/test_image_gen.py::test_sd_webui_negative_prompt[1024] 
    1000:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-10-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    1001:  [gw1] [ 69%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-10-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    1002:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-10-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading"}] 
    1003:  [gw1] [ 69%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-10-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading"}] 
    1004:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-10-CompVis/stable-diffusion-v1-4-{"error:}] 
    1005:  [gw1] [ 70%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-10-CompVis/stable-diffusion-v1-4-{"error:}] 
    1006:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-10-CompVis/stable-diffusion-v1-4-] 
    1007:  [gw0] [ 70%] PASSED tests/unit/test_spinner.py::test_spinner_stops_spinning 
    1008:  tests/unit/test_spinner.py::test_spinner_can_be_used_as_context_manager 
    1009:  [gw1] [ 70%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-10-CompVis/stable-diffusion-v1-4-] 
    1010:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-10-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    1011:  [gw1] [ 71%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-10-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    1012:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-10-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading"}] 
    1013:  [gw1] [ 71%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-10-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading"}] 
    1014:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-10-stabilityai/stable-diffusion-2-1-{"error:}] 
    1015:  [gw1] [ 72%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-10-stabilityai/stable-diffusion-2-1-{"error:}] 
    1016:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-10-stabilityai/stable-diffusion-2-1-] 
    1017:  [gw1] [ 72%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-10-stabilityai/stable-diffusion-2-1-] 
    1018:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-0-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    1019:  [gw1] [ 72%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-0-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    1020:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-0-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading"}] 
    1021:  [gw1] [ 73%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-0-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading"}] 
    1022:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-0-CompVis/stable-diffusion-v1-4-{"error:}] 
    1023:  [gw1] [ 73%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-0-CompVis/stable-diffusion-v1-4-{"error:}] 
    1024:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-0-CompVis/stable-diffusion-v1-4-] 
    1025:  [gw1] [ 74%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-0-CompVis/stable-diffusion-v1-4-] 
    1026:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-0-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    1027:  [gw1] [ 74%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-0-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    1028:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-0-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading"}] 
    1029:  [gw1] [ 74%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-0-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading"}] 
    1030:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-0-stabilityai/stable-diffusion-2-1-{"error:}] 
    1031:  [gw0] [ 75%] PASSED tests/unit/test_spinner.py::test_spinner_can_be_used_as_context_manager 
    1032:  [gw1] [ 75%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-0-stabilityai/stable-diffusion-2-1-{"error:}] 
    1033:  tests/unit/test_text_file_parsers.py::test_parsers[.txt-mock_text_file] 
    1034:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-0-stabilityai/stable-diffusion-2-1-] 
    1035:  [gw0] [ 76%] PASSED tests/unit/test_text_file_parsers.py::test_parsers[.txt-mock_text_file] 
    1036:  tests/unit/test_text_file_parsers.py::test_parsers[.csv-mock_csv_file] 
    1037:  [gw0] [ 76%] PASSED tests/unit/test_text_file_parsers.py::test_parsers[.csv-mock_csv_file] 
    1038:  tests/unit/test_text_file_parsers.py::test_parsers[.pdf-mock_pdf_file] 
    1039:  [gw0] [ 76%] PASSED tests/unit/test_text_file_parsers.py::test_parsers[.pdf-mock_pdf_file] 
    1040:  tests/unit/test_text_file_parsers.py::test_parsers[.docx-mock_docx_file] 
    1041:  [gw1] [ 77%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-0-stabilityai/stable-diffusion-2-1-] 
    1042:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-10-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    1043:  [gw0] [ 77%] PASSED tests/unit/test_text_file_parsers.py::test_parsers[.docx-mock_docx_file] 
    1044:  tests/unit/test_text_file_parsers.py::test_parsers[.json-mock_json_file] 
    1045:  [gw1] [ 78%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-10-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    1046:  [gw0] [ 78%] PASSED tests/unit/test_text_file_parsers.py::test_parsers[.json-mock_json_file] 
    1047:  tests/unit/test_text_file_parsers.py::test_parsers[.xml-mock_xml_file] 
    1048:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-10-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading"}] 
    1049:  [gw0] [ 78%] PASSED tests/unit/test_text_file_parsers.py::test_parsers[.xml-mock_xml_file] 
    1050:  tests/unit/test_text_file_parsers.py::test_parsers[.yaml-mock_yaml_file] 
    1051:  [gw0] [ 79%] PASSED tests/unit/test_text_file_parsers.py::test_parsers[.yaml-mock_yaml_file] 
    1052:  tests/unit/test_text_file_parsers.py::test_parsers[.html-mock_html_file] 
    1053:  [gw0] [ 79%] PASSED tests/unit/test_text_file_parsers.py::test_parsers[.html-mock_html_file] 
    1054:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-10-stabilityai/stable-diffusion-2-1-{"error:}] 
    1055:  [gw1] [ 80%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-10-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading"}] 
    1056:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-10-CompVis/stable-diffusion-v1-4-{"error:}] 
    1057:  [gw0] [ 80%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-10-stabilityai/stable-diffusion-2-1-{"error:}] 
    1058:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-10-stabilityai/stable-diffusion-2-1-] 
    1059:  [gw1] [ 80%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-10-CompVis/stable-diffusion-v1-4-{"error:}] 
    1060:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-10-CompVis/stable-diffusion-v1-4-] 
    1061:  [gw1] [ 81%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-10-CompVis/stable-diffusion-v1-4-] 
    1062:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-10-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    1063:  [gw1] [ 81%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-10-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    1064:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-10-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading"}] 
    1065:  [gw0] [ 82%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-10-stabilityai/stable-diffusion-2-1-] 
    1066:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-0-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    1067:  [gw1] [ 82%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-10-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading"}] 
    1068:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-0-CompVis/stable-diffusion-v1-4-{"error:}] 
    1069:  [gw0] [ 82%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-0-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    1070:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-0-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading"}] 
    1071:  [gw1] [ 83%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-0-CompVis/stable-diffusion-v1-4-{"error:}] 
    1072:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-0-CompVis/stable-diffusion-v1-4-] 
    1073:  [gw0] [ 83%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-0-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading"}] 
    1074:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-0-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading"}] 
    1075:  [gw1] [ 84%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-0-CompVis/stable-diffusion-v1-4-] 
    1076:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-0-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    1077:  [gw0] [ 84%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-0-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading"}] 
    1078:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-0-stabilityai/stable-diffusion-2-1-{"error:}] 
    1079:  [gw1] [ 84%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-0-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    1080:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-10-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    1081:  [gw0] [ 85%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-0-stabilityai/stable-diffusion-2-1-{"error:}] 
    1082:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-0-stabilityai/stable-diffusion-2-1-] 
    1083:  [gw1] [ 85%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-10-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    1084:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-10-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading"}] 
    1085:  [gw0] [ 86%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-0-stabilityai/stable-diffusion-2-1-] 
    1086:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-10-CompVis/stable-diffusion-v1-4-{"error:}] 
    1087:  [gw1] [ 86%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-10-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading"}] 
    1088:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-10-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    1089:  [gw0] [ 86%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-10-CompVis/stable-diffusion-v1-4-{"error:}] 
    1090:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-10-CompVis/stable-diffusion-v1-4-] 
    1091:  [gw1] [ 87%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-10-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    1092:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-10-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading"}] 
    1093:  [gw0] [ 87%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-10-CompVis/stable-diffusion-v1-4-] 
    1094:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-10-stabilityai/stable-diffusion-2-1-{"error:}] 
    1095:  [gw1] [ 88%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-10-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading"}] 
    1096:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-10-stabilityai/stable-diffusion-2-1-] 
    1097:  [gw0] [ 88%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-10-stabilityai/stable-diffusion-2-1-{"error:}] 
    1098:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-0-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    1099:  [gw1] [ 88%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-10-stabilityai/stable-diffusion-2-1-] 
    1100:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-0-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading"}] 
    1101:  [gw0] [ 89%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-0-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    1102:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-0-CompVis/stable-diffusion-v1-4-{"error:}] 
    1103:  [gw1] [ 89%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-0-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading"}] 
    1104:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-0-CompVis/stable-diffusion-v1-4-] 
    1105:  [gw0] [ 90%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-0-CompVis/stable-diffusion-v1-4-{"error:}] 
    1106:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-0-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    1107:  [gw1] [ 90%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-0-CompVis/stable-diffusion-v1-4-] 
    1108:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-0-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading"}] 
    1109:  [gw0] [ 90%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-0-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    1110:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-0-stabilityai/stable-diffusion-2-1-{"error:}] 
    1111:  [gw1] [ 91%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-0-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading"}] 
    1112:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-0-stabilityai/stable-diffusion-2-1-] 
    1113:  [gw0] [ 91%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-0-stabilityai/stable-diffusion-2-1-{"error:}] 
    1114:  tests/integration/test_image_gen.py::test_huggingface_fail_request_no_delay 
    1115:  [gw1] [ 92%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-0-stabilityai/stable-diffusion-2-1-] 
    1116:  tests/integration/test_image_gen.py::test_huggingface_fail_request_bad_json 
    1117:  [gw0] [ 92%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_no_delay 
    1118:  tests/integration/test_image_gen.py::test_huggingface_fail_request_bad_image 
    1119:  [gw1] [ 92%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_bad_json 
    1120:  tests/integration/test_image_gen.py::test_huggingface_fail_missing_api_token 
    1121:  [gw0] [ 93%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_bad_image 
    1122:  tests/integration/test_setup.py::test_apply_overrides_to_ai_settings 
    1123:  [gw0] [ 93%] PASSED tests/integration/test_setup.py::test_apply_overrides_to_ai_settings 
    1124:  tests/integration/test_web_selenium.py::test_browse_website_nonexistent_url 
    1125:  [gw1] [ 94%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_missing_api_token 
    1126:  tests/integration/test_setup.py::test_interactively_revise_ai_settings 
    1127:  [gw1] [ 94%] PASSED tests/integration/test_setup.py::test_interactively_revise_ai_settings 
    1128:  [gw2] [ 94%] PASSED tests/unit/test_web_search.py::test_google_search[no results-1-expected_output_parts2-return_value2] 
    1129:  tests/unit/test_web_search.py::test_google_official_search[test-3-search_results0-expected_output0] 
    1130:  [gw2] [ 95%] PASSED tests/unit/test_web_search.py::test_google_official_search[test-3-search_results0-expected_output0] 
    1131:  tests/unit/test_web_search.py::test_google_official_search[-3-search_results1-expected_output1] 
    1132:  [gw2] [ 95%] PASSED tests/unit/test_web_search.py::test_google_official_search[-3-search_results1-expected_output1] 
    1133:  tests/unit/test_web_search.py::test_google_official_search_errors[invalid query-3-HttpError-400-Invalid Value] 
    1134:  [gw2] [ 96%] PASSED tests/unit/test_web_search.py::test_google_official_search_errors[invalid query-3-HttpError-400-Invalid Value] 
    1135:  tests/unit/test_web_search.py::test_google_official_search_errors[invalid API key-3-ConfigurationError-403-invalid API key] 
    1136:  [gw2] [ 96%] PASSED tests/unit/test_web_search.py::test_google_official_search_errors[invalid API key-3-ConfigurationError-403-invalid API key] 
    ...
    
    1146:  [gw2] [ 98%] PASSED tests/integration/test_execute_code.py::test_execute_python_file_not_found 
    1147:  tests/integration/test_execute_code.py::test_execute_shell 
    1148:  [gw2] [ 98%] PASSED tests/integration/test_execute_code.py::test_execute_shell 
    1149:  tests/integration/test_execute_code.py::test_execute_shell_local_commands_not_allowed 
    1150:  [gw2] [ 99%] PASSED tests/integration/test_execute_code.py::test_execute_shell_local_commands_not_allowed 
    1151:  tests/integration/test_execute_code.py::test_execute_shell_denylist_should_deny 
    1152:  [gw2] [ 99%] PASSED tests/integration/test_execute_code.py::test_execute_shell_denylist_should_deny 
    1153:  [gw0] [100%] PASSED tests/integration/test_web_selenium.py::test_browse_website_nonexistent_url 
    1154:  =================================== FAILURES ===================================
    1155:  _______________________ test_ai_profile_file_not_exists ________________________
    1156:  [gw0] darwin -- Python 3.10.11 /Users/runner/Library/Caches/pypoetry/virtualenvs/agpt-nNkDjHiI-py3.10/bin/python
    1157:  storage = <autogpt.file_storage.local.LocalFileStorage object at 0x11568bf10>
    1158:  def test_ai_profile_file_not_exists(storage: FileStorage):
    1159:  """Test if file does not exist."""
    1160:  ai_settings_file = storage.get_path("ai_settings.yaml")
    1161:  ai_profile = AIProfile.load(str(ai_settings_file))
    1162:  >       assert ai_profile.ai_name == ""
    1163:  E       AssertionError: assert 'AutoGPT' == ''
    1164:  E         + AutoGPT
    1165:  tests/unit/test_ai_profile.py:53: AssertionError
    ...
    
    1167:  [gw0] darwin -- Python 3.10.11 /Users/runner/Library/Caches/pypoetry/virtualenvs/agpt-nNkDjHiI-py3.10/bin/python
    1168:  storage = <autogpt.file_storage.local.LocalFileStorage object at 0x115a23a00>
    1169:  def test_ai_profile_file_is_empty(storage: FileStorage):
    1170:  """Test if file does not exist."""
    1171:  ai_settings_file = storage.get_path("ai_settings.yaml")
    1172:  ai_settings_file.write_text("")
    1173:  ai_profile = AIProfile.load(str(ai_settings_file))
    1174:  >       assert ai_profile.ai_name == ""
    1175:  E       AssertionError: assert 'AutoGPT' == ''
    1176:  E         + AutoGPT
    1177:  tests/unit/test_ai_profile.py:65: AssertionError
    ...
    
    1365:  3.14s call     tests/unit/test_web_search.py::test_google_search[no results-1-expected_output_parts2-return_value2]
    1366:  1.28s call     tests/unit/test_spinner.py::test_spinner_stops_spinning
    1367:  0.27s call     tests/unit/test_spinner.py::test_spinner_initializes_with_custom_values
    1368:  0.17s call     tests/unit/test_spinner.py::test_spinner_can_be_used_as_context_manager
    1369:  0.11s call     tests/unit/test_spinner.py::test_spinner_initializes_with_default_values
    1370:  0.11s setup    tests/unit/test_s3_file_storage.py::test_initialize
    1371:  0.08s setup    tests/unit/test_s3_file_storage.py::test_rename_file
    1372:  0.08s setup    tests/unit/test_web_search.py::test_google_official_search[test-3-search_results0-expected_output0]
    1373:  0.08s call     tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-10-CompVis/stable-diffusion-v1-4-]
    1374:  =========================== short test summary info ============================
    1375:  FAILED tests/unit/test_ai_profile.py::test_ai_profile_file_not_exists - AssertionError: assert 'AutoGPT' == ''
    1376:  + AutoGPT
    1377:  FAILED tests/unit/test_ai_profile.py::test_ai_profile_file_is_empty - AssertionError: assert 'AutoGPT' == ''
    1378:  + AutoGPT
    1379:  ====== 2 failed, 232 passed, 5 skipped, 12 xfailed, 20 warnings in 21.63s ======
    1380:  ##[error]Process completed with exit code 1.
    

    ✨ CI feedback usage guide:

    The CI feedback tool (/checks) automatically triggers when a PR has a failed check.
    The tool analyzes the failed checks and provides several feedbacks:

    • Failed stage
    • Failed test name
    • Failure summary
    • Relevant error logs

    In addition to being automatically triggered, the tool can also be invoked manually by commenting on a PR:

    /checks "https://github.com/{repo_name}/actions/runs/{run_number}/job/{job_number}"
    

    where {repo_name} is the name of the repository, {run_number} is the run number of the failed check, and {job_number} is the job number of the failed check.

    Configuration options

    • enable_auto_checks_feedback - if set to true, the tool will automatically provide feedback when a check is failed. Default is true.
    • excluded_checks_list - a list of checks to exclude from the feedback, for example: ["check1", "check2"]. Default is an empty list.
    • enable_help_text - if set to true, the tool will provide a help message with the feedback. Default is true.
    • persistent_comment - if set to true, the tool will overwrite a previous checks comment with the new feedback. Default is true.
    • final_update_message - if persistent_comment is true and updating a previous checks message, the tool will also create a new message: "Persistent checks updated to latest commit". Default is true.

    See more information about the checks tool in the docs.

    Comment on lines 20 to 21
    if not ai_profile:
    ai_profile = AIProfile()

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Suggestion: To avoid creating an unnecessary AIProfile instance when ai_profile is already provided, consider using a more efficient conditional assignment. [enhancement]

    Suggested change
    if not ai_profile:
    ai_profile = AIProfile()
    ai_profile = ai_profile or AIProfile()

    Comment on lines 22 to 23
    if not directives:
    directives = AIDirectives.from_file(app_config.prompt_settings_file)

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Suggestion: Instead of using a simple conditional check for directives, consider using a more Pythonic approach with or to assign default values. [best practice]

    Suggested change
    if not directives:
    directives = AIDirectives.from_file(app_config.prompt_settings_file)
    directives = directives or AIDirectives.from_file(app_config.prompt_settings_file)

    @@ -156,7 +156,7 @@ def build_system_prompt(
    self.config.body_template.format(
    constraints=format_numbered_list(
    ai_directives.constraints
    + self._generate_budget_constraint(ai_profile.api_budget)
    # + self._generate_budget_constraint(ai_profile.api_budget)
    Copy link

    @codiumai-pr-agent-pro codiumai-pr-agent-pro bot May 3, 2024

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Suggestion: The commented-out code for generating budget constraints seems to be removed intentionally. If it's no longer needed, consider removing the commented line to clean up the code. [maintainability]

    Comment on lines 18 to 23
    class SystemComponent(MessageProvider, CommandProvider):
    """Component for system messages and commands."""

    def __init__(self, config: Config, profile: AIProfile):
    def __init__(self, config: Config):
    self.legacy_config = config
    self.profile = profile

    def get_constraints(self) -> Iterator[str]:
    if self.profile.api_budget > 0.0:
    yield (
    f"It takes money to let you run. "
    f"Your API budget is ${self.profile.api_budget:.3f}"
    )

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Suggestion: The SystemComponent class has been simplified by removing the DirectiveProvider role and associated methods. If the budget-related functionality is no longer needed, this change is appropriate. However, if budget constraints are still relevant, consider reintegrating or handling them differently. [possible issue]

    Suggested change
    class SystemComponent(MessageProvider, CommandProvider):
    """Component for system messages and commands."""
    def __init__(self, config: Config, profile: AIProfile):
    def __init__(self, config: Config):
    self.legacy_config = config
    self.profile = profile
    def get_constraints(self) -> Iterator[str]:
    if self.profile.api_budget > 0.0:
    yield (
    f"It takes money to let you run. "
    f"Your API budget is ${self.profile.api_budget:.3f}"
    )
    class SystemComponent(MessageProvider, CommandProvider):
    """Component for system messages and commands."""
    def __init__(self, config: Config, profile: AIProfile):
    self.legacy_config = config
    self.profile = profile
    def get_constraints(self) -> Iterator[str]:
    if self.profile.api_budget > 0.0:
    yield (
    f"It takes money to let you run. "
    f"Your API budget is ${self.profile.api_budget:.3f}"
    )

    Copy link

    PR-Agent was enabled for this repository. To continue using it, please link your git user with your CodiumAI identity here.

    Changelog updates:

    2024-05-03

    Added

    • Default AutoGPT profile with predefined attributes for quicker setup.

    Changed

    • Generalized example calls in profile_generator.py for broader usability.
    • Streamlined agent creation by using default profiles and removing specific AI profiles and directives.

    Fixed

    • Disabled custom AI profile generation to speed up agent setup process.

    to commit the new content to the CHANGELOG.md file, please type:
    '/update_changelog --pr_update_changelog.push_changelog_changes=true'

    Copy link

    PR-Agent was enabled for this repository. To continue using it, please link your git user with your CodiumAI identity here.

    PR Analysis

    • This screen contains a list of code components that were changed in this PR.
    • You can initiate specific actions for each component, by checking the relevant boxes.
    • After you check a box, the action will be performed automatically by PR-Agent.
    • Results will appear as a comment on the PR, typically after 30-60 seconds.
    fileChanged components
    configurators.py
    • Test
    • Docs
    • Improve
    • Similar
     
    create_agent
    (function)
     
    +4/-2
     
    profile_generator.py
    • Test
    • Docs
    • Improve
    • Similar
     
    AgentProfileGeneratorConfiguration
    (class)
     
    +41/-46
     
    agent.py
    • Test
    • Docs
    • Improve
    • Similar
     
    __init__
    (method of Agent)
     
    +2/-4
     
    one_shot.py
    • Test
    • Docs
    • Improve
    • Similar
     
    build_system_prompt
    (method of OneShotAgentPromptStrategy)
     
    +2/-2
     
    agent_protocol_server.py
    • Test
    • Docs
    • Improve
    • Similar
     
    create_task
    (method of AgentProtocolServer)
     
    +5/-3
     
    main.py
    • Test
    • Docs
    • Improve
    • Similar
     
    run_auto_gpt
    (function)
     
    +17/-9
     
    • Test
    • Docs
    • Improve
    • Similar
     
    run_interaction_loop
    (function)
     
    +2/-2
     
    system.py
    • Test
    • Docs
    • Improve
    • Similar
     
    SystemComponent
    (class)
     
    +3/-11
     
    ai_profile.py
    • Test
    • Docs
    • Improve
    • Similar
     
    AIProfile
    (class)
     
    +7/-10
     

    ✨ Usage guide:

    Using static code analysis capabilities, the analyze tool scans the PR code changes and find the code components (methods, functions, classes) that changed in the PR.
    The tool can be triggered automatically every time a new PR is opened, or can be invoked manually by commenting on any PR:

    /analyze
    

    Language that are currently supported: Python, Java, C++, JavaScript, TypeScript.
    See more information about the tool in the docs.

    Copy link

    codiumai-pr-agent-pro bot commented May 4, 2024

    CI Failure Feedback

    (Checks updated until commit a94d019)

    Action: test (3.10, windows)

    Failed stage: Run pytest with coverage [❌]

    Failed test name: test_ai_profile_file_not_exists, test_ai_profile_file_is_empty

    Failure summary:

    The action failed due to two failed tests in tests/unit/test_ai_profile.py. Both tests,
    test_ai_profile_file_not_exists and test_ai_profile_file_is_empty, failed because they expected the
    ai_name attribute of the AIProfile object to be an empty string, but it was 'AutoGPT' instead. This
    discrepancy suggests that the AIProfile.load method does not handle non-existent or empty files as
    expected, possibly due to incorrect default values or file handling.

    Relevant error logs:
    1:  ##[group]Operating System
    2:  Microsoft Windows Server 2022
    ...
    
    616:  tests/unit/test_json_utils.py::test_json_loads_unfixable[unfixable_json2] 
    617:  [gw2] [  8%] PASSED tests/unit/test_json_utils.py::test_json_loads_unfixable[unfixable_json2] 
    618:  tests/unit/test_json_utils.py::test_json_loads_unfixable[unfixable_json3] 
    619:  [gw2] [  8%] PASSED tests/unit/test_json_utils.py::test_json_loads_unfixable[unfixable_json3] 
    620:  [gw3] [  9%] PASSED tests/unit/test_local_file_storage.py::test_write_read_file 
    621:  tests/unit/test_local_file_storage.py::test_list_files 
    622:  tests/unit/test_local_file_storage.py::test_rename[file_path1] 
    623:  [gw3] [  9%] PASSED tests/unit/test_local_file_storage.py::test_list_files 
    624:  [gw0] [ 10%] FAILED tests/unit/test_ai_profile.py::test_ai_profile_file_not_exists 
    625:  tests/unit/test_local_file_storage.py::test_list_folders 
    626:  tests/unit/test_ai_profile.py::test_ai_profile_file_is_empty 
    627:  [gw2] [ 10%] PASSED tests/unit/test_local_file_storage.py::test_rename[file_path1] 
    628:  tests/unit/test_local_file_storage.py::test_rename[file_path2] 
    629:  [gw1] [ 11%] PASSED tests/unit/test_git_commands.py::test_clone_auto_gpt_repository 
    630:  tests/unit/test_git_commands.py::test_clone_repository_error 
    631:  [gw3] [ 11%] PASSED tests/unit/test_local_file_storage.py::test_list_folders 
    632:  [gw2] [ 11%] PASSED tests/unit/test_local_file_storage.py::test_rename[file_path2] 
    633:  [gw0] [ 12%] FAILED tests/unit/test_ai_profile.py::test_ai_profile_file_is_empty 
    ...
    
    637:  [gw3] [ 12%] PASSED tests/unit/test_local_file_storage.py::test_exists_delete_file[file_path0] 
    638:  [gw0] [ 13%] PASSED tests/unit/test_config.py::test_initial_values 
    639:  tests/unit/test_local_file_storage.py::test_exists_delete_file[file_path1] 
    640:  tests/unit/test_config.py::test_fallback_to_gpt3_if_gpt4_not_available 
    641:  [gw2] [ 13%] PASSED tests/unit/test_local_file_storage.py::test_rename[file_path3] 
    642:  [gw3] [ 13%] PASSED tests/unit/test_local_file_storage.py::test_exists_delete_file[file_path1] 
    643:  tests/unit/test_local_file_storage.py::test_clone_with_subroot 
    644:  tests/unit/test_local_file_storage.py::test_exists_delete_file[file_path2] 
    645:  [gw1] [ 14%] PASSED tests/unit/test_git_commands.py::test_clone_repository_error 
    ...
    
    698:  tests/unit/test_config.py::test_azure_config 
    699:  [gw1] [ 25%] PASSED tests/unit/test_json_utils.py::test_json_loads_fixable[fixable_json10] 
    700:  tests/unit/test_json_utils.py::test_json_loads_fixable[fixable_json11] 
    701:  [gw3] [ 26%] PASSED tests/unit/test_local_file_storage.py::test_get_path_inaccessible[inaccessible_path3] 
    702:  [gw2] [ 26%] PASSED tests/unit/test_local_file_storage.py::test_get_path_accessible[accessible_path7] 
    703:  tests/unit/test_local_file_storage.py::test_get_path_inaccessible[inaccessible_path4] 
    704:  tests/unit/test_local_file_storage.py::test_get_path_inaccessible[inaccessible_path12] 
    705:  [gw1] [ 27%] PASSED tests/unit/test_json_utils.py::test_json_loads_fixable[fixable_json11] 
    706:  tests/unit/test_logs.py::test_remove_color_codes[\x1b[1m\x1b[31mError:\x1b[0m\x1b[31m file not found-Error: file not found] 
    707:  [gw0] [ 27%] PASSED tests/unit/test_config.py::test_azure_config 
    708:  tests/unit/test_config.py::test_create_config_gpt4only 
    709:  [gw1] [ 27%] PASSED tests/unit/test_logs.py::test_remove_color_codes[\x1b[1m\x1b[31mError:\x1b[0m\x1b[31m file not found-Error: file not found] 
    ...
    
    742:  tests/unit/test_logs.py::test_remove_color_codes[{'Schaue dir meine Projekte auf github () an, als auch meine Webseiten': 'https://github.com/Significant-Gravitas/AutoGPT, https://discord.gg/autogpt und https://twitter.com/Auto_GPT'}-{'Schaue dir meine Projekte auf github () an, als auch meine Webseiten': 'https://github.com/Significant-Gravitas/AutoGPT, https://discord.gg/autogpt und https://twitter.com/Auto_GPT'}] 
    743:  [gw2] [ 35%] PASSED tests/unit/test_logs.py::test_remove_color_codes[{'Schaue dir meine Projekte auf github () an, als auch meine Webseiten': 'https://github.com/Significant-Gravitas/AutoGPT, https://discord.gg/autogpt und https://twitter.com/Auto_GPT'}-{'Schaue dir meine Projekte auf github () an, als auch meine Webseiten': 'https://github.com/Significant-Gravitas/AutoGPT, https://discord.gg/autogpt und https://twitter.com/Auto_GPT'}] 
    744:  tests/unit/test_logs.py::test_remove_color_codes[-] 
    745:  [gw3] [ 35%] PASSED tests/unit/test_local_file_storage.py::test_get_path_inaccessible[inaccessible_path11] 
    746:  tests/unit/test_url_validation.py::test_url_validation_succeeds[http://a.lot.of.domain.net/param1/param2] 
    747:  [gw2] [ 36%] PASSED tests/unit/test_logs.py::test_remove_color_codes[-] 
    748:  [gw3] [ 36%] PASSED tests/unit/test_url_validation.py::test_url_validation_succeeds[http://a.lot.of.domain.net/param1/param2] 
    749:  tests/unit/test_logs.py::test_remove_color_codes[hello-hello] 
    750:  tests/unit/test_url_validation.py::test_url_validation_fails_invalid_url[htt://example.com-Invalid URL format] 
    751:  [gw2] [ 36%] PASSED tests/unit/test_logs.py::test_remove_color_codes[hello-hello] 
    752:  [gw3] [ 37%] PASSED tests/unit/test_url_validation.py::test_url_validation_fails_invalid_url[htt://example.com-Invalid URL format] 
    753:  tests/unit/test_logs.py::test_remove_color_codes[hello\x1b[31m world-hello world] 
    754:  tests/unit/test_url_validation.py::test_url_validation_fails_invalid_url[httppp://example.com-Invalid URL format] 
    755:  [gw3] [ 37%] PASSED tests/unit/test_url_validation.py::test_url_validation_fails_invalid_url[httppp://example.com-Invalid URL format] 
    756:  [gw2] [ 38%] PASSED tests/unit/test_logs.py::test_remove_color_codes[hello\x1b[31m world-hello world] 
    757:  tests/unit/test_url_validation.py::test_url_validation_fails_invalid_url[ https://example.com-Invalid URL format] 
    758:  tests/unit/test_logs.py::test_remove_color_codes[\x1b[36mHello,\x1b[32m World!-Hello, World!] 
    759:  [gw3] [ 38%] PASSED tests/unit/test_url_validation.py::test_url_validation_fails_invalid_url[ https://example.com-Invalid URL format] 
    760:  [gw2] [ 38%] PASSED tests/unit/test_logs.py::test_remove_color_codes[\x1b[36mHello,\x1b[32m World!-Hello, World!] 
    761:  tests/unit/test_url_validation.py::test_url_validation_fails_invalid_url[http://?query=q-Missing Scheme or Network location] 
    762:  tests/unit/test_url_validation.py::test_happy_path_valid_url 
    763:  [gw2] [ 39%] PASSED tests/unit/test_url_validation.py::test_happy_path_valid_url 
    764:  [gw3] [ 39%] PASSED tests/unit/test_url_validation.py::test_url_validation_fails_invalid_url[http://?query=q-Missing Scheme or Network location] 
    765:  tests/unit/test_url_validation.py::test_url_validation_fails_local_path[file://localhost] 
    766:  tests/unit/test_url_validation.py::test_general_behavior_additional_path_parameters_query_string 
    767:  [gw3] [ 40%] PASSED tests/unit/test_url_validation.py::test_url_validation_fails_local_path[file://localhost] 
    768:  [gw2] [ 40%] PASSED tests/unit/test_url_validation.py::test_general_behavior_additional_path_parameters_query_string 
    769:  tests/unit/test_url_validation.py::test_url_validation_fails_local_path[file://localhost/home/reinier/secrets.txt] 
    770:  tests/unit/test_url_validation.py::test_edge_case_missing_scheme_or_network_location 
    771:  [gw0] [ 41%] PASSED tests/unit/test_file_operations.py::test_read_file 
    772:  [gw3] [ 41%] PASSED tests/unit/test_url_validation.py::test_url_validation_fails_local_path[file://localhost/home/reinier/secrets.txt] 
    773:  [gw2] [ 41%] PASSED tests/unit/test_url_validation.py::test_edge_case_missing_scheme_or_network_location 
    774:  tests/unit/test_url_validation.py::test_url_validation_fails_local_path[file:///home/reinier/secrets.txt] 
    775:  tests/unit/test_file_operations.py::test_read_file_not_found 
    776:  tests/unit/test_url_validation.py::test_edge_case_local_file_access 
    777:  [gw3] [ 42%] PASSED tests/unit/test_url_validation.py::test_url_validation_fails_local_path[file:///home/reinier/secrets.txt] 
    778:  [gw2] [ 42%] PASSED tests/unit/test_url_validation.py::test_edge_case_local_file_access 
    779:  tests/unit/test_url_validation.py::test_url_validation_fails_local_path[file:///C:/Users/Reinier/secrets.txt] 
    780:  tests/unit/test_url_validation.py::test_general_behavior_sanitizes_url 
    781:  [gw3] [ 43%] PASSED tests/unit/test_url_validation.py::test_url_validation_fails_local_path[file:///C:/Users/Reinier/secrets.txt] 
    ...
    
    802:  tests/unit/test_utils.py::test_get_latest_bulletin_new_bulletin_same_as_old_bulletin 
    803:  [gw3] [ 47%] PASSED tests/unit/test_utils.py::test_validate_yaml_file_invalid 
    804:  tests/unit/test_utils.py::test_get_bulletin_from_web_success 
    805:  [gw2] [ 48%] PASSED tests/unit/test_utils.py::test_get_latest_bulletin_new_bulletin_same_as_old_bulletin 
    806:  tests/unit/test_utils.py::test_get_current_git_branch 
    807:  [gw2] [ 48%] SKIPPED tests/unit/test_utils.py::test_get_current_git_branch 
    808:  [gw3] [ 49%] PASSED tests/unit/test_utils.py::test_get_bulletin_from_web_success 
    809:  tests/unit/test_utils.py::test_get_current_git_branch_success 
    810:  tests/unit/test_utils.py::test_get_bulletin_from_web_failure 
    811:  [gw0] [ 49%] PASSED tests/unit/test_file_operations.py::test_read_file_not_found 
    812:  [gw3] [ 50%] PASSED tests/unit/test_utils.py::test_get_bulletin_from_web_failure 
    813:  [gw2] [ 50%] PASSED tests/unit/test_utils.py::test_get_current_git_branch_success 
    814:  tests/unit/test_file_operations.py::test_write_to_file_relative_path 
    815:  tests/unit/test_utils.py::test_get_current_git_branch_failure 
    816:  tests/unit/test_utils.py::test_get_bulletin_from_web_exception 
    817:  [gw2] [ 50%] PASSED tests/unit/test_utils.py::test_get_current_git_branch_failure 
    ...
    
    900:  tests/integration/test_image_gen.py::test_huggingface[256-stabilityai/stable-diffusion-2-1] 
    901:  [gw3] [ 68%] XFAIL tests/integration/test_image_gen.py::test_huggingface[1024-stabilityai/stable-diffusion-2-1] 
    902:  tests/integration/test_image_gen.py::test_sd_webui[256] 
    903:  [gw0] [ 69%] XFAIL tests/integration/test_image_gen.py::test_huggingface[256-stabilityai/stable-diffusion-2-1] 
    904:  tests/integration/test_image_gen.py::test_huggingface[512-CompVis/stable-diffusion-v1-4] 
    905:  [gw3] [ 69%] XFAIL tests/integration/test_image_gen.py::test_sd_webui[256] 
    906:  tests/integration/test_image_gen.py::test_sd_webui[512] 
    907:  [gw3] [ 69%] XFAIL tests/integration/test_image_gen.py::test_sd_webui[512] 
    908:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-10-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading"}] 
    909:  [gw3] [ 70%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-10-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading"}] 
    910:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-10-CompVis/stable-diffusion-v1-4-{"error:}] 
    911:  [gw3] [ 70%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-10-CompVis/stable-diffusion-v1-4-{"error:}] 
    912:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-10-CompVis/stable-diffusion-v1-4-] 
    913:  [gw1] [ 71%] PASSED tests/unit/test_spinner.py::test_spinner_stops_spinning 
    914:  tests/unit/test_spinner.py::test_spinner_can_be_used_as_context_manager 
    915:  [gw1] [ 71%] PASSED tests/unit/test_spinner.py::test_spinner_can_be_used_as_context_manager 
    916:  tests/unit/test_text_file_parsers.py::test_parsers[.txt-mock_text_file] 
    917:  [gw1] [ 72%] PASSED tests/unit/test_text_file_parsers.py::test_parsers[.txt-mock_text_file] 
    918:  tests/unit/test_text_file_parsers.py::test_parsers[.csv-mock_csv_file] 
    919:  [gw3] [ 72%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-10-CompVis/stable-diffusion-v1-4-] 
    920:  [gw1] [ 72%] PASSED tests/unit/test_text_file_parsers.py::test_parsers[.csv-mock_csv_file] 
    921:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-10-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    922:  tests/unit/test_text_file_parsers.py::test_parsers[.pdf-mock_pdf_file] 
    923:  [gw3] [ 73%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-10-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    924:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-10-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading"}] 
    925:  [gw3] [ 73%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-10-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading"}] 
    926:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-10-stabilityai/stable-diffusion-2-1-{"error:}] 
    927:  [gw3] [ 74%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-10-stabilityai/stable-diffusion-2-1-{"error:}] 
    928:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-10-stabilityai/stable-diffusion-2-1-] 
    929:  [gw3] [ 74%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-10-stabilityai/stable-diffusion-2-1-] 
    930:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-0-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    931:  [gw3] [ 75%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-0-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    932:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-0-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading"}] 
    933:  [gw3] [ 75%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-0-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading"}] 
    934:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-0-CompVis/stable-diffusion-v1-4-{"error:}] 
    935:  [gw1] [ 75%] PASSED tests/unit/test_text_file_parsers.py::test_parsers[.pdf-mock_pdf_file] 
    936:  tests/unit/test_text_file_parsers.py::test_parsers[.docx-mock_docx_file] 
    937:  [gw3] [ 76%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-0-CompVis/stable-diffusion-v1-4-{"error:}] 
    938:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-0-CompVis/stable-diffusion-v1-4-] 
    939:  [gw1] [ 76%] PASSED tests/unit/test_text_file_parsers.py::test_parsers[.docx-mock_docx_file] 
    940:  [gw3] [ 77%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-0-CompVis/stable-diffusion-v1-4-] 
    941:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-0-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading"}] 
    942:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-0-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    943:  [gw3] [ 77%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-0-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    944:  [gw1] [ 77%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-0-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading"}] 
    945:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-10-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading"}] 
    946:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-0-stabilityai/stable-diffusion-2-1-{"error:}] 
    947:  [gw1] [ 78%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-0-stabilityai/stable-diffusion-2-1-{"error:}] 
    948:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-0-stabilityai/stable-diffusion-2-1-] 
    949:  [gw3] [ 78%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-10-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading"}] 
    950:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-10-CompVis/stable-diffusion-v1-4-{"error:}] 
    951:  [gw3] [ 79%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-10-CompVis/stable-diffusion-v1-4-{"error:}] 
    952:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-10-CompVis/stable-diffusion-v1-4-] 
    953:  [gw3] [ 79%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-10-CompVis/stable-diffusion-v1-4-] 
    954:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-10-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    955:  [gw1] [ 80%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-0-stabilityai/stable-diffusion-2-1-] 
    956:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-10-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    957:  [gw3] [ 80%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-10-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    958:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-10-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading"}] 
    959:  [gw1] [ 80%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-10-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    960:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-10-stabilityai/stable-diffusion-2-1-] 
    961:  [gw3] [ 81%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-10-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading"}] 
    962:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-10-stabilityai/stable-diffusion-2-1-{"error:}] 
    963:  [gw1] [ 81%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-10-stabilityai/stable-diffusion-2-1-] 
    964:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-0-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    965:  [gw0] [ 82%] XFAIL tests/integration/test_image_gen.py::test_huggingface[512-CompVis/stable-diffusion-v1-4] 
    966:  tests/integration/test_image_gen.py::test_sd_webui[1024] 
    967:  [gw3] [ 82%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-10-stabilityai/stable-diffusion-2-1-{"error:}] 
    968:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-0-CompVis/stable-diffusion-v1-4-{"error:}] 
    969:  [gw1] [ 83%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-0-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    970:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-0-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading"}] 
    971:  [gw0] [ 83%] XFAIL tests/integration/test_image_gen.py::test_sd_webui[1024] 
    972:  tests/integration/test_image_gen.py::test_sd_webui_negative_prompt[256] 
    973:  [gw3] [ 83%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-0-CompVis/stable-diffusion-v1-4-{"error:}] 
    974:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-0-CompVis/stable-diffusion-v1-4-] 
    975:  [gw1] [ 84%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-0-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading"}] 
    976:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-0-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    977:  [gw3] [ 84%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-0-CompVis/stable-diffusion-v1-4-] 
    978:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-0-stabilityai/stable-diffusion-2-1-{"error:}] 
    979:  [gw1] [ 85%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-0-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    980:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-0-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading"}] 
    981:  [gw1] [ 85%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-0-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading"}] 
    982:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-10-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    983:  [gw3] [ 86%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-0-stabilityai/stable-diffusion-2-1-{"error:}] 
    984:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-0-stabilityai/stable-diffusion-2-1-] 
    985:  [gw1] [ 86%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-10-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    986:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-10-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading"}] 
    987:  [gw3] [ 86%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[512-0-stabilityai/stable-diffusion-2-1-] 
    988:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-10-CompVis/stable-diffusion-v1-4-{"error:}] 
    989:  [gw1] [ 87%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-10-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading"}] 
    990:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-10-CompVis/stable-diffusion-v1-4-] 
    991:  [gw3] [ 87%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-10-CompVis/stable-diffusion-v1-4-{"error:}] 
    992:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-10-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    993:  [gw1] [ 88%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-10-CompVis/stable-diffusion-v1-4-] 
    994:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-10-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading"}] 
    995:  [gw3] [ 88%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-10-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    996:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-10-stabilityai/stable-diffusion-2-1-{"error:}] 
    997:  [gw1] [ 88%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-10-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading"}] 
    998:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-10-stabilityai/stable-diffusion-2-1-] 
    999:  [gw3] [ 89%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-10-stabilityai/stable-diffusion-2-1-{"error:}] 
    1000:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-0-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    1001:  [gw1] [ 89%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-10-stabilityai/stable-diffusion-2-1-] 
    1002:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-0-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading"}] 
    1003:  [gw3] [ 90%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-0-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    1004:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-0-CompVis/stable-diffusion-v1-4-{"error:}] 
    1005:  [gw1] [ 90%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-0-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading"}] 
    1006:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-0-CompVis/stable-diffusion-v1-4-] 
    1007:  [gw3] [ 91%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-0-CompVis/stable-diffusion-v1-4-{"error:}] 
    1008:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-0-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    1009:  [gw1] [ 91%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-0-CompVis/stable-diffusion-v1-4-] 
    1010:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-0-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading"}] 
    1011:  [gw3] [ 91%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-0-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    1012:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-0-stabilityai/stable-diffusion-2-1-{"error:}] 
    1013:  [gw1] [ 92%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-0-stabilityai/stable-diffusion-2-1-{"error":"Model [model] is currently loading"}] 
    1014:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-0-stabilityai/stable-diffusion-2-1-] 
    1015:  [gw3] [ 92%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-0-stabilityai/stable-diffusion-2-1-{"error:}] 
    1016:  tests/integration/test_image_gen.py::test_huggingface_fail_request_no_delay 
    1017:  [gw1] [ 93%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[1024-0-stabilityai/stable-diffusion-2-1-] 
    1018:  tests/integration/test_image_gen.py::test_huggingface_fail_request_bad_json 
    1019:  [gw3] [ 93%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_no_delay 
    1020:  tests/integration/test_image_gen.py::test_huggingface_fail_request_bad_image 
    1021:  [gw1] [ 94%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_bad_json 
    1022:  tests/integration/test_image_gen.py::test_huggingface_fail_missing_api_token 
    1023:  [gw3] [ 94%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_bad_image 
    1024:  [gw1] [ 94%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_missing_api_token 
    ...
    
    1027:  [gw3] [ 95%] PASSED tests/integration/test_setup.py::test_apply_overrides_to_ai_settings 
    1028:  tests/integration/test_web_selenium.py::test_browse_website_nonexistent_url 
    1029:  [gw1] [ 95%] PASSED tests/integration/test_setup.py::test_interactively_revise_ai_settings 
    1030:  [gw2] [ 96%] PASSED tests/unit/test_web_search.py::test_google_search[no results-1-expected_output_parts2-return_value2] 
    1031:  tests/unit/test_web_search.py::test_google_official_search[test-3-search_results0-expected_output0] 
    1032:  [gw2] [ 96%] PASSED tests/unit/test_web_search.py::test_google_official_search[test-3-search_results0-expected_output0] 
    1033:  tests/unit/test_web_search.py::test_google_official_search[-3-search_results1-expected_output1] 
    1034:  [gw2] [ 97%] PASSED tests/unit/test_web_search.py::test_google_official_search[-3-search_results1-expected_output1] 
    1035:  tests/unit/test_web_search.py::test_google_official_search_errors[invalid query-3-HttpError-400-Invalid Value] 
    1036:  [gw2] [ 97%] PASSED tests/unit/test_web_search.py::test_google_official_search_errors[invalid query-3-HttpError-400-Invalid Value] 
    1037:  tests/unit/test_web_search.py::test_google_official_search_errors[invalid API key-3-ConfigurationError-403-invalid API key] 
    1038:  [gw2] [ 97%] PASSED tests/unit/test_web_search.py::test_google_official_search_errors[invalid API key-3-ConfigurationError-403-invalid API key] 
    1039:  [gw0] [ 98%] XFAIL tests/integration/test_image_gen.py::test_sd_webui_negative_prompt[256] 
    1040:  tests/integration/test_image_gen.py::test_sd_webui_negative_prompt[512] 
    1041:  [gw0] [ 98%] XFAIL tests/integration/test_image_gen.py::test_sd_webui_negative_prompt[512] 
    1042:  tests/integration/test_image_gen.py::test_sd_webui_negative_prompt[1024] 
    1043:  [gw0] [ 99%] XFAIL tests/integration/test_image_gen.py::test_sd_webui_negative_prompt[1024] 
    1044:  tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-10-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    1045:  [gw0] [ 99%] PASSED tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-10-CompVis/stable-diffusion-v1-4-{"error":"Model [model] is currently loading","estimated_time": [delay]}] 
    1046:  [gw3] [100%] PASSED tests/integration/test_web_selenium.py::test_browse_website_nonexistent_url 
    1047:  ================================== FAILURES ===================================
    1048:  _______________________ test_ai_profile_file_not_exists _______________________
    1049:  [gw0] win32 -- Python 3.10.11 C:\Users\runneradmin\AppData\Local\pypoetry\Cache\virtualenvs\agpt-bO72ey-r-py3.10\Scripts\python.exe
    1050:  storage = <autogpt.file_storage.local.LocalFileStorage object at 0x00000234083069E0>
    1051:  def test_ai_profile_file_not_exists(storage: FileStorage):
    1052:  """Test if file does not exist."""
    1053:  ai_settings_file = storage.get_path("ai_settings.yaml")
    1054:  ai_profile = AIProfile.load(str(ai_settings_file))
    1055:  >       assert ai_profile.ai_name == ""
    1056:  E       AssertionError: assert 'AutoGPT' == ''
    1057:  E         + AutoGPT
    1058:  tests\unit\test_ai_profile.py:53: AssertionError
    ...
    
    1060:  [gw0] win32 -- Python 3.10.11 C:\Users\runneradmin\AppData\Local\pypoetry\Cache\virtualenvs\agpt-bO72ey-r-py3.10\Scripts\python.exe
    1061:  storage = <autogpt.file_storage.local.LocalFileStorage object at 0x0000023408307250>
    1062:  def test_ai_profile_file_is_empty(storage: FileStorage):
    1063:  """Test if file does not exist."""
    1064:  ai_settings_file = storage.get_path("ai_settings.yaml")
    1065:  ai_settings_file.write_text("")
    1066:  ai_profile = AIProfile.load(str(ai_settings_file))
    1067:  >       assert ai_profile.ai_name == ""
    1068:  E       AssertionError: assert 'AutoGPT' == ''
    1069:  E         + AutoGPT
    1070:  tests\unit\test_ai_profile.py:65: AssertionError
    ...
    
    1274:  4.10s call     tests/integration/test_image_gen.py::test_sd_webui_negative_prompt[256]
    1275:  4.06s call     tests/integration/test_image_gen.py::test_sd_webui_negative_prompt[512]
    1276:  4.04s call     tests/integration/test_image_gen.py::test_sd_webui_negative_prompt[1024]
    1277:  3.05s call     tests/unit/test_web_search.py::test_google_search[no results-1-expected_output_parts2-return_value2]
    1278:  1.09s call     tests/unit/test_spinner.py::test_spinner_stops_spinning
    1279:  1.06s setup    tests/integration/test_image_gen.py::test_huggingface[512-CompVis/stable-diffusion-v1-4]
    1280:  0.31s call     tests/unit/test_text_file_parsers.py::test_parsers[.pdf-mock_pdf_file]
    1281:  0.21s call     tests/unit/test_spinner.py::test_spinner_initializes_with_custom_values
    1282:  0.17s call     tests/integration/test_image_gen.py::test_huggingface_fail_request_with_delay[256-10-CompVis/stable-diffusion-v1-4-]
    1283:  =========================== short test summary info ===========================
    1284:  FAILED tests/unit/test_ai_profile.py::test_ai_profile_file_not_exists - AssertionError: assert 'AutoGPT' == ''
    1285:  + AutoGPT
    1286:  FAILED tests/unit/test_ai_profile.py::test_ai_profile_file_is_empty - AssertionError: assert 'AutoGPT' == ''
    1287:  + AutoGPT
    1288:  ===== 2 failed, 218 passed, 6 skipped, 12 xfailed, 27 warnings in 56.00s ======
    1289:  ##[error]Process completed with exit code 1.
    

    ✨ CI feedback usage guide:

    The CI feedback tool (/checks) automatically triggers when a PR has a failed check.
    The tool analyzes the failed checks and provides several feedbacks:

    • Failed stage
    • Failed test name
    • Failure summary
    • Relevant error logs

    In addition to being automatically triggered, the tool can also be invoked manually by commenting on a PR:

    /checks "https://github.com/{repo_name}/actions/runs/{run_number}/job/{job_number}"
    

    where {repo_name} is the name of the repository, {run_number} is the run number of the failed check, and {job_number} is the job number of the failed check.

    Configuration options

    • enable_auto_checks_feedback - if set to true, the tool will automatically provide feedback when a check is failed. Default is true.
    • excluded_checks_list - a list of checks to exclude from the feedback, for example: ["check1", "check2"]. Default is an empty list.
    • enable_help_text - if set to true, the tool will provide a help message with the feedback. Default is true.
    • persistent_comment - if set to true, the tool will overwrite a previous checks comment with the new feedback. Default is true.
    • final_update_message - if persistent_comment is true and updating a previous checks message, the tool will also create a new message: "Persistent checks updated to latest commit". Default is true.

    See more information about the checks tool in the docs.

    Copy link

    codecov bot commented May 4, 2024

    Codecov Report

    Attention: Patch coverage is 22.22222% with 7 lines in your changes are missing coverage. Please review.

    Project coverage is 35.43%. Comparing base (4e02f7d) to head (4f30373).
    Report is 1 commits behind head on master.

    Files Patch % Lines
    autogpt/autogpt/app/main.py 20.00% 4 Missing ⚠️
    autogpt/autogpt/app/agent_protocol_server.py 0.00% 2 Missing ⚠️
    autogpt/autogpt/agent_factory/configurators.py 0.00% 1 Missing ⚠️
    Additional details and impacted files
    @@            Coverage Diff             @@
    ##           master    #7121      +/-   ##
    ==========================================
    - Coverage   36.05%   35.43%   -0.63%     
    ==========================================
      Files          19       18       -1     
      Lines        1273     1222      -51     
      Branches      182      181       -1     
    ==========================================
    - Hits          459      433      -26     
    + Misses        786      761      -25     
      Partials       28       28              
    Flag Coverage Δ
    Linux 35.43% <22.22%> (-0.63%) ⬇️
    Windows 35.28% <22.22%> (-0.64%) ⬇️
    autogpt-agent 35.43% <22.22%> (-0.63%) ⬇️
    macOS 35.43% <22.22%> (-0.63%) ⬇️

    Flags with carried forward coverage won't be shown. Click here to find out more.

    ☔ View full report in Codecov by Sentry.
    📢 Have feedback on the report? Share it here.

    Copy link

    This pull request has conflicts with the base branch, please resolve those so we can evaluate the pull request.

    @github-actions github-actions bot added the conflicts Automatically applied to PRs with merge conflicts label May 15, 2024
    @kcze kcze self-assigned this May 21, 2024
    @github-actions github-actions bot removed the conflicts Automatically applied to PRs with merge conflicts label May 24, 2024
    Copy link

    Conflicts have been resolved! 🎉 A maintainer will review the pull request shortly.

    @github-actions github-actions bot added the Forge label May 24, 2024
    @Pwuts Pwuts force-pushed the reinier/open-765-do-not-run-profile-generator-on-agent-creation branch from dee2ff8 to eb6e386 Compare May 24, 2024 21:03
    @Pwuts Pwuts force-pushed the reinier/open-765-do-not-run-profile-generator-on-agent-creation branch from eb6e386 to 4f30373 Compare May 24, 2024 21:04
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Projects
    Status: 🆕 Needs initial review
    Development

    Successfully merging this pull request may close these issues.

    None yet

    2 participants