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.

Files changed (262) hide show
  1. {kodit-0.3.14 → kodit-0.3.15}/Makefile +4 -1
  2. {kodit-0.3.14 → kodit-0.3.15}/PKG-INFO +1 -1
  3. {kodit-0.3.14 → kodit-0.3.15}/docs/reference/api/index.md +1 -1
  4. {kodit-0.3.14 → kodit-0.3.15}/docs/reference/api/openapi.json +1 -1
  5. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/_version.py +2 -2
  6. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/embedding/embedding_providers/openai_embedding_provider.py +11 -1
  7. 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
  8. kodit-0.3.14/tests/kodit/mcp_test.py +0 -88
  9. {kodit-0.3.14 → kodit-0.3.15}/.claude/commands/debug.md +0 -0
  10. {kodit-0.3.14 → kodit-0.3.15}/.claude/commands/new-requirement.md +0 -0
  11. {kodit-0.3.14 → kodit-0.3.15}/.claude/commands/refactor.md +0 -0
  12. {kodit-0.3.14 → kodit-0.3.15}/.claude/commands/update-docs.md +0 -0
  13. {kodit-0.3.14 → kodit-0.3.15}/.claude/settings.json +0 -0
  14. {kodit-0.3.14 → kodit-0.3.15}/.cursor/rules/kodit.mdc +0 -0
  15. {kodit-0.3.14 → kodit-0.3.15}/.cursor/rules/style.mdc +0 -0
  16. {kodit-0.3.14 → kodit-0.3.15}/.dockerignore +0 -0
  17. {kodit-0.3.14 → kodit-0.3.15}/.github/CODE_OF_CONDUCT.md +0 -0
  18. {kodit-0.3.14 → kodit-0.3.15}/.github/CONTRIBUTING.md +0 -0
  19. {kodit-0.3.14 → kodit-0.3.15}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  20. {kodit-0.3.14 → kodit-0.3.15}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  21. {kodit-0.3.14 → kodit-0.3.15}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  22. {kodit-0.3.14 → kodit-0.3.15}/.github/dependabot.yml +0 -0
  23. {kodit-0.3.14 → kodit-0.3.15}/.github/workflows/docker.yaml +0 -0
  24. {kodit-0.3.14 → kodit-0.3.15}/.github/workflows/docs.yaml +0 -0
  25. {kodit-0.3.14 → kodit-0.3.15}/.github/workflows/pull_request.yaml +0 -0
  26. {kodit-0.3.14 → kodit-0.3.15}/.github/workflows/pypi-test.yaml +0 -0
  27. {kodit-0.3.14 → kodit-0.3.15}/.github/workflows/pypi.yaml +0 -0
  28. {kodit-0.3.14 → kodit-0.3.15}/.github/workflows/test.yaml +0 -0
  29. {kodit-0.3.14 → kodit-0.3.15}/.gitignore +0 -0
  30. {kodit-0.3.14 → kodit-0.3.15}/.python-version +0 -0
  31. {kodit-0.3.14 → kodit-0.3.15}/.vscode/launch.json +0 -0
  32. {kodit-0.3.14 → kodit-0.3.15}/.vscode/settings.json +0 -0
  33. {kodit-0.3.14 → kodit-0.3.15}/CLAUDE.md +0 -0
  34. {kodit-0.3.14 → kodit-0.3.15}/Dockerfile +0 -0
  35. {kodit-0.3.14 → kodit-0.3.15}/LICENSE +0 -0
  36. {kodit-0.3.14 → kodit-0.3.15}/README.md +0 -0
  37. {kodit-0.3.14 → kodit-0.3.15}/alembic.ini +0 -0
  38. {kodit-0.3.14 → kodit-0.3.15}/docs/_index.md +0 -0
  39. {kodit-0.3.14 → kodit-0.3.15}/docs/demos/_index.md +0 -0
  40. {kodit-0.3.14 → kodit-0.3.15}/docs/demos/go-simple-microservice/index.md +0 -0
  41. {kodit-0.3.14 → kodit-0.3.15}/docs/demos/knock-knock-auth/index.md +0 -0
  42. {kodit-0.3.14 → kodit-0.3.15}/docs/developer/index.md +0 -0
  43. {kodit-0.3.14 → kodit-0.3.15}/docs/getting-started/_index.md +0 -0
  44. {kodit-0.3.14 → kodit-0.3.15}/docs/getting-started/installation/index.md +0 -0
  45. {kodit-0.3.14 → kodit-0.3.15}/docs/getting-started/integration/index.md +0 -0
  46. {kodit-0.3.14 → kodit-0.3.15}/docs/getting-started/quick-start/index.md +0 -0
  47. {kodit-0.3.14 → kodit-0.3.15}/docs/reference/_index.md +0 -0
  48. {kodit-0.3.14 → kodit-0.3.15}/docs/reference/api/templates/_content.md.j2 +0 -0
  49. {kodit-0.3.14 → kodit-0.3.15}/docs/reference/api/templates/_example.md.j2 +0 -0
  50. {kodit-0.3.14 → kodit-0.3.15}/docs/reference/api/templates/_object_schema.md.j2 +0 -0
  51. {kodit-0.3.14 → kodit-0.3.15}/docs/reference/api/templates/_security_scheme.md.j2 +0 -0
  52. {kodit-0.3.14 → kodit-0.3.15}/docs/reference/api/templates/api_doc_template.md.j2 +0 -0
  53. {kodit-0.3.14 → kodit-0.3.15}/docs/reference/configuration/index.md +0 -0
  54. {kodit-0.3.14 → kodit-0.3.15}/docs/reference/deployment/docker-compose.yaml +0 -0
  55. {kodit-0.3.14 → kodit-0.3.15}/docs/reference/deployment/index.md +0 -0
  56. {kodit-0.3.14 → kodit-0.3.15}/docs/reference/deployment/kubernetes.yaml +0 -0
  57. {kodit-0.3.14 → kodit-0.3.15}/docs/reference/hosted-kodit/index.md +0 -0
  58. {kodit-0.3.14 → kodit-0.3.15}/docs/reference/indexing/index.md +0 -0
  59. {kodit-0.3.14 → kodit-0.3.15}/docs/reference/mcp/index.md +0 -0
  60. {kodit-0.3.14 → kodit-0.3.15}/docs/reference/sync/index.md +0 -0
  61. {kodit-0.3.14 → kodit-0.3.15}/docs/reference/telemetry/index.md +0 -0
  62. {kodit-0.3.14 → kodit-0.3.15}/pyproject.toml +0 -0
  63. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/.gitignore +0 -0
  64. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/__init__.py +0 -0
  65. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/app.py +0 -0
  66. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/application/__init__.py +0 -0
  67. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/application/factories/__init__.py +0 -0
  68. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/application/factories/code_indexing_factory.py +0 -0
  69. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/application/services/__init__.py +0 -0
  70. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/application/services/auto_indexing_service.py +0 -0
  71. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/application/services/code_indexing_application_service.py +0 -0
  72. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/application/services/sync_scheduler.py +0 -0
  73. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/cli.py +0 -0
  74. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/config.py +0 -0
  75. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/database.py +0 -0
  76. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/domain/__init__.py +0 -0
  77. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/domain/entities.py +0 -0
  78. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/domain/errors.py +0 -0
  79. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/domain/interfaces.py +0 -0
  80. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/domain/protocols.py +0 -0
  81. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/domain/services/__init__.py +0 -0
  82. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/domain/services/bm25_service.py +0 -0
  83. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/domain/services/embedding_service.py +0 -0
  84. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/domain/services/enrichment_service.py +0 -0
  85. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/domain/services/index_query_service.py +0 -0
  86. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/domain/services/index_service.py +0 -0
  87. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/domain/value_objects.py +0 -0
  88. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/__init__.py +0 -0
  89. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/api/__init__.py +0 -0
  90. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/api/middleware/__init__.py +0 -0
  91. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/api/middleware/auth.py +0 -0
  92. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/api/v1/__init__.py +0 -0
  93. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/api/v1/dependencies.py +0 -0
  94. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/api/v1/routers/__init__.py +0 -0
  95. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/api/v1/routers/indexes.py +0 -0
  96. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/api/v1/routers/search.py +0 -0
  97. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/api/v1/schemas/__init__.py +0 -0
  98. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/api/v1/schemas/context.py +0 -0
  99. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/api/v1/schemas/index.py +0 -0
  100. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/api/v1/schemas/search.py +0 -0
  101. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/bm25/__init__.py +0 -0
  102. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/bm25/bm25_factory.py +0 -0
  103. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/bm25/local_bm25_repository.py +0 -0
  104. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/bm25/vectorchord_bm25_repository.py +0 -0
  105. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/cloning/__init__.py +0 -0
  106. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/cloning/git/__init__.py +0 -0
  107. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/cloning/git/working_copy.py +0 -0
  108. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/cloning/metadata.py +0 -0
  109. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/embedding/__init__.py +0 -0
  110. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/embedding/embedding_factory.py +0 -0
  111. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/embedding/embedding_providers/__init__.py +0 -0
  112. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/embedding/embedding_providers/batching.py +0 -0
  113. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/embedding/embedding_providers/hash_embedding_provider.py +0 -0
  114. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/embedding/embedding_providers/local_embedding_provider.py +0 -0
  115. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/embedding/local_vector_search_repository.py +0 -0
  116. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/embedding/vectorchord_vector_search_repository.py +0 -0
  117. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/enrichment/__init__.py +0 -0
  118. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/enrichment/enrichment_factory.py +0 -0
  119. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/enrichment/local_enrichment_provider.py +0 -0
  120. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/enrichment/null_enrichment_provider.py +0 -0
  121. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/enrichment/openai_enrichment_provider.py +0 -0
  122. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/git/__init__.py +0 -0
  123. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/git/git_utils.py +0 -0
  124. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/ignore/__init__.py +0 -0
  125. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/ignore/ignore_pattern_provider.py +0 -0
  126. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/indexing/__init__.py +0 -0
  127. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/indexing/fusion_service.py +0 -0
  128. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/mappers/__init__.py +0 -0
  129. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/mappers/index_mapper.py +0 -0
  130. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/slicing/__init__.py +0 -0
  131. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/slicing/language_detection_service.py +0 -0
  132. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/slicing/slicer.py +0 -0
  133. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/sqlalchemy/__init__.py +0 -0
  134. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/sqlalchemy/embedding_repository.py +0 -0
  135. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/sqlalchemy/entities.py +0 -0
  136. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/sqlalchemy/index_repository.py +0 -0
  137. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/ui/__init__.py +0 -0
  138. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/ui/progress.py +0 -0
  139. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/infrastructure/ui/spinner.py +0 -0
  140. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/log.py +0 -0
  141. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/mcp.py +0 -0
  142. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/middleware.py +0 -0
  143. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/migrations/README +0 -0
  144. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/migrations/__init__.py +0 -0
  145. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/migrations/env.py +0 -0
  146. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/migrations/script.py.mako +0 -0
  147. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/migrations/versions/4073b33f9436_add_file_processing_flag.py +0 -0
  148. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/migrations/versions/4552eb3f23ce_add_summary.py +0 -0
  149. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/migrations/versions/7c3bbc2ab32b_add_embeddings_table.py +0 -0
  150. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/migrations/versions/85155663351e_initial.py +0 -0
  151. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/migrations/versions/9e53ea8bb3b0_add_authors.py +0 -0
  152. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/migrations/versions/__init__.py +0 -0
  153. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/migrations/versions/c3f5137d30f5_index_all_the_things.py +0 -0
  154. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/reporting.py +0 -0
  155. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/utils/__init__.py +0 -0
  156. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/utils/dump_openapi.py +0 -0
  157. {kodit-0.3.14 → kodit-0.3.15}/src/kodit/utils/path_utils.py +0 -0
  158. {kodit-0.3.14 → kodit-0.3.15}/tests/__init__.py +0 -0
  159. {kodit-0.3.14 → kodit-0.3.15}/tests/conftest.py +0 -0
  160. {kodit-0.3.14 → kodit-0.3.15}/tests/docker-smoke.sh +0 -0
  161. {kodit-0.3.14 → kodit-0.3.15}/tests/experiments/__init__.py +0 -0
  162. {kodit-0.3.14 → kodit-0.3.15}/tests/experiments/cline_prompt_tests/__init__.py +0 -0
  163. {kodit-0.3.14 → kodit-0.3.15}/tests/experiments/cline_prompt_tests/cline_prompt.txt +0 -0
  164. {kodit-0.3.14 → kodit-0.3.15}/tests/experiments/cline_prompt_tests/cline_prompt_test.py +0 -0
  165. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/__init__.py +0 -0
  166. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/app_test.py +0 -0
  167. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/application/__init__.py +0 -0
  168. /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
  169. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/application/services/__init__.py +0 -0
  170. /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
  171. /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
  172. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/cli_test.py +0 -0
  173. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/config_test.py +0 -0
  174. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/domain/__init__.py +0 -0
  175. /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
  176. /kodit-0.3.14/tests/kodit/domain/test_embedding_service.py → /kodit-0.3.15/tests/kodit/domain/embedding_service_test.py +0 -0
  177. /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
  178. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/domain/entities_test.py +0 -0
  179. /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
  180. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/domain/services/__init__.py +0 -0
  181. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/domain/services/index_service_test.py +0 -0
  182. /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
  183. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/e2e.py +0 -0
  184. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/__init__.py +0 -0
  185. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/bm25/__init__.py +0 -0
  186. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/bm25/local_bm25_repository_test.py +0 -0
  187. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/bm25/vectorchord_bm25_repository_test.py +0 -0
  188. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/cloning/git_cloning/__init__.py +0 -0
  189. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/cloning/git_cloning/working_copy_test.py +0 -0
  190. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/embedding/__init__.py +0 -0
  191. /kodit-0.3.14/tests/kodit/infrastructure/embedding/test_batching.py → /kodit-0.3.15/tests/kodit/infrastructure/embedding/batching_test.py +0 -0
  192. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/embedding/embedding_factory_test.py +0 -0
  193. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/embedding/embedding_provider/__init__.py +0 -0
  194. /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
  195. /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
  196. /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
  197. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/embedding/test_embedding_integration.py +0 -0
  198. /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
  199. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/enrichment/__init__.py +0 -0
  200. /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
  201. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/enrichment/enrichment_provider/__init__.py +0 -0
  202. /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
  203. /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
  204. /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
  205. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/mappers/__init__.py +0 -0
  206. /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
  207. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/__init__.py +0 -0
  208. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/__init__.py +0 -0
  209. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/c/main.c +0 -0
  210. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/c/models.c +0 -0
  211. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/c/models.h +0 -0
  212. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/c/utils.c +0 -0
  213. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/c/utils.h +0 -0
  214. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/cpp/main.cpp +0 -0
  215. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/cpp/models.cpp +0 -0
  216. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/cpp/models.hpp +0 -0
  217. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/cpp/utils.cpp +0 -0
  218. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/cpp/utils.hpp +0 -0
  219. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/csharp/Main.cs +0 -0
  220. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/csharp/Models.cs +0 -0
  221. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/csharp/Utils.cs +0 -0
  222. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/css/components.css +0 -0
  223. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/css/main.css +0 -0
  224. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/css/utilities.css +0 -0
  225. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/go/main.go +0 -0
  226. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/go/models.go +0 -0
  227. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/go/utils.go +0 -0
  228. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/html/components.html +0 -0
  229. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/html/forms.html +0 -0
  230. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/html/main.html +0 -0
  231. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/java/Main.java +0 -0
  232. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/java/Models.java +0 -0
  233. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/java/Utils.java +0 -0
  234. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/javascript/main.js +0 -0
  235. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/javascript/models.js +0 -0
  236. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/javascript/utils.js +0 -0
  237. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/python/__init__.py +0 -0
  238. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/python/main.py +0 -0
  239. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/python/models.py +0 -0
  240. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/python/utils.py +0 -0
  241. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/rust/main.rs +0 -0
  242. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/rust/models.rs +0 -0
  243. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/data/rust/utils.rs +0 -0
  244. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/slicing/slicer_test.py +0 -0
  245. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/snippets/__init__.py +0 -0
  246. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/snippets/csharp.cs +0 -0
  247. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/snippets/golang.go +0 -0
  248. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/snippets/javascript.js +0 -0
  249. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/snippets/knock_knock_server.py +0 -0
  250. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/snippets/python.py +0 -0
  251. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/snippets/typescript.tsx +0 -0
  252. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/infrastructure/sqlalchemy/__init__.py +0 -0
  253. /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
  254. {kodit-0.3.14 → kodit-0.3.15}/tests/kodit/log_test.py +0 -0
  255. /kodit-0.3.14/tests/kodit/mcp_stdio_test.py → /kodit-0.3.15/tests/kodit/mcp_test.py +0 -0
  256. {kodit-0.3.14 → kodit-0.3.15}/tests/performance/__init__.py +0 -0
  257. {kodit-0.3.14 → kodit-0.3.15}/tests/performance/similarity.py +0 -0
  258. {kodit-0.3.14 → kodit-0.3.15}/tests/smoke.sh +0 -0
  259. {kodit-0.3.14 → kodit-0.3.15}/tests/utils/__init__.py +0 -0
  260. /kodit-0.3.14/tests/utils/test_path_utils.py → /kodit-0.3.15/tests/utils/path_utils_test.py +0 -0
  261. {kodit-0.3.14 → kodit-0.3.15}/tests/vectorchord-smoke.sh +0 -0
  262. {kodit-0.3.14 → kodit-0.3.15}/uv.lock +0 -0
@@ -1,7 +1,10 @@
1
1
  # Makefile for Kodit
2
2
 
3
3
  # Generate OpenAPI json schema from the FastAPI app
4
- openapi:
4
+ build:
5
+ uv build
6
+
7
+ openapi: build
5
8
  uv run src/kodit/utils/dump_openapi.py --out docs/reference/api/ kodit.app:app
6
9
 
7
10
  openapi-check: openapi
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kodit
3
- Version: 0.3.14
3
+ Version: 0.3.15
4
4
  Summary: Code indexing for better AI code generation
5
5
  Project-URL: Homepage, https://docs.helixml.tech/kodit/
6
6
  Project-URL: Documentation, https://docs.helixml.tech/kodit/
@@ -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.14
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.14"
6
+ "version": "0.3.15"
7
7
  },
8
8
  "paths": {
9
9
  "/healthz": {
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '0.3.14'
21
- __version_tuple__ = version_tuple = (0, 3, 14)
20
+ __version__ = version = '0.3.15'
21
+ __version_tuple__ = version_tuple = (0, 3, 15)
@@ -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
- self._encoding = tiktoken.encoding_for_model(self.model_name)
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