agent-codinglanguage-mapper 1.1.2__tar.gz → 1.1.3__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.
Files changed (230) hide show
  1. {agent_codinglanguage_mapper-1.1.2/src/agent_codinglanguage_mapper.egg-info → agent_codinglanguage_mapper-1.1.3}/PKG-INFO +1 -1
  2. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/pyproject.toml +1 -1
  3. agent_codinglanguage_mapper-1.1.3/src/agent_codinglanguage_mapper/_version.py +1 -0
  4. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/indexer.py +57 -62
  5. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3/src/agent_codinglanguage_mapper.egg-info}/PKG-INFO +1 -1
  6. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_indexer.py +56 -137
  7. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_package_contract.py +8 -12
  8. agent_codinglanguage_mapper-1.1.2/src/agent_codinglanguage_mapper/_version.py +0 -1
  9. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/.github/workflows/ci.yml +0 -0
  10. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/LICENSE +0 -0
  11. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/MANIFEST.in +0 -0
  12. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/README.md +0 -0
  13. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/scripts/audit_language_matrix.py +0 -0
  14. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/scripts/benchmark_large_workspaces.py +0 -0
  15. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/scripts/build_github_performance_corpus.py +0 -0
  16. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/scripts/evaluate_external_corpora.py +0 -0
  17. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/scripts/generate_language_matrix.py +0 -0
  18. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/scripts/run_opencode_e2e.py +0 -0
  19. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/scripts/run_openrouter_e2e.py +0 -0
  20. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/setup.cfg +0 -0
  21. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/__init__.py +0 -0
  22. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/__main__.py +0 -0
  23. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/adapters/__init__.py +0 -0
  24. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/adapters/delphi.py +0 -0
  25. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/adapters/delphi_frontend/__init__.py +0 -0
  26. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/adapters/delphi_frontend/comment_builder.py +0 -0
  27. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/adapters/delphi_frontend/consts.py +0 -0
  28. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/adapters/delphi_frontend/grammar.py +0 -0
  29. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/adapters/delphi_frontend/lark_builder.py +0 -0
  30. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/adapters/delphi_frontend/lark_tokens.py +0 -0
  31. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/adapters/delphi_frontend/lsp_server.py +0 -0
  32. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/adapters/delphi_frontend/nodes.py +0 -0
  33. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/adapters/delphi_frontend/parser.py +0 -0
  34. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/adapters/delphi_frontend/preprocessor.py +0 -0
  35. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/adapters/delphi_frontend/project_discovery.py +0 -0
  36. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/adapters/delphi_frontend/project_indexer.py +0 -0
  37. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/adapters/delphi_frontend/semantic.py +0 -0
  38. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/adapters/delphi_frontend/semantic_builder.py +0 -0
  39. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/adapters/delphi_frontend/source_reader.py +0 -0
  40. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/adapters/delphi_frontend/workspace.py +0 -0
  41. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/adapters/tree_sitter.py +0 -0
  42. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/cli.py +0 -0
  43. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/discovery.py +0 -0
  44. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/formatting.py +0 -0
  45. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/guidelines.py +0 -0
  46. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/integration.py +0 -0
  47. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/lsp_server.py +0 -0
  48. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/lsp_service.py +0 -0
  49. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/mapper.py +0 -0
  50. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/models.py +0 -0
  51. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/protocol.py +0 -0
  52. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/rendering.py +0 -0
  53. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/templates/opencode/agents/agent-codinglanguage-mapper.md +0 -0
  54. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/templates/opencode/plugins/codebase_map.ts +0 -0
  55. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/templates/skill/SKILL.md +0 -0
  56. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/worker.py +0 -0
  57. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper/workspace.py +0 -0
  58. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper.egg-info/SOURCES.txt +0 -0
  59. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper.egg-info/dependency_links.txt +0 -0
  60. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper.egg-info/entry_points.txt +0 -0
  61. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper.egg-info/requires.txt +0 -0
  62. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/src/agent_codinglanguage_mapper.egg-info/top_level.txt +0 -0
  63. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/corpora.lock.json +0 -0
  64. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/runtime.lock.json +0 -0
  65. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/cpp/golden.json +0 -0
  66. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/cpp/prompt.txt +0 -0
  67. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/cpp/workspace/src/cache.cpp +0 -0
  68. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/csharp/golden.json +0 -0
  69. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/csharp/prompt.txt +0 -0
  70. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/csharp/workspace/src/RateService.cs +0 -0
  71. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/delphi/golden.json +0 -0
  72. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/delphi/prompt.txt +0 -0
  73. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/delphi/workspace/src/InventoryService.pas +0 -0
  74. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/guidelines/golden.json +0 -0
  75. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/guidelines/prompt.txt +0 -0
  76. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/guidelines/workspace/.editorconfig +0 -0
  77. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/guidelines/workspace/src/sample.py +0 -0
  78. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/mixed-ffi/golden.json +0 -0
  79. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/mixed-ffi/prompt.txt +0 -0
  80. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/mixed-ffi/workspace/CMakeLists.txt +0 -0
  81. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/mixed-ffi/workspace/native/metrics.cpp +0 -0
  82. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/mixed-ffi/workspace/python/metrics_bridge.py +0 -0
  83. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/python/golden.json +0 -0
  84. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/python/prompt.txt +0 -0
  85. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/python/workspace/src/billing.py +0 -0
  86. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/rust/golden.json +0 -0
  87. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/rust/prompt.txt +0 -0
  88. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/e2e/scenarios/rust/workspace/src/lib.rs +0 -0
  89. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/DeprecatedOnConst.pas +0 -0
  90. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/VariantRecordFieldAttributes.pas +0 -0
  91. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/alignedrecords.pas +0 -0
  92. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/constset.pas +0 -0
  93. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/deprecatedtype.pas +0 -0
  94. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/dottedtypes.pas +0 -0
  95. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/endtoken.pas +0 -0
  96. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/experimentals.pas +0 -0
  97. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/externalfunction.pas +0 -0
  98. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/finalizationinitializationexports.pas +0 -0
  99. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/forwardoverloaded.pas +0 -0
  100. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/forwardwithoutsemicolon.pas +0 -0
  101. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/genericconstraints.pas +0 -0
  102. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/genericinterfacemethoddelegation.pas +0 -0
  103. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/implementsgenerictype.pas +0 -0
  104. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/include file2.inc +0 -0
  105. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/includefile.inc +0 -0
  106. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/includefile.pas +0 -0
  107. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/managedrecords.pas +0 -0
  108. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/messagemethod.pas +0 -0
  109. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/multiline.pas +0 -0
  110. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/nonalignedrecords.pas +0 -0
  111. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/numbers.pas +0 -0
  112. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/pointerchars.pas +0 -0
  113. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/properties.pas +0 -0
  114. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/strictvisibility.pas +0 -0
  115. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/tryexcept.pas +0 -0
  116. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/umlauts.pas +0 -0
  117. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/legacy_snippets/whitespacearoundifdefcondition.pas +0 -0
  118. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/library_demo.dpr +0 -0
  119. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/package_demo.dpk +0 -0
  120. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/program_demo.dpr +0 -0
  121. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/unit_advanced.pas +0 -0
  122. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/unit_attributes.pas +0 -0
  123. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/unit_basic.pas +0 -0
  124. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/unit_consumer.pas +0 -0
  125. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/unit_generics.pas +0 -0
  126. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/unit_inheritance.pas +0 -0
  127. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/unit_math.pas +0 -0
  128. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/unit_properties.pas +0 -0
  129. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/unit_sections.pas +0 -0
  130. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/unit_statements.pas +0 -0
  131. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/unit_types.pas +0 -0
  132. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/unit_unresolved.pas +0 -0
  133. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/delphi/unit_with.pas +0 -0
  134. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/polyglot/Legacy.csx +0 -0
  135. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/polyglot/Modern.cs +0 -0
  136. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/polyglot/legacy.hpp +0 -0
  137. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/polyglot/legacy.py +0 -0
  138. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/polyglot/legacy.rs +0 -0
  139. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/polyglot/modern.cpp +0 -0
  140. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/polyglot/modern.py +0 -0
  141. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/fixtures/polyglot/modern.rs +0 -0
  142. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/cpp/cpp-03.cpp +0 -0
  143. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/cpp/cpp-11.cpp +0 -0
  144. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/cpp/cpp-14.cpp +0 -0
  145. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/cpp/cpp-17.cpp +0 -0
  146. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/cpp/cpp-20.cpp +0 -0
  147. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/cpp/cpp-23.cpp +0 -0
  148. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/cpp/cpp-98.cpp +0 -0
  149. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/cpp/cpp-gnu-stable.cpp +0 -0
  150. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/cpp/cpp-msvc-stable.cpp +0 -0
  151. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/csharp/csharp-1.cs +0 -0
  152. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/csharp/csharp-10.cs +0 -0
  153. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/csharp/csharp-11.cs +0 -0
  154. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/csharp/csharp-12.cs +0 -0
  155. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/csharp/csharp-13.cs +0 -0
  156. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/csharp/csharp-14.cs +0 -0
  157. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/csharp/csharp-2.cs +0 -0
  158. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/csharp/csharp-3.cs +0 -0
  159. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/csharp/csharp-4.cs +0 -0
  160. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/csharp/csharp-5.cs +0 -0
  161. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/csharp/csharp-6.cs +0 -0
  162. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/csharp/csharp-7.cs +0 -0
  163. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/csharp/csharp-8.cs +0 -0
  164. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/csharp/csharp-9.cs +0 -0
  165. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-10-2006.pas +0 -0
  166. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-11-2007.pas +0 -0
  167. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-12-2009.pas +0 -0
  168. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-13-2010.pas +0 -0
  169. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-14-xe-2011.pas +0 -0
  170. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-15-xe2-2012.pas +0 -0
  171. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-16-xe3-2013.pas +0 -0
  172. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-17-xe4-2013.pas +0 -0
  173. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-18-xe5-2013.pas +0 -0
  174. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-19-xe6-2014.pas +0 -0
  175. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-20-xe7-2014.pas +0 -0
  176. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-21-xe8-2015.pas +0 -0
  177. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-22-10-seattle-2015.pas +0 -0
  178. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-23-10-1-berlin-2016.pas +0 -0
  179. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-24-10-2-tokyo-2017.pas +0 -0
  180. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-25-10-3-rio-2018.pas +0 -0
  181. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-26-10-4-sydney-2020.pas +0 -0
  182. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-27-11-alexandria-2021.pas +0 -0
  183. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-28-12-athens-2023.pas +0 -0
  184. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-29-13-florence-2024.pas +0 -0
  185. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-7-7.pas +0 -0
  186. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-8-8.pas +0 -0
  187. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-9-2005.pas +0 -0
  188. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/delphi/delphi-directives.pas +0 -0
  189. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/python/python-2-7.py +0 -0
  190. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/python/python-3-0.py +0 -0
  191. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/python/python-3-1.py +0 -0
  192. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/python/python-3-10.py +0 -0
  193. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/python/python-3-11.py +0 -0
  194. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/python/python-3-12.py +0 -0
  195. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/python/python-3-13.py +0 -0
  196. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/python/python-3-14.py +0 -0
  197. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/python/python-3-2.py +0 -0
  198. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/python/python-3-3.py +0 -0
  199. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/python/python-3-4.py +0 -0
  200. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/python/python-3-5.py +0 -0
  201. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/python/python-3-6.py +0 -0
  202. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/python/python-3-7.py +0 -0
  203. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/python/python-3-8.py +0 -0
  204. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/python/python-3-9.py +0 -0
  205. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/rust/rust-2015.rs +0 -0
  206. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/rust/rust-2018.rs +0 -0
  207. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/rust/rust-2021.rs +0 -0
  208. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/fixtures/rust/rust-2024.rs +0 -0
  209. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/language_matrix/matrix.json +0 -0
  210. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_adapters.py +0 -0
  211. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_cli.py +0 -0
  212. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_delphi_adapter.py +0 -0
  213. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_discovery.py +0 -0
  214. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_ffi.py +0 -0
  215. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_github_performance_corpus.py +0 -0
  216. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_guideline_formatting.py +0 -0
  217. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_guidelines.py +0 -0
  218. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_integration_install.py +0 -0
  219. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_language_matrix.py +0 -0
  220. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_large_files.py +0 -0
  221. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_lsp_server.py +0 -0
  222. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_lsp_service.py +0 -0
  223. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_mapper_details.py +0 -0
  224. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_opencode_e2e_harness.py +0 -0
  225. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_openrouter_e2e_harness.py +0 -0
  226. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_performance_harness.py +0 -0
  227. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_protocol.py +0 -0
  228. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_rendering.py +0 -0
  229. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_worker.py +0 -0
  230. {agent_codinglanguage_mapper-1.1.2 → agent_codinglanguage_mapper-1.1.3}/tests/test_workspace.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-codinglanguage-mapper
3
- Version: 1.1.2
3
+ Version: 1.1.3
4
4
  Summary: Agent-focused semantic mapping and language services for mixed-language codebases.
5
5
  Author: Dark Light
6
6
  License-Expression: MPL-2.0
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "agent-codinglanguage-mapper"
7
- version = "1.1.2"
7
+ version = "1.1.3"
8
8
  description = "Agent-focused semantic mapping and language services for mixed-language codebases."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10,<3.15"
@@ -54,10 +54,7 @@ class WorkspaceIndexCache:
54
54
  directories: tuple[tuple[str, int], ...] = ()
55
55
 
56
56
  def sources_changed(self, root: Path) -> bool:
57
- if any(
58
- not _dependencies_unchanged(cached.dependency_stamps)
59
- for cached in self.entries.values()
60
- ):
57
+ if any(not _dependencies_unchanged(cached.dependency_stamps) for cached in self.entries.values()):
61
58
  return True
62
59
  for relative, cached in self.entries.items():
63
60
  path = root / relative
@@ -83,6 +80,39 @@ class WorkspaceIndexCache:
83
80
  return new_inventory != self.inventory
84
81
 
85
82
 
83
+ def _deduplicate_parser_symbols(items: tuple[Symbol, ...]) -> tuple[Symbol, ...]:
84
+ """Collapse C/C++ typedef aliases emitted for the same concrete declaration."""
85
+
86
+ def declaration_key(item: Symbol) -> tuple[str, str, int, int]:
87
+ anchor = item.name_range or item.range
88
+ return (
89
+ item.qualified_name,
90
+ anchor.path,
91
+ anchor.start_line,
92
+ anchor.start_character,
93
+ )
94
+
95
+ groups: dict[tuple[str, str, int, int], list[Symbol]] = defaultdict(list)
96
+ for item in items:
97
+ groups[declaration_key(item)].append(item)
98
+ emitted: set[tuple[str, str, int, int]] = set()
99
+ selected: list[Symbol] = []
100
+ concrete_kinds = {"class", "enum", "struct", "union"}
101
+ for item in items:
102
+ key = declaration_key(item)
103
+ if key in emitted:
104
+ continue
105
+ emitted.add(key)
106
+ group = groups[key]
107
+ concrete = [candidate for candidate in group if candidate.kind in concrete_kinds]
108
+ aliases = [candidate for candidate in group if candidate.kind == "type_alias"]
109
+ if len(concrete) == 1 and aliases:
110
+ selected.append(concrete[0])
111
+ else:
112
+ selected.extend(group)
113
+ return tuple(selected)
114
+
115
+
86
116
  def build_workspace_snapshot(
87
117
  root: str | Path,
88
118
  languages: Iterable[Language] | None = None,
@@ -108,9 +138,7 @@ def build_workspace_snapshot(
108
138
  selected_detail_files = None if detail_files is None else {Path(item).as_posix() for item in detail_files}
109
139
  incremental_detail = base_snapshot is not None and selected_detail_files is not None
110
140
  base_files_by_path = (
111
- {item.path: item for item in base_snapshot.files}
112
- if incremental_detail and base_snapshot is not None
113
- else {}
141
+ {item.path: item for item in base_snapshot.files} if incremental_detail and base_snapshot is not None else {}
114
142
  )
115
143
  base_references_by_path: dict[str, list[Reference]] = defaultdict(list)
116
144
  base_relations_by_path: dict[str, list[Relation]] = defaultdict(list)
@@ -137,9 +165,8 @@ def build_workspace_snapshot(
137
165
  for found in discovery.files:
138
166
  relative = found.path.relative_to(workspace).as_posix()
139
167
  include_detail = (
140
- (selected_detail_files is None or relative in selected_detail_files)
141
- and found.path.suffix.casefold() != ".inc"
142
- )
168
+ selected_detail_files is None or relative in selected_detail_files
169
+ ) and found.path.suffix.casefold() != ".inc"
143
170
  file_id = stable_id("file", found.project_id, relative)
144
171
  project = projects_by_id[found.project_id]
145
172
  delphi_config: DelphiProjectDiscovery | None = None
@@ -271,11 +298,7 @@ def build_workspace_snapshot(
271
298
  else:
272
299
  adapter = pooled_adapter
273
300
  outline = adapter.parse_outline(relative, source)
274
- result = (
275
- adapter.resolve(adapter.parse_detail(relative, source, outline))
276
- if include_detail
277
- else outline
278
- )
301
+ result = adapter.resolve(adapter.parse_detail(relative, source, outline)) if include_detail else outline
279
302
  if index_cache is not None:
280
303
  index_cache.entries[relative] = _CachedParse(
281
304
  found.project_id,
@@ -292,8 +315,9 @@ def build_workspace_snapshot(
292
315
  )
293
316
  active_cache_paths.add(relative)
294
317
  source_digests.append((relative, source_digest))
318
+ parsed_symbols = _deduplicate_parser_symbols(result.symbols)
295
319
  normalized_symbols_list: list[Symbol] = []
296
- for parsed_symbol in result.symbols:
320
+ for parsed_symbol in parsed_symbols:
297
321
  normalized_range = _workspace_required_range(
298
322
  workspace,
299
323
  parsed_symbol.range,
@@ -304,10 +328,7 @@ def build_workspace_snapshot(
304
328
  parsed_symbol.name_range,
305
329
  workspace_path_cache,
306
330
  )
307
- if (
308
- normalized_range is parsed_symbol.range
309
- and normalized_name_range is parsed_symbol.name_range
310
- ):
331
+ if normalized_range is parsed_symbol.range and normalized_name_range is parsed_symbol.name_range:
311
332
  normalized_symbols_list.append(parsed_symbol)
312
333
  else:
313
334
  normalized_symbols_list.append(
@@ -320,7 +341,7 @@ def build_workspace_snapshot(
320
341
  normalized_symbols = tuple(normalized_symbols_list)
321
342
  ids = {
322
343
  parsed_symbol.target_id: _workspace_symbol_id(found.project_id, file_id, normalized)
323
- for parsed_symbol, normalized in zip(result.symbols, normalized_symbols)
344
+ for parsed_symbol, normalized in zip(parsed_symbols, normalized_symbols)
324
345
  }
325
346
  symbols.extend(
326
347
  Symbol(
@@ -338,7 +359,7 @@ def build_workspace_snapshot(
338
359
  normalized.name_range,
339
360
  parsed_symbol.role,
340
361
  )
341
- for parsed_symbol, normalized in zip(result.symbols, normalized_symbols)
362
+ for parsed_symbol, normalized in zip(parsed_symbols, normalized_symbols)
342
363
  )
343
364
  for reference in result.references:
344
365
  source_id = ids.get(reference.source_id, "")
@@ -363,7 +384,7 @@ def build_workspace_snapshot(
363
384
  range=normalized_range,
364
385
  )
365
386
  )
366
- local_symbols_by_id = {parsed_symbol.target_id: parsed_symbol for parsed_symbol in result.symbols}
387
+ local_symbols_by_id = {parsed_symbol.target_id: parsed_symbol for parsed_symbol in parsed_symbols}
367
388
  for relation in result.relations:
368
389
  relation_library = relation.target_library
369
390
  relation_source = local_symbols_by_id.get(relation.source_id)
@@ -382,14 +403,12 @@ def build_workspace_snapshot(
382
403
  target_id=ids.get(relation.target_id, ""),
383
404
  target_library=relation_library,
384
405
  evidence=tuple(
385
- _workspace_required_range(workspace, value, workspace_path_cache)
386
- for value in relation.evidence
406
+ _workspace_required_range(workspace, value, workspace_path_cache) for value in relation.evidence
387
407
  ),
388
408
  )
389
409
  )
390
410
  problems.extend(
391
- _workspace_problem(workspace, problem, relative, workspace_path_cache)
392
- for problem in result.problems
411
+ _workspace_problem(workspace, problem, relative, workspace_path_cache) for problem in result.problems
393
412
  )
394
413
 
395
414
  inventory = workspace_inventory(workspace, scan=scan)
@@ -415,11 +434,7 @@ def build_workspace_snapshot(
415
434
  relations=resolved_relations,
416
435
  problems=tuple(problems),
417
436
  source_digests=tuple(source_digests),
418
- metadata_digests=tuple(
419
- (relative, digest)
420
- for relative, _modified, _size, digest in inventory
421
- if digest
422
- ),
437
+ metadata_digests=tuple((relative, digest) for relative, _modified, _size, digest in inventory if digest),
423
438
  )
424
439
 
425
440
 
@@ -554,24 +569,16 @@ def _discard_shadowed_fragment_results(
554
569
  and owner_path == anchor.path
555
570
  and (
556
571
  source_key(symbol) in contextual_keys
557
- or (
558
- symbol.language is Language.DELPHI
559
- and symbol.kind == "unit"
560
- and symbol.name_range is None
561
- )
572
+ or (symbol.language is Language.DELPHI and symbol.kind == "unit" and symbol.name_range is None)
562
573
  )
563
574
  ):
564
575
  discarded_ids.add(symbol.target_id)
565
576
  kept_symbols = [item for item in symbols if item.target_id not in discarded_ids]
566
577
  kept_references = [
567
- item
568
- for item in references
569
- if item.source_id not in discarded_ids and item.target_id not in discarded_ids
578
+ item for item in references if item.source_id not in discarded_ids and item.target_id not in discarded_ids
570
579
  ]
571
580
  kept_relations = [
572
- item
573
- for item in relations
574
- if item.source_id not in discarded_ids and item.target_id not in discarded_ids
581
+ item for item in relations if item.source_id not in discarded_ids and item.target_id not in discarded_ids
575
582
  ]
576
583
  return kept_symbols, kept_references, kept_relations
577
584
 
@@ -768,21 +775,15 @@ def _resolve_workspace(
768
775
  and _is_abi_export_symbol(source)
769
776
  and all(
770
777
  item.target_id != source.target_id
771
- for item in abi_exports[
772
- (_normalize_library(relation.target_library), relation.target_name)
773
- ]
778
+ for item in abi_exports[(_normalize_library(relation.target_library), relation.target_name)]
774
779
  )
775
780
  ):
776
781
  library = _normalize_library(relation.target_library)
777
782
  if library:
778
783
  abi_exports[(library, relation.target_name)].append(source)
779
784
 
780
- resolved_references = tuple(
781
- _resolve_reference(item, by_name, by_id, visibility) for item in references
782
- )
783
- resolved_relations = tuple(
784
- _resolve_relation(item, by_name, abi_exports, by_id, visibility) for item in relations
785
- )
785
+ resolved_references = tuple(_resolve_reference(item, by_name, by_id, visibility) for item in references)
786
+ resolved_relations = tuple(_resolve_relation(item, by_name, abi_exports, by_id, visibility) for item in relations)
786
787
  return resolved_references, resolved_relations
787
788
 
788
789
 
@@ -924,11 +925,7 @@ def _workspace_visibility(
924
925
  visibility: list[_ImportRule] = []
925
926
  for reference in references:
926
927
  owner = by_id.get(reference.source_id)
927
- if (
928
- owner is None
929
- or reference.reference_kind != "import"
930
- or owner.kind not in {"module", "namespace", "unit"}
931
- ):
928
+ if owner is None or reference.reference_kind != "import" or owner.kind not in {"module", "namespace", "unit"}:
932
929
  continue
933
930
  visibility.append(
934
931
  _ImportRule(
@@ -1009,7 +1006,7 @@ def _csharp_namespace(symbol: Symbol, by_id: dict[str, Symbol]) -> str:
1009
1006
  if current.kind == "namespace":
1010
1007
  qualified = current.qualified_name
1011
1008
  module_prefix = f"{PurePosixPath(current.range.path).stem}."
1012
- return qualified[len(module_prefix):] if qualified.startswith(module_prefix) else qualified
1009
+ return qualified[len(module_prefix) :] if qualified.startswith(module_prefix) else qualified
1013
1010
  current = by_id.get(current.parent_id)
1014
1011
  return ""
1015
1012
 
@@ -1053,7 +1050,7 @@ def _rule_exposes_candidate(
1053
1050
  qualifier_parts = normalized_qualifier.split(".")
1054
1051
  alias_parts = normalized_alias.split(".")
1055
1052
  if qualifier_parts[: len(alias_parts)] == alias_parts and module_matches:
1056
- remainder = ".".join(qualifier_parts[len(alias_parts):])
1053
+ remainder = ".".join(qualifier_parts[len(alias_parts) :])
1057
1054
  return not remainder or _candidate_parent_scope(candidate, by_id).endswith(remainder)
1058
1055
 
1059
1056
  if not rule.wildcard or not module_matches:
@@ -1065,9 +1062,7 @@ def _rule_exposes_candidate(
1065
1062
 
1066
1063
  candidate_parent = _candidate_parent_scope(candidate, by_id)
1067
1064
  if normalized_qualifier:
1068
- expected_parent = ".".join(
1069
- part for part in (rule.import_path, normalized_qualifier) if part
1070
- )
1065
+ expected_parent = ".".join(part for part in (rule.import_path, normalized_qualifier) if part)
1071
1066
  return candidate_parent == expected_parent
1072
1067
  if rule.module_alias:
1073
1068
  return candidate_parent == rule.import_path
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-codinglanguage-mapper
3
- Version: 1.1.2
3
+ Version: 1.1.3
4
4
  Summary: Agent-focused semantic mapping and language services for mixed-language codebases.
5
5
  Author: Dark Light
6
6
  License-Expression: MPL-2.0