cg-code-graph 0.23.12__tar.gz → 0.23.13__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.
- {cg_code_graph-0.23.12/cg_code_graph.egg-info → cg_code_graph-0.23.13}/PKG-INFO +1 -1
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/__init__.py +1 -1
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/apps.py +2 -1
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/cli.py +14 -3
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/coverage.py +34 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/indexer.py +4 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13/cg_code_graph.egg-info}/PKG-INFO +1 -1
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph.egg-info/SOURCES.txt +1 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_coverage.py +9 -2
- cg_code_graph-0.23.13/tests/test_incomplete_239.py +75 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/LICENSE +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/MANIFEST.in +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/README.md +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/__main__.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/affected.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/agent_rules.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/agents.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/aitools.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/android_ipc.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/apple_ipc.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/blindspots.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/bridges.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/brokers.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/cmake_sources.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/concepts.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/config.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/core/__init__.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/core/cache.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/core/detect.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/core/env.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/core/extractors.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/core/fsutil.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/core/generated.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/core/model.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/core/paths.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/core/plugin.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/core/redact.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/core/store.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/core/syntax_errors.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/dart_isolates.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/doctor.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/explore.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/external.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/graphql.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/guard_facts.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/hooks.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/insecure_transport.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/install_rules.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/jobs.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/link.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/lint_async.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/local_ipc.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/local_sockets.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/mcp_graphs.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/mcp_install.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/mcp_server.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/parity.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/parity_structure.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/payload.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plans.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/platform_scan.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/platforms.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/__init__.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/astro/__init__.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/astro/content.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/astro/plugin.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/cfamily/__init__.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/cfamily/plugin.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/cfamily/syntax.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/dart/__init__.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/dart/bridges.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/dart/extractor/bin/extract.dart +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/dart/extractor/pubspec.lock +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/dart/extractor/pubspec.yaml +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/dart/http.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/dart/models.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/dart/plugin.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/dart/program.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/django/__init__.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/django/extras.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/django/models.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/django/plugin.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/django/schemas.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/django/shapes.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/django/urls.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/express/__init__.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/express/plugin.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/flutter/__init__.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/flutter/plugin.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/java/__init__.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/java/exact.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/java/plugin.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/jvm/__init__.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/jvm/interop.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/jvm/spring.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/kotlin/__init__.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/kotlin/exact.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/kotlin/plugin.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/kotlin/reparse.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/laravel/__init__.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/laravel/broadcast.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/laravel/massassign.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/laravel/plugin.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/laravel/tests.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/laravel/values.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/native/__init__.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/native/gates.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/native/runner.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/native/scipread.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/native/ts.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/nest/__init__.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/nest/plugin.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/nextjs/__init__.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/nextjs/plugin.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/nuxt/__init__.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/nuxt/plugin.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/php/__init__.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/php/external.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/php/extractor/composer.json +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/php/extractor/composer.lock +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/php/extractor/extract.php +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/php/gating.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/php/http_client.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/php/inline_guards.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/php/plugin.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/php/strings.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/python/__init__.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/python/aitools.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/python/external.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/python/fields.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/python/plugin.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/python/refs.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/python/roots.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/python/socketio.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/python/subproc.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/python/tests.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/python/values.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/pyweb/__init__.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/pyweb/plugin.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/pyweb/values.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/rust/__init__.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/rust/cargo.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/rust/plugin.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/rust/syntax.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/scip/__init__.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/scip/importer.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/scip/scip.proto +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/scip/scip_pb2.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/stubs/__init__.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/stubs/plugins.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/swift/__init__.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/swift/baseurl.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/swift/exact.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/swift/indexstore.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/swift/packages.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/swift/plugin.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/ts/__init__.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/ts/baseurl.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/ts/extractor/extract.mjs +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/ts/extractor/fw.mjs +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/ts/extractor/package-lock.json +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/ts/extractor/package.json +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/ts/extractor/rr.mjs +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/ts/nav.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/ts/plugin.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/ts/react_router.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/tsweb/__init__.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/tsweb/common.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/tsweb/data.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/presets/__init__.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/presets/c_cpp.yaml +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/presets/common.yaml +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/presets/dart.yaml +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/presets/django-ninja.yaml +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/presets/django.yaml +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/presets/djangorestframework.yaml +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/presets/express.yaml +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/presets/java.yaml +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/presets/kotlin.yaml +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/presets/laravel.yaml +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/presets/nest.yaml +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/presets/nextjs.yaml +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/presets/nuxt.yaml +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/presets/php.yaml +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/presets/python.yaml +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/presets/react-router.yaml +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/presets/rust.yaml +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/presets/spring.yaml +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/presets/swift.yaml +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/presets/typescript.yaml +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/process_runs.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/protocols/__init__.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/protocols/builtin.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/protocols/matchers.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/protocols/view.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/query.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/realtime.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/realtime_events.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/realtime_native.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/realtime_ws.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/roundtrip.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/routes.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/rpc.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/sdk_systems.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/sockets.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/ssrf_input.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/starters.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/surface.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/tests_index.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/udp_apps.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/update_check.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/viz/__init__.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/viz/graph.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/viz/server.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/viz/static/app.css +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/viz/static/app.js +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/viz/static/index.html +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/viz/static/layered.js +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/viz/static/vendor/VERSIONS.txt +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/viz/static/vendor/cose-base.js +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/viz/static/vendor/cytoscape-fcose.js +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/viz/static/vendor/cytoscape.min.js +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/viz/static/vendor/layout-base.js +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/viz/tools/package-lock.json +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/viz/tools/package.json +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/viz/tools/shoot.mjs +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/watch.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/webhook_subs.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/webhooks.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/xcode.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph.egg-info/dependency_links.txt +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph.egg-info/entry_points.txt +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph.egg-info/requires.txt +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph.egg-info/top_level.txt +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/pyproject.toml +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/setup.cfg +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_affected.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_agents_install.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_agents_md.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_ai_tools.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_android_ipc.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_apple_ipc.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_astro.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_astro_content.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_astro_server.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_bridges.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_bridges_pigeon_monorepo.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_brokers.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_cache_clean.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_cache_invalidation.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_cache_migration.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_channels_tests.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_cli_output.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_cmake_sources.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_completeness.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_config_extras.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_coverage_ts_hint.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_dart_isolates.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_db_connections.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_dead_wrappers.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_dispatch_interfaces.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_dispatch_part3.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_django_flutter.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_docs_languages.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_docs_links.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_echo_ref.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_echo_wrapper.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_elysia.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_enum_constants.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_env.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_explore.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_external.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_fp_batch.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_gating.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_generated.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_graphql.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_hooks.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_impact_overrides.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_index_isolation.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_inherited_overrides.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_inline_guards.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_install_rules.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_issue_192.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_issue_201.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_issue_202.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_issue_203.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_issue_204.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_issue_205.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_issue_206.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_issue_207.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_issue_208.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_issue_209.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_issue_210.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_issue_211.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_issue_211_used_at.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_issue_212.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_issue_212_langs.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_issue_218.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_issue_219.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_issue_222.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_java.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_java_exact.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_jobs.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_js_refs.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_js_runtime.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_kotlin.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_kotlin_binding.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_kotlin_exact.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_kotlin_fields.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_kotlin_local_state.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_kotlin_mixed.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_kotlin_nav_consts.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_kotlin_prop_exact.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_kotlin_prop_overrides.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_kotlin_props.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_laravel_determinism.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_laravel_receiver_narrowing.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_laravel_resources.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_laravel_route_paths.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_link_origin.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_lint_async.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_listing_files.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_local_ipc.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_local_sockets.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_mass_assignment.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_mcp.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_mcp_index.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_mcp_install.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_mcp_instructions.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_mcp_multi_graph.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_native_cfamily.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_native_concurrency.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_native_rust.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_nuxt_i18n.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_nuxt_import_dirs.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_nuxt_nitro.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_nuxt_rootsrc.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_nuxt_side_dirs.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_packaging.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_parity.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_parity_fields.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_parity_members.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_parity_structure.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_php_http.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_php_props.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_plain_js.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_plans.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_platform_gaps.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_platform_type_variants.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_platforms.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_platforms_apple.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_presets_config.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_process_ipc.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_process_runs.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_protocols.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_python_app_tests_module.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_python_collection_chains.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_python_compat.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_python_entry_refs.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_python_fields.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_python_infer_cycles.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_python_roots.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_python_subprocess_tests.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_python_tests.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_python_web_hosts.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_python_web_routes.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_python_web_routes_more.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_react_router.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_readers_writers_specs.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_realtime.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_realtime_native.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_redact_salt.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_request_keys.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_roundtrip.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_route_specs.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_route_tables.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_routes_search_explain.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_rpc.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_scip_health.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_sdk_external.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_sdk_external_infra.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_sdk_external_mail.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_snippet.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_sockets.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_spring.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_ssrf.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_starters_budget.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_state_tracking_235.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_surface.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_surface_transport.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_swift.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_swift_binding.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_swift_exact.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_swift_facts.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_swift_fields.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_swift_modules.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_swift_more.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_swift_nav_values.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_swift_parse_errors.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_swift_platform_files.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_swift_props.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_swift_sdk.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_swift_testing.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_swift_values.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_tauri_events.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_tests_scope.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_ts_fields.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_ts_fields_js_vue.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_ts_file_specs.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_ts_frameworks.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_ts_node_http.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_ts_nuxt.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_ts_src_tsconfig.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_unguarded.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_update_check.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_values.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_viz.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_vue_nav.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_watch.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_webhooks.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_webhooks_152.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_webhooks_152b.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_websockets.py +0 -0
- {cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/tests/test_workspace_link.py +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"""code-graph: deterministic code knowledge graph (beta)."""
|
|
2
|
-
__version__ = "0.23.
|
|
2
|
+
__version__ = "0.23.13"
|
|
@@ -56,7 +56,8 @@ def index_apps(root: str | Path, db: str | Path, cfg: dict, scip=None, python_ro
|
|
|
56
56
|
include_generated=include_generated)
|
|
57
57
|
out["apps"].append({"name": a["name"], "root": a["root"] or ".", "role": a["role"], "db": str(per_app[a["name"]]),
|
|
58
58
|
"nodes": st.get("nodes"), "edges": st.get("edges"), "index_seconds": st.get("index_seconds"),
|
|
59
|
-
"frameworks": sorted(((st.get("presets") or {}).get("frameworks") or {}))
|
|
59
|
+
"frameworks": sorted(((st.get("presets") or {}).get("frameworks") or {})),
|
|
60
|
+
**({"incomplete": st["incomplete"]} if st.get("incomplete") else {})})
|
|
60
61
|
if len(apps) == 1:
|
|
61
62
|
shutil.copyfile(per_app[apps[0]["name"]], db)
|
|
62
63
|
out["db_is"] = f"graph of app {apps[0]['name']}"
|
|
@@ -120,7 +120,7 @@ def main(argv=None):
|
|
|
120
120
|
return 0
|
|
121
121
|
ap.add_argument("--version", action="version", version=f"cg {__version__}")
|
|
122
122
|
sub = ap.add_subparsers(dest="cmd", required=True)
|
|
123
|
-
p = sub.add_parser("index", help="detect languages / frameworks under ROOT and build the graph DB (stats JSON on stdout, coverage on stderr)"); p.add_argument("root"); p.add_argument("--db", required=True); p.add_argument("--name"); p.add_argument("--scip", action="append"); p.add_argument("--gates", help="gate scenarios JSON (e.g. examples/bookstore.gates.json)")
|
|
123
|
+
p = sub.add_parser("index", help="detect languages / frameworks under ROOT and build the graph DB (stats JSON on stdout, coverage on stderr)"); p.add_argument("root"); p.add_argument("--db", required=True); p.add_argument("--name"); p.add_argument("--scip", action="append"); p.add_argument("--gates", help="gate scenarios JSON (e.g. examples/bookstore.gates.json)"); p.add_argument("--allow-incomplete", action="store_true", help="exit 0 even when most supported source files could not be indexed (missing PHP / Node / Dart toolchain); the WARNING / ERROR lines still print")
|
|
124
124
|
p.add_argument("--python-root", action="append", metavar="DIR",
|
|
125
125
|
help="Python source root, relative to ROOT (repeatable); replaces detection and python.source_roots in .cg.yaml")
|
|
126
126
|
p.add_argument("--no-apps", action="store_true",
|
|
@@ -413,7 +413,13 @@ def main(argv=None):
|
|
|
413
413
|
include_generated=a.include_generated)
|
|
414
414
|
print(json.dumps({k: v for k, v in summary.items()}, indent=2, default=str))
|
|
415
415
|
print(render_apps(summary), file=sys.stderr)
|
|
416
|
-
|
|
416
|
+
from .coverage import incomplete_lines
|
|
417
|
+
fatal = False
|
|
418
|
+
for app in summary.get("apps") or ():
|
|
419
|
+
for ln in incomplete_lines(app.get("incomplete"), allow=a.allow_incomplete, where=f"app {app['name']}"):
|
|
420
|
+
print(ln, file=sys.stderr)
|
|
421
|
+
fatal = fatal or bool((app.get("incomplete") or {}).get("fatal"))
|
|
422
|
+
return 3 if fatal and not a.allow_incomplete else None
|
|
417
423
|
st = index_project(a.root, a.db, a.name, a.scip, gates=a.gates, python_roots=a.python_root,
|
|
418
424
|
include_generated=a.include_generated)
|
|
419
425
|
except ConfigError as ex:
|
|
@@ -422,7 +428,12 @@ def main(argv=None):
|
|
|
422
428
|
print(json.dumps(st, indent=2, default=str))
|
|
423
429
|
from .coverage import render_summary
|
|
424
430
|
print(render_summary({"": st.get("coverage")}, db=a.db), file=sys.stderr) # stdout stays pure JSON
|
|
425
|
-
|
|
431
|
+
from .coverage import incomplete_lines
|
|
432
|
+
inc = st.get("incomplete")
|
|
433
|
+
for ln in incomplete_lines(inc, allow=a.allow_incomplete):
|
|
434
|
+
print(ln, file=sys.stderr)
|
|
435
|
+
# a mostly-unindexed project is an error, so `rc == 0 && nodes > 0` checks do not accept it (#239)
|
|
436
|
+
return 3 if inc and inc.get("fatal") and not a.allow_incomplete else None
|
|
426
437
|
if a.cmd == "doctor":
|
|
427
438
|
from .doctor import render, report
|
|
428
439
|
r = report(a.root, scip=a.scip)
|
|
@@ -575,6 +575,40 @@ def syntax_error_lines(e: dict, all_files: bool = False, indent: str = " ") ->
|
|
|
575
575
|
return out
|
|
576
576
|
|
|
577
577
|
|
|
578
|
+
def incomplete(cov: dict | None) -> dict | None:
|
|
579
|
+
"""Supported languages that were not indexed at all (missing toolchain, extractor error), or None (#239).
|
|
580
|
+
|
|
581
|
+
`fatal` is true when those files are at least half of the supported source files: the graph is mostly empty.
|
|
582
|
+
"""
|
|
583
|
+
if not cov:
|
|
584
|
+
return None
|
|
585
|
+
langs = [e for e in cov.get("languages") or () if e.get("status") != "unsupported" and e.get("files")]
|
|
586
|
+
skipped = [e for e in langs if e.get("status") == "skipped"]
|
|
587
|
+
if not skipped:
|
|
588
|
+
return None
|
|
589
|
+
n = sum(e["files"] for e in skipped)
|
|
590
|
+
total = sum(e["files"] for e in langs)
|
|
591
|
+
return {"fatal": n * 2 >= total, "skipped_files": n, "supported_files": total,
|
|
592
|
+
"languages": [{"language": e.get("label") or e["language"], "files": e["files"], "reason": e.get("reason"),
|
|
593
|
+
"hint": e.get("hint")} for e in skipped]}
|
|
594
|
+
|
|
595
|
+
|
|
596
|
+
def incomplete_lines(inc: dict | None, prog: str = "cg index", allow: bool = False, where: str = "") -> list[str]:
|
|
597
|
+
"""stderr lines for `incomplete`: one WARNING per skipped language, plus an ERROR line when it is fatal."""
|
|
598
|
+
if not inc:
|
|
599
|
+
return []
|
|
600
|
+
at = f" ({where})" if where else ""
|
|
601
|
+
out = []
|
|
602
|
+
for e in inc["languages"]:
|
|
603
|
+
fix = f"; fix: {e['hint']}" if e.get("hint") else ""
|
|
604
|
+
out.append(f"{prog}: WARNING{at}: {e['language']} {e['files']} file{'s' if e['files'] != 1 else ''} not indexed: {e.get('reason') or 'skipped'}{fix}")
|
|
605
|
+
if inc.get("fatal"):
|
|
606
|
+
tail = " (--allow-incomplete: exit status kept at 0)" if allow else "; exit status 3 (--allow-incomplete keeps 0)"
|
|
607
|
+
out.append(f"{prog}: ERROR{at}: incomplete graph: {inc['skipped_files']} of {inc['supported_files']} supported "
|
|
608
|
+
f"source files were not indexed{tail}")
|
|
609
|
+
return out
|
|
610
|
+
|
|
611
|
+
|
|
578
612
|
def summary_line(cov: dict | None, repo: str | None = None) -> str:
|
|
579
613
|
"""One line: 'coverage: php 18 exact; typescript 9 exact | not fully covered: go 3 unsupported (...)'."""
|
|
580
614
|
if not cov:
|
|
@@ -472,6 +472,10 @@ def index_project(root: str | Path, db_path: str | Path, name: str | None = None
|
|
|
472
472
|
vc = value_counts(builder)
|
|
473
473
|
if vc: # enum cases / constants per language and the references resolved to them (#84)
|
|
474
474
|
stats["coverage"]["values"] = vc
|
|
475
|
+
from .coverage import incomplete
|
|
476
|
+
inc = incomplete(stats["coverage"])
|
|
477
|
+
if inc:
|
|
478
|
+
stats["incomplete"] = inc # a supported language was not indexed at all (#239)
|
|
475
479
|
stats["completeness_seconds"] = round(t_tag - t_cov, 2)
|
|
476
480
|
stats["scan_seconds"] = scan_seconds
|
|
477
481
|
stats["nodes"] = len(builder.nodes)
|
|
@@ -33,8 +33,15 @@ def test_missing_php_is_skipped_not_fatal(tmp_path):
|
|
|
33
33
|
empty = tmp_path / "bin"
|
|
34
34
|
empty.mkdir()
|
|
35
35
|
r = cg("index", API, "--name", "bookstore-api", "--db", tmp_path / "api.db", path=str(empty))
|
|
36
|
-
|
|
36
|
+
# the graph is still written, but a mostly-unindexed project exits 3 (#239)
|
|
37
|
+
assert r.returncode == 3, r.stderr[-800:]
|
|
37
38
|
st = json.loads(r.stdout)
|
|
39
|
+
inc = st["incomplete"]
|
|
40
|
+
assert inc["fatal"] and inc["skipped_files"] == 32 and inc["languages"][0]["language"] == "php"
|
|
41
|
+
assert "cg index: WARNING: php 32 files not indexed: php not installed" in r.stderr
|
|
42
|
+
assert "cg index: ERROR: incomplete graph: 32 of " in r.stderr
|
|
43
|
+
ok = cg("index", API, "--name", "bookstore-api", "--db", tmp_path / "api2.db", "--allow-incomplete", path=str(empty))
|
|
44
|
+
assert ok.returncode == 0 and "cg index: ERROR: incomplete graph" in ok.stderr and "--allow-incomplete: exit status kept at 0" in ok.stderr
|
|
38
45
|
assert st["plugins"]["php"]["status"] == "skipped" and "php not installed" in st["plugins"]["php"]["reason"]
|
|
39
46
|
php = lang(st["coverage"], "php")
|
|
40
47
|
assert php["status"] == "skipped" and php["files"] == 32 and "cg setup php" in php["hint"]
|
|
@@ -50,7 +57,7 @@ def test_missing_node_skips_typescript(tmp_path):
|
|
|
50
57
|
empty = tmp_path / "bin"
|
|
51
58
|
empty.mkdir()
|
|
52
59
|
r = cg("index", WEB, "--name", "bookstore-web", "--db", tmp_path / "web.db", path=str(empty))
|
|
53
|
-
assert r.returncode ==
|
|
60
|
+
assert r.returncode == 3, r.stderr[-800:] # nothing indexed (#239)
|
|
54
61
|
ts = lang(json.loads(r.stdout)["coverage"], "typescript")
|
|
55
62
|
assert ts["status"] == "skipped" and "node not installed" in ts["reason"] and "cg setup typescript" in ts["hint"]
|
|
56
63
|
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"""`cg index` on a project whose main language could not be indexed (#239).
|
|
2
|
+
|
|
3
|
+
A missing PHP toolchain used to give exit 0 and a two-node graph. Now the stats carry `incomplete`, every skipped
|
|
4
|
+
language prints a WARNING, and a mostly-unindexed project exits 3 unless `--allow-incomplete` is passed.
|
|
5
|
+
"""
|
|
6
|
+
import json
|
|
7
|
+
import os
|
|
8
|
+
import shutil
|
|
9
|
+
import subprocess
|
|
10
|
+
import sys
|
|
11
|
+
from pathlib import Path
|
|
12
|
+
|
|
13
|
+
ROOT = Path(__file__).resolve().parents[1]
|
|
14
|
+
sys.path.insert(0, str(ROOT))
|
|
15
|
+
from cg_code_graph.coverage import incomplete, incomplete_lines # noqa: E402
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
def _cov(*langs):
|
|
19
|
+
return {"languages": [dict(language=n, files=f, status=s, reason="php not installed", hint="run `cg setup php`")
|
|
20
|
+
for n, f, s in langs]}
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def test_incomplete_none_when_everything_indexed():
|
|
24
|
+
assert incomplete(_cov(("php", 10, "exact"), ("typescript", 4, "exact"))) is None
|
|
25
|
+
assert incomplete(None) is None
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
def test_unsupported_files_do_not_count():
|
|
29
|
+
inc = incomplete(_cov(("php", 3, "skipped"), ("typescript", 40, "exact"), ("sh", 500, "unsupported")))
|
|
30
|
+
assert inc == {"fatal": False, "skipped_files": 3, "supported_files": 43,
|
|
31
|
+
"languages": [{"language": "php", "files": 3, "reason": "php not installed",
|
|
32
|
+
"hint": "run `cg setup php`"}]}
|
|
33
|
+
lines = incomplete_lines(inc)
|
|
34
|
+
assert lines == ["cg index: WARNING: php 3 files not indexed: php not installed; fix: run `cg setup php`"]
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def test_fatal_at_half_of_supported_files():
|
|
38
|
+
inc = incomplete(_cov(("php", 20, "skipped"), ("typescript", 20, "exact")))
|
|
39
|
+
assert inc["fatal"]
|
|
40
|
+
assert incomplete_lines(inc, where="app api")[-1].startswith(
|
|
41
|
+
"cg index: ERROR (app api): incomplete graph: 20 of 40 supported source files were not indexed; exit status 3")
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
def _write(root: Path, rel: str, text: str):
|
|
45
|
+
p = root / rel
|
|
46
|
+
p.parent.mkdir(parents=True, exist_ok=True)
|
|
47
|
+
p.write_text(text)
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
def _cg(*args, path):
|
|
51
|
+
env = {"PATH": path, "HOME": str(Path(path).parent / "home"), "CG_CACHE": str(Path(path).parent / "cache")}
|
|
52
|
+
return subprocess.run([sys.executable, "-m", "cg_code_graph.cli", *map(str, args)], cwd=ROOT, env=env,
|
|
53
|
+
capture_output=True, text=True, timeout=300)
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
def test_cli_warns_but_exits_0_when_few_files_are_skipped(tmp_path):
|
|
57
|
+
app = tmp_path / "kiosk"
|
|
58
|
+
for i in range(6):
|
|
59
|
+
_write(app, f"src/screen{i}.ts", f"export function screen{i}(): number {{ return {i} }}\n")
|
|
60
|
+
_write(app, "tools/ping.php", "<?php\nfunction ping() { return 1; }\n")
|
|
61
|
+
_write(app, "composer.json", '{"name": "kiosk/tools"}\n')
|
|
62
|
+
_write(app, "package.json", '{"name": "kiosk", "private": true}\n')
|
|
63
|
+
_write(app, "tsconfig.json", '{"include": ["src"]}\n')
|
|
64
|
+
bindir = tmp_path / "bin" # node only: TypeScript is indexed, PHP is not
|
|
65
|
+
bindir.mkdir()
|
|
66
|
+
node = shutil.which("node")
|
|
67
|
+
if node:
|
|
68
|
+
os.symlink(node, bindir / "node")
|
|
69
|
+
r = _cg("index", app, "--db", tmp_path / "g.db", path=str(bindir))
|
|
70
|
+
st = json.loads(r.stdout)
|
|
71
|
+
if (st["plugins"].get("ts") or st["plugins"].get("typescript") or {}).get("status") == "skipped":
|
|
72
|
+
return # no JS runtime on this PATH: covered by the unit tests above
|
|
73
|
+
assert r.returncode == 0, r.stderr[-600:]
|
|
74
|
+
assert st["incomplete"]["fatal"] is False and st["incomplete"]["skipped_files"] == 1
|
|
75
|
+
assert "cg index: WARNING: php 1 file not indexed" in r.stderr and "ERROR" not in r.stderr
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/dart/extractor/pubspec.lock
RENAMED
|
File without changes
|
{cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/dart/extractor/pubspec.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/php/extractor/composer.json
RENAMED
|
File without changes
|
{cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/php/extractor/composer.lock
RENAMED
|
File without changes
|
{cg_code_graph-0.23.12 → cg_code_graph-0.23.13}/cg_code_graph/plugins/php/extractor/extract.php
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|