CDS pluginCDS plugintypeInstalls into a CAP project and extends the runtime. CAP loads it through cds.requires or the plugin hook.See every one →What this type is →independently maintainedindependently maintainedoriginPublished by one person or a small company outside SAP. Says nothing about quality; the readings say that.See every one →

@mi8y/cds-langgraph-persistence

A LangGraph checkpointer backed by CDS, so an agent's state survives the request that created it — durability for LangChain and LangGraph agents running inside the CAP Node.js runtime.

LangGraph keeps a graph's state in a checkpointer; this implements that interface against the CDS persistence layer instead of a separate store. The agent's memory then lives where the application's data already lives, under the same tenant isolation and the same deployment, rather than in a second database with its own credentials and lifecycle. It now sits in the mi8y/cap-agents-addons monorepo beside three further addons, and its README points new CAP agent applications at the checkpointer @cap-js/agents has since added while keeping this package available for existing implementations.

Facts

Latestv0.7.0ReleasedLast pushLicenceMIT

Where it sits

Lives in
Provides
Agent toolingCAPAgent toolingcapabilityBuilding an agent into your own application — the tools it may call, the state it keeps between turns, and the framework it runs in. Distinct from MCP servers, which expose an application to somebody else's agent, and from agent guidance, which is knowledge handed to a coding agent.
Flavors
Node.jsfrom its runtime
Requires
@sap/cds≥ 10@sap/cdsartifactThe peer range, as published.

Who is behind it

Merbin J AnselmMerbin J AnselmPersonMaintains this
In the atlas: maintains 6, contributes to 6
@anselm94
Mi8Y TechnologiesMi8Y TechnologiesOrganisationMaintains this
In the atlas: maintains 6
@mi8y
maintainers

Before choosing this

Conditions

LicenceSAP Developer License Agreement 3.2 CAP§ 1, 2, 3A cds-plugin is used with SAP CAP materials, or an artifact is explicitly identified as a CAP plugin or application.
  • § 1 License. Productive customer applications are limited to SAP BTP or another SAP-licensed platform, and mass extraction to a non-SAP product is restricted except where solely required for SAP interoperability.
  • § 2 Intellectual Property. The agreement retains SAP's rights in the covered materials and limits making APIs, tools or software available to third parties, while preserving ownership of customer applications subject to SAP's underlying rights.
  • § 3 Artificial Intelligence Training. The agreement prohibits use of the covered materials and customer applications for training artificial-intelligence models or systems.
SAP Developer License Agreement 3.2 CAP →
PolicySAP API Policy 4.2026a§ 2.2.2from Agent toolingAn agent built into an application reaches SAP Application APIs, whether directly or through tools generated from a service that proxies them.
  • § 2.2.2 AI call sequences and data extraction. Outside SAP-endorsed architectures, data services or expressly identified pathways, the policy prohibits specified agentic API use and systematic or large-scale extraction.

capire's own guide states that CAP-level agents are intended only for exposing custom CAP application services, and names section 2.2.2 for the agentic-access provisions. Check which endpoints the agent's tools end up calling, and consult SAP's reference architectures for the endorsed routes.

SAP API Policy 4.2026a →

What it declares

Every artifact

Type
CDS plugin
Origin
Independently maintained
Runtime
Node.js

As a CDS plugin

Declared for
>=10
Type declarations
declared
Distributed through
does not say

For agent tooling

What it brings
State between turns
Agent framework
LangGraph
Where state is kept
In the application database

Tasks this contributes to1Beta

Keep a conversation after the server restartsA conversation with the agent survives a restart, and a follow-up that lands on another instance carries on where the last one left off instead of starting again.Node.js, JavaCovers, under conditionscheckpointer for a LangGraph agent
What it does

Answers the same outcome for an agent whose loop is LangGraph's rather than the plugin's: checkpoints are thread-scoped state written through CDS, used to resume a workflow, keep the conversation's history and travel back through it.

Conditions

The agent runs on LangGraph, whose checkpointer interface this implements.; @sap/cds 10 or higher, which its README states as a requirement.; The README now says SAP's own @cap-js/agents includes checkpointer support and to prefer it for new applications, keeping this package available for its existing implementation.

Remaining work

The loop, the graph and the model stay the project's: this is the one piece of a LangGraph agent that the package supplies.

All options on the Agent tooling page →

Connections1

Install

npm add @mi8y/cds-langgraph-persistence

Derived from the package name. No recipe recorded; the README has the configuration.

Learn more1

Readings
  1. Building Durable AI Agents - Announcing the cds-langgraph-persistence Pluginmerbinjanselm, SAP Community

README

quoted from mi8y/cap-agents-addons under MIT, read
mi8y/cap-agents-addons/packages/cds-langgraph-persistence/README.mdOn GitHub

@mi8y/cds-langgraph-persistence

npm version

CDS-backed LangGraph checkpoint persistence for SAP CAP applications. Checkpoints are short-term, thread-scoped state used to resume workflows, retain conversation history, and support time travel.

SAP's official @cap-js/agents package now includes checkpointer support. Prefer it for new CAP agent applications. This package remains available for its existing CDS checkpointer implementation.

Installation

npm install @mi8y/cds-langgraph-persistence
cds add langgraph-checkpointer

The add command creates db/langgraph-checkpointer.cds, which supplies default Checkpoints and CheckpointWrites entities. You can instead implement the exported Checkpoint and CheckpointWrite aspects with your own entities.

Requires @sap/cds >= 10.

Usage

import { CdsCheckpointSaver } from "@mi8y/cds-langgraph-persistence";

const checkpointer = new CdsCheckpointSaver({ name: "support-agent" });
const graph = builder.compile({ checkpointer });

await graph.invoke(input, {
  configurable: { thread_id: "customer-123" },
});

name isolates checkpoints for each graph. Use configurable.thread_id to isolate each conversation or workflow run.

API

new CdsCheckpointSaver(config, serde?)
OptionTypeDescription
namestringRequired logical graph name.
ttlnumberOptional checkpoint lifetime in milliseconds.
fqnCheckpointsEntitystringDefaults to plugin.langgraph.persistence.Checkpoints.
fqnCheckpointWritesEntitystringDefaults to plugin.langgraph.persistence.CheckpointWrites.

Main methods are getTuple, list, put, putWrites, and deleteThread.

TTL cleanup

purgeExpiredCheckpoints() removes expired completed threads. Invoke it from a scheduled job; interrupted or in-progress threads with pending writes are skipped.

import cds from "@sap/cds";
import { purgeExpiredCheckpoints } from "@mi8y/cds-langgraph-persistence";

cds.spawn({ every: 60 * 60 * 1000 }, () => purgeExpiredCheckpoints());

Long-term memory

For cross-thread user preferences, facts, and Store API search, install @mi8y/cap-agents-memory. It provides CdsMemoryStore and cds add agent-memory.

License

MIT License

MIT, read

History

Latest

v0.7.0

Features 1, Fixes 2

Notes
Minor Changes
  • a72a335: - Replace shipped concrete checkpoint entities with reusable CDS aspects.
    • Add cds add langgraph-checkpointer for generating default checkpoint entities.
Patch Changes
  • 8d39e22: Reconstruct sparse checkpoint channel values and versions from ancestor checkpoints when loading checkpoint tuples and history.
  • 52db638: Updated path from srv/ to db/ for the generated CDS files
  1. v0.6.0

    Features 3

    Notes
    Minor Changes
    • dc848a7: Fix printing cds add ... during startup even after running the command
    • 29d4178: Added transaction isolation for checkpointer mutations to avoid rollbacks in case of failure in enclosing CDS request
    • 4a5b484: Add support for purging completed and expired threads. This can be either used as a utility for managed sweeping or as a plugin-managed job for single/multitenant expired checkpoint cleanup. The purge job will skip threads that are in interrupted or in-progress state (i.e. have pending writes) and will only delete threads that are completed and expired.
  2. v0.5.0

    Features 1

    Notes
    Minor Changes
    • 1fe9401: Add cds add langgraph-persistence command. This is a mandatory step after install, since the previous approach does not add the entities during build time
  3. v0.4.0

    Features 1

    Notes
    Minor Changes
    • 0b70f73: Made checkpoint parent as a CAP managed association
  4. v0.3.0

    Features 1

    Notes
    Minor Changes
    • 917885b: - Add name as mandatory config to run multiple agents/graphs within a single CDS app
  5. v0.2.0

    Features 1

    Notes
    Minor Changes
    • 50b1fb5: Add empty config options for checkpoint saver for non-breaking future support
  6. v0.1.0

    Features 1

    Notes
    Minor Changes
    • b630ad0: Add support for CDS v9 & v10 with tests
  7. v0.0.3

    Fixes 1

    Notes
    Patch Changes
    • f34d7c3: Fixed module exports for the package
  8. v0.0.2

    Fixes 1

    Notes
    Patch Changes
    • a03c4f7: Initial project setup
6downloads per week, npm
Weekly downloads for @mi8y/cds-langgraph-persistence26 complete calendar weeks from 2026-04-20 to 2026-10-18; the latest total is 6.20 Apr – 26 Apr: 027 Apr – 3 May: 04 May – 10 May: 011 May – 17 May: 018 May – 24 May: 025 May – 31 May: 01 Jun – 7 Jun: 08 Jun – 14 Jun: 015 Jun – 21 Jun: 022 Jun – 28 Jun: 029 Jun – 5 Jul: 06 Jul – 12 Jul: 41213 Jul – 19 Jul: 55920 Jul – 26 Jul: 21327 Jul – 2 Aug: 523 Aug – 9 Aug: 3910 Aug – 16 Aug: 4517 Aug – 23 Aug: 3024 Aug – 30 Aug: 831 Aug – 6 Sept: 57 Sept – 13 Sept: 1214 Sept – 20 Sept: 18421 Sept – 27 Sept: 1828 Sept – 4 Oct: 205 Oct – 11 Oct: 2512 Oct – 18 Oct: 6
Agent tooling
  1. a2a-pluginExposes an annotated CDS service as an Agent-to-Agent agentfrom CAP
  2. com.sap.cds:cds-adapter-agentA2A adapter turning a CAP Java service into an LLM-backed agentfrom CAP
  3. @cap-js/agentsCDS plugin for building agents inside a CAP servicefrom CAP
  4. cap-agent-ui5-webuiUI5 web interface for an agent built in a CAP servicefrom CAP
  5. @mi8y/cap-agents-memoryLangGraph Store keeping agent memory as CDS entitiesfrom CAP
  6. @mi8y/cap-agents-sdm-backendDeep Agents filesystem over an SAP Document Management repositoryfrom CAP
  7. cds-agentsToolkit turning a CAP service into tools for agent frameworksfrom CAP
  8. Joule Studio, classic editionLow-code SAP Build capability for custom Joule skills and agentsfrom BTP/BAIP
  9. @sap/joule-studio-cliCLI for Joule digital assistants and Joule Studio solutionsfrom BTP/BAIP
  10. Joule StudioSAP's managed environment for building custom agents and workflowsfrom Across stacks
  11. @sap/joule-work-dev-cli-early-adoptersPro-code CLI for building and deploying Joule Studio solutionsfrom BTP/BAIP
  12. SAP JouleSAP's AI engagement layer across SAP applicationsfrom BTP/BAIP
  13. @saptarishi/cds-plugin-llmCAP service kind putting eleven model providers behind one APIfrom CAP

Details

Sources5
npm registrydiscovered herechecked
SAP Communitydiscovered here, cap-tagchecked
npm registry, @mi8y/cds-langgraph-persistenceversion, releases, installschecked
github.com/git+https://github.com/mi8y/cap-agents-plugins.gittree, pushes, contributors, CIchecked
packages/cds-langgraph-persistence/README.mdquoted, and what the entry declareschecked

Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.

Compatibility and provenance
runtimesnode
declared for>=10
latestv0.7.0
first release
releases and cadence9, ~2d median
discovered vianpm registry, SAP Community · cap-tag
first seen in the atlas
ecosystem and domaincap, ai-and-agents
History in the atlas5
  1. what_it_does, three property values and three sources
  2. The standalone repository was renamed: GitHub's API resolves mi8y/cds-langgraph-persistence to mi8y/cap-agents-addons, and the package now sits under packages/ beside cap-agents-memory, cap-agents-cds-vectorstore and cap-agents-aicore-vectorstore. Its own package.json points at the new repository.
  3. The package README states 'Requires `@sap/cds >= 10`' and package.json 0.7.0 declares the same peer dependency, with peerDependenciesMeta marking it not optional. The old range predates the move into the monorepo.
  4. LangGraph keeps a graph's state in a checkpointer; this implements that interface against the CDS persistence layer instead of a separate store. The agent's memory then lives where the application's data already lives, under the same tenant isolation and the same deployment, rather than in a second database with its own credentials and lifecycle. It now sits in the mi8y/cap-agents-addons monorepo beside three further addons, and its README points new CAP agent applications at the checkpointer [@cap-js/agents](artifact:cap-js-agents) has since added while keeping this package available for existing implementations.
  5. First seen.
For your agent
Ref
artifact:mi8y-cds-langgraph-persistence
JSON
/artifacts/mi8y-cds-langgraph-persistence.json
MCP
Connecting an agent