repotoire 0.1.6__tar.gz → 0.1.7__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.6 → repotoire-0.1.7}/PKG-INFO +1 -1
- {repotoire-0.1.6 → repotoire-0.1.7}/pyproject.toml +2 -2
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/__init__.py +1 -1
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/dead_code.py +4 -4
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/engine.py +3 -1
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/graph_algorithms.py +32 -3
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/graph/cloud_client.py +39 -1
- repotoire-0.1.7/repotoire/web/node_modules/@monaco-editor/loader/playground/index.html +13 -0
- repotoire-0.1.7/repotoire/web/node_modules/decimal.js-light/doc/API.html +1312 -0
- repotoire-0.1.7/repotoire/web/node_modules/lz-string/tests/SpecRunner.html +51 -0
- repotoire-0.1.7/repotoire/web/node_modules/playwright-core/lib/vite/htmlReport/index.html +84 -0
- repotoire-0.1.7/repotoire/web/node_modules/playwright-core/lib/vite/recorder/index.html +29 -0
- repotoire-0.1.7/repotoire/web/node_modules/playwright-core/lib/vite/traceViewer/index.html +43 -0
- repotoire-0.1.7/repotoire/web/node_modules/playwright-core/lib/vite/traceViewer/snapshot.html +21 -0
- repotoire-0.1.7/repotoire/web/node_modules/playwright-core/lib/vite/traceViewer/uiMode.html +17 -0
- repotoire-0.1.7/repotoire/web/node_modules/recharts/umd/report.html +39 -0
- repotoire-0.1.7/repotoire/web/node_modules/tslib/tslib.es6.html +1 -0
- repotoire-0.1.7/repotoire/web/node_modules/tslib/tslib.html +1 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire-fast/Cargo.lock +53 -53
- {repotoire-0.1.6 → repotoire-0.1.7}/LICENSE +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/README.md +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/ai/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/ai/compression.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/ai/contextual.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/ai/embeddings.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/ai/hybrid.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/ai/llm.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/ai/reranker.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/ai/retrieval.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/ai/spacy_clue_generator.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/ai/vector_store.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/app.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/auth/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/docs/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/docs/webhooks.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/middleware/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/models.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/schemas/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/schemas/fix.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/schemas/quota_override.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/services/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/services/billing.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/services/changelog.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/services/cloud_storage.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/services/encryption.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/services/gdpr.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/services/github.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/services/narrative.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/services/notifications.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/services/status_emails.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/services/stripe_service.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/shared/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/shared/auth/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/shared/auth/clerk.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/shared/auth/password_utils.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/shared/auth/state_store.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/shared/docs/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/shared/docs/webhooks.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/shared/helpers/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/shared/helpers/errors.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/shared/helpers/user.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/shared/middleware/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/shared/middleware/csrf.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/shared/middleware/deprecation.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/shared/middleware/idempotency.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/shared/middleware/rate_limit.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/shared/middleware/security_headers.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/shared/middleware/tenant.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/shared/middleware/usage.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/shared/middleware/version.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/shared/schemas/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/shared/schemas/fix.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/shared/schemas/quota_override.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/shared/services/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/shared/services/billing.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/shared/services/circuit_breaker.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/shared/services/encryption.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/shared/services/gdpr.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/shared/services/github.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/shared/services/s3_client.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/shared/services/stripe_service.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/v1/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/v1/routes/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/v1/routes/account.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/v1/routes/admin/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/v1/routes/admin/changelog.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/v1/routes/admin/overrides.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/v1/routes/admin/status.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/v1/routes/analysis.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/v1/routes/analytics.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/v1/routes/audit.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/v1/routes/billing.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/v1/routes/changelog.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/v1/routes/cli_auth.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/v1/routes/code.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/v1/routes/customer_webhooks.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/v1/routes/detector_settings.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/v1/routes/findings.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/v1/routes/fixes.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/v1/routes/github.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/v1/routes/graph.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/v1/routes/historical.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/v1/routes/monorepo.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/v1/routes/narratives.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/v1/routes/notifications.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/v1/routes/organizations.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/v1/routes/preferences.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/v1/routes/provenance_settings.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/v1/routes/rules.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/v1/routes/sandbox.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/v1/routes/security.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/v1/routes/status.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/v1/routes/team.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/v1/routes/usage.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/v1/routes/webhooks.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/v1/schemas/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/v2/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/api/v2/routes/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/autofix/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/autofix/applicator.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/autofix/best_of_n.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/autofix/ci.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/autofix/engine.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/autofix/entitlements.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/autofix/languages/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/autofix/languages/base.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/autofix/languages/go.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/autofix/languages/java.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/autofix/languages/python.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/autofix/languages/typescript.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/autofix/learning/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/autofix/learning/adaptive.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/autofix/learning/models.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/autofix/learning/store.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/autofix/models.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/autofix/reviewer.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/autofix/scorer.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/autofix/style/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/autofix/style/analyzer.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/autofix/style/enforcer.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/autofix/style/models.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/autofix/templates/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/autofix/templates/models.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/autofix/templates/registry.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/autofix/verifier.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/cache/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/cache/base.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/cache/preview.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/cache/scan.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/cache/skill.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/cli/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/cli/api_keys.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/cli/auth.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/cli/auth_commands.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/cli/credentials.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/cli/graph.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/cli/historical.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/cli/ml.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/cli/monorepo.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/cli/org_commands.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/cli/repo_utils.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/cli/sandbox.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/cli/security.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/cli/tier_limits.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/config.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/db/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/db/models/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/db/models/analysis.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/db/models/api_deprecation.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/db/models/audit.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/db/models/base.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/db/models/billing.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/db/models/changelog.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/db/models/cli_token.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/db/models/detector_settings.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/db/models/email.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/db/models/finding.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/db/models/fix.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/db/models/gdpr.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/db/models/github.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/db/models/notification.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/db/models/organization.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/db/models/provenance_settings.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/db/models/quota_override.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/db/models/repository.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/db/models/status.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/db/models/uptime.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/db/models/user.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/db/models/user_preferences.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/db/models/webhook.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/db/repositories/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/db/repositories/fix.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/db/repositories/quota_override.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/db/session.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/architectural_bottleneck.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/async_antipattern.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/bandit_detector.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/base.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/circular_dependency.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/core_utility.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/data_clumps.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/deduplicator.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/degree_centrality.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/duplicate_rust.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/eslint_detector.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/external_tool_runner.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/feature_envy.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/generator_misuse.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/god_class.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/graphsage_detector.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/grouping.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/health_delta.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/inappropriate_intimacy.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/infinite_loop_detector.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/influential_code.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/jscpd_detector.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/lazy_class.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/long_parameter_list.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/message_chain.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/middle_man.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/ml_bug_detector.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/module_cohesion.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/multimodal_detector.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/mypy_detector.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/npm_audit_detector.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/pylint_detector.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/radon_detector.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/refused_bequest.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/risk_analyzer.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/root_cause_analyzer.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/ruff_import_detector.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/ruff_lint_detector.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/rust_graph_detectors.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/satd_detector.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/semgrep_detector.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/shotgun_surgery.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/taint_detector.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/temporal_metrics.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/test_smell.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/truly_unused_imports.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/tsc_detector.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/type_hint_coverage.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/voting_engine.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/detectors/vulture_detector.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/github/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/github/pr_analyzer.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/github/pr_commenter.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/graph/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/graph/base.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/graph/enricher.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/graph/external_labels.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/graph/factory.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/graph/falkordb_client.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/graph/incremental_scc.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/graph/migration.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/graph/queries/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/graph/queries/builders.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/graph/queries/patterns.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/graph/queries/traversal.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/graph/schema.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/graph/tenant_factory.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/historical/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/historical/git_extractor.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/historical/git_rag.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/historical/metrics_collector.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/historical/timescale_client.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/hooks/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/hooks/pre_commit.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/http_client.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/insights/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/insights/engine.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/integrations/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/integrations/git.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/logging_config.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/mcp/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/mcp/__main__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/mcp/api_server.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/mcp/execution_env.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/mcp/models.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/mcp/pattern_detector.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/mcp/resources.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/mcp/schema_generator.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/mcp/server_generator.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/migrations/001_initial_schema.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/migrations/002_add_clue_nodes.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/migrations/003_add_session_nodes.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/migrations/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/migrations/manager.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/migrations/migration.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/ml/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/ml/bug_predictor.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/ml/contrastive_learning.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/ml/cross_project_trainer.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/ml/graph_embeddings.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/ml/graphsage_predictor.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/ml/multimodal_analyzer.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/ml/multimodal_fusion.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/ml/node2vec_embeddings.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/ml/similarity.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/ml/training_data.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/models.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/monorepo/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/monorepo/affected.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/monorepo/analyzer.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/monorepo/cross_package.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/monorepo/detector.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/monorepo/models.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/observability/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/observability/metrics.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/observability/tracing.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/parsers/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/parsers/base.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/parsers/base_tree_sitter_parser.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/parsers/generic_fallback_parser.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/parsers/python_parser.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/parsers/rust_parser.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/parsers/tree_sitter_adapter.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/parsers/tree_sitter_go.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/parsers/tree_sitter_java.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/parsers/tree_sitter_python.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/parsers/tree_sitter_typescript.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/pipeline/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/pipeline/ingestion.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/pipeline/temporal_ingestion.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/reporters/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/reporters/base_reporter.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/reporters/excel_reporter.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/reporters/html_reporter.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/reporters/markdown_reporter.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/reporters/pdf_reporter.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/reporters/sarif_reporter.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/rules/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/rules/daemon.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/rules/engine.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/rules/validator.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/sandbox/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/sandbox/alerts.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/sandbox/billing.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/sandbox/client.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/sandbox/code_validator.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/sandbox/config.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/sandbox/enforcement.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/sandbox/exceptions.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/sandbox/metrics.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/sandbox/override_service.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/sandbox/quotas.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/sandbox/session_tracker.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/sandbox/skill_executor.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/sandbox/test_executor.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/sandbox/tiers.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/sandbox/tool_executor.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/sandbox/trial.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/sandbox/usage.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/security/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/security/compliance_reporter.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/security/dependency_scanner.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/security/sbom_generator.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/security/secrets_scanner.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/services/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/services/audit.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/services/email.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/services/github_status.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/services/quality_gates.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/services/webhook_payloads.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/templates/emails/analysis_complete.html +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/templates/emails/analysis_failed.html +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/templates/emails/base.html +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/templates/emails/deletion_cancelled.html +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/templates/emails/deletion_confirmation.html +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/templates/emails/health_regression.html +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/templates/emails/payment_failed.html +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/templates/emails/team_invite.html +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/templates/emails/welcome.html +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/tenant/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/tenant/context.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/tenant/logging.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/tenant/resolver.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/utils/encryption.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/validation.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/workers/__init__.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/workers/audit_tasks.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/workers/celery_app.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/workers/changelog.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/workers/cleanup.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/workers/debounce.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/workers/health_checks.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/workers/hooks.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/workers/limits.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/workers/progress.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/workers/tasks.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/workers/webhook_delivery.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire/workers/webhooks.py +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire-fast/CONTRIBUTING.md +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire-fast/Cargo.toml +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire-fast/ROADMAP.md +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire-fast/benches/duplicate_bench.rs +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire-fast/benches/graph_bench.rs +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire-fast/benches/node2vec_bench.rs +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire-fast/benches/word2vec_bench.rs +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire-fast/docs/RUST_ARCHITECTURE.md +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire-fast/docs/RUST_DEVELOPMENT.md +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire-fast/src/call_resolver.rs +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire-fast/src/cfg.rs +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire-fast/src/complexity.rs +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire-fast/src/data_clumps.rs +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire-fast/src/dataflow.rs +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire-fast/src/duplicate.rs +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire-fast/src/errors.rs +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire-fast/src/findings_serde.rs +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire-fast/src/graph_algo.rs +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire-fast/src/graph_detectors.rs +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire-fast/src/hashing.rs +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire-fast/src/incremental_scc.rs +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire-fast/src/lcom.rs +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire-fast/src/lib.rs +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire-fast/src/path_cache.rs +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire-fast/src/pylint_rules.rs +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire-fast/src/satd.rs +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire-fast/src/similarity.rs +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire-fast/src/string_ops.rs +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire-fast/src/taint.rs +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire-fast/src/traversal.rs +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire-fast/src/tree_sitter_parser.rs +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire-fast/src/type_inference.rs +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire-fast/src/voting.rs +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire-fast/src/word2vec.rs +0 -0
- {repotoire-0.1.6 → repotoire-0.1.7}/repotoire_fast/__init__.py +0 -0
|
@@ -4,7 +4,7 @@ build-backend = "maturin"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "repotoire"
|
|
7
|
-
version = "0.1.
|
|
7
|
+
version = "0.1.7"
|
|
8
8
|
description = "Graph-Powered Code Health Platform"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.11"
|
|
@@ -241,7 +241,7 @@ dev = [
|
|
|
241
241
|
|
|
242
242
|
# Bump My Version configuration for semantic versioning
|
|
243
243
|
[tool.bumpversion]
|
|
244
|
-
current_version = "0.1.
|
|
244
|
+
current_version = "0.1.5"
|
|
245
245
|
commit = true
|
|
246
246
|
commit_args = "--no-verify"
|
|
247
247
|
tag = true
|
|
@@ -551,9 +551,9 @@ class DeadCodeDetector(CodeSmellDetector):
|
|
|
551
551
|
WHERE NOT (f.name STARTS WITH 'test_')
|
|
552
552
|
AND NOT f.name IN ['main', '__main__', '__init__', 'setUp', 'tearDown']
|
|
553
553
|
{repo_filter}
|
|
554
|
-
OPTIONAL MATCH (f)<-[
|
|
554
|
+
OPTIONAL MATCH (f)<-[rel:CALLS]-()
|
|
555
555
|
OPTIONAL MATCH (f)<-[use:USES]-()
|
|
556
|
-
WITH f, count(
|
|
556
|
+
WITH f, count(rel) AS call_count, count(use) AS use_count
|
|
557
557
|
WHERE call_count = 0 AND use_count = 0
|
|
558
558
|
OPTIONAL MATCH (file:File)-[:CONTAINS]->(f)
|
|
559
559
|
WITH f, file
|
|
@@ -758,10 +758,10 @@ class DeadCodeDetector(CodeSmellDetector):
|
|
|
758
758
|
query = f"""
|
|
759
759
|
MATCH (file:File)-[:CONTAINS]->(c:Class)
|
|
760
760
|
WHERE 1=1 {repo_filter}
|
|
761
|
-
OPTIONAL MATCH (c)<-[
|
|
761
|
+
OPTIONAL MATCH (c)<-[rel:CALLS]-()
|
|
762
762
|
OPTIONAL MATCH (c)<-[inherit:INHERITS]-()
|
|
763
763
|
OPTIONAL MATCH (c)<-[use:USES]-()
|
|
764
|
-
WITH c, file, count(
|
|
764
|
+
WITH c, file, count(rel) AS call_count, count(inherit) AS inherit_count, count(use) AS use_count
|
|
765
765
|
WHERE call_count = 0 AND inherit_count = 0 AND use_count = 0
|
|
766
766
|
RETURN c.qualifiedName AS qualified_name,
|
|
767
767
|
c.name AS name,
|
|
@@ -560,9 +560,11 @@ class AnalysisEngine:
|
|
|
560
560
|
cache.build_cache(rel_type, edges, num_nodes)
|
|
561
561
|
total_edges += len(edges)
|
|
562
562
|
stats = cache.stats(rel_type)
|
|
563
|
+
# PyCacheStats is a Rust struct, use attribute access not .get()
|
|
564
|
+
density = getattr(stats, 'density', 0) if stats else 0
|
|
563
565
|
logger.info(
|
|
564
566
|
f"Built {rel_type} cache: {len(edges)} edges in {rel_query_time:.2f}s, "
|
|
565
|
-
f"density={
|
|
567
|
+
f"density={density:.4f}"
|
|
566
568
|
)
|
|
567
569
|
else:
|
|
568
570
|
logger.info(f"No {rel_type} edges found ({rel_query_time:.2f}s)")
|
|
@@ -25,10 +25,11 @@ from repotoire_fast import (
|
|
|
25
25
|
|
|
26
26
|
logger = get_logger(__name__)
|
|
27
27
|
|
|
28
|
-
# Cache for
|
|
28
|
+
# Cache for computed values to avoid recalculation and support read-only mode
|
|
29
29
|
# Protected by _cache_lock for thread safety
|
|
30
30
|
_community_cache: Dict[str, int] = {}
|
|
31
31
|
_pagerank_cache: Dict[str, float] = {}
|
|
32
|
+
_degree_cache: Dict[str, Dict[str, int]] = {} # {node_name: {"in_degree": x, "out_degree": y}}
|
|
32
33
|
_cache_lock = threading.Lock()
|
|
33
34
|
|
|
34
35
|
|
|
@@ -199,6 +200,8 @@ class GraphAlgorithms:
|
|
|
199
200
|
) -> int:
|
|
200
201
|
"""Write computed values back to FalkorDB nodes.
|
|
201
202
|
|
|
203
|
+
For read-only cloud clients, stores values in memory cache instead.
|
|
204
|
+
|
|
202
205
|
Args:
|
|
203
206
|
node_label: Node label
|
|
204
207
|
node_names: List of qualified names
|
|
@@ -206,12 +209,38 @@ class GraphAlgorithms:
|
|
|
206
209
|
property_name: Property name to write
|
|
207
210
|
|
|
208
211
|
Returns:
|
|
209
|
-
Number of nodes updated
|
|
212
|
+
Number of nodes updated (or cached)
|
|
210
213
|
"""
|
|
211
214
|
if not node_names or len(node_names) != len(values):
|
|
212
215
|
return 0
|
|
213
216
|
|
|
214
|
-
#
|
|
217
|
+
# Check if client is read-only (CloudProxyClient)
|
|
218
|
+
client_type = type(self.client).__name__
|
|
219
|
+
is_read_only = client_type == "CloudProxyClient"
|
|
220
|
+
|
|
221
|
+
if is_read_only:
|
|
222
|
+
# Store in appropriate in-memory cache instead of DB write
|
|
223
|
+
global _pagerank_cache, _community_cache, _degree_cache
|
|
224
|
+
with _cache_lock:
|
|
225
|
+
if property_name == "pagerank":
|
|
226
|
+
for name, val in zip(node_names, values):
|
|
227
|
+
_pagerank_cache[name] = val
|
|
228
|
+
elif property_name == "community":
|
|
229
|
+
for name, val in zip(node_names, values):
|
|
230
|
+
_community_cache[name] = val
|
|
231
|
+
elif property_name in ("in_degree", "out_degree"):
|
|
232
|
+
for name, val in zip(node_names, values):
|
|
233
|
+
if name not in _degree_cache:
|
|
234
|
+
_degree_cache[name] = {}
|
|
235
|
+
_degree_cache[name][property_name] = val
|
|
236
|
+
else:
|
|
237
|
+
# Generic cache for other properties
|
|
238
|
+
logger.debug(f"Caching {len(node_names)} {property_name} values in memory (read-only mode)")
|
|
239
|
+
|
|
240
|
+
logger.info(f"Cached {len(node_names)} {property_name} values in memory (cloud read-only mode)")
|
|
241
|
+
return len(node_names)
|
|
242
|
+
|
|
243
|
+
# Batch update in chunks (write mode)
|
|
215
244
|
updated = 0
|
|
216
245
|
chunk_size = 500
|
|
217
246
|
|
|
@@ -5,11 +5,46 @@ allowing the CLI to work without direct database access.
|
|
|
5
5
|
"""
|
|
6
6
|
|
|
7
7
|
import os
|
|
8
|
+
import re
|
|
8
9
|
import threading
|
|
9
10
|
from typing import Any, Dict, List, Optional
|
|
10
11
|
|
|
11
12
|
import httpx
|
|
12
13
|
|
|
14
|
+
|
|
15
|
+
def _strip_cypher_comments(query: str) -> str:
|
|
16
|
+
"""Strip comments from Cypher queries.
|
|
17
|
+
|
|
18
|
+
Removes:
|
|
19
|
+
- Single-line comments: // ... or -- ...
|
|
20
|
+
- Multi-line comments: /* ... */
|
|
21
|
+
|
|
22
|
+
Preserves strings (won't strip // inside quoted strings).
|
|
23
|
+
"""
|
|
24
|
+
# Remove multi-line comments first
|
|
25
|
+
query = re.sub(r'/\*.*?\*/', '', query, flags=re.DOTALL)
|
|
26
|
+
|
|
27
|
+
# Remove single-line comments (// and --)
|
|
28
|
+
# Be careful not to remove // in strings - simple approach: line by line
|
|
29
|
+
lines = []
|
|
30
|
+
for line in query.split('\n'):
|
|
31
|
+
# Find // or -- not inside quotes (simplified: just strip from first occurrence)
|
|
32
|
+
# This is safe because Cypher strings use single quotes primarily
|
|
33
|
+
comment_pos = -1
|
|
34
|
+
for pattern in ['//', '--']:
|
|
35
|
+
pos = line.find(pattern)
|
|
36
|
+
if pos != -1 and (comment_pos == -1 or pos < comment_pos):
|
|
37
|
+
# Check if it's inside a string (simple heuristic: count quotes before)
|
|
38
|
+
before = line[:pos]
|
|
39
|
+
if before.count("'") % 2 == 0 and before.count('"') % 2 == 0:
|
|
40
|
+
comment_pos = pos
|
|
41
|
+
|
|
42
|
+
if comment_pos != -1:
|
|
43
|
+
line = line[:comment_pos]
|
|
44
|
+
lines.append(line)
|
|
45
|
+
|
|
46
|
+
return '\n'.join(lines).strip()
|
|
47
|
+
|
|
13
48
|
from repotoire.graph.base import DatabaseClient
|
|
14
49
|
from repotoire.logging_config import get_logger
|
|
15
50
|
from repotoire.models import Entity, Relationship
|
|
@@ -117,11 +152,14 @@ class CloudProxyClient(DatabaseClient):
|
|
|
117
152
|
timeout: Optional[float] = None,
|
|
118
153
|
) -> List[Dict]:
|
|
119
154
|
"""Execute a Cypher query via the API."""
|
|
155
|
+
# Strip comments from query - API rejects queries with comments
|
|
156
|
+
clean_query = _strip_cypher_comments(query)
|
|
157
|
+
|
|
120
158
|
response = self._request(
|
|
121
159
|
"POST",
|
|
122
160
|
"/query",
|
|
123
161
|
json={
|
|
124
|
-
"query":
|
|
162
|
+
"query": clean_query,
|
|
125
163
|
"parameters": parameters,
|
|
126
164
|
"timeout": timeout,
|
|
127
165
|
},
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<link rel="icon" type="image/svg+xml" href="favicon.svg" />
|
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
|
+
<title>Monaco Loader: Playground</title>
|
|
8
|
+
</head>
|
|
9
|
+
<body style="height: 100vh">
|
|
10
|
+
<div id="app"></div>
|
|
11
|
+
<script type="module" src="/main.js"></script>
|
|
12
|
+
</body>
|
|
13
|
+
</html>
|