Skip to content

typescript: cross-process remote_edge for HTTP routes; context lists remote hops - #1710

Merged
swapnilpaliwal-sd merged 1 commit into
0.1.7from
loop/ty-is1293
Sep 28, 2026
Merged

swapnilpaliwal-sd merged 1 commit into
0.1.7from
loop/ty-is1293

Conversation

@swapnilpaliwal-sd

Copy link
Copy Markdown
Contributor

TypeScript now emits remote_edge for HTTP, and context lists remote hops as their own tier (transport, destination, confidence), never merged into call hops.

  • graph/typescript/engine/framework-behavior/destinations.dl: joins fetch / an axios-style client (or its create()d instance) to router routes and @Controller/@Get routes. It reads the path from a literal, a template, a local or imported constant, or a const config object. The verbs must match. Unjoined halves are reported as unserved, unsent or undetermined. Framework names are in config-resolution/knobs.dl.
  • impact's test closure walks a remote hop (sender → handler) on its own remote rung, so test-impact selects the test that drives the client.
  • Tests: golden 78-cross-process-destinations (literal, constant and configured shapes; a POST that must not match the GET handler). tests/cases/{typescript,java}/cross-process-route checks impact, path, changed --impact, test-impact and context; the Java case is a regression guard.
  • Checked: the case gives 6 remote edges, 1 unserved, 1 unsent, 1 undetermined. On a real Express app and a real Nest app, call edges (524 / 2189) and entry points (80 / 164) are unchanged, with 20 and 47 routes reported unsent. Index time is the same (9.0 s vs 9.4 s). Verb checks pass 65/65. The TS tests/cases suite shows 3 failures that also fail on the base engine. The full TS golden suite was still running when this was opened.
  • Not in this PR: JavaScript (no framework-behavior phase yet), messaging and gRPC, and routers mounted under a prefix.

Part of #1293

…sts remote hops

TypeScript had no framework-behavior phase, so no TS bundle held an
ext_remote_edge row and impact/path stopped at the send. destinations.dl
joins an HTTP client (fetch, an axios-style client or its create()d
instance) to the route that serves it (router calls, @Controller/@get),
reading the path from a literal, a template, a constant (local or
imported) or a const config object. Verb must agree; the route with the
fewest differing segments wins. Unjoined halves are reported as
remote_unserved / remote_unsent / remote_undetermined. Framework names
live in config-resolution/knobs.dl.

context now prints ext_remote_edge rows as their own tier (transport,
destination, confidence), never merged into call hops. impact's test
closure walks a remote hop from sender to handler on its own `remote`
rung, so test-impact selects the test that drives the client.

Part of #1293

Co-authored-by: axiomcode-bot[bot] <334110751+axiomcode-bot[bot]@users.noreply.github.com>
Co-Authored-By: Claude <noreply@anthropic.com>
@swapnilpaliwal-sd
swapnilpaliwal-sd merged commit 03772cc into 0.1.7 Sep 28, 2026
10 of 11 checks passed
@swapnilpaliwal-sd
swapnilpaliwal-sd deleted the loop/ty-is1293 branch September 28, 2026 22:00
swapnilpaliwal-sd added a commit that referenced this pull request Sep 28, 2026
…goldens

tests: TS cases 68 and 69 expect #1710's remote_unsent section
This was referenced Sep 29, 2026
qtwang pushed a commit to qtwang/axiomcodegraph that referenced this pull request Oct 11, 2026
 adds

Co-authored-by: axiomcode-bot[bot] <334110751+axiomcode-bot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant