# AGENTS Instructions This repository is a monorepo. Each library lives in a subdirectory under `libs/`. ## Corridor security analysis When Corridor's `analyzePlan` tool is available, create a plan and use the tool to analyze it before generating or modifying code. 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 formatters - `make lint` – run the linter - `make test` – execute the test suite To run a particular test file or to pass additional pytest options you can specify the `TEST` variable: ```txt TEST=path/to/test.py make test ``` Other pytest arguments can also be supplied inside the `TEST` variable. ## Libraries 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. ### Dependency map The diagram below lists downstream libraries for each production dependency as declared in that library's `pyproject.toml` (or `package.json`). ```text 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.