PackagePackagetypeA library you install and call yourself.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/cap-agents-sdm-backend

A Deep Agents filesystem backend whose files are documents in an SAP Document Management repository, so what a CAP agent reads and writes stays where people can open it too.

SdmBackend implements the Deep Agents BackendProtocolV2 filesystem over a repository of the SAP Document Management service, integration option: an agent's ls, read, readRaw, write, edit, glob and literal grep become CMIS Browser Binding requests, and the file it leaves behind is a document people can open through the repository's own UI. A virtualRootPath exposes one existing CMIS folder as /, writes can create missing folders below it, traversal paths are rejected, and write and edit cannot target the root itself. SAP Document Management owns the storage, so there is no CDS persistence model, no cds add step and no @cap-js/sdm dependency; the repository and the root folder have to exist already, because the backend neither validates nor provisions them. Credentials come from a Cloud SDK destination pointing at the SDM API base URL, or, where none is configured, from the Cloud Foundry service binding labelled sdm, which exchanges the current CAP request's bearer JWT and fails without one — background work needs an explicit trusted destination. SapCloudSdkCmisClient is exported beside the backend for direct Browser Binding calls, including check-out and check-in, queries and explicit deletion, against repository paths rather than virtual ones; the author offers the package as an add-on for CAP agents, and names @sap/cds >= 10 and deepagents >= 1 as its requirements rather than @cap-js/agents.

Facts

Latestv0.2.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.SAP Document Management service, integration optionSAP Document Management service, integration optionartifactThe repository the agent's workspace lives in: an existing SDM CMIS repository whose virtual root folder is already created, reached either through a Cloud SDK destination pointing at the SDM API base URL or through an SDM service binding in Cloud Foundry.Deep AgentsDeep Agentsoutside the atlasThe agent harness whose filesystem backend protocol the package implements: SdmBackend is a BackendProtocolV2 filesystem, and the README names deepagents >= 1 among its requirements.

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

PracticalFunctional boundary

Not a way to edit Office formats: the author states that access to a file does not automatically provide native editing of Word documents, spreadsheets or PDFs, and suggests starting with text-based content such as instructions, templates and reports. Not a control point either: a prompt telling the agent to ask for confirmation or to leave a template alone needs enforceable application controls where that is a business requirement, and the host application stays responsible for the authenticated request context and tenant isolation.

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
Package
Origin
Independently maintained
Runtime
Node.js

As a package

Declared for
>=10
Where it runs
does not say
Distributed through
does not say

For agent tooling

What it brings
Tools for another framework

Tasks this contributes to1Beta

Recall a user's preference in a later conversationSomething the agent was told or worked out in one conversation is available in the next one, so a returning user does not state their preferences again.Covers, under conditionsfile workspace in a document repository
What it does

What the agent worked out in one conversation survives as a file rather than as a memory row. SdmBackend implements the Deep Agents filesystem protocol over an SAP Document Management repository, so the agent writes a document under a configured root folder and a later conversation finds it again with ls, glob or literal grep; its announcement states that a person can review and revise that file in between, and that instructions and skills kept in the repository are loaded when a new chat starts after the team updates them. The unit it keeps is a file under that root, so anything to be read back later has to be written into one and found there.

Conditions

An existing SDM CMIS repository, with the folder exposed as the virtual root already created; the backend neither validates nor provisions them.; @sap/cds 10 or higher and deepagents 1 or higher, which its README states as requirements, on CAP Node.js 10 or later.; Either a Cloud SDK destination pointing at the SDM API base URL or the Cloud Foundry service binding labelled sdm; the binding route exchanges the current CAP request's bearer JWT and fails without one, so background work needs an explicit trusted destination.; Text-based content: the author states that access to a file does not automatically provide native editing of Word documents, spreadsheets or PDFs.

Remaining work

Decide the workspace layout and write the instruction that has the agent save its work there and look for it next time; the package supplies the file operations, not a policy for what is worth keeping.

All options on the Agent tooling page →

Parts and add-ons1

Parts 1

Samples1
Reports Assistant with SAP Document Managementindependently maintainedA CAP agent that turns a few notes into a status report and saves it in an SAP Document Management repository, where the instructions and the skills it follows are kept too.
Starting point

Connections6

@mi8y/cap-agents-sdm-backend connections@mi8y/cap-agents-sdm-backendPROVIDES→ provides1provides stated Gives an agent file operations — list, read, write, edit, glob and literal grep — over a document repository instead of a local disk, as an implementation of the Deep Agents filesystem backend protocol, with one configured folder as the workspace root. The operations need no shell and no code-execution tool, and what one conversation writes stays in the repository for a later one, and for a person, to pick up. @mi8y/cap-agents-sdm-backend — README, API: https://www.npmjs.com/package/@mi8y/cap-agents-sdm-backend @mi8y/cap-agents-sdm-backend — README, opening line: https://www.npmjs.com/package/@mi8y/cap-agents-sdm-backend @mi8y/cap-agents-sdm-backend — README, Installation: https://www.npmjs.com/package/@mi8y/cap-agents-sdm-backend @mi8y/cap-agents-sdm-backend — README, Installation: https://www.npmjs.com/package/@mi8y/cap-agents-sdm-backend @mi8y/cap-agents-sdm-backend — README, Configuration: https://www.npmjs.com/package/@mi8y/cap-agents-sdm-backend @mi8y/cap-agents-sdm-backend — README, API: https://www.npmjs.com/package/@mi8y/cap-agents-sdm-backend @mi8y/cap-agents-sdm-backend — README, CAP notes: https://www.npmjs.com/package/@mi8y/cap-agents-sdm-backend @mi8y/cap-agents-sdm-backend — README, CAP notes: https://www.npmjs.com/package/@mi8y/cap-agents-sdm-backend CAP Agents that collaborates with humans - Announcing `cap-agents-sdm-backend` plugin — SAP Community: https://community.sap.com/t5/artificial-intelligence-blogs-posts/cap-agents-that-collaborates-with-humans-announcing-cap-agents-sdm-backend/ba-p/14509181 CAP Agents that collaborates with humans - Announcing `cap-agents-sdm-backend` plugin — SAP Community: https://community.sap.com/t5/artificial-intelligence-blogs-posts/cap-agents-that-collaborates-with-humans-announcing-cap-agents-sdm-backend/ba-p/14509181 CAP Agents that collaborates with humans - Announcing `cap-agents-sdm-backend` plugin — SAP Community: https://community.sap.com/t5/artificial-intelligence-blogs-posts/cap-agents-that-collaborates-with-humans-announcing-cap-agents-sdm-backend/ba-p/14509181 CAP Agents that collaborates with humans - Announcing `cap-agents-sdm-backend` plugin — SAP Community: https://community.sap.com/t5/artificial-intelligence-blogs-posts/cap-agents-that-collaborates-with-humans-announcing-cap-agents-sdm-backend/ba-p/14509181 CAP Agents that collaborates with humans - Announcing `cap-agents-sdm-backend` plugin — SAP Community: https://community.sap.com/t5/artificial-intelligence-blogs-posts/cap-agents-that-collaborates-with-humans-announcing-cap-agents-sdm-backend/ba-p/14509181 CAP Agents that collaborates with humans - Announcing `cap-agents-sdm-backend` plugin — SAP Community: https://community.sap.com/t5/artificial-intelligence-blogs-posts/cap-agents-that-collaborates-with-humans-announcing-cap-agents-sdm-backend/ba-p/14509181 CAP Agents that collaborates with humans - Announcing `cap-agents-sdm-backend` plugin — SAP Community: https://community.sap.com/t5/artificial-intelligence-blogs-posts/cap-agents-that-collaborates-with-humans-announcing-cap-agents-sdm-backend/ba-p/14509181 CAP Agents that collaborates with humans - Announcing `cap-agents-sdm-backend` plugin — SAP Community: https://community.sap.com/t5/artificial-intelligence-blogs-posts/cap-agents-that-collaborates-with-humans-announcing-cap-agents-sdm-backend/ba-p/14509181 CAP Agents that collaborates with humans - Announcing `cap-agents-sdm-backend` plugin — SAP Community: https://community.sap.com/t5/artificial-intelligence-blogs-posts/cap-agents-that-collaborates-with-humans-announcing-cap-agents-sdm-backend/ba-p/14509181 CAP Agents that collaborates with humans - Announcing `cap-agents-sdm-backend` plugin — SAP Community: https://community.sap.com/t5/artificial-intelligence-blogs-posts/cap-agents-that-collaborates-with-humans-announcing-cap-agents-sdm-backend/ba-p/14509181 CAP Agents that collaborates with humans - Announcing `cap-agents-sdm-backend` plugin — SAP Community: https://community.sap.com/t5/artificial-intelligence-blogs-posts/cap-agents-that-collaborates-with-humans-announcing-cap-agents-sdm-backend/ba-p/14509181 CAP Agents that collaborates with humans - Announcing `cap-agents-sdm-backend` plugin — SAP Community: https://community.sap.com/t5/artificial-intelligence-blogs-posts/cap-agents-that-collaborates-with-humans-announcing-cap-agents-sdm-backend/ba-p/14509181Agent toolingUSED BY← needed by1needed by derived The filesystem the agent reads and writes: it is what mounts the SDM repository, with `/report/` and `/skills/` mapped to folders of the same name. Through: inverted from its requires edge Reports Assistant with SAP Document Management — README, opening line: https://raw.githubusercontent.com/mi8y/cap-agents-addons/main/examples/cap-agents-sdm-backend/README.md Reports Assistant with SAP Document Management — README, Customize: https://raw.githubusercontent.com/mi8y/cap-agents-addons/main/examples/cap-agents-sdm-backend/README.mdReports Assistant with SAP DocumentManagementNEEDS→ connects to1connects to stated The agent's file operations, translated into CMIS Browser Binding requests against the document repository; the client sends the CMIS calls to the URI from the service binding, and the HTTP requests go through the SAP Cloud SDK. CAP Agents that collaborates with humans - Announcing `cap-agents-sdm-backend` plugin — SAP Community: https://community.sap.com/t5/artificial-intelligence-blogs-posts/cap-agents-that-collaborates-with-humans-announcing-cap-agents-sdm-backend/ba-p/14509181 @mi8y/cap-agents-sdm-backend — README, opening line: https://www.npmjs.com/package/@mi8y/cap-agents-sdm-backend @mi8y/cap-agents-sdm-backend — README, Configuration: https://www.npmjs.com/package/@mi8y/cap-agents-sdm-backendSAP Document Management service,integration option→ needs2needs stated The agent harness whose filesystem backend protocol the package implements: `SdmBackend` is a `BackendProtocolV2` filesystem, and the README names `deepagents >= 1` among its requirements. @mi8y/cap-agents-sdm-backend — README, Installation: https://www.npmjs.com/package/@mi8y/cap-agents-sdm-backend CAP Agents that collaborates with humans - Announcing `cap-agents-sdm-backend` plugin — SAP Community: https://community.sap.com/t5/artificial-intelligence-blogs-posts/cap-agents-that-collaborates-with-humans-announcing-cap-agents-sdm-backend/ba-p/14509181Deep Agentsneeds stated The repository the agent's workspace lives in: an existing SDM CMIS repository whose virtual root folder is already created, reached either through a Cloud SDK destination pointing at the SDM API base URL or through an SDM service binding in Cloud Foundry. @mi8y/cap-agents-sdm-backend — README, Installation: https://www.npmjs.com/package/@mi8y/cap-agents-sdm-backend @mi8y/cap-agents-sdm-backend — README, Configuration: https://www.npmjs.com/package/@mi8y/cap-agents-sdm-backend @mi8y/cap-agents-sdm-backend — README, Configuration: https://www.npmjs.com/package/@mi8y/cap-agents-sdm-backend @mi8y/cap-agents-sdm-backend — README, Configuration: https://www.npmjs.com/package/@mi8y/cap-agents-sdm-backendSAP Document Management service,integration optionLINEAGE← has part1has part derived Through: inverted from its part_of edgeReports Assistant with SAP Document Management

Install

npm add @mi8y/cap-agents-sdm-backend

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

Where it sits in your app

Download
Your CAP applicationYour SAP BTP subaccountCAP Agents that collaborates with humans - Announcing `cap-agents-sdm-backend` plugin — SAP Community, checked 2026-10-22: “The backend translates them into requests to the document repository via the CMIS 1.1 protocol”outbounddocumentedrequiresDeep Agents, systemDeep Agentssystem@mi8y/cap-agents-sdm-backend, module@mi8y/cap-agents-sdm…SAP Document Management service, integration option, service instanceSAP DocumentManagementservice,integration option
SAPnot SAP's, or the project's ownstated in the documentdocumented only

README

quoted from mi8y/cap-agents-addons under MIT, read
mi8y/cap-agents-addons/packages/cap-agents-sdm-backend/README.mdOn GitHub

@mi8y/cap-agents-sdm-backend

npm version License: MIT

A Deep Agents BackendProtocolV2 filesystem for SAP Document Management Service (SDM) repositories via CMIS Browser Binding. HTTP requests use the SAP Cloud SDK. SDM owns document storage; this package does not require @cap-js/sdm, define a CDS persistence model, or provision repositories.

Installation

npm install @mi8y/cap-agents-sdm-backend

Requires:

  • @sap/cds >= 10
  • deepagents >= 1
  • An existing SDM CMIS repository and either a Cloud SDK destination pointing to the SDM API base URL (not the UAA URL or /browser) or an SDM service binding in Cloud Foundry

There is no cds add step.

Configuration

Pass the repository ID and, when using a named Cloud SDK destination, its name to SdmBackend:

import { SdmBackend } from "@mi8y/cap-agents-sdm-backend";

const backend = new SdmBackend({
  repositoryId: "agent-files",
  destination: { destinationName: "SDM_API" },
  virtualRootPath: "/agent-content",
});

When destination is omitted, the client selects the CF service binding labeled sdm and exchanges the current CAP HTTP request's Bearer JWT using the binding's nested credentials.uaa. It sends CMIS calls to credentials.uri. This is JWT-bearer-only: requests without a bearer JWT fail; there is no client-credentials or background-job fallback. For jobs or multiple SDM bindings, provide an explicit trusted destination.

repositoryId may also be an async function returning an ID. If omitted, the client reads cds.env.requires.sdm?.settings?.repositoryId. The repository and virtualRootPath folder must already exist; the backend does not validate or provision them. The default Browser Binding path is /browser and can be changed with browserBindingPath.

Usage

await backend.write("/notes/todo.md", "First task\n");
const result = await backend.read("/notes/todo.md");

virtualRootPath defaults to /. With virtualRootPath: "/agent-content", virtual /notes/todo.md corresponds to repository /agent-content/notes/todo.md. Backend results use virtual paths; / refers to the configured root. Writes can create missing folders below that root. Traversal paths are rejected, and write and edit cannot target /.

API

new SdmBackend(config)
OptionTypeDescription
repositoryIdstring | (() => Promise<string>)CMIS repository ID; defaults to cds.env.requires.sdm?.settings?.repositoryId.
destinationCloud SDK destination optionsOptional; without one, uses the request-scoped SDM service binding and bearer JWT.
virtualRootPathstringExisting CMIS folder exposed as /; defaults to /.
browserBindingPathstringBrowser Binding path on the SDM API base URL; defaults to /browser.
maxFileSizenumberMaximum bytes per read; defaults to 5 MiB.
maxTraversalItemsnumberMaximum entries scanned by glob/grep; defaults to 10,000.
pageSizenumberPage size for children requests; defaults to 100.
requestExecutorCmisHttpRequestExecutorOptional HTTP request executor for testing or instrumentation; defaults to the Cloud SDK.

The backend implements ls, read, readRaw, write, edit, glob, and literal grep. These return structured filesystem results, including errors. Glob filters match paths relative to the search base using picomatch, including dotfiles. Glob/grep use paged traversal when CMIS descendants are unavailable. An update conflict may require checking in a CMIS working copy.

new SapCloudSdkCmisClient(config)

SapCloudSdkCmisClient is exported for direct Browser Binding operations, including listing, reading, creating, updating, checking out/in, querying, and explicit deletion. It accepts the CMIS transport options above (repositoryId, destination, browserBindingPath, and requestExecutor). Unlike SdmBackend, its path arguments are repository paths, not virtual paths. Only use delete operations on paths you own. The client does not validate or provision repositories.

Example

See the local SDM reports agent for a CAP buildGraph override mounting SDM at /reports/, an SAPUI5 document reuse UI, and a shared local credential file for CAP and the approuter.

CAP notes

  • The host is responsible for authenticated request context and tenant isolation. Do not share user-specific destinations across tenants or put credentials in logs.
  • The SDM service binding fallback requires a bearer JWT in the current CAP HTTP request. Use an explicit trusted destination for background work.
  • CMIS in client and wire-level names refers to the Browser Binding protocol; SDM is the backing service.

Development

From the monorepo root:

pnpm --filter @mi8y/cap-agents-sdm-backend build
pnpm --filter @mi8y/cap-agents-sdm-backend test

The local CMIS integration test is opt-in: set CMIS_LIVE_DESTINATION to a preconfigured, authenticated Cloud SDK destination and CMIS_LIVE_REPOSITORY_ID to a test repository. It creates and cleans up a unique test folder. The default test run skips it.

License

MIT License

MIT, read

History

Latest

v0.2.0

Features 1

Notes
Minor Changes
  • 0ebf876: Add the SAP Document Management Service (SDM) Deep Agents filesystem backend using CMIS Browser Binding and SAP Cloud SDK, with request-scoped SDM service binding support.
  1. v0.1.0

    Features 2

    Notes
    Minor Changes
    • Add an SDM-backed CMIS Browser Binding BackendProtocolV2 implementation with listing, text and binary reads, writes, edits, recursive globbing, and literal grep.
    • Add SAP Cloud SDK-backed CMIS children, descendants, folder tree, object, content, query, create, checkout, check-in, and content update operations.
0downloads per week, npm
Weekly downloads for @mi8y/cap-agents-sdm-backend26 complete calendar weeks from 2026-04-20 to 2026-10-18; the latest total is 0.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: 013 Jul – 19 Jul: 020 Jul – 26 Jul: 027 Jul – 2 Aug: 03 Aug – 9 Aug: 010 Aug – 16 Aug: 017 Aug – 23 Aug: 024 Aug – 30 Aug: 031 Aug – 6 Sept: 07 Sept – 13 Sept: 014 Sept – 20 Sept: 021 Sept – 27 Sept: 028 Sept – 4 Oct: 05 Oct – 11 Oct: 012 Oct – 18 Oct: 0
Agent tooling
  1. a2a-pluginExposes an annotated CDS service as an Agent-to-Agent agent
  2. com.sap.cds:cds-adapter-agentA2A adapter turning a CAP Java service into an LLM-backed agent
  3. @cap-js/agentsCDS plugin for building agents inside a CAP service
  4. cap-agent-ui5-webuiUI5 web interface for an agent built in a CAP service
  5. @mi8y/cap-agents-memoryLangGraph Store keeping agent memory as CDS entities
  6. @mi8y/cds-langgraph-persistenceLangGraph checkpointer backed by CDS for CAP agents
  7. cds-agentsToolkit turning a CAP service into tools for agent frameworks
  8. Joule Studio, classic editionLow-code SAP Build capability for custom Joule skills and agents
  9. @sap/joule-studio-cliCLI for Joule digital assistants and Joule Studio solutions
  10. Joule StudioSAP's managed environment for building custom agents and workflows
  11. @sap/joule-work-dev-cli-early-adoptersPro-code CLI for building and deploying Joule Studio solutions
  12. SAP JouleSAP's AI engagement layer across SAP applications
  13. @saptarishi/cds-plugin-llmCAP service kind putting eleven model providers behind one API

Details

Sources4
SAP Communitydiscovered herechecked
npm registry, @mi8y/cap-agents-sdm-backendversion, releases, installschecked
github.com/git+https://github.com/mi8y/cap-agents-addons.gittree, pushes, contributors, CIchecked
packages/cap-agents-sdm-backend/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.2.0
first release
releases and cadence3, ~0d median
discovered viaSAP Community
first seen in the atlas
ecosystem and domaincap, ai-and-agents
History in the atlas1
  1. First seen.
For your agent
Ref
artifact:mi8y-cap-agents-sdm-backend
JSON
/artifacts/mi8y-cap-agents-sdm-backend.json
MCP
Connecting an agent