kodit 0.3.14__tar.gz → 0.3.15__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of kodit might be problematic. Click here for more details.
- {kodit-0.3.14 → kodit-0.3.15}/Makefile +4 -1
- {kodit-0.3.14 → kodit-0.3.15}/PKG-INFO +1 -1
- {kodit-0.3.14 → kodit-0.3.15}/docs/reference/api/index.md +1 -1
- {kodit-0.3.14 → kodit-0.3.15}/docs/reference/api/openapi.json +1 -1
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/_version.py +2 -2
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/embedding/embedding_providers/openai_embedding_provider.py +11 -1
- kodit-0.3.14/tests/kodit/infrastructure/embedding/embedding_provider/test_openai_embedding_provider.py → kodit-0.3.15/tests/kodit/infrastructure/embedding/embedding_provider/openai_embedding_provider_test.py +21 -0
- kodit-0.3.14/tests/kodit/mcp_test.py +0 -88
- {kodit-0.3.14 → kodit-0.3.15}/.claude/commands/debug.md +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/.claude/commands/new-requirement.md +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/.claude/commands/refactor.md +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/.claude/commands/update-docs.md +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/.claude/settings.json +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/.cursor/rules/kodit.mdc +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/.cursor/rules/style.mdc +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/.dockerignore +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/.github/CODE_OF_CONDUCT.md +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/.github/CONTRIBUTING.md +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/.github/dependabot.yml +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/.github/workflows/docker.yaml +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/.github/workflows/docs.yaml +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/.github/workflows/pull_request.yaml +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/.github/workflows/pypi-test.yaml +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/.github/workflows/pypi.yaml +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/.github/workflows/test.yaml +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/.gitignore +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/.python-version +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/.vscode/launch.json +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/.vscode/settings.json +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/CLAUDE.md +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/Dockerfile +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/LICENSE +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/README.md +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/alembic.ini +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/docs/_index.md +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/docs/demos/_index.md +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/docs/demos/go-simple-microservice/index.md +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/docs/demos/knock-knock-auth/index.md +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/docs/developer/index.md +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/docs/getting-started/_index.md +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/docs/getting-started/installation/index.md +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/docs/getting-started/integration/index.md +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/docs/getting-started/quick-start/index.md +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/docs/reference/_index.md +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/docs/reference/api/templates/_content.md.j2 +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/docs/reference/api/templates/_example.md.j2 +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/docs/reference/api/templates/_object_schema.md.j2 +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/docs/reference/api/templates/_security_scheme.md.j2 +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/docs/reference/api/templates/api_doc_template.md.j2 +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/docs/reference/configuration/index.md +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/docs/reference/deployment/docker-compose.yaml +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/docs/reference/deployment/index.md +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/docs/reference/deployment/kubernetes.yaml +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/docs/reference/hosted-kodit/index.md +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/docs/reference/indexing/index.md +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/docs/reference/mcp/index.md +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/docs/reference/sync/index.md +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/docs/reference/telemetry/index.md +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/pyproject.toml +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/.gitignore +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/__init__.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/app.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/application/__init__.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/application/factories/__init__.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/application/factories/code_indexing_factory.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/application/services/__init__.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/application/services/auto_indexing_service.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/application/services/code_indexing_application_service.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/application/services/sync_scheduler.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/cli.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/config.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/database.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/domain/__init__.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/domain/entities.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/domain/errors.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/domain/interfaces.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/domain/protocols.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/domain/services/__init__.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/domain/services/bm25_service.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/domain/services/embedding_service.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/domain/services/enrichment_service.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/domain/services/index_query_service.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/domain/services/index_service.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/domain/value_objects.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/__init__.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/api/__init__.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/api/middleware/__init__.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/api/middleware/auth.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/api/v1/__init__.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/api/v1/dependencies.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/api/v1/routers/__init__.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/api/v1/routers/indexes.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/api/v1/routers/search.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/api/v1/schemas/__init__.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/api/v1/schemas/context.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/api/v1/schemas/index.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/api/v1/schemas/search.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/bm25/__init__.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/bm25/bm25_factory.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/bm25/local_bm25_repository.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/bm25/vectorchord_bm25_repository.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/cloning/__init__.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/cloning/git/__init__.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/cloning/git/working_copy.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/cloning/metadata.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/embedding/__init__.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/embedding/embedding_factory.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/embedding/embedding_providers/__init__.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/embedding/embedding_providers/batching.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/embedding/embedding_providers/hash_embedding_provider.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/embedding/embedding_providers/local_embedding_provider.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/embedding/local_vector_search_repository.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/embedding/vectorchord_vector_search_repository.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/enrichment/__init__.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/enrichment/enrichment_factory.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/enrichment/local_enrichment_provider.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/enrichment/null_enrichment_provider.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/enrichment/openai_enrichment_provider.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/git/__init__.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/git/git_utils.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/ignore/__init__.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/ignore/ignore_pattern_provider.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/indexing/__init__.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/indexing/fusion_service.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/mappers/__init__.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/mappers/index_mapper.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/slicing/__init__.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/slicing/language_detection_service.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/slicing/slicer.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/sqlalchemy/__init__.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/sqlalchemy/embedding_repository.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/sqlalchemy/entities.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/sqlalchemy/index_repository.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/ui/__init__.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/ui/progress.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/ui/spinner.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/log.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/mcp.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/middleware.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/migrations/README +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/migrations/__init__.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/migrations/env.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/migrations/script.py.mako +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/migrations/versions/4073b33f9436_add_file_processing_flag.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/migrations/versions/4552eb3f23ce_add_summary.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/migrations/versions/7c3bbc2ab32b_add_embeddings_table.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/migrations/versions/85155663351e_initial.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/migrations/versions/9e53ea8bb3b0_add_authors.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/migrations/versions/__init__.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/migrations/versions/c3f5137d30f5_index_all_the_things.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/reporting.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/utils/__init__.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/utils/dump_openapi.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/src/kodit/utils/path_utils.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/__init__.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/conftest.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/docker-smoke.sh +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/experiments/__init__.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/experiments/cline_prompt_tests/__init__.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/experiments/cline_prompt_tests/cline_prompt.txt +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/experiments/cline_prompt_tests/cline_prompt_test.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/__init__.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/app_test.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/application/__init__.py +0 -0
- /kodit-0.3.14/tests/kodit/application/test_code_indexing_application_service.py → /kodit-0.3.15/tests/kodit/application/code_indexing_application_service_test.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/application/services/__init__.py +0 -0
- /kodit-0.3.14/tests/kodit/application/services/test_auto_indexing_service.py → /kodit-0.3.15/tests/kodit/application/services/auto_indexing_service_test.py +0 -0
- /kodit-0.3.14/tests/kodit/application/services/test_sync_scheduler.py → /kodit-0.3.15/tests/kodit/application/services/sync_scheduler_test.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/cli_test.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/config_test.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/domain/__init__.py +0 -0
- /kodit-0.3.14/tests/kodit/domain/bm25_domain_service_test.py → /kodit-0.3.15/tests/kodit/domain/bm25_service_test.py +0 -0
- /kodit-0.3.14/tests/kodit/domain/test_embedding_service.py → /kodit-0.3.15/tests/kodit/domain/embedding_service_test.py +0 -0
- /kodit-0.3.14/tests/kodit/domain/enrichment_domain_service_test.py → /kodit-0.3.15/tests/kodit/domain/enrichment_service_test.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/domain/entities_test.py +0 -0
- /kodit-0.3.14/tests/kodit/domain/test_language_mapping.py → /kodit-0.3.15/tests/kodit/domain/language_detection_service_test.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/domain/services/__init__.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/domain/services/index_service_test.py +0 -0
- /kodit-0.3.14/tests/kodit/domain/test_multi_search_result.py → /kodit-0.3.15/tests/kodit/domain/value_objects_test.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/e2e.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/__init__.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/bm25/__init__.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/bm25/local_bm25_repository_test.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/bm25/vectorchord_bm25_repository_test.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/cloning/git_cloning/__init__.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/cloning/git_cloning/working_copy_test.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/embedding/__init__.py +0 -0
- /kodit-0.3.14/tests/kodit/infrastructure/embedding/test_batching.py → /kodit-0.3.15/tests/kodit/infrastructure/embedding/batching_test.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/embedding/embedding_factory_test.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/embedding/embedding_provider/__init__.py +0 -0
- /kodit-0.3.14/tests/kodit/infrastructure/embedding/embedding_provider/test_hash_embedding_provider.py → /kodit-0.3.15/tests/kodit/infrastructure/embedding/embedding_provider/hash_embedding_provider_test.py +0 -0
- /kodit-0.3.14/tests/kodit/infrastructure/embedding/embedding_provider/test_local_embedding_provider.py → /kodit-0.3.15/tests/kodit/infrastructure/embedding/embedding_provider/local_embedding_provider_test.py +0 -0
- /kodit-0.3.14/tests/kodit/infrastructure/embedding/test_local_vector_search_repository.py → /kodit-0.3.15/tests/kodit/infrastructure/embedding/local_vector_search_repository_test.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/embedding/test_embedding_integration.py +0 -0
- /kodit-0.3.14/tests/kodit/infrastructure/embedding/test_vectorchord_vector_search_repository.py → /kodit-0.3.15/tests/kodit/infrastructure/embedding/vectorchord_vector_search_repository_test.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/enrichment/__init__.py +0 -0
- /kodit-0.3.14/tests/kodit/infrastructure/enrichment/test_enrichment_factory.py → /kodit-0.3.15/tests/kodit/infrastructure/enrichment/enrichment_factory_test.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/enrichment/enrichment_provider/__init__.py +0 -0
- /kodit-0.3.14/tests/kodit/infrastructure/enrichment/enrichment_provider/test_local_enrichment_provider.py → /kodit-0.3.15/tests/kodit/infrastructure/enrichment/enrichment_provider/local_enrichment_provider_test.py +0 -0
- /kodit-0.3.14/tests/kodit/infrastructure/enrichment/enrichment_provider/test_null_enrichment_provider.py → /kodit-0.3.15/tests/kodit/infrastructure/enrichment/enrichment_provider/null_enrichment_provider_test.py +0 -0
- /kodit-0.3.14/tests/kodit/infrastructure/enrichment/enrichment_provider/test_openai_enrichment_provider.py → /kodit-0.3.15/tests/kodit/infrastructure/enrichment/enrichment_provider/openai_enrichment_provider_test.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/mappers/__init__.py +0 -0
- /kodit-0.3.14/tests/kodit/infrastructure/mappers/test_index_mapper.py → /kodit-0.3.15/tests/kodit/infrastructure/mappers/index_mapper_test.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/__init__.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/__init__.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/c/main.c +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/c/models.c +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/c/models.h +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/c/utils.c +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/c/utils.h +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/cpp/main.cpp +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/cpp/models.cpp +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/cpp/models.hpp +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/cpp/utils.cpp +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/cpp/utils.hpp +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/csharp/Main.cs +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/csharp/Models.cs +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/csharp/Utils.cs +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/css/components.css +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/css/main.css +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/css/utilities.css +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/go/main.go +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/go/models.go +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/go/utils.go +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/html/components.html +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/html/forms.html +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/html/main.html +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/java/Main.java +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/java/Models.java +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/java/Utils.java +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/javascript/main.js +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/javascript/models.js +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/javascript/utils.js +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/python/__init__.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/python/main.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/python/models.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/python/utils.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/rust/main.rs +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/rust/models.rs +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/rust/utils.rs +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/slicer_test.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/snippets/__init__.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/snippets/csharp.cs +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/snippets/golang.go +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/snippets/javascript.js +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/snippets/knock_knock_server.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/snippets/python.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/snippets/typescript.tsx +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/sqlalchemy/__init__.py +0 -0
- /kodit-0.3.14/tests/kodit/infrastructure/sqlalchemy/test_embedding_repository.py → /kodit-0.3.15/tests/kodit/infrastructure/sqlalchemy/embedding_repository_test.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/log_test.py +0 -0
- /kodit-0.3.14/tests/kodit/mcp_stdio_test.py → /kodit-0.3.15/tests/kodit/mcp_test.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/performance/__init__.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/performance/similarity.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/smoke.sh +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/utils/__init__.py +0 -0
- /kodit-0.3.14/tests/utils/test_path_utils.py → /kodit-0.3.15/tests/utils/path_utils_test.py +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/tests/vectorchord-smoke.sh +0 -0
- {kodit-0.3.14 → kodit-0.3.15}/uv.lock +0 -0
|
@@ -12,7 +12,7 @@ look at the [hosted version](https://kodit.helix.ml/docs).
|
|
|
12
12
|
This is the REST API for the Kodit server. Please refer to the
|
|
13
13
|
[Kodit documentation](https://docs.helix.ml/kodit/) for more information.
|
|
14
14
|
|
|
15
|
-
Current version: 0.3.
|
|
15
|
+
Current version: 0.3.15
|
|
16
16
|
|
|
17
17
|
## Authentication
|
|
18
18
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"info": {
|
|
4
4
|
"title": "kodit API",
|
|
5
5
|
"description": "\nThis is the REST API for the Kodit server. Please refer to the\n[Kodit documentation](https://docs.helix.ml/kodit/) for more information.\n ",
|
|
6
|
-
"version": "0.3.
|
|
6
|
+
"version": "0.3.15"
|
|
7
7
|
},
|
|
8
8
|
"paths": {
|
|
9
9
|
"/healthz": {
|
|
@@ -52,7 +52,17 @@ class OpenAIEmbeddingProvider(EmbeddingProvider):
|
|
|
52
52
|
def _get_encoding(self) -> "Encoding":
|
|
53
53
|
"""Return (and cache) the tiktoken encoding for the chosen model."""
|
|
54
54
|
if self._encoding is None:
|
|
55
|
-
|
|
55
|
+
try:
|
|
56
|
+
self._encoding = tiktoken.encoding_for_model(self.model_name)
|
|
57
|
+
except KeyError:
|
|
58
|
+
# If the model is not supported by tiktoken, use a default encoding
|
|
59
|
+
self.log.info(
|
|
60
|
+
"Model not supported by tiktoken, using default encoding",
|
|
61
|
+
model_name=self.model_name,
|
|
62
|
+
default_encoding="o200k_base",
|
|
63
|
+
)
|
|
64
|
+
self._encoding = tiktoken.get_encoding("o200k_base")
|
|
65
|
+
|
|
56
66
|
return self._encoding
|
|
57
67
|
|
|
58
68
|
def _split_sub_batches(
|
|
@@ -260,3 +260,24 @@ class TestOpenAIEmbeddingProvider:
|
|
|
260
260
|
|
|
261
261
|
# Should handle malformed response gracefully by returning empty results
|
|
262
262
|
assert len(results) == 0
|
|
263
|
+
|
|
264
|
+
@pytest.mark.asyncio
|
|
265
|
+
async def test_non_openai_model_name(self) -> None:
|
|
266
|
+
"""Test embedding with a non-OpenAI model name."""
|
|
267
|
+
mock_client = MagicMock()
|
|
268
|
+
mock_response = MagicMock()
|
|
269
|
+
mock_response.data = [MagicMock(embedding=[0.1] * 1500)]
|
|
270
|
+
mock_client.embeddings.create = AsyncMock(return_value=mock_response)
|
|
271
|
+
|
|
272
|
+
provider = OpenAIEmbeddingProvider(
|
|
273
|
+
openai_client=mock_client, model_name="non-openai-model"
|
|
274
|
+
)
|
|
275
|
+
|
|
276
|
+
# This should not crash
|
|
277
|
+
test_requests = [EmbeddingRequest(snippet_id=1, text="test")]
|
|
278
|
+
await anext(provider.embed(test_requests))
|
|
279
|
+
|
|
280
|
+
# Verify the custom model was used
|
|
281
|
+
mock_client.embeddings.create.assert_called_once_with(
|
|
282
|
+
input=["test"], model="non-openai-model"
|
|
283
|
+
)
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
"""Tests for the MCP server implementation."""
|
|
2
|
-
|
|
3
|
-
import pytest
|
|
4
|
-
from fastmcp import Client
|
|
5
|
-
from mcp.types import TextContent
|
|
6
|
-
from sqlalchemy.ext.asyncio import AsyncSession
|
|
7
|
-
|
|
8
|
-
from kodit.domain.value_objects import FileProcessingStatus
|
|
9
|
-
from kodit.infrastructure.sqlalchemy.entities import (
|
|
10
|
-
File,
|
|
11
|
-
Index,
|
|
12
|
-
Snippet,
|
|
13
|
-
Source,
|
|
14
|
-
SourceType,
|
|
15
|
-
)
|
|
16
|
-
from kodit.mcp import mcp
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
@pytest.mark.asyncio
|
|
20
|
-
async def test_mcp_server_basic_functionality(session: AsyncSession) -> None:
|
|
21
|
-
"""Test basic MCP server functionality with real database."""
|
|
22
|
-
# Create test data
|
|
23
|
-
source = Source(
|
|
24
|
-
uri="file:///test/repo",
|
|
25
|
-
cloned_path="/tmp/test/repo", # noqa: S108
|
|
26
|
-
source_type=SourceType.FOLDER,
|
|
27
|
-
)
|
|
28
|
-
session.add(source)
|
|
29
|
-
await session.flush()
|
|
30
|
-
|
|
31
|
-
index = Index(source_id=source.id)
|
|
32
|
-
session.add(index)
|
|
33
|
-
await session.flush()
|
|
34
|
-
|
|
35
|
-
file = File(
|
|
36
|
-
created_at=source.created_at,
|
|
37
|
-
updated_at=source.updated_at,
|
|
38
|
-
source_id=source.id,
|
|
39
|
-
mime_type="text/plain",
|
|
40
|
-
uri="file:///test/repo/example.py",
|
|
41
|
-
cloned_path="/tmp/test/repo/example.py", # noqa: S108
|
|
42
|
-
sha256="abc123",
|
|
43
|
-
size_bytes=100,
|
|
44
|
-
extension="py",
|
|
45
|
-
file_processing_status=FileProcessingStatus.CLEAN,
|
|
46
|
-
)
|
|
47
|
-
session.add(file)
|
|
48
|
-
await session.flush()
|
|
49
|
-
|
|
50
|
-
snippet = Snippet(
|
|
51
|
-
file_id=file.id,
|
|
52
|
-
index_id=index.id,
|
|
53
|
-
content="def hello_world():\n return 'Hello, World!'",
|
|
54
|
-
summary="Simple hello world function",
|
|
55
|
-
)
|
|
56
|
-
session.add(snippet)
|
|
57
|
-
await session.commit()
|
|
58
|
-
|
|
59
|
-
# Test MCP client connection
|
|
60
|
-
async with Client(mcp) as client:
|
|
61
|
-
# Test tool listing
|
|
62
|
-
tools = await client.list_tools()
|
|
63
|
-
assert len(tools) == 2
|
|
64
|
-
tool_names = {tool.name for tool in tools}
|
|
65
|
-
assert "search" in tool_names
|
|
66
|
-
assert "get_version" in tool_names
|
|
67
|
-
|
|
68
|
-
# Test version tool
|
|
69
|
-
result = await client.call_tool("get_version")
|
|
70
|
-
assert len(result.content) == 1
|
|
71
|
-
content = result.content[0]
|
|
72
|
-
assert isinstance(content, TextContent)
|
|
73
|
-
assert content.text is not None
|
|
74
|
-
|
|
75
|
-
# Test search tool
|
|
76
|
-
result = await client.call_tool(
|
|
77
|
-
"search",
|
|
78
|
-
{
|
|
79
|
-
"user_intent": "Find hello world functions",
|
|
80
|
-
"related_file_paths": [],
|
|
81
|
-
"related_file_contents": [],
|
|
82
|
-
"keywords": ["hello", "world"],
|
|
83
|
-
},
|
|
84
|
-
)
|
|
85
|
-
assert len(result.content) == 1
|
|
86
|
-
content = result.content[0]
|
|
87
|
-
assert isinstance(content, TextContent)
|
|
88
|
-
assert content.text is not None
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kodit-0.3.14 → kodit-0.3.15}/src/kodit/application/services/code_indexing_application_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/embedding/embedding_providers/__init__.py
RENAMED
|
File without changes
|
{kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/embedding/embedding_providers/batching.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/embedding/local_vector_search_repository.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/enrichment/local_enrichment_provider.py
RENAMED
|
File without changes
|
{kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/enrichment/null_enrichment_provider.py
RENAMED
|
File without changes
|
{kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/enrichment/openai_enrichment_provider.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/slicing/language_detection_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kodit-0.3.14 → kodit-0.3.15}/src/kodit/migrations/versions/4073b33f9436_add_file_processing_flag.py
RENAMED
|
File without changes
|
|
File without changes
|
{kodit-0.3.14 → kodit-0.3.15}/src/kodit/migrations/versions/7c3bbc2ab32b_add_embeddings_table.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kodit-0.3.14 → kodit-0.3.15}/src/kodit/migrations/versions/c3f5137d30f5_index_all_the_things.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|