code2llm 0.5.148__tar.gz → 0.5.149__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {code2llm-0.5.148/code2llm.egg-info → code2llm-0.5.149}/PKG-INFO +5 -5
- {code2llm-0.5.148 → code2llm-0.5.149}/README.md +4 -4
- code2llm-0.5.149/VERSION +1 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/__init__.py +1 -1
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/analysis/call_graph.py +1 -1
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/analysis/cfg.py +0 -1
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/analysis/data_analysis.py +1 -1
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/analysis/dfg.py +1 -1
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/analysis/side_effects.py +1 -1
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/analysis/smells.py +1 -1
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/cli_analysis.py +0 -1
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/cli_exports/formats.py +0 -2
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/cli_exports/orchestrator.py +10 -15
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/cli_exports/orchestrator_handlers.py +1 -2
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/cli_exports/prompt.py +0 -1
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/core/analyzer.py +2 -3
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/core/export_pipeline.py +1 -1
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/core/file_filter.py +2 -1
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/core/lang/php.py +1 -1
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/core/lang/ruby.py +0 -1
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/core/lang/ts_extractors.py +1 -1
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/core/large_repo.py +1 -1
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/core/streaming/strategies.py +1 -1
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/core/streaming_analyzer.py +1 -1
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/article_view.py +0 -1
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/context_exporter.py +1 -1
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/evolution/computation.py +1 -1
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/evolution/yaml_export.py +0 -1
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/flow_exporter.py +3 -6
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/index_generator/scanner.py +1 -1
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/map/details.py +2 -2
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/map/header.py +1 -2
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/map/yaml_export.py +1 -1
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/mermaid/calls.py +0 -1
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/mermaid/compact.py +0 -1
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/mermaid/flow_compact.py +1 -2
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/mermaid/flow_detailed.py +0 -2
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/mermaid/flow_full.py +0 -2
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/project_yaml/core.py +1 -2
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/project_yaml/health.py +1 -1
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/project_yaml/modules.py +0 -1
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/readme_exporter.py +1 -1
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/toon/renderer.py +2 -2
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/generators/llm_flow/generator.py +0 -1
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/generators/llm_flow/nodes.py +1 -1
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/generators/mermaid/png.py +42 -39
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/nlp/__init__.py +1 -1
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/nlp/config.py +1 -1
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/nlp/entity_resolution.py +1 -1
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/nlp/intent_matching.py +1 -2
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/nlp/normalization.py +1 -1
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/nlp/pipeline.py +0 -1
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/patterns/detector.py +0 -1
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/refactor/prompt_engine.py +1 -1
- {code2llm-0.5.148 → code2llm-0.5.149/code2llm.egg-info}/PKG-INFO +5 -5
- {code2llm-0.5.148 → code2llm-0.5.149}/pyproject.toml +1 -1
- code2llm-0.5.148/VERSION +0 -1
- {code2llm-0.5.148 → code2llm-0.5.149}/LICENSE +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/MANIFEST.in +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/__main__.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/analysis/__init__.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/analysis/coupling.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/analysis/pipeline_classifier.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/analysis/pipeline_detector.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/analysis/pipeline_resolver.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/analysis/type_inference.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/analysis/utils/__init__.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/analysis/utils/ast_helpers.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/api.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/cli.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/cli_commands.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/cli_exports/__init__.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/cli_exports/code2logic.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/cli_exports/orchestrator_chunked.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/cli_exports/orchestrator_constants.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/cli_parser.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/core/__init__.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/core/ast_registry.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/core/config.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/core/file_analyzer.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/core/file_cache.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/core/gitignore.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/core/incremental.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/core/lang/__init__.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/core/lang/base.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/core/lang/cpp.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/core/lang/csharp.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/core/lang/generic.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/core/lang/go_lang.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/core/lang/java.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/core/lang/rust.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/core/lang/ts_parser.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/core/lang/typescript.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/core/models.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/core/persistent_cache.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/core/refactoring.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/core/repo_files.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/core/streaming/__init__.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/core/streaming/cache.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/core/streaming/incremental.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/core/streaming/prioritizer.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/core/streaming/scanner.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/core/toon_size_manager.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/__init__.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/base.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/context_view.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/dashboard_data.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/dashboard_renderer.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/evolution/__init__.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/evolution/constants.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/evolution/exclusion.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/evolution/render.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/evolution_exporter.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/flow_constants.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/flow_renderer.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/html_dashboard.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/index_generator/__init__.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/index_generator/renderer.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/index_generator.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/json_exporter.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/llm_exporter.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/map/__init__.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/map/alerts.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/map/module_list.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/map/utils.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/map_exporter.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/mermaid/__init__.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/mermaid/classic.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/mermaid/utils.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/mermaid_exporter.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/mermaid_flow_helpers.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/project_yaml/__init__.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/project_yaml/constants.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/project_yaml/evolution.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/project_yaml/hotspots.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/project_yaml_exporter.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/readme/__init__.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/readme/content.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/readme/files.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/readme/insights.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/readme/sections.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/report_generators.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/toon/__init__.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/toon/helpers.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/toon/metrics.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/toon/metrics_core.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/toon/metrics_duplicates.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/toon/metrics_health.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/toon/module_detail.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/toon.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/toon_view.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/validate_project.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/exporters/yaml_exporter.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/generators/__init__.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/generators/_utils.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/generators/llm_flow/__init__.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/generators/llm_flow/analysis.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/generators/llm_flow/cli.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/generators/llm_flow/parsing.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/generators/llm_flow/utils.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/generators/llm_flow.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/generators/llm_task.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/generators/mermaid/__init__.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/generators/mermaid/fix.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/generators/mermaid/validation.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/generators/mermaid.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/parsers/toon_parser.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/patterns/__init__.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm/refactor/__init__.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm.egg-info/SOURCES.txt +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm.egg-info/dependency_links.txt +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm.egg-info/entry_points.txt +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm.egg-info/requires.txt +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/code2llm.egg-info/top_level.txt +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/setup.cfg +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/setup.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/tests/test_advanced_analysis.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/tests/test_analyzer.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/tests/test_cache_invalidation_e2e.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/tests/test_calls_toon_export.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/tests/test_declarative_collection.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/tests/test_deep_analysis.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/tests/test_edge_cases.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/tests/test_file_analyzer_tagging.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/tests/test_flow_exporter.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/tests/test_format_quality.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/tests/test_multilanguage_e2e.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/tests/test_nlp_pipeline.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/tests/test_nonpython_cc_calls.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/tests/test_orchestrator_cache_mtime.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/tests/test_persistent_cache.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/tests/test_pipeline_detector.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/tests/test_project_toon_export.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/tests/test_prompt_engine.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/tests/test_prompt_txt.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/tests/test_refactoring_engine.py +0 -0
- {code2llm-0.5.148 → code2llm-0.5.149}/tests/test_toon_v2.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: code2llm
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.149
|
|
4
4
|
Summary: High-performance Python code flow analysis with optimized TOON format - CFG, DFG, call graphs, and intelligent code queries
|
|
5
5
|
Home-page: https://github.com/wronai/stts
|
|
6
6
|
Author: STTS Project
|
|
@@ -66,11 +66,11 @@ Dynamic: requires-python
|
|
|
66
66
|
|
|
67
67
|
## AI Cost Tracking
|
|
68
68
|
|
|
69
|
-
     
|
|
70
|
+
  
|
|
71
71
|
|
|
72
|
-
- 🤖 **LLM usage:** $7.5000 (
|
|
73
|
-
- 👤 **Human dev:** ~$
|
|
72
|
+
- 🤖 **LLM usage:** $7.5000 (201 commits)
|
|
73
|
+
- 👤 **Human dev:** ~$7331 (73.3h @ $100/h, 30min dedup)
|
|
74
74
|
|
|
75
75
|
Generated on 2026-05-06 using [openrouter/qwen/qwen3-coder-next](https://openrouter.ai/qwen/qwen3-coder-next)
|
|
76
76
|
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
## AI Cost Tracking
|
|
4
4
|
|
|
5
|
-
     
|
|
6
|
+
  
|
|
7
7
|
|
|
8
|
-
- 🤖 **LLM usage:** $7.5000 (
|
|
9
|
-
- 👤 **Human dev:** ~$
|
|
8
|
+
- 🤖 **LLM usage:** $7.5000 (201 commits)
|
|
9
|
+
- 👤 **Human dev:** ~$7331 (73.3h @ $100/h, 30min dedup)
|
|
10
10
|
|
|
11
11
|
Generated on 2026-05-06 using [openrouter/qwen/qwen3-coder-next](https://openrouter.ai/qwen/qwen3-coder-next)
|
|
12
12
|
|
code2llm-0.5.149/VERSION
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.5.149
|
|
@@ -8,7 +8,7 @@ Includes NLP Processing Pipeline for query normalization, intent matching,
|
|
|
8
8
|
and entity resolution with multilingual support.
|
|
9
9
|
"""
|
|
10
10
|
|
|
11
|
-
__version__ = "0.5.
|
|
11
|
+
__version__ = "0.5.149"
|
|
12
12
|
__author__ = "STTS Project"
|
|
13
13
|
|
|
14
14
|
# Core analysis components (lightweight, always needed)
|
|
@@ -5,7 +5,7 @@ from collections import defaultdict
|
|
|
5
5
|
from typing import Set, Dict, List
|
|
6
6
|
|
|
7
7
|
from code2llm.core.config import Config
|
|
8
|
-
from code2llm.core.models import AnalysisResult,
|
|
8
|
+
from code2llm.core.models import AnalysisResult, DataFlow, Mutation
|
|
9
9
|
from code2llm.analysis.utils import ast_unparse
|
|
10
10
|
|
|
11
11
|
|
|
@@ -11,7 +11,7 @@ Used by FlowExporter to enrich CONTRACTS and SIDE_EFFECTS sections.
|
|
|
11
11
|
|
|
12
12
|
import ast
|
|
13
13
|
import logging
|
|
14
|
-
from typing import Any, Dict, List, Optional
|
|
14
|
+
from typing import Any, Dict, List, Optional
|
|
15
15
|
|
|
16
16
|
from code2llm.core.models import FunctionInfo
|
|
17
17
|
from code2llm.core.ast_registry import ASTRegistry
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
"""Format export functions — toon, map, context, yaml, json, mermaid, evolution, and legacy project-yaml/flow exports."""
|
|
2
2
|
|
|
3
|
-
import os
|
|
4
3
|
import sys
|
|
5
4
|
import time
|
|
6
5
|
from pathlib import Path
|
|
7
|
-
from typing import Optional
|
|
8
6
|
|
|
9
7
|
from code2llm.exporters import (
|
|
10
8
|
YAMLExporter, JSONExporter, MermaidExporter,
|
|
@@ -18,15 +18,7 @@ try:
|
|
|
18
18
|
except ImportError:
|
|
19
19
|
_HAS_TQDM = False
|
|
20
20
|
|
|
21
|
-
from code2llm.exporters import
|
|
22
|
-
get_exporter,
|
|
23
|
-
EXPORT_REGISTRY,
|
|
24
|
-
YAMLExporter,
|
|
25
|
-
MermaidExporter,
|
|
26
|
-
ToonViewGenerator,
|
|
27
|
-
IndexHTMLGenerator,
|
|
28
|
-
)
|
|
29
|
-
from code2llm.exporters.project_yaml.evolution import load_previous_evolution
|
|
21
|
+
from code2llm.exporters import get_exporter
|
|
30
22
|
from code2llm.core.persistent_cache import PersistentCache
|
|
31
23
|
from code2llm.core.config import DEFAULT_PROGRESS_BAR_THRESHOLD
|
|
32
24
|
from .orchestrator_constants import (
|
|
@@ -43,10 +35,6 @@ from .orchestrator_handlers import (
|
|
|
43
35
|
_export_readme,
|
|
44
36
|
_export_index_html,
|
|
45
37
|
)
|
|
46
|
-
from .orchestrator_chunked import (
|
|
47
|
-
_get_filtered_subprojects,
|
|
48
|
-
_process_subproject,
|
|
49
|
-
)
|
|
50
38
|
|
|
51
39
|
|
|
52
40
|
def _build_export_config(args, formats: List[str]) -> Dict[str, Any]:
|
|
@@ -329,8 +317,15 @@ def _inject_generation_time(filepath: Path, elapsed: float) -> None:
|
|
|
329
317
|
|
|
330
318
|
tag = f"generated in {elapsed:.2f}s"
|
|
331
319
|
|
|
332
|
-
if suffix in ('.
|
|
333
|
-
#
|
|
320
|
+
if suffix in ('.mmd', '.export'):
|
|
321
|
+
# Mermaid uses %% for comments
|
|
322
|
+
lines = content.split('\n', 1)
|
|
323
|
+
if len(lines) == 2:
|
|
324
|
+
content = f"{lines[0]}\n%% {tag}\n{lines[1]}"
|
|
325
|
+
else:
|
|
326
|
+
content = f"{lines[0]}\n%% {tag}\n"
|
|
327
|
+
elif suffix in ('.yaml', '.yml', '.txt') or name.endswith('.toon.yaml'):
|
|
328
|
+
# YAML/text: insert '# generated in X.XXs' after first line
|
|
334
329
|
lines = content.split('\n', 1)
|
|
335
330
|
if len(lines) == 2:
|
|
336
331
|
content = f"{lines[0]}\n# {tag}\n{lines[1]}"
|
|
@@ -6,7 +6,7 @@ that were extracted from orchestrator.py to reduce its size.
|
|
|
6
6
|
|
|
7
7
|
import time
|
|
8
8
|
from pathlib import Path
|
|
9
|
-
from typing import
|
|
9
|
+
from typing import List
|
|
10
10
|
|
|
11
11
|
from code2llm.exporters import (
|
|
12
12
|
get_exporter,
|
|
@@ -16,7 +16,6 @@ from code2llm.exporters import (
|
|
|
16
16
|
IndexHTMLGenerator,
|
|
17
17
|
)
|
|
18
18
|
from code2llm.exporters.project_yaml.evolution import load_previous_evolution
|
|
19
|
-
from .orchestrator_constants import FORMAT_LABELS
|
|
20
19
|
|
|
21
20
|
|
|
22
21
|
def _export_mermaid(args, result, output_dir: Path):
|
|
@@ -18,11 +18,10 @@ logger = logging.getLogger(__name__)
|
|
|
18
18
|
|
|
19
19
|
from .config import (
|
|
20
20
|
Config, FAST_CONFIG, ALL_EXTENSIONS, ALL_FILENAMES,
|
|
21
|
-
|
|
21
|
+
LANGUAGE_FILENAME_PREFIXES,
|
|
22
22
|
DEFAULT_PROGRESS_BAR_THRESHOLD,
|
|
23
23
|
)
|
|
24
|
-
from .models import AnalysisResult,
|
|
25
|
-
from code2llm.analysis.call_graph import CallGraphExtractor
|
|
24
|
+
from .models import AnalysisResult, Pattern
|
|
26
25
|
|
|
27
26
|
from .file_cache import FileCache
|
|
28
27
|
from .file_filter import FastFileFilter
|
|
@@ -61,7 +61,8 @@ class FastFileFilter:
|
|
|
61
61
|
|
|
62
62
|
def should_skip_dir(self, dirname: str) -> bool:
|
|
63
63
|
"""Fast O(1) check: skip this directory entirely during tree walk?"""
|
|
64
|
-
|
|
64
|
+
lower = dirname.lower()
|
|
65
|
+
return lower.startswith('.') or lower in _SKIP_DIR_NAMES
|
|
65
66
|
|
|
66
67
|
def _passes_gitignore(self, file_path: str) -> bool:
|
|
67
68
|
"""Check if file passes gitignore patterns (True = pass, False = excluded)."""
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import re
|
|
2
2
|
from typing import Dict, Optional, Tuple
|
|
3
|
-
from code2llm.core.models import ClassInfo
|
|
3
|
+
from code2llm.core.models import ClassInfo
|
|
4
4
|
from code2llm.core.lang.base import calculate_complexity_regex, extract_calls_regex, _extract_declarations
|
|
5
5
|
|
|
6
6
|
def _parse_php_metadata(content: str, module_name: str, result: Dict) -> Tuple[Optional[str], bool]:
|
|
@@ -4,7 +4,7 @@ Each language has specific node types for functions, classes, methods.
|
|
|
4
4
|
This module provides unified extraction using tree-sitter queries.
|
|
5
5
|
"""
|
|
6
6
|
|
|
7
|
-
from typing import Dict,
|
|
7
|
+
from typing import Dict, Optional, Any
|
|
8
8
|
from pathlib import Path
|
|
9
9
|
|
|
10
10
|
from code2llm.core.models import ClassInfo, FunctionInfo, ModuleInfo
|
|
@@ -8,7 +8,7 @@ from collections import defaultdict
|
|
|
8
8
|
from pathlib import Path
|
|
9
9
|
from typing import Any, Dict, List, Tuple, Optional
|
|
10
10
|
from .base import BaseExporter, export_format
|
|
11
|
-
from code2llm.core.models import AnalysisResult
|
|
11
|
+
from code2llm.core.models import AnalysisResult
|
|
12
12
|
from code2llm.core.config import LANGUAGE_EXTENSIONS
|
|
13
13
|
|
|
14
14
|
|
|
@@ -4,7 +4,7 @@ from collections import defaultdict
|
|
|
4
4
|
from pathlib import Path
|
|
5
5
|
from typing import Any, Dict, List, Optional
|
|
6
6
|
|
|
7
|
-
from code2llm.core.models import AnalysisResult
|
|
7
|
+
from code2llm.core.models import AnalysisResult
|
|
8
8
|
|
|
9
9
|
from .constants import GOD_MODULE_LINES, HUB_TYPE_THRESHOLD, CC_SPLIT_THRESHOLD
|
|
10
10
|
from .exclusion import is_excluded
|
|
@@ -10,18 +10,15 @@ Sprint 2 (v0.3.1): AST-based type inference and side-effect detection.
|
|
|
10
10
|
Sprint 3 (v0.3.2): networkx-based pipeline detection with domain grouping.
|
|
11
11
|
"""
|
|
12
12
|
|
|
13
|
-
import ast
|
|
14
13
|
from collections import defaultdict
|
|
15
14
|
from datetime import datetime
|
|
16
15
|
from pathlib import Path
|
|
17
|
-
from typing import Any, Dict, List, Optional
|
|
16
|
+
from typing import Any, Dict, List, Optional
|
|
18
17
|
|
|
19
18
|
from .base import BaseExporter, export_format
|
|
20
|
-
from .flow_constants import CC_HIGH, FAN_OUT_THRESHOLD,
|
|
19
|
+
from .flow_constants import CC_HIGH, FAN_OUT_THRESHOLD, HUB_TYPE_THRESHOLD, is_excluded_path
|
|
21
20
|
from .flow_renderer import FlowRenderer
|
|
22
|
-
from code2llm.core.models import
|
|
23
|
-
AnalysisResult, FunctionInfo, ClassInfo, ModuleInfo, FlowNode
|
|
24
|
-
)
|
|
21
|
+
from code2llm.core.models import AnalysisResult, FunctionInfo
|
|
25
22
|
from code2llm.analysis.type_inference import TypeInferenceEngine
|
|
26
23
|
from code2llm.analysis.side_effects import SideEffectDetector, SideEffectInfo
|
|
27
24
|
from code2llm.analysis.pipeline_detector import PipelineDetector, Pipeline
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"""Map exporter details — render D: details per module with imports, exports, classes, functions."""
|
|
2
2
|
|
|
3
|
-
from typing import
|
|
3
|
+
from typing import List
|
|
4
4
|
|
|
5
|
-
from code2llm.core.models import AnalysisResult,
|
|
5
|
+
from code2llm.core.models import AnalysisResult, FunctionInfo
|
|
6
6
|
|
|
7
7
|
from .utils import rel_path
|
|
8
8
|
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
"""Map exporter header — render header lines with project stats and alerts."""
|
|
2
2
|
|
|
3
3
|
from datetime import datetime
|
|
4
|
-
from pathlib import Path
|
|
5
4
|
from typing import Any, Dict, List
|
|
6
5
|
|
|
7
6
|
from code2llm.core.models import AnalysisResult, FunctionInfo, ModuleInfo
|
|
8
7
|
|
|
9
|
-
from .utils import
|
|
8
|
+
from .utils import count_total_lines, detect_languages
|
|
10
9
|
from .alerts import build_alerts, build_hotspots, load_evolution_trend
|
|
11
10
|
|
|
12
11
|
|
|
@@ -2,11 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
from collections import defaultdict
|
|
4
4
|
from typing import Dict, List, Set
|
|
5
|
-
from pathlib import Path
|
|
6
5
|
|
|
7
6
|
from code2llm.core.models import AnalysisResult
|
|
8
7
|
|
|
9
|
-
from .utils import readable_id,
|
|
8
|
+
from .utils import readable_id, resolve_callee, write_file, get_cc, build_name_index
|
|
10
9
|
|
|
11
10
|
|
|
12
11
|
# Default skip patterns for noise reduction
|
|
@@ -11,8 +11,7 @@ from code2llm.core.models import AnalysisResult
|
|
|
11
11
|
from code2llm.core.config import LANGUAGE_EXTENSIONS
|
|
12
12
|
from code2llm.exporters.base import BaseExporter, export_format
|
|
13
13
|
|
|
14
|
-
from code2llm.exporters.toon.helpers import _is_excluded, _scan_line_counts
|
|
15
|
-
from .constants import GOD_MODULE_LINES
|
|
14
|
+
from code2llm.exporters.toon.helpers import _is_excluded, _scan_line_counts
|
|
16
15
|
from .health import build_health
|
|
17
16
|
from .modules import build_modules
|
|
18
17
|
from .hotspots import build_hotspots, build_refactoring
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
from collections import defaultdict
|
|
4
4
|
from typing import Any, Dict, List
|
|
5
5
|
|
|
6
|
-
from code2llm.core.models import AnalysisResult
|
|
6
|
+
from code2llm.core.models import AnalysisResult
|
|
7
7
|
from code2llm.exporters.toon.helpers import _is_excluded
|
|
8
8
|
from .constants import CC_CRITICAL, CC_WARNING, CC_ERROR, CC_SEVERE, FAN_OUT_THRESHOLD, FAN_OUT_ERROR, FAN_OUT_SEVERE
|
|
9
9
|
|
|
@@ -4,10 +4,10 @@ from collections import defaultdict
|
|
|
4
4
|
from pathlib import Path
|
|
5
5
|
from typing import Any, Dict, List
|
|
6
6
|
|
|
7
|
-
from code2llm.core.models import AnalysisResult
|
|
7
|
+
from code2llm.core.models import AnalysisResult
|
|
8
8
|
from code2llm.core.config import LANGUAGE_EXTENSIONS
|
|
9
9
|
|
|
10
|
-
from .helpers import _dup_file_set
|
|
10
|
+
from .helpers import _dup_file_set
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
# Constants
|