Is your feature request related to a problem? Please describe.
codeanalyzer-typescript 1.4.0 closes codeanalyzer-typescript#182: the Neo4j projection now carries import/export bindings, parameters_json on callables, and unresolved config reads. Three python-sdk accessors currently refuse on a TypeScript graph because that data was absent, and each refusal is asserted by a test that must now be inverted.
| accessor |
today, on a 1.3.0 graph |
on 1.4.0 |
get_imports / get_exports |
raise, naming "no import bindings" / "no export bindings" |
should answer |
get_method_parameters |
raises over Neo4j, answers in process |
should answer on both |
get_config_readers / get_unresolved_config_reads |
[] / refuse |
should answer |
Describe the solution you'd like
Describe alternatives you've considered
Not stated in the original issue.
Additional context
Scope boundary
In scope: pin 1.4.0, re-emit the reference graph, make the four accessors answer, invert the tests that assert their refusal, and update the documented lossiness that no longer applies.
Out of scope, still open upstream: #177 (declaration-merge id collision), #179 (:TSCallable.code one line short), #180 (structuredClone ceiling), #181 (exit 0 on failure). None is fixed in 1.4.0.
Caveats and known risks
- Do not delete the refusal path. The graph floor is a real boundary: a 1.3.0 graph is still attachable and still has no import bindings. Follow the pattern leg 3 established for Java's port probe — ask the data whether it carries the thing, never ask the analyzer's version.
- Re-emitting the TypeScript reference graph destroys and rebuilds it; do the offline half first.
parameters_json is a JSON string on the node. Decoding it must not swallow a malformed value into [], which would recreate the ambiguous empty this closes.
Definition of done
- The four accessors answer on a 1.4.0 graph and refuse on a 1.3.0 one, both pinned by tests, with no version literal in the decision path.
Is your feature request related to a problem? Please describe.
codeanalyzer-typescript1.4.0 closes codeanalyzer-typescript#182: the Neo4j projection now carries import/export bindings,parameters_jsonon callables, and unresolved config reads. Three python-sdk accessors currently refuse on a TypeScript graph because that data was absent, and each refusal is asserted by a test that must now be inverted.get_imports/get_exportsget_method_parametersget_config_readers/get_unresolved_config_reads[]/ refuseDescribe the solution you'd like
codeanalyzer-typescript==1.4.0, both places inpyproject.tomldocs/agent-api-reference.mdand the CHANGELOG's### Known limitationslose the entries that no longer holdDescribe alternatives you've considered
Not stated in the original issue.
Additional context
Scope boundary
In scope: pin 1.4.0, re-emit the reference graph, make the four accessors answer, invert the tests that assert their refusal, and update the documented lossiness that no longer applies.
Out of scope, still open upstream: #177 (declaration-merge id collision), #179 (
:TSCallable.codeone line short), #180 (structuredCloneceiling), #181 (exit 0 on failure). None is fixed in 1.4.0.Caveats and known risks
parameters_jsonis a JSON string on the node. Decoding it must not swallow a malformed value into[], which would recreate the ambiguous empty this closes.Definition of done