cotx-engine 0.1.0
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/LICENSE +94 -0
- package/README.md +103 -0
- package/dist/commands/compile.d.ts +3 -0
- package/dist/commands/compile.js +93 -0
- package/dist/commands/compile.js.map +1 -0
- package/dist/commands/context.d.ts +1 -0
- package/dist/commands/context.js +98 -0
- package/dist/commands/context.js.map +1 -0
- package/dist/commands/diff.d.ts +19 -0
- package/dist/commands/diff.js +127 -0
- package/dist/commands/diff.js.map +1 -0
- package/dist/commands/impact.d.ts +3 -0
- package/dist/commands/impact.js +91 -0
- package/dist/commands/impact.js.map +1 -0
- package/dist/commands/init.d.ts +1 -0
- package/dist/commands/init.js +13 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/lint.d.ts +13 -0
- package/dist/commands/lint.js +290 -0
- package/dist/commands/lint.js.map +1 -0
- package/dist/commands/map.d.ts +6 -0
- package/dist/commands/map.js +409 -0
- package/dist/commands/map.js.map +1 -0
- package/dist/commands/migrate.d.ts +16 -0
- package/dist/commands/migrate.js +150 -0
- package/dist/commands/migrate.js.map +1 -0
- package/dist/commands/query.d.ts +3 -0
- package/dist/commands/query.js +47 -0
- package/dist/commands/query.js.map +1 -0
- package/dist/commands/rename.d.ts +5 -0
- package/dist/commands/rename.js +163 -0
- package/dist/commands/rename.js.map +1 -0
- package/dist/commands/snapshot.d.ts +6 -0
- package/dist/commands/snapshot.js +48 -0
- package/dist/commands/snapshot.js.map +1 -0
- package/dist/commands/status.d.ts +1 -0
- package/dist/commands/status.js +72 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/update.d.ts +8 -0
- package/dist/commands/update.js +163 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/commands/write.d.ts +6 -0
- package/dist/commands/write.js +221 -0
- package/dist/commands/write.js.map +1 -0
- package/dist/compiler/auto-describe.d.ts +13 -0
- package/dist/compiler/auto-describe.js +91 -0
- package/dist/compiler/auto-describe.js.map +1 -0
- package/dist/compiler/concept-compiler.d.ts +21 -0
- package/dist/compiler/concept-compiler.js +125 -0
- package/dist/compiler/concept-compiler.js.map +1 -0
- package/dist/compiler/contract-compiler.d.ts +16 -0
- package/dist/compiler/contract-compiler.js +90 -0
- package/dist/compiler/contract-compiler.js.map +1 -0
- package/dist/compiler/delta-detector.d.ts +8 -0
- package/dist/compiler/delta-detector.js +34 -0
- package/dist/compiler/delta-detector.js.map +1 -0
- package/dist/compiler/flow-compiler.d.ts +18 -0
- package/dist/compiler/flow-compiler.js +69 -0
- package/dist/compiler/flow-compiler.js.map +1 -0
- package/dist/compiler/module-compiler.d.ts +18 -0
- package/dist/compiler/module-compiler.js +420 -0
- package/dist/compiler/module-compiler.js.map +1 -0
- package/dist/compiler/stale-detector.d.ts +22 -0
- package/dist/compiler/stale-detector.js +79 -0
- package/dist/compiler/stale-detector.js.map +1 -0
- package/dist/config/ignore-service.d.ts +26 -0
- package/dist/config/ignore-service.js +366 -0
- package/dist/config/ignore-service.js.map +1 -0
- package/dist/core/analysis/cluster-enricher.d.ts +38 -0
- package/dist/core/analysis/cluster-enricher.js +169 -0
- package/dist/core/analysis/cluster-enricher.js.map +1 -0
- package/dist/core/analysis/community-processor.d.ts +39 -0
- package/dist/core/analysis/community-processor.js +319 -0
- package/dist/core/analysis/community-processor.js.map +1 -0
- package/dist/core/analysis/process-processor.d.ts +51 -0
- package/dist/core/analysis/process-processor.js +318 -0
- package/dist/core/analysis/process-processor.js.map +1 -0
- package/dist/core/bridge.d.ts +15 -0
- package/dist/core/bridge.js +63 -0
- package/dist/core/bridge.js.map +1 -0
- package/dist/core/export/json-exporter.d.ts +43 -0
- package/dist/core/export/json-exporter.js +13 -0
- package/dist/core/export/json-exporter.js.map +1 -0
- package/dist/core/graph/graph.d.ts +2 -0
- package/dist/core/graph/graph.js +79 -0
- package/dist/core/graph/graph.js.map +1 -0
- package/dist/core/graph/types.d.ts +25 -0
- package/dist/core/graph/types.js +2 -0
- package/dist/core/graph/types.js.map +1 -0
- package/dist/core/parser/ast-cache.d.ts +11 -0
- package/dist/core/parser/ast-cache.js +36 -0
- package/dist/core/parser/ast-cache.js.map +1 -0
- package/dist/core/parser/call-processor.d.ts +105 -0
- package/dist/core/parser/call-processor.js +1807 -0
- package/dist/core/parser/call-processor.js.map +1 -0
- package/dist/core/parser/call-routing.d.ts +55 -0
- package/dist/core/parser/call-routing.js +113 -0
- package/dist/core/parser/call-routing.js.map +1 -0
- package/dist/core/parser/call-sites/extract-language-call-site.d.ts +10 -0
- package/dist/core/parser/call-sites/extract-language-call-site.js +23 -0
- package/dist/core/parser/call-sites/extract-language-call-site.js.map +1 -0
- package/dist/core/parser/call-sites/java.d.ts +9 -0
- package/dist/core/parser/call-sites/java.js +31 -0
- package/dist/core/parser/call-sites/java.js.map +1 -0
- package/dist/core/parser/cluster-enricher.d.ts +38 -0
- package/dist/core/parser/cluster-enricher.js +169 -0
- package/dist/core/parser/cluster-enricher.js.map +1 -0
- package/dist/core/parser/community-processor.d.ts +39 -0
- package/dist/core/parser/community-processor.js +321 -0
- package/dist/core/parser/community-processor.js.map +1 -0
- package/dist/core/parser/constants.d.ts +16 -0
- package/dist/core/parser/constants.js +17 -0
- package/dist/core/parser/constants.js.map +1 -0
- package/dist/core/parser/entry-point-scoring.d.ts +57 -0
- package/dist/core/parser/entry-point-scoring.js +377 -0
- package/dist/core/parser/entry-point-scoring.js.map +1 -0
- package/dist/core/parser/export-detection.d.ts +57 -0
- package/dist/core/parser/export-detection.js +234 -0
- package/dist/core/parser/export-detection.js.map +1 -0
- package/dist/core/parser/field-extractor.d.ts +34 -0
- package/dist/core/parser/field-extractor.js +33 -0
- package/dist/core/parser/field-extractor.js.map +1 -0
- package/dist/core/parser/field-extractors/configs/c-cpp.d.ts +16 -0
- package/dist/core/parser/field-extractors/configs/c-cpp.js +129 -0
- package/dist/core/parser/field-extractors/configs/c-cpp.js.map +1 -0
- package/dist/core/parser/field-extractors/configs/csharp.d.ts +15 -0
- package/dist/core/parser/field-extractors/configs/csharp.js +129 -0
- package/dist/core/parser/field-extractors/configs/csharp.js.map +1 -0
- package/dist/core/parser/field-extractors/configs/dart.d.ts +12 -0
- package/dist/core/parser/field-extractors/configs/dart.js +93 -0
- package/dist/core/parser/field-extractors/configs/dart.js.map +1 -0
- package/dist/core/parser/field-extractors/configs/go.d.ts +12 -0
- package/dist/core/parser/field-extractors/configs/go.js +66 -0
- package/dist/core/parser/field-extractors/configs/go.js.map +1 -0
- package/dist/core/parser/field-extractors/configs/helpers.d.ts +40 -0
- package/dist/core/parser/field-extractors/configs/helpers.js +118 -0
- package/dist/core/parser/field-extractors/configs/helpers.js.map +1 -0
- package/dist/core/parser/field-extractors/configs/jvm.d.ts +17 -0
- package/dist/core/parser/field-extractors/configs/jvm.js +139 -0
- package/dist/core/parser/field-extractors/configs/jvm.js.map +1 -0
- package/dist/core/parser/field-extractors/configs/php.d.ts +12 -0
- package/dist/core/parser/field-extractors/configs/php.js +69 -0
- package/dist/core/parser/field-extractors/configs/php.js.map +1 -0
- package/dist/core/parser/field-extractors/configs/python.d.ts +15 -0
- package/dist/core/parser/field-extractors/configs/python.js +92 -0
- package/dist/core/parser/field-extractors/configs/python.js.map +1 -0
- package/dist/core/parser/field-extractors/configs/ruby.d.ts +15 -0
- package/dist/core/parser/field-extractors/configs/ruby.js +68 -0
- package/dist/core/parser/field-extractors/configs/ruby.js.map +1 -0
- package/dist/core/parser/field-extractors/configs/rust.d.ts +12 -0
- package/dist/core/parser/field-extractors/configs/rust.js +58 -0
- package/dist/core/parser/field-extractors/configs/rust.js.map +1 -0
- package/dist/core/parser/field-extractors/configs/swift.d.ts +15 -0
- package/dist/core/parser/field-extractors/configs/swift.js +75 -0
- package/dist/core/parser/field-extractors/configs/swift.js.map +1 -0
- package/dist/core/parser/field-extractors/configs/typescript-javascript.d.ts +14 -0
- package/dist/core/parser/field-extractors/configs/typescript-javascript.js +72 -0
- package/dist/core/parser/field-extractors/configs/typescript-javascript.js.map +1 -0
- package/dist/core/parser/field-extractors/generic.d.ts +61 -0
- package/dist/core/parser/field-extractors/generic.js +170 -0
- package/dist/core/parser/field-extractors/generic.js.map +1 -0
- package/dist/core/parser/field-extractors/typescript.d.ts +16 -0
- package/dist/core/parser/field-extractors/typescript.js +167 -0
- package/dist/core/parser/field-extractors/typescript.js.map +1 -0
- package/dist/core/parser/field-types.d.ts +46 -0
- package/dist/core/parser/field-types.js +2 -0
- package/dist/core/parser/field-types.js.map +1 -0
- package/dist/core/parser/filesystem-walker.d.ts +28 -0
- package/dist/core/parser/filesystem-walker.js +82 -0
- package/dist/core/parser/filesystem-walker.js.map +1 -0
- package/dist/core/parser/framework-detection.d.ts +149 -0
- package/dist/core/parser/framework-detection.js +782 -0
- package/dist/core/parser/framework-detection.js.map +1 -0
- package/dist/core/parser/heritage-processor.d.ts +52 -0
- package/dist/core/parser/heritage-processor.js +339 -0
- package/dist/core/parser/heritage-processor.js.map +1 -0
- package/dist/core/parser/import-processor.d.ts +33 -0
- package/dist/core/parser/import-processor.js +382 -0
- package/dist/core/parser/import-processor.js.map +1 -0
- package/dist/core/parser/import-resolvers/csharp.d.ts +19 -0
- package/dist/core/parser/import-resolvers/csharp.js +132 -0
- package/dist/core/parser/import-resolvers/csharp.js.map +1 -0
- package/dist/core/parser/import-resolvers/dart.d.ts +7 -0
- package/dist/core/parser/import-resolvers/dart.js +45 -0
- package/dist/core/parser/import-resolvers/dart.js.map +1 -0
- package/dist/core/parser/import-resolvers/go.d.ts +18 -0
- package/dist/core/parser/import-resolvers/go.js +62 -0
- package/dist/core/parser/import-resolvers/go.js.map +1 -0
- package/dist/core/parser/import-resolvers/jvm.d.ts +32 -0
- package/dist/core/parser/import-resolvers/jvm.js +160 -0
- package/dist/core/parser/import-resolvers/jvm.js.map +1 -0
- package/dist/core/parser/import-resolvers/php.d.ts +25 -0
- package/dist/core/parser/import-resolvers/php.js +81 -0
- package/dist/core/parser/import-resolvers/php.js.map +1 -0
- package/dist/core/parser/import-resolvers/python.d.ts +25 -0
- package/dist/core/parser/import-resolvers/python.js +85 -0
- package/dist/core/parser/import-resolvers/python.js.map +1 -0
- package/dist/core/parser/import-resolvers/ruby.d.ts +15 -0
- package/dist/core/parser/import-resolvers/ruby.js +21 -0
- package/dist/core/parser/import-resolvers/ruby.js.map +1 -0
- package/dist/core/parser/import-resolvers/rust.d.ts +18 -0
- package/dist/core/parser/import-resolvers/rust.js +119 -0
- package/dist/core/parser/import-resolvers/rust.js.map +1 -0
- package/dist/core/parser/import-resolvers/standard.d.ts +36 -0
- package/dist/core/parser/import-resolvers/standard.js +144 -0
- package/dist/core/parser/import-resolvers/standard.js.map +1 -0
- package/dist/core/parser/import-resolvers/swift.d.ts +7 -0
- package/dist/core/parser/import-resolvers/swift.js +25 -0
- package/dist/core/parser/import-resolvers/swift.js.map +1 -0
- package/dist/core/parser/import-resolvers/types.d.ts +44 -0
- package/dist/core/parser/import-resolvers/types.js +7 -0
- package/dist/core/parser/import-resolvers/types.js.map +1 -0
- package/dist/core/parser/import-resolvers/utils.d.ts +35 -0
- package/dist/core/parser/import-resolvers/utils.js +150 -0
- package/dist/core/parser/import-resolvers/utils.js.map +1 -0
- package/dist/core/parser/import-resolvers/vue.d.ts +8 -0
- package/dist/core/parser/import-resolvers/vue.js +10 -0
- package/dist/core/parser/import-resolvers/vue.js.map +1 -0
- package/dist/core/parser/language-config.d.ts +52 -0
- package/dist/core/parser/language-config.js +182 -0
- package/dist/core/parser/language-config.js.map +1 -0
- package/dist/core/parser/language-provider.d.ts +126 -0
- package/dist/core/parser/language-provider.js +25 -0
- package/dist/core/parser/language-provider.js.map +1 -0
- package/dist/core/parser/languages/c-cpp.d.ts +12 -0
- package/dist/core/parser/languages/c-cpp.js +312 -0
- package/dist/core/parser/languages/c-cpp.js.map +1 -0
- package/dist/core/parser/languages/csharp.d.ts +8 -0
- package/dist/core/parser/languages/csharp.js +127 -0
- package/dist/core/parser/languages/csharp.js.map +1 -0
- package/dist/core/parser/languages/dart.d.ts +12 -0
- package/dist/core/parser/languages/dart.js +91 -0
- package/dist/core/parser/languages/dart.js.map +1 -0
- package/dist/core/parser/languages/go.d.ts +11 -0
- package/dist/core/parser/languages/go.js +32 -0
- package/dist/core/parser/languages/go.js.map +1 -0
- package/dist/core/parser/languages/index.d.ts +38 -0
- package/dist/core/parser/languages/index.js +63 -0
- package/dist/core/parser/languages/index.js.map +1 -0
- package/dist/core/parser/languages/java.d.ts +9 -0
- package/dist/core/parser/languages/java.js +33 -0
- package/dist/core/parser/languages/java.js.map +1 -0
- package/dist/core/parser/languages/kotlin.d.ts +9 -0
- package/dist/core/parser/languages/kotlin.js +112 -0
- package/dist/core/parser/languages/kotlin.js.map +1 -0
- package/dist/core/parser/languages/php.d.ts +8 -0
- package/dist/core/parser/languages/php.js +226 -0
- package/dist/core/parser/languages/php.js.map +1 -0
- package/dist/core/parser/languages/python.d.ts +12 -0
- package/dist/core/parser/languages/python.js +66 -0
- package/dist/core/parser/languages/python.js.map +1 -0
- package/dist/core/parser/languages/ruby.d.ts +9 -0
- package/dist/core/parser/languages/ruby.js +109 -0
- package/dist/core/parser/languages/ruby.js.map +1 -0
- package/dist/core/parser/languages/rust.d.ts +12 -0
- package/dist/core/parser/languages/rust.js +121 -0
- package/dist/core/parser/languages/rust.js.map +1 -0
- package/dist/core/parser/languages/swift.d.ts +12 -0
- package/dist/core/parser/languages/swift.js +233 -0
- package/dist/core/parser/languages/swift.js.map +1 -0
- package/dist/core/parser/languages/typescript.d.ts +11 -0
- package/dist/core/parser/languages/typescript.js +169 -0
- package/dist/core/parser/languages/typescript.js.map +1 -0
- package/dist/core/parser/languages/vue.d.ts +13 -0
- package/dist/core/parser/languages/vue.js +65 -0
- package/dist/core/parser/languages/vue.js.map +1 -0
- package/dist/core/parser/markdown-processor.d.ts +17 -0
- package/dist/core/parser/markdown-processor.js +125 -0
- package/dist/core/parser/markdown-processor.js.map +1 -0
- package/dist/core/parser/method-extractors/configs/c-cpp.d.ts +3 -0
- package/dist/core/parser/method-extractors/configs/c-cpp.js +276 -0
- package/dist/core/parser/method-extractors/configs/c-cpp.js.map +1 -0
- package/dist/core/parser/method-extractors/configs/csharp.d.ts +2 -0
- package/dist/core/parser/method-extractors/configs/csharp.js +243 -0
- package/dist/core/parser/method-extractors/configs/csharp.js.map +1 -0
- package/dist/core/parser/method-extractors/configs/dart.d.ts +2 -0
- package/dist/core/parser/method-extractors/configs/dart.js +263 -0
- package/dist/core/parser/method-extractors/configs/dart.js.map +1 -0
- package/dist/core/parser/method-extractors/configs/go.d.ts +2 -0
- package/dist/core/parser/method-extractors/configs/go.js +120 -0
- package/dist/core/parser/method-extractors/configs/go.js.map +1 -0
- package/dist/core/parser/method-extractors/configs/jvm.d.ts +3 -0
- package/dist/core/parser/method-extractors/configs/jvm.js +309 -0
- package/dist/core/parser/method-extractors/configs/jvm.js.map +1 -0
- package/dist/core/parser/method-extractors/configs/php.d.ts +2 -0
- package/dist/core/parser/method-extractors/configs/php.js +243 -0
- package/dist/core/parser/method-extractors/configs/php.js.map +1 -0
- package/dist/core/parser/method-extractors/configs/python.d.ts +2 -0
- package/dist/core/parser/method-extractors/configs/python.js +219 -0
- package/dist/core/parser/method-extractors/configs/python.js.map +1 -0
- package/dist/core/parser/method-extractors/configs/ruby.d.ts +2 -0
- package/dist/core/parser/method-extractors/configs/ruby.js +201 -0
- package/dist/core/parser/method-extractors/configs/ruby.js.map +1 -0
- package/dist/core/parser/method-extractors/configs/rust.d.ts +2 -0
- package/dist/core/parser/method-extractors/configs/rust.js +120 -0
- package/dist/core/parser/method-extractors/configs/rust.js.map +1 -0
- package/dist/core/parser/method-extractors/configs/swift.d.ts +2 -0
- package/dist/core/parser/method-extractors/configs/swift.js +191 -0
- package/dist/core/parser/method-extractors/configs/swift.js.map +1 -0
- package/dist/core/parser/method-extractors/configs/typescript-javascript.d.ts +3 -0
- package/dist/core/parser/method-extractors/configs/typescript-javascript.js +231 -0
- package/dist/core/parser/method-extractors/configs/typescript-javascript.js.map +1 -0
- package/dist/core/parser/method-extractors/generic.d.ts +11 -0
- package/dist/core/parser/method-extractors/generic.js +162 -0
- package/dist/core/parser/method-extractors/generic.js.map +1 -0
- package/dist/core/parser/method-types.d.ts +110 -0
- package/dist/core/parser/method-types.js +2 -0
- package/dist/core/parser/method-types.js.map +1 -0
- package/dist/core/parser/mro-processor.d.ts +46 -0
- package/dist/core/parser/mro-processor.js +677 -0
- package/dist/core/parser/mro-processor.js.map +1 -0
- package/dist/core/parser/named-binding-processor.d.ts +18 -0
- package/dist/core/parser/named-binding-processor.js +43 -0
- package/dist/core/parser/named-binding-processor.js.map +1 -0
- package/dist/core/parser/named-bindings/csharp.d.ts +3 -0
- package/dist/core/parser/named-bindings/csharp.js +38 -0
- package/dist/core/parser/named-bindings/csharp.js.map +1 -0
- package/dist/core/parser/named-bindings/java.d.ts +3 -0
- package/dist/core/parser/named-bindings/java.js +30 -0
- package/dist/core/parser/named-bindings/java.js.map +1 -0
- package/dist/core/parser/named-bindings/kotlin.d.ts +3 -0
- package/dist/core/parser/named-bindings/kotlin.js +37 -0
- package/dist/core/parser/named-bindings/kotlin.js.map +1 -0
- package/dist/core/parser/named-bindings/php.d.ts +3 -0
- package/dist/core/parser/named-bindings/php.js +62 -0
- package/dist/core/parser/named-bindings/php.js.map +1 -0
- package/dist/core/parser/named-bindings/python.d.ts +3 -0
- package/dist/core/parser/named-bindings/python.js +50 -0
- package/dist/core/parser/named-bindings/python.js.map +1 -0
- package/dist/core/parser/named-bindings/rust.d.ts +3 -0
- package/dist/core/parser/named-bindings/rust.js +67 -0
- package/dist/core/parser/named-bindings/rust.js.map +1 -0
- package/dist/core/parser/named-bindings/types.d.ts +16 -0
- package/dist/core/parser/named-bindings/types.js +7 -0
- package/dist/core/parser/named-bindings/types.js.map +1 -0
- package/dist/core/parser/named-bindings/typescript.d.ts +3 -0
- package/dist/core/parser/named-bindings/typescript.js +59 -0
- package/dist/core/parser/named-bindings/typescript.js.map +1 -0
- package/dist/core/parser/parsing-processor.d.ts +23 -0
- package/dist/core/parser/parsing-processor.js +464 -0
- package/dist/core/parser/parsing-processor.js.map +1 -0
- package/dist/core/parser/pipeline.d.ts +17 -0
- package/dist/core/parser/pipeline.js +1405 -0
- package/dist/core/parser/pipeline.js.map +1 -0
- package/dist/core/parser/process-processor.d.ts +51 -0
- package/dist/core/parser/process-processor.js +318 -0
- package/dist/core/parser/process-processor.js.map +1 -0
- package/dist/core/parser/resolution-context.d.ts +58 -0
- package/dist/core/parser/resolution-context.js +136 -0
- package/dist/core/parser/resolution-context.js.map +1 -0
- package/dist/core/parser/route-extractors/expo.d.ts +1 -0
- package/dist/core/parser/route-extractors/expo.js +37 -0
- package/dist/core/parser/route-extractors/expo.js.map +1 -0
- package/dist/core/parser/route-extractors/middleware.d.ts +47 -0
- package/dist/core/parser/route-extractors/middleware.js +168 -0
- package/dist/core/parser/route-extractors/middleware.js.map +1 -0
- package/dist/core/parser/route-extractors/nextjs.d.ts +3 -0
- package/dist/core/parser/route-extractors/nextjs.js +77 -0
- package/dist/core/parser/route-extractors/nextjs.js.map +1 -0
- package/dist/core/parser/route-extractors/php.d.ts +7 -0
- package/dist/core/parser/route-extractors/php.js +23 -0
- package/dist/core/parser/route-extractors/php.js.map +1 -0
- package/dist/core/parser/route-extractors/response-shapes.d.ts +20 -0
- package/dist/core/parser/route-extractors/response-shapes.js +295 -0
- package/dist/core/parser/route-extractors/response-shapes.js.map +1 -0
- package/dist/core/parser/structure-processor.d.ts +2 -0
- package/dist/core/parser/structure-processor.js +37 -0
- package/dist/core/parser/structure-processor.js.map +1 -0
- package/dist/core/parser/symbol-table.d.ts +79 -0
- package/dist/core/parser/symbol-table.js +116 -0
- package/dist/core/parser/symbol-table.js.map +1 -0
- package/dist/core/parser/tree-sitter-queries.d.ts +16 -0
- package/dist/core/parser/tree-sitter-queries.js +1180 -0
- package/dist/core/parser/tree-sitter-queries.js.map +1 -0
- package/dist/core/parser/type-env.d.ts +81 -0
- package/dist/core/parser/type-env.js +1048 -0
- package/dist/core/parser/type-env.js.map +1 -0
- package/dist/core/parser/type-extractors/c-cpp.d.ts +7 -0
- package/dist/core/parser/type-extractors/c-cpp.js +533 -0
- package/dist/core/parser/type-extractors/c-cpp.js.map +1 -0
- package/dist/core/parser/type-extractors/csharp.d.ts +2 -0
- package/dist/core/parser/type-extractors/csharp.js +584 -0
- package/dist/core/parser/type-extractors/csharp.js.map +1 -0
- package/dist/core/parser/type-extractors/dart.d.ts +15 -0
- package/dist/core/parser/type-extractors/dart.js +370 -0
- package/dist/core/parser/type-extractors/dart.js.map +1 -0
- package/dist/core/parser/type-extractors/go.d.ts +2 -0
- package/dist/core/parser/type-extractors/go.js +514 -0
- package/dist/core/parser/type-extractors/go.js.map +1 -0
- package/dist/core/parser/type-extractors/jvm.d.ts +3 -0
- package/dist/core/parser/type-extractors/jvm.js +857 -0
- package/dist/core/parser/type-extractors/jvm.js.map +1 -0
- package/dist/core/parser/type-extractors/php.d.ts +2 -0
- package/dist/core/parser/type-extractors/php.js +535 -0
- package/dist/core/parser/type-extractors/php.js.map +1 -0
- package/dist/core/parser/type-extractors/python.d.ts +2 -0
- package/dist/core/parser/type-extractors/python.js +475 -0
- package/dist/core/parser/type-extractors/python.js.map +1 -0
- package/dist/core/parser/type-extractors/ruby.d.ts +2 -0
- package/dist/core/parser/type-extractors/ruby.js +378 -0
- package/dist/core/parser/type-extractors/ruby.js.map +1 -0
- package/dist/core/parser/type-extractors/rust.d.ts +2 -0
- package/dist/core/parser/type-extractors/rust.js +516 -0
- package/dist/core/parser/type-extractors/rust.js.map +1 -0
- package/dist/core/parser/type-extractors/shared.d.ts +131 -0
- package/dist/core/parser/type-extractors/shared.js +797 -0
- package/dist/core/parser/type-extractors/shared.js.map +1 -0
- package/dist/core/parser/type-extractors/swift.d.ts +2 -0
- package/dist/core/parser/type-extractors/swift.js +485 -0
- package/dist/core/parser/type-extractors/swift.js.map +1 -0
- package/dist/core/parser/type-extractors/types.d.ts +172 -0
- package/dist/core/parser/type-extractors/types.js +2 -0
- package/dist/core/parser/type-extractors/types.js.map +1 -0
- package/dist/core/parser/type-extractors/typescript.d.ts +2 -0
- package/dist/core/parser/type-extractors/typescript.js +662 -0
- package/dist/core/parser/type-extractors/typescript.js.map +1 -0
- package/dist/core/parser/utils/ast-helpers.d.ts +73 -0
- package/dist/core/parser/utils/ast-helpers.js +415 -0
- package/dist/core/parser/utils/ast-helpers.js.map +1 -0
- package/dist/core/parser/utils/call-analysis.d.ts +75 -0
- package/dist/core/parser/utils/call-analysis.js +575 -0
- package/dist/core/parser/utils/call-analysis.js.map +1 -0
- package/dist/core/parser/utils/event-loop.d.ts +5 -0
- package/dist/core/parser/utils/event-loop.js +6 -0
- package/dist/core/parser/utils/event-loop.js.map +1 -0
- package/dist/core/parser/utils/method-props.d.ts +8 -0
- package/dist/core/parser/utils/method-props.js +39 -0
- package/dist/core/parser/utils/method-props.js.map +1 -0
- package/dist/core/parser/utils/verbose.d.ts +1 -0
- package/dist/core/parser/utils/verbose.js +8 -0
- package/dist/core/parser/utils/verbose.js.map +1 -0
- package/dist/core/parser/vue-sfc-extractor.d.ts +44 -0
- package/dist/core/parser/vue-sfc-extractor.js +95 -0
- package/dist/core/parser/vue-sfc-extractor.js.map +1 -0
- package/dist/core/parser/workers/parse-worker.d.ts +171 -0
- package/dist/core/parser/workers/parse-worker.js +1724 -0
- package/dist/core/parser/workers/parse-worker.js.map +1 -0
- package/dist/core/parser/workers/worker-pool.d.ts +16 -0
- package/dist/core/parser/workers/worker-pool.js +124 -0
- package/dist/core/parser/workers/worker-pool.js.map +1 -0
- package/dist/core/shared/graph-types.d.ts +61 -0
- package/dist/core/shared/graph-types.js +5 -0
- package/dist/core/shared/graph-types.js.map +1 -0
- package/dist/core/shared/index.d.ts +4 -0
- package/dist/core/shared/index.js +4 -0
- package/dist/core/shared/index.js.map +1 -0
- package/dist/core/shared/language-detection.d.ts +22 -0
- package/dist/core/shared/language-detection.js +137 -0
- package/dist/core/shared/language-detection.js.map +1 -0
- package/dist/core/shared/languages.d.ts +23 -0
- package/dist/core/shared/languages.js +25 -0
- package/dist/core/shared/languages.js.map +1 -0
- package/dist/core/shared/pipeline.d.ts +15 -0
- package/dist/core/shared/pipeline.js +5 -0
- package/dist/core/shared/pipeline.js.map +1 -0
- package/dist/core/tree-sitter/parser-loader.d.ts +5 -0
- package/dist/core/tree-sitter/parser-loader.js +71 -0
- package/dist/core/tree-sitter/parser-loader.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +132 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/hash.d.ts +1 -0
- package/dist/lib/hash.js +6 -0
- package/dist/lib/hash.js.map +1 -0
- package/dist/lib/naming.d.ts +12 -0
- package/dist/lib/naming.js +28 -0
- package/dist/lib/naming.js.map +1 -0
- package/dist/lib/utils.d.ts +1 -0
- package/dist/lib/utils.js +4 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/mcp/server.d.ts +26 -0
- package/dist/mcp/server.js +282 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/tools.d.ts +37 -0
- package/dist/mcp/tools.js +650 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/query/bm25.d.ts +19 -0
- package/dist/query/bm25.js +60 -0
- package/dist/query/bm25.js.map +1 -0
- package/dist/query/graph-index.d.ts +40 -0
- package/dist/query/graph-index.js +178 -0
- package/dist/query/graph-index.js.map +1 -0
- package/dist/store/derived-index.d.ts +4 -0
- package/dist/store/derived-index.js +68 -0
- package/dist/store/derived-index.js.map +1 -0
- package/dist/store/meta.d.ts +1 -0
- package/dist/store/meta.js +3 -0
- package/dist/store/meta.js.map +1 -0
- package/dist/store/schema.d.ts +135 -0
- package/dist/store/schema.js +2 -0
- package/dist/store/schema.js.map +1 -0
- package/dist/store/store.d.ts +49 -0
- package/dist/store/store.js +254 -0
- package/dist/store/store.js.map +1 -0
- package/dist/types/pipeline.d.ts +12 -0
- package/dist/types/pipeline.js +2 -0
- package/dist/types/pipeline.js.map +1 -0
- package/package.json +69 -0
- package/skills/cotx-enrich/SKILL.md +59 -0
- package/vendor/leiden/index.cjs +355 -0
- package/vendor/leiden/utils.cjs +392 -0
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Field extraction configuration for Dart.
|
|
3
|
+
*
|
|
4
|
+
* Dart fields appear as `declaration` nodes inside `class_body`. The
|
|
5
|
+
* declaration typically nests:
|
|
6
|
+
* declaration > initialized_identifier_list > initialized_identifier > identifier
|
|
7
|
+
*
|
|
8
|
+
* Visibility follows Dart convention: an underscore prefix marks the
|
|
9
|
+
* member as library-private.
|
|
10
|
+
*/
|
|
11
|
+
import { SupportedLanguages } from '../../../shared/index.js';
|
|
12
|
+
import { hasKeyword } from './helpers.js';
|
|
13
|
+
import { extractSimpleTypeName } from '../../type-extractors/shared.js';
|
|
14
|
+
/** AST node types that represent Dart type references. */
|
|
15
|
+
const DART_TYPE_NODES = new Set([
|
|
16
|
+
'type_identifier',
|
|
17
|
+
'generic_type',
|
|
18
|
+
'function_type',
|
|
19
|
+
]);
|
|
20
|
+
/**
|
|
21
|
+
* Walk a declaration node to find the first identifier text representing
|
|
22
|
+
* the field name. Handles both the common initialized_identifier_list
|
|
23
|
+
* wrapper and direct initialized_identifier children.
|
|
24
|
+
*/
|
|
25
|
+
function locateFieldName(decl) {
|
|
26
|
+
for (let idx = 0; idx < decl.namedChildCount; idx++) {
|
|
27
|
+
const kid = decl.namedChild(idx);
|
|
28
|
+
// initialized_identifier_list > initialized_identifier > identifier
|
|
29
|
+
if (kid?.type === 'initialized_identifier_list') {
|
|
30
|
+
for (let j = 0; j < kid.namedChildCount; j++) {
|
|
31
|
+
const init = kid.namedChild(j);
|
|
32
|
+
if (init?.type === 'initialized_identifier') {
|
|
33
|
+
const ident = init.firstNamedChild;
|
|
34
|
+
if (ident?.type === 'identifier')
|
|
35
|
+
return ident.text;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
// Direct initialized_identifier child
|
|
40
|
+
if (kid?.type === 'initialized_identifier') {
|
|
41
|
+
const ident = kid.firstNamedChild;
|
|
42
|
+
if (ident?.type === 'identifier')
|
|
43
|
+
return ident.text;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
// Last resort: named 'name' field
|
|
47
|
+
const nameChild = decl.childForFieldName('name');
|
|
48
|
+
return nameChild?.text;
|
|
49
|
+
}
|
|
50
|
+
export const dartConfig = {
|
|
51
|
+
language: SupportedLanguages.Dart,
|
|
52
|
+
typeDeclarationNodes: ['class_definition'],
|
|
53
|
+
fieldNodeTypes: ['declaration'],
|
|
54
|
+
bodyNodeTypes: ['class_body'],
|
|
55
|
+
defaultVisibility: 'public',
|
|
56
|
+
extractName(decl) {
|
|
57
|
+
return locateFieldName(decl);
|
|
58
|
+
},
|
|
59
|
+
extractType(decl) {
|
|
60
|
+
// Scan for a type node among named children
|
|
61
|
+
for (let idx = 0; idx < decl.namedChildCount; idx++) {
|
|
62
|
+
const kid = decl.namedChild(idx);
|
|
63
|
+
if (kid && DART_TYPE_NODES.has(kid.type)) {
|
|
64
|
+
return extractSimpleTypeName(kid) ?? kid.text?.trim();
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return undefined;
|
|
68
|
+
},
|
|
69
|
+
extractVisibility(decl) {
|
|
70
|
+
// Walk to find the identifier and check underscore convention
|
|
71
|
+
for (let idx = 0; idx < decl.namedChildCount; idx++) {
|
|
72
|
+
const kid = decl.namedChild(idx);
|
|
73
|
+
if (kid?.type === 'initialized_identifier_list') {
|
|
74
|
+
for (let j = 0; j < kid.namedChildCount; j++) {
|
|
75
|
+
const init = kid.namedChild(j);
|
|
76
|
+
if (init?.type === 'initialized_identifier') {
|
|
77
|
+
const ident = init.firstNamedChild;
|
|
78
|
+
if (ident?.text?.startsWith('_'))
|
|
79
|
+
return 'private';
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return 'public';
|
|
85
|
+
},
|
|
86
|
+
isStatic(decl) {
|
|
87
|
+
return hasKeyword(decl, 'static');
|
|
88
|
+
},
|
|
89
|
+
isReadonly(decl) {
|
|
90
|
+
return hasKeyword(decl, 'final') || hasKeyword(decl, 'const');
|
|
91
|
+
},
|
|
92
|
+
};
|
|
93
|
+
//# sourceMappingURL=dart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dart.js","sourceRoot":"","sources":["../../../../../src/core/parser/field-extractors/configs/dart.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Field extraction configuration for Go.
|
|
3
|
+
*
|
|
4
|
+
* Go struct fields are nested as:
|
|
5
|
+
* type_declaration > type_spec > struct_type > field_declaration_list > field_declaration
|
|
6
|
+
*
|
|
7
|
+
* Visibility follows Go's capitalization convention: an uppercase initial
|
|
8
|
+
* letter means the field is exported (public), lowercase means unexported
|
|
9
|
+
* (package-scoped).
|
|
10
|
+
*/
|
|
11
|
+
import type { FieldExtractionConfig } from '../generic.js';
|
|
12
|
+
export declare const goConfig: FieldExtractionConfig;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Field extraction configuration for Go.
|
|
3
|
+
*
|
|
4
|
+
* Go struct fields are nested as:
|
|
5
|
+
* type_declaration > type_spec > struct_type > field_declaration_list > field_declaration
|
|
6
|
+
*
|
|
7
|
+
* Visibility follows Go's capitalization convention: an uppercase initial
|
|
8
|
+
* letter means the field is exported (public), lowercase means unexported
|
|
9
|
+
* (package-scoped).
|
|
10
|
+
*/
|
|
11
|
+
import { SupportedLanguages } from '../../../shared/index.js';
|
|
12
|
+
import { extractSimpleTypeName } from '../../type-extractors/shared.js';
|
|
13
|
+
export const goConfig = {
|
|
14
|
+
language: SupportedLanguages.Go,
|
|
15
|
+
typeDeclarationNodes: ['type_declaration'],
|
|
16
|
+
fieldNodeTypes: ['field_declaration'],
|
|
17
|
+
bodyNodeTypes: ['field_declaration_list'],
|
|
18
|
+
defaultVisibility: 'package',
|
|
19
|
+
extractName(decl) {
|
|
20
|
+
// Primary path: named 'name' field holds a field_identifier
|
|
21
|
+
const nameChild = decl.childForFieldName('name');
|
|
22
|
+
if (nameChild)
|
|
23
|
+
return nameChild.text;
|
|
24
|
+
// Fallback: first field_identifier among named children
|
|
25
|
+
for (let idx = 0; idx < decl.namedChildCount; idx++) {
|
|
26
|
+
const kid = decl.namedChild(idx);
|
|
27
|
+
if (kid?.type === 'field_identifier')
|
|
28
|
+
return kid.text;
|
|
29
|
+
}
|
|
30
|
+
return undefined;
|
|
31
|
+
},
|
|
32
|
+
extractType(decl) {
|
|
33
|
+
// Named 'type' field on field_declaration
|
|
34
|
+
const typeChild = decl.childForFieldName('type');
|
|
35
|
+
if (typeChild)
|
|
36
|
+
return extractSimpleTypeName(typeChild) ?? typeChild.text?.trim();
|
|
37
|
+
// Fallback: the second named child is typically the type
|
|
38
|
+
if (decl.namedChildCount >= 2) {
|
|
39
|
+
const second = decl.namedChild(1);
|
|
40
|
+
if (second)
|
|
41
|
+
return extractSimpleTypeName(second) ?? second.text?.trim();
|
|
42
|
+
}
|
|
43
|
+
return undefined;
|
|
44
|
+
},
|
|
45
|
+
extractVisibility(decl) {
|
|
46
|
+
const nameChild = decl.childForFieldName('name');
|
|
47
|
+
const identifier = nameChild?.text;
|
|
48
|
+
if (identifier && identifier.length > 0) {
|
|
49
|
+
const ch = identifier.charAt(0);
|
|
50
|
+
// Uppercase first character that is NOT lowercase => exported
|
|
51
|
+
if (ch === ch.toUpperCase() && ch !== ch.toLowerCase())
|
|
52
|
+
return 'public';
|
|
53
|
+
return 'package';
|
|
54
|
+
}
|
|
55
|
+
return 'package';
|
|
56
|
+
},
|
|
57
|
+
isStatic() {
|
|
58
|
+
// Go does not support static struct fields
|
|
59
|
+
return false;
|
|
60
|
+
},
|
|
61
|
+
isReadonly() {
|
|
62
|
+
// Go struct fields are always mutable
|
|
63
|
+
return false;
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=go.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"go.js","sourceRoot":"","sources":["../../../../../src/core/parser/field-extractors/configs/go.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAExE,MAAM,CAAC,MAAM,QAAQ,GAA0B;IAC7C,QAAQ,EAAE,kBAAkB,CAAC,EAAE;IAE/B,oBAAoB,EAAE,CAAC,kBAAkB,CAAC;IAC1C,cAAc,EAAE,CAAC,mBAAmB,CAAC;IACrC,aAAa,EAAE,CAAC,wBAAwB,CAAC;IACzC,iBAAiB,EAAE,SAAS;IAE5B,WAAW,CAAC,IAAI;QACd,4DAA4D;QAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,SAAS;YAAE,OAAO,SAAS,CAAC,IAAI,CAAC;QAErC,wDAAwD;QACxD,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,EAAE,CAAC;YACpD,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,GAAG,EAAE,IAAI,KAAK,kBAAkB;gBAAE,OAAO,GAAG,CAAC,IAAI,CAAC;QACxD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,WAAW,CAAC,IAAI;QACd,0CAA0C;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,SAAS;YAAE,OAAO,qBAAqB,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;QAEjF,yDAAyD;QACzD,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,MAAM;gBAAE,OAAO,qBAAqB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;QAC1E,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,iBAAiB,CAAC,IAAI;QACpB,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,SAAS,EAAE,IAAI,CAAC;QACnC,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAChC,8DAA8D;YAC9D,IAAI,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE;gBAAE,OAAO,QAAQ,CAAC;YACxE,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,QAAQ;QACN,2CAA2C;QAC3C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,UAAU;QACR,sCAAsC;QACtC,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared AST-walking helpers used by multiple language configs.
|
|
3
|
+
* Keeps individual config files small.
|
|
4
|
+
*/
|
|
5
|
+
import type { SyntaxNode } from '../../utils/ast-helpers.js';
|
|
6
|
+
import type { FieldVisibility } from '../../field-types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Check whether any child of `node` (named or unnamed) has .text matching
|
|
9
|
+
* the given `keyword`.
|
|
10
|
+
*
|
|
11
|
+
* Skips the `name` field child to avoid false positives when a method is
|
|
12
|
+
* named after a contextual keyword (e.g. `abstract()` in TypeScript).
|
|
13
|
+
*/
|
|
14
|
+
export declare function hasKeyword(node: SyntaxNode, keyword: string): boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Check whether a named child of type `modifierType` contains `keyword`.
|
|
17
|
+
* Useful for languages that group modifiers under a wrapper node
|
|
18
|
+
* (e.g. Java 'modifiers', Kotlin 'modifiers').
|
|
19
|
+
*/
|
|
20
|
+
export declare function hasModifier(node: SyntaxNode, modifierType: string, keyword: string): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Return the first matching visibility keyword found either as a direct keyword
|
|
23
|
+
* child or inside a modifier wrapper node.
|
|
24
|
+
* Skips the `name` field child (same rationale as hasKeyword).
|
|
25
|
+
*/
|
|
26
|
+
export declare function findVisibility(node: SyntaxNode, keywords: ReadonlySet<FieldVisibility>, defaultVis: FieldVisibility, modifierNodeType?: string): FieldVisibility;
|
|
27
|
+
/**
|
|
28
|
+
* Collect all modifier keyword texts from a declaration node's named `modifier` children.
|
|
29
|
+
* Used by C# configs to detect compound visibilities (protected internal, private protected).
|
|
30
|
+
*/
|
|
31
|
+
export declare function collectModifierTexts(node: SyntaxNode): Set<string>;
|
|
32
|
+
/**
|
|
33
|
+
* Get type text from a named field on the node, using extractSimpleTypeName.
|
|
34
|
+
* Falls back to raw .text of the field child if extractSimpleTypeName returns undefined.
|
|
35
|
+
*/
|
|
36
|
+
export declare function typeFromField(node: SyntaxNode, fieldName: string): string | undefined;
|
|
37
|
+
/**
|
|
38
|
+
* Walk named children looking for a type_annotation node and extract its type.
|
|
39
|
+
*/
|
|
40
|
+
export declare function typeFromAnnotation(node: SyntaxNode): string | undefined;
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared AST-walking helpers used by multiple language configs.
|
|
3
|
+
* Keeps individual config files small.
|
|
4
|
+
*/
|
|
5
|
+
import { extractSimpleTypeName } from '../../type-extractors/shared.js';
|
|
6
|
+
// ---------------------------------------------------------------------------
|
|
7
|
+
// Modifier scanning
|
|
8
|
+
// ---------------------------------------------------------------------------
|
|
9
|
+
/**
|
|
10
|
+
* Check whether any child of `node` (named or unnamed) has .text matching
|
|
11
|
+
* the given `keyword`.
|
|
12
|
+
*
|
|
13
|
+
* Skips the `name` field child to avoid false positives when a method is
|
|
14
|
+
* named after a contextual keyword (e.g. `abstract()` in TypeScript).
|
|
15
|
+
*/
|
|
16
|
+
export function hasKeyword(node, keyword) {
|
|
17
|
+
const nameNode = node.childForFieldName('name');
|
|
18
|
+
for (let i = 0; i < node.childCount; i++) {
|
|
19
|
+
const child = node.child(i);
|
|
20
|
+
if (!child || child === nameNode)
|
|
21
|
+
continue;
|
|
22
|
+
if (child.text.trim() === keyword)
|
|
23
|
+
return true;
|
|
24
|
+
}
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Check whether a named child of type `modifierType` contains `keyword`.
|
|
29
|
+
* Useful for languages that group modifiers under a wrapper node
|
|
30
|
+
* (e.g. Java 'modifiers', Kotlin 'modifiers').
|
|
31
|
+
*/
|
|
32
|
+
export function hasModifier(node, modifierType, keyword) {
|
|
33
|
+
for (let i = 0; i < node.namedChildCount; i++) {
|
|
34
|
+
const child = node.namedChild(i);
|
|
35
|
+
if (child && child.type === modifierType) {
|
|
36
|
+
for (let j = 0; j < child.childCount; j++) {
|
|
37
|
+
const mod = child.child(j);
|
|
38
|
+
if (mod && mod.text.trim() === keyword)
|
|
39
|
+
return true;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Return the first matching visibility keyword found either as a direct keyword
|
|
47
|
+
* child or inside a modifier wrapper node.
|
|
48
|
+
* Skips the `name` field child (same rationale as hasKeyword).
|
|
49
|
+
*/
|
|
50
|
+
export function findVisibility(node, keywords, defaultVis, modifierNodeType) {
|
|
51
|
+
const nameNode = node.childForFieldName('name');
|
|
52
|
+
// Direct keyword children
|
|
53
|
+
for (let i = 0; i < node.childCount; i++) {
|
|
54
|
+
const child = node.child(i);
|
|
55
|
+
if (!child || child === nameNode)
|
|
56
|
+
continue;
|
|
57
|
+
const text = child.text.trim();
|
|
58
|
+
if (text && keywords.has(text))
|
|
59
|
+
return text;
|
|
60
|
+
}
|
|
61
|
+
// Modifier wrapper
|
|
62
|
+
if (modifierNodeType) {
|
|
63
|
+
for (let i = 0; i < node.namedChildCount; i++) {
|
|
64
|
+
const child = node.namedChild(i);
|
|
65
|
+
if (child && child.type === modifierNodeType) {
|
|
66
|
+
for (let j = 0; j < child.childCount; j++) {
|
|
67
|
+
const mod = child.child(j);
|
|
68
|
+
const modText = mod?.text.trim();
|
|
69
|
+
if (modText && keywords.has(modText))
|
|
70
|
+
return modText;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return defaultVis;
|
|
76
|
+
}
|
|
77
|
+
// ---------------------------------------------------------------------------
|
|
78
|
+
// Name and type extraction
|
|
79
|
+
// ---------------------------------------------------------------------------
|
|
80
|
+
/**
|
|
81
|
+
* Collect all modifier keyword texts from a declaration node's named `modifier` children.
|
|
82
|
+
* Used by C# configs to detect compound visibilities (protected internal, private protected).
|
|
83
|
+
*/
|
|
84
|
+
export function collectModifierTexts(node) {
|
|
85
|
+
const result = new Set();
|
|
86
|
+
for (let i = 0; i < node.namedChildCount; i++) {
|
|
87
|
+
const child = node.namedChild(i);
|
|
88
|
+
if (child && child.type === 'modifier') {
|
|
89
|
+
result.add(child.text.trim());
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return result;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Get type text from a named field on the node, using extractSimpleTypeName.
|
|
96
|
+
* Falls back to raw .text of the field child if extractSimpleTypeName returns undefined.
|
|
97
|
+
*/
|
|
98
|
+
export function typeFromField(node, fieldName) {
|
|
99
|
+
const typeNode = node.childForFieldName(fieldName);
|
|
100
|
+
if (!typeNode)
|
|
101
|
+
return undefined;
|
|
102
|
+
return extractSimpleTypeName(typeNode) ?? typeNode.text?.trim();
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Walk named children looking for a type_annotation node and extract its type.
|
|
106
|
+
*/
|
|
107
|
+
export function typeFromAnnotation(node) {
|
|
108
|
+
for (let i = 0; i < node.namedChildCount; i++) {
|
|
109
|
+
const child = node.namedChild(i);
|
|
110
|
+
if (child && child.type === 'type_annotation') {
|
|
111
|
+
const inner = child.firstNamedChild;
|
|
112
|
+
if (inner)
|
|
113
|
+
return extractSimpleTypeName(inner) ?? inner.text?.trim();
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return undefined;
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../src/core/parser/field-extractors/configs/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Field extraction configurations for Java and Kotlin.
|
|
3
|
+
*
|
|
4
|
+
* Java: Fields appear as `field_declaration` nodes. The name is inside a
|
|
5
|
+
* `variable_declarator` (via the `declarator` field or as a named child).
|
|
6
|
+
* Modifiers live in a `modifiers` wrapper node. Default visibility is
|
|
7
|
+
* package-private when no access modifier is specified.
|
|
8
|
+
*
|
|
9
|
+
* Kotlin: Properties appear as `property_declaration` nodes. The name is
|
|
10
|
+
* inside a `variable_declaration > simple_identifier` subtree. Types may
|
|
11
|
+
* appear as `user_type`, `nullable_type`, or other type nodes under the
|
|
12
|
+
* variable_declaration. Default visibility is public. `val` = readonly,
|
|
13
|
+
* `var` = mutable.
|
|
14
|
+
*/
|
|
15
|
+
import type { FieldExtractionConfig } from '../generic.js';
|
|
16
|
+
export declare const javaConfig: FieldExtractionConfig;
|
|
17
|
+
export declare const kotlinConfig: FieldExtractionConfig;
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Field extraction configurations for Java and Kotlin.
|
|
3
|
+
*
|
|
4
|
+
* Java: Fields appear as `field_declaration` nodes. The name is inside a
|
|
5
|
+
* `variable_declarator` (via the `declarator` field or as a named child).
|
|
6
|
+
* Modifiers live in a `modifiers` wrapper node. Default visibility is
|
|
7
|
+
* package-private when no access modifier is specified.
|
|
8
|
+
*
|
|
9
|
+
* Kotlin: Properties appear as `property_declaration` nodes. The name is
|
|
10
|
+
* inside a `variable_declaration > simple_identifier` subtree. Types may
|
|
11
|
+
* appear as `user_type`, `nullable_type`, or other type nodes under the
|
|
12
|
+
* variable_declaration. Default visibility is public. `val` = readonly,
|
|
13
|
+
* `var` = mutable.
|
|
14
|
+
*/
|
|
15
|
+
import { SupportedLanguages } from '../../../shared/index.js';
|
|
16
|
+
import { findVisibility, hasKeyword, hasModifier, typeFromField } from './helpers.js';
|
|
17
|
+
import { extractSimpleTypeName } from '../../type-extractors/shared.js';
|
|
18
|
+
// =========================================================================
|
|
19
|
+
// Java
|
|
20
|
+
// =========================================================================
|
|
21
|
+
const JAVA_VISIBILITY_SET = new Set(['public', 'private', 'protected']);
|
|
22
|
+
export const javaConfig = {
|
|
23
|
+
language: SupportedLanguages.Java,
|
|
24
|
+
typeDeclarationNodes: [
|
|
25
|
+
'class_declaration',
|
|
26
|
+
'interface_declaration',
|
|
27
|
+
'enum_declaration',
|
|
28
|
+
'record_declaration',
|
|
29
|
+
],
|
|
30
|
+
fieldNodeTypes: ['field_declaration'],
|
|
31
|
+
bodyNodeTypes: ['class_body', 'interface_body', 'enum_body'],
|
|
32
|
+
defaultVisibility: 'package',
|
|
33
|
+
extractName(fieldDecl) {
|
|
34
|
+
// field_declaration > declarator:(variable_declarator name:(identifier))
|
|
35
|
+
const declarator = fieldDecl.childForFieldName('declarator');
|
|
36
|
+
if (declarator) {
|
|
37
|
+
const nameChild = declarator.childForFieldName('name');
|
|
38
|
+
return nameChild?.text;
|
|
39
|
+
}
|
|
40
|
+
// Fallback: scan named children for a variable_declarator
|
|
41
|
+
for (let idx = 0; idx < fieldDecl.namedChildCount; idx++) {
|
|
42
|
+
const kid = fieldDecl.namedChild(idx);
|
|
43
|
+
if (kid?.type === 'variable_declarator') {
|
|
44
|
+
const nameChild = kid.childForFieldName('name');
|
|
45
|
+
return nameChild?.text;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return undefined;
|
|
49
|
+
},
|
|
50
|
+
extractType(fieldDecl) {
|
|
51
|
+
// Try the named 'type' field first
|
|
52
|
+
const fromField = typeFromField(fieldDecl, 'type');
|
|
53
|
+
if (fromField)
|
|
54
|
+
return fromField;
|
|
55
|
+
// Fallback: first named child that is not a 'modifiers' node
|
|
56
|
+
const first = fieldDecl.firstNamedChild;
|
|
57
|
+
if (first && first.type !== 'modifiers') {
|
|
58
|
+
return extractSimpleTypeName(first) ?? first.text?.trim();
|
|
59
|
+
}
|
|
60
|
+
return undefined;
|
|
61
|
+
},
|
|
62
|
+
extractVisibility(fieldDecl) {
|
|
63
|
+
return findVisibility(fieldDecl, JAVA_VISIBILITY_SET, 'package', 'modifiers');
|
|
64
|
+
},
|
|
65
|
+
isStatic(fieldDecl) {
|
|
66
|
+
return hasKeyword(fieldDecl, 'static') || hasModifier(fieldDecl, 'modifiers', 'static');
|
|
67
|
+
},
|
|
68
|
+
isReadonly(fieldDecl) {
|
|
69
|
+
return hasKeyword(fieldDecl, 'final') || hasModifier(fieldDecl, 'modifiers', 'final');
|
|
70
|
+
},
|
|
71
|
+
};
|
|
72
|
+
// =========================================================================
|
|
73
|
+
// Kotlin
|
|
74
|
+
// =========================================================================
|
|
75
|
+
const KOTLIN_VISIBILITY_SET = new Set([
|
|
76
|
+
'public',
|
|
77
|
+
'private',
|
|
78
|
+
'protected',
|
|
79
|
+
'internal',
|
|
80
|
+
]);
|
|
81
|
+
export const kotlinConfig = {
|
|
82
|
+
language: SupportedLanguages.Kotlin,
|
|
83
|
+
typeDeclarationNodes: ['class_declaration', 'object_declaration'],
|
|
84
|
+
fieldNodeTypes: ['property_declaration'],
|
|
85
|
+
bodyNodeTypes: ['class_body'],
|
|
86
|
+
defaultVisibility: 'public',
|
|
87
|
+
extractName(propDecl) {
|
|
88
|
+
// property_declaration > variable_declaration > simple_identifier
|
|
89
|
+
for (let idx = 0; idx < propDecl.namedChildCount; idx++) {
|
|
90
|
+
const kid = propDecl.namedChild(idx);
|
|
91
|
+
if (kid?.type === 'variable_declaration') {
|
|
92
|
+
for (let j = 0; j < kid.namedChildCount; j++) {
|
|
93
|
+
const ident = kid.namedChild(j);
|
|
94
|
+
if (ident?.type === 'simple_identifier')
|
|
95
|
+
return ident.text;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
// Direct simple_identifier child
|
|
99
|
+
if (kid?.type === 'simple_identifier')
|
|
100
|
+
return kid.text;
|
|
101
|
+
}
|
|
102
|
+
return undefined;
|
|
103
|
+
},
|
|
104
|
+
extractType(propDecl) {
|
|
105
|
+
// Types may live inside variable_declaration as user_type, nullable_type, etc.
|
|
106
|
+
for (let idx = 0; idx < propDecl.namedChildCount; idx++) {
|
|
107
|
+
const kid = propDecl.namedChild(idx);
|
|
108
|
+
if (kid?.type === 'variable_declaration') {
|
|
109
|
+
for (let j = 0; j < kid.namedChildCount; j++) {
|
|
110
|
+
const typeNode = kid.namedChild(j);
|
|
111
|
+
if (typeNode &&
|
|
112
|
+
(typeNode.type === 'user_type' ||
|
|
113
|
+
typeNode.type === 'type_identifier' ||
|
|
114
|
+
typeNode.type === 'nullable_type' ||
|
|
115
|
+
typeNode.type === 'generic_type')) {
|
|
116
|
+
return extractSimpleTypeName(typeNode) ?? typeNode.text?.trim();
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
// Direct type children on the property_declaration
|
|
121
|
+
if (kid?.type === 'user_type' || kid?.type === 'nullable_type') {
|
|
122
|
+
return extractSimpleTypeName(kid) ?? kid.text?.trim();
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return undefined;
|
|
126
|
+
},
|
|
127
|
+
extractVisibility(propDecl) {
|
|
128
|
+
return findVisibility(propDecl, KOTLIN_VISIBILITY_SET, 'public', 'modifiers');
|
|
129
|
+
},
|
|
130
|
+
isStatic() {
|
|
131
|
+
// Kotlin has no static keyword; companion object members are separate
|
|
132
|
+
return false;
|
|
133
|
+
},
|
|
134
|
+
isReadonly(propDecl) {
|
|
135
|
+
// `val` declares an immutable property, `var` is mutable
|
|
136
|
+
return hasKeyword(propDecl, 'val');
|
|
137
|
+
},
|
|
138
|
+
};
|
|
139
|
+
//# sourceMappingURL=jvm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jvm.js","sourceRoot":"","sources":["../../../../../src/core/parser/field-extractors/configs/jvm.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Field extraction configuration for PHP.
|
|
3
|
+
*
|
|
4
|
+
* PHP class properties are represented as `property_declaration` nodes
|
|
5
|
+
* inside a `declaration_list` body. Each property_declaration typically
|
|
6
|
+
* contains a `property_element` with a `variable_name` (prefixed with `$`).
|
|
7
|
+
*
|
|
8
|
+
* Type declarations may appear as named_type, primitive_type, union_type,
|
|
9
|
+
* optional_type, intersection_type, or nullable_type children.
|
|
10
|
+
*/
|
|
11
|
+
import type { FieldExtractionConfig } from '../generic.js';
|
|
12
|
+
export declare const phpConfig: FieldExtractionConfig;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Field extraction configuration for PHP.
|
|
3
|
+
*
|
|
4
|
+
* PHP class properties are represented as `property_declaration` nodes
|
|
5
|
+
* inside a `declaration_list` body. Each property_declaration typically
|
|
6
|
+
* contains a `property_element` with a `variable_name` (prefixed with `$`).
|
|
7
|
+
*
|
|
8
|
+
* Type declarations may appear as named_type, primitive_type, union_type,
|
|
9
|
+
* optional_type, intersection_type, or nullable_type children.
|
|
10
|
+
*/
|
|
11
|
+
import { SupportedLanguages } from '../../../shared/index.js';
|
|
12
|
+
import { findVisibility, hasKeyword } from './helpers.js';
|
|
13
|
+
import { extractSimpleTypeName } from '../../type-extractors/shared.js';
|
|
14
|
+
const PHP_VISIBILITY_SET = new Set(['public', 'private', 'protected']);
|
|
15
|
+
/** AST node types that represent PHP type annotations. */
|
|
16
|
+
const PHP_TYPE_NODES = new Set([
|
|
17
|
+
'union_type',
|
|
18
|
+
'named_type',
|
|
19
|
+
'optional_type',
|
|
20
|
+
'primitive_type',
|
|
21
|
+
'intersection_type',
|
|
22
|
+
'nullable_type',
|
|
23
|
+
]);
|
|
24
|
+
export const phpConfig = {
|
|
25
|
+
language: SupportedLanguages.PHP,
|
|
26
|
+
typeDeclarationNodes: ['class_declaration', 'interface_declaration', 'trait_declaration'],
|
|
27
|
+
fieldNodeTypes: ['property_declaration'],
|
|
28
|
+
bodyNodeTypes: ['declaration_list'],
|
|
29
|
+
defaultVisibility: 'public',
|
|
30
|
+
extractName(propDecl) {
|
|
31
|
+
// property_declaration > property_element > variable_name ($foo)
|
|
32
|
+
for (let idx = 0; idx < propDecl.namedChildCount; idx++) {
|
|
33
|
+
const kid = propDecl.namedChild(idx);
|
|
34
|
+
if (kid?.type === 'property_element') {
|
|
35
|
+
const varNode = kid.childForFieldName('name') ?? kid.firstNamedChild;
|
|
36
|
+
if (varNode) {
|
|
37
|
+
const raw = varNode.text;
|
|
38
|
+
return raw.startsWith('$') ? raw.slice(1) : raw;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
// Direct variable_name child (alternative tree shape)
|
|
42
|
+
if (kid?.type === 'variable_name') {
|
|
43
|
+
const raw = kid.text;
|
|
44
|
+
return raw.startsWith('$') ? raw.slice(1) : raw;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return undefined;
|
|
48
|
+
},
|
|
49
|
+
extractType(propDecl) {
|
|
50
|
+
// Scan named children for a type annotation node
|
|
51
|
+
for (let idx = 0; idx < propDecl.namedChildCount; idx++) {
|
|
52
|
+
const kid = propDecl.namedChild(idx);
|
|
53
|
+
if (kid && PHP_TYPE_NODES.has(kid.type)) {
|
|
54
|
+
return extractSimpleTypeName(kid) ?? kid.text?.trim();
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return undefined;
|
|
58
|
+
},
|
|
59
|
+
extractVisibility(propDecl) {
|
|
60
|
+
return findVisibility(propDecl, PHP_VISIBILITY_SET, 'public');
|
|
61
|
+
},
|
|
62
|
+
isStatic(propDecl) {
|
|
63
|
+
return hasKeyword(propDecl, 'static');
|
|
64
|
+
},
|
|
65
|
+
isReadonly(propDecl) {
|
|
66
|
+
return hasKeyword(propDecl, 'readonly');
|
|
67
|
+
},
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=php.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"php.js","sourceRoot":"","sources":["../../../../../src/core/parser/field-extractors/configs/php.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAGxE,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAkB,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;AAExF,0DAA0D;AAC1D,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC7B,YAAY;IACZ,YAAY;IACZ,eAAe;IACf,gBAAgB;IAChB,mBAAmB;IACnB,eAAe;CAChB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,SAAS,GAA0B;IAC9C,QAAQ,EAAE,kBAAkB,CAAC,GAAG;IAEhC,oBAAoB,EAAE,CAAC,mBAAmB,EAAE,uBAAuB,EAAE,mBAAmB,CAAC;IACzF,cAAc,EAAE,CAAC,sBAAsB,CAAC;IACxC,aAAa,EAAE,CAAC,kBAAkB,CAAC;IACnC,iBAAiB,EAAE,QAAQ;IAE3B,WAAW,CAAC,QAAQ;QAClB,iEAAiE;QACjE,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE,EAAE,CAAC;YACxD,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAErC,IAAI,GAAG,EAAE,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBACrC,MAAM,OAAO,GAAG,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,eAAe,CAAC;gBACrE,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;oBACzB,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAClD,CAAC;YACH,CAAC;YAED,sDAAsD;YACtD,IAAI,GAAG,EAAE,IAAI,KAAK,eAAe,EAAE,CAAC;gBAClC,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC;gBACrB,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAClD,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,WAAW,CAAC,QAAQ;QAClB,iDAAiD;QACjD,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE,EAAE,CAAC;YACxD,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACrC,IAAI,GAAG,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxC,OAAO,qBAAqB,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;YACxD,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,iBAAiB,CAAC,QAAQ;QACxB,OAAO,cAAc,CAAC,QAAQ,EAAE,kBAAkB,EAAE,QAAQ,CAAC,CAAC;IAChE,CAAC;IAED,QAAQ,CAAC,QAAQ;QACf,OAAO,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED,UAAU,CAAC,QAAQ;QACjB,OAAO,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC1C,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Field extraction configuration for Python.
|
|
3
|
+
*
|
|
4
|
+
* Python class-level fields appear as expression_statement nodes wrapping
|
|
5
|
+
* either annotated assignments (`name: str = ""`) or plain assignments
|
|
6
|
+
* (`x = 5`). Instance variables set on `self` in `__init__` are not
|
|
7
|
+
* captured here -- only body-level declarations are in scope.
|
|
8
|
+
*
|
|
9
|
+
* Visibility uses Python convention:
|
|
10
|
+
* - `__name` (dunder without trailing __) -> private
|
|
11
|
+
* - `_name` -> protected
|
|
12
|
+
* - anything else -> public
|
|
13
|
+
*/
|
|
14
|
+
import type { FieldExtractionConfig } from '../generic.js';
|
|
15
|
+
export declare const pythonConfig: FieldExtractionConfig;
|