Skip to main content

Module architecture_request

Module architecture_request 

Source
Expand description

#851: bynk/architectureModel — the architecture-map custom LSP request.

The third custom request in this server (after #846’s bynk/sequenceModel and #847’s bynk/documentationModel), and the same on-demand posture: no workspace/*/refresh nudge exists for a custom method and none is needed — the client re-issues the request each time “Bynk: Show Architecture Map” fires.

Unlike both siblings, this request is project-scoped, not file-scoped: the params carry a textDocument only to resolve which project’s committed round to read (the same committed_analysis gate every pull- based request uses), never to restrict the result to that one file. The wire model reflects that: every node/member/edge carries its own uri — not just a range against the request’s document, the convention sequence/documentation can get away with because they’re single-file.

Structs§

ArchitectureModelParams
The bynk/architectureModel request payload — a bare text-document identifier used only to resolve the owning project (Decision B: the active file’s nearest bynk.toml), never to scope the result to that file.
WireArchAgent
WireArchCapability
WireArchEdge
WireArchModel
WireArchNode
WireArchProvider
WireArchService
WireLoc

Functions§

architecture_model_for
Build the project-wide architecture model from the round’s own retained tables. A thin wrapper around architecture::architecture_model so the lib.rs handler stays a committed_analysis guard chain, like its two siblings.
to_wire
Lower the whole model. A node (or member, or edge) whose own location can’t be resolved (see wire_loc above) is dropped rather than sent with a bogus location — click-to-code must never open the wrong file.