@skillsmith/core 0.4.1 → 0.4.3
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.
- package/dist/.tsbuildinfo +1 -1
- package/dist/src/analysis/adapters/java-parsers.d.ts +64 -0
- package/dist/src/analysis/adapters/java-parsers.d.ts.map +1 -0
- package/dist/src/analysis/adapters/java-parsers.js +114 -0
- package/dist/src/analysis/adapters/java-parsers.js.map +1 -0
- package/dist/src/analysis/adapters/java.d.ts +1 -51
- package/dist/src/analysis/adapters/java.d.ts.map +1 -1
- package/dist/src/analysis/adapters/java.js +94 -205
- package/dist/src/analysis/adapters/java.js.map +1 -1
- package/dist/src/analysis/adapters/python-frameworks.d.ts +21 -0
- package/dist/src/analysis/adapters/python-frameworks.d.ts.map +1 -0
- package/dist/src/analysis/adapters/python-frameworks.js +86 -0
- package/dist/src/analysis/adapters/python-frameworks.js.map +1 -0
- package/dist/src/analysis/adapters/python.d.ts +0 -50
- package/dist/src/analysis/adapters/python.d.ts.map +1 -1
- package/dist/src/analysis/adapters/python.js +5 -120
- package/dist/src/analysis/adapters/python.js.map +1 -1
- package/dist/src/analysis/adapters/rust-parsers.d.ts +33 -0
- package/dist/src/analysis/adapters/rust-parsers.d.ts.map +1 -0
- package/dist/src/analysis/adapters/rust-parsers.js +94 -0
- package/dist/src/analysis/adapters/rust-parsers.js.map +1 -0
- package/dist/src/analysis/adapters/rust.d.ts +1 -43
- package/dist/src/analysis/adapters/rust.d.ts.map +1 -1
- package/dist/src/analysis/adapters/rust.js +74 -173
- package/dist/src/analysis/adapters/rust.js.map +1 -1
- package/dist/src/analysis/worker-pool.d.ts +25 -52
- package/dist/src/analysis/worker-pool.d.ts.map +1 -1
- package/dist/src/analysis/worker-pool.js +29 -181
- package/dist/src/analysis/worker-pool.js.map +1 -1
- package/dist/src/analysis/worker-types.d.ts +64 -0
- package/dist/src/analysis/worker-types.d.ts.map +1 -0
- package/dist/src/analysis/worker-types.js +11 -0
- package/dist/src/analysis/worker-types.js.map +1 -0
- package/dist/src/analysis/worker-utils.d.ts +49 -0
- package/dist/src/analysis/worker-utils.d.ts.map +1 -0
- package/dist/src/analysis/worker-utils.js +206 -0
- package/dist/src/analysis/worker-utils.js.map +1 -0
- package/dist/src/analytics/AnalyticsRepository.d.ts +1 -5
- package/dist/src/analytics/AnalyticsRepository.d.ts.map +1 -1
- package/dist/src/analytics/AnalyticsRepository.helpers.d.ts +28 -0
- package/dist/src/analytics/AnalyticsRepository.helpers.d.ts.map +1 -0
- package/dist/src/analytics/AnalyticsRepository.helpers.js +90 -0
- package/dist/src/analytics/AnalyticsRepository.helpers.js.map +1 -0
- package/dist/src/analytics/AnalyticsRepository.js +16 -129
- package/dist/src/analytics/AnalyticsRepository.js.map +1 -1
- package/dist/src/analytics/AnalyticsRepository.types.d.ts +82 -0
- package/dist/src/analytics/AnalyticsRepository.types.d.ts.map +1 -0
- package/dist/src/analytics/AnalyticsRepository.types.js +8 -0
- package/dist/src/analytics/AnalyticsRepository.types.js.map +1 -0
- package/dist/src/api/client.d.ts +5 -121
- package/dist/src/api/client.d.ts.map +1 -1
- package/dist/src/api/client.js +24 -136
- package/dist/src/api/client.js.map +1 -1
- package/dist/src/api/schemas.d.ts +122 -0
- package/dist/src/api/schemas.d.ts.map +1 -0
- package/dist/src/api/schemas.js +71 -0
- package/dist/src/api/schemas.js.map +1 -0
- package/dist/src/api/utils.d.ts +46 -0
- package/dist/src/api/utils.d.ts.map +1 -0
- package/dist/src/api/utils.js +96 -0
- package/dist/src/api/utils.js.map +1 -0
- package/dist/src/billing/GDPRComplianceService.d.ts +2 -97
- package/dist/src/billing/GDPRComplianceService.d.ts.map +1 -1
- package/dist/src/billing/GDPRComplianceService.js.map +1 -1
- package/dist/src/billing/StripeClient.d.ts +3 -62
- package/dist/src/billing/StripeClient.d.ts.map +1 -1
- package/dist/src/billing/StripeClient.js +10 -68
- package/dist/src/billing/StripeClient.js.map +1 -1
- package/dist/src/billing/StripeReconciliationJob.d.ts +2 -47
- package/dist/src/billing/StripeReconciliationJob.d.ts.map +1 -1
- package/dist/src/billing/StripeReconciliationJob.js +1 -41
- package/dist/src/billing/StripeReconciliationJob.js.map +1 -1
- package/dist/src/billing/StripeWebhookHandler.d.ts +3 -59
- package/dist/src/billing/StripeWebhookHandler.d.ts.map +1 -1
- package/dist/src/billing/StripeWebhookHandler.js +14 -304
- package/dist/src/billing/StripeWebhookHandler.js.map +1 -1
- package/dist/src/billing/gdpr-types.d.ts +103 -0
- package/dist/src/billing/gdpr-types.d.ts.map +1 -0
- package/dist/src/billing/gdpr-types.js +7 -0
- package/dist/src/billing/gdpr-types.js.map +1 -0
- package/dist/src/billing/reconciliation-helpers.d.ts +16 -0
- package/dist/src/billing/reconciliation-helpers.d.ts.map +1 -0
- package/dist/src/billing/reconciliation-helpers.js +53 -0
- package/dist/src/billing/reconciliation-helpers.js.map +1 -0
- package/dist/src/billing/reconciliation-types.d.ts +71 -0
- package/dist/src/billing/reconciliation-types.d.ts.map +1 -0
- package/dist/src/billing/reconciliation-types.js +7 -0
- package/dist/src/billing/reconciliation-types.js.map +1 -0
- package/dist/src/billing/stripe-client-types.d.ts +45 -0
- package/dist/src/billing/stripe-client-types.d.ts.map +1 -0
- package/dist/src/billing/stripe-client-types.js +7 -0
- package/dist/src/billing/stripe-client-types.js.map +1 -0
- package/dist/src/billing/stripe-helpers.d.ts +17 -0
- package/dist/src/billing/stripe-helpers.d.ts.map +1 -0
- package/dist/src/billing/stripe-helpers.js +50 -0
- package/dist/src/billing/stripe-helpers.js.map +1 -0
- package/dist/src/billing/webhook-handlers.d.ts +56 -0
- package/dist/src/billing/webhook-handlers.d.ts.map +1 -0
- package/dist/src/billing/webhook-handlers.js +303 -0
- package/dist/src/billing/webhook-handlers.js.map +1 -0
- package/dist/src/billing/webhook-types.d.ts +42 -0
- package/dist/src/billing/webhook-types.d.ts.map +1 -0
- package/dist/src/billing/webhook-types.js +7 -0
- package/dist/src/billing/webhook-types.js.map +1 -0
- package/dist/src/config/index.d.ts +118 -0
- package/dist/src/config/index.d.ts.map +1 -0
- package/dist/src/config/index.js +172 -0
- package/dist/src/config/index.js.map +1 -0
- package/dist/src/db/migration-types.d.ts +101 -0
- package/dist/src/db/migration-types.d.ts.map +1 -0
- package/dist/src/db/migration-types.js +6 -0
- package/dist/src/db/migration-types.js.map +1 -0
- package/dist/src/db/migration.d.ts +7 -104
- package/dist/src/db/migration.d.ts.map +1 -1
- package/dist/src/db/migration.js +15 -65
- package/dist/src/db/migration.js.map +1 -1
- package/dist/src/embeddings/embedding-types.d.ts +44 -0
- package/dist/src/embeddings/embedding-types.d.ts.map +1 -0
- package/dist/src/embeddings/embedding-types.js +6 -0
- package/dist/src/embeddings/embedding-types.js.map +1 -0
- package/dist/src/embeddings/embedding-utils.d.ts +42 -0
- package/dist/src/embeddings/embedding-utils.d.ts.map +1 -0
- package/dist/src/embeddings/embedding-utils.js +121 -0
- package/dist/src/embeddings/embedding-utils.js.map +1 -0
- package/dist/src/embeddings/index.d.ts +36 -112
- package/dist/src/embeddings/index.d.ts.map +1 -1
- package/dist/src/embeddings/index.js +37 -210
- package/dist/src/embeddings/index.js.map +1 -1
- package/dist/src/exports/repositories.d.ts +18 -0
- package/dist/src/exports/repositories.d.ts.map +1 -0
- package/dist/src/exports/repositories.js +30 -0
- package/dist/src/exports/repositories.js.map +1 -0
- package/dist/src/exports/services.d.ts +30 -0
- package/dist/src/exports/services.d.ts.map +1 -0
- package/dist/src/exports/services.js +70 -0
- package/dist/src/exports/services.js.map +1 -0
- package/dist/src/exports/types.d.ts +21 -0
- package/dist/src/exports/types.d.ts.map +1 -0
- package/dist/src/exports/types.js +12 -0
- package/dist/src/exports/types.js.map +1 -0
- package/dist/src/index.d.ts +11 -55
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +24 -59
- package/dist/src/index.js.map +1 -1
- package/dist/src/pipeline/DailyIndexPipeline.d.ts +4 -176
- package/dist/src/pipeline/DailyIndexPipeline.d.ts.map +1 -1
- package/dist/src/pipeline/DailyIndexPipeline.js +9 -83
- package/dist/src/pipeline/DailyIndexPipeline.js.map +1 -1
- package/dist/src/pipeline/pipeline-types.d.ts +132 -0
- package/dist/src/pipeline/pipeline-types.d.ts.map +1 -0
- package/dist/src/pipeline/pipeline-types.js +6 -0
- package/dist/src/pipeline/pipeline-types.js.map +1 -0
- package/dist/src/routing/expert-types.d.ts +109 -0
- package/dist/src/routing/expert-types.d.ts.map +1 -0
- package/dist/src/routing/expert-types.js +162 -0
- package/dist/src/routing/expert-types.js.map +1 -0
- package/dist/src/routing/request-types.d.ts +113 -0
- package/dist/src/routing/request-types.d.ts.map +1 -0
- package/dist/src/routing/request-types.js +9 -0
- package/dist/src/routing/request-types.js.map +1 -0
- package/dist/src/routing/types.d.ts +5 -207
- package/dist/src/routing/types.d.ts.map +1 -1
- package/dist/src/routing/types.js +3 -153
- package/dist/src/routing/types.js.map +1 -1
- package/dist/src/scripts/github-import/github-auth.d.ts +17 -0
- package/dist/src/scripts/github-import/github-auth.d.ts.map +1 -0
- package/dist/src/scripts/github-import/github-auth.js +201 -0
- package/dist/src/scripts/github-import/github-auth.js.map +1 -0
- package/dist/src/scripts/github-import/github-client.d.ts +5 -5
- package/dist/src/scripts/github-import/github-client.d.ts.map +1 -1
- package/dist/src/scripts/github-import/github-client.js +5 -203
- package/dist/src/scripts/github-import/github-client.js.map +1 -1
- package/dist/src/scripts/merge-skills.d.ts +5 -27
- package/dist/src/scripts/merge-skills.d.ts.map +1 -1
- package/dist/src/scripts/merge-skills.js +4 -144
- package/dist/src/scripts/merge-skills.js.map +1 -1
- package/dist/src/scripts/merge-types.d.ts +72 -0
- package/dist/src/scripts/merge-types.d.ts.map +1 -0
- package/dist/src/scripts/merge-types.js +7 -0
- package/dist/src/scripts/merge-types.js.map +1 -0
- package/dist/src/scripts/merge-utils.d.ts +23 -0
- package/dist/src/scripts/merge-utils.d.ts.map +1 -0
- package/dist/src/scripts/merge-utils.js +150 -0
- package/dist/src/scripts/merge-utils.js.map +1 -0
- package/dist/src/scripts/review-categories.d.ts +41 -0
- package/dist/src/scripts/review-categories.d.ts.map +1 -0
- package/dist/src/scripts/review-categories.js +316 -0
- package/dist/src/scripts/review-categories.js.map +1 -0
- package/dist/src/scripts/review-lenny-skills.d.ts +1 -0
- package/dist/src/scripts/review-lenny-skills.d.ts.map +1 -1
- package/dist/src/scripts/review-lenny-skills.js +5 -310
- package/dist/src/scripts/review-lenny-skills.js.map +1 -1
- package/dist/src/security/AuditLogger.d.ts +4 -75
- package/dist/src/security/AuditLogger.d.ts.map +1 -1
- package/dist/src/security/AuditLogger.js +2 -11
- package/dist/src/security/AuditLogger.js.map +1 -1
- package/dist/src/security/audit-types.d.ts +96 -0
- package/dist/src/security/audit-types.d.ts.map +1 -0
- package/dist/src/security/audit-types.js +15 -0
- package/dist/src/security/audit-types.js.map +1 -0
- package/dist/src/security/sanitization.d.ts +1 -85
- package/dist/src/security/sanitization.d.ts.map +1 -1
- package/dist/src/security/sanitization.js +2 -133
- package/dist/src/security/sanitization.js.map +1 -1
- package/dist/src/security/stripe-validators.d.ts +92 -0
- package/dist/src/security/stripe-validators.d.ts.map +1 -0
- package/dist/src/security/stripe-validators.js +139 -0
- package/dist/src/security/stripe-validators.js.map +1 -0
- package/dist/src/services/SearchService.d.ts +2 -31
- package/dist/src/services/SearchService.d.ts.map +1 -1
- package/dist/src/services/SearchService.helpers.d.ts +42 -0
- package/dist/src/services/SearchService.helpers.d.ts.map +1 -0
- package/dist/src/services/SearchService.helpers.js +128 -0
- package/dist/src/services/SearchService.helpers.js.map +1 -0
- package/dist/src/services/SearchService.js +14 -132
- package/dist/src/services/SearchService.js.map +1 -1
- package/dist/src/services/SearchService.types.d.ts +53 -0
- package/dist/src/services/SearchService.types.d.ts.map +1 -0
- package/dist/src/services/SearchService.types.js +7 -0
- package/dist/src/services/SearchService.types.js.map +1 -0
- package/dist/src/services/SkillAnalyzer.d.ts +6 -86
- package/dist/src/services/SkillAnalyzer.d.ts.map +1 -1
- package/dist/src/services/SkillAnalyzer.helpers.d.ts +103 -0
- package/dist/src/services/SkillAnalyzer.helpers.d.ts.map +1 -0
- package/dist/src/services/SkillAnalyzer.helpers.js +237 -0
- package/dist/src/services/SkillAnalyzer.helpers.js.map +1 -0
- package/dist/src/services/SkillAnalyzer.js +16 -167
- package/dist/src/services/SkillAnalyzer.js.map +1 -1
- package/dist/src/services/SkillAnalyzer.types.d.ts +110 -0
- package/dist/src/services/SkillAnalyzer.types.d.ts.map +1 -0
- package/dist/src/services/SkillAnalyzer.types.js +9 -0
- package/dist/src/services/SkillAnalyzer.types.js.map +1 -0
- package/dist/src/services/SkillDecomposer.d.ts +4 -70
- package/dist/src/services/SkillDecomposer.d.ts.map +1 -1
- package/dist/src/services/SkillDecomposer.helpers.d.ts +75 -0
- package/dist/src/services/SkillDecomposer.helpers.d.ts.map +1 -0
- package/dist/src/services/SkillDecomposer.helpers.js +277 -0
- package/dist/src/services/SkillDecomposer.helpers.js.map +1 -0
- package/dist/src/services/SkillDecomposer.js +6 -249
- package/dist/src/services/SkillDecomposer.js.map +1 -1
- package/dist/src/services/SkillDecomposer.types.d.ts +104 -0
- package/dist/src/services/SkillDecomposer.types.d.ts.map +1 -0
- package/dist/src/services/SkillDecomposer.types.js +9 -0
- package/dist/src/services/SkillDecomposer.types.js.map +1 -0
- package/dist/src/services/SubagentGenerator.d.ts +12 -3
- package/dist/src/services/SubagentGenerator.d.ts.map +1 -1
- package/dist/src/services/SubagentGenerator.js +43 -10
- package/dist/src/services/SubagentGenerator.js.map +1 -1
- package/dist/src/services/TaskRunner.d.ts +227 -0
- package/dist/src/services/TaskRunner.d.ts.map +1 -0
- package/dist/src/services/TaskRunner.js +423 -0
- package/dist/src/services/TaskRunner.js.map +1 -0
- package/dist/src/services/TransformationService.d.ts +8 -4
- package/dist/src/services/TransformationService.d.ts.map +1 -1
- package/dist/src/services/TransformationService.js +58 -34
- package/dist/src/services/TransformationService.js.map +1 -1
- package/dist/src/services/__tests__/TaskRunner.test.d.ts +7 -0
- package/dist/src/services/__tests__/TaskRunner.test.d.ts.map +1 -0
- package/dist/src/services/__tests__/TaskRunner.test.js +316 -0
- package/dist/src/services/__tests__/TaskRunner.test.js.map +1 -0
- package/dist/src/services/__tests__/TransformationService.test.js +12 -10
- package/dist/src/services/__tests__/TransformationService.test.js.map +1 -1
- package/dist/src/telemetry/metric-helpers.d.ts +47 -0
- package/dist/src/telemetry/metric-helpers.d.ts.map +1 -0
- package/dist/src/telemetry/metric-helpers.js +96 -0
- package/dist/src/telemetry/metric-helpers.js.map +1 -0
- package/dist/src/telemetry/metric-types.d.ts +73 -0
- package/dist/src/telemetry/metric-types.d.ts.map +1 -0
- package/dist/src/telemetry/metric-types.js +9 -0
- package/dist/src/telemetry/metric-types.js.map +1 -0
- package/dist/src/telemetry/metrics.d.ts +8 -119
- package/dist/src/telemetry/metrics.d.ts.map +1 -1
- package/dist/src/telemetry/metrics.js +20 -193
- package/dist/src/telemetry/metrics.js.map +1 -1
- package/dist/src/telemetry/span-utils.d.ts +30 -0
- package/dist/src/telemetry/span-utils.d.ts.map +1 -0
- package/dist/src/telemetry/span-utils.js +62 -0
- package/dist/src/telemetry/span-utils.js.map +1 -0
- package/dist/src/telemetry/tracer-types.d.ts +91 -0
- package/dist/src/telemetry/tracer-types.d.ts.map +1 -0
- package/dist/src/telemetry/tracer-types.js +6 -0
- package/dist/src/telemetry/tracer-types.js.map +1 -0
- package/dist/src/telemetry/tracer.d.ts +5 -122
- package/dist/src/telemetry/tracer.d.ts.map +1 -1
- package/dist/src/telemetry/tracer.js +23 -168
- package/dist/src/telemetry/tracer.js.map +1 -1
- package/dist/src/triggers/TriggerDetector.d.ts +6 -142
- package/dist/src/triggers/TriggerDetector.d.ts.map +1 -1
- package/dist/src/triggers/TriggerDetector.js +15 -247
- package/dist/src/triggers/TriggerDetector.js.map +1 -1
- package/dist/src/triggers/trigger-constants.d.ts +22 -0
- package/dist/src/triggers/trigger-constants.d.ts.map +1 -0
- package/dist/src/triggers/trigger-constants.js +185 -0
- package/dist/src/triggers/trigger-constants.js.map +1 -0
- package/dist/src/triggers/trigger-types.d.ts +90 -0
- package/dist/src/triggers/trigger-types.d.ts.map +1 -0
- package/dist/src/triggers/trigger-types.js +6 -0
- package/dist/src/triggers/trigger-types.js.map +1 -0
- package/dist/src/types/skill.d.ts +4 -1
- package/dist/src/types/skill.d.ts.map +1 -1
- package/dist/src/types/skill.js.map +1 -1
- package/dist/src/types.d.ts +6 -2
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js +1 -0
- package/dist/src/types.js.map +1 -1
- package/dist/src/validation/index.d.ts +5 -105
- package/dist/src/validation/index.d.ts.map +1 -1
- package/dist/src/validation/index.js +9 -421
- package/dist/src/validation/index.js.map +1 -1
- package/dist/src/validation/input-validators.d.ts +68 -0
- package/dist/src/validation/input-validators.d.ts.map +1 -0
- package/dist/src/validation/input-validators.js +126 -0
- package/dist/src/validation/input-validators.js.map +1 -0
- package/dist/src/validation/path-validators.d.ts +23 -0
- package/dist/src/validation/path-validators.d.ts.map +1 -0
- package/dist/src/validation/path-validators.js +47 -0
- package/dist/src/validation/path-validators.js.map +1 -0
- package/dist/src/validation/url-validators.d.ts +55 -0
- package/dist/src/validation/url-validators.d.ts.map +1 -0
- package/dist/src/validation/url-validators.js +267 -0
- package/dist/src/validation/url-validators.js.map +1 -0
- package/dist/src/validation/validation-error.d.ts +14 -0
- package/dist/src/validation/validation-error.d.ts.map +1 -0
- package/dist/src/validation/validation-error.js +19 -0
- package/dist/src/validation/validation-error.js.map +1 -0
- package/dist/src/webhooks/WebhookPayload.d.ts +4 -215
- package/dist/src/webhooks/WebhookPayload.d.ts.map +1 -1
- package/dist/src/webhooks/WebhookPayload.js +1 -122
- package/dist/src/webhooks/WebhookPayload.js.map +1 -1
- package/dist/src/webhooks/WebhookQueue.d.ts +2 -140
- package/dist/src/webhooks/WebhookQueue.d.ts.map +1 -1
- package/dist/src/webhooks/WebhookQueue.js +4 -11
- package/dist/src/webhooks/WebhookQueue.js.map +1 -1
- package/dist/src/webhooks/WebhookQueue.types.d.ts +149 -0
- package/dist/src/webhooks/WebhookQueue.types.d.ts.map +1 -0
- package/dist/src/webhooks/WebhookQueue.types.js +10 -0
- package/dist/src/webhooks/WebhookQueue.types.js.map +1 -0
- package/dist/src/webhooks/WebhookQueue.utils.d.ts +44 -0
- package/dist/src/webhooks/WebhookQueue.utils.d.ts.map +1 -0
- package/dist/src/webhooks/WebhookQueue.utils.js +58 -0
- package/dist/src/webhooks/WebhookQueue.utils.js.map +1 -0
- package/dist/src/webhooks/webhook-schemas.d.ts +213 -0
- package/dist/src/webhooks/webhook-schemas.d.ts.map +1 -0
- package/dist/src/webhooks/webhook-schemas.js +132 -0
- package/dist/src/webhooks/webhook-schemas.js.map +1 -0
- package/dist/src/webhooks/webhook-types.d.ts +222 -0
- package/dist/src/webhooks/webhook-types.d.ts.map +1 -0
- package/dist/src/webhooks/webhook-types.js +10 -0
- package/dist/src/webhooks/webhook-types.js.map +1 -0
- package/dist/tests/api/utils.test.d.ts +7 -0
- package/dist/tests/api/utils.test.d.ts.map +1 -0
- package/dist/tests/api/utils.test.js +121 -0
- package/dist/tests/api/utils.test.js.map +1 -0
- package/dist/tests/integration/neural/neural-fixtures.d.ts +19 -0
- package/dist/tests/integration/neural/neural-fixtures.d.ts.map +1 -0
- package/dist/tests/integration/neural/neural-fixtures.js +49 -0
- package/dist/tests/integration/neural/neural-fixtures.js.map +1 -0
- package/dist/tests/integration/neural/neural-mocks-privacy.d.ts +78 -0
- package/dist/tests/integration/neural/neural-mocks-privacy.d.ts.map +1 -0
- package/dist/tests/integration/neural/neural-mocks-privacy.js +146 -0
- package/dist/tests/integration/neural/neural-mocks-privacy.js.map +1 -0
- package/dist/tests/integration/neural/neural-mocks.d.ts +90 -0
- package/dist/tests/integration/neural/neural-mocks.d.ts.map +1 -0
- package/dist/tests/integration/neural/neural-mocks.js +288 -0
- package/dist/tests/integration/neural/neural-mocks.js.map +1 -0
- package/dist/tests/integration/neural/neural-test-utils.d.ts +27 -0
- package/dist/tests/integration/neural/neural-test-utils.d.ts.map +1 -0
- package/dist/tests/integration/neural/neural-test-utils.js +35 -0
- package/dist/tests/integration/neural/neural-test-utils.js.map +1 -0
- package/dist/tests/integration/neural/setup.d.ts +6 -165
- package/dist/tests/integration/neural/setup.d.ts.map +1 -1
- package/dist/tests/integration/neural/setup.js +9 -477
- package/dist/tests/integration/neural/setup.js.map +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SMI-1304: Python Framework Detection Rules
|
|
3
|
+
*
|
|
4
|
+
* Framework detection rules for common Python frameworks and libraries.
|
|
5
|
+
* Extracted from python.ts for better modularity.
|
|
6
|
+
*
|
|
7
|
+
* @see docs/architecture/multi-language-analysis.md
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Python framework detection rules
|
|
11
|
+
*
|
|
12
|
+
* Detects common Python frameworks and libraries including:
|
|
13
|
+
* - Web frameworks: Django, FastAPI, Flask
|
|
14
|
+
* - Testing: pytest
|
|
15
|
+
* - Data science: pandas, numpy
|
|
16
|
+
* - Databases: SQLAlchemy
|
|
17
|
+
* - Task queues: Celery
|
|
18
|
+
*/
|
|
19
|
+
export const PYTHON_FRAMEWORK_RULES = [
|
|
20
|
+
{
|
|
21
|
+
name: 'Django',
|
|
22
|
+
depIndicators: ['django', 'Django'],
|
|
23
|
+
importIndicators: ['django', 'django.db', 'django.http', 'django.views', 'django.urls'],
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
name: 'FastAPI',
|
|
27
|
+
depIndicators: ['fastapi'],
|
|
28
|
+
importIndicators: ['fastapi', 'starlette', 'pydantic'],
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
name: 'Flask',
|
|
32
|
+
depIndicators: ['flask', 'Flask'],
|
|
33
|
+
importIndicators: ['flask', 'flask_restful', 'flask_sqlalchemy'],
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
name: 'pytest',
|
|
37
|
+
depIndicators: ['pytest'],
|
|
38
|
+
importIndicators: ['pytest', 'pytest_asyncio', '_pytest'],
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
name: 'pandas',
|
|
42
|
+
depIndicators: ['pandas'],
|
|
43
|
+
importIndicators: ['pandas', 'pd'],
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
name: 'numpy',
|
|
47
|
+
depIndicators: ['numpy'],
|
|
48
|
+
importIndicators: ['numpy', 'np'],
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
name: 'SQLAlchemy',
|
|
52
|
+
depIndicators: ['sqlalchemy', 'SQLAlchemy'],
|
|
53
|
+
importIndicators: ['sqlalchemy', 'sqlalchemy.orm', 'sqlalchemy.ext'],
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
name: 'Celery',
|
|
57
|
+
depIndicators: ['celery'],
|
|
58
|
+
importIndicators: ['celery', 'celery.task'],
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
name: 'Requests',
|
|
62
|
+
depIndicators: ['requests'],
|
|
63
|
+
importIndicators: ['requests'],
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
name: 'aiohttp',
|
|
67
|
+
depIndicators: ['aiohttp'],
|
|
68
|
+
importIndicators: ['aiohttp'],
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
name: 'Scrapy',
|
|
72
|
+
depIndicators: ['scrapy'],
|
|
73
|
+
importIndicators: ['scrapy'],
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
name: 'TensorFlow',
|
|
77
|
+
depIndicators: ['tensorflow', 'tensorflow-gpu'],
|
|
78
|
+
importIndicators: ['tensorflow', 'tf'],
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
name: 'PyTorch',
|
|
82
|
+
depIndicators: ['torch', 'pytorch'],
|
|
83
|
+
importIndicators: ['torch', 'torch.nn', 'torchvision'],
|
|
84
|
+
},
|
|
85
|
+
];
|
|
86
|
+
//# sourceMappingURL=python-frameworks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"python-frameworks.js","sourceRoot":"","sources":["../../../../src/analysis/adapters/python-frameworks.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAoB;IACrD;QACE,IAAI,EAAE,QAAQ;QACd,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;QACnC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,CAAC;KACxF;IACD;QACE,IAAI,EAAE,SAAS;QACf,aAAa,EAAE,CAAC,SAAS,CAAC;QAC1B,gBAAgB,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC;KACvD;IACD;QACE,IAAI,EAAE,OAAO;QACb,aAAa,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;QACjC,gBAAgB,EAAE,CAAC,OAAO,EAAE,eAAe,EAAE,kBAAkB,CAAC;KACjE;IACD;QACE,IAAI,EAAE,QAAQ;QACd,aAAa,EAAE,CAAC,QAAQ,CAAC;QACzB,gBAAgB,EAAE,CAAC,QAAQ,EAAE,gBAAgB,EAAE,SAAS,CAAC;KAC1D;IACD;QACE,IAAI,EAAE,QAAQ;QACd,aAAa,EAAE,CAAC,QAAQ,CAAC;QACzB,gBAAgB,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;KACnC;IACD;QACE,IAAI,EAAE,OAAO;QACb,aAAa,EAAE,CAAC,OAAO,CAAC;QACxB,gBAAgB,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC;KAClC;IACD;QACE,IAAI,EAAE,YAAY;QAClB,aAAa,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;QAC3C,gBAAgB,EAAE,CAAC,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,CAAC;KACrE;IACD;QACE,IAAI,EAAE,QAAQ;QACd,aAAa,EAAE,CAAC,QAAQ,CAAC;QACzB,gBAAgB,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC;KAC5C;IACD;QACE,IAAI,EAAE,UAAU;QAChB,aAAa,EAAE,CAAC,UAAU,CAAC;QAC3B,gBAAgB,EAAE,CAAC,UAAU,CAAC;KAC/B;IACD;QACE,IAAI,EAAE,SAAS;QACf,aAAa,EAAE,CAAC,SAAS,CAAC;QAC1B,gBAAgB,EAAE,CAAC,SAAS,CAAC;KAC9B;IACD;QACE,IAAI,EAAE,QAAQ;QACd,aAAa,EAAE,CAAC,QAAQ,CAAC;QACzB,gBAAgB,EAAE,CAAC,QAAQ,CAAC;KAC7B;IACD;QACE,IAAI,EAAE,YAAY;QAClB,aAAa,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC;QAC/C,gBAAgB,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC;KACvC;IACD;QACE,IAAI,EAAE,SAAS;QACf,aAAa,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;QACnC,gBAAgB,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,aAAa,CAAC;KACvD;CACF,CAAA"}
|
|
@@ -80,13 +80,6 @@ export declare class PythonAdapter extends LanguageAdapter {
|
|
|
80
80
|
/**
|
|
81
81
|
* Get Python framework detection rules
|
|
82
82
|
*
|
|
83
|
-
* Detects common Python frameworks and libraries including:
|
|
84
|
-
* - Web frameworks: Django, FastAPI, Flask
|
|
85
|
-
* - Testing: pytest
|
|
86
|
-
* - Data science: pandas, numpy
|
|
87
|
-
* - Databases: SQLAlchemy
|
|
88
|
-
* - Task queues: Celery
|
|
89
|
-
*
|
|
90
83
|
* @returns Array of framework detection rules
|
|
91
84
|
*/
|
|
92
85
|
getFrameworkRules(): FrameworkRule[];
|
|
@@ -96,69 +89,26 @@ export declare class PythonAdapter extends LanguageAdapter {
|
|
|
96
89
|
dispose(): void;
|
|
97
90
|
/**
|
|
98
91
|
* Parse Python source code using regex patterns
|
|
99
|
-
*
|
|
100
|
-
* @param content - Python source code
|
|
101
|
-
* @param filePath - Path to the file
|
|
102
|
-
* @returns Parsed result
|
|
103
92
|
*/
|
|
104
93
|
private parseWithRegex;
|
|
105
94
|
/**
|
|
106
95
|
* Extract imports from Python source code
|
|
107
|
-
*
|
|
108
|
-
* Handles:
|
|
109
|
-
* - `import module`
|
|
110
|
-
* - `import module as alias`
|
|
111
|
-
* - `from module import name`
|
|
112
|
-
* - `from module import name as alias`
|
|
113
|
-
* - `from module import *`
|
|
114
|
-
* - `from module import (name1, name2)`
|
|
115
|
-
*
|
|
116
|
-
* @param content - Python source code
|
|
117
|
-
* @param filePath - Path to the file
|
|
118
|
-
* @returns Array of import information
|
|
119
96
|
*/
|
|
120
97
|
private extractImports;
|
|
121
98
|
/**
|
|
122
99
|
* Parse comma-separated import names, handling aliases
|
|
123
|
-
*
|
|
124
|
-
* @param namesStr - String containing import names
|
|
125
|
-
* @returns Array of imported names (without aliases)
|
|
126
100
|
*/
|
|
127
101
|
private parseImportNames;
|
|
128
102
|
/**
|
|
129
103
|
* Extract exports from Python source code
|
|
130
|
-
*
|
|
131
|
-
* In Python, exports are determined by:
|
|
132
|
-
* 1. `__all__` list (explicit exports)
|
|
133
|
-
* 2. Top-level class/function definitions (implicit, if not starting with _)
|
|
134
|
-
*
|
|
135
|
-
* @param content - Python source code
|
|
136
|
-
* @param filePath - Path to the file
|
|
137
|
-
* @returns Array of export information
|
|
138
104
|
*/
|
|
139
105
|
private extractExports;
|
|
140
106
|
/**
|
|
141
107
|
* Extract function definitions from Python source code
|
|
142
|
-
*
|
|
143
|
-
* Handles:
|
|
144
|
-
* - Regular functions: `def func():`
|
|
145
|
-
* - Async functions: `async def func():`
|
|
146
|
-
* - Methods (indented functions)
|
|
147
|
-
*
|
|
148
|
-
* @param content - Python source code
|
|
149
|
-
* @param filePath - Path to the file
|
|
150
|
-
* @returns Array of function information
|
|
151
108
|
*/
|
|
152
109
|
private extractFunctions;
|
|
153
110
|
/**
|
|
154
111
|
* Parse Python source code using tree-sitter for more accurate results
|
|
155
|
-
*
|
|
156
|
-
* Tree-sitter provides a full AST which enables more accurate parsing
|
|
157
|
-
* of complex Python constructs.
|
|
158
|
-
*
|
|
159
|
-
* @param content - Python source code
|
|
160
|
-
* @param filePath - Path to the file
|
|
161
|
-
* @returns Parsed result
|
|
162
112
|
*/
|
|
163
113
|
private parseWithTreeSitter;
|
|
164
114
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"python.d.ts","sourceRoot":"","sources":["../../../../src/analysis/adapters/python.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,eAAe,EAAE,KAAK,iBAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,WAAW,CAAA;AACvF,OAAO,KAAK,EAAE,WAAW,EAAwC,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"python.d.ts","sourceRoot":"","sources":["../../../../src/analysis/adapters/python.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,eAAe,EAAE,KAAK,iBAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,WAAW,CAAA;AACvF,OAAO,KAAK,EAAE,WAAW,EAAwC,MAAM,aAAa,CAAA;AAGpF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,aAAc,SAAQ,eAAe;IAChD,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAW;IAC/C,QAAQ,CAAC,UAAU,WAA0B;IAE7C,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,iBAAiB,CAAQ;IACjC,OAAO,CAAC,iBAAiB,CAA6B;IAEtD;;;;;OAKG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAQnB,YAAY;IAkC1B;;;;;;OAMG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW;IAIzD;;;;;;;;OAQG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAc7E;;;;;;;;;;OAUG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,WAAW;IAKzF;;;;OAIG;IACH,iBAAiB,IAAI,aAAa,EAAE;IAIpC;;OAEG;IACH,OAAO,IAAI,IAAI;IAaf;;OAEG;IACH,OAAO,CAAC,cAAc;IAOtB;;OAEG;IACH,OAAO,CAAC,cAAc;IAkFtB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAcxB;;OAEG;IACH,OAAO,CAAC,cAAc;IAkEtB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAuCxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAM5B"}
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
* @see docs/architecture/multi-language-analysis.md
|
|
9
9
|
*/
|
|
10
10
|
import { LanguageAdapter } from './base.js';
|
|
11
|
+
import { PYTHON_FRAMEWORK_RULES } from './python-frameworks.js';
|
|
11
12
|
/**
|
|
12
13
|
* Python adapter using regex-based parsing with optional tree-sitter
|
|
13
14
|
*
|
|
@@ -128,83 +129,10 @@ export class PythonAdapter extends LanguageAdapter {
|
|
|
128
129
|
/**
|
|
129
130
|
* Get Python framework detection rules
|
|
130
131
|
*
|
|
131
|
-
* Detects common Python frameworks and libraries including:
|
|
132
|
-
* - Web frameworks: Django, FastAPI, Flask
|
|
133
|
-
* - Testing: pytest
|
|
134
|
-
* - Data science: pandas, numpy
|
|
135
|
-
* - Databases: SQLAlchemy
|
|
136
|
-
* - Task queues: Celery
|
|
137
|
-
*
|
|
138
132
|
* @returns Array of framework detection rules
|
|
139
133
|
*/
|
|
140
134
|
getFrameworkRules() {
|
|
141
|
-
return
|
|
142
|
-
{
|
|
143
|
-
name: 'Django',
|
|
144
|
-
depIndicators: ['django', 'Django'],
|
|
145
|
-
importIndicators: ['django', 'django.db', 'django.http', 'django.views', 'django.urls'],
|
|
146
|
-
},
|
|
147
|
-
{
|
|
148
|
-
name: 'FastAPI',
|
|
149
|
-
depIndicators: ['fastapi'],
|
|
150
|
-
importIndicators: ['fastapi', 'starlette', 'pydantic'],
|
|
151
|
-
},
|
|
152
|
-
{
|
|
153
|
-
name: 'Flask',
|
|
154
|
-
depIndicators: ['flask', 'Flask'],
|
|
155
|
-
importIndicators: ['flask', 'flask_restful', 'flask_sqlalchemy'],
|
|
156
|
-
},
|
|
157
|
-
{
|
|
158
|
-
name: 'pytest',
|
|
159
|
-
depIndicators: ['pytest'],
|
|
160
|
-
importIndicators: ['pytest', 'pytest_asyncio', '_pytest'],
|
|
161
|
-
},
|
|
162
|
-
{
|
|
163
|
-
name: 'pandas',
|
|
164
|
-
depIndicators: ['pandas'],
|
|
165
|
-
importIndicators: ['pandas', 'pd'],
|
|
166
|
-
},
|
|
167
|
-
{
|
|
168
|
-
name: 'numpy',
|
|
169
|
-
depIndicators: ['numpy'],
|
|
170
|
-
importIndicators: ['numpy', 'np'],
|
|
171
|
-
},
|
|
172
|
-
{
|
|
173
|
-
name: 'SQLAlchemy',
|
|
174
|
-
depIndicators: ['sqlalchemy', 'SQLAlchemy'],
|
|
175
|
-
importIndicators: ['sqlalchemy', 'sqlalchemy.orm', 'sqlalchemy.ext'],
|
|
176
|
-
},
|
|
177
|
-
{
|
|
178
|
-
name: 'Celery',
|
|
179
|
-
depIndicators: ['celery'],
|
|
180
|
-
importIndicators: ['celery', 'celery.task'],
|
|
181
|
-
},
|
|
182
|
-
{
|
|
183
|
-
name: 'Requests',
|
|
184
|
-
depIndicators: ['requests'],
|
|
185
|
-
importIndicators: ['requests'],
|
|
186
|
-
},
|
|
187
|
-
{
|
|
188
|
-
name: 'aiohttp',
|
|
189
|
-
depIndicators: ['aiohttp'],
|
|
190
|
-
importIndicators: ['aiohttp'],
|
|
191
|
-
},
|
|
192
|
-
{
|
|
193
|
-
name: 'Scrapy',
|
|
194
|
-
depIndicators: ['scrapy'],
|
|
195
|
-
importIndicators: ['scrapy'],
|
|
196
|
-
},
|
|
197
|
-
{
|
|
198
|
-
name: 'TensorFlow',
|
|
199
|
-
depIndicators: ['tensorflow', 'tensorflow-gpu'],
|
|
200
|
-
importIndicators: ['tensorflow', 'tf'],
|
|
201
|
-
},
|
|
202
|
-
{
|
|
203
|
-
name: 'PyTorch',
|
|
204
|
-
depIndicators: ['torch', 'pytorch'],
|
|
205
|
-
importIndicators: ['torch', 'torch.nn', 'torchvision'],
|
|
206
|
-
},
|
|
207
|
-
];
|
|
135
|
+
return PYTHON_FRAMEWORK_RULES;
|
|
208
136
|
}
|
|
209
137
|
/**
|
|
210
138
|
* Clean up resources
|
|
@@ -223,10 +151,6 @@ export class PythonAdapter extends LanguageAdapter {
|
|
|
223
151
|
// ============================================================
|
|
224
152
|
/**
|
|
225
153
|
* Parse Python source code using regex patterns
|
|
226
|
-
*
|
|
227
|
-
* @param content - Python source code
|
|
228
|
-
* @param filePath - Path to the file
|
|
229
|
-
* @returns Parsed result
|
|
230
154
|
*/
|
|
231
155
|
parseWithRegex(content, filePath) {
|
|
232
156
|
const imports = this.extractImports(content, filePath);
|
|
@@ -236,18 +160,6 @@ export class PythonAdapter extends LanguageAdapter {
|
|
|
236
160
|
}
|
|
237
161
|
/**
|
|
238
162
|
* Extract imports from Python source code
|
|
239
|
-
*
|
|
240
|
-
* Handles:
|
|
241
|
-
* - `import module`
|
|
242
|
-
* - `import module as alias`
|
|
243
|
-
* - `from module import name`
|
|
244
|
-
* - `from module import name as alias`
|
|
245
|
-
* - `from module import *`
|
|
246
|
-
* - `from module import (name1, name2)`
|
|
247
|
-
*
|
|
248
|
-
* @param content - Python source code
|
|
249
|
-
* @param filePath - Path to the file
|
|
250
|
-
* @returns Array of import information
|
|
251
163
|
*/
|
|
252
164
|
extractImports(content, filePath) {
|
|
253
165
|
const imports = [];
|
|
@@ -323,9 +235,6 @@ export class PythonAdapter extends LanguageAdapter {
|
|
|
323
235
|
}
|
|
324
236
|
/**
|
|
325
237
|
* Parse comma-separated import names, handling aliases
|
|
326
|
-
*
|
|
327
|
-
* @param namesStr - String containing import names
|
|
328
|
-
* @returns Array of imported names (without aliases)
|
|
329
238
|
*/
|
|
330
239
|
parseImportNames(namesStr) {
|
|
331
240
|
return namesStr
|
|
@@ -343,20 +252,12 @@ export class PythonAdapter extends LanguageAdapter {
|
|
|
343
252
|
}
|
|
344
253
|
/**
|
|
345
254
|
* Extract exports from Python source code
|
|
346
|
-
*
|
|
347
|
-
* In Python, exports are determined by:
|
|
348
|
-
* 1. `__all__` list (explicit exports)
|
|
349
|
-
* 2. Top-level class/function definitions (implicit, if not starting with _)
|
|
350
|
-
*
|
|
351
|
-
* @param content - Python source code
|
|
352
|
-
* @param filePath - Path to the file
|
|
353
|
-
* @returns Array of export information
|
|
354
255
|
*/
|
|
355
256
|
extractExports(content, filePath) {
|
|
356
257
|
const exports = [];
|
|
357
258
|
const lines = content.split('\n');
|
|
358
259
|
const explicitExports = new Set();
|
|
359
|
-
// Look for __all__ definition
|
|
260
|
+
// Look for __all__ definition
|
|
360
261
|
const allMatch = content.match(/__all__\s*=\s*\[([^\]]+)\]/);
|
|
361
262
|
if (allMatch) {
|
|
362
263
|
const names = allMatch[1].match(/['"](\w+)['"]/g) || [];
|
|
@@ -382,7 +283,7 @@ export class PythonAdapter extends LanguageAdapter {
|
|
|
382
283
|
const classMatch = line.match(/^class\s+(\w+)/);
|
|
383
284
|
if (classMatch) {
|
|
384
285
|
const name = classMatch[1];
|
|
385
|
-
// Only add if not private
|
|
286
|
+
// Only add if not private and not already in __all__
|
|
386
287
|
if (!name.startsWith('_') && !explicitExports.has(name)) {
|
|
387
288
|
exports.push({
|
|
388
289
|
name,
|
|
@@ -397,7 +298,7 @@ export class PythonAdapter extends LanguageAdapter {
|
|
|
397
298
|
const funcMatch = line.match(/^(?:async\s+)?def\s+(\w+)/);
|
|
398
299
|
if (funcMatch) {
|
|
399
300
|
const name = funcMatch[1];
|
|
400
|
-
// Only add if not private
|
|
301
|
+
// Only add if not private and not already in __all__
|
|
401
302
|
if (!name.startsWith('_') && !explicitExports.has(name)) {
|
|
402
303
|
exports.push({
|
|
403
304
|
name,
|
|
@@ -413,15 +314,6 @@ export class PythonAdapter extends LanguageAdapter {
|
|
|
413
314
|
}
|
|
414
315
|
/**
|
|
415
316
|
* Extract function definitions from Python source code
|
|
416
|
-
*
|
|
417
|
-
* Handles:
|
|
418
|
-
* - Regular functions: `def func():`
|
|
419
|
-
* - Async functions: `async def func():`
|
|
420
|
-
* - Methods (indented functions)
|
|
421
|
-
*
|
|
422
|
-
* @param content - Python source code
|
|
423
|
-
* @param filePath - Path to the file
|
|
424
|
-
* @returns Array of function information
|
|
425
317
|
*/
|
|
426
318
|
extractFunctions(content, filePath) {
|
|
427
319
|
const functions = [];
|
|
@@ -457,13 +349,6 @@ export class PythonAdapter extends LanguageAdapter {
|
|
|
457
349
|
}
|
|
458
350
|
/**
|
|
459
351
|
* Parse Python source code using tree-sitter for more accurate results
|
|
460
|
-
*
|
|
461
|
-
* Tree-sitter provides a full AST which enables more accurate parsing
|
|
462
|
-
* of complex Python constructs.
|
|
463
|
-
*
|
|
464
|
-
* @param content - Python source code
|
|
465
|
-
* @param filePath - Path to the file
|
|
466
|
-
* @returns Parsed result
|
|
467
352
|
*/
|
|
468
353
|
parseWithTreeSitter(content, filePath) {
|
|
469
354
|
// Tree-sitter parsing for more accurate results
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"python.js","sourceRoot":"","sources":["../../../../src/analysis/adapters/python.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"python.js","sourceRoot":"","sources":["../../../../src/analysis/adapters/python.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SMI-1306: Rust Build File Parsers
|
|
3
|
+
*
|
|
4
|
+
* Parses Cargo.toml files to extract dependency information.
|
|
5
|
+
* Extracted from rust.ts for better modularity.
|
|
6
|
+
*
|
|
7
|
+
* @see docs/architecture/multi-language-analysis.md
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Cargo.toml dependency information
|
|
11
|
+
*/
|
|
12
|
+
export interface CargoDependency {
|
|
13
|
+
/** Crate name */
|
|
14
|
+
name: string;
|
|
15
|
+
/** Version specifier */
|
|
16
|
+
version: string;
|
|
17
|
+
/** Whether this is a dev dependency */
|
|
18
|
+
isDev: boolean;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Parse Cargo.toml to extract dependencies
|
|
22
|
+
*
|
|
23
|
+
* @param content - Content of Cargo.toml file
|
|
24
|
+
* @returns Array of dependencies with name, version, and isDev flag
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```typescript
|
|
28
|
+
* const deps = parseCargoToml(cargoTomlContent)
|
|
29
|
+
* console.log(deps) // [{ name: 'serde', version: '1.0', isDev: false }]
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export declare function parseCargoToml(content: string): CargoDependency[];
|
|
33
|
+
//# sourceMappingURL=rust-parsers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rust-parsers.d.ts","sourceRoot":"","sources":["../../../../src/analysis/adapters/rust-parsers.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,wBAAwB;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,uCAAuC;IACvC,KAAK,EAAE,OAAO,CAAA;CACf;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,EAAE,CA+EjE"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SMI-1306: Rust Build File Parsers
|
|
3
|
+
*
|
|
4
|
+
* Parses Cargo.toml files to extract dependency information.
|
|
5
|
+
* Extracted from rust.ts for better modularity.
|
|
6
|
+
*
|
|
7
|
+
* @see docs/architecture/multi-language-analysis.md
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Parse Cargo.toml to extract dependencies
|
|
11
|
+
*
|
|
12
|
+
* @param content - Content of Cargo.toml file
|
|
13
|
+
* @returns Array of dependencies with name, version, and isDev flag
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* const deps = parseCargoToml(cargoTomlContent)
|
|
18
|
+
* console.log(deps) // [{ name: 'serde', version: '1.0', isDev: false }]
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export function parseCargoToml(content) {
|
|
22
|
+
const deps = [];
|
|
23
|
+
const lines = content.split('\n');
|
|
24
|
+
let inDeps = false;
|
|
25
|
+
let inDevDeps = false;
|
|
26
|
+
let inBuildDeps = false;
|
|
27
|
+
for (const line of lines) {
|
|
28
|
+
const trimmed = line.trim();
|
|
29
|
+
// Track which section we're in
|
|
30
|
+
if (trimmed === '[dependencies]') {
|
|
31
|
+
inDeps = true;
|
|
32
|
+
inDevDeps = false;
|
|
33
|
+
inBuildDeps = false;
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
if (trimmed === '[dev-dependencies]') {
|
|
37
|
+
inDeps = false;
|
|
38
|
+
inDevDeps = true;
|
|
39
|
+
inBuildDeps = false;
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
if (trimmed === '[build-dependencies]') {
|
|
43
|
+
inDeps = false;
|
|
44
|
+
inDevDeps = false;
|
|
45
|
+
inBuildDeps = true;
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
// Any other section header exits dependency sections
|
|
49
|
+
if (trimmed.startsWith('[')) {
|
|
50
|
+
inDeps = false;
|
|
51
|
+
inDevDeps = false;
|
|
52
|
+
inBuildDeps = false;
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
// Parse dependencies in relevant sections
|
|
56
|
+
if (inDeps || inDevDeps || inBuildDeps) {
|
|
57
|
+
// Skip empty lines and comments
|
|
58
|
+
if (trimmed === '' || trimmed.startsWith('#')) {
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
// Simple format: name = "version"
|
|
62
|
+
const simpleMatch = trimmed.match(/^([\w-]+)\s*=\s*"([^"]+)"/);
|
|
63
|
+
if (simpleMatch) {
|
|
64
|
+
deps.push({
|
|
65
|
+
name: simpleMatch[1],
|
|
66
|
+
version: simpleMatch[2],
|
|
67
|
+
isDev: inDevDeps,
|
|
68
|
+
});
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
// Table format: name = { version = "1.0", features = [...] }
|
|
72
|
+
const tableMatch = trimmed.match(/^([\w-]+)\s*=\s*\{.*version\s*=\s*"([^"]+)"/);
|
|
73
|
+
if (tableMatch) {
|
|
74
|
+
deps.push({
|
|
75
|
+
name: tableMatch[1],
|
|
76
|
+
version: tableMatch[2],
|
|
77
|
+
isDev: inDevDeps,
|
|
78
|
+
});
|
|
79
|
+
continue;
|
|
80
|
+
}
|
|
81
|
+
// Git/path dependencies without version (we still capture them)
|
|
82
|
+
const gitMatch = trimmed.match(/^([\w-]+)\s*=\s*\{.*(?:git|path)\s*=/);
|
|
83
|
+
if (gitMatch) {
|
|
84
|
+
deps.push({
|
|
85
|
+
name: gitMatch[1],
|
|
86
|
+
version: 'git/path',
|
|
87
|
+
isDev: inDevDeps,
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return deps;
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=rust-parsers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rust-parsers.js","sourceRoot":"","sources":["../../../../src/analysis/adapters/rust-parsers.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAcH;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,MAAM,IAAI,GAAsB,EAAE,CAAA;IAClC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACjC,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,IAAI,SAAS,GAAG,KAAK,CAAA;IACrB,IAAI,WAAW,GAAG,KAAK,CAAA;IAEvB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QAE3B,+BAA+B;QAC/B,IAAI,OAAO,KAAK,gBAAgB,EAAE,CAAC;YACjC,MAAM,GAAG,IAAI,CAAA;YACb,SAAS,GAAG,KAAK,CAAA;YACjB,WAAW,GAAG,KAAK,CAAA;YACnB,SAAQ;QACV,CAAC;QACD,IAAI,OAAO,KAAK,oBAAoB,EAAE,CAAC;YACrC,MAAM,GAAG,KAAK,CAAA;YACd,SAAS,GAAG,IAAI,CAAA;YAChB,WAAW,GAAG,KAAK,CAAA;YACnB,SAAQ;QACV,CAAC;QACD,IAAI,OAAO,KAAK,sBAAsB,EAAE,CAAC;YACvC,MAAM,GAAG,KAAK,CAAA;YACd,SAAS,GAAG,KAAK,CAAA;YACjB,WAAW,GAAG,IAAI,CAAA;YAClB,SAAQ;QACV,CAAC;QACD,qDAAqD;QACrD,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,GAAG,KAAK,CAAA;YACd,SAAS,GAAG,KAAK,CAAA;YACjB,WAAW,GAAG,KAAK,CAAA;YACnB,SAAQ;QACV,CAAC;QAED,0CAA0C;QAC1C,IAAI,MAAM,IAAI,SAAS,IAAI,WAAW,EAAE,CAAC;YACvC,gCAAgC;YAChC,IAAI,OAAO,KAAK,EAAE,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9C,SAAQ;YACV,CAAC;YAED,kCAAkC;YAClC,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAA;YAC9D,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;oBACpB,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;oBACvB,KAAK,EAAE,SAAS;iBACjB,CAAC,CAAA;gBACF,SAAQ;YACV,CAAC;YAED,6DAA6D;YAC7D,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAA;YAC/E,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;oBACnB,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;oBACtB,KAAK,EAAE,SAAS;iBACjB,CAAC,CAAA;gBACF,SAAQ;YACV,CAAC;YAED,gEAAgE;YAChE,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAA;YACtE,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;oBACjB,OAAO,EAAE,UAAU;oBACnB,KAAK,EAAE,SAAS;iBACjB,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC"}
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import { LanguageAdapter, type SupportedLanguage } from './base.js';
|
|
11
11
|
import type { ParseResult, ExportInfo, FunctionInfo, FrameworkRule } from './base.js';
|
|
12
|
+
export { parseCargoToml, type CargoDependency } from './rust-parsers.js';
|
|
12
13
|
/**
|
|
13
14
|
* Extended ExportInfo for Rust with visibility support
|
|
14
15
|
*/
|
|
@@ -25,17 +26,6 @@ export interface RustFunctionInfo extends FunctionInfo {
|
|
|
25
26
|
/** Rust attributes (e.g., #[derive], #[test]) */
|
|
26
27
|
attributes?: string[];
|
|
27
28
|
}
|
|
28
|
-
/**
|
|
29
|
-
* Cargo.toml dependency information
|
|
30
|
-
*/
|
|
31
|
-
export interface CargoDependency {
|
|
32
|
-
/** Crate name */
|
|
33
|
-
name: string;
|
|
34
|
-
/** Version specifier */
|
|
35
|
-
version: string;
|
|
36
|
-
/** Whether this is a dev dependency */
|
|
37
|
-
isDev: boolean;
|
|
38
|
-
}
|
|
39
29
|
/**
|
|
40
30
|
* Rust Language Adapter
|
|
41
31
|
*
|
|
@@ -70,47 +60,15 @@ export declare class RustAdapter extends LanguageAdapter {
|
|
|
70
60
|
dispose(): void;
|
|
71
61
|
/**
|
|
72
62
|
* Extract use statements from Rust source
|
|
73
|
-
*
|
|
74
|
-
* Handles:
|
|
75
|
-
* - use crate::module::item;
|
|
76
|
-
* - use std::collections::HashMap;
|
|
77
|
-
* - use super::parent;
|
|
78
|
-
* - use self::child;
|
|
79
|
-
* - use std::{io, fs};
|
|
80
|
-
* - use module::*;
|
|
81
|
-
* - extern crate foo;
|
|
82
63
|
*/
|
|
83
64
|
private extractImports;
|
|
84
65
|
/**
|
|
85
66
|
* Extract exports (pub items) from Rust source
|
|
86
|
-
*
|
|
87
|
-
* In Rust, items prefixed with `pub` are public.
|
|
88
|
-
* Handles visibility modifiers: pub, pub(crate), pub(super), pub(in path)
|
|
89
67
|
*/
|
|
90
68
|
private extractExports;
|
|
91
69
|
/**
|
|
92
70
|
* Extract function definitions from Rust source
|
|
93
|
-
*
|
|
94
|
-
* Handles:
|
|
95
|
-
* - fn name(params)
|
|
96
|
-
* - pub fn name(params)
|
|
97
|
-
* - async fn name(params)
|
|
98
|
-
* - pub async fn name(params)
|
|
99
|
-
* - Functions with generics: fn name<T>(params)
|
|
100
71
|
*/
|
|
101
72
|
private extractFunctions;
|
|
102
73
|
}
|
|
103
|
-
/**
|
|
104
|
-
* Parse Cargo.toml to extract dependencies
|
|
105
|
-
*
|
|
106
|
-
* @param content - Content of Cargo.toml file
|
|
107
|
-
* @returns Array of dependencies with name, version, and isDev flag
|
|
108
|
-
*
|
|
109
|
-
* @example
|
|
110
|
-
* ```typescript
|
|
111
|
-
* const deps = parseCargoToml(cargoTomlContent)
|
|
112
|
-
* console.log(deps) // [{ name: 'serde', version: '1.0', isDev: false }]
|
|
113
|
-
* ```
|
|
114
|
-
*/
|
|
115
|
-
export declare function parseCargoToml(content: string): CargoDependency[];
|
|
116
74
|
//# sourceMappingURL=rust.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rust.d.ts","sourceRoot":"","sources":["../../../../src/analysis/adapters/rust.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,eAAe,EAAE,KAAK,iBAAiB,EAAE,MAAM,WAAW,CAAA;AACnE,OAAO,KAAK,EAAE,WAAW,EAAc,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"rust.d.ts","sourceRoot":"","sources":["../../../../src/analysis/adapters/rust.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,eAAe,EAAE,KAAK,iBAAiB,EAAE,MAAM,WAAW,CAAA;AACnE,OAAO,KAAK,EAAE,WAAW,EAAc,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAGjG,OAAO,EAAE,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAExE;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,oCAAoC;IACpC,UAAU,EAAE,QAAQ,GAAG,SAAS,CAAA;IAChC,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,YAAY;IACpD,iDAAiD;IACjD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CACtB;AAyED;;;;;;;;;;;;GAYG;AACH,qBAAa,WAAY,SAAQ,eAAe;IAC9C,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAS;IAC7C,QAAQ,CAAC,UAAU,WAAU;IAE7B;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW;IAOzD;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,WAAW;IAMzF;;OAEG;IACH,iBAAiB,IAAI,aAAa,EAAE;IAIpC;;OAEG;IACH,OAAO,IAAI,IAAI;IAIf;;OAEG;IACH,OAAO,CAAC,cAAc;IAoFtB;;OAEG;IACH,OAAO,CAAC,cAAc;IAmHtB;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAoEzB"}
|