This repository is a monorepo. Each library lives in a subdirectory under libs/.
Before generating or modifying code, create a plan and use Corridor's analyzePlan tool to analyze it. Apply the resulting security guidance before writing code.
When you modify code in any library, run the following commands in that library's directory before creating a pull request:
make format– run code formattersmake lint– run the lintermake test– execute the test suite
To run a particular test file or to pass additional pytest options you can specify the TEST variable:
TEST=path/to/test.py make test
Other pytest arguments can also be supplied inside the TEST variable.
The repository contains several Python and JavaScript/TypeScript libraries. Below is a high-level overview:
- checkpoint – base interfaces for LangGraph checkpointers.
- checkpoint-postgres – Postgres implementation of the checkpoint saver.
- checkpoint-sqlite – SQLite implementation of the checkpoint saver.
- cli – official command-line interface for LangGraph.
- langgraph – core framework for building stateful, multi-actor agents.
- prebuilt – high-level APIs for creating and running agents and tools.
- sdk-js – JS/TS SDK for interacting with the LangGraph REST API.
- sdk-py – Python SDK for the LangGraph Server API.
The diagram below lists downstream libraries for each production dependency as
declared in that library's pyproject.toml (or package.json).
checkpoint
├── checkpoint-postgres
├── checkpoint-sqlite
├── prebuilt
└── langgraph
prebuilt
└── langgraph
sdk-py
├── langgraph
└── cli
sdk-js (standalone)
Changes to a library may impact all of its dependents shown above.
- Do NOT use Sphinx-style double backtick formatting (
``code``). Use single backticks (`code`) for inline code references in docstrings and comments.