Skip to content
Beskid Platform specification

Beskid

Jump to a Beskid service

Beskid

Jump to a Beskid service

Contracts and edge cases

Platform spec article

Contracts and edge cases

Spec standingStandard

Owner
Piotr Mikstacki
Submitter
Piotr Mikstacki

Arguments: [{ projectUri: string, kind: string, entryUri?: string, workspaceUri?: string }]

Returns:

{
"kind": "projectDeps",
"mermaid": "flowchart LR\n...",
"revision": "a1b2c3...",
"warnings": [{ "code": "cycle", "message": "..." }],
"metadata": {
"nodes": [{ "id": "n0", "label": "demo", "kind": "root", "uri": "file://..." }],
"focusedProjectUri": "file://..."
}
}
RulePolicy
G-01LSP must route through beskid_queries::graph_mermaid on compilation_db
G-02metadata.nodes is lightweight navigation data only — not a parallel graph model
G-03hostComposition may return empty mermaid with warning no_host when entry has no launched host
G-04Project dependency cycles must still fail at graph build; import cycles may render with warning styling

beskid.getProjectGraph was removed. All clients must use beskid.getGraph with kind=projectDeps and read metadata.nodes for tree navigation.

beskid graph [--kind project|workspace|module|imports|host] [--project PATH] [--entry PATH] [--mermaid] [--plain] [--out FILE]
FlagBehavior
(default, TTY)Render via graphs-tui
--mermaidRaw Mermaid to stdout
Non-TTYAuto --mermaid unless --tui forced
  • Projects tree must remain for Targets / Dependencies / Source folders navigation.
  • Graph Explorer panel must fetch beskid.getGraph and render bundled Mermaid locally (no CDN).
  • Refresh must follow onRefreshWorkspaceUi and display revision badge.