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.
- {repotoire-0.1.3 → repotoire-0.1.4}/PKG-INFO +32 -36
- {repotoire-0.1.3 → repotoire-0.1.4}/pyproject.toml +31 -22
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/__init__.py +2 -2
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/ai/__init__.py +23 -0
- repotoire-0.1.4/repotoire/ai/compression.py +543 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/ai/embeddings.py +315 -12
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/ai/retrieval.py +273 -56
- repotoire-0.1.4/repotoire/ai/vector_store.py +549 -0
- repotoire-0.1.4/repotoire/api/app.py +995 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/auth/__init__.py +26 -6
- {repotoire-0.1.3/repotoire/api/shared → repotoire-0.1.4/repotoire/api}/docs/webhooks.py +2 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/models.py +60 -4
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/services/__init__.py +13 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/services/asset_storage.py +31 -38
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/services/cloud_storage.py +4 -50
- {repotoire-0.1.3/repotoire/api/shared → repotoire-0.1.4/repotoire/api}/services/github.py +8 -5
- repotoire-0.1.4/repotoire/api/services/narrative.py +441 -0
- repotoire-0.1.4/repotoire/api/services/notifications.py +581 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/services/status_emails.py +1 -1
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/services/stripe_service.py +6 -6
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/shared/auth/clerk.py +90 -11
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/shared/auth/state_store.py +40 -13
- {repotoire-0.1.3/repotoire/api → repotoire-0.1.4/repotoire/api/shared}/docs/webhooks.py +2 -0
- repotoire-0.1.4/repotoire/api/shared/helpers/__init__.py +12 -0
- repotoire-0.1.4/repotoire/api/shared/helpers/errors.py +575 -0
- repotoire-0.1.4/repotoire/api/shared/helpers/user.py +83 -0
- repotoire-0.1.4/repotoire/api/shared/middleware/__init__.py +119 -0
- repotoire-0.1.4/repotoire/api/shared/middleware/csrf.py +176 -0
- repotoire-0.1.4/repotoire/api/shared/middleware/idempotency.py +285 -0
- repotoire-0.1.4/repotoire/api/shared/middleware/rate_limit.py +562 -0
- repotoire-0.1.4/repotoire/api/shared/middleware/security_headers.py +184 -0
- repotoire-0.1.4/repotoire/api/shared/middleware/tenant.py +315 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/shared/middleware/usage.py +76 -32
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/shared/services/__init__.py +32 -2
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/shared/services/billing.py +130 -6
- repotoire-0.1.4/repotoire/api/shared/services/circuit_breaker.py +326 -0
- repotoire-0.1.4/repotoire/api/shared/services/github.py +1104 -0
- repotoire-0.1.4/repotoire/api/shared/services/s3_client.py +237 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/shared/services/stripe_service.py +217 -310
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/__init__.py +40 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/__init__.py +16 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/admin/overrides.py +147 -7
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/analysis.py +419 -20
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/analytics.py +311 -5
- repotoire-0.1.4/repotoire/api/v1/routes/billing.py +299 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/cli_auth.py +200 -30
- repotoire-0.1.4/repotoire/api/v1/routes/code.py +1109 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/customer_webhooks.py +4 -4
- repotoire-0.1.4/repotoire/api/v1/routes/detector_settings.py +443 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/findings.py +494 -29
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/fixes.py +886 -33
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/github.py +400 -40
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/graph.py +157 -87
- repotoire-0.1.4/repotoire/api/v1/routes/historical.py +595 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/marketplace.py +36 -16
- repotoire-0.1.4/repotoire/api/v1/routes/monorepo.py +605 -0
- repotoire-0.1.4/repotoire/api/v1/routes/narratives.py +581 -0
- repotoire-0.1.4/repotoire/api/v1/routes/notifications.py +491 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/organizations.py +333 -9
- repotoire-0.1.4/repotoire/api/v1/routes/preferences.py +232 -0
- repotoire-0.1.4/repotoire/api/v1/routes/provenance_settings.py +185 -0
- repotoire-0.1.4/repotoire/api/v1/routes/rules.py +734 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/sandbox.py +156 -13
- repotoire-0.1.4/repotoire/api/v1/routes/security.py +543 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/status.py +2 -1
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/team.py +24 -11
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/webhooks.py +708 -49
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/applicator.py +94 -51
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/best_of_n.py +8 -13
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/engine.py +360 -61
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/entitlements.py +25 -90
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/learning/store.py +21 -7
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/verifier.py +4 -1
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/cache/__init__.py +76 -20
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/cache/skill.py +166 -34
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/cli/__init__.py +1018 -1150
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/cli/api_keys.py +14 -2
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/cli/auth.py +41 -5
- repotoire-0.1.4/repotoire/cli/auth_commands.py +128 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/cli/graph.py +32 -126
- repotoire-0.1.4/repotoire/cli/historical.py +548 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/cli/ml.py +28 -28
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/cli/monorepo.py +4 -16
- repotoire-0.1.4/repotoire/cli/org_commands.py +284 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/cli/security.py +7 -48
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/cli/tier_limits.py +59 -22
- repotoire-0.1.4/repotoire/config.py +2019 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/models/__init__.py +19 -1
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/models/analysis.py +6 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/models/billing.py +59 -2
- repotoire-0.1.4/repotoire/db/models/cli_token.py +202 -0
- repotoire-0.1.4/repotoire/db/models/detector_settings.py +223 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/models/email.py +5 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/models/finding.py +64 -1
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/models/fix.py +8 -0
- repotoire-0.1.4/repotoire/db/models/notification.py +113 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/models/organization.py +20 -1
- repotoire-0.1.4/repotoire/db/models/provenance_settings.py +77 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/models/quota_override.py +5 -5
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/models/user.py +26 -0
- repotoire-0.1.4/repotoire/db/models/user_preferences.py +94 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/repositories/fix.py +200 -3
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/repositories/quota_override.py +10 -2
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/session.py +143 -7
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/__init__.py +19 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/architectural_bottleneck.py +15 -6
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/async_antipattern.py +4 -4
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/bandit_detector.py +57 -74
- repotoire-0.1.4/repotoire/detectors/base.py +251 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/circular_dependency.py +68 -11
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/core_utility.py +9 -6
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/data_clumps.py +51 -10
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/dead_code.py +399 -138
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/deduplicator.py +13 -21
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/degree_centrality.py +9 -6
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/duplicate_rust.py +4 -4
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/engine.py +572 -80
- repotoire-0.1.4/repotoire/detectors/eslint_detector.py +558 -0
- repotoire-0.1.4/repotoire/detectors/external_tool_runner.py +597 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/feature_envy.py +14 -17
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/generator_misuse.py +4 -4
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/god_class.py +118 -53
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/graph_algorithms.py +248 -105
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/graphsage_detector.py +2 -2
- repotoire-0.1.4/repotoire/detectors/grouping.py +264 -0
- repotoire-0.1.4/repotoire/detectors/health_delta.py +489 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/inappropriate_intimacy.py +16 -6
- repotoire-0.1.4/repotoire/detectors/infinite_loop_detector.py +459 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/influential_code.py +25 -17
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/jscpd_detector.py +67 -39
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/lazy_class.py +13 -11
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/long_parameter_list.py +9 -6
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/message_chain.py +9 -7
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/middle_man.py +14 -10
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/ml_bug_detector.py +2 -2
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/module_cohesion.py +9 -6
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/multimodal_detector.py +6 -6
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/mypy_detector.py +64 -76
- repotoire-0.1.4/repotoire/detectors/npm_audit_detector.py +450 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/pylint_detector.py +152 -245
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/radon_detector.py +172 -17
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/refused_bequest.py +12 -9
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/ruff_import_detector.py +32 -10
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/ruff_lint_detector.py +58 -73
- repotoire-0.1.4/repotoire/detectors/rust_graph_detectors.py +1227 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/satd_detector.py +36 -4
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/semgrep_detector.py +64 -74
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/shotgun_surgery.py +9 -5
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/taint_detector.py +36 -4
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/temporal_metrics.py +3 -3
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/test_smell.py +4 -4
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/truly_unused_imports.py +151 -15
- repotoire-0.1.4/repotoire/detectors/tsc_detector.py +488 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/type_hint_coverage.py +4 -6
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/voting_engine.py +158 -83
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/vulture_detector.py +75 -66
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/github/pr_analyzer.py +11 -11
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/graph/__init__.py +7 -10
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/graph/cloud_client.py +169 -8
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/graph/enricher.py +6 -6
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/graph/factory.py +148 -46
- repotoire-0.1.4/repotoire/graph/falkordb_client.py +1249 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/graph/incremental_scc.py +59 -37
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/graph/queries/builders.py +198 -4
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/graph/queries/patterns.py +52 -6
- repotoire-0.1.4/repotoire/graph/queries/traversal.py +804 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/graph/schema.py +234 -19
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/graph/tenant_factory.py +150 -193
- repotoire-0.1.4/repotoire/historical/__init__.py +22 -0
- repotoire-0.1.4/repotoire/historical/git_extractor.py +181 -0
- repotoire-0.1.4/repotoire/historical/git_rag.py +1210 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/historical/timescale_client.py +29 -13
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/hooks/pre_commit.py +16 -12
- repotoire-0.1.4/repotoire/http_client.py +532 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/mcp/api_server.py +342 -9
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/mcp/execution_env.py +50 -17
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/mcp/pattern_detector.py +4 -4
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/mcp/resources.py +5 -5
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/mcp/schema_generator.py +9 -9
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/mcp/server_generator.py +39 -45
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/migrations/001_initial_schema.py +59 -7
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/migrations/002_add_clue_nodes.py +4 -4
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/migrations/003_add_session_nodes.py +5 -5
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/migrations/__init__.py +1 -1
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/migrations/manager.py +3 -3
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/migrations/migration.py +7 -7
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/ml/__init__.py +4 -3
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/ml/bug_predictor.py +8 -8
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/ml/contrastive_learning.py +1 -1
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/ml/cross_project_trainer.py +1 -1
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/ml/graph_embeddings.py +63 -48
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/ml/graphsage_predictor.py +1 -1
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/ml/multimodal_analyzer.py +7 -7
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/ml/node2vec_embeddings.py +41 -22
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/ml/similarity.py +6 -5
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/ml/training_data.py +2 -2
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/models.py +386 -18
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/monorepo/analyzer.py +5 -5
- repotoire-0.1.4/repotoire/parsers/__init__.py +54 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/parsers/base_tree_sitter_parser.py +61 -5
- repotoire-0.1.4/repotoire/parsers/generic_fallback_parser.py +777 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/parsers/python_parser.py +344 -103
- repotoire-0.1.4/repotoire/parsers/rust_parser.py +554 -0
- repotoire-0.1.4/repotoire/parsers/tree_sitter_go.py +893 -0
- repotoire-0.1.4/repotoire/parsers/tree_sitter_java.py +745 -0
- repotoire-0.1.4/repotoire/parsers/tree_sitter_typescript.py +1134 -0
- repotoire-0.1.4/repotoire/pipeline/__init__.py +5 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/pipeline/ingestion.py +1153 -236
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/pipeline/temporal_ingestion.py +9 -9
- repotoire-0.1.4/repotoire/reporters/__init__.py +17 -0
- repotoire-0.1.4/repotoire/reporters/base_reporter.py +227 -0
- repotoire-0.1.4/repotoire/reporters/excel_reporter.py +329 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/reporters/html_reporter.py +113 -46
- repotoire-0.1.4/repotoire/reporters/markdown_reporter.py +344 -0
- repotoire-0.1.4/repotoire/reporters/pdf_reporter.py +432 -0
- repotoire-0.1.4/repotoire/reporters/sarif_reporter.py +570 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/rules/daemon.py +15 -9
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/rules/engine.py +2 -2
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/rules/validator.py +3 -3
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/sandbox/__init__.py +15 -0
- repotoire-0.1.4/repotoire/sandbox/billing.py +493 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/sandbox/code_validator.py +10 -2
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/sandbox/config.py +78 -8
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/sandbox/enforcement.py +40 -12
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/sandbox/metrics.py +15 -4
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/sandbox/session_tracker.py +70 -17
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/sandbox/skill_executor.py +3 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/sandbox/tool_executor.py +643 -39
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/sandbox/usage.py +23 -17
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/security/dependency_scanner.py +11 -5
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/services/audit.py +4 -4
- repotoire-0.1.4/repotoire/tenant/__init__.py +86 -0
- repotoire-0.1.4/repotoire/tenant/context.py +288 -0
- repotoire-0.1.4/repotoire/tenant/logging.py +132 -0
- repotoire-0.1.4/repotoire/tenant/resolver.py +253 -0
- repotoire-0.1.4/repotoire/utils/encryption.py +91 -0
- repotoire-0.1.4/repotoire/validation.py +841 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/workers/analytics_tasks.py +5 -5
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/workers/celery_app.py +16 -3
- repotoire-0.1.4/repotoire/workers/cleanup.py +117 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/workers/hooks.py +492 -47
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/workers/limits.py +33 -6
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/workers/progress.py +26 -3
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/workers/tasks.py +377 -44
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/Cargo.lock +159 -65
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/Cargo.toml +15 -0
- repotoire-0.1.4/repotoire-fast/src/call_resolver.rs +343 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/src/cfg.rs +1 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/src/complexity.rs +41 -1
- repotoire-0.1.4/repotoire-fast/src/data_clumps.rs +228 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/src/dataflow.rs +3 -0
- repotoire-0.1.4/repotoire-fast/src/findings_serde.rs +337 -0
- repotoire-0.1.4/repotoire-fast/src/graph_detectors.rs +1184 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/src/lib.rs +1403 -9
- repotoire-0.1.4/repotoire-fast/src/path_cache.rs +611 -0
- repotoire-0.1.4/repotoire-fast/src/similarity.rs +335 -0
- repotoire-0.1.4/repotoire-fast/src/string_ops.rs +284 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/src/taint.rs +103 -1
- repotoire-0.1.4/repotoire-fast/src/traversal.rs +442 -0
- repotoire-0.1.4/repotoire-fast/src/tree_sitter_parser.rs +1302 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/src/type_inference.rs +3 -3
- repotoire-0.1.4/repotoire-fast/src/voting.rs +433 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire_fast/__init__.py +116 -0
- repotoire-0.1.3/repotoire/api/app.py +0 -524
- repotoire-0.1.3/repotoire/api/auth/clerk.py +0 -192
- repotoire-0.1.3/repotoire/api/auth/state_store.py +0 -283
- repotoire-0.1.3/repotoire/api/middleware/usage.py +0 -165
- repotoire-0.1.3/repotoire/api/routes/__init__.py +0 -39
- repotoire-0.1.3/repotoire/api/routes/account.py +0 -601
- repotoire-0.1.3/repotoire/api/routes/admin/__init__.py +0 -5
- repotoire-0.1.3/repotoire/api/routes/admin/overrides.py +0 -376
- repotoire-0.1.3/repotoire/api/routes/analysis.py +0 -823
- repotoire-0.1.3/repotoire/api/routes/analytics.py +0 -563
- repotoire-0.1.3/repotoire/api/routes/audit.py +0 -427
- repotoire-0.1.3/repotoire/api/routes/billing.py +0 -600
- repotoire-0.1.3/repotoire/api/routes/cli_auth.py +0 -449
- repotoire-0.1.3/repotoire/api/routes/code.py +0 -363
- repotoire-0.1.3/repotoire/api/routes/customer_webhooks.py +0 -733
- repotoire-0.1.3/repotoire/api/routes/findings.py +0 -651
- repotoire-0.1.3/repotoire/api/routes/fixes.py +0 -1389
- repotoire-0.1.3/repotoire/api/routes/github.py +0 -1309
- repotoire-0.1.3/repotoire/api/routes/historical.py +0 -338
- repotoire-0.1.3/repotoire/api/routes/notifications.py +0 -203
- repotoire-0.1.3/repotoire/api/routes/organizations.py +0 -703
- repotoire-0.1.3/repotoire/api/routes/sandbox.py +0 -699
- repotoire-0.1.3/repotoire/api/routes/team.py +0 -408
- repotoire-0.1.3/repotoire/api/routes/usage.py +0 -228
- repotoire-0.1.3/repotoire/api/routes/webhooks.py +0 -984
- repotoire-0.1.3/repotoire/api/services/github.py +0 -341
- repotoire-0.1.3/repotoire/api/services/notifications.py +0 -337
- repotoire-0.1.3/repotoire/api/shared/middleware/__init__.py +0 -49
- repotoire-0.1.3/repotoire/api/v1/routes/billing.py +0 -600
- repotoire-0.1.3/repotoire/api/v1/routes/code.py +0 -367
- repotoire-0.1.3/repotoire/api/v1/routes/historical.py +0 -338
- repotoire-0.1.3/repotoire/api/v1/routes/notifications.py +0 -203
- repotoire-0.1.3/repotoire/cli/auth_commands.py +0 -85
- repotoire-0.1.3/repotoire/config.py +0 -810
- repotoire-0.1.3/repotoire/detectors/base.py +0 -57
- repotoire-0.1.3/repotoire/graph/client.py +0 -1009
- repotoire-0.1.3/repotoire/graph/falkordb_client.py +0 -564
- repotoire-0.1.3/repotoire/graph/neo4j_multitenant.py +0 -380
- repotoire-0.1.3/repotoire/graph/queries/traversal.py +0 -364
- repotoire-0.1.3/repotoire/historical/__init__.py +0 -16
- repotoire-0.1.3/repotoire/historical/git_graphiti.py +0 -350
- repotoire-0.1.3/repotoire/parsers/__init__.py +0 -16
- repotoire-0.1.3/repotoire/pipeline/__init__.py +0 -5
- repotoire-0.1.3/repotoire/reporters/__init__.py +0 -5
- repotoire-0.1.3/repotoire/validation.py +0 -464
- repotoire-0.1.3/repotoire-fast/src/similarity.rs +0 -124
- {repotoire-0.1.3 → repotoire-0.1.4}/LICENSE +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/README.md +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/ai/contextual.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/ai/hybrid.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/ai/llm.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/ai/reranker.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/ai/spacy_clue_generator.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/__init__.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/docs/__init__.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/middleware/__init__.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/schemas/__init__.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/schemas/fix.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/schemas/quota_override.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/services/asset_packager.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/services/asset_validator.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/services/billing.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/services/changelog.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/services/encryption.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/services/gdpr.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/services/marketplace.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/shared/__init__.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/shared/auth/__init__.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/shared/auth/password_utils.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/shared/docs/__init__.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/shared/middleware/deprecation.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/shared/middleware/version.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/shared/schemas/__init__.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/shared/schemas/fix.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/shared/schemas/quota_override.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/shared/services/encryption.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/shared/services/gdpr.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/account.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/admin/__init__.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/admin/changelog.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/admin/reports.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/admin/reviews.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/admin/status.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/audit.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/changelog.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/routes/usage.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/schemas/__init__.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v1/schemas/marketplace.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v2/__init__.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/api/v2/routes/__init__.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/__init__.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/ci.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/languages/__init__.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/languages/base.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/languages/go.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/languages/java.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/languages/python.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/languages/typescript.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/learning/__init__.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/learning/adaptive.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/learning/models.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/models.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/reviewer.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/scorer.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/style/__init__.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/style/analyzer.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/style/enforcer.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/style/models.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/templates/__init__.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/templates/models.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/autofix/templates/registry.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/cache/base.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/cache/preview.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/cache/scan.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/cli/credentials.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/cli/marketplace.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/cli/marketplace_client.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/cli/marketplace_sync.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/cli/repo_utils.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/cli/sandbox.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/__init__.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/models/api_deprecation.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/models/audit.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/models/base.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/models/changelog.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/models/gdpr.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/models/github.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/models/marketplace.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/models/repository.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/models/status.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/models/uptime.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/models/webhook.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/db/repositories/__init__.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/risk_analyzer.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/detectors/root_cause_analyzer.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/github/__init__.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/github/pr_commenter.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/graph/base.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/graph/external_labels.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/graph/migration.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/graph/queries/__init__.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/historical/metrics_collector.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/hooks/__init__.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/integrations/__init__.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/integrations/git.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/logging_config.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/marketplace/__init__.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/marketplace/analytics.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/marketplace/claude_integration.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/marketplace/claudeai_export.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/marketplace/scanner.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/marketplace/versioning.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/mcp/__init__.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/mcp/__main__.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/mcp/models.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/mcp_marketplace/__init__.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/mcp_marketplace/http_server.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/mcp_marketplace/server.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/ml/multimodal_fusion.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/monorepo/__init__.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/monorepo/affected.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/monorepo/cross_package.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/monorepo/detector.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/monorepo/models.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/observability/__init__.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/observability/metrics.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/observability/tracing.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/parsers/base.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/parsers/tree_sitter_adapter.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/parsers/tree_sitter_python.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/rules/__init__.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/sandbox/alerts.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/sandbox/client.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/sandbox/exceptions.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/sandbox/override_service.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/sandbox/quotas.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/sandbox/test_executor.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/sandbox/tiers.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/sandbox/trial.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/security/__init__.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/security/compliance_reporter.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/security/sbom_generator.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/security/secrets_scanner.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/services/__init__.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/services/email.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/services/github_status.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/services/quality_gates.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/services/webhook_payloads.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/templates/emails/analysis_complete.html +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/templates/emails/analysis_failed.html +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/templates/emails/base.html +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/templates/emails/deletion_cancelled.html +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/templates/emails/deletion_confirmation.html +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/templates/emails/health_regression.html +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/templates/emails/payment_failed.html +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/templates/emails/team_invite.html +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/templates/emails/welcome.html +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/workers/__init__.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/workers/audit_tasks.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/workers/changelog.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/workers/debounce.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/workers/health_checks.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/workers/webhook_delivery.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire/workers/webhooks.py +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/CONTRIBUTING.md +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/ROADMAP.md +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/benches/duplicate_bench.rs +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/benches/graph_bench.rs +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/benches/node2vec_bench.rs +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/benches/word2vec_bench.rs +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/docs/RUST_ARCHITECTURE.md +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/docs/RUST_DEVELOPMENT.md +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/src/duplicate.rs +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/src/errors.rs +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/src/graph_algo.rs +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/src/hashing.rs +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/src/incremental_scc.rs +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/src/lcom.rs +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/src/pylint_rules.rs +0 -0
- {repotoire-0.1.3 → repotoire-0.1.4}/repotoire-fast/src/satd.rs +0 -0
- {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
|
+
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:
|
|
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:
|
|
74
|
-
Requires-Dist:
|
|
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:
|
|
104
|
-
Provides-Extra:
|
|
105
|
-
Provides-Extra:
|
|
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,
|
|
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.
|
|
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:
|
|
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.
|
|
7
|
+
version = "0.1.4"
|
|
8
8
|
description = "Graph-Powered Code Health Platform"
|
|
9
9
|
readme = "README.md"
|
|
10
|
-
requires-python = ">=3.
|
|
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", "
|
|
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
|
-
"
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 = ['
|
|
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.
|
|
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.
|
|
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.
|
|
8
|
+
__version__ = "0.1.4"
|
|
9
9
|
|
|
10
10
|
from repotoire.pipeline import IngestionPipeline
|
|
11
|
-
from repotoire.graph import
|
|
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
|
]
|