repotoire 0.1.3__tar.gz → 0.1.4__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.
Files changed (484) hide show
  1. {repotoire-0.1.3 → repotoire-0.1.4}/PKG-INFO +32 -36
  2. {repotoire-0.1.3 → repotoire-0.1.4}/pyproject.toml +31 -22
  3. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/__init__.py +2 -2
  4. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/ai/__init__.py +23 -0
  5. repotoire-0.1.4/repotoire/ai/compression.py +543 -0
  6. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/ai/embeddings.py +315 -12
  7. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/ai/retrieval.py +273 -56
  8. repotoire-0.1.4/repotoire/ai/vector_store.py +549 -0
  9. repotoire-0.1.4/repotoire/api/app.py +995 -0
  10. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/auth/__init__.py +26 -6
  11. {repotoire-0.1.3/repotoire/api/shared → repotoire-0.1.4/repotoire/api}/docs/webhooks.py +2 -0
  12. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/models.py +60 -4
  13. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/services/__init__.py +13 -0
  14. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/services/asset_storage.py +31 -38
  15. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/services/cloud_storage.py +4 -50
  16. {repotoire-0.1.3/repotoire/api/shared → repotoire-0.1.4/repotoire/api}/services/github.py +8 -5
  17. repotoire-0.1.4/repotoire/api/services/narrative.py +441 -0
  18. repotoire-0.1.4/repotoire/api/services/notifications.py +581 -0
  19. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/services/status_emails.py +1 -1
  20. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/services/stripe_service.py +6 -6
  21. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/shared/auth/clerk.py +90 -11
  22. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/shared/auth/state_store.py +40 -13
  23. {repotoire-0.1.3/repotoire/api → repotoire-0.1.4/repotoire/api/shared}/docs/webhooks.py +2 -0
  24. repotoire-0.1.4/repotoire/api/shared/helpers/__init__.py +12 -0
  25. repotoire-0.1.4/repotoire/api/shared/helpers/errors.py +575 -0
  26. repotoire-0.1.4/repotoire/api/shared/helpers/user.py +83 -0
  27. repotoire-0.1.4/repotoire/api/shared/middleware/__init__.py +119 -0
  28. repotoire-0.1.4/repotoire/api/shared/middleware/csrf.py +176 -0
  29. repotoire-0.1.4/repotoire/api/shared/middleware/idempotency.py +285 -0
  30. repotoire-0.1.4/repotoire/api/shared/middleware/rate_limit.py +562 -0
  31. repotoire-0.1.4/repotoire/api/shared/middleware/security_headers.py +184 -0
  32. repotoire-0.1.4/repotoire/api/shared/middleware/tenant.py +315 -0
  33. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/shared/middleware/usage.py +76 -32
  34. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/shared/services/__init__.py +32 -2
  35. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/shared/services/billing.py +130 -6
  36. repotoire-0.1.4/repotoire/api/shared/services/circuit_breaker.py +326 -0
  37. repotoire-0.1.4/repotoire/api/shared/services/github.py +1104 -0
  38. repotoire-0.1.4/repotoire/api/shared/services/s3_client.py +237 -0
  39. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/shared/services/stripe_service.py +217 -310
  40. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/__init__.py +40 -0
  41. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/__init__.py +16 -0
  42. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/admin/overrides.py +147 -7
  43. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/analysis.py +419 -20
  44. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/analytics.py +311 -5
  45. repotoire-0.1.4/repotoire/api/v1/routes/billing.py +299 -0
  46. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/cli_auth.py +200 -30
  47. repotoire-0.1.4/repotoire/api/v1/routes/code.py +1109 -0
  48. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/customer_webhooks.py +4 -4
  49. repotoire-0.1.4/repotoire/api/v1/routes/detector_settings.py +443 -0
  50. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/findings.py +494 -29
  51. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/fixes.py +886 -33
  52. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/github.py +400 -40
  53. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/graph.py +157 -87
  54. repotoire-0.1.4/repotoire/api/v1/routes/historical.py +595 -0
  55. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/marketplace.py +36 -16
  56. repotoire-0.1.4/repotoire/api/v1/routes/monorepo.py +605 -0
  57. repotoire-0.1.4/repotoire/api/v1/routes/narratives.py +581 -0
  58. repotoire-0.1.4/repotoire/api/v1/routes/notifications.py +491 -0
  59. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/organizations.py +333 -9
  60. repotoire-0.1.4/repotoire/api/v1/routes/preferences.py +232 -0
  61. repotoire-0.1.4/repotoire/api/v1/routes/provenance_settings.py +185 -0
  62. repotoire-0.1.4/repotoire/api/v1/routes/rules.py +734 -0
  63. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/sandbox.py +156 -13
  64. repotoire-0.1.4/repotoire/api/v1/routes/security.py +543 -0
  65. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/status.py +2 -1
  66. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/team.py +24 -11
  67. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/webhooks.py +708 -49
  68. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/applicator.py +94 -51
  69. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/best_of_n.py +8 -13
  70. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/engine.py +360 -61
  71. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/entitlements.py +25 -90
  72. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/learning/store.py +21 -7
  73. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/verifier.py +4 -1
  74. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/cache/__init__.py +76 -20
  75. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/cache/skill.py +166 -34
  76. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/cli/__init__.py +1018 -1150
  77. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/cli/api_keys.py +14 -2
  78. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/cli/auth.py +41 -5
  79. repotoire-0.1.4/repotoire/cli/auth_commands.py +128 -0
  80. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/cli/graph.py +32 -126
  81. repotoire-0.1.4/repotoire/cli/historical.py +548 -0
  82. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/cli/ml.py +28 -28
  83. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/cli/monorepo.py +4 -16
  84. repotoire-0.1.4/repotoire/cli/org_commands.py +284 -0
  85. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/cli/security.py +7 -48
  86. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/cli/tier_limits.py +59 -22
  87. repotoire-0.1.4/repotoire/config.py +2019 -0
  88. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/models/__init__.py +19 -1
  89. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/models/analysis.py +6 -0
  90. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/models/billing.py +59 -2
  91. repotoire-0.1.4/repotoire/db/models/cli_token.py +202 -0
  92. repotoire-0.1.4/repotoire/db/models/detector_settings.py +223 -0
  93. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/models/email.py +5 -0
  94. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/models/finding.py +64 -1
  95. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/models/fix.py +8 -0
  96. repotoire-0.1.4/repotoire/db/models/notification.py +113 -0
  97. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/models/organization.py +20 -1
  98. repotoire-0.1.4/repotoire/db/models/provenance_settings.py +77 -0
  99. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/models/quota_override.py +5 -5
  100. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/models/user.py +26 -0
  101. repotoire-0.1.4/repotoire/db/models/user_preferences.py +94 -0
  102. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/repositories/fix.py +200 -3
  103. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/repositories/quota_override.py +10 -2
  104. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/session.py +143 -7
  105. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/__init__.py +19 -0
  106. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/architectural_bottleneck.py +15 -6
  107. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/async_antipattern.py +4 -4
  108. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/bandit_detector.py +57 -74
  109. repotoire-0.1.4/repotoire/detectors/base.py +251 -0
  110. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/circular_dependency.py +68 -11
  111. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/core_utility.py +9 -6
  112. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/data_clumps.py +51 -10
  113. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/dead_code.py +399 -138
  114. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/deduplicator.py +13 -21
  115. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/degree_centrality.py +9 -6
  116. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/duplicate_rust.py +4 -4
  117. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/engine.py +572 -80
  118. repotoire-0.1.4/repotoire/detectors/eslint_detector.py +558 -0
  119. repotoire-0.1.4/repotoire/detectors/external_tool_runner.py +597 -0
  120. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/feature_envy.py +14 -17
  121. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/generator_misuse.py +4 -4
  122. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/god_class.py +118 -53
  123. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/graph_algorithms.py +248 -105
  124. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/graphsage_detector.py +2 -2
  125. repotoire-0.1.4/repotoire/detectors/grouping.py +264 -0
  126. repotoire-0.1.4/repotoire/detectors/health_delta.py +489 -0
  127. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/inappropriate_intimacy.py +16 -6
  128. repotoire-0.1.4/repotoire/detectors/infinite_loop_detector.py +459 -0
  129. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/influential_code.py +25 -17
  130. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/jscpd_detector.py +67 -39
  131. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/lazy_class.py +13 -11
  132. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/long_parameter_list.py +9 -6
  133. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/message_chain.py +9 -7
  134. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/middle_man.py +14 -10
  135. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/ml_bug_detector.py +2 -2
  136. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/module_cohesion.py +9 -6
  137. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/multimodal_detector.py +6 -6
  138. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/mypy_detector.py +64 -76
  139. repotoire-0.1.4/repotoire/detectors/npm_audit_detector.py +450 -0
  140. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/pylint_detector.py +152 -245
  141. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/radon_detector.py +172 -17
  142. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/refused_bequest.py +12 -9
  143. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/ruff_import_detector.py +32 -10
  144. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/ruff_lint_detector.py +58 -73
  145. repotoire-0.1.4/repotoire/detectors/rust_graph_detectors.py +1227 -0
  146. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/satd_detector.py +36 -4
  147. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/semgrep_detector.py +64 -74
  148. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/shotgun_surgery.py +9 -5
  149. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/taint_detector.py +36 -4
  150. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/temporal_metrics.py +3 -3
  151. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/test_smell.py +4 -4
  152. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/truly_unused_imports.py +151 -15
  153. repotoire-0.1.4/repotoire/detectors/tsc_detector.py +488 -0
  154. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/type_hint_coverage.py +4 -6
  155. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/voting_engine.py +158 -83
  156. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/vulture_detector.py +75 -66
  157. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/github/pr_analyzer.py +11 -11
  158. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/graph/__init__.py +7 -10
  159. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/graph/cloud_client.py +169 -8
  160. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/graph/enricher.py +6 -6
  161. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/graph/factory.py +148 -46
  162. repotoire-0.1.4/repotoire/graph/falkordb_client.py +1249 -0
  163. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/graph/incremental_scc.py +59 -37
  164. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/graph/queries/builders.py +198 -4
  165. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/graph/queries/patterns.py +52 -6
  166. repotoire-0.1.4/repotoire/graph/queries/traversal.py +804 -0
  167. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/graph/schema.py +234 -19
  168. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/graph/tenant_factory.py +150 -193
  169. repotoire-0.1.4/repotoire/historical/__init__.py +22 -0
  170. repotoire-0.1.4/repotoire/historical/git_extractor.py +181 -0
  171. repotoire-0.1.4/repotoire/historical/git_rag.py +1210 -0
  172. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/historical/timescale_client.py +29 -13
  173. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/hooks/pre_commit.py +16 -12
  174. repotoire-0.1.4/repotoire/http_client.py +532 -0
  175. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/mcp/api_server.py +342 -9
  176. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/mcp/execution_env.py +50 -17
  177. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/mcp/pattern_detector.py +4 -4
  178. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/mcp/resources.py +5 -5
  179. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/mcp/schema_generator.py +9 -9
  180. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/mcp/server_generator.py +39 -45
  181. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/migrations/001_initial_schema.py +59 -7
  182. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/migrations/002_add_clue_nodes.py +4 -4
  183. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/migrations/003_add_session_nodes.py +5 -5
  184. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/migrations/__init__.py +1 -1
  185. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/migrations/manager.py +3 -3
  186. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/migrations/migration.py +7 -7
  187. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/ml/__init__.py +4 -3
  188. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/ml/bug_predictor.py +8 -8
  189. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/ml/contrastive_learning.py +1 -1
  190. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/ml/cross_project_trainer.py +1 -1
  191. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/ml/graph_embeddings.py +63 -48
  192. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/ml/graphsage_predictor.py +1 -1
  193. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/ml/multimodal_analyzer.py +7 -7
  194. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/ml/node2vec_embeddings.py +41 -22
  195. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/ml/similarity.py +6 -5
  196. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/ml/training_data.py +2 -2
  197. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/models.py +386 -18
  198. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/monorepo/analyzer.py +5 -5
  199. repotoire-0.1.4/repotoire/parsers/__init__.py +54 -0
  200. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/parsers/base_tree_sitter_parser.py +61 -5
  201. repotoire-0.1.4/repotoire/parsers/generic_fallback_parser.py +777 -0
  202. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/parsers/python_parser.py +344 -103
  203. repotoire-0.1.4/repotoire/parsers/rust_parser.py +554 -0
  204. repotoire-0.1.4/repotoire/parsers/tree_sitter_go.py +893 -0
  205. repotoire-0.1.4/repotoire/parsers/tree_sitter_java.py +745 -0
  206. repotoire-0.1.4/repotoire/parsers/tree_sitter_typescript.py +1134 -0
  207. repotoire-0.1.4/repotoire/pipeline/__init__.py +5 -0
  208. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/pipeline/ingestion.py +1153 -236
  209. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/pipeline/temporal_ingestion.py +9 -9
  210. repotoire-0.1.4/repotoire/reporters/__init__.py +17 -0
  211. repotoire-0.1.4/repotoire/reporters/base_reporter.py +227 -0
  212. repotoire-0.1.4/repotoire/reporters/excel_reporter.py +329 -0
  213. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/reporters/html_reporter.py +113 -46
  214. repotoire-0.1.4/repotoire/reporters/markdown_reporter.py +344 -0
  215. repotoire-0.1.4/repotoire/reporters/pdf_reporter.py +432 -0
  216. repotoire-0.1.4/repotoire/reporters/sarif_reporter.py +570 -0
  217. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/rules/daemon.py +15 -9
  218. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/rules/engine.py +2 -2
  219. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/rules/validator.py +3 -3
  220. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/sandbox/__init__.py +15 -0
  221. repotoire-0.1.4/repotoire/sandbox/billing.py +493 -0
  222. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/sandbox/code_validator.py +10 -2
  223. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/sandbox/config.py +78 -8
  224. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/sandbox/enforcement.py +40 -12
  225. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/sandbox/metrics.py +15 -4
  226. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/sandbox/session_tracker.py +70 -17
  227. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/sandbox/skill_executor.py +3 -0
  228. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/sandbox/tool_executor.py +643 -39
  229. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/sandbox/usage.py +23 -17
  230. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/security/dependency_scanner.py +11 -5
  231. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/services/audit.py +4 -4
  232. repotoire-0.1.4/repotoire/tenant/__init__.py +86 -0
  233. repotoire-0.1.4/repotoire/tenant/context.py +288 -0
  234. repotoire-0.1.4/repotoire/tenant/logging.py +132 -0
  235. repotoire-0.1.4/repotoire/tenant/resolver.py +253 -0
  236. repotoire-0.1.4/repotoire/utils/encryption.py +91 -0
  237. repotoire-0.1.4/repotoire/validation.py +841 -0
  238. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/workers/analytics_tasks.py +5 -5
  239. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/workers/celery_app.py +16 -3
  240. repotoire-0.1.4/repotoire/workers/cleanup.py +117 -0
  241. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/workers/hooks.py +492 -47
  242. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/workers/limits.py +33 -6
  243. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/workers/progress.py +26 -3
  244. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/workers/tasks.py +377 -44
  245. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/Cargo.lock +159 -65
  246. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/Cargo.toml +15 -0
  247. repotoire-0.1.4/repotoire-fast/src/call_resolver.rs +343 -0
  248. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/src/cfg.rs +1 -0
  249. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/src/complexity.rs +41 -1
  250. repotoire-0.1.4/repotoire-fast/src/data_clumps.rs +228 -0
  251. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/src/dataflow.rs +3 -0
  252. repotoire-0.1.4/repotoire-fast/src/findings_serde.rs +337 -0
  253. repotoire-0.1.4/repotoire-fast/src/graph_detectors.rs +1184 -0
  254. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/src/lib.rs +1403 -9
  255. repotoire-0.1.4/repotoire-fast/src/path_cache.rs +611 -0
  256. repotoire-0.1.4/repotoire-fast/src/similarity.rs +335 -0
  257. repotoire-0.1.4/repotoire-fast/src/string_ops.rs +284 -0
  258. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/src/taint.rs +103 -1
  259. repotoire-0.1.4/repotoire-fast/src/traversal.rs +442 -0
  260. repotoire-0.1.4/repotoire-fast/src/tree_sitter_parser.rs +1302 -0
  261. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/src/type_inference.rs +3 -3
  262. repotoire-0.1.4/repotoire-fast/src/voting.rs +433 -0
  263. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire_fast/__init__.py +116 -0
  264. repotoire-0.1.3/repotoire/api/app.py +0 -524
  265. repotoire-0.1.3/repotoire/api/auth/clerk.py +0 -192
  266. repotoire-0.1.3/repotoire/api/auth/state_store.py +0 -283
  267. repotoire-0.1.3/repotoire/api/middleware/usage.py +0 -165
  268. repotoire-0.1.3/repotoire/api/routes/__init__.py +0 -39
  269. repotoire-0.1.3/repotoire/api/routes/account.py +0 -601
  270. repotoire-0.1.3/repotoire/api/routes/admin/__init__.py +0 -5
  271. repotoire-0.1.3/repotoire/api/routes/admin/overrides.py +0 -376
  272. repotoire-0.1.3/repotoire/api/routes/analysis.py +0 -823
  273. repotoire-0.1.3/repotoire/api/routes/analytics.py +0 -563
  274. repotoire-0.1.3/repotoire/api/routes/audit.py +0 -427
  275. repotoire-0.1.3/repotoire/api/routes/billing.py +0 -600
  276. repotoire-0.1.3/repotoire/api/routes/cli_auth.py +0 -449
  277. repotoire-0.1.3/repotoire/api/routes/code.py +0 -363
  278. repotoire-0.1.3/repotoire/api/routes/customer_webhooks.py +0 -733
  279. repotoire-0.1.3/repotoire/api/routes/findings.py +0 -651
  280. repotoire-0.1.3/repotoire/api/routes/fixes.py +0 -1389
  281. repotoire-0.1.3/repotoire/api/routes/github.py +0 -1309
  282. repotoire-0.1.3/repotoire/api/routes/historical.py +0 -338
  283. repotoire-0.1.3/repotoire/api/routes/notifications.py +0 -203
  284. repotoire-0.1.3/repotoire/api/routes/organizations.py +0 -703
  285. repotoire-0.1.3/repotoire/api/routes/sandbox.py +0 -699
  286. repotoire-0.1.3/repotoire/api/routes/team.py +0 -408
  287. repotoire-0.1.3/repotoire/api/routes/usage.py +0 -228
  288. repotoire-0.1.3/repotoire/api/routes/webhooks.py +0 -984
  289. repotoire-0.1.3/repotoire/api/services/github.py +0 -341
  290. repotoire-0.1.3/repotoire/api/services/notifications.py +0 -337
  291. repotoire-0.1.3/repotoire/api/shared/middleware/__init__.py +0 -49
  292. repotoire-0.1.3/repotoire/api/v1/routes/billing.py +0 -600
  293. repotoire-0.1.3/repotoire/api/v1/routes/code.py +0 -367
  294. repotoire-0.1.3/repotoire/api/v1/routes/historical.py +0 -338
  295. repotoire-0.1.3/repotoire/api/v1/routes/notifications.py +0 -203
  296. repotoire-0.1.3/repotoire/cli/auth_commands.py +0 -85
  297. repotoire-0.1.3/repotoire/config.py +0 -810
  298. repotoire-0.1.3/repotoire/detectors/base.py +0 -57
  299. repotoire-0.1.3/repotoire/graph/client.py +0 -1009
  300. repotoire-0.1.3/repotoire/graph/falkordb_client.py +0 -564
  301. repotoire-0.1.3/repotoire/graph/neo4j_multitenant.py +0 -380
  302. repotoire-0.1.3/repotoire/graph/queries/traversal.py +0 -364
  303. repotoire-0.1.3/repotoire/historical/__init__.py +0 -16
  304. repotoire-0.1.3/repotoire/historical/git_graphiti.py +0 -350
  305. repotoire-0.1.3/repotoire/parsers/__init__.py +0 -16
  306. repotoire-0.1.3/repotoire/pipeline/__init__.py +0 -5
  307. repotoire-0.1.3/repotoire/reporters/__init__.py +0 -5
  308. repotoire-0.1.3/repotoire/validation.py +0 -464
  309. repotoire-0.1.3/repotoire-fast/src/similarity.rs +0 -124
  310. {repotoire-0.1.3 → repotoire-0.1.4}/LICENSE +0 -0
  311. {repotoire-0.1.3 → repotoire-0.1.4}/README.md +0 -0
  312. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/ai/contextual.py +0 -0
  313. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/ai/hybrid.py +0 -0
  314. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/ai/llm.py +0 -0
  315. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/ai/reranker.py +0 -0
  316. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/ai/spacy_clue_generator.py +0 -0
  317. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/__init__.py +0 -0
  318. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/docs/__init__.py +0 -0
  319. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/middleware/__init__.py +0 -0
  320. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/schemas/__init__.py +0 -0
  321. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/schemas/fix.py +0 -0
  322. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/schemas/quota_override.py +0 -0
  323. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/services/asset_packager.py +0 -0
  324. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/services/asset_validator.py +0 -0
  325. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/services/billing.py +0 -0
  326. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/services/changelog.py +0 -0
  327. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/services/encryption.py +0 -0
  328. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/services/gdpr.py +0 -0
  329. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/services/marketplace.py +0 -0
  330. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/shared/__init__.py +0 -0
  331. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/shared/auth/__init__.py +0 -0
  332. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/shared/auth/password_utils.py +0 -0
  333. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/shared/docs/__init__.py +0 -0
  334. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/shared/middleware/deprecation.py +0 -0
  335. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/shared/middleware/version.py +0 -0
  336. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/shared/schemas/__init__.py +0 -0
  337. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/shared/schemas/fix.py +0 -0
  338. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/shared/schemas/quota_override.py +0 -0
  339. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/shared/services/encryption.py +0 -0
  340. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/shared/services/gdpr.py +0 -0
  341. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/account.py +0 -0
  342. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/admin/__init__.py +0 -0
  343. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/admin/changelog.py +0 -0
  344. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/admin/reports.py +0 -0
  345. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/admin/reviews.py +0 -0
  346. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/admin/status.py +0 -0
  347. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/audit.py +0 -0
  348. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/changelog.py +0 -0
  349. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/usage.py +0 -0
  350. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/schemas/__init__.py +0 -0
  351. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/schemas/marketplace.py +0 -0
  352. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v2/__init__.py +0 -0
  353. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v2/routes/__init__.py +0 -0
  354. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/__init__.py +0 -0
  355. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/ci.py +0 -0
  356. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/languages/__init__.py +0 -0
  357. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/languages/base.py +0 -0
  358. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/languages/go.py +0 -0
  359. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/languages/java.py +0 -0
  360. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/languages/python.py +0 -0
  361. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/languages/typescript.py +0 -0
  362. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/learning/__init__.py +0 -0
  363. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/learning/adaptive.py +0 -0
  364. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/learning/models.py +0 -0
  365. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/models.py +0 -0
  366. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/reviewer.py +0 -0
  367. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/scorer.py +0 -0
  368. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/style/__init__.py +0 -0
  369. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/style/analyzer.py +0 -0
  370. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/style/enforcer.py +0 -0
  371. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/style/models.py +0 -0
  372. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/templates/__init__.py +0 -0
  373. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/templates/models.py +0 -0
  374. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/templates/registry.py +0 -0
  375. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/cache/base.py +0 -0
  376. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/cache/preview.py +0 -0
  377. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/cache/scan.py +0 -0
  378. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/cli/credentials.py +0 -0
  379. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/cli/marketplace.py +0 -0
  380. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/cli/marketplace_client.py +0 -0
  381. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/cli/marketplace_sync.py +0 -0
  382. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/cli/repo_utils.py +0 -0
  383. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/cli/sandbox.py +0 -0
  384. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/__init__.py +0 -0
  385. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/models/api_deprecation.py +0 -0
  386. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/models/audit.py +0 -0
  387. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/models/base.py +0 -0
  388. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/models/changelog.py +0 -0
  389. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/models/gdpr.py +0 -0
  390. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/models/github.py +0 -0
  391. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/models/marketplace.py +0 -0
  392. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/models/repository.py +0 -0
  393. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/models/status.py +0 -0
  394. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/models/uptime.py +0 -0
  395. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/models/webhook.py +0 -0
  396. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/repositories/__init__.py +0 -0
  397. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/risk_analyzer.py +0 -0
  398. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/root_cause_analyzer.py +0 -0
  399. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/github/__init__.py +0 -0
  400. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/github/pr_commenter.py +0 -0
  401. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/graph/base.py +0 -0
  402. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/graph/external_labels.py +0 -0
  403. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/graph/migration.py +0 -0
  404. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/graph/queries/__init__.py +0 -0
  405. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/historical/metrics_collector.py +0 -0
  406. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/hooks/__init__.py +0 -0
  407. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/integrations/__init__.py +0 -0
  408. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/integrations/git.py +0 -0
  409. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/logging_config.py +0 -0
  410. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/marketplace/__init__.py +0 -0
  411. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/marketplace/analytics.py +0 -0
  412. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/marketplace/claude_integration.py +0 -0
  413. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/marketplace/claudeai_export.py +0 -0
  414. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/marketplace/scanner.py +0 -0
  415. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/marketplace/versioning.py +0 -0
  416. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/mcp/__init__.py +0 -0
  417. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/mcp/__main__.py +0 -0
  418. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/mcp/models.py +0 -0
  419. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/mcp_marketplace/__init__.py +0 -0
  420. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/mcp_marketplace/http_server.py +0 -0
  421. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/mcp_marketplace/server.py +0 -0
  422. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/ml/multimodal_fusion.py +0 -0
  423. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/monorepo/__init__.py +0 -0
  424. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/monorepo/affected.py +0 -0
  425. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/monorepo/cross_package.py +0 -0
  426. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/monorepo/detector.py +0 -0
  427. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/monorepo/models.py +0 -0
  428. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/observability/__init__.py +0 -0
  429. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/observability/metrics.py +0 -0
  430. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/observability/tracing.py +0 -0
  431. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/parsers/base.py +0 -0
  432. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/parsers/tree_sitter_adapter.py +0 -0
  433. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/parsers/tree_sitter_python.py +0 -0
  434. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/rules/__init__.py +0 -0
  435. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/sandbox/alerts.py +0 -0
  436. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/sandbox/client.py +0 -0
  437. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/sandbox/exceptions.py +0 -0
  438. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/sandbox/override_service.py +0 -0
  439. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/sandbox/quotas.py +0 -0
  440. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/sandbox/test_executor.py +0 -0
  441. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/sandbox/tiers.py +0 -0
  442. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/sandbox/trial.py +0 -0
  443. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/security/__init__.py +0 -0
  444. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/security/compliance_reporter.py +0 -0
  445. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/security/sbom_generator.py +0 -0
  446. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/security/secrets_scanner.py +0 -0
  447. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/services/__init__.py +0 -0
  448. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/services/email.py +0 -0
  449. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/services/github_status.py +0 -0
  450. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/services/quality_gates.py +0 -0
  451. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/services/webhook_payloads.py +0 -0
  452. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/templates/emails/analysis_complete.html +0 -0
  453. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/templates/emails/analysis_failed.html +0 -0
  454. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/templates/emails/base.html +0 -0
  455. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/templates/emails/deletion_cancelled.html +0 -0
  456. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/templates/emails/deletion_confirmation.html +0 -0
  457. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/templates/emails/health_regression.html +0 -0
  458. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/templates/emails/payment_failed.html +0 -0
  459. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/templates/emails/team_invite.html +0 -0
  460. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/templates/emails/welcome.html +0 -0
  461. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/workers/__init__.py +0 -0
  462. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/workers/audit_tasks.py +0 -0
  463. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/workers/changelog.py +0 -0
  464. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/workers/debounce.py +0 -0
  465. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/workers/health_checks.py +0 -0
  466. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/workers/webhook_delivery.py +0 -0
  467. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/workers/webhooks.py +0 -0
  468. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/CONTRIBUTING.md +0 -0
  469. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/ROADMAP.md +0 -0
  470. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/benches/duplicate_bench.rs +0 -0
  471. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/benches/graph_bench.rs +0 -0
  472. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/benches/node2vec_bench.rs +0 -0
  473. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/benches/word2vec_bench.rs +0 -0
  474. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/docs/RUST_ARCHITECTURE.md +0 -0
  475. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/docs/RUST_DEVELOPMENT.md +0 -0
  476. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/src/duplicate.rs +0 -0
  477. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/src/errors.rs +0 -0
  478. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/src/graph_algo.rs +0 -0
  479. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/src/hashing.rs +0 -0
  480. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/src/incremental_scc.rs +0 -0
  481. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/src/lcom.rs +0 -0
  482. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/src/pylint_rules.rs +0 -0
  483. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/src/satd.rs +0 -0
  484. {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/src/word2vec.rs +0 -0
@@ -1,10 +1,9 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: repotoire
3
- Version: 0.1.3
3
+ Version: 0.1.4
4
4
  Classifier: Development Status :: 3 - Alpha
5
5
  Classifier: Intended Audience :: Developers
6
6
  Classifier: Programming Language :: Python :: 3
7
- Classifier: Programming Language :: Python :: 3.10
8
7
  Classifier: Programming Language :: Python :: 3.11
9
8
  Classifier: Programming Language :: Python :: 3.12
10
9
  Classifier: Programming Language :: Python :: 3.13
@@ -19,13 +18,12 @@ Requires-Dist: networkx>=3.2.0
19
18
  Requires-Dist: jinja2>=3.1.0
20
19
  Requires-Dist: detect-secrets>=1.4.0
21
20
  Requires-Dist: gitpython>=3.1.40
22
- Requires-Dist: neo4j-graphrag>=1.10.1
23
21
  Requires-Dist: fastapi>=0.121.3
24
22
  Requires-Dist: uvicorn>=0.38.0
25
23
  Requires-Dist: mcp>=1.22.0
26
24
  Requires-Dist: python-dotenv>=1.2.1
27
25
  Requires-Dist: clerk-backend-api>=4.2.0
28
- Requires-Dist: httpx>=0.27.0
26
+ Requires-Dist: httpx[http2]>=0.27.0
29
27
  Requires-Dist: pyjwt[crypto]>=2.8.0
30
28
  Requires-Dist: cryptography>=41.0.0
31
29
  Requires-Dist: svix>=1.0.0
@@ -38,6 +36,7 @@ Requires-Dist: stripe>=7.0.0
38
36
  Requires-Dist: celery>=5.3.0
39
37
  Requires-Dist: redis>=5.0.0
40
38
  Requires-Dist: structlog>=24.0.0
39
+ Requires-Dist: psutil>=5.9.0
41
40
  Requires-Dist: sentry-sdk[fastapi,celery,sqlalchemy]>=2.0.0
42
41
  Requires-Dist: resend>=0.5.0
43
42
  Requires-Dist: aioboto3>=13.0.0
@@ -49,12 +48,21 @@ Requires-Dist: uv-secure>=0.15.0
49
48
  Requires-Dist: datasets>=2.14.0
50
49
  Requires-Dist: sentence-transformers>=2.2.0
51
50
  Requires-Dist: accelerate>=0.26.0
51
+ Requires-Dist: ruff>=0.1.0
52
52
  Requires-Dist: mypy>=1.7.0
53
53
  Requires-Dist: pylint>=3.0.0
54
54
  Requires-Dist: bandit>=1.7.0
55
55
  Requires-Dist: radon>=6.0.0
56
56
  Requires-Dist: vulture>=2.0.0
57
57
  Requires-Dist: semgrep>=1.0.0
58
+ Requires-Dist: tree-sitter>=0.20.0 ; extra == 'all-languages'
59
+ Requires-Dist: tree-sitter-python>=0.20.0 ; extra == 'all-languages'
60
+ Requires-Dist: tree-sitter-javascript>=0.20.0 ; extra == 'all-languages'
61
+ Requires-Dist: tree-sitter-typescript>=0.20.0 ; extra == 'all-languages'
62
+ Requires-Dist: tree-sitter-java>=0.23.0 ; extra == 'all-languages'
63
+ Requires-Dist: tree-sitter-go>=0.23.0 ; extra == 'all-languages'
64
+ Requires-Dist: anthropic>=0.40.0 ; extra == 'anthropic'
65
+ Requires-Dist: pyyaml>=6.0 ; extra == 'config'
58
66
  Requires-Dist: pytest>=7.4.0 ; extra == 'dev'
59
67
  Requires-Dist: pytest-cov>=4.1.0 ; extra == 'dev'
60
68
  Requires-Dist: pytest-xdist>=3.5.0 ; extra == 'dev'
@@ -63,63 +71,51 @@ Requires-Dist: pytest-asyncio>=0.23.0 ; extra == 'dev'
63
71
  Requires-Dist: pytest-timeout>=2.2.0 ; extra == 'dev'
64
72
  Requires-Dist: hypothesis>=6.100.0 ; extra == 'dev'
65
73
  Requires-Dist: factory-boy>=3.3.0 ; extra == 'dev'
66
- Requires-Dist: httpx>=0.27.0 ; extra == 'dev'
74
+ Requires-Dist: aiosqlite>=0.20.0 ; extra == 'dev'
67
75
  Requires-Dist: black>=23.0.0 ; extra == 'dev'
68
76
  Requires-Dist: ruff>=0.1.0 ; extra == 'dev'
69
- Requires-Dist: mypy>=1.7.0 ; extra == 'dev'
70
77
  Requires-Dist: pyyaml>=6.0 ; extra == 'dev'
71
78
  Requires-Dist: tomli>=2.0.0 ; extra == 'dev'
72
79
  Requires-Dist: tenacity>=8.2.0 ; extra == 'dev'
73
- Requires-Dist: redis>=5.0.0 ; extra == 'dev'
74
- Requires-Dist: pyyaml>=6.0 ; extra == 'config'
75
- Requires-Dist: tomli>=2.0.0 ; python_full_version < '3.11' and extra == 'config'
76
- Requires-Dist: graphdatascience>=1.9.0 ; extra == 'gds'
77
- Requires-Dist: tree-sitter>=0.20.0 ; extra == 'all-languages'
78
- Requires-Dist: tree-sitter-python>=0.20.0 ; extra == 'all-languages'
79
- Requires-Dist: tree-sitter-javascript>=0.20.0 ; extra == 'all-languages'
80
- Requires-Dist: tree-sitter-typescript>=0.20.0 ; extra == 'all-languages'
81
- Requires-Dist: psycopg2-binary>=2.9.9 ; extra == 'timescale'
82
- Requires-Dist: graphiti-core>=0.24.1 ; extra == 'graphiti'
83
- Requires-Dist: pip-audit>=2.6.0 ; extra == 'security'
84
- Requires-Dist: cyclonedx-bom>=4.0.0 ; extra == 'security'
85
- Requires-Dist: prometheus-client>=0.19.0 ; extra == 'observability'
86
- Requires-Dist: opentelemetry-api>=1.20.0 ; extra == 'observability'
87
- Requires-Dist: opentelemetry-sdk>=1.20.0 ; extra == 'observability'
88
- Requires-Dist: opentelemetry-exporter-otlp>=1.20.0 ; extra == 'observability'
89
- Requires-Dist: sentry-sdk[fastapi,celery,sqlalchemy]>=2.0.0 ; extra == 'observability'
80
+ Requires-Dist: lancedb>=0.4.0 ; extra == 'lancedb'
81
+ Requires-Dist: pyarrow>=14.0.0 ; extra == 'lancedb'
90
82
  Requires-Dist: questionary>=2.0.0 ; extra == 'ml'
91
83
  Requires-Dist: scikit-learn>=1.3.0 ; extra == 'ml'
92
84
  Requires-Dist: joblib>=1.3.0 ; extra == 'ml'
93
85
  Requires-Dist: torch>=2.5.0,<2.9.0 ; extra == 'ml'
94
86
  Requires-Dist: torch-geometric>=2.6.0 ; extra == 'ml'
95
87
  Requires-Dist: gensim>=4.3.0 ; extra == 'ml'
88
+ Requires-Dist: prometheus-client>=0.19.0 ; extra == 'observability'
89
+ Requires-Dist: opentelemetry-api>=1.20.0 ; extra == 'observability'
90
+ Requires-Dist: opentelemetry-sdk>=1.20.0 ; extra == 'observability'
91
+ Requires-Dist: opentelemetry-exporter-otlp>=1.20.0 ; extra == 'observability'
96
92
  Requires-Dist: e2b-code-interpreter>=1.0.0 ; extra == 'sandbox'
93
+ Requires-Dist: pip-audit>=2.6.0 ; extra == 'security'
94
+ Requires-Dist: cyclonedx-bom>=4.0.0 ; extra == 'security'
97
95
  Requires-Dist: voyageai>=0.3.0 ; extra == 'voyage'
98
- Requires-Dist: anthropic>=0.40.0 ; extra == 'anthropic'
99
- Provides-Extra: dev
100
- Provides-Extra: config
101
- Provides-Extra: gds
102
96
  Provides-Extra: all-languages
103
- Provides-Extra: timescale
104
- Provides-Extra: graphiti
105
- Provides-Extra: security
97
+ Provides-Extra: anthropic
98
+ Provides-Extra: config
99
+ Provides-Extra: dev
100
+ Provides-Extra: lancedb
106
101
  Provides-Extra: local-embeddings
107
- Provides-Extra: observability
108
102
  Provides-Extra: ml
103
+ Provides-Extra: observability
109
104
  Provides-Extra: sandbox
105
+ Provides-Extra: security
106
+ Provides-Extra: timescale
110
107
  Provides-Extra: voyage
111
- Provides-Extra: anthropic
112
108
  License-File: LICENSE
113
109
  Summary: Graph-Powered Code Health Platform
114
- Keywords: code-analysis,knowledge-graph,technical-debt,neo4j,static-analysis
110
+ Keywords: code-analysis,knowledge-graph,technical-debt,falkordb,static-analysis
115
111
  Author: Repotoire Team
116
112
  License-Expression: MIT
117
- Requires-Python: >=3.10
113
+ Requires-Python: >=3.11
118
114
  Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
119
- Project-URL: Homepage, https://github.com/yourusername/repotoire
120
115
  Project-URL: Documentation, https://repotoire.readthedocs.io
121
- Project-URL: Repository, https://github.com/yourusername/repotoire
116
+ Project-URL: Homepage, https://github.com/yourusername/repotoire
122
117
  Project-URL: Issues, https://github.com/yourusername/repotoire/issues
118
+ Project-URL: Repository, https://github.com/yourusername/repotoire
123
119
 
124
120
  # Repotoire 🐉
125
121
 
@@ -4,20 +4,19 @@ build-backend = "maturin"
4
4
 
5
5
  [project]
6
6
  name = "repotoire"
7
- version = "0.1.3"
7
+ version = "0.1.4"
8
8
  description = "Graph-Powered Code Health Platform"
9
9
  readme = "README.md"
10
- requires-python = ">=3.10"
10
+ requires-python = ">=3.11"
11
11
  license = "MIT"
12
12
  authors = [
13
13
  {name = "Repotoire Team"}
14
14
  ]
15
- keywords = ["code-analysis", "knowledge-graph", "technical-debt", "neo4j", "static-analysis"]
15
+ keywords = ["code-analysis", "knowledge-graph", "technical-debt", "falkordb", "static-analysis"]
16
16
  classifiers = [
17
17
  "Development Status :: 3 - Alpha",
18
18
  "Intended Audience :: Developers",
19
19
  "Programming Language :: Python :: 3",
20
- "Programming Language :: Python :: 3.10",
21
20
  "Programming Language :: Python :: 3.11",
22
21
  "Programming Language :: Python :: 3.12",
23
22
  "Programming Language :: Python :: 3.13",
@@ -35,13 +34,12 @@ dependencies = [
35
34
  "jinja2>=3.1.0",
36
35
  "detect-secrets>=1.4.0",
37
36
  "gitpython>=3.1.40",
38
- "neo4j-graphrag>=1.10.1",
39
37
  "fastapi>=0.121.3",
40
38
  "uvicorn>=0.38.0",
41
39
  "mcp>=1.22.0",
42
40
  "python-dotenv>=1.2.1",
43
41
  "clerk-backend-api>=4.2.0", # v4.2.0+ has api_keys.verify() for API Key auth
44
- "httpx>=0.27.0",
42
+ "httpx[http2]>=0.27.0",
45
43
  "pyjwt[crypto]>=2.8.0", # JWT generation for GitHub App auth
46
44
  "cryptography>=41.0.0", # Token encryption at rest
47
45
  "svix>=1.0.0", # Clerk webhook signature verification
@@ -55,6 +53,7 @@ dependencies = [
55
53
  "celery>=5.3.0", # Distributed task queue for background jobs
56
54
  "redis>=5.0.0", # Redis client for Celery broker
57
55
  "structlog>=24.0.0", # Structured logging for workers
56
+ "psutil>=5.9.0", # Memory profiling for worker tasks
58
57
  "sentry-sdk[fastapi,celery,sqlalchemy]>=2.0.0", # Error tracking
59
58
  "resend>=0.5.0", # Email service for notifications
60
59
  "aioboto3>=13.0.0", # Async AWS SES client for non-blocking email sending
@@ -69,6 +68,7 @@ dependencies = [
69
68
  "sentence-transformers>=2.2.0", # Local embedding models + contrastive learning
70
69
  "accelerate>=0.26.0", # Required for PyTorch Trainer
71
70
  # Hybrid detector dependencies (core feature)
71
+ "ruff>=0.1.0", # Fast linting detector (RuffLintDetector)
72
72
  "mypy>=1.7.0", # Type checking detector
73
73
  "pylint>=3.0.0", # Advanced linting detector
74
74
  "bandit>=1.7.0", # Security vulnerability detector
@@ -87,39 +87,34 @@ dev = [
87
87
  "pytest-timeout>=2.2.0", # Test timeout support
88
88
  "hypothesis>=6.100.0", # Property-based testing for differential tests
89
89
  "factory-boy>=3.3.0", # Test data factories for SQLAlchemy models
90
- "httpx>=0.27.0", # Async HTTP client for API tests
90
+ "aiosqlite>=0.20.0", # Async SQLite for unit tests
91
+ # Note: httpx, mypy, redis already in core dependencies
91
92
  "black>=23.0.0",
92
93
  "ruff>=0.1.0",
93
- "mypy>=1.7.0",
94
94
  "pyyaml>=6.0", # For YAML config support in tests
95
95
  "tomli>=2.0.0", # For TOML support on Python <3.11
96
96
  "tenacity>=8.2.0", # Retry logic for flaky tests (REPO-366)
97
- "redis>=5.0.0", # Redis client for FalkorDB readiness checks
98
97
  ]
99
98
 
100
99
  config = [
101
100
  "pyyaml>=6.0", # YAML config file support (.reporc)
102
- "tomli>=2.0.0; python_version < '3.11'", # TOML support for older Python
101
+ # tomllib is builtin in Python 3.11+
103
102
  ]
104
103
 
105
- gds = [
106
- "graphdatascience>=1.9.0", # Neo4j Graph Data Science
107
- ]
108
104
 
109
105
  all-languages = [
110
106
  "tree-sitter>=0.20.0",
111
107
  "tree-sitter-python>=0.20.0",
112
108
  "tree-sitter-javascript>=0.20.0",
113
109
  "tree-sitter-typescript>=0.20.0",
110
+ "tree-sitter-java>=0.23.0",
111
+ "tree-sitter-go>=0.23.0",
114
112
  ]
115
113
 
116
114
  timescale = [
117
- "psycopg2-binary>=2.9.9", # PostgreSQL adapter for TimescaleDB metrics storage
115
+ # Note: psycopg2-binary already in core dependencies
118
116
  ]
119
117
 
120
- graphiti = [
121
- "graphiti-core>=0.24.1", # Temporal knowledge graph for git history tracking
122
- ]
123
118
 
124
119
  security = [
125
120
  "pip-audit>=2.6.0", # Dependency vulnerability scanning (fallback)
@@ -135,7 +130,7 @@ observability = [
135
130
  "opentelemetry-api>=1.20.0", # OpenTelemetry tracing API
136
131
  "opentelemetry-sdk>=1.20.0", # OpenTelemetry SDK
137
132
  "opentelemetry-exporter-otlp>=1.20.0", # OTLP exporter for distributed tracing
138
- "sentry-sdk[fastapi,celery,sqlalchemy]>=2.0.0", # Error tracking and performance monitoring (REPO-271)
133
+ # Note: sentry-sdk already in core dependencies
139
134
  ]
140
135
 
141
136
  ml = [
@@ -153,6 +148,11 @@ sandbox = [
153
148
  "e2b-code-interpreter>=1.0.0", # E2B cloud sandbox for secure code execution
154
149
  ]
155
150
 
151
+ lancedb = [
152
+ "lancedb>=0.4.0", # Disk-backed vector DB (zero-copy via Apache Arrow)
153
+ "pyarrow>=14.0.0", # Arrow for efficient data transfer
154
+ ]
155
+
156
156
  voyage = [
157
157
  "voyageai>=0.3.0", # Voyage AI embeddings (code-optimized, Anthropic-recommended)
158
158
  ]
@@ -188,7 +188,7 @@ features = ["pyo3/extension-module"]
188
188
 
189
189
  [tool.black]
190
190
  line-length = 100
191
- target-version = ['py310', 'py311', 'py312']
191
+ target-version = ['py311', 'py312', 'py313']
192
192
 
193
193
  [tool.ruff]
194
194
  line-length = 100
@@ -196,7 +196,7 @@ select = ["E", "F", "I", "N", "W"]
196
196
  ignore = ["E501"] # Line too long (handled by black)
197
197
 
198
198
  [tool.mypy]
199
- python_version = "3.10"
199
+ python_version = "3.11"
200
200
  warn_return_any = true
201
201
  warn_unused_configs = true
202
202
  disallow_untyped_defs = true
@@ -214,15 +214,24 @@ markers = [
214
214
  "e2b: Tests requiring E2B sandbox (requires E2B_API_KEY)",
215
215
  "slow: Slow tests (>30 seconds)",
216
216
  "benchmark: Performance benchmark tests",
217
- "neo4j: Tests requiring Neo4j connection",
218
217
  "falkordb: Tests requiring FalkorDB connection",
219
218
  "anyio: Async tests using anyio",
220
219
  ]
220
+ # Async test mode - auto-detects and handles async fixtures/tests
221
+ asyncio_mode = "auto"
221
222
  # Filter warnings
222
223
  filterwarnings = [
223
224
  "ignore::DeprecationWarning",
224
225
  "ignore::PendingDeprecationWarning",
225
226
  ]
227
+ # Exclude sample repos from test collection (they have their own pyproject.toml)
228
+ norecursedirs = [
229
+ "tests/fixtures/sample_repos",
230
+ ".git",
231
+ ".venv",
232
+ "node_modules",
233
+ "__pycache__",
234
+ ]
226
235
 
227
236
  [dependency-groups]
228
237
  dev = [
@@ -234,7 +243,7 @@ dev = [
234
243
 
235
244
  # Bump My Version configuration for semantic versioning
236
245
  [tool.bumpversion]
237
- current_version = "0.1.2"
246
+ current_version = "0.1.4"
238
247
  commit = true
239
248
  commit_args = "--no-verify"
240
249
  tag = true
@@ -5,10 +5,10 @@ Analyzes codebases using knowledge graphs to detect code smells,
5
5
  architectural issues, and technical debt.
6
6
  """
7
7
 
8
- __version__ = "0.1.2"
8
+ __version__ = "0.1.4"
9
9
 
10
10
  from repotoire.pipeline import IngestionPipeline
11
- from repotoire.graph import Neo4jClient
11
+ from repotoire.graph import FalkorDBClient
12
12
  from repotoire.detectors import AnalysisEngine
13
13
  from repotoire.models import CodebaseHealth, Finding
14
14
 
@@ -6,6 +6,11 @@ from repotoire.ai.embeddings import (
6
6
  EmbeddingConfig,
7
7
  EmbeddingBackend,
8
8
  create_embedder,
9
+ # Int8 quantization for memory-efficient storage
10
+ quantize_embedding,
11
+ dequantize_embedding,
12
+ quantize_embeddings_batch,
13
+ compute_cosine_similarity_quantized,
9
14
  )
10
15
  from repotoire.ai.retrieval import (
11
16
  GraphRAGRetriever,
@@ -43,6 +48,13 @@ from repotoire.ai.contextual import (
43
48
  ContextGenerationResult,
44
49
  create_context_generator,
45
50
  )
51
+ from repotoire.ai.compression import (
52
+ EmbeddingCompressor,
53
+ TenantCompressor,
54
+ create_compressor,
55
+ estimate_memory_savings,
56
+ DEFAULT_TARGET_DIMS,
57
+ )
46
58
 
47
59
  __all__ = [
48
60
  # NLP
@@ -52,6 +64,11 @@ __all__ = [
52
64
  "EmbeddingConfig",
53
65
  "EmbeddingBackend",
54
66
  "create_embedder",
67
+ # Int8 quantization (4x memory reduction)
68
+ "quantize_embedding",
69
+ "dequantize_embedding",
70
+ "quantize_embeddings_batch",
71
+ "compute_cosine_similarity_quantized",
55
72
  # Retrieval
56
73
  "GraphRAGRetriever",
57
74
  "RetrievalResult",
@@ -83,4 +100,10 @@ __all__ = [
83
100
  "CostLimitExceeded",
84
101
  "ContextGenerationResult",
85
102
  "create_context_generator",
103
+ # Compression (memory optimization)
104
+ "EmbeddingCompressor",
105
+ "TenantCompressor",
106
+ "create_compressor",
107
+ "estimate_memory_savings",
108
+ "DEFAULT_TARGET_DIMS",
86
109
  ]