cg-code-graph 0.23.3__tar.gz → 0.23.4__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.3/cg_code_graph.egg-info → cg_code_graph-0.23.4}/PKG-INFO +1 -1
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/__init__.py +1 -1
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/mcp_server.py +2 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/platforms.py +1 -1
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/swift/plugin.py +24 -12
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/query.py +2 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4/cg_code_graph.egg-info}/PKG-INFO +1 -1
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph.egg-info/SOURCES.txt +1 -0
- cg_code_graph-0.23.4/tests/test_issue_219.py +125 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/LICENSE +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/MANIFEST.in +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/README.md +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/__main__.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/affected.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/agent_rules.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/agents.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/aitools.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/android_ipc.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/apple_ipc.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/apps.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/blindspots.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/bridges.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/brokers.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/cli.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/concepts.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/config.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/core/__init__.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/core/cache.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/core/detect.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/core/env.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/core/extractors.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/core/fsutil.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/core/generated.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/core/model.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/core/paths.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/core/plugin.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/core/redact.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/core/store.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/core/syntax_errors.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/coverage.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/dart_isolates.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/doctor.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/explore.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/external.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/graphql.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/guard_facts.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/hooks.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/indexer.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/insecure_transport.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/install_rules.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/jobs.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/link.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/lint_async.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/local_ipc.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/local_sockets.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/mcp_graphs.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/mcp_install.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/parity.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/parity_structure.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/payload.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plans.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/platform_scan.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/__init__.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/astro/__init__.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/astro/content.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/astro/plugin.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/cfamily/__init__.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/cfamily/plugin.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/cfamily/syntax.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/dart/__init__.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/dart/bridges.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/dart/extractor/bin/extract.dart +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/dart/extractor/pubspec.lock +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/dart/extractor/pubspec.yaml +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/dart/http.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/dart/models.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/dart/plugin.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/dart/program.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/django/__init__.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/django/extras.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/django/models.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/django/plugin.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/django/schemas.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/django/shapes.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/django/urls.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/express/__init__.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/express/plugin.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/flutter/__init__.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/flutter/plugin.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/java/__init__.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/java/exact.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/java/plugin.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/jvm/__init__.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/jvm/interop.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/jvm/spring.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/kotlin/__init__.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/kotlin/exact.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/kotlin/plugin.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/kotlin/reparse.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/laravel/__init__.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/laravel/broadcast.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/laravel/massassign.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/laravel/plugin.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/laravel/tests.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/laravel/values.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/native/__init__.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/native/gates.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/native/runner.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/native/scipread.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/native/ts.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/nest/__init__.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/nest/plugin.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/nextjs/__init__.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/nextjs/plugin.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/nuxt/__init__.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/nuxt/plugin.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/php/__init__.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/php/external.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/php/extractor/composer.json +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/php/extractor/composer.lock +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/php/extractor/extract.php +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/php/gating.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/php/http_client.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/php/inline_guards.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/php/plugin.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/php/strings.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/python/__init__.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/python/aitools.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/python/external.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/python/fields.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/python/plugin.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/python/refs.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/python/roots.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/python/socketio.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/python/subproc.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/python/tests.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/python/values.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/pyweb/__init__.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/pyweb/plugin.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/pyweb/values.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/rust/__init__.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/rust/cargo.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/rust/plugin.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/rust/syntax.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/scip/__init__.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/scip/importer.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/scip/scip.proto +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/scip/scip_pb2.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/stubs/__init__.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/stubs/plugins.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/swift/__init__.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/swift/baseurl.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/swift/exact.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/swift/indexstore.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/swift/packages.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/ts/__init__.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/ts/baseurl.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/ts/extractor/extract.mjs +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/ts/extractor/fw.mjs +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/ts/extractor/package-lock.json +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/ts/extractor/package.json +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/ts/extractor/rr.mjs +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/ts/nav.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/ts/plugin.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/ts/react_router.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/tsweb/__init__.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/tsweb/common.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/tsweb/data.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/presets/__init__.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/presets/c_cpp.yaml +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/presets/common.yaml +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/presets/dart.yaml +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/presets/django-ninja.yaml +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/presets/django.yaml +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/presets/djangorestframework.yaml +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/presets/express.yaml +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/presets/java.yaml +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/presets/kotlin.yaml +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/presets/laravel.yaml +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/presets/nest.yaml +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/presets/nextjs.yaml +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/presets/nuxt.yaml +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/presets/php.yaml +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/presets/python.yaml +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/presets/react-router.yaml +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/presets/rust.yaml +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/presets/spring.yaml +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/presets/swift.yaml +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/presets/typescript.yaml +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/process_runs.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/protocols/__init__.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/protocols/builtin.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/protocols/matchers.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/protocols/view.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/realtime.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/realtime_events.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/realtime_native.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/realtime_ws.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/roundtrip.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/routes.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/rpc.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/sdk_systems.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/sockets.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/ssrf_input.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/starters.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/surface.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/tests_index.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/udp_apps.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/update_check.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/viz/__init__.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/viz/graph.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/viz/server.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/viz/static/app.css +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/viz/static/app.js +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/viz/static/index.html +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/viz/static/layered.js +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/viz/static/vendor/VERSIONS.txt +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/viz/static/vendor/cose-base.js +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/viz/static/vendor/cytoscape-fcose.js +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/viz/static/vendor/cytoscape.min.js +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/viz/static/vendor/layout-base.js +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/viz/tools/package-lock.json +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/viz/tools/package.json +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/viz/tools/shoot.mjs +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/watch.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/webhook_subs.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/webhooks.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/xcode.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph.egg-info/dependency_links.txt +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph.egg-info/entry_points.txt +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph.egg-info/requires.txt +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph.egg-info/top_level.txt +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/pyproject.toml +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/setup.cfg +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_affected.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_agents_install.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_agents_md.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_ai_tools.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_android_ipc.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_apple_ipc.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_astro.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_astro_content.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_astro_server.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_bridges.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_bridges_pigeon_monorepo.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_brokers.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_cache_clean.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_cache_invalidation.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_cache_migration.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_channels_tests.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_cli_output.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_completeness.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_config_extras.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_coverage.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_coverage_ts_hint.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_dart_isolates.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_db_connections.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_dead_wrappers.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_dispatch_interfaces.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_django_flutter.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_docs_languages.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_docs_links.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_echo_ref.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_echo_wrapper.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_elysia.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_enum_constants.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_env.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_explore.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_external.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_fp_batch.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_gating.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_generated.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_graphql.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_hooks.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_impact_overrides.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_index_isolation.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_inherited_overrides.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_inline_guards.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_install_rules.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_issue_192.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_issue_201.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_issue_202.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_issue_203.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_issue_204.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_issue_205.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_issue_206.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_issue_207.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_issue_208.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_issue_209.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_issue_210.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_issue_211.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_issue_211_used_at.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_issue_212.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_java.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_java_exact.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_jobs.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_js_refs.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_js_runtime.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_kotlin.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_kotlin_binding.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_kotlin_exact.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_kotlin_fields.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_kotlin_mixed.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_kotlin_nav_consts.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_kotlin_props.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_laravel_determinism.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_laravel_resources.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_link_origin.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_lint_async.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_listing_files.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_local_ipc.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_local_sockets.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_mass_assignment.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_mcp.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_mcp_index.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_mcp_install.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_mcp_instructions.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_mcp_multi_graph.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_native_cfamily.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_native_concurrency.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_native_rust.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_nuxt_i18n.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_nuxt_import_dirs.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_nuxt_nitro.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_nuxt_rootsrc.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_nuxt_side_dirs.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_packaging.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_parity.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_parity_structure.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_php_http.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_php_props.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_plain_js.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_plans.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_platform_gaps.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_platform_type_variants.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_platforms.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_platforms_apple.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_presets_config.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_process_ipc.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_process_runs.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_protocols.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_python_app_tests_module.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_python_collection_chains.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_python_compat.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_python_entry_refs.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_python_fields.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_python_infer_cycles.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_python_roots.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_python_subprocess_tests.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_python_tests.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_python_web_hosts.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_python_web_routes.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_python_web_routes_more.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_react_router.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_readers_writers_specs.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_realtime.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_realtime_native.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_redact_salt.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_request_keys.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_roundtrip.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_route_specs.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_route_tables.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_routes_search_explain.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_rpc.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_scip_health.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_sdk_external.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_sdk_external_infra.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_sdk_external_mail.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_snippet.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_sockets.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_spring.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_ssrf.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_starters_budget.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_surface.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_surface_transport.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_swift.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_swift_binding.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_swift_exact.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_swift_facts.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_swift_fields.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_swift_modules.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_swift_more.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_swift_nav_values.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_swift_parse_errors.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_swift_props.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_swift_sdk.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_swift_testing.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_swift_values.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_tests_scope.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_ts_fields.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_ts_fields_js_vue.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_ts_file_specs.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_ts_frameworks.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_ts_node_http.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_ts_nuxt.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_ts_src_tsconfig.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_unguarded.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_update_check.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_values.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_viz.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_vue_nav.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_watch.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_webhooks.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_webhooks_152.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_webhooks_152b.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/tests/test_websockets.py +0 -0
- {cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/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.4"
|
|
@@ -785,6 +785,8 @@ def _prop_lines(rows: list, limit: int) -> list[str]:
|
|
|
785
785
|
for r in rows[:limit]:
|
|
786
786
|
a = r.get("attrs") or {}
|
|
787
787
|
ex = " ".join(f"{k}={a[k]}" for k in ("receiver", "accessor", "storage") if k in a)
|
|
788
|
+
if a.get("variant_platforms"): # one of a property's per-platform declarations (#219)
|
|
789
|
+
ex = f"{ex} platforms={','.join(a['variant_platforms'])}".strip()
|
|
788
790
|
ek = ",".join(sorted(r["entry_kinds"])) or "-"
|
|
789
791
|
out.append(f" {'[test] ' if r.get('test') else ''}{r['fqn']} @{os.path.basename(r['file'] or '?')}:{r['line']}"
|
|
790
792
|
f" {ex} entries: {ek}")
|
|
@@ -995,7 +995,7 @@ def _alt_groups(builder, nvals: dict) -> dict[str, list[str]]:
|
|
|
995
995
|
"""Rust / C / C++ / Swift alternative definitions of one symbol (one per `cfg` / `#if` branch), keyed by _vkey."""
|
|
996
996
|
alts: dict[str, list[str]] = defaultdict(list)
|
|
997
997
|
for nid, n in builder.nodes.items():
|
|
998
|
-
if n.lang in ("rust", "c", "cpp", "swift") and n.kind in ALT_KINDS:
|
|
998
|
+
if n.lang in ("rust", "c", "cpp", "swift") and n.kind in ALT_KINDS or n.lang == "swift" and n.kind == "field":
|
|
999
999
|
alts[_vkey(nid, n, nvals)].append(nid)
|
|
1000
1000
|
# a static C function and a macro / function of the same name visible in its file are variants too
|
|
1001
1001
|
for k in [k for k in alts if k.startswith("c-fn:") and "#" in k]:
|
|
@@ -492,6 +492,8 @@ class SwiftPlugin(LanguagePlugin):
|
|
|
492
492
|
self.stored_names: set[str] = set() # names of plain stored properties anywhere in the project
|
|
493
493
|
self.stored_in: dict[str, set[str]] = defaultdict(set) # type fqn -> its stored property names
|
|
494
494
|
self.fields: dict[str, dict[str, str]] = defaultdict(dict) # type fqn -> stored instance property -> field id
|
|
495
|
+
self._vfields: dict[tuple, str] = {} # (type decl id, stored property) -> field id of that `#if` variant
|
|
496
|
+
self._field_owner: dict[str, str | None] = {} # field id -> the variant type declaring it (#219)
|
|
495
497
|
self.field_names: set[str] = set()
|
|
496
498
|
self.mutating_names: set[str] = set()
|
|
497
499
|
self.branch_of: dict[tuple, dict] = {} # (owner, line, type name) -> enclosing branch of a construction
|
|
@@ -929,9 +931,18 @@ class SwiftPlugin(LanguagePlugin):
|
|
|
929
931
|
def _field(self, cls: Decl, nm: str, sf: SFile, c, attrs: list):
|
|
930
932
|
"""A stored instance property (`var count = 0`, `@State private var value`, `@Published var items`) is a
|
|
931
933
|
`field:<Type>.<name>` node (#88): reads and writes of it are READS_PROP / WRITES_PROP edges, for `cg readers` /
|
|
932
|
-
`cg writers Type.prop`. Its property wrapper, if any, is attrs.wrapper.
|
|
933
|
-
if
|
|
934
|
-
|
|
934
|
+
`cg writers Type.prop`. Its property wrapper, if any, is attrs.wrapper. The same property declared again in
|
|
935
|
+
another `#if` branch (in the type, or in a per-branch variant of the type) is a node of its own,
|
|
936
|
+
`field:<Type>.<name>@<line>` (#219); the platform pass narrows references to the one built where they are."""
|
|
937
|
+
key = f"{cls.fqn}.{nm}"
|
|
938
|
+
line = c.start_point[0] + 1
|
|
939
|
+
prev_id = self.fields.get(cls.fqn, {}).get(nm)
|
|
940
|
+
if prev_id:
|
|
941
|
+
pn = self.b.nodes[prev_id]
|
|
942
|
+
prev = SimpleNamespace(file=pn.file, line=pn.line, owner=self._field_owner.get(prev_id))
|
|
943
|
+
if not self._branch_variant(prev, sf, c, cls):
|
|
944
|
+
return
|
|
945
|
+
key = f"{key}@{line}"
|
|
935
946
|
kw = next((self.t(x).split()[0] for x in c.children if x.type == "value_binding_pattern" and self.t(x).strip()), "var")
|
|
936
947
|
a = {"property": "stored", "binding": "let" if kw == "let" else "var"}
|
|
937
948
|
wrappers = [x for x in attrs if x not in ("MainActor", "objc", "IBOutlet", "IBInspectable", "available", "nonobjc")]
|
|
@@ -943,15 +954,16 @@ class SwiftPlugin(LanguagePlugin):
|
|
|
943
954
|
a["key"] = m.group(1)
|
|
944
955
|
if sf.test:
|
|
945
956
|
a["test"] = True
|
|
946
|
-
fid = self.b.add_node("field",
|
|
947
|
-
line=
|
|
957
|
+
fid = self.b.add_node("field", key, name=nm, fqn=f"{cls.fqn}.{nm}", file=sf.rel,
|
|
958
|
+
line=line, end_line=c.end_point[0] + 1,
|
|
948
959
|
module=getattr(self.b.nodes.get(cls.id), "module", None), lang="swift", attrs=a)
|
|
949
|
-
self.b.add_edge(cls.id, fid, "CONTAINS", sf.rel,
|
|
950
|
-
self.
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
self.fields[cls.fqn]
|
|
954
|
-
self.
|
|
960
|
+
self.b.add_edge(cls.id, fid, "CONTAINS", sf.rel, line, EXACT)
|
|
961
|
+
self._field_owner[fid] = self._owner(cls)
|
|
962
|
+
names = [nm] + (["_" + nm] if wrappers else []) # `_value = State(initialValue: x)`: the wrapper's storage
|
|
963
|
+
for x in names:
|
|
964
|
+
self.fields[cls.fqn].setdefault(x, fid)
|
|
965
|
+
self._vfields[(cls.id, x)] = fid
|
|
966
|
+
self.field_names.add(x)
|
|
955
967
|
self.st["stored_property_nodes"] += 1
|
|
956
968
|
|
|
957
969
|
def _prop_decl(self, c, nm: str, sf: SFile, cls: Decl):
|
|
@@ -2303,7 +2315,7 @@ class SwiftPlugin(LanguagePlugin):
|
|
|
2303
2315
|
"""The field node of a stored property `name` of a type or its superclasses."""
|
|
2304
2316
|
if cls is None or depth > 6:
|
|
2305
2317
|
return None
|
|
2306
|
-
fid = self.fields.get(cls.fqn, {}).get(name)
|
|
2318
|
+
fid = self._vfields.get((cls.id, name)) or self.fields.get(cls.fqn, {}).get(name)
|
|
2307
2319
|
if fid:
|
|
2308
2320
|
return fid
|
|
2309
2321
|
for s in cls.supers:
|
|
@@ -1781,6 +1781,8 @@ def prop_fields(st: GraphStore, spec: str) -> list[str]:
|
|
|
1781
1781
|
spec = spec[len("property:"):] if spec.startswith("property:") else spec
|
|
1782
1782
|
if ("." not in spec and "::" not in spec) or spec.startswith(("table:", "column:")):
|
|
1783
1783
|
return []
|
|
1784
|
+
if "@" in spec: # `field:Type.prop@<line>`: one per-platform declaration (#219)
|
|
1785
|
+
return [r["id"] for r in st.q("SELECT id FROM nodes WHERE id=? AND kind='field'", (f"field:{spec}",))]
|
|
1784
1786
|
# PHP: `User.name`, `User::$name`, `App\Models\User::$name` -> the `property:` node (fqn `App\Models\User::$name`)
|
|
1785
1787
|
cls, _, prop = spec.replace("::$", "::").replace("::", ".").rpartition(".")
|
|
1786
1788
|
php = f"{cls}::${prop.lstrip('$')}"
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"""Swift stored properties declared per `#if` branch: one node each, and reads / writes narrowed by platform (#219)."""
|
|
2
|
+
import sqlite3
|
|
3
|
+
|
|
4
|
+
import pytest
|
|
5
|
+
|
|
6
|
+
pytest.importorskip("tree_sitter_swift")
|
|
7
|
+
from cg_code_graph import mcp_server as M # noqa: E402
|
|
8
|
+
from cg_code_graph.indexer import index_project # noqa: E402
|
|
9
|
+
|
|
10
|
+
from test_issue_202 import PBX # noqa: E402
|
|
11
|
+
|
|
12
|
+
CANVAS = """\
|
|
13
|
+
import SwiftUI
|
|
14
|
+
|
|
15
|
+
struct CanvasView {
|
|
16
|
+
#if os(iOS)
|
|
17
|
+
final class Coordinator {
|
|
18
|
+
let scale: Double
|
|
19
|
+
var offset: Double = 0
|
|
20
|
+
init(scale: Double) { self.scale = scale }
|
|
21
|
+
func draw() {
|
|
22
|
+
print(scale)
|
|
23
|
+
offset = 1
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
#elseif os(macOS)
|
|
27
|
+
final class Coordinator {
|
|
28
|
+
let scale: Double
|
|
29
|
+
var offset: Double = 0
|
|
30
|
+
init(scale: Double) { self.scale = scale }
|
|
31
|
+
func render() {
|
|
32
|
+
print(scale)
|
|
33
|
+
offset = 2
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
#endif
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
final class Ruler {
|
|
40
|
+
#if os(iOS)
|
|
41
|
+
var unit: Int = 1
|
|
42
|
+
#else
|
|
43
|
+
var unit: Int = 2
|
|
44
|
+
#endif
|
|
45
|
+
var label: String = ""
|
|
46
|
+
|
|
47
|
+
#if os(macOS)
|
|
48
|
+
func macTick() {
|
|
49
|
+
print(unit)
|
|
50
|
+
}
|
|
51
|
+
#endif
|
|
52
|
+
|
|
53
|
+
func tick() {
|
|
54
|
+
unit = 3
|
|
55
|
+
label = "x"
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
"""
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
@pytest.fixture(scope="module")
|
|
62
|
+
def graph(tmp_path_factory):
|
|
63
|
+
tmp = tmp_path_factory.mktemp("i219")
|
|
64
|
+
root = tmp / "app"
|
|
65
|
+
(root / "App.xcodeproj").mkdir(parents=True)
|
|
66
|
+
(root / "Sources" / "App").mkdir(parents=True)
|
|
67
|
+
(root / "App.xcodeproj" / "project.pbxproj").write_text(PBX, encoding="utf-8")
|
|
68
|
+
(root / "Sources" / "App" / "CanvasView.swift").write_text(CANVAS, encoding="utf-8")
|
|
69
|
+
db = tmp / "g.db"
|
|
70
|
+
index_project(root, db, "canvas")
|
|
71
|
+
old = M.STATE.get("db")
|
|
72
|
+
M.STATE["db"] = str(db)
|
|
73
|
+
yield db
|
|
74
|
+
M.STATE["db"] = old
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
def _ids(db, kind):
|
|
78
|
+
con = sqlite3.connect(db)
|
|
79
|
+
return {r[0] for r in con.execute("SELECT id FROM nodes WHERE kind=?", (kind,))}
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
def _edges(db, dst):
|
|
83
|
+
con = sqlite3.connect(db)
|
|
84
|
+
return {(s, k) for s, k in con.execute("SELECT src, kind FROM edges WHERE dst=?", (dst,))}
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
def test_each_branch_field_is_its_own_node(graph):
|
|
88
|
+
fields = _ids(graph, "field")
|
|
89
|
+
assert {"field:CanvasView.Coordinator.scale", "field:CanvasView.Coordinator.scale@16",
|
|
90
|
+
"field:CanvasView.Coordinator.offset", "field:CanvasView.Coordinator.offset@17"} <= fields
|
|
91
|
+
assert {"field:Ruler.unit", "field:Ruler.unit@31", "field:Ruler.label"} <= fields
|
|
92
|
+
assert not any(f.startswith("field:Ruler.label@") for f in fields)
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
def test_variant_type_members_bind_their_own_fields(graph):
|
|
96
|
+
ios, mac = "field:CanvasView.Coordinator.scale", "field:CanvasView.Coordinator.scale@16"
|
|
97
|
+
assert ("method:CanvasView.Coordinator.draw", "READS_PROP") in _edges(graph, ios)
|
|
98
|
+
assert ("method:CanvasView.Coordinator.render", "READS_PROP") in _edges(graph, mac)
|
|
99
|
+
assert ("method:CanvasView.Coordinator.render", "READS_PROP") not in _edges(graph, ios)
|
|
100
|
+
assert ("method:CanvasView.Coordinator.draw", "READS_PROP") not in _edges(graph, mac)
|
|
101
|
+
assert ("method:CanvasView.Coordinator.init@18", "WRITES_PROP") in _edges(graph, mac)
|
|
102
|
+
assert ("method:CanvasView.Coordinator.init@18", "WRITES_PROP") not in _edges(graph, ios)
|
|
103
|
+
assert ("method:CanvasView.Coordinator.render", "WRITES_PROP") in \
|
|
104
|
+
_edges(graph, "field:CanvasView.Coordinator.offset@17")
|
|
105
|
+
assert ("method:CanvasView.Coordinator.render", "WRITES_PROP") not in \
|
|
106
|
+
_edges(graph, "field:CanvasView.Coordinator.offset")
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
def test_platform_only_method_reads_the_field_built_there(graph):
|
|
110
|
+
assert ("method:Ruler.macTick", "READS_PROP") in _edges(graph, "field:Ruler.unit@31")
|
|
111
|
+
assert ("method:Ruler.macTick", "READS_PROP") not in _edges(graph, "field:Ruler.unit")
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
def test_unnarrowed_access_keeps_every_variant(graph):
|
|
115
|
+
assert ("method:Ruler.tick", "WRITES_PROP") in _edges(graph, "field:Ruler.unit")
|
|
116
|
+
assert ("method:Ruler.tick", "WRITES_PROP") in _edges(graph, "field:Ruler.unit@31")
|
|
117
|
+
assert ("method:Ruler.tick", "WRITES_PROP") in _edges(graph, "field:Ruler.label")
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
def test_readers_lists_only_the_platform_branch(graph):
|
|
121
|
+
out = M.readers("CanvasView.Coordinator.scale") # every declaration, each site with its platform
|
|
122
|
+
assert "Coordinator.draw @CanvasView.swift:10 receiver=self platforms=ios" in out, out
|
|
123
|
+
assert "Coordinator.render @CanvasView.swift:20 receiver=self platforms=macos" in out, out
|
|
124
|
+
out = M.readers("field:CanvasView.Coordinator.scale@16") # the macOS declaration alone
|
|
125
|
+
assert "render" in out and "draw" not in out, out
|
|
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.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/dart/extractor/bin/extract.dart
RENAMED
|
File without changes
|
{cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/dart/extractor/pubspec.lock
RENAMED
|
File without changes
|
{cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/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.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/php/extractor/composer.json
RENAMED
|
File without changes
|
{cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/cg_code_graph/plugins/php/extractor/composer.lock
RENAMED
|
File without changes
|
{cg_code_graph-0.23.3 → cg_code_graph-0.23.4}/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
|