modwire 8.0.0__tar.gz → 9.1.0__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.
- {modwire-8.0.0 → modwire-9.1.0}/.dev/modwire.egg-info/SOURCES.txt +49 -85
- {modwire-8.0.0 → modwire-9.1.0}/.github/workflows/ci.yml +6 -15
- {modwire-8.0.0 → modwire-9.1.0}/MANIFEST.in +0 -2
- modwire-9.1.0/Makefile +58 -0
- modwire-9.1.0/PKG-INFO +109 -0
- modwire-9.1.0/README.md +81 -0
- modwire-9.1.0/docs/target-language-ownership.md +34 -0
- {modwire-8.0.0 → modwire-9.1.0}/pyproject.toml +5 -1
- modwire-9.1.0/scripts/check_extractors.py +39 -0
- {modwire-8.0.0 → modwire-9.1.0}/scripts/verify_consumer.py +8 -2
- modwire-9.1.0/src/modwire/application.py +144 -0
- modwire-9.1.0/src/modwire/cli/cache/application.py +183 -0
- modwire-9.1.0/src/modwire/cli/cache/domain.py +27 -0
- modwire-9.1.0/src/modwire/cli/cache/models/cache_entry.py +8 -0
- modwire-9.1.0/src/modwire/cli/cache/models/cache_key.py +11 -0
- modwire-9.1.0/src/modwire/cli/cache/models/cache_options.py +25 -0
- modwire-9.1.0/src/modwire/cli/cache/models/extraction_snapshot.py +8 -0
- modwire-9.1.0/src/modwire/cli/cache/models/source_entry.py +9 -0
- modwire-9.1.0/src/modwire/cli/cache/models/source_inventory.py +9 -0
- modwire-9.1.0/src/modwire/cli/cache/services/cache_codec.py +40 -0
- modwire-9.1.0/src/modwire/cli/cache/services/cache_identity.py +106 -0
- modwire-9.1.0/src/modwire/cli/cache/services/filesystem_cache_storage.py +147 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/cli/documentation/application.py +2 -2
- modwire-9.1.0/src/modwire/cli/documentation/services/documentation_generator.py +37 -0
- modwire-9.1.0/src/modwire/cli/facade.py +140 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/cli/pipeline/application.py +5 -4
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/cli/pipeline/domain.py +16 -2
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/cli/pipeline/models/command_request.py +5 -1
- modwire-9.1.0/src/modwire/cli/pipeline/models/scan_policy.py +8 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/cli/pipeline/services/batch_source_reader.py +94 -62
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/cli/pipeline/services/command_line.py +11 -1
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/extraction/dependency/services/import_resolver.py +9 -27
- modwire-9.1.0/src/modwire/extraction/dependency/services/suffix_index.py +30 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/extraction/extractors/models/extraction_request.py +0 -1
- modwire-9.1.0/src/modwire/extraction/extractors/models/extractor_resource.py +6 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/extraction/extractors/models/extractor_runtime.py +2 -1
- modwire-9.1.0/src/modwire/extraction/extractors/resources/php/build.py +27 -0
- {modwire-8.0.0/src/modwire/cli/resources/extractors → modwire-9.1.0/src/modwire/extraction/extractors/resources}/php/script.php +0 -0
- {modwire-8.0.0/src/modwire/cli/resources/extractors → modwire-9.1.0/src/modwire/extraction/extractors/resources}/php/script.src.php +2 -2
- modwire-9.1.0/src/modwire/extraction/extractors/resources/typescript/build.py +23 -0
- {modwire-8.0.0/src/modwire/cli/resources/extractors → modwire-9.1.0/src/modwire/extraction/extractors/resources}/typescript/script.js +2 -2
- {modwire-8.0.0/src/modwire/cli/resources/extractors → modwire-9.1.0/src/modwire/extraction/extractors/resources}/typescript/script.ts +2 -2
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/extraction/extractors/services/php_extractor.py +6 -1
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/extraction/extractors/services/python_extractor.py +6 -1
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/extraction/extractors/services/python_syntax_parser.py +7 -7
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/extraction/extractors/services/type_script_extractor.py +2 -1
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/shared/code/models/code_map.py +2 -1
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/shared/code/models/source_extraction.py +1 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/shared/code/models/types.py +2 -2
- {modwire-8.0.0 → modwire-9.1.0}/tests/application/base_test.py +3 -1
- {modwire-8.0.0 → modwire-9.1.0}/tests/application/test_01_attacks.py +1 -1
- {modwire-8.0.0 → modwire-9.1.0}/tests/application/test_06_happy_path.py +1 -1
- modwire-9.1.0/tests/application/test_07_cache.py +143 -0
- modwire-9.1.0/tests/architecture/base_test.py +13 -0
- modwire-9.1.0/tests/architecture/boundaries/base_test.py +38 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/architecture/boundaries/test_01_attacks.py +5 -5
- {modwire-8.0.0 → modwire-9.1.0}/tests/architecture/boundaries/test_02_invariants.py +6 -6
- {modwire-8.0.0 → modwire-9.1.0}/tests/architecture/boundaries/test_03_public_api.py +2 -2
- {modwire-8.0.0 → modwire-9.1.0}/tests/architecture/boundaries/test_04_paths.py +5 -5
- modwire-9.1.0/tests/architecture/insights/base_test.py +12 -0
- modwire-9.1.0/tests/architecture/insights/test_02_invariants.py +79 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/architecture/map/test_02_patterns.py +20 -9
- {modwire-8.0.0 → modwire-9.1.0}/tests/architecture/report/test_02_invariants.py +5 -3
- modwire-9.1.0/tests/architecture/shape/base_test.py +7 -0
- modwire-9.1.0/tests/architecture/shape/test_01_limits.py +126 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/architecture/shape/test_02_invariants.py +9 -5
- modwire-9.1.0/tests/cli/documentation/test_02_invariants.py +19 -0
- modwire-9.1.0/tests/cli/pipeline/base_test.py +24 -0
- modwire-9.1.0/tests/cli/pipeline/test_02_invariants.py +115 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/extraction/base_test.py +1 -1
- modwire-9.1.0/tests/extraction/big_projects/project.py +19 -0
- modwire-9.1.0/tests/extraction/big_projects/projects.json +32 -0
- modwire-9.1.0/tests/extraction/big_projects/resolution_results.json +50 -0
- modwire-9.1.0/tests/extraction/big_projects/results.json +20 -0
- modwire-9.1.0/tests/extraction/big_projects/run.py +210 -0
- modwire-9.1.0/tests/extraction/cache_benchmark/run.py +155 -0
- modwire-9.1.0/tests/extraction/dependency/__init__.py +0 -0
- modwire-9.1.0/tests/extraction/dependency/test_02_invariants.py +107 -0
- modwire-9.1.0/tests/extraction/extractors/__init__.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/extraction/extractors/test_03_native_symbols.py +5 -5
- modwire-9.1.0/tests/extraction/scan_benchmark/__init__.py +0 -0
- modwire-9.1.0/tests/extraction/scan_benchmark/prepare.py +68 -0
- modwire-9.1.0/tests/extraction/scan_benchmark/results.json +46 -0
- modwire-9.1.0/tests/extraction/scan_benchmark/run.py +93 -0
- modwire-9.1.0/tests/shared/__init__.py +0 -0
- modwire-9.1.0/tests/shared/code/__init__.py +0 -0
- modwire-9.1.0/tests/shared/code/test_02_invariants.py +67 -0
- modwire-9.1.0/tests/support/__init__.py +0 -0
- modwire-9.1.0/tests/support/code_map.py +163 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/support/service_test.py +7 -1
- modwire-8.0.0/.modwire/architecture.yaml +0 -122
- modwire-8.0.0/Makefile +0 -65
- modwire-8.0.0/PKG-INFO +0 -57
- modwire-8.0.0/README.md +0 -29
- modwire-8.0.0/docs/legacy/architecture/.github/workflows/ci.yml +0 -15
- modwire-8.0.0/docs/legacy/architecture/.github/workflows/human-approval.yml +0 -133
- modwire-8.0.0/docs/legacy/architecture/.github/workflows/issue-metadata-check.yml +0 -17
- modwire-8.0.0/docs/legacy/architecture/.github/workflows/issue-metadata.yml +0 -87
- modwire-8.0.0/docs/legacy/architecture/.github/workflows/python-package.yml +0 -84
- modwire-8.0.0/docs/legacy/architecture/.github/workflows/python-release-assets.yml +0 -36
- modwire-8.0.0/docs/legacy/architecture/.github/workflows/python-release-build.yml +0 -86
- modwire-8.0.0/docs/legacy/architecture/.github/workflows/release.yml +0 -47
- modwire-8.0.0/docs/legacy/architecture/.modwire/boundaries.yaml +0 -44
- modwire-8.0.0/docs/legacy/architecture/.modwire/shape.yaml +0 -9
- modwire-8.0.0/docs/legacy/architecture/CHANGELOG.md +0 -140
- modwire-8.0.0/docs/legacy/architecture/CONTRIBUTING.md +0 -38
- modwire-8.0.0/docs/legacy/architecture/LICENSE +0 -21
- modwire-8.0.0/docs/legacy/architecture/MANIFEST.in +0 -2
- modwire-8.0.0/docs/legacy/architecture/Makefile +0 -7
- modwire-8.0.0/docs/legacy/architecture/README.md +0 -105
- modwire-8.0.0/docs/legacy/architecture/docs/migration-5.md +0 -52
- modwire-8.0.0/docs/legacy/architecture/docs/migration-6.md +0 -32
- modwire-8.0.0/docs/legacy/architecture/docs/scaffolding/golden/cli.yaml +0 -44
- modwire-8.0.0/docs/legacy/architecture/docs/scaffolding/golden/library.yaml +0 -40
- modwire-8.0.0/docs/legacy/architecture/docs/scaffolding/repository-contract-v1.yaml +0 -147
- modwire-8.0.0/docs/legacy/architecture/docs/wiki/Development-checks.md +0 -25
- modwire-8.0.0/docs/legacy/architecture/docs/wiki/Home.md +0 -27
- modwire-8.0.0/docs/legacy/architecture/docs/wiki/Reporting-bugs.md +0 -24
- modwire-8.0.0/docs/legacy/architecture/docs/wiki/Requesting-features.md +0 -26
- modwire-8.0.0/docs/legacy/architecture/pyproject.toml +0 -88
- modwire-8.0.0/docs/legacy/cli/.github/workflows/ci.yml +0 -17
- modwire-8.0.0/docs/legacy/cli/.github/workflows/release.yml +0 -40
- modwire-8.0.0/docs/legacy/cli/.modwire/INDEX.md +0 -10
- modwire-8.0.0/docs/legacy/cli/.modwire/architecture.yaml +0 -42
- modwire-8.0.0/docs/legacy/cli/.modwire/docs/PROJECT.md +0 -16
- modwire-8.0.0/docs/legacy/cli/LICENSE +0 -21
- modwire-8.0.0/docs/legacy/cli/Makefile +0 -14
- modwire-8.0.0/docs/legacy/cli/README.md +0 -73
- modwire-8.0.0/docs/legacy/cli/pyproject.toml +0 -85
- modwire-8.0.0/docs/legacy/extraction/.github/workflows/ci.yml +0 -50
- modwire-8.0.0/docs/legacy/extraction/.github/workflows/human-approval.yml +0 -133
- modwire-8.0.0/docs/legacy/extraction/.github/workflows/release.yml +0 -40
- modwire-8.0.0/docs/legacy/extraction/CHANGELOG.md +0 -68
- modwire-8.0.0/docs/legacy/extraction/CONTRIBUTING.md +0 -85
- modwire-8.0.0/docs/legacy/extraction/LICENSE +0 -21
- modwire-8.0.0/docs/legacy/extraction/MANIFEST.in +0 -6
- modwire-8.0.0/docs/legacy/extraction/Makefile +0 -4
- modwire-8.0.0/docs/legacy/extraction/README.md +0 -73
- modwire-8.0.0/docs/legacy/extraction/RELEASE_CHECKLIST.md +0 -40
- modwire-8.0.0/docs/legacy/extraction/docs/migration-2.md +0 -59
- modwire-8.0.0/docs/legacy/extraction/pyproject.toml +0 -94
- modwire-8.0.0/docs/planning/baselines.json +0 -35
- modwire-8.0.0/docs/planning/diagrams/01-ownership.md +0 -32
- modwire-8.0.0/docs/planning/diagrams/01-ownership.snapshot.json +0 -201
- modwire-8.0.0/docs/planning/diagrams/02-issue-dependencies.md +0 -45
- modwire-8.0.0/docs/planning/diagrams/02-issue-dependencies.snapshot.json +0 -336
- modwire-8.0.0/docs/planning/diagrams/03-release-gates.md +0 -39
- modwire-8.0.0/docs/planning/diagrams/03-release-gates.snapshot.json +0 -280
- modwire-8.0.0/docs/planning/diagrams/README.md +0 -11
- modwire-8.0.0/docs/planning/diagrams/manifest.json +0 -28
- modwire-8.0.0/docs/planning/issues.json +0 -107
- modwire-8.0.0/docs/planning/namespace-migration.md +0 -17
- modwire-8.0.0/docs/planning/preflight.md +0 -64
- modwire-8.0.0/docs/planning/removed-modules.json +0 -16
- modwire-8.0.0/docs/planning/report-model-migration.json +0 -11
- modwire-8.0.0/docs/planning/source-imports.json +0 -1070
- modwire-8.0.0/src/modwire/application.py +0 -77
- modwire-8.0.0/src/modwire/cli/documentation/models/defaults.py +0 -6
- modwire-8.0.0/src/modwire/cli/documentation/services/documentation_generator.py +0 -43
- modwire-8.0.0/src/modwire/cli/facade.py +0 -87
- modwire-8.0.0/src/modwire/cli/resources/templates/AGENTS.md +0 -1
- modwire-8.0.0/src/modwire/cli/resources/templates/ARCHITECTURE.md +0 -49
- modwire-8.0.0/src/modwire/cli/resources/templates/MODWIRE.md +0 -5
- modwire-8.0.0/src/modwire/cli/resources/templates/RULES.md +0 -6
- modwire-8.0.0/src/modwire/cli/resources/templates/TESTING.md +0 -7
- modwire-8.0.0/src/modwire/cli/resources/templates/WORKFLOW.md +0 -8
- modwire-8.0.0/src/modwire/shared/values/__init__.py +0 -1
- modwire-8.0.0/tests/architecture/base_test.py +0 -22
- modwire-8.0.0/tests/architecture/boundaries/base_test.py +0 -8
- modwire-8.0.0/tests/architecture/insights/base_test.py +0 -7
- modwire-8.0.0/tests/architecture/insights/test_02_invariants.py +0 -64
- modwire-8.0.0/tests/architecture/shape/base_test.py +0 -6
- modwire-8.0.0/tests/architecture/shape/test_01_limits.py +0 -68
- modwire-8.0.0/tests/cli/documentation/test_02_invariants.py +0 -32
- modwire-8.0.0/tests/cli/pipeline/base_test.py +0 -14
- modwire-8.0.0/tests/cli/pipeline/test_02_invariants.py +0 -60
- modwire-8.0.0/tests/extraction/dependency/test_02_invariants.py +0 -41
- modwire-8.0.0/tests/shared/code/test_02_invariants.py +0 -52
- {modwire-8.0.0 → modwire-9.1.0}/.github/workflows/release.yml +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/.gitignore +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/AGENTS.md +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/LICENSE +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/scripts/generate_docs.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/setup.cfg +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/setup.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/__init__.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/__main__.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/__init__.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/boundaries/__init__.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/boundaries/application.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/boundaries/domain.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/boundaries/models/__init__.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/boundaries/models/edge_rule_violation.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/boundaries/models/flow_report.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/boundaries/models/flow_violation.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/boundaries/models/types.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/boundaries/services/__init__.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/boundaries/services/backward_flow_analyzer.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/boundaries/services/boundaries_flow_analyzer.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/boundaries/services/module_boundary_analyzer.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/boundaries/services/no_cycles_flow_analyzer.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/boundaries/services/no_reentry_flow_analyzer.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/config/__init__.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/config/application.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/config/models/__init__.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/config/models/architecture_config.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/config/models/boundaries_config.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/config/models/boundary_rule.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/config/models/configuration_value.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/config/models/flow_realm.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/config/models/flow_rules.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/config/models/shape_config.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/config/models/shape_realm.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/config/models/shape_rules.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/config/models/tag_rule.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/facade.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/insights/__init__.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/insights/application.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/insights/domain.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/insights/models/__init__.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/insights/models/callable_report_entry.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/insights/models/callables_report.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/insights/models/clusters_report.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/insights/models/clusters_report_item.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/insights/models/coherence_report.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/insights/models/exports_report.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/insights/models/exports_report_item.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/insights/models/hotspots_report.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/insights/models/hotspots_report_item.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/insights/models/insight_report.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/insights/services/__init__.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/insights/services/callables_reporter.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/insights/services/clusters_reporter.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/insights/services/coherence_reporter.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/insights/services/exports_reporter.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/insights/services/hotspots_reporter.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/insights/services/insight_report_field_map.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/map/__init__.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/map/application.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/map/domain.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/map/models/__init__.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/map/models/architecture_map.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/map/models/architecture_realm.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/map/models/tag_map.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/map/models/tag_match.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/map/services/__init__.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/map/services/architecture_map_loader.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/map/services/tag_matcher.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/report/__init__.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/report/application.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/report/domain.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/report/models/__init__.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/report/models/architecture_group.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/report/models/map_report.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/report/models/report_catalog.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/report/models/report_descriptor.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/report/models/report_item.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/report/models/report_metadata.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/report/models/report_node.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/report/models/report_section.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/report/services/__init__.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/report/services/map_report_collector.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/shape/__init__.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/shape/application.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/shape/domain.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/shape/models/__init__.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/shape/models/shape_realm_architecture_map.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/shape/models/shape_report.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/shape/models/shape_violation.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/shape/services/__init__.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/shape/services/abstract_class_resolver.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/shape/services/callable_resolver.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/shape/services/class_resolver.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/shape/services/file_resolver.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/shape/services/import_resolver.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/shape/services/property_resolver.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/shape/services/signature_resolver.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/architecture/shape/services/symbol_resolver.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/autowiring.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/cli/__init__.py +0 -0
- {modwire-8.0.0/src/modwire/cli/resources/models → modwire-9.1.0/src/modwire/cli/cache}/__init__.py +0 -0
- {modwire-8.0.0/src/modwire/extraction → modwire-9.1.0/src/modwire/cli/cache/models}/__init__.py +0 -0
- {modwire-8.0.0/src/modwire/shared → modwire-9.1.0/src/modwire/cli/cache/services}/__init__.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/cli/documentation/__init__.py +0 -0
- {modwire-8.0.0/src/modwire/cli/documentation/models → modwire-9.1.0/src/modwire/cli/documentation/services}/__init__.py +0 -0
- {modwire-8.0.0/src/modwire/cli/documentation/services → modwire-9.1.0/src/modwire/cli/initialization}/__init__.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/cli/initialization/application.py +0 -0
- {modwire-8.0.0/src/modwire/cli/initialization → modwire-9.1.0/src/modwire/cli/initialization/models}/__init__.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/cli/initialization/models/initialization_result.py +0 -0
- {modwire-8.0.0/src/modwire/cli/initialization/models → modwire-9.1.0/src/modwire/cli/initialization/services}/__init__.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/cli/initialization/services/initialization_service.py +0 -0
- {modwire-8.0.0/src/modwire/cli/initialization/services → modwire-9.1.0/src/modwire/cli/pipeline}/__init__.py +0 -0
- {modwire-8.0.0/src/modwire/cli/pipeline → modwire-9.1.0/src/modwire/cli/pipeline/models}/__init__.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/cli/pipeline/models/extractor_batch_input.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/cli/pipeline/models/extractor_command_input.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/cli/pipeline/models/extractor_source_input.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/cli/pipeline/models/report_pipeline_context.py +0 -0
- {modwire-8.0.0/src/modwire/cli/pipeline/models → modwire-9.1.0/src/modwire/cli/pipeline/services}/__init__.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/cli/pipeline/services/callables_insight.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/cli/pipeline/services/clusters_insight.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/cli/pipeline/services/coherence_insight.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/cli/pipeline/services/configuration_loader.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/cli/pipeline/services/extractor_command.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/cli/pipeline/services/flow_violations.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/cli/pipeline/services/hotspots_insight.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/cli/pipeline/services/map_tree.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/cli/pipeline/services/output_console.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/cli/pipeline/services/shape_violations.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/cli/pipeline/services/success.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/cli/pipeline/services/unknown_files_warning.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/cli/pipeline/services/unused_exports_insight.py +0 -0
- {modwire-8.0.0/src/modwire/cli/pipeline/services → modwire-9.1.0/src/modwire/cli/resources}/__init__.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/cli/resources/application.py +0 -0
- {modwire-8.0.0/src/modwire/shared/values → modwire-9.1.0/src/modwire/cli/resources}/models/__init__.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/cli/resources/models/defaults.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/cli/resources/models/init_asset.py +0 -0
- {modwire-8.0.0/docs/legacy/cli → modwire-9.1.0/src/modwire/cli/resources/templates}/AGENTS.md +0 -0
- {modwire-8.0.0/docs/legacy/cli/.modwire/docs → modwire-9.1.0/src/modwire/cli/resources/templates}/ARCHITECTURE.md +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/cli/resources/templates/INDEX.md +0 -0
- {modwire-8.0.0/docs/legacy/cli/.modwire/docs → modwire-9.1.0/src/modwire/cli/resources/templates}/MODWIRE.md +0 -0
- {modwire-8.0.0/docs/legacy/cli/.modwire/docs → modwire-9.1.0/src/modwire/cli/resources/templates}/RULES.md +0 -0
- {modwire-8.0.0/docs/legacy/cli/.modwire/docs → modwire-9.1.0/src/modwire/cli/resources/templates}/TESTING.md +0 -0
- {modwire-8.0.0/docs/legacy/cli/.modwire/docs → modwire-9.1.0/src/modwire/cli/resources/templates}/WORKFLOW.md +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/cli/resources/templates/architecture.yaml +0 -0
- {modwire-8.0.0/tests → modwire-9.1.0/src/modwire/extraction}/__init__.py +0 -0
- {modwire-8.0.0/src/modwire/cli/resources → modwire-9.1.0/src/modwire/extraction/dependency}/__init__.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/extraction/dependency/application.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/extraction/dependency/domain.py +0 -0
- {modwire-8.0.0/src/modwire/cli/resources/extractors → modwire-9.1.0/src/modwire/extraction/dependency/services}/__init__.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/extraction/dependency/services/graph_builder.py +0 -0
- {modwire-8.0.0/src/modwire/cli/resources/extractors/python → modwire-9.1.0/src/modwire/extraction/extractors}/__init__.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/extraction/extractors/application.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/extraction/extractors/domain.py +0 -0
- {modwire-8.0.0/src/modwire/extraction/dependency → modwire-9.1.0/src/modwire/extraction/extractors/models}/__init__.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/extraction/extractors/models/batch_config.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/extraction/extractors/models/python_call_context.py +0 -0
- {modwire-8.0.0/src/modwire/extraction/dependency/services → modwire-9.1.0/src/modwire/extraction/extractors/resources}/__init__.py +0 -0
- {modwire-8.0.0/src/modwire/cli/resources/extractors → modwire-9.1.0/src/modwire/extraction/extractors/resources}/php/build.php +0 -0
- {modwire-8.0.0/src/modwire/cli/resources/extractors → modwire-9.1.0/src/modwire/extraction/extractors/resources}/php/composer.json +0 -0
- {modwire-8.0.0/src/modwire/cli/resources/extractors → modwire-9.1.0/src/modwire/extraction/extractors/resources}/php/composer.lock +0 -0
- {modwire-8.0.0/src/modwire/extraction/extractors → modwire-9.1.0/src/modwire/extraction/extractors/resources/python}/__init__.py +0 -0
- {modwire-8.0.0/src/modwire/cli/resources/extractors → modwire-9.1.0/src/modwire/extraction/extractors/resources}/python/script.py +0 -0
- {modwire-8.0.0/src/modwire/cli/resources/extractors → modwire-9.1.0/src/modwire/extraction/extractors/resources}/typescript/build.mjs +0 -0
- {modwire-8.0.0/src/modwire/cli/resources/extractors → modwire-9.1.0/src/modwire/extraction/extractors/resources}/typescript/package-lock.json +0 -0
- {modwire-8.0.0/src/modwire/cli/resources/extractors → modwire-9.1.0/src/modwire/extraction/extractors/resources}/typescript/package.json +0 -0
- {modwire-8.0.0/src/modwire/cli/resources/extractors → modwire-9.1.0/src/modwire/extraction/extractors/resources}/typescript/tsconfig.json +0 -0
- {modwire-8.0.0/src/modwire/extraction/extractors/models → modwire-9.1.0/src/modwire/extraction/extractors/services}/__init__.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/extraction/extractors/services/python_call_reader.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/extraction/facade.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/py.typed +0 -0
- {modwire-8.0.0/tests/application → modwire-9.1.0/src/modwire/shared}/__init__.py +0 -0
- {modwire-8.0.0/src/modwire/extraction/extractors/services → modwire-9.1.0/src/modwire/shared/code}/__init__.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/shared/code/application.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/shared/code/domain.py +0 -0
- {modwire-8.0.0/src/modwire/shared/code → modwire-9.1.0/src/modwire/shared/code/models}/__init__.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/shared/code/models/code_package.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/shared/code/models/dependency_edge_result.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/shared/code/models/dependency_graph.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/shared/code/models/dependency_node_result.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/shared/code/models/duplicate_identity_error.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/shared/code/models/edge.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/shared/code/models/edge_resolution.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/shared/code/models/identity.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/shared/code/models/node.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/shared/code/models/query_builder.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/shared/code/models/query_types.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/shared/code/models/queryable_code_map.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/shared/code/models/source_abstract_class.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/shared/code/models/source_call.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/shared/code/models/source_callable.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/shared/code/models/source_callable_symbol.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/shared/code/models/source_class.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/shared/code/models/source_class_method.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/shared/code/models/source_class_property.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/shared/code/models/source_export.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/shared/code/models/source_file.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/shared/code/models/source_file_result.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/shared/code/models/source_function.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/shared/code/models/source_import.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/shared/code/models/source_imported_symbol.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/shared/code/models/source_interface.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/shared/code/models/source_item_result.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/shared/code/models/source_parameter.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/shared/code/models/source_signature.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/shared/code/models/source_symbol.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/shared/code/models/source_type.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/shared/code/models/source_value.py +0 -0
- {modwire-8.0.0/src/modwire/shared/code/models → modwire-9.1.0/src/modwire/shared/code/services}/__init__.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/shared/code/services/glob_path_matcher.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/shared/code/services/identity_resolver.py +0 -0
- {modwire-8.0.0/src/modwire/shared/code/services → modwire-9.1.0/src/modwire/shared/values}/__init__.py +0 -0
- {modwire-8.0.0/tests/architecture → modwire-9.1.0/src/modwire/shared/values/models}/__init__.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/src/modwire/shared/values/models/value_model.py +0 -0
- {modwire-8.0.0/tests/architecture/boundaries → modwire-9.1.0/tests}/__init__.py +0 -0
- {modwire-8.0.0/tests/architecture/config → modwire-9.1.0/tests/application}/__init__.py +0 -0
- {modwire-8.0.0/tests/architecture/insights → modwire-9.1.0/tests/architecture}/__init__.py +0 -0
- {modwire-8.0.0/tests/architecture/map → modwire-9.1.0/tests/architecture/boundaries}/__init__.py +0 -0
- {modwire-8.0.0/tests/architecture/report → modwire-9.1.0/tests/architecture/config}/__init__.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/architecture/config/test_01_attacks.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/architecture/config/test_02_invariants.py +0 -0
- {modwire-8.0.0/tests/architecture/shape → modwire-9.1.0/tests/architecture/insights}/__init__.py +0 -0
- {modwire-8.0.0/tests/cli → modwire-9.1.0/tests/architecture/map}/__init__.py +0 -0
- {modwire-8.0.0/tests/cli/documentation → modwire-9.1.0/tests/architecture/report}/__init__.py +0 -0
- {modwire-8.0.0/tests/cli/initialization → modwire-9.1.0/tests/architecture/shape}/__init__.py +0 -0
- {modwire-8.0.0/tests/cli/pipeline → modwire-9.1.0/tests/cli}/__init__.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/cli/base_test.py +0 -0
- {modwire-8.0.0/tests/extraction → modwire-9.1.0/tests/cli/documentation}/__init__.py +0 -0
- {modwire-8.0.0/tests/extraction/dependency → modwire-9.1.0/tests/cli/initialization}/__init__.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/cli/initialization/test_01_attacks.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/cli/initialization/test_02_invariants.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/cli/initialization/test_03_interruption.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/cli/initialization/test_04_cleanup.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/cli/initialization/test_05_recovery.py +0 -0
- {modwire-8.0.0/tests/extraction/extractors → modwire-9.1.0/tests/cli/pipeline}/__init__.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/cli/pipeline/test_01_attacks.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/cli/pipeline/test_03_interruption.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/cli/pipeline/test_04_command_transport.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/cli/pipeline/test_05_recovery.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/cli/pipeline/test_06_happy_path.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/conftest.py +0 -0
- {modwire-8.0.0/tests/shared → modwire-9.1.0/tests/extraction}/__init__.py +0 -0
- {modwire-8.0.0/tests/shared/code → modwire-9.1.0/tests/extraction/big_projects}/__init__.py +0 -0
- {modwire-8.0.0/tests/support → modwire-9.1.0/tests/extraction/cache_benchmark}/__init__.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/extraction/extractors/test_01_attacks.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/extraction/extractors/test_02_invariants.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/fixtures/languages/php/ignored/example_generated.php +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/fixtures/languages/php/src/example_application/example_actions/example_action.php +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/fixtures/languages/php/src/example_domain/example_model/example_record.php +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/fixtures/languages/php/src/example_domain/example_services/example_policy.php +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/fixtures/languages/php/src/example_interfaces/example_http/example_controller.php +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/fixtures/languages/python/ignored/example_generated.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/fixtures/languages/python/src/example_application/example_actions/example_action.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/fixtures/languages/python/src/example_domain/example_model/example_record.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/fixtures/languages/python/src/example_domain/example_services/example_policy.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/fixtures/languages/python/src/example_interfaces/example_http/example_controller.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/fixtures/languages/typescript/ignored/example_generated.ts +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/fixtures/languages/typescript/src/example_application/example_actions/example_action.ts +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/fixtures/languages/typescript/src/example_domain/example_model/example_record.ts +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/fixtures/languages/typescript/src/example_domain/example_model/example_view.tsx +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/fixtures/languages/typescript/src/example_domain/example_services/example_audit.js +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/fixtures/languages/typescript/src/example_domain/example_services/example_callables.ts +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/fixtures/languages/typescript/src/example_domain/example_services/example_policy.ts +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/fixtures/languages/typescript/src/example_interfaces/example_http/example_controller.ts +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/fixtures/languages/typescript/src/example_interfaces/example_http/example_view.jsx +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/fixtures/syntax/php/example_shapes.php +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/fixtures/syntax/python/example_shapes.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/fixtures/syntax/typescript/example_shapes.ts +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/tests/support/base_test.py +0 -0
- {modwire-8.0.0 → modwire-9.1.0}/uv.lock +0 -0
|
@@ -10,75 +10,8 @@ setup.py
|
|
|
10
10
|
uv.lock
|
|
11
11
|
.github/workflows/ci.yml
|
|
12
12
|
.github/workflows/release.yml
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
docs/legacy/architecture/CONTRIBUTING.md
|
|
16
|
-
docs/legacy/architecture/LICENSE
|
|
17
|
-
docs/legacy/architecture/MANIFEST.in
|
|
18
|
-
docs/legacy/architecture/Makefile
|
|
19
|
-
docs/legacy/architecture/README.md
|
|
20
|
-
docs/legacy/architecture/pyproject.toml
|
|
21
|
-
docs/legacy/architecture/.github/workflows/ci.yml
|
|
22
|
-
docs/legacy/architecture/.github/workflows/human-approval.yml
|
|
23
|
-
docs/legacy/architecture/.github/workflows/issue-metadata-check.yml
|
|
24
|
-
docs/legacy/architecture/.github/workflows/issue-metadata.yml
|
|
25
|
-
docs/legacy/architecture/.github/workflows/python-package.yml
|
|
26
|
-
docs/legacy/architecture/.github/workflows/python-release-assets.yml
|
|
27
|
-
docs/legacy/architecture/.github/workflows/python-release-build.yml
|
|
28
|
-
docs/legacy/architecture/.github/workflows/release.yml
|
|
29
|
-
docs/legacy/architecture/.modwire/boundaries.yaml
|
|
30
|
-
docs/legacy/architecture/.modwire/shape.yaml
|
|
31
|
-
docs/legacy/architecture/docs/migration-5.md
|
|
32
|
-
docs/legacy/architecture/docs/migration-6.md
|
|
33
|
-
docs/legacy/architecture/docs/scaffolding/repository-contract-v1.yaml
|
|
34
|
-
docs/legacy/architecture/docs/scaffolding/golden/cli.yaml
|
|
35
|
-
docs/legacy/architecture/docs/scaffolding/golden/library.yaml
|
|
36
|
-
docs/legacy/architecture/docs/wiki/Development-checks.md
|
|
37
|
-
docs/legacy/architecture/docs/wiki/Home.md
|
|
38
|
-
docs/legacy/architecture/docs/wiki/Reporting-bugs.md
|
|
39
|
-
docs/legacy/architecture/docs/wiki/Requesting-features.md
|
|
40
|
-
docs/legacy/cli/AGENTS.md
|
|
41
|
-
docs/legacy/cli/LICENSE
|
|
42
|
-
docs/legacy/cli/Makefile
|
|
43
|
-
docs/legacy/cli/README.md
|
|
44
|
-
docs/legacy/cli/pyproject.toml
|
|
45
|
-
docs/legacy/cli/.github/workflows/ci.yml
|
|
46
|
-
docs/legacy/cli/.github/workflows/release.yml
|
|
47
|
-
docs/legacy/cli/.modwire/INDEX.md
|
|
48
|
-
docs/legacy/cli/.modwire/architecture.yaml
|
|
49
|
-
docs/legacy/cli/.modwire/docs/ARCHITECTURE.md
|
|
50
|
-
docs/legacy/cli/.modwire/docs/MODWIRE.md
|
|
51
|
-
docs/legacy/cli/.modwire/docs/PROJECT.md
|
|
52
|
-
docs/legacy/cli/.modwire/docs/RULES.md
|
|
53
|
-
docs/legacy/cli/.modwire/docs/TESTING.md
|
|
54
|
-
docs/legacy/cli/.modwire/docs/WORKFLOW.md
|
|
55
|
-
docs/legacy/extraction/CHANGELOG.md
|
|
56
|
-
docs/legacy/extraction/CONTRIBUTING.md
|
|
57
|
-
docs/legacy/extraction/LICENSE
|
|
58
|
-
docs/legacy/extraction/MANIFEST.in
|
|
59
|
-
docs/legacy/extraction/Makefile
|
|
60
|
-
docs/legacy/extraction/README.md
|
|
61
|
-
docs/legacy/extraction/RELEASE_CHECKLIST.md
|
|
62
|
-
docs/legacy/extraction/pyproject.toml
|
|
63
|
-
docs/legacy/extraction/.github/workflows/ci.yml
|
|
64
|
-
docs/legacy/extraction/.github/workflows/human-approval.yml
|
|
65
|
-
docs/legacy/extraction/.github/workflows/release.yml
|
|
66
|
-
docs/legacy/extraction/docs/migration-2.md
|
|
67
|
-
docs/planning/baselines.json
|
|
68
|
-
docs/planning/issues.json
|
|
69
|
-
docs/planning/namespace-migration.md
|
|
70
|
-
docs/planning/preflight.md
|
|
71
|
-
docs/planning/removed-modules.json
|
|
72
|
-
docs/planning/report-model-migration.json
|
|
73
|
-
docs/planning/source-imports.json
|
|
74
|
-
docs/planning/diagrams/01-ownership.md
|
|
75
|
-
docs/planning/diagrams/01-ownership.snapshot.json
|
|
76
|
-
docs/planning/diagrams/02-issue-dependencies.md
|
|
77
|
-
docs/planning/diagrams/02-issue-dependencies.snapshot.json
|
|
78
|
-
docs/planning/diagrams/03-release-gates.md
|
|
79
|
-
docs/planning/diagrams/03-release-gates.snapshot.json
|
|
80
|
-
docs/planning/diagrams/README.md
|
|
81
|
-
docs/planning/diagrams/manifest.json
|
|
13
|
+
docs/target-language-ownership.md
|
|
14
|
+
scripts/check_extractors.py
|
|
82
15
|
scripts/generate_docs.py
|
|
83
16
|
scripts/verify_consumer.py
|
|
84
17
|
src/modwire/__init__.py
|
|
@@ -179,10 +112,22 @@ src/modwire/architecture/shape/services/signature_resolver.py
|
|
|
179
112
|
src/modwire/architecture/shape/services/symbol_resolver.py
|
|
180
113
|
src/modwire/cli/__init__.py
|
|
181
114
|
src/modwire/cli/facade.py
|
|
115
|
+
src/modwire/cli/cache/__init__.py
|
|
116
|
+
src/modwire/cli/cache/application.py
|
|
117
|
+
src/modwire/cli/cache/domain.py
|
|
118
|
+
src/modwire/cli/cache/models/__init__.py
|
|
119
|
+
src/modwire/cli/cache/models/cache_entry.py
|
|
120
|
+
src/modwire/cli/cache/models/cache_key.py
|
|
121
|
+
src/modwire/cli/cache/models/cache_options.py
|
|
122
|
+
src/modwire/cli/cache/models/extraction_snapshot.py
|
|
123
|
+
src/modwire/cli/cache/models/source_entry.py
|
|
124
|
+
src/modwire/cli/cache/models/source_inventory.py
|
|
125
|
+
src/modwire/cli/cache/services/__init__.py
|
|
126
|
+
src/modwire/cli/cache/services/cache_codec.py
|
|
127
|
+
src/modwire/cli/cache/services/cache_identity.py
|
|
128
|
+
src/modwire/cli/cache/services/filesystem_cache_storage.py
|
|
182
129
|
src/modwire/cli/documentation/__init__.py
|
|
183
130
|
src/modwire/cli/documentation/application.py
|
|
184
|
-
src/modwire/cli/documentation/models/__init__.py
|
|
185
|
-
src/modwire/cli/documentation/models/defaults.py
|
|
186
131
|
src/modwire/cli/documentation/services/__init__.py
|
|
187
132
|
src/modwire/cli/documentation/services/documentation_generator.py
|
|
188
133
|
src/modwire/cli/initialization/__init__.py
|
|
@@ -200,6 +145,7 @@ src/modwire/cli/pipeline/models/extractor_batch_input.py
|
|
|
200
145
|
src/modwire/cli/pipeline/models/extractor_command_input.py
|
|
201
146
|
src/modwire/cli/pipeline/models/extractor_source_input.py
|
|
202
147
|
src/modwire/cli/pipeline/models/report_pipeline_context.py
|
|
148
|
+
src/modwire/cli/pipeline/models/scan_policy.py
|
|
203
149
|
src/modwire/cli/pipeline/services/__init__.py
|
|
204
150
|
src/modwire/cli/pipeline/services/batch_source_reader.py
|
|
205
151
|
src/modwire/cli/pipeline/services/callables_insight.py
|
|
@@ -218,20 +164,6 @@ src/modwire/cli/pipeline/services/unknown_files_warning.py
|
|
|
218
164
|
src/modwire/cli/pipeline/services/unused_exports_insight.py
|
|
219
165
|
src/modwire/cli/resources/__init__.py
|
|
220
166
|
src/modwire/cli/resources/application.py
|
|
221
|
-
src/modwire/cli/resources/extractors/__init__.py
|
|
222
|
-
src/modwire/cli/resources/extractors/php/build.php
|
|
223
|
-
src/modwire/cli/resources/extractors/php/composer.json
|
|
224
|
-
src/modwire/cli/resources/extractors/php/composer.lock
|
|
225
|
-
src/modwire/cli/resources/extractors/php/script.php
|
|
226
|
-
src/modwire/cli/resources/extractors/php/script.src.php
|
|
227
|
-
src/modwire/cli/resources/extractors/python/__init__.py
|
|
228
|
-
src/modwire/cli/resources/extractors/python/script.py
|
|
229
|
-
src/modwire/cli/resources/extractors/typescript/build.mjs
|
|
230
|
-
src/modwire/cli/resources/extractors/typescript/package-lock.json
|
|
231
|
-
src/modwire/cli/resources/extractors/typescript/package.json
|
|
232
|
-
src/modwire/cli/resources/extractors/typescript/script.js
|
|
233
|
-
src/modwire/cli/resources/extractors/typescript/script.ts
|
|
234
|
-
src/modwire/cli/resources/extractors/typescript/tsconfig.json
|
|
235
167
|
src/modwire/cli/resources/models/__init__.py
|
|
236
168
|
src/modwire/cli/resources/models/defaults.py
|
|
237
169
|
src/modwire/cli/resources/models/init_asset.py
|
|
@@ -251,14 +183,32 @@ src/modwire/extraction/dependency/domain.py
|
|
|
251
183
|
src/modwire/extraction/dependency/services/__init__.py
|
|
252
184
|
src/modwire/extraction/dependency/services/graph_builder.py
|
|
253
185
|
src/modwire/extraction/dependency/services/import_resolver.py
|
|
186
|
+
src/modwire/extraction/dependency/services/suffix_index.py
|
|
254
187
|
src/modwire/extraction/extractors/__init__.py
|
|
255
188
|
src/modwire/extraction/extractors/application.py
|
|
256
189
|
src/modwire/extraction/extractors/domain.py
|
|
257
190
|
src/modwire/extraction/extractors/models/__init__.py
|
|
258
191
|
src/modwire/extraction/extractors/models/batch_config.py
|
|
259
192
|
src/modwire/extraction/extractors/models/extraction_request.py
|
|
193
|
+
src/modwire/extraction/extractors/models/extractor_resource.py
|
|
260
194
|
src/modwire/extraction/extractors/models/extractor_runtime.py
|
|
261
195
|
src/modwire/extraction/extractors/models/python_call_context.py
|
|
196
|
+
src/modwire/extraction/extractors/resources/__init__.py
|
|
197
|
+
src/modwire/extraction/extractors/resources/php/build.php
|
|
198
|
+
src/modwire/extraction/extractors/resources/php/build.py
|
|
199
|
+
src/modwire/extraction/extractors/resources/php/composer.json
|
|
200
|
+
src/modwire/extraction/extractors/resources/php/composer.lock
|
|
201
|
+
src/modwire/extraction/extractors/resources/php/script.php
|
|
202
|
+
src/modwire/extraction/extractors/resources/php/script.src.php
|
|
203
|
+
src/modwire/extraction/extractors/resources/python/__init__.py
|
|
204
|
+
src/modwire/extraction/extractors/resources/python/script.py
|
|
205
|
+
src/modwire/extraction/extractors/resources/typescript/build.mjs
|
|
206
|
+
src/modwire/extraction/extractors/resources/typescript/build.py
|
|
207
|
+
src/modwire/extraction/extractors/resources/typescript/package-lock.json
|
|
208
|
+
src/modwire/extraction/extractors/resources/typescript/package.json
|
|
209
|
+
src/modwire/extraction/extractors/resources/typescript/script.js
|
|
210
|
+
src/modwire/extraction/extractors/resources/typescript/script.ts
|
|
211
|
+
src/modwire/extraction/extractors/resources/typescript/tsconfig.json
|
|
262
212
|
src/modwire/extraction/extractors/services/__init__.py
|
|
263
213
|
src/modwire/extraction/extractors/services/php_extractor.py
|
|
264
214
|
src/modwire/extraction/extractors/services/python_call_reader.py
|
|
@@ -317,6 +267,7 @@ tests/application/__init__.py
|
|
|
317
267
|
tests/application/base_test.py
|
|
318
268
|
tests/application/test_01_attacks.py
|
|
319
269
|
tests/application/test_06_happy_path.py
|
|
270
|
+
tests/application/test_07_cache.py
|
|
320
271
|
tests/architecture/__init__.py
|
|
321
272
|
tests/architecture/base_test.py
|
|
322
273
|
tests/architecture/boundaries/__init__.py
|
|
@@ -359,12 +310,24 @@ tests/cli/pipeline/test_05_recovery.py
|
|
|
359
310
|
tests/cli/pipeline/test_06_happy_path.py
|
|
360
311
|
tests/extraction/__init__.py
|
|
361
312
|
tests/extraction/base_test.py
|
|
313
|
+
tests/extraction/big_projects/__init__.py
|
|
314
|
+
tests/extraction/big_projects/project.py
|
|
315
|
+
tests/extraction/big_projects/projects.json
|
|
316
|
+
tests/extraction/big_projects/resolution_results.json
|
|
317
|
+
tests/extraction/big_projects/results.json
|
|
318
|
+
tests/extraction/big_projects/run.py
|
|
319
|
+
tests/extraction/cache_benchmark/__init__.py
|
|
320
|
+
tests/extraction/cache_benchmark/run.py
|
|
362
321
|
tests/extraction/dependency/__init__.py
|
|
363
322
|
tests/extraction/dependency/test_02_invariants.py
|
|
364
323
|
tests/extraction/extractors/__init__.py
|
|
365
324
|
tests/extraction/extractors/test_01_attacks.py
|
|
366
325
|
tests/extraction/extractors/test_02_invariants.py
|
|
367
326
|
tests/extraction/extractors/test_03_native_symbols.py
|
|
327
|
+
tests/extraction/scan_benchmark/__init__.py
|
|
328
|
+
tests/extraction/scan_benchmark/prepare.py
|
|
329
|
+
tests/extraction/scan_benchmark/results.json
|
|
330
|
+
tests/extraction/scan_benchmark/run.py
|
|
368
331
|
tests/fixtures/languages/php/ignored/example_generated.php
|
|
369
332
|
tests/fixtures/languages/php/src/example_application/example_actions/example_action.php
|
|
370
333
|
tests/fixtures/languages/php/src/example_domain/example_model/example_record.php
|
|
@@ -392,4 +355,5 @@ tests/shared/code/__init__.py
|
|
|
392
355
|
tests/shared/code/test_02_invariants.py
|
|
393
356
|
tests/support/__init__.py
|
|
394
357
|
tests/support/base_test.py
|
|
358
|
+
tests/support/code_map.py
|
|
395
359
|
tests/support/service_test.py
|
|
@@ -10,8 +10,8 @@ permissions:
|
|
|
10
10
|
contents: read
|
|
11
11
|
|
|
12
12
|
jobs:
|
|
13
|
-
|
|
14
|
-
name: Python ${{ matrix.python-version }}
|
|
13
|
+
package:
|
|
14
|
+
name: Package on Python ${{ matrix.python-version }}
|
|
15
15
|
runs-on: ubuntu-latest
|
|
16
16
|
strategy:
|
|
17
17
|
fail-fast: false
|
|
@@ -26,20 +26,11 @@ jobs:
|
|
|
26
26
|
python-version: ${{ matrix.python-version }}
|
|
27
27
|
- run: python -m pip install uv
|
|
28
28
|
- run: uv sync --all-groups --locked
|
|
29
|
-
- run: make
|
|
29
|
+
- run: make host-check
|
|
30
30
|
|
|
31
|
-
|
|
32
|
-
name:
|
|
31
|
+
extractors:
|
|
32
|
+
name: Extractor resources
|
|
33
33
|
runs-on: ubuntu-latest
|
|
34
34
|
steps:
|
|
35
35
|
- uses: actions/checkout@v6
|
|
36
|
-
-
|
|
37
|
-
with:
|
|
38
|
-
node-version: "24"
|
|
39
|
-
cache: npm
|
|
40
|
-
cache-dependency-path: src/modwire/cli/resources/extractors/typescript/package-lock.json
|
|
41
|
-
- uses: shivammathur/setup-php@v2
|
|
42
|
-
with:
|
|
43
|
-
php-version: "8.4"
|
|
44
|
-
tools: composer
|
|
45
|
-
- run: make native-check
|
|
36
|
+
- run: make extractor-check
|
|
@@ -2,8 +2,6 @@ include LICENSE
|
|
|
2
2
|
include README.md
|
|
3
3
|
recursive-include src *.py *.typed *.php *.js *.mjs *.ts *.json *.lock *.md *.yaml
|
|
4
4
|
recursive-include tests *.py *.json *.ts *.tsx *.js *.jsx *.php
|
|
5
|
-
recursive-include docs *.md *.yaml *.json
|
|
6
|
-
recursive-include .modwire *.yaml *.md
|
|
7
5
|
recursive-include scripts *.py
|
|
8
6
|
prune verification
|
|
9
7
|
prune .dev
|
modwire-9.1.0/Makefile
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
DEV_DIR := .dev
|
|
2
|
+
BUILD_DIR := $(DEV_DIR)/build
|
|
3
|
+
DIST_DIR := $(DEV_DIR)/dist
|
|
4
|
+
EGG_INFO_DIR := src/modwire.egg-info
|
|
5
|
+
PROJECT_ROOT := $(CURDIR)
|
|
6
|
+
|
|
7
|
+
export PYTHONPYCACHEPREFIX := $(PROJECT_ROOT)/$(DEV_DIR)/cache/python
|
|
8
|
+
export UV_CACHE_DIR := $(PROJECT_ROOT)/$(DEV_DIR)/cache/uv
|
|
9
|
+
|
|
10
|
+
.PHONY: big-projects build cache-benchmark ci docs docs-check extractor-check format format-check host-check lint package-check scan-benchmark scan-benchmark-fixture test type-check
|
|
11
|
+
|
|
12
|
+
format:
|
|
13
|
+
uv run ruff format src tests scripts
|
|
14
|
+
|
|
15
|
+
format-check:
|
|
16
|
+
uv run ruff format --check src tests scripts
|
|
17
|
+
|
|
18
|
+
lint:
|
|
19
|
+
uv run ruff check src tests scripts
|
|
20
|
+
|
|
21
|
+
type-check:
|
|
22
|
+
uv run pyright src/modwire
|
|
23
|
+
|
|
24
|
+
test:
|
|
25
|
+
mkdir -p $(DEV_DIR)/testing
|
|
26
|
+
uv run pytest
|
|
27
|
+
|
|
28
|
+
big-projects:
|
|
29
|
+
uv run python -m tests.extraction.big_projects.run
|
|
30
|
+
|
|
31
|
+
scan-benchmark-fixture:
|
|
32
|
+
uv run python -m tests.extraction.scan_benchmark.prepare --root .dev/benchmarks/scan-project --source-template "$(SCAN_BENCHMARK_SOURCE)"
|
|
33
|
+
|
|
34
|
+
scan-benchmark:
|
|
35
|
+
uv run python -m tests.extraction.scan_benchmark.run --root .dev/benchmarks/scan-project --language "$(SCAN_BENCHMARK_LANGUAGE)" --excluded-pattern 'example_excluded/**'
|
|
36
|
+
|
|
37
|
+
cache-benchmark:
|
|
38
|
+
uv run python -m tests.extraction.cache_benchmark.run --root "$(CACHE_BENCHMARK_ROOT)" --language "$(CACHE_BENCHMARK_LANGUAGE)" --cache-directory .dev/benchmarks/cache --incremental-source "$(CACHE_BENCHMARK_SOURCE)" --replacement-source "$(CACHE_BENCHMARK_REPLACEMENT)"
|
|
39
|
+
|
|
40
|
+
docs-check:
|
|
41
|
+
uv run python scripts/generate_docs.py --check
|
|
42
|
+
|
|
43
|
+
docs:
|
|
44
|
+
uv run python scripts/generate_docs.py
|
|
45
|
+
|
|
46
|
+
build:
|
|
47
|
+
rm -rf $(BUILD_DIR) $(DIST_DIR) $(EGG_INFO_DIR)
|
|
48
|
+
uv build --out-dir $(DIST_DIR)
|
|
49
|
+
|
|
50
|
+
package-check: build
|
|
51
|
+
uv run twine check $(DIST_DIR)/*
|
|
52
|
+
|
|
53
|
+
extractor-check:
|
|
54
|
+
python3 scripts/check_extractors.py
|
|
55
|
+
|
|
56
|
+
host-check: format-check lint type-check test docs-check package-check
|
|
57
|
+
|
|
58
|
+
ci: host-check extractor-check
|
modwire-9.1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: modwire
|
|
3
|
+
Version: 9.1.0
|
|
4
|
+
Summary: Code extraction, architecture analysis and the Modwire CLI.
|
|
5
|
+
Author: Tomasz Szpak
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/szpak-dev/modwire
|
|
8
|
+
Project-URL: Repository, https://github.com/szpak-dev/modwire
|
|
9
|
+
Project-URL: Issues, https://github.com/szpak-dev/modwire/issues
|
|
10
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
13
|
+
Classifier: Typing :: Typed
|
|
14
|
+
Requires-Python: >=3.12
|
|
15
|
+
Description-Content-Type: text/markdown
|
|
16
|
+
License-File: LICENSE
|
|
17
|
+
Requires-Dist: pydantic>=2.12
|
|
18
|
+
Requires-Dist: pydantic-yaml>=1.7
|
|
19
|
+
Requires-Dist: rich>=13
|
|
20
|
+
Requires-Dist: wireup>=2.12.0
|
|
21
|
+
Provides-Extra: dev
|
|
22
|
+
Requires-Dist: build>=1.3; extra == "dev"
|
|
23
|
+
Requires-Dist: pytest>=9; extra == "dev"
|
|
24
|
+
Requires-Dist: ruff<0.16,>=0.14; extra == "dev"
|
|
25
|
+
Requires-Dist: pyright>=1.1; extra == "dev"
|
|
26
|
+
Requires-Dist: twine>=6; extra == "dev"
|
|
27
|
+
Dynamic: license-file
|
|
28
|
+
|
|
29
|
+
# Modwire
|
|
30
|
+
|
|
31
|
+
## `ModwireApplication`
|
|
32
|
+
|
|
33
|
+
Public entry point for source discovery, extraction, architecture analysis, and the Modwire CLI.
|
|
34
|
+
|
|
35
|
+
### `create`
|
|
36
|
+
|
|
37
|
+
Create an isolated application with all services resolved through Wireup.
|
|
38
|
+
|
|
39
|
+
### `configure`
|
|
40
|
+
|
|
41
|
+
Validate architecture configuration values.
|
|
42
|
+
|
|
43
|
+
### `catalog`
|
|
44
|
+
|
|
45
|
+
Return the available architecture reports.
|
|
46
|
+
|
|
47
|
+
### `analyze`
|
|
48
|
+
|
|
49
|
+
Analyze a code map with a validated architecture configuration.
|
|
50
|
+
|
|
51
|
+
### `analyze_cached`
|
|
52
|
+
|
|
53
|
+
Analyze a code map, reusing reports for an exact map and configuration identity.
|
|
54
|
+
|
|
55
|
+
### `discover`
|
|
56
|
+
|
|
57
|
+
Discover supported source languages beneath a root using the caller's scan policy.
|
|
58
|
+
|
|
59
|
+
### `generate_map`
|
|
60
|
+
|
|
61
|
+
Extract one language and return its code map with honest scan metrics.
|
|
62
|
+
|
|
63
|
+
``files_excluded`` counts only source files encountered and excluded directly.
|
|
64
|
+
``directories_pruned`` counts directories rejected before descent; their
|
|
65
|
+
descendants are deliberately unobserved and are not included in file counts.
|
|
66
|
+
|
|
67
|
+
### `generate_queryable_map`
|
|
68
|
+
|
|
69
|
+
Extract source files and return a queryable code map.
|
|
70
|
+
|
|
71
|
+
### `generate_map_cached`
|
|
72
|
+
|
|
73
|
+
Return a code map with content-addressed source and complete-manifest reuse.
|
|
74
|
+
|
|
75
|
+
### `generate_queryable_map_cached`
|
|
76
|
+
|
|
77
|
+
Return a queryable code map with content-addressed persistent reuse.
|
|
78
|
+
|
|
79
|
+
### `clear_cache`
|
|
80
|
+
|
|
81
|
+
Clear only the Modwire-owned directory for one cache namespace.
|
|
82
|
+
|
|
83
|
+
### `load_configuration`
|
|
84
|
+
|
|
85
|
+
Load and validate an architecture configuration from a directory.
|
|
86
|
+
|
|
87
|
+
### `initialize`
|
|
88
|
+
|
|
89
|
+
Create project-local Modwire configuration and agent guidance.
|
|
90
|
+
|
|
91
|
+
### `generate_documentation`
|
|
92
|
+
|
|
93
|
+
Generate this README from the published interface docstrings, or check that it is current.
|
|
94
|
+
|
|
95
|
+
### `run_extractor`
|
|
96
|
+
|
|
97
|
+
Run the native extractor transport for one supported language.
|
|
98
|
+
|
|
99
|
+
### `run`
|
|
100
|
+
|
|
101
|
+
Run the Modwire command line interface and return its process status.
|
|
102
|
+
|
|
103
|
+
## `CacheOptions`
|
|
104
|
+
|
|
105
|
+
Generic persistent-cache settings supplied by a caller.
|
|
106
|
+
|
|
107
|
+
## `ScanPolicy`
|
|
108
|
+
|
|
109
|
+
Caller-owned filesystem traversal policy with explicit exclusions and opt-in symlink following.
|
modwire-9.1.0/README.md
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# Modwire
|
|
2
|
+
|
|
3
|
+
## `ModwireApplication`
|
|
4
|
+
|
|
5
|
+
Public entry point for source discovery, extraction, architecture analysis, and the Modwire CLI.
|
|
6
|
+
|
|
7
|
+
### `create`
|
|
8
|
+
|
|
9
|
+
Create an isolated application with all services resolved through Wireup.
|
|
10
|
+
|
|
11
|
+
### `configure`
|
|
12
|
+
|
|
13
|
+
Validate architecture configuration values.
|
|
14
|
+
|
|
15
|
+
### `catalog`
|
|
16
|
+
|
|
17
|
+
Return the available architecture reports.
|
|
18
|
+
|
|
19
|
+
### `analyze`
|
|
20
|
+
|
|
21
|
+
Analyze a code map with a validated architecture configuration.
|
|
22
|
+
|
|
23
|
+
### `analyze_cached`
|
|
24
|
+
|
|
25
|
+
Analyze a code map, reusing reports for an exact map and configuration identity.
|
|
26
|
+
|
|
27
|
+
### `discover`
|
|
28
|
+
|
|
29
|
+
Discover supported source languages beneath a root using the caller's scan policy.
|
|
30
|
+
|
|
31
|
+
### `generate_map`
|
|
32
|
+
|
|
33
|
+
Extract one language and return its code map with honest scan metrics.
|
|
34
|
+
|
|
35
|
+
``files_excluded`` counts only source files encountered and excluded directly.
|
|
36
|
+
``directories_pruned`` counts directories rejected before descent; their
|
|
37
|
+
descendants are deliberately unobserved and are not included in file counts.
|
|
38
|
+
|
|
39
|
+
### `generate_queryable_map`
|
|
40
|
+
|
|
41
|
+
Extract source files and return a queryable code map.
|
|
42
|
+
|
|
43
|
+
### `generate_map_cached`
|
|
44
|
+
|
|
45
|
+
Return a code map with content-addressed source and complete-manifest reuse.
|
|
46
|
+
|
|
47
|
+
### `generate_queryable_map_cached`
|
|
48
|
+
|
|
49
|
+
Return a queryable code map with content-addressed persistent reuse.
|
|
50
|
+
|
|
51
|
+
### `clear_cache`
|
|
52
|
+
|
|
53
|
+
Clear only the Modwire-owned directory for one cache namespace.
|
|
54
|
+
|
|
55
|
+
### `load_configuration`
|
|
56
|
+
|
|
57
|
+
Load and validate an architecture configuration from a directory.
|
|
58
|
+
|
|
59
|
+
### `initialize`
|
|
60
|
+
|
|
61
|
+
Create project-local Modwire configuration and agent guidance.
|
|
62
|
+
|
|
63
|
+
### `generate_documentation`
|
|
64
|
+
|
|
65
|
+
Generate this README from the published interface docstrings, or check that it is current.
|
|
66
|
+
|
|
67
|
+
### `run_extractor`
|
|
68
|
+
|
|
69
|
+
Run the native extractor transport for one supported language.
|
|
70
|
+
|
|
71
|
+
### `run`
|
|
72
|
+
|
|
73
|
+
Run the Modwire command line interface and return its process status.
|
|
74
|
+
|
|
75
|
+
## `CacheOptions`
|
|
76
|
+
|
|
77
|
+
Generic persistent-cache settings supplied by a caller.
|
|
78
|
+
|
|
79
|
+
## `ScanPolicy`
|
|
80
|
+
|
|
81
|
+
Caller-owned filesystem traversal policy with explicit exclusions and opt-in symlink following.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Target-language ownership
|
|
2
|
+
|
|
3
|
+
Modwire is hosted and distributed as a Python package. References to Python versions, Python packaging, type checking,
|
|
4
|
+
and Python-based development commands are host concerns rather than analyzed-language behavior.
|
|
5
|
+
|
|
6
|
+
All analyzed-language facts belong to extractor-owned locations:
|
|
7
|
+
|
|
8
|
+
- `src/modwire/extraction/extractors/services/` owns extractor registration, target identity, file extensions, runtime
|
|
9
|
+
commands, parser selection, and batch policy.
|
|
10
|
+
- `src/modwire/extraction/extractors/resources/` owns parser programs, dependency manifests, generated executables,
|
|
11
|
+
and build adapters.
|
|
12
|
+
- `tests/fixtures/languages/` and extractor integration tests own language-specific validation inputs.
|
|
13
|
+
- `tests/extraction/big_projects/projects.json` owns pinned language-specific production fixtures.
|
|
14
|
+
|
|
15
|
+
Shared code, dependency resolution, architecture analysis, traversal, consumer verification, benchmarks, and CI
|
|
16
|
+
orchestration must not contain supported-language tables, runtime commands, extension tables, or language-selection
|
|
17
|
+
branches. Callers select a registered extractor explicitly.
|
|
18
|
+
|
|
19
|
+
## Shared contract version 2
|
|
20
|
+
|
|
21
|
+
The class-level `CodeMap.schema_version` is `2` while the existing serialized envelope remains stable. Callable kinds
|
|
22
|
+
are `function`, `instance_method`, `type_method`, `static_method`,
|
|
23
|
+
`constructor`, `callable_value`, and `anonymous`. Parameter kinds are `positional`, `variadic_positional`,
|
|
24
|
+
`named_only`, and `variadic_named`.
|
|
25
|
+
|
|
26
|
+
Version 1 serialized maps used extractor-specific callable and parameter vocabulary. They are not accepted as version
|
|
27
|
+
2 values. Regenerate them from their source with the same registered extractor; persistent reuse does not yet exist,
|
|
28
|
+
so there is no cache migration or silent compatibility alias.
|
|
29
|
+
|
|
30
|
+
## Adding an extractor
|
|
31
|
+
|
|
32
|
+
Add one automatic Wireup `SourceExtractor` registration, its extractor-owned resources and optional `build.py`
|
|
33
|
+
adapter, and extractor integration fixtures. Package data and the generic build runner discover those resources without
|
|
34
|
+
changes to shared services, CLI traversal, architecture analysis, the top-level Makefile, or CI orchestration.
|
|
@@ -43,7 +43,11 @@ exclude = ["*.__pycache__", "*.__pycache__.*"]
|
|
|
43
43
|
|
|
44
44
|
[tool.setuptools.package-data]
|
|
45
45
|
"modwire" = ["py.typed"]
|
|
46
|
-
"modwire.cli.resources" = ["templates/*"
|
|
46
|
+
"modwire.cli.resources" = ["templates/*"]
|
|
47
|
+
"modwire.extraction.extractors.resources" = ["**/*"]
|
|
48
|
+
|
|
49
|
+
[tool.setuptools.exclude-package-data]
|
|
50
|
+
"*" = ["**/__pycache__/*", "**/*.pyc"]
|
|
47
51
|
|
|
48
52
|
[tool.setuptools_scm]
|
|
49
53
|
tag_regex = '^v(?P<version>\d+\.\d+\.\d+)$'
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import importlib.util
|
|
4
|
+
import shutil
|
|
5
|
+
from collections.abc import Callable
|
|
6
|
+
from pathlib import Path
|
|
7
|
+
from types import ModuleType
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
def load_adapter(path: Path) -> ModuleType:
|
|
11
|
+
spec = importlib.util.spec_from_file_location(f"modwire_extractor_build_{path.parent.name}", path)
|
|
12
|
+
if spec is None or spec.loader is None:
|
|
13
|
+
raise RuntimeError(f"Cannot load extractor build adapter: {path}")
|
|
14
|
+
module = importlib.util.module_from_spec(spec)
|
|
15
|
+
spec.loader.exec_module(module)
|
|
16
|
+
return module
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def main() -> int:
|
|
20
|
+
repository = Path(__file__).resolve().parents[1]
|
|
21
|
+
resources = repository / "src/modwire/extraction/extractors/resources"
|
|
22
|
+
work_root = repository / ".dev/native"
|
|
23
|
+
adapters = tuple(sorted(resources.glob("*/build.py")))
|
|
24
|
+
if not adapters:
|
|
25
|
+
raise RuntimeError(f"No extractor build adapters found beneath: {resources}")
|
|
26
|
+
for path in adapters:
|
|
27
|
+
work = work_root / path.parent.name
|
|
28
|
+
shutil.rmtree(work, ignore_errors=True)
|
|
29
|
+
adapter = getattr(load_adapter(path), "BuildAdapter", None)
|
|
30
|
+
check = getattr(adapter, "check", None)
|
|
31
|
+
if not callable(check):
|
|
32
|
+
raise RuntimeError(f"Extractor build adapter has no BuildAdapter.check method: {path}")
|
|
33
|
+
typed_check: Callable[[Path, Path], None] = check
|
|
34
|
+
typed_check(path.parent, work)
|
|
35
|
+
return 0
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
if __name__ == "__main__":
|
|
39
|
+
raise SystemExit(main())
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import argparse
|
|
1
2
|
import sys
|
|
2
3
|
|
|
3
4
|
from wireup import create_sync_container, injectable
|
|
4
5
|
from wireup.errors import UnknownServiceRequestedError
|
|
5
6
|
|
|
6
|
-
from modwire.application import ModwireApplication
|
|
7
|
+
from modwire.application import ModwireApplication, ScanPolicy
|
|
7
8
|
|
|
8
9
|
|
|
9
10
|
@injectable
|
|
@@ -24,9 +25,14 @@ try:
|
|
|
24
25
|
finally:
|
|
25
26
|
container.close()
|
|
26
27
|
|
|
28
|
+
parser = argparse.ArgumentParser()
|
|
29
|
+
parser.add_argument("root")
|
|
30
|
+
parser.add_argument("--language", required=True)
|
|
31
|
+
arguments = parser.parse_args()
|
|
32
|
+
|
|
27
33
|
application = ModwireApplication.create()
|
|
28
34
|
config = application.configure({"shape": {"realms": [{"name": "example-source", "match": "src"}]}})
|
|
29
|
-
code_map = application.generate_queryable_map(
|
|
35
|
+
code_map = application.generate_queryable_map(arguments.language, arguments.root, ScanPolicy())
|
|
30
36
|
reports = application.analyze(code_map, config)
|
|
31
37
|
assert code_map.files().count() == 1
|
|
32
38
|
assert len(reports) == 4
|