REST + WebSocket API service for Vibe-Graph.
This crate provides a clean API layer that can be consumed by any frontend. It separates data serving from visualization concerns.
Endpoints
Graph & WebSocket API (stateful, for visualization)
GET /api/health- Health check with node/edge countsGET /api/graph- Full SourceCodeGraph JSONGET /api/graph/nodes- Nodes onlyGET /api/graph/edges- Edges onlyGET /api/graph/metadata- Graph metadataGET /api/git/changes- Current git change snapshotGET /api/ws- WebSocket for real-time updates
Operations API (stateless, for CLI-like operations)
POST /api/ops/sync- Sync a codebaseGET /api/ops/sync?source=...- Sync with query paramsPOST /api/ops/graph- Build source code graphGET /api/ops/graph?path=...- Build graph with query paramsGET /api/ops/status?path=...- Get workspace statusGET /api/ops/load?path=...- Load project from .selfDELETE /api/ops/clean?path=...- Clean .self folderGET /api/ops/git-changes?path=...- Get git changes
Git Commands API (for executing git operations)
POST /api/git/cmd/add- Stage filesPOST /api/git/cmd/commit- Create commitPOST /api/git/cmd/reset- Unstage filesGET /api/git/cmd/branches- List branchesPOST /api/git/cmd/checkout- Switch branchGET /api/git/cmd/log- Commit historyGET /api/git/cmd/diff- Get diff
Usage
use ;
use ;
// For visualization server with pre-loaded graph
let graph = default;
let state = create_api_state;
let router = create_api_router;
// For operations API
let config = load.unwrap;
let ctx = new;
let ops_router = create_ops_router;