SYMBOL INDEX (417 symbols across 62 files) FILE: docs/create_api_rst.py function load_members (line 13) | def load_members() -> dict: function construct_doc (line 31) | def construct_doc(members: dict) -> str: function main (line 90) | def main() -> None: FILE: gpt_engineer/applications/cli/cli_agent.py class CliAgent (line 36) | class CliAgent(BaseAgent): method __init__ (line 84) | def __init__( method with_default_config (line 103) | def with_default_config( method init (line 152) | def init(self, prompt: Prompt) -> FilesDict: method improve (line 185) | def improve( FILE: gpt_engineer/applications/cli/collect.py function send_learning (line 37) | def send_learning(learning: Learning): function collect_learnings (line 65) | def collect_learnings( function collect_and_send_human_review (line 141) | def collect_and_send_human_review( FILE: gpt_engineer/applications/cli/file_selector.py class FileSelector (line 35) | class FileSelector: method __init__ (line 66) | def __init__(self, project_path: Union[str, Path]): method ask_for_files (line 79) | def ask_for_files(self, skip_file_selection=False) -> tuple[FilesDict,... method editor_file_selector (line 123) | def editor_file_selector( method open_with_default_editor (line 212) | def open_with_default_editor(self, file_path: Union[str, Path]): method is_utf8 (line 249) | def is_utf8(self, file_path: Union[str, Path]) -> bool: method get_files_from_toml (line 271) | def get_files_from_toml( method merge_file_lists (line 344) | def merge_file_lists( method should_filter_file (line 370) | def should_filter_file(self, file_path: Path, filters: List[str]) -> b... method get_current_files (line 379) | def get_current_files(self, project_path: Union[str, Path]) -> List[str]: class DisplayablePath (line 419) | class DisplayablePath(object): method __init__ (line 432) | def __init__( method display_name (line 455) | def display_name(self) -> str: method make_tree (line 464) | def make_tree( method _default_criteria (line 505) | def _default_criteria(cls, path: Path) -> bool: method displayable (line 511) | def displayable(self) -> str: FILE: gpt_engineer/applications/cli/learning.py class Review (line 48) | class Review: class Learning (line 75) | class Learning: function human_review_input (line 122) | def human_review_input() -> Optional[Review]: function ask_for_valid_input (line 177) | def ask_for_valid_input(ran): function check_collection_consent (line 183) | def check_collection_consent() -> bool: function ask_collection_consent (line 201) | def ask_collection_consent() -> bool: function extract_learning (line 237) | def extract_learning( function get_session (line 279) | def get_session() -> str: FILE: gpt_engineer/applications/cli/main.py function load_env_if_needed (line 71) | def load_env_if_needed(): function concatenate_paths (line 93) | def concatenate_paths(base_path, sub_path): function load_prompt (line 105) | def load_prompt( function get_preprompts_path (line 173) | def get_preprompts_path(use_custom_preprompts: bool, input_path: Path) -... function compare (line 203) | def compare(f1: FilesDict, f2: FilesDict): function prompt_yesno (line 232) | def prompt_yesno() -> bool: function get_system_info (line 243) | def get_system_info(): function get_installed_packages (line 254) | def get_installed_packages(): function format_installed_packages (line 267) | def format_installed_packages(packages): function main (line 281) | def main( FILE: gpt_engineer/benchmark/__main__.py function get_agent (line 43) | def get_agent(path): function main (line 71) | def main( FILE: gpt_engineer/benchmark/bench_config.py class AppsConfig (line 10) | class AppsConfig: class MbppConfig (line 20) | class MbppConfig: class GptmeConfig (line 27) | class GptmeConfig: class BenchConfig (line 32) | class BenchConfig: method from_toml (line 40) | def from_toml(cls, config_file: Path | str): method from_dict (line 47) | def from_dict(cls, config_dict: dict): method recursive_resolve (line 55) | def recursive_resolve(data_dict): method to_dict (line 62) | def to_dict(self): FILE: gpt_engineer/benchmark/benchmarks/apps/load.py class AppsAssertion (line 29) | class AppsAssertion: method __init__ (line 30) | def __init__(self, expected: str, command: str): method evaluate (line 34) | def evaluate(self, assertable: Assertable) -> bool: method _format (line 48) | def _format(self, string: str) -> str: function _get_dataset (line 52) | def _get_dataset() -> Union[Dataset, DatasetDict]: function load_apps (line 64) | def load_apps(config: AppsConfig) -> Benchmark: FILE: gpt_engineer/benchmark/benchmarks/apps/problem.py class Problem (line 9) | class Problem: method inputs (line 16) | def inputs(self) -> List[str]: method outputs (line 20) | def outputs(self) -> List[str]: method _parsed_inputs_outputs (line 24) | def _parsed_inputs_outputs(self): FILE: gpt_engineer/benchmark/benchmarks/gptme/load.py function load_gptme (line 19) | def load_gptme(config: GptmeConfig) -> Benchmark: FILE: gpt_engineer/benchmark/benchmarks/load.py function get_benchmark (line 25) | def get_benchmark(name: str, config: BenchConfig) -> Benchmark: FILE: gpt_engineer/benchmark/benchmarks/mbpp/load.py class MbppAssertion (line 29) | class MbppAssertion: method __init__ (line 30) | def __init__(self, assertion: str): method evaluate (line 33) | def evaluate(self, assertable: Assertable) -> bool: function _get_dataset (line 52) | def _get_dataset() -> Union[Dataset, DatasetDict]: function load_mbpp (line 64) | def load_mbpp(config: MbppConfig) -> Benchmark: FILE: gpt_engineer/benchmark/benchmarks/mbpp/problem.py class Problem (line 6) | class Problem: method starting_code (line 15) | def starting_code(self) -> str: FILE: gpt_engineer/benchmark/run.py function run (line 26) | def run( function print_results (line 90) | def print_results(results: list[TaskResult]): function export_yaml_results (line 139) | def export_yaml_results(yaml_path, complete_results, config): FILE: gpt_engineer/benchmark/types.py class Assertable (line 33) | class Assertable: class Task (line 56) | class Task: class Benchmark (line 65) | class Benchmark: class TaskResult (line 74) | class TaskResult: method success_rate (line 81) | def success_rate(self) -> float: method to_dict (line 91) | def to_dict(self) -> dict: FILE: gpt_engineer/core/ai.py class AI (line 50) | class AI: method __init__ (line 88) | def __init__( method start (line 120) | def start(self, system: str, user: Any, *, step_name: str) -> List[Mes... method _extract_content (line 145) | def _extract_content(self, content): method _collapse_text_messages (line 165) | def _collapse_text_messages(self, messages: List[Message]): method next (line 206) | def next( method backoff_inference (line 254) | def backoff_inference(self, messages): method serialize_messages (line 290) | def serialize_messages(messages: List[Message]) -> str: method deserialize_messages (line 307) | def deserialize_messages(jsondictstr: str) -> List[Message]: method _create_chat_model (line 330) | def _create_chat_model(self) -> BaseChatModel: function serialize_messages (line 382) | def serialize_messages(messages: List[Message]) -> str: class ClipboardAI (line 386) | class ClipboardAI(AI): method __init__ (line 388) | def __init__(self, **_): # type: ignore method serialize_messages (line 393) | def serialize_messages(messages: List[Message]) -> str: method multiline_input (line 397) | def multiline_input(): method next (line 408) | def next( FILE: gpt_engineer/core/base_agent.py class BaseAgent (line 17) | class BaseAgent(ABC): method init (line 26) | def init(self, prompt: Prompt) -> FilesDict: method improve (line 30) | def improve(self, files_dict: FilesDict, prompt: Prompt) -> FilesDict: FILE: gpt_engineer/core/base_execution_env.py class BaseExecutionEnv (line 8) | class BaseExecutionEnv(ABC): method run (line 17) | def run(self, command: str, timeout: Optional[int] = None) -> Tuple[st... method popen (line 24) | def popen(self, command: str) -> Popen: method upload (line 31) | def upload(self, files: FilesDict) -> "BaseExecutionEnv": method download (line 38) | def download(self) -> FilesDict: FILE: gpt_engineer/core/chat_to_files.py function chat_to_files_dict (line 38) | def chat_to_files_dict(chat: str) -> FilesDict: function apply_diffs (line 69) | def apply_diffs(diffs: Dict[str, Diff], files: FilesDict) -> FilesDict: function parse_diffs (line 123) | def parse_diffs(diff_string: str, diff_timeout=3) -> dict: function parse_diff_block (line 164) | def parse_diff_block(diff_block: str) -> dict: function parse_hunk_header (line 221) | def parse_hunk_header(header_line) -> Tuple[int, int, int, int]: FILE: gpt_engineer/core/default/disk_execution_env.py class DiskExecutionEnv (line 36) | class DiskExecutionEnv(BaseExecutionEnv): method __init__ (line 52) | def __init__(self, path: Union[str, Path, None] = None): method upload (line 55) | def upload(self, files: FilesDict) -> "DiskExecutionEnv": method download (line 59) | def download(self) -> FilesDict: method popen (line 62) | def popen(self, command: str) -> subprocess.Popen: method run (line 72) | def run(self, command: str, timeout: Optional[int] = None) -> Tuple[st... FILE: gpt_engineer/core/default/disk_memory.py class DiskMemory (line 36) | class DiskMemory(BaseMemory): method __init__ (line 50) | def __init__(self, path: Union[str, Path]): method __contains__ (line 64) | def __contains__(self, key: str) -> bool: method __getitem__ (line 81) | def __getitem__(self, key: str) -> str: method get (line 116) | def get(self, key: str, default: Optional[Any] = None) -> Any: method __setitem__ (line 144) | def __setitem__(self, key: Union[str, Path], val: str) -> None: method __delitem__ (line 174) | def __delitem__(self, key: Union[str, Path]) -> None: method __iter__ (line 198) | def __iter__(self) -> Iterator[str]: method __len__ (line 216) | def __len__(self) -> int: method _supported_files (line 228) | def _supported_files(self) -> str: method _all_files (line 239) | def _all_files(self) -> str: method to_path_list_string (line 243) | def to_path_list_string(self, supported_code_files_only: bool = False)... method to_dict (line 264) | def to_dict(self) -> Dict[Union[str, Path], str]: method to_json (line 276) | def to_json(self) -> str: method log (line 288) | def log(self, key: Union[str, Path], val: str) -> None: method archive_logs (line 318) | def archive_logs(self): FILE: gpt_engineer/core/default/file_store.py class FileStore (line 10) | class FileStore: method __init__ (line 31) | def __init__(self, path: Union[str, Path, None] = None): method push (line 39) | def push(self, files: FilesDict): method linting (line 47) | def linting(self, files: FilesDict) -> FilesDict: method pull (line 52) | def pull(self) -> FilesDict: FILE: gpt_engineer/core/default/paths.py function memory_path (line 55) | def memory_path(path): function metadata_path (line 72) | def metadata_path(path): FILE: gpt_engineer/core/default/simple_agent.py class SimpleAgent (line 27) | class SimpleAgent(BaseAgent): method __init__ (line 47) | def __init__( method with_default_config (line 60) | def with_default_config( method init (line 70) | def init(self, prompt: Prompt) -> FilesDict: method improve (line 79) | def improve( function default_config_agent (line 91) | def default_config_agent(): FILE: gpt_engineer/core/default/steps.py function curr_fn (line 63) | def curr_fn() -> str: function setup_sys_prompt (line 75) | def setup_sys_prompt(preprompts: MutableMapping[Union[str, Path], str]) ... function setup_sys_prompt_existing_code (line 97) | def setup_sys_prompt_existing_code( function gen_code (line 121) | def gen_code( function gen_entrypoint (line 153) | def gen_entrypoint( function execute_entrypoint (line 205) | def execute_entrypoint( function improve_fn (line 271) | def improve_fn( function _improve_loop (line 315) | def _improve_loop( function salvage_correct_hunks (line 341) | def salvage_correct_hunks( class Tee (line 363) | class Tee(object): method __init__ (line 364) | def __init__(self, *files): method write (line 367) | def write(self, obj): method flush (line 371) | def flush(self): function handle_improve_mode (line 376) | def handle_improve_mode(prompt, agent, memory, files_dict, diff_timeout=3): FILE: gpt_engineer/core/diff.py class Hunk (line 44) | class Hunk: method __init__ (line 58) | def __init__( method add_retained_line (line 80) | def add_retained_line(self, line, index) -> None: method relabel_line (line 85) | def relabel_line(self, index, new_label) -> None: method pop_line (line 92) | def pop_line(self, line, index) -> None: method add_lines (line 98) | def add_lines(self, new_lines) -> None: method hunk_to_string (line 104) | def hunk_to_string(self) -> str: method make_forward_block (line 114) | def make_forward_block(self, hunk_ind: int, forward_block_len) -> str: method check_start_line (line 122) | def check_start_line(self, lines_dict: dict) -> bool: method find_start_line (line 133) | def find_start_line(self, lines_dict: dict, problems: list) -> bool: method validate_lines (line 200) | def validate_lines(self, lines_dict: dict, problems: list) -> bool: method validate_and_correct (line 288) | def validate_and_correct( class Diff (line 312) | class Diff: method __init__ (line 322) | def __init__(self, filename_pre, filename_post) -> None: method is_new_file (line 327) | def is_new_file(self) -> bool: method diff_to_string (line 333) | def diff_to_string(self) -> str: method validate_and_correct (line 340) | def validate_and_correct(self, lines_dict: dict) -> List[str]: function is_similar (line 381) | def is_similar(str1, str2, similarity_threshold=0.9) -> bool: function count_ratio (line 401) | def count_ratio(str1, str2) -> float: FILE: gpt_engineer/core/files_dict.py class FilesDict (line 19) | class FilesDict(dict): method __setitem__ (line 29) | def __setitem__(self, key: Union[str, Path], value: str): method to_chat (line 55) | def to_chat(self): method to_log (line 74) | def to_log(self): function file_to_lines_dict (line 92) | def file_to_lines_dict(file_content: str) -> dict: FILE: gpt_engineer/core/git.py function is_git_installed (line 10) | def is_git_installed(): function is_git_repo (line 14) | def is_git_repo(path: Path): function init_git_repo (line 26) | def init_git_repo(path: Path): function has_uncommitted_changes (line 30) | def has_uncommitted_changes(path: Path): function filter_files_with_uncommitted_changes (line 41) | def filter_files_with_uncommitted_changes( function stage_files (line 54) | def stage_files(path: Path, files: List[str]): function filter_by_gitignore (line 58) | def filter_by_gitignore(path: Path, file_list: List[str]) -> List[str]: function stage_uncommitted_to_git (line 71) | def stage_uncommitted_to_git(path, files_dict, improve_mode): FILE: gpt_engineer/core/linting.py class Linting (line 6) | class Linting: method __init__ (line 7) | def __init__(self): method lint_python (line 13) | def lint_python(self, content, config): method lint_files (line 31) | def lint_files(self, files_dict: FilesDict, config: dict = None) -> Fi... FILE: gpt_engineer/core/preprompts_holder.py class PrepromptsHolder (line 7) | class PrepromptsHolder: method __init__ (line 24) | def __init__(self, preprompts_path: Path): method get_preprompts (line 27) | def get_preprompts(self) -> Dict[str, str]: FILE: gpt_engineer/core/project_config.py class _PathsConfig (line 35) | class _PathsConfig: class _RunConfig (line 41) | class _RunConfig: class _OpenApiConfig (line 49) | class _OpenApiConfig: class _GptEngineerAppConfig (line 54) | class _GptEngineerAppConfig: function filter_none (line 59) | def filter_none(d: dict) -> dict: class Config (line 73) | class Config: method from_toml (line 81) | def from_toml(cls, config_file: Path | str): method from_dict (line 88) | def from_dict(cls, config_dict: dict): method to_dict (line 111) | def to_dict(self) -> dict: method to_toml (line 122) | def to_toml(self, config_file: Path | str, save=True) -> str: function read_config (line 154) | def read_config(config_file: Path) -> tomlkit.TOMLDocument: FILE: gpt_engineer/core/prompt.py class Prompt (line 6) | class Prompt: method __init__ (line 7) | def __init__( method __repr__ (line 17) | def __repr__(self): method to_langchain_content (line 20) | def to_langchain_content(self): method to_dict (line 36) | def to_dict(self): method to_json (line 43) | def to_json(self): FILE: gpt_engineer/core/token_usage.py class TokenUsage (line 32) | class TokenUsage: class Tokenizer (line 67) | class Tokenizer: method __init__ (line 72) | def __init__(self, model_name): method num_tokens (line 80) | def num_tokens(self, txt: str) -> int: method num_tokens_for_base64_image (line 96) | def num_tokens_for_base64_image( method num_tokens_from_messages (line 142) | def num_tokens_from_messages(self, messages: List[Message]) -> int: class TokenUsageLog (line 180) | class TokenUsageLog: method __init__ (line 185) | def __init__(self, model_name): method update_log (line 193) | def update_log(self, messages: List[Message], answer: str, step_name: ... method log (line 226) | def log(self) -> List[TokenUsage]: method format_log (line 237) | def format_log(self) -> str: method is_openai_model (line 251) | def is_openai_model(self) -> bool: method total_tokens (line 262) | def total_tokens(self) -> int: method usage_cost (line 273) | def usage_cost(self) -> float | None: FILE: gpt_engineer/core/version_manager.py class BaseVersionManager (line 15) | class BaseVersionManager(ABC): method __init__ (line 25) | def __init__(self, path: Union[str, Path]): method snapshot (line 29) | def snapshot(self, files_dict: FilesDict) -> str: FILE: gpt_engineer/tools/custom_steps.py function get_platform_info (line 22) | def get_platform_info() -> str: function self_heal (line 40) | def self_heal( function clarified_gen (line 122) | def clarified_gen( function lite_gen (line 198) | def lite_gen( FILE: projects/example-improve/controller.py class Controller (line 4) | class Controller: method __init__ (line 5) | def __init__(self, game, view): method handle_input (line 9) | def handle_input(self): FILE: projects/example-improve/main.py function main (line 6) | def main(): FILE: projects/example-improve/model.py class Point (line 7) | class Point: class Game (line 12) | class Game: method __init__ (line 13) | def __init__(self): method generate_food (line 18) | def generate_food(self): method update (line 21) | def update(self): FILE: projects/example-improve/view.py class View (line 4) | class View: method __init__ (line 5) | def __init__(self, game): method render (line 8) | def render(self): FILE: scripts/clean_benchmarks.py function main (line 17) | def main(): FILE: scripts/legacy_benchmark.py function main (line 22) | def main( function generate_report (line 97) | def generate_report(benchmarks, benchmark_path): function to_emoji (line 136) | def to_emoji(value: bool) -> str: function insert_markdown_section (line 155) | def insert_markdown_section(file_path, section_title, section_text, level): function ask_yes_no (line 199) | def ask_yes_no(question: str) -> bool: FILE: scripts/print_chat.py function pretty_print_conversation (line 15) | def pretty_print_conversation(messages): function main (line 58) | def main( FILE: scripts/test_api.py function post_data (line 8) | def post_data(url, extra_arguments): FILE: tests/applications/cli/test_cli_agent.py function test_init_standard_config (line 20) | def test_init_standard_config(monkeypatch): function test_init_lite_config (line 50) | def test_init_lite_config(monkeypatch): function test_init_clarified_gen_config (line 83) | def test_init_clarified_gen_config(monkeypatch): function test_improve_standard_config (line 115) | def test_improve_standard_config(monkeypatch): FILE: tests/applications/cli/test_collection_consent.py function cleanup (line 18) | def cleanup(): function test_check_consent_file_exists_and_true (line 33) | def test_check_consent_file_exists_and_true(cleanup): function test_check_consent_file_exists_and_false (line 38) | def test_check_consent_file_exists_and_false(cleanup): function test_check_consent_file_not_exists_and_user_says_yes (line 44) | def test_check_consent_file_not_exists_and_user_says_yes(cleanup): function test_check_consent_file_not_exists_and_user_says_no (line 51) | def test_check_consent_file_not_exists_and_user_says_no(cleanup): function test_ask_collection_consent_yes (line 76) | def test_ask_collection_consent_yes(cleanup): function test_ask_collection_consent_no (line 84) | def test_ask_collection_consent_no(cleanup): function test_ask_collection_consent_invalid_then_yes (line 91) | def test_ask_collection_consent_invalid_then_yes(cleanup): function test_ask_collection_consent_invalid_then_no (line 99) | def test_ask_collection_consent_invalid_then_no(cleanup): FILE: tests/applications/cli/test_learning.py function test_human_review_input_no_concent_returns_none (line 9) | def test_human_review_input_no_concent_returns_none(): function test_human_review_input_consent_code_ran_no_comments (line 16) | def test_human_review_input_consent_code_ran_no_comments(): function test_human_review_input_consent_code_ran_not_perfect_but_useful_no_comments (line 29) | def test_human_review_input_consent_code_ran_not_perfect_but_useful_no_c... function test_check_collection_consent_yes (line 42) | def test_check_collection_consent_yes(): function test_check_collection_consent_no_ask_collection_consent (line 53) | def test_check_collection_consent_no_ask_collection_consent(): function test_ask_collection_consent_yes (line 64) | def test_ask_collection_consent_yes(): function test_ask_collection_consent_no (line 71) | def test_ask_collection_consent_no(): function test_extract_learning (line 78) | def test_extract_learning(): function test_get_session (line 101) | def test_get_session(): FILE: tests/applications/cli/test_main.py function dcommand (line 22) | def dcommand(typer_f, **kwargs): class DefaultArgumentsMain (line 61) | class DefaultArgumentsMain: method __call__ (line 62) | def __call__(self): function input_generator (line 67) | def input_generator(): class TestMain (line 76) | class TestMain: method test_default_settings_generate_project (line 78) | def test_default_settings_generate_project(self, tmp_path, monkeypatch): method test_improve_existing_project (line 86) | def test_improve_existing_project(self, tmp_path, monkeypatch): method test_improve_existing_project_skip_file_selection (line 96) | def test_improve_existing_project_skip_file_selection(self, tmp_path, ... method test_improve_existing_project_diff_timeout (line 111) | def test_improve_existing_project_diff_timeout(self, tmp_path, monkeyp... method test_lite_mode_generate_project (line 150) | def test_lite_mode_generate_project(self, tmp_path, monkeypatch): method test_clarify_mode_generate_project (line 160) | def test_clarify_mode_generate_project(self, tmp_path, monkeypatch): method test_self_heal_mode_generate_project (line 170) | def test_self_heal_mode_generate_project(self, tmp_path, monkeypatch): method test_clarify_lite_improve_mode_generate_project (line 179) | def test_clarify_lite_improve_mode_generate_project(self, tmp_path, mo... class TestLoadPrompt (line 196) | class TestLoadPrompt: method test_load_prompt_existing_file (line 198) | def test_load_prompt_existing_file(self): method test_load_prompt_no_file_improve_mode_false (line 215) | def test_load_prompt_no_file_improve_mode_false(self): method test_load_prompt_directory_file (line 238) | def test_load_prompt_directory_file(self): method test_load_prompt_empty_file (line 252) | def test_load_prompt_empty_file(self): method test_load_prompt_no_image_directory (line 276) | def test_load_prompt_no_image_directory(self): FILE: tests/benchmark/test_BenchConfig.py class TestBenchConfig (line 13) | class TestBenchConfig: method test_default_values (line 15) | def test_default_values(self): method test_specific_values (line 31) | def test_specific_values(self): method test_from_dict_valid_dict (line 57) | def test_from_dict_valid_dict(self): method test_from_toml_invalid_path (line 84) | def test_from_toml_invalid_path(self): FILE: tests/core/default/test_disk_execution_env.py class TestOnDiskExecutionEnv (line 13) | class TestOnDiskExecutionEnv(unittest.TestCase): method setUp (line 14) | def setUp(self): method tearDown (line 18) | def tearDown(self): method test_successful_execution (line 21) | def test_successful_execution(self): method test_missing_entrypoint (line 37) | def test_missing_entrypoint(self): method test_keyboard_interrupt_handling (line 43) | def test_keyboard_interrupt_handling(self): method test_execution_with_output (line 60) | def test_execution_with_output(self): FILE: tests/core/default/test_disk_file_repository.py function test_DB_operations (line 6) | def test_DB_operations(tmp_path): function test_large_files (line 21) | def test_large_files(tmp_path): function test_concurrent_access (line 32) | def test_concurrent_access(tmp_path): function test_error_messages (line 62) | def test_error_messages(tmp_path): class TestOnDiskRepository (line 78) | class TestOnDiskRepository: method test_set_and_get_value (line 80) | def test_set_and_get_value(self, tmp_path): method test_key_exists (line 90) | def test_key_exists(self, tmp_path): method test_fetch_default_value (line 98) | def test_fetch_default_value(self, tmp_path): method test_delete_file_or_directory (line 105) | def test_delete_file_or_directory(self, tmp_path): method test_iterate_files (line 117) | def test_iterate_files(self, tmp_path): method test_key_error (line 131) | def test_key_error(self, tmp_path): method test_value_error (line 138) | def test_value_error(self, tmp_path): method test_type_error (line 145) | def test_type_error(self, tmp_path): method test_large_file_contents (line 152) | def test_large_file_contents(self, tmp_path): FILE: tests/core/default/test_simple_agent.py function test_init (line 15) | def test_init(): function test_improve (line 41) | def test_improve(): FILE: tests/core/default/test_steps.py class TestGenCode (line 79) | class TestGenCode: method test_generates_code_using_ai_model (line 81) | def test_generates_code_using_ai_model(self): method test_generated_code_saved_to_disk (line 100) | def test_generated_code_saved_to_disk(self): method test_raises_type_error_if_keys_not_strings_or_path_objects (line 118) | def test_raises_type_error_if_keys_not_strings_or_path_objects(self): method test_raises_type_error_if_values_not_strings (line 133) | def test_raises_type_error_if_values_not_strings(self): method test_raises_key_error_if_file_not_exist_in_database (line 148) | def test_raises_key_error_if_file_not_exist_in_database(self): class TestStepUtilities (line 163) | class TestStepUtilities: method test_called_from_function (line 164) | def test_called_from_function(self): method test_constructs_system_prompt_with_predefined_instructions_and_philosophies (line 177) | def test_constructs_system_prompt_with_predefined_instructions_and_phi... method test_constructs_system_prompt (line 191) | def test_constructs_system_prompt(self): class TestGenEntrypoint (line 206) | class TestGenEntrypoint: class MockAI (line 207) | class MockAI: method __init__ (line 208) | def __init__(self, content): method start (line 211) | def start(self, system, user, step_name): method test_valid_input_generates_valid_entrypoint (line 215) | def test_valid_input_generates_valid_entrypoint(self): method test_empty_codebase_returns_empty_entrypoint (line 245) | def test_empty_codebase_returns_empty_entrypoint(self): class TestImprove (line 268) | class TestImprove: method test_improve_existing_code (line 269) | def test_improve_existing_code(self, tmp_path): method test_lint_python (line 315) | def test_lint_python(self): method test_lint_files (line 322) | def test_lint_files(self): FILE: tests/core/test_ai.py function mock_create_chat_model (line 7) | def mock_create_chat_model(self) -> BaseChatModel: function test_start (line 11) | def test_start(monkeypatch): function test_next (line 23) | def test_next(monkeypatch): function test_token_logging (line 39) | def test_token_logging(monkeypatch): FILE: tests/core/test_chat_to_files.py function test_basic_similarity (line 178) | def test_basic_similarity(): function test_case_insensitivity_and_whitespace (line 183) | def test_case_insensitivity_and_whitespace(): function test_length_and_character_frequency (line 188) | def test_length_and_character_frequency(): function test_edge_cases (line 193) | def test_edge_cases(): function insert_string_in_lined_string (line 198) | def insert_string_in_lined_string(string, to_insert, line_number): function test_diff_changing_one_file (line 204) | def test_diff_changing_one_file(): function test_diff_adding_one_file (line 212) | def test_diff_adding_one_file(): function test_diff_changing_two_files (line 220) | def test_diff_changing_two_files(): function test_validate_diff_correct (line 228) | def test_validate_diff_correct(): function test_correct_distorted_numbers (line 235) | def test_correct_distorted_numbers(): function test_correct_skipped_lines (line 244) | def test_correct_skipped_lines(): function test_correct_skipped_lines_and_number_correction (line 265) | def test_correct_skipped_lines_and_number_correction(): function test_diff_regex (line 289) | def test_diff_regex(): function parse_chats_with_regex (line 297) | def parse_chats_with_regex( function capture_print_output (line 318) | def capture_print_output(func): function test_single_diff (line 329) | def test_single_diff(): function test_multi_diff_discard (line 335) | def test_multi_diff_discard(): function test_controller_diff (line 349) | def test_controller_diff(): function test_simple_calculator_diff (line 353) | def test_simple_calculator_diff(): function test_complex_temperature_converter_diff (line 357) | def test_complex_temperature_converter_diff(): function test_complex_task_master_diff (line 361) | def test_complex_task_master_diff(): function test_long_file_diff (line 365) | def test_long_file_diff(): FILE: tests/core/test_file_selector_enhancements.py function set_editor_called (line 11) | def set_editor_called( function set_file_selector_tmpproject (line 19) | def set_file_selector_tmpproject(tmp_path): function test_file_selector_enhancement_skip_file_selector (line 42) | def test_file_selector_enhancement_skip_file_selector(tmp_path): function test_file_selector_enhancement_sort (line 51) | def test_file_selector_enhancement_sort(tmp_path): FILE: tests/core/test_git.py function test_verify_git_installed (line 16) | def test_verify_git_installed(): function test_init_git_repo (line 21) | def test_init_git_repo(): function test_stage_files (line 28) | def test_stage_files(): function test_filter_by_gitignore (line 52) | def test_filter_by_gitignore(): function test_filter_by_uncommitted_changes (line 63) | def test_filter_by_uncommitted_changes(): function test_filter_by_uncommitted_changes_ignore_staged_files (line 84) | def test_filter_by_uncommitted_changes_ignore_staged_files(): function test_filter_by_uncommitted_changes_ignore_untracked (line 98) | def test_filter_by_uncommitted_changes_ignore_untracked(): FILE: tests/core/test_salvage_correct_hunks.py function get_file_content (line 19) | def get_file_content(file_path: str) -> str: function message_builder (line 26) | def message_builder(chat_path: str) -> List[AIMessage]: function test_validation_and_apply_complex_diff (line 46) | def test_validation_and_apply_complex_diff(): function test_validation_and_apply_long_diff (line 51) | def test_validation_and_apply_long_diff(): function test_validation_and_apply_wrong_diff (line 56) | def test_validation_and_apply_wrong_diff(): function test_validation_and_apply_non_change_diff (line 63) | def test_validation_and_apply_non_change_diff(): function test_validation_and_apply_diff_on_apps_benchmark_6 (line 68) | def test_validation_and_apply_diff_on_apps_benchmark_6(): function test_validation_and_apply_diff_on_apps_benchmark_6_v2 (line 73) | def test_validation_and_apply_diff_on_apps_benchmark_6_v2(): function test_create_two_new_files (line 78) | def test_create_two_new_files(): function test_theo_case (line 83) | def test_theo_case(): function test_zbf_yml_missing (line 92) | def test_zbf_yml_missing(): function test_clean_up_folder (line 103) | def test_clean_up_folder(clean_up_folder): function clean_up_folder (line 109) | def clean_up_folder(): FILE: tests/core/test_token_usage.py function test_format_log (line 15) | def test_format_log(): function test_usage_cost (line 37) | def test_usage_cost(): function test_image_tokenizer (line 55) | def test_image_tokenizer(): function test_list_type_message_with_image (line 80) | def test_list_type_message_with_image(): FILE: tests/mock_ai.py class MockAI (line 4) | class MockAI: method __init__ (line 5) | def __init__(self, response: List): method start (line 8) | def start(self, system: str, user: Any, *, step_name: str) -> List[str]: method next (line 11) | def next( FILE: tests/test_install.py function venv_setup_teardown (line 19) | def venv_setup_teardown(): function test_installation (line 52) | def test_installation(): function test_cli_execution (line 72) | def test_cli_execution(): function test_installed_main_execution (line 89) | def test_installed_main_execution(tmp_path, monkeypatch): FILE: tests/test_project_config.py function test_config_load (line 14) | def test_config_load(): function test_config_defaults (line 45) | def test_config_defaults(): function test_config_from_dict (line 59) | def test_config_from_dict(): function test_config_from_dict_with_openapi (line 70) | def test_config_from_dict_with_openapi(): function test_config_load_partial (line 90) | def test_config_load_partial(): function test_config_update (line 110) | def test_config_update(): function test_filter_none (line 143) | def test_filter_none(input_dict, expected):