diff --git a/codegen-examples/examples/pr_review_bot/run.py b/codegen-examples/examples/pr_review_bot/run.py index f6f27a3ed..2925d340e 100644 --- a/codegen-examples/examples/pr_review_bot/run.py +++ b/codegen-examples/examples/pr_review_bot/run.py @@ -2,8 +2,8 @@ import codegen from codegen import Codebase -from codegen.shared.configs.models.codebase import CodebaseConfig -from codegen.shared.configs.models.secrets import SecretsConfig +from codegen.configs.models.codebase import CodebaseConfig +from codegen.configs.models.secrets import SecretsConfig github_token = "Your github token" open_ai_key = "your open ai key" diff --git a/codegen-examples/examples/sqlalchemy_soft_delete/run.py b/codegen-examples/examples/sqlalchemy_soft_delete/run.py index cf7bce630..4090bfa32 100644 --- a/codegen-examples/examples/sqlalchemy_soft_delete/run.py +++ b/codegen-examples/examples/sqlalchemy_soft_delete/run.py @@ -91,7 +91,7 @@ def process_soft_deletes(codebase): if __name__ == "__main__": from codegen import Codebase - from codegen.shared.configs.models.codebase import CodebaseConfig + from codegen.configs.models.codebase import CodebaseConfig repo_path = Path("/tmp/core") repo_url = "https://github.com/hasgeek/funnel.git" diff --git a/docs/building-with-codegen/parsing-codebases.mdx b/docs/building-with-codegen/parsing-codebases.mdx index e619ef172..ac8168f73 100644 --- a/docs/building-with-codegen/parsing-codebases.mdx +++ b/docs/building-with-codegen/parsing-codebases.mdx @@ -69,8 +69,8 @@ You can customize the behavior of your Codebase instance by passing a `CodebaseC ```python from codegen import Codebase -from codegen.shared.configs.models.codebase import CodebaseConfig -from codegen.shared.configs.models.secrets import SecretsConfig +from codegen.configs.models.codebase import CodebaseConfig +from codegen.configs.models.secrets import SecretsConfig codebase = Codebase( "path/to/repository", diff --git a/src/codegen/cli/auth/session.py b/src/codegen/cli/auth/session.py index 5e60fb125..38efa8a3c 100644 --- a/src/codegen/cli/auth/session.py +++ b/src/codegen/cli/auth/session.py @@ -7,10 +7,10 @@ from codegen.cli.git.repo import get_git_repo from codegen.cli.rich.codeblocks import format_command +from codegen.configs.constants import CODEGEN_DIR_NAME, ENV_FILENAME +from codegen.configs.session_manager import session_manager +from codegen.configs.user_config import UserConfig from codegen.git.repo_operator.local_git_repo import LocalGitRepo -from codegen.shared.configs.constants import CODEGEN_DIR_NAME, ENV_FILENAME -from codegen.shared.configs.session_manager import session_manager -from codegen.shared.configs.user_config import UserConfig class CodegenSession: diff --git a/src/codegen/cli/commands/config/main.py b/src/codegen/cli/commands/config/main.py index acd135946..8905ab479 100644 --- a/src/codegen/cli/commands/config/main.py +++ b/src/codegen/cli/commands/config/main.py @@ -4,9 +4,9 @@ import rich_click as click from rich.table import Table -from codegen.shared.configs.constants import ENV_FILENAME, GLOBAL_ENV_FILE -from codegen.shared.configs.session_manager import session_manager -from codegen.shared.configs.user_config import UserConfig +from codegen.configs.constants import ENV_FILENAME, GLOBAL_ENV_FILE +from codegen.configs.session_manager import session_manager +from codegen.configs.user_config import UserConfig @click.group(name="config") diff --git a/src/codegen/cli/mcp/resources/system_prompt.py b/src/codegen/cli/mcp/resources/system_prompt.py index ae5527f76..a44bb2f38 100644 --- a/src/codegen/cli/mcp/resources/system_prompt.py +++ b/src/codegen/cli/mcp/resources/system_prompt.py @@ -1385,8 +1385,8 @@ def baz(): ```python from codegen import Codebase -from codegen.shared.configs.models.codebase import CodebaseConfig -from codegen.shared.configs.models.secrets import SecretsConfig +from codegen.configs.models.codebase import CodebaseConfig +from codegen.configs.models.secrets import SecretsConfig codebase = Codebase( "path/to/repository", diff --git a/src/codegen/shared/configs/constants.py b/src/codegen/configs/constants.py similarity index 100% rename from src/codegen/shared/configs/constants.py rename to src/codegen/configs/constants.py diff --git a/src/codegen/shared/configs/models/base_config.py b/src/codegen/configs/models/base_config.py similarity index 93% rename from src/codegen/shared/configs/models/base_config.py rename to src/codegen/configs/models/base_config.py index d446f2cd7..4bbd25a84 100644 --- a/src/codegen/shared/configs/models/base_config.py +++ b/src/codegen/configs/models/base_config.py @@ -4,8 +4,8 @@ from dotenv import set_key from pydantic_settings import BaseSettings, SettingsConfigDict -from codegen.shared.configs.constants import ENV_FILENAME, GLOBAL_ENV_FILE -from codegen.shared.configs.session_manager import session_root +from codegen.configs.constants import ENV_FILENAME, GLOBAL_ENV_FILE +from codegen.configs.session_manager import session_root class BaseConfig(BaseSettings, ABC): diff --git a/src/codegen/shared/configs/models/codebase.py b/src/codegen/configs/models/codebase.py similarity index 92% rename from src/codegen/shared/configs/models/codebase.py rename to src/codegen/configs/models/codebase.py index 8b0a2527d..c5c96b1ce 100644 --- a/src/codegen/shared/configs/models/codebase.py +++ b/src/codegen/configs/models/codebase.py @@ -1,6 +1,6 @@ from pydantic import Field -from codegen.shared.configs.models.base_config import BaseConfig +from codegen.configs.models.base_config import BaseConfig class CodebaseConfig(BaseConfig): diff --git a/src/codegen/shared/configs/models/repository.py b/src/codegen/configs/models/repository.py similarity index 94% rename from src/codegen/shared/configs/models/repository.py rename to src/codegen/configs/models/repository.py index 74af2a20b..c75f1dd9f 100644 --- a/src/codegen/shared/configs/models/repository.py +++ b/src/codegen/configs/models/repository.py @@ -1,6 +1,6 @@ import os -from codegen.shared.configs.models.base_config import BaseConfig +from codegen.configs.models.base_config import BaseConfig class RepositoryConfig(BaseConfig): diff --git a/src/codegen/shared/configs/models/secrets.py b/src/codegen/configs/models/secrets.py similarity index 88% rename from src/codegen/shared/configs/models/secrets.py rename to src/codegen/configs/models/secrets.py index cd13d69fd..12612b25f 100644 --- a/src/codegen/shared/configs/models/secrets.py +++ b/src/codegen/configs/models/secrets.py @@ -1,4 +1,4 @@ -from codegen.shared.configs.models.base_config import BaseConfig +from codegen.configs.models.base_config import BaseConfig class SecretsConfig(BaseConfig): diff --git a/src/codegen/shared/configs/models/utils.py b/src/codegen/configs/models/utils.py similarity index 100% rename from src/codegen/shared/configs/models/utils.py rename to src/codegen/configs/models/utils.py diff --git a/src/codegen/shared/configs/session_manager.py b/src/codegen/configs/session_manager.py similarity index 97% rename from src/codegen/shared/configs/session_manager.py rename to src/codegen/configs/session_manager.py index e3c8c7122..c8c48cfe7 100644 --- a/src/codegen/shared/configs/session_manager.py +++ b/src/codegen/configs/session_manager.py @@ -3,7 +3,7 @@ import json from pathlib import Path -from codegen.shared.configs.constants import CODEGEN_DIR_NAME, SESSION_FILE +from codegen.configs.constants import CODEGEN_DIR_NAME, SESSION_FILE class SessionManager: diff --git a/src/codegen/shared/configs/user_config.py b/src/codegen/configs/user_config.py similarity index 93% rename from src/codegen/shared/configs/user_config.py rename to src/codegen/configs/user_config.py index 45d80d5f0..511929ad9 100644 --- a/src/codegen/shared/configs/user_config.py +++ b/src/codegen/configs/user_config.py @@ -3,9 +3,9 @@ from pydantic import Field -from codegen.shared.configs.models.codebase import CodebaseConfig -from codegen.shared.configs.models.repository import RepositoryConfig -from codegen.shared.configs.models.secrets import SecretsConfig +from codegen.configs.models.codebase import CodebaseConfig +from codegen.configs.models.repository import RepositoryConfig +from codegen.configs.models.secrets import SecretsConfig class UserConfig: diff --git a/src/codegen/extensions/lsp/protocol.py b/src/codegen/extensions/lsp/protocol.py index 3369813aa..2aedd4795 100644 --- a/src/codegen/extensions/lsp/protocol.py +++ b/src/codegen/extensions/lsp/protocol.py @@ -5,11 +5,11 @@ from lsprotocol.types import INITIALIZE, InitializeParams, InitializeResult from pygls.protocol import LanguageServerProtocol, lsp_method +from codegen.configs.models.codebase import DefaultCodebaseConfig from codegen.extensions.lsp.io import LSPIO from codegen.extensions.lsp.progress import LSPProgress from codegen.extensions.lsp.utils import get_path from codegen.sdk.core.codebase import Codebase -from codegen.shared.configs.models.codebase import DefaultCodebaseConfig if TYPE_CHECKING: from codegen.extensions.lsp.server import CodegenLanguageServer diff --git a/src/codegen/git/repo_operator/repo_operator.py b/src/codegen/git/repo_operator/repo_operator.py index 7ceb486d9..c1dbf38eb 100644 --- a/src/codegen/git/repo_operator/repo_operator.py +++ b/src/codegen/git/repo_operator/repo_operator.py @@ -16,6 +16,7 @@ from git.remote import PushInfoList from github.PullRequest import PullRequest +from codegen.configs.models.secrets import DefaultSecrets from codegen.git.clients.git_repo_client import GitRepoClient from codegen.git.configs.constants import CODEGEN_BOT_EMAIL, CODEGEN_BOT_NAME from codegen.git.repo_operator.local_git_repo import LocalGitRepo @@ -26,7 +27,6 @@ from codegen.git.utils.codeowner_utils import create_codeowners_parser_for_repo from codegen.git.utils.file_utils import create_files from codegen.git.utils.remote_progress import CustomRemoteProgress -from codegen.shared.configs.models.secrets import DefaultSecrets from codegen.shared.performance.stopwatch_utils import stopwatch from codegen.shared.performance.time_utils import humanize_duration diff --git a/src/codegen/runner/clients/codebase_client.py b/src/codegen/runner/clients/codebase_client.py index b7975e844..b00035c87 100644 --- a/src/codegen/runner/clients/codebase_client.py +++ b/src/codegen/runner/clients/codebase_client.py @@ -2,10 +2,10 @@ import logging +from codegen.configs.models import secrets from codegen.git.schemas.repo_config import RepoConfig from codegen.runner.clients.server_client import LocalServerClient from codegen.runner.models.apis import SANDBOX_SERVER_PORT -from codegen.shared.configs.models import secrets logger = logging.getLogger(__name__) diff --git a/src/codegen/runner/sandbox/server.py b/src/codegen/runner/sandbox/server.py index ee94fc32e..35689f2c1 100644 --- a/src/codegen/runner/sandbox/server.py +++ b/src/codegen/runner/sandbox/server.py @@ -7,6 +7,8 @@ import psutil from fastapi import FastAPI +from codegen.configs.models.repository import DefaultRepoConfig +from codegen.configs.models.secrets import DefaultSecrets from codegen.git.schemas.repo_config import RepoConfig from codegen.runner.enums.warmup_state import WarmupState from codegen.runner.models.apis import ( @@ -23,8 +25,6 @@ ) from codegen.runner.sandbox.middlewares import CodemodRunMiddleware from codegen.runner.sandbox.runner import SandboxRunner -from codegen.shared.configs.models.repository import DefaultRepoConfig -from codegen.shared.configs.models.secrets import DefaultSecrets from codegen.shared.enums.programming_language import ProgrammingLanguage from codegen.shared.performance.memory_utils import get_memory_stats diff --git a/src/codegen/sdk/code_generation/codegen_sdk_codebase.py b/src/codegen/sdk/code_generation/codegen_sdk_codebase.py index f4b024fed..36d012718 100644 --- a/src/codegen/sdk/code_generation/codegen_sdk_codebase.py +++ b/src/codegen/sdk/code_generation/codegen_sdk_codebase.py @@ -1,8 +1,8 @@ import os.path +from codegen.configs.models.codebase import DefaultCodebaseConfig from codegen.sdk.code_generation.current_code_codebase import get_codegen_codebase_base_path, get_current_code_codebase from codegen.sdk.core.codebase import Codebase -from codegen.shared.configs.models.codebase import DefaultCodebaseConfig def get_codegen_sdk_subdirectories() -> list[str]: diff --git a/src/codegen/sdk/code_generation/current_code_codebase.py b/src/codegen/sdk/code_generation/current_code_codebase.py index 25a850175..5c097c09d 100644 --- a/src/codegen/sdk/code_generation/current_code_codebase.py +++ b/src/codegen/sdk/code_generation/current_code_codebase.py @@ -4,12 +4,12 @@ from pathlib import Path from typing import TypedDict +from codegen.configs.models.codebase import CodebaseConfig, DefaultCodebaseConfig +from codegen.configs.models.secrets import DefaultSecrets, SecretsConfig from codegen.git.repo_operator.repo_operator import RepoOperator from codegen.git.schemas.repo_config import RepoConfig from codegen.sdk.codebase.config import ProjectConfig from codegen.sdk.core.codebase import Codebase, CodebaseType -from codegen.shared.configs.models.codebase import CodebaseConfig, DefaultCodebaseConfig -from codegen.shared.configs.models.secrets import DefaultSecrets, SecretsConfig from codegen.shared.decorators.docs import DocumentedObject, apidoc_objects, no_apidoc_objects, py_apidoc_objects, ts_apidoc_objects from codegen.shared.enums.programming_language import ProgrammingLanguage diff --git a/src/codegen/sdk/codebase/codebase_context.py b/src/codegen/sdk/codebase/codebase_context.py index 3fc6dc537..674ecd1c6 100644 --- a/src/codegen/sdk/codebase/codebase_context.py +++ b/src/codegen/sdk/codebase/codebase_context.py @@ -11,6 +11,8 @@ from rustworkx import PyDiGraph, WeightedEdgeList +from codegen.configs.models.codebase import DefaultCodebaseConfig +from codegen.configs.models.secrets import DefaultSecrets, SecretsConfig from codegen.sdk.codebase.config import ProjectConfig, SessionOptions from codegen.sdk.codebase.config_parser import ConfigParser, get_config_parser_for_language from codegen.sdk.codebase.diff_lite import ChangeType, DiffLite @@ -27,8 +29,6 @@ from codegen.sdk.extensions.sort import sort_editables from codegen.sdk.extensions.utils import uncache_all from codegen.sdk.typescript.external.ts_declassify.ts_declassify import TSDeclassify -from codegen.shared.configs.models.codebase import DefaultCodebaseConfig -from codegen.shared.configs.models.secrets import DefaultSecrets, SecretsConfig from codegen.shared.enums.programming_language import ProgrammingLanguage from codegen.shared.exceptions.control_flow import StopCodemodException from codegen.shared.performance.stopwatch_utils import stopwatch, stopwatch_with_sentry @@ -39,6 +39,7 @@ from codeowners import CodeOwners as CodeOwnersParser from git import Commit as GitCommit + from codegen.configs.models.codebase import CodebaseConfig from codegen.git.repo_operator.repo_operator import RepoOperator from codegen.sdk.codebase.io.io import IO from codegen.sdk.codebase.node_classes.node_classes import NodeClasses @@ -50,7 +51,6 @@ from codegen.sdk.core.interfaces.importable import Importable from codegen.sdk.core.node_id_factory import NodeId from codegen.sdk.core.parser import Parser - from codegen.shared.configs.models.codebase import CodebaseConfig import logging diff --git a/src/codegen/sdk/codebase/config.py b/src/codegen/sdk/codebase/config.py index 61fb3bafa..25f3c2e0e 100644 --- a/src/codegen/sdk/codebase/config.py +++ b/src/codegen/sdk/codebase/config.py @@ -5,11 +5,11 @@ from pydantic.config import ConfigDict from pydantic.fields import Field +from codegen.configs.models.codebase import DefaultCodebaseConfig from codegen.git.repo_operator.repo_operator import RepoOperator from codegen.git.schemas.repo_config import RepoConfig from codegen.git.utils.file_utils import split_git_path from codegen.git.utils.language import determine_project_language -from codegen.shared.configs.models.codebase import DefaultCodebaseConfig from codegen.shared.enums.programming_language import ProgrammingLanguage HARD_MAX_AI_LIMIT = 500 # Global limit for AI requests diff --git a/src/codegen/sdk/codebase/factory/codebase_factory.py b/src/codegen/sdk/codebase/factory/codebase_factory.py index 78de18602..f122cc371 100644 --- a/src/codegen/sdk/codebase/factory/codebase_factory.py +++ b/src/codegen/sdk/codebase/factory/codebase_factory.py @@ -1,11 +1,11 @@ +from codegen.configs.models.codebase import CodebaseConfig +from codegen.configs.models.secrets import DefaultSecrets, SecretsConfig from codegen.git.repo_operator.repo_operator import RepoOperator from codegen.sdk.codebase.config import DefaultCodebaseConfig, ProjectConfig from codegen.sdk.core.codebase import ( Codebase, CodebaseType, ) -from codegen.shared.configs.models.codebase import CodebaseConfig -from codegen.shared.configs.models.secrets import DefaultSecrets, SecretsConfig from codegen.shared.enums.programming_language import ProgrammingLanguage diff --git a/src/codegen/sdk/codebase/factory/get_session.py b/src/codegen/sdk/codebase/factory/get_session.py index 537e45ef0..cb0d4df33 100644 --- a/src/codegen/sdk/codebase/factory/get_session.py +++ b/src/codegen/sdk/codebase/factory/get_session.py @@ -4,6 +4,8 @@ from contextlib import AbstractContextManager, contextmanager from typing import Literal, overload +from codegen.configs.models.codebase import CodebaseConfig +from codegen.configs.models.secrets import DefaultSecrets, SecretsConfig from codegen.git.repo_operator.repo_operator import RepoOperator from codegen.sdk.codebase.codebase_context import CodebaseContext from codegen.sdk.codebase.config import ProjectConfig, SessionOptions, TestFlags @@ -11,8 +13,6 @@ from codegen.sdk.core.codebase import Codebase, PyCodebaseType, TSCodebaseType from codegen.sdk.core.file import SourceFile from codegen.sdk.tree_sitter_parser import print_errors -from codegen.shared.configs.models.codebase import CodebaseConfig -from codegen.shared.configs.models.secrets import DefaultSecrets, SecretsConfig from codegen.shared.enums.programming_language import ProgrammingLanguage diff --git a/src/codegen/sdk/core/codebase.py b/src/codegen/sdk/core/codebase.py index ab726577c..4801ec803 100644 --- a/src/codegen/sdk/core/codebase.py +++ b/src/codegen/sdk/core/codebase.py @@ -22,6 +22,8 @@ from rich.console import Console from typing_extensions import TypeVar, deprecated +from codegen.configs.models.codebase import CodebaseConfig, DefaultCodebaseConfig +from codegen.configs.models.secrets import DefaultSecrets, SecretsConfig from codegen.git.repo_operator.repo_operator import RepoOperator from codegen.git.schemas.enums import CheckoutResult from codegen.git.utils.pr_review import CodegenPR @@ -78,8 +80,6 @@ from codegen.sdk.typescript.statements.import_statement import TSImportStatement from codegen.sdk.typescript.symbol import TSSymbol from codegen.sdk.typescript.type_alias import TSTypeAlias -from codegen.shared.configs.models.codebase import CodebaseConfig, DefaultCodebaseConfig -from codegen.shared.configs.models.secrets import DefaultSecrets, SecretsConfig from codegen.shared.decorators.docs import apidoc, noapidoc, py_noapidoc from codegen.shared.enums.programming_language import ProgrammingLanguage from codegen.shared.exceptions.control_flow import MaxAIRequestsError diff --git a/src/codegen/sdk/system-prompt.txt b/src/codegen/sdk/system-prompt.txt index f2ef5213d..646aa0bfa 100644 --- a/src/codegen/sdk/system-prompt.txt +++ b/src/codegen/sdk/system-prompt.txt @@ -1407,8 +1407,8 @@ You can customize the behavior of your Codebase instance by passing a `CodebaseC ```python from codegen import Codebase -from codegen.shared.configs.models.codebase import CodebaseConfig -from codegen.shared.configs.models.secrets import SecretsConfig +from codegen.configs.models.codebase import CodebaseConfig +from codegen.configs.models.secrets import SecretsConfig codebase = Codebase( "path/to/repository", diff --git a/tests/integration/codegen/runner/conftest.py b/tests/integration/codegen/runner/conftest.py index c6918955b..1c4bf52b7 100644 --- a/tests/integration/codegen/runner/conftest.py +++ b/tests/integration/codegen/runner/conftest.py @@ -5,12 +5,12 @@ import pytest +from codegen.configs.models.secrets import DefaultSecrets from codegen.git.clients.git_repo_client import GitRepoClient from codegen.git.repo_operator.repo_operator import RepoOperator from codegen.git.schemas.enums import SetupOption from codegen.git.schemas.repo_config import RepoConfig from codegen.runner.clients.codebase_client import CodebaseClient -from codegen.shared.configs.models.secrets import DefaultSecrets from codegen.shared.enums.programming_language import ProgrammingLanguage diff --git a/tests/integration/codemod/conftest.py b/tests/integration/codemod/conftest.py index ae8c6b40c..978c4451b 100644 --- a/tests/integration/codemod/conftest.py +++ b/tests/integration/codemod/conftest.py @@ -10,10 +10,10 @@ from _pytest.python import Metafunc from pyinstrument import Profiler +from codegen.configs.models.codebase import CodebaseConfig from codegen.git.repo_operator.repo_operator import RepoOperator from codegen.sdk.codebase.config import ProjectConfig from codegen.sdk.core.codebase import Codebase -from codegen.shared.configs.models.codebase import CodebaseConfig from tests.shared.codemod.constants import DIFF_FILEPATH from tests.shared.codemod.models import BASE_PATH, BASE_TMP_DIR, VERIFIED_CODEMOD_DIFFS, CodemodMetadata, Repo, Size from tests.shared.codemod.test_discovery import find_codemod_test_cases, find_repos, find_verified_codemod_cases diff --git a/tests/integration/codemod/test_parse.py b/tests/integration/codemod/test_parse.py index 54a433218..9554cf555 100644 --- a/tests/integration/codemod/test_parse.py +++ b/tests/integration/codemod/test_parse.py @@ -5,11 +5,11 @@ import psutil import pytest +from codegen.configs.models.codebase import DefaultCodebaseConfig from codegen.git.repo_operator.repo_operator import RepoOperator from codegen.sdk.codebase.config import ProjectConfig from codegen.sdk.codebase.validation import PostInitValidationStatus, post_init_validation from codegen.sdk.core.codebase import Codebase -from codegen.shared.configs.models.codebase import DefaultCodebaseConfig from tests.shared.codemod.models import Repo from tests.shared.utils.recursion import set_recursion_limit diff --git a/tests/shared/codemod/models.py b/tests/shared/codemod/models.py index 0e1798eb7..374c14bbc 100644 --- a/tests/shared/codemod/models.py +++ b/tests/shared/codemod/models.py @@ -9,8 +9,8 @@ from pydantic import BaseModel, ConfigDict +from codegen.configs.models.codebase import CodebaseConfig from codegen.git.repo_operator.repo_operator import RepoOperator -from codegen.shared.configs.models.codebase import CodebaseConfig from codegen.shared.enums.programming_language import ProgrammingLanguage from tests.shared.codemod.constants import DIFF_FILEPATH from tests.shared.codemod.verified_codemod_utils import CodemodAPI diff --git a/tests/unit/codegen/sdk/core/test_directory.py b/tests/unit/codegen/sdk/core/test_directory.py index 3209d568a..32725ccc3 100644 --- a/tests/unit/codegen/sdk/core/test_directory.py +++ b/tests/unit/codegen/sdk/core/test_directory.py @@ -5,11 +5,11 @@ import pytest +from codegen.configs.models.codebase import DefaultCodebaseConfig from codegen.sdk.codebase.codebase_context import CodebaseContext from codegen.sdk.codebase.factory.get_session import get_codebase_session from codegen.sdk.core.directory import Directory from codegen.sdk.core.file import File -from codegen.shared.configs.models.codebase import DefaultCodebaseConfig from codegen.shared.enums.programming_language import ProgrammingLanguage