kodit 0.3.10__tar.gz → 0.3.12__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 (265) hide show
  1. {kodit-0.3.10 → kodit-0.3.12}/.github/workflows/docker.yaml +2 -1
  2. {kodit-0.3.10 → kodit-0.3.12}/.github/workflows/test.yaml +6 -6
  3. kodit-0.3.12/Makefile +17 -0
  4. {kodit-0.3.10 → kodit-0.3.12}/PKG-INFO +16 -1
  5. {kodit-0.3.10 → kodit-0.3.12}/README.md +15 -0
  6. {kodit-0.3.10 → kodit-0.3.12}/docs/_index.md +13 -0
  7. kodit-0.3.12/docs/getting-started/_index.md +31 -0
  8. {kodit-0.3.10 → kodit-0.3.12}/docs/getting-started/integration/index.md +21 -3
  9. kodit-0.3.12/docs/reference/api/index.md +362 -0
  10. kodit-0.3.12/docs/reference/api/openapi.json +738 -0
  11. kodit-0.3.12/docs/reference/api/templates/_content.md.j2 +18 -0
  12. kodit-0.3.12/docs/reference/api/templates/_example.md.j2 +14 -0
  13. kodit-0.3.12/docs/reference/api/templates/_object_schema.md.j2 +7 -0
  14. kodit-0.3.12/docs/reference/api/templates/_security_scheme.md.j2 +10 -0
  15. kodit-0.3.12/docs/reference/api/templates/api_doc_template.md.j2 +94 -0
  16. {kodit-0.3.10 → kodit-0.3.12}/docs/reference/deployment/docker-compose.yaml +17 -10
  17. kodit-0.3.12/docs/reference/hosted-kodit/index.md +188 -0
  18. {kodit-0.3.10 → kodit-0.3.12}/docs/reference/indexing/index.md +102 -0
  19. {kodit-0.3.10 → kodit-0.3.12}/docs/reference/mcp/index.md +7 -6
  20. {kodit-0.3.10 → kodit-0.3.12}/pyproject.toml +4 -0
  21. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/_version.py +2 -2
  22. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/app.py +39 -19
  23. {kodit-0.3.10/src/kodit/infrastructure/indexing → kodit-0.3.12/src/kodit/application/services}/auto_indexing_service.py +9 -1
  24. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/application/services/code_indexing_application_service.py +16 -0
  25. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/application/services/sync_scheduler.py +4 -1
  26. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/config.py +22 -1
  27. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/domain/entities.py +5 -0
  28. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/domain/protocols.py +4 -0
  29. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/domain/services/index_query_service.py +5 -1
  30. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/domain/services/index_service.py +11 -0
  31. kodit-0.3.12/src/kodit/infrastructure/api/__init__.py +1 -0
  32. kodit-0.3.12/src/kodit/infrastructure/api/middleware/__init__.py +1 -0
  33. kodit-0.3.12/src/kodit/infrastructure/api/middleware/auth.py +34 -0
  34. kodit-0.3.12/src/kodit/infrastructure/api/v1/__init__.py +5 -0
  35. kodit-0.3.12/src/kodit/infrastructure/api/v1/dependencies.py +70 -0
  36. kodit-0.3.12/src/kodit/infrastructure/api/v1/routers/__init__.py +6 -0
  37. kodit-0.3.12/src/kodit/infrastructure/api/v1/routers/indexes.py +114 -0
  38. kodit-0.3.12/src/kodit/infrastructure/api/v1/routers/search.py +74 -0
  39. kodit-0.3.12/src/kodit/infrastructure/api/v1/schemas/__init__.py +25 -0
  40. kodit-0.3.12/src/kodit/infrastructure/api/v1/schemas/context.py +11 -0
  41. kodit-0.3.12/src/kodit/infrastructure/api/v1/schemas/index.py +101 -0
  42. kodit-0.3.12/src/kodit/infrastructure/api/v1/schemas/search.py +219 -0
  43. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/infrastructure/bm25/local_bm25_repository.py +4 -4
  44. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/infrastructure/bm25/vectorchord_bm25_repository.py +4 -1
  45. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/infrastructure/embedding/embedding_providers/local_embedding_provider.py +2 -9
  46. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/infrastructure/embedding/embedding_providers/openai_embedding_provider.py +4 -10
  47. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/infrastructure/sqlalchemy/index_repository.py +29 -0
  48. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/infrastructure/ui/progress.py +43 -0
  49. kodit-0.3.12/src/kodit/utils/dump_openapi.py +37 -0
  50. {kodit-0.3.10 → kodit-0.3.12}/tests/conftest.py +2 -1
  51. kodit-0.3.12/tests/kodit/app_test.py +315 -0
  52. {kodit-0.3.10/tests/kodit/infrastructure/indexing → kodit-0.3.12/tests/kodit/application/services}/test_auto_indexing_service.py +6 -4
  53. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/application/services/test_sync_scheduler.py +0 -1
  54. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/application/test_code_indexing_application_service.py +35 -0
  55. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/bm25/local_bm25_repository_test.py +106 -11
  56. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/bm25/vectorchord_bm25_repository_test.py +94 -0
  57. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/embedding/embedding_provider/test_local_embedding_provider.py +10 -6
  58. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/embedding/embedding_provider/test_openai_embedding_provider.py +30 -23
  59. kodit-0.3.12/tests/smoke.sh +115 -0
  60. {kodit-0.3.10 → kodit-0.3.12}/uv.lock +159 -3
  61. kodit-0.3.10/docs/getting-started/_index.md +0 -12
  62. kodit-0.3.10/tests/kodit/infrastructure/indexing/__init__.py +0 -1
  63. kodit-0.3.10/tests/smoke.sh +0 -55
  64. {kodit-0.3.10 → kodit-0.3.12}/.claude/commands/debug.md +0 -0
  65. {kodit-0.3.10 → kodit-0.3.12}/.claude/commands/new-requirement.md +0 -0
  66. {kodit-0.3.10 → kodit-0.3.12}/.claude/commands/refactor.md +0 -0
  67. {kodit-0.3.10 → kodit-0.3.12}/.claude/commands/update-docs.md +0 -0
  68. {kodit-0.3.10 → kodit-0.3.12}/.claude/settings.json +0 -0
  69. {kodit-0.3.10 → kodit-0.3.12}/.cursor/rules/kodit.mdc +0 -0
  70. {kodit-0.3.10 → kodit-0.3.12}/.cursor/rules/style.mdc +0 -0
  71. {kodit-0.3.10 → kodit-0.3.12}/.dockerignore +0 -0
  72. {kodit-0.3.10 → kodit-0.3.12}/.github/CODE_OF_CONDUCT.md +0 -0
  73. {kodit-0.3.10 → kodit-0.3.12}/.github/CONTRIBUTING.md +0 -0
  74. {kodit-0.3.10 → kodit-0.3.12}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  75. {kodit-0.3.10 → kodit-0.3.12}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  76. {kodit-0.3.10 → kodit-0.3.12}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  77. {kodit-0.3.10 → kodit-0.3.12}/.github/dependabot.yml +0 -0
  78. {kodit-0.3.10 → kodit-0.3.12}/.github/workflows/docs.yaml +0 -0
  79. {kodit-0.3.10 → kodit-0.3.12}/.github/workflows/pull_request.yaml +0 -0
  80. {kodit-0.3.10 → kodit-0.3.12}/.github/workflows/pypi-test.yaml +0 -0
  81. {kodit-0.3.10 → kodit-0.3.12}/.github/workflows/pypi.yaml +0 -0
  82. {kodit-0.3.10 → kodit-0.3.12}/.gitignore +0 -0
  83. {kodit-0.3.10 → kodit-0.3.12}/.python-version +0 -0
  84. {kodit-0.3.10 → kodit-0.3.12}/.vscode/launch.json +0 -0
  85. {kodit-0.3.10 → kodit-0.3.12}/.vscode/settings.json +0 -0
  86. {kodit-0.3.10 → kodit-0.3.12}/CLAUDE.md +0 -0
  87. {kodit-0.3.10 → kodit-0.3.12}/Dockerfile +0 -0
  88. {kodit-0.3.10 → kodit-0.3.12}/LICENSE +0 -0
  89. {kodit-0.3.10 → kodit-0.3.12}/alembic.ini +0 -0
  90. {kodit-0.3.10 → kodit-0.3.12}/docs/demos/_index.md +0 -0
  91. {kodit-0.3.10 → kodit-0.3.12}/docs/demos/go-simple-microservice/index.md +0 -0
  92. {kodit-0.3.10 → kodit-0.3.12}/docs/demos/knock-knock-auth/index.md +0 -0
  93. {kodit-0.3.10 → kodit-0.3.12}/docs/developer/index.md +0 -0
  94. {kodit-0.3.10 → kodit-0.3.12}/docs/getting-started/installation/index.md +0 -0
  95. {kodit-0.3.10 → kodit-0.3.12}/docs/getting-started/quick-start/index.md +0 -0
  96. {kodit-0.3.10 → kodit-0.3.12}/docs/reference/_index.md +0 -0
  97. {kodit-0.3.10 → kodit-0.3.12}/docs/reference/configuration/index.md +0 -0
  98. {kodit-0.3.10 → kodit-0.3.12}/docs/reference/deployment/index.md +0 -0
  99. {kodit-0.3.10 → kodit-0.3.12}/docs/reference/deployment/kubernetes.yaml +0 -0
  100. {kodit-0.3.10 → kodit-0.3.12}/docs/reference/sync/index.md +0 -0
  101. {kodit-0.3.10 → kodit-0.3.12}/docs/reference/telemetry/index.md +0 -0
  102. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/.gitignore +0 -0
  103. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/__init__.py +0 -0
  104. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/application/__init__.py +0 -0
  105. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/application/factories/__init__.py +0 -0
  106. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/application/factories/code_indexing_factory.py +0 -0
  107. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/application/services/__init__.py +0 -0
  108. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/cli.py +0 -0
  109. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/database.py +0 -0
  110. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/domain/__init__.py +0 -0
  111. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/domain/errors.py +0 -0
  112. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/domain/interfaces.py +0 -0
  113. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/domain/services/__init__.py +0 -0
  114. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/domain/services/bm25_service.py +0 -0
  115. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/domain/services/embedding_service.py +0 -0
  116. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/domain/services/enrichment_service.py +0 -0
  117. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/domain/value_objects.py +0 -0
  118. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/infrastructure/__init__.py +0 -0
  119. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/infrastructure/bm25/__init__.py +0 -0
  120. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/infrastructure/bm25/bm25_factory.py +0 -0
  121. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/infrastructure/cloning/__init__.py +0 -0
  122. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/infrastructure/cloning/git/__init__.py +0 -0
  123. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/infrastructure/cloning/git/working_copy.py +0 -0
  124. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/infrastructure/cloning/metadata.py +0 -0
  125. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/infrastructure/embedding/__init__.py +0 -0
  126. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/infrastructure/embedding/embedding_factory.py +0 -0
  127. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/infrastructure/embedding/embedding_providers/__init__.py +0 -0
  128. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/infrastructure/embedding/embedding_providers/batching.py +0 -0
  129. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/infrastructure/embedding/embedding_providers/hash_embedding_provider.py +0 -0
  130. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/infrastructure/embedding/local_vector_search_repository.py +0 -0
  131. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/infrastructure/embedding/vectorchord_vector_search_repository.py +0 -0
  132. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/infrastructure/enrichment/__init__.py +0 -0
  133. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/infrastructure/enrichment/enrichment_factory.py +0 -0
  134. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/infrastructure/enrichment/local_enrichment_provider.py +0 -0
  135. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/infrastructure/enrichment/null_enrichment_provider.py +0 -0
  136. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/infrastructure/enrichment/openai_enrichment_provider.py +0 -0
  137. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/infrastructure/git/__init__.py +0 -0
  138. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/infrastructure/git/git_utils.py +0 -0
  139. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/infrastructure/ignore/__init__.py +0 -0
  140. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/infrastructure/ignore/ignore_pattern_provider.py +0 -0
  141. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/infrastructure/indexing/__init__.py +0 -0
  142. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/infrastructure/indexing/fusion_service.py +0 -0
  143. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/infrastructure/mappers/__init__.py +0 -0
  144. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/infrastructure/mappers/index_mapper.py +0 -0
  145. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/infrastructure/slicing/__init__.py +0 -0
  146. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/infrastructure/slicing/language_detection_service.py +0 -0
  147. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/infrastructure/slicing/slicer.py +0 -0
  148. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/infrastructure/sqlalchemy/__init__.py +0 -0
  149. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/infrastructure/sqlalchemy/embedding_repository.py +0 -0
  150. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/infrastructure/sqlalchemy/entities.py +0 -0
  151. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/infrastructure/ui/__init__.py +0 -0
  152. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/infrastructure/ui/spinner.py +0 -0
  153. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/log.py +0 -0
  154. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/mcp.py +0 -0
  155. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/middleware.py +0 -0
  156. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/migrations/README +0 -0
  157. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/migrations/__init__.py +0 -0
  158. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/migrations/env.py +0 -0
  159. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/migrations/script.py.mako +0 -0
  160. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/migrations/versions/4073b33f9436_add_file_processing_flag.py +0 -0
  161. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/migrations/versions/4552eb3f23ce_add_summary.py +0 -0
  162. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/migrations/versions/7c3bbc2ab32b_add_embeddings_table.py +0 -0
  163. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/migrations/versions/85155663351e_initial.py +0 -0
  164. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/migrations/versions/9e53ea8bb3b0_add_authors.py +0 -0
  165. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/migrations/versions/__init__.py +0 -0
  166. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/migrations/versions/c3f5137d30f5_index_all_the_things.py +0 -0
  167. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/reporting.py +0 -0
  168. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/utils/__init__.py +0 -0
  169. {kodit-0.3.10 → kodit-0.3.12}/src/kodit/utils/path_utils.py +0 -0
  170. {kodit-0.3.10 → kodit-0.3.12}/tests/__init__.py +0 -0
  171. {kodit-0.3.10 → kodit-0.3.12}/tests/docker-smoke.sh +0 -0
  172. {kodit-0.3.10 → kodit-0.3.12}/tests/experiments/__init__.py +0 -0
  173. {kodit-0.3.10 → kodit-0.3.12}/tests/experiments/cline_prompt_tests/__init__.py +0 -0
  174. {kodit-0.3.10 → kodit-0.3.12}/tests/experiments/cline_prompt_tests/cline_prompt.txt +0 -0
  175. {kodit-0.3.10 → kodit-0.3.12}/tests/experiments/cline_prompt_tests/cline_prompt_test.py +0 -0
  176. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/__init__.py +0 -0
  177. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/application/__init__.py +0 -0
  178. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/application/services/__init__.py +0 -0
  179. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/cli_test.py +0 -0
  180. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/config_test.py +0 -0
  181. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/domain/__init__.py +0 -0
  182. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/domain/bm25_domain_service_test.py +0 -0
  183. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/domain/enrichment_domain_service_test.py +0 -0
  184. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/domain/entities_test.py +0 -0
  185. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/domain/services/__init__.py +0 -0
  186. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/domain/services/index_service_test.py +0 -0
  187. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/domain/test_embedding_service.py +0 -0
  188. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/domain/test_language_mapping.py +0 -0
  189. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/domain/test_multi_search_result.py +0 -0
  190. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/e2e.py +0 -0
  191. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/__init__.py +0 -0
  192. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/bm25/__init__.py +0 -0
  193. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/cloning/git_cloning/__init__.py +0 -0
  194. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/cloning/git_cloning/working_copy_test.py +0 -0
  195. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/embedding/__init__.py +0 -0
  196. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/embedding/embedding_factory_test.py +0 -0
  197. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/embedding/embedding_provider/__init__.py +0 -0
  198. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/embedding/embedding_provider/test_hash_embedding_provider.py +0 -0
  199. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/embedding/test_batching.py +0 -0
  200. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/embedding/test_embedding_integration.py +0 -0
  201. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/embedding/test_local_vector_search_repository.py +0 -0
  202. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/embedding/test_vectorchord_vector_search_repository.py +0 -0
  203. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/enrichment/__init__.py +0 -0
  204. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/enrichment/enrichment_provider/__init__.py +0 -0
  205. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/enrichment/enrichment_provider/test_local_enrichment_provider.py +0 -0
  206. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/enrichment/enrichment_provider/test_null_enrichment_provider.py +0 -0
  207. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/enrichment/enrichment_provider/test_openai_enrichment_provider.py +0 -0
  208. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/enrichment/test_enrichment_factory.py +0 -0
  209. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/mappers/__init__.py +0 -0
  210. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/mappers/test_index_mapper.py +0 -0
  211. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/slicing/__init__.py +0 -0
  212. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/slicing/data/__init__.py +0 -0
  213. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/slicing/data/c/main.c +0 -0
  214. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/slicing/data/c/models.c +0 -0
  215. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/slicing/data/c/models.h +0 -0
  216. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/slicing/data/c/utils.c +0 -0
  217. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/slicing/data/c/utils.h +0 -0
  218. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/slicing/data/cpp/main.cpp +0 -0
  219. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/slicing/data/cpp/models.cpp +0 -0
  220. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/slicing/data/cpp/models.hpp +0 -0
  221. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/slicing/data/cpp/utils.cpp +0 -0
  222. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/slicing/data/cpp/utils.hpp +0 -0
  223. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/slicing/data/csharp/Main.cs +0 -0
  224. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/slicing/data/csharp/Models.cs +0 -0
  225. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/slicing/data/csharp/Utils.cs +0 -0
  226. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/slicing/data/css/components.css +0 -0
  227. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/slicing/data/css/main.css +0 -0
  228. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/slicing/data/css/utilities.css +0 -0
  229. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/slicing/data/go/main.go +0 -0
  230. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/slicing/data/go/models.go +0 -0
  231. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/slicing/data/go/utils.go +0 -0
  232. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/slicing/data/html/components.html +0 -0
  233. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/slicing/data/html/forms.html +0 -0
  234. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/slicing/data/html/main.html +0 -0
  235. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/slicing/data/java/Main.java +0 -0
  236. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/slicing/data/java/Models.java +0 -0
  237. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/slicing/data/java/Utils.java +0 -0
  238. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/slicing/data/javascript/main.js +0 -0
  239. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/slicing/data/javascript/models.js +0 -0
  240. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/slicing/data/javascript/utils.js +0 -0
  241. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/slicing/data/python/__init__.py +0 -0
  242. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/slicing/data/python/main.py +0 -0
  243. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/slicing/data/python/models.py +0 -0
  244. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/slicing/data/python/utils.py +0 -0
  245. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/slicing/data/rust/main.rs +0 -0
  246. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/slicing/data/rust/models.rs +0 -0
  247. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/slicing/data/rust/utils.rs +0 -0
  248. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/slicing/slicer_test.py +0 -0
  249. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/snippets/__init__.py +0 -0
  250. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/snippets/csharp.cs +0 -0
  251. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/snippets/golang.go +0 -0
  252. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/snippets/javascript.js +0 -0
  253. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/snippets/knock_knock_server.py +0 -0
  254. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/snippets/python.py +0 -0
  255. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/snippets/typescript.tsx +0 -0
  256. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/sqlalchemy/__init__.py +0 -0
  257. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/infrastructure/sqlalchemy/test_embedding_repository.py +0 -0
  258. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/log_test.py +0 -0
  259. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/mcp_stdio_test.py +0 -0
  260. {kodit-0.3.10 → kodit-0.3.12}/tests/kodit/mcp_test.py +0 -0
  261. {kodit-0.3.10 → kodit-0.3.12}/tests/performance/__init__.py +0 -0
  262. {kodit-0.3.10 → kodit-0.3.12}/tests/performance/similarity.py +0 -0
  263. {kodit-0.3.10 → kodit-0.3.12}/tests/utils/__init__.py +0 -0
  264. {kodit-0.3.10 → kodit-0.3.12}/tests/utils/test_path_utils.py +0 -0
  265. {kodit-0.3.10 → kodit-0.3.12}/tests/vectorchord-smoke.sh +0 -0
@@ -19,7 +19,7 @@ jobs:
19
19
  - name: Check out the repo
20
20
  uses: actions/checkout@v4
21
21
 
22
- - name: Build and push Docker image
22
+ - name: Build test Docker image
23
23
  id: push
24
24
  uses: docker/build-push-action@3b5e8027fcad23fda98b2e3ac259d8d67585f671
25
25
  with:
@@ -90,6 +90,7 @@ jobs:
90
90
  type=ref,event=pr,suffix=-py${{ steps.pyver.outputs.SHORT_PY }}
91
91
  type=sha,enable=${{ steps.pyver.outputs.ENABLE_DEFAULT }}
92
92
  type=sha,suffix=-py${{ steps.pyver.outputs.SHORT_PY }}
93
+ type=raw,value=latest,enable=${{ steps.pyver.outputs.ENABLE_DEFAULT && startsWith(github.ref, 'refs/tags/') }}
93
94
 
94
95
  - name: Build and push Docker image
95
96
  id: push
@@ -17,6 +17,9 @@ jobs:
17
17
  steps:
18
18
  - name: Checkout code
19
19
  uses: actions/checkout@v4
20
+ with:
21
+ fetch-tags: true
22
+ fetch-depth: 0
20
23
 
21
24
  # Use the official Python action to set up Python because it is faster
22
25
  - name: "Set up Python"
@@ -32,14 +35,11 @@ jobs:
32
35
  - name: Install the project
33
36
  run: uv sync --locked --all-extras --dev
34
37
 
35
- - name: Lint
36
- run: uv run ruff check
37
-
38
- - name: Run type checks
39
- run: uv run mypy --config-file pyproject.toml .
38
+ - name: API Doc check
39
+ run: make openapi-check
40
40
 
41
41
  - name: Run tests
42
- run: uv run pytest -s --cov=src --cov-report=xml tests/kodit
42
+ run: make test
43
43
 
44
44
  build-package:
45
45
  runs-on: ubuntu-latest
kodit-0.3.12/Makefile ADDED
@@ -0,0 +1,17 @@
1
+ # Makefile for Kodit
2
+
3
+ # Generate OpenAPI json schema from the FastAPI app
4
+ openapi:
5
+ uv run src/kodit/utils/dump_openapi.py --out docs/reference/api/ kodit.app:app
6
+
7
+ openapi-check: openapi
8
+ git diff --exit-code docs/reference/api/index.md
9
+
10
+ type:
11
+ uv run mypy --config-file pyproject.toml .
12
+
13
+ lint:
14
+ uv run ruff check --fix --unsafe-fixes
15
+
16
+ test: lint type
17
+ uv run pytest -s --cov=src --cov-report=xml tests/kodit
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kodit
3
- Version: 0.3.10
3
+ Version: 0.3.12
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/
@@ -72,6 +72,8 @@ Kodit connects your AI coding assistant to external codebases to provide accurat
72
72
 
73
73
  </div>
74
74
 
75
+ :star: _Help us reach more developers and grow the Helix community. Star this repo!_
76
+
75
77
  **Helix Kodit** is an **MCP server** that connects your AI coding assistant to external codebases. It can:
76
78
 
77
79
  - Improve your AI-assisted code by providing canonical examples direct from the source
@@ -120,6 +122,19 @@ intent. Kodit has been tested to work well with:
120
122
  - **New in 0.3**: Hybrid search combining BM25 keyword search with semantic search
121
123
  - **New in 0.4**: Enhanced MCP tools with rich context parameters and metadata
122
124
 
125
+ ### Hosted MCP Server
126
+
127
+ **New in 0.4**: Try Kodit instantly with our hosted MCP server at [https://kodit.helix.ml/mcp](https://kodit.helix.ml/mcp)! No installation required - just add it to your AI coding assistant and start searching popular codebases immediately.
128
+
129
+ The hosted server provides:
130
+
131
+ - Pre-indexed popular open source repositories
132
+ - Zero configuration - works out of the box
133
+ - Same powerful search capabilities as self-hosted Kodit
134
+ - Perfect for trying Kodit before setting up your own instance
135
+
136
+ Find out more in the [hosted Kodit documentation](https://docs.helix.ml/kodit/reference/hosted-kodit/).
137
+
123
138
  ### Enterprise Ready
124
139
 
125
140
  Out of the box, Kodit works with a local SQLite database and very small, local models.
@@ -18,6 +18,8 @@ Kodit connects your AI coding assistant to external codebases to provide accurat
18
18
 
19
19
  </div>
20
20
 
21
+ :star: _Help us reach more developers and grow the Helix community. Star this repo!_
22
+
21
23
  **Helix Kodit** is an **MCP server** that connects your AI coding assistant to external codebases. It can:
22
24
 
23
25
  - Improve your AI-assisted code by providing canonical examples direct from the source
@@ -66,6 +68,19 @@ intent. Kodit has been tested to work well with:
66
68
  - **New in 0.3**: Hybrid search combining BM25 keyword search with semantic search
67
69
  - **New in 0.4**: Enhanced MCP tools with rich context parameters and metadata
68
70
 
71
+ ### Hosted MCP Server
72
+
73
+ **New in 0.4**: Try Kodit instantly with our hosted MCP server at [https://kodit.helix.ml/mcp](https://kodit.helix.ml/mcp)! No installation required - just add it to your AI coding assistant and start searching popular codebases immediately.
74
+
75
+ The hosted server provides:
76
+
77
+ - Pre-indexed popular open source repositories
78
+ - Zero configuration - works out of the box
79
+ - Same powerful search capabilities as self-hosted Kodit
80
+ - Perfect for trying Kodit before setting up your own instance
81
+
82
+ Find out more in the [hosted Kodit documentation](https://docs.helix.ml/kodit/reference/hosted-kodit/).
83
+
69
84
  ### Enterprise Ready
70
85
 
71
86
  Out of the box, Kodit works with a local SQLite database and very small, local models.
@@ -75,6 +75,19 @@ intent. Kodit has been tested to work well with:
75
75
  - **New in 0.3**: Hybrid search combining BM25 keyword search with semantic search
76
76
  - **New in 0.3**: Enhanced MCP tools with rich context parameters and metadata
77
77
 
78
+ ### Hosted MCP Server
79
+
80
+ **New in 0.4**: Try Kodit instantly with our hosted MCP server at [https://kodit.helix.ml/mcp](https://kodit.helix.ml/mcp)! No installation required - just add it to your AI coding assistant and start searching popular codebases immediately.
81
+
82
+ The hosted server provides:
83
+
84
+ - Pre-indexed popular open source repositories
85
+ - Zero configuration - works out of the box
86
+ - Same powerful search capabilities as self-hosted Kodit
87
+ - Perfect for trying Kodit before setting up your own instance
88
+
89
+ Read the [hosted Kodit documentation](./reference/hosted-kodit/index.md).
90
+
78
91
  ### Enterprise Ready
79
92
 
80
93
  Out of the box, Kodit works with a local SQLite database and very small, local models.
@@ -0,0 +1,31 @@
1
+ ---
2
+ title: "Getting Started"
3
+ description: Getting started guide for Kodit.
4
+ weight: 1
5
+ next: /kodit/getting-started/installation
6
+ ---
7
+
8
+ Kodit is an MCP server that indexes codebases. As such, it can be run locally on your
9
+ laptop, or remotely on a server.
10
+
11
+ ## Hosted Kodit (Free, No Install)
12
+
13
+ This is the fastest way to try Kodit.
14
+
15
+ [Helix.ML](https://helix.ml) provides a free hosted version of Kodit so you can
16
+ integrate the power of Kodit immediately. To give this a spin, skip to the [integration
17
+ with coding assistants](./integration/index.md).
18
+
19
+ More information about the hosted service is available in the [hosted Kodit documentation](../reference/hosted-kodit/index.md).
20
+
21
+ ## Private Kodit
22
+
23
+ This is the most powerful way to use Kodit.
24
+
25
+ Kodit was designed to be private first, so you or your organization can index your own private
26
+ repositories. To do this, please [install kodit first](./installation/index.md), and then
27
+ [index your repositories](./quick-start/index.md).
28
+
29
+ <!--more-->
30
+
31
+ {{< default-section-cards-list >}}
@@ -4,7 +4,8 @@ description: How to integrate Kodit with AI coding assistants.
4
4
  weight: 3
5
5
  ---
6
6
 
7
- The core goal of Kodit is to make your AI coding experience more accurate by providing better context. That means you need to integrate Kodit with your favourite assistant.
7
+ The core goal of Kodit is to make your AI coding experience more accurate by providing
8
+ better context. That means you need to integrate Kodit with your favourite assistant.
8
9
 
9
10
  ## MCP Connection Methods
10
11
 
@@ -20,6 +21,12 @@ instructions for popular coding assistants like Cursor, Claude, Cline, etc.
20
21
  This is the default and recommended method for most users. Kodit runs an HTTP server
21
22
  that streams responses to connected AI coding assistants over the `/mcp` endpoint.
22
23
 
24
+ Configure your AI coding assistant to connect to `https://kodit.helix.ml/mcp`
25
+
26
+ More information about the hosted service is available in the [hosted Kodit documentation](../../reference/hosted-kodit/index.md).
27
+
28
+ #### Local HTTP Streaming
29
+
23
30
  1. Start the Kodit server:
24
31
 
25
32
  ```sh
@@ -28,7 +35,8 @@ that streams responses to connected AI coding assistants over the `/mcp` endpoin
28
35
 
29
36
  _The Kodit container runs this command by default._
30
37
 
31
- 2. Configure your AI coding assistant to connect to `http://localhost:8080/mcp`
38
+ 2. Configure your AI coding assistant to connect to the `/mcp` endpoint, for example:
39
+ `http://localhost:8080/mcp`.
32
40
 
33
41
  ### 2. STDIO Mode
34
42
 
@@ -47,6 +55,10 @@ opened.
47
55
  Kodit also supports the older SSE protocol on the `/sse` endpoint. This is provided for
48
56
  backward compatibility with tools that require SSE.
49
57
 
58
+ Configure your AI coding assistant to connect to `https://kodit.helix.ml/sse`
59
+
60
+ #### Local SSE
61
+
50
62
  1. Start the Kodit server:
51
63
 
52
64
  ```sh
@@ -55,4 +67,10 @@ backward compatibility with tools that require SSE.
55
67
 
56
68
  _The Kodit container runs this command by default._
57
69
 
58
- 2. Configure your AI coding assistant to connect to `http://localhost:8080/sse`
70
+ 2. Configure your AI coding assistant to connect to the `/sse` endpoint, for example
71
+ `http://localhost:8080/sse`.
72
+
73
+ ## HTTP API Connection Methods
74
+
75
+ Helix also exposes a REST API with an `/api/v1/search` endpoint to allow integration
76
+ with other tools. See the [Kodit HTTP API documentation](../../reference/api/index.md) for more information.
@@ -0,0 +1,362 @@
1
+ ---
2
+ title: Server API Reference
3
+ description: Kodit Server REST API Documentation
4
+ weight: 30
5
+ ---
6
+
7
+ This file is automatically generated from the Kodit server OpenAPI specification.
8
+ You can view the live API documentation on the `/docs` endpoint of your Kodit server or
9
+ look at the [hosted version](https://kodit.helix.ml/docs).
10
+
11
+
12
+ This is the REST API for the Kodit server. Please refer to the
13
+ [Kodit documentation](https://docs.helix.ml/kodit/) for more information.
14
+
15
+ Current version: 0.3.12
16
+
17
+ ## Authentication
18
+
19
+
20
+
21
+ ### Security Schemes
22
+
23
+ | Name | Type | Description | Scheme | Bearer Format |
24
+ |-------------------|-------------------|--------------------------|---------------------|---------------------------|
25
+ | Header (X-API-KEY) | apiKey | API key for authentication (only if set in environmental variables) | | |
26
+
27
+ ## APIs
28
+
29
+ ### GET /healthz
30
+
31
+ Return a health check for the kodit API.
32
+
33
+
34
+ #### Responses
35
+
36
+ - 200: Successful Response
37
+
38
+ - 500: Internal server error
39
+
40
+ ### GET /api/v1/indexes
41
+
42
+ List all indexes.
43
+
44
+
45
+ #### Responses
46
+
47
+ - 200: Successful Response
48
+
49
+ [IndexListResponse](#indexlistresponse)
50
+
51
+ - 500: Internal server error
52
+
53
+ - 401: Unauthorized
54
+
55
+ - 422: Invalid request
56
+
57
+ ### POST /api/v1/indexes
58
+
59
+ Create a new index and start async indexing.
60
+
61
+
62
+ #### Request Body
63
+
64
+ [IndexCreateRequest](#indexcreaterequest)
65
+
66
+
67
+ #### Responses
68
+
69
+ - 202: Successful Response
70
+
71
+ [IndexResponse](#indexresponse)
72
+
73
+ - 500: Internal server error
74
+
75
+ - 401: Unauthorized
76
+
77
+ - 422: Invalid request
78
+
79
+ ### GET /api/v1/indexes/{index_id}
80
+
81
+ Get index details.
82
+
83
+
84
+ #### Parameters
85
+
86
+ | Name | Type | Required | Description |
87
+ |------|------|----------|-------------|
88
+ | index_id | integer | True | |
89
+
90
+
91
+ #### Responses
92
+
93
+ - 200: Successful Response
94
+
95
+ [IndexDetailResponse](#indexdetailresponse)
96
+
97
+ - 500: Internal server error
98
+
99
+ - 401: Unauthorized
100
+
101
+ - 422: Invalid request
102
+
103
+ - 404: Index not found
104
+
105
+ ### DELETE /api/v1/indexes/{index_id}
106
+
107
+ Delete an index.
108
+
109
+
110
+ #### Parameters
111
+
112
+ | Name | Type | Required | Description |
113
+ |------|------|----------|-------------|
114
+ | index_id | integer | True | |
115
+
116
+
117
+ #### Responses
118
+
119
+ - 204: Successful Response
120
+
121
+ - 500: Internal server error
122
+
123
+ - 401: Unauthorized
124
+
125
+ - 422: Invalid request
126
+
127
+ - 404: Index not found
128
+
129
+ ### POST /api/v1/search
130
+
131
+ Search code snippets with filters matching MCP tool.
132
+
133
+
134
+ #### Request Body
135
+
136
+ [SearchRequest](#searchrequest)
137
+
138
+
139
+ #### Responses
140
+
141
+ - 200: Successful Response
142
+
143
+ [SearchResponse](#searchresponse)
144
+
145
+ - 500: Internal server error
146
+
147
+ - 422: Validation Error
148
+
149
+ [HTTPValidationError](#httpvalidationerror)
150
+
151
+ ## Components
152
+
153
+
154
+
155
+ ### HTTPValidationError
156
+
157
+
158
+
159
+ | Field | Type | Description |
160
+ |-------|------|-------------|
161
+ | detail | array | |
162
+
163
+
164
+ ### IndexAttributes
165
+
166
+
167
+ Index attributes for JSON:API responses.
168
+
169
+
170
+ | Field | Type | Description |
171
+ |-------|------|-------------|
172
+ | created_at | string | |
173
+ | updated_at | string | |
174
+ | uri | string | |
175
+
176
+
177
+ ### IndexCreateAttributes
178
+
179
+
180
+ Attributes for creating an index.
181
+
182
+
183
+ | Field | Type | Description |
184
+ |-------|------|-------------|
185
+ | uri | string | URI of the source to index |
186
+
187
+
188
+ ### IndexCreateData
189
+
190
+
191
+ Data for creating an index.
192
+
193
+
194
+ | Field | Type | Description |
195
+ |-------|------|-------------|
196
+ | type | string | |
197
+ | attributes | | |
198
+
199
+
200
+ ### IndexCreateRequest
201
+
202
+
203
+ JSON:API request for creating an index.
204
+
205
+
206
+ | Field | Type | Description |
207
+ |-------|------|-------------|
208
+ | data | | |
209
+
210
+
211
+ ### IndexData
212
+
213
+
214
+ Index data for JSON:API responses.
215
+
216
+
217
+ | Field | Type | Description |
218
+ |-------|------|-------------|
219
+ | type | string | |
220
+ | id | string | |
221
+ | attributes | | |
222
+
223
+
224
+ ### IndexDetailResponse
225
+
226
+
227
+ JSON:API response for index details with included resources.
228
+
229
+
230
+ | Field | Type | Description |
231
+ |-------|------|-------------|
232
+ | data | | |
233
+
234
+
235
+ ### IndexListResponse
236
+
237
+
238
+ JSON:API response for index list.
239
+
240
+
241
+ | Field | Type | Description |
242
+ |-------|------|-------------|
243
+ | data | array | |
244
+
245
+
246
+ ### IndexResponse
247
+
248
+
249
+ JSON:API response for single index.
250
+
251
+
252
+ | Field | Type | Description |
253
+ |-------|------|-------------|
254
+ | data | | |
255
+
256
+
257
+ ### SearchAttributes
258
+
259
+
260
+ Search attributes for JSON:API requests.
261
+
262
+
263
+ | Field | Type | Description |
264
+ |-------|------|-------------|
265
+ | keywords | | Search keywords |
266
+ | code | | Code search query |
267
+ | text | | Text search query |
268
+ | limit | | Maximum number of results to return |
269
+ | filters | | Search filters |
270
+
271
+
272
+ ### SearchData
273
+
274
+
275
+ Search data for JSON:API requests.
276
+
277
+
278
+ | Field | Type | Description |
279
+ |-------|------|-------------|
280
+ | type | string | |
281
+ | attributes | | |
282
+
283
+
284
+ ### SearchFilters
285
+
286
+
287
+ Search filters for JSON:API requests.
288
+
289
+
290
+ | Field | Type | Description |
291
+ |-------|------|-------------|
292
+ | languages | | Programming languages to filter by |
293
+ | authors | | Authors to filter by |
294
+ | start_date | | Filter snippets created after this date |
295
+ | end_date | | Filter snippets created before this date |
296
+ | sources | | Source repositories to filter by |
297
+ | file_patterns | | File path patterns to filter by |
298
+
299
+
300
+ ### SearchRequest
301
+
302
+
303
+ JSON:API request for searching snippets.
304
+
305
+
306
+ | Field | Type | Description |
307
+ |-------|------|-------------|
308
+ | data | | |
309
+
310
+
311
+ ### SearchResponse
312
+
313
+
314
+ JSON:API response for search results.
315
+
316
+
317
+ | Field | Type | Description |
318
+ |-------|------|-------------|
319
+ | data | array | |
320
+
321
+
322
+ ### SnippetAttributes
323
+
324
+
325
+ Snippet attributes for JSON:API responses.
326
+
327
+
328
+ | Field | Type | Description |
329
+ |-------|------|-------------|
330
+ | content | string | |
331
+ | created_at | string | |
332
+ | updated_at | string | |
333
+ | original_scores | array | |
334
+ | source_uri | string | |
335
+ | relative_path | string | |
336
+ | language | string | |
337
+ | authors | array | |
338
+ | summary | string | |
339
+
340
+
341
+ ### SnippetData
342
+
343
+
344
+ Snippet data for JSON:API responses.
345
+
346
+
347
+ | Field | Type | Description |
348
+ |-------|------|-------------|
349
+ | type | string | |
350
+ | id | integer | |
351
+ | attributes | | |
352
+
353
+
354
+ ### ValidationError
355
+
356
+
357
+
358
+ | Field | Type | Description |
359
+ |-------|------|-------------|
360
+ | loc | array | |
361
+ | msg | string | |
362
+ | type | string | |