{"ref":"artifact:mi8y-cap-agents-sdm-backend","page":"/artifacts/mi8y-cap-agents-sdm-backend","json":"/artifacts/mi8y-cap-agents-sdm-backend.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"mi8y-cap-agents-sdm-backend","name":"@mi8y/cap-agents-sdm-backend","artifact_type":"package","ecosystem":"cap","domain":"ai-and-agents","secondary_domains":["data-and-persistence"],"origin_ring":"independent","use_as":"dependency","description":{"one_line":"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.","short":"Deep Agents filesystem over an SAP Document Management repository","what_it_solves":"`SdmBackend` implements the [Deep Agents](external:deepagents) `BackendProtocolV2` filesystem over a repository of the [SAP Document Management service, integration option](artifact:btp-document-management-integration): 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](artifact:cap-js-agents).","when_not_to_use":"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.","to_build_on_it":"The Browser Binding route means a compliant CMIS repository other than SAP Document Management is a possible backing store, which the author qualifies as subject to its supported capabilities and connection setup. The repository carries a reports assistant example, a CAP application with an embedded SAPUI5 Document Management ReuseUI and an agent chat, for a different workspace layout to start from."},"links":{"npm":"https://www.npmjs.com/package/@mi8y/cap-agents-sdm-backend","repo":"https://github.com/mi8y/cap-agents-addons/tree/main/packages/cap-agents-sdm-backend"},"maintainers":["actor:anselm94","actor:mi8y"],"compat":{"runtimes":["node"],"cds_range":">=10"},"provides":[{"capability":"capability:agent-tooling","what_it_does":"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.","facets":[{"key":"brings","value":["Tools for another framework"],"source":{"url":"https://community.sap.com/t5/artificial-intelligence-blogs-posts/cap-agents-that-collaborates-with-humans-announcing-cap-agents-sdm-backend/ba-p/14509181","title":"CAP Agents that collaborates with humans - Announcing `cap-agents-sdm-backend` plugin — SAP Community","checked":"2026-10-22","quote":"@mi8y/cap-agents-sdm-backend implements the Deep Agents filesystem backend interface for SAP Document Management via CMIS Browser Binding"},"applies_to":{"ecosystems":["cap"],"flavors":["node"]}}],"sources":[{"url":"https://www.npmjs.com/package/@mi8y/cap-agents-sdm-backend","title":"@mi8y/cap-agents-sdm-backend — README, API","checked":"2026-10-22","quote":"The backend implements `ls`, `read`, `readRaw`, `write`, `edit`, `glob`, and literal `grep`."},{"url":"https://www.npmjs.com/package/@mi8y/cap-agents-sdm-backend","title":"@mi8y/cap-agents-sdm-backend — README, opening line","checked":"2026-10-22","quote":"SDM owns document storage; this package does not require `@cap-js/sdm`, define a CDS persistence model, or provision repositories."},{"url":"https://www.npmjs.com/package/@mi8y/cap-agents-sdm-backend","title":"@mi8y/cap-agents-sdm-backend — README, Installation","checked":"2026-10-22","quote":"There is no `cds add` step."},{"url":"https://www.npmjs.com/package/@mi8y/cap-agents-sdm-backend","title":"@mi8y/cap-agents-sdm-backend — README, Installation","checked":"2026-10-22","quote":"`@sap/cds >= 10`"},{"url":"https://www.npmjs.com/package/@mi8y/cap-agents-sdm-backend","title":"@mi8y/cap-agents-sdm-backend — README, Configuration","checked":"2026-10-22","quote":"Writes can create missing folders _below_ that root. Traversal paths are rejected, and `write` and `edit` cannot target `/`."},{"url":"https://www.npmjs.com/package/@mi8y/cap-agents-sdm-backend","title":"@mi8y/cap-agents-sdm-backend — README, API","checked":"2026-10-22","quote":"`SapCloudSdkCmisClient` is exported for direct Browser Binding operations, including listing, reading, creating, updating, checking out/in, querying, and explicit deletion."},{"url":"https://www.npmjs.com/package/@mi8y/cap-agents-sdm-backend","title":"@mi8y/cap-agents-sdm-backend — README, CAP notes","checked":"2026-10-22","quote":"Use an explicit trusted destination for background work."},{"url":"https://www.npmjs.com/package/@mi8y/cap-agents-sdm-backend","title":"@mi8y/cap-agents-sdm-backend — README, CAP notes","checked":"2026-10-22","quote":"The host is responsible for authenticated request context and tenant isolation."},{"url":"https://community.sap.com/t5/artificial-intelligence-blogs-posts/cap-agents-that-collaborates-with-humans-announcing-cap-agents-sdm-backend/ba-p/14509181","title":"CAP Agents that collaborates with humans - Announcing `cap-agents-sdm-backend` plugin — SAP Community","checked":"2026-10-22","quote":"an open-source add-on that lets CAP agents work on content and collaborate with humans via SAP Document Management or any compliant CMIS 1.1 repositories through an unified access layer"},{"url":"https://community.sap.com/t5/artificial-intelligence-blogs-posts/cap-agents-that-collaborates-with-humans-announcing-cap-agents-sdm-backend/ba-p/14509181","title":"CAP Agents that collaborates with humans - Announcing `cap-agents-sdm-backend` plugin — SAP Community","checked":"2026-10-22","quote":"With this backend, the content lives in SAP Document Management rather than on the application's local disk, accessed as a virtual filesystem."},{"url":"https://community.sap.com/t5/artificial-intelligence-blogs-posts/cap-agents-that-collaborates-with-humans-announcing-cap-agents-sdm-backend/ba-p/14509181","title":"CAP Agents that collaborates with humans - Announcing `cap-agents-sdm-backend` plugin — SAP Community","checked":"2026-10-22","quote":"These file operations do not require a shell or a code-execution tool."},{"url":"https://community.sap.com/t5/artificial-intelligence-blogs-posts/cap-agents-that-collaborates-with-humans-announcing-cap-agents-sdm-backend/ba-p/14509181","title":"CAP Agents that collaborates with humans - Announcing `cap-agents-sdm-backend` plugin — SAP Community","checked":"2026-10-22","quote":"And the configured root folder lets the application expose a selected part of the repository as the agent's workspace."},{"url":"https://community.sap.com/t5/artificial-intelligence-blogs-posts/cap-agents-that-collaborates-with-humans-announcing-cap-agents-sdm-backend/ba-p/14509181","title":"CAP Agents that collaborates with humans - Announcing `cap-agents-sdm-backend` plugin — SAP Community","checked":"2026-10-22","quote":"An agent can prepare a report, a team member (human) can review and revise it, and a later conversation can use the saved report as its starting point."},{"url":"https://community.sap.com/t5/artificial-intelligence-blogs-posts/cap-agents-that-collaborates-with-humans-announcing-cap-agents-sdm-backend/ba-p/14509181","title":"CAP Agents that collaborates with humans - Announcing `cap-agents-sdm-backend` plugin — SAP Community","checked":"2026-10-22","quote":"Collaboration here means people and agents contributing to content in the same repository, through their respective interfaces i.e. UI for humans, while filesystem interface for agents."},{"url":"https://community.sap.com/t5/artificial-intelligence-blogs-posts/cap-agents-that-collaborates-with-humans-announcing-cap-agents-sdm-backend/ba-p/14509181","title":"CAP Agents that collaborates with humans - Announcing `cap-agents-sdm-backend` plugin — SAP Community","checked":"2026-10-22","quote":"It is designed to be used with CAP Node.js 10 or later."},{"url":"https://community.sap.com/t5/artificial-intelligence-blogs-posts/cap-agents-that-collaborates-with-humans-announcing-cap-agents-sdm-backend/ba-p/14509181","title":"CAP Agents that collaborates with humans - Announcing `cap-agents-sdm-backend` plugin — SAP Community","checked":"2026-10-22","quote":"Start with text-based content such as instructions, templates, and reports."},{"url":"https://community.sap.com/t5/artificial-intelligence-blogs-posts/cap-agents-that-collaborates-with-humans-announcing-cap-agents-sdm-backend/ba-p/14509181","title":"CAP Agents that collaborates with humans - Announcing `cap-agents-sdm-backend` plugin — SAP Community","checked":"2026-10-22","quote":"Access to a file does not automatically provide native editing of Word documents, spreadsheets, or PDFs."},{"url":"https://community.sap.com/t5/artificial-intelligence-blogs-posts/cap-agents-that-collaborates-with-humans-announcing-cap-agents-sdm-backend/ba-p/14509181","title":"CAP Agents that collaborates with humans - Announcing `cap-agents-sdm-backend` plugin — SAP Community","checked":"2026-10-22","quote":"Likewise, prompt instructions asking for confirmation or protecting templates need enforceable application controls when those are business requirements."},{"url":"https://community.sap.com/t5/artificial-intelligence-blogs-posts/cap-agents-that-collaborates-with-humans-announcing-cap-agents-sdm-backend/ba-p/14509181","title":"CAP Agents that collaborates with humans - Announcing `cap-agents-sdm-backend` plugin — SAP Community","checked":"2026-10-22","quote":"The CMIS Browser Binding approach also makes compatible CMIS repositories a possible backing store or virtual filesystem, subject to their supported capabilities and connection setup."},{"url":"https://community.sap.com/t5/artificial-intelligence-blogs-posts/cap-agents-that-collaborates-with-humans-announcing-cap-agents-sdm-backend/ba-p/14509181","title":"CAP Agents that collaborates with humans - Announcing `cap-agents-sdm-backend` plugin — SAP Community","checked":"2026-10-22","quote":"I added a basic reports assistant example in the repository demonstrating this pattern in a CAP application with an embedded SAPUI5 Document Management ReuseUI and an agent chat."}]}],"requires":[{"ref":"artifact:btp-document-management-integration","requirement":"required","basis":"binding","role":"document-repository","for":"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.","sources":[{"url":"https://www.npmjs.com/package/@mi8y/cap-agents-sdm-backend","title":"@mi8y/cap-agents-sdm-backend — README, Installation","checked":"2026-10-22","quote":"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"},{"url":"https://www.npmjs.com/package/@mi8y/cap-agents-sdm-backend","title":"@mi8y/cap-agents-sdm-backend — README, Configuration","checked":"2026-10-22","quote":"The repository and `virtualRootPath` folder must already exist; the backend does not validate or provision them."},{"url":"https://www.npmjs.com/package/@mi8y/cap-agents-sdm-backend","title":"@mi8y/cap-agents-sdm-backend — README, Configuration","checked":"2026-10-22","quote":"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`."},{"url":"https://www.npmjs.com/package/@mi8y/cap-agents-sdm-backend","title":"@mi8y/cap-agents-sdm-backend — README, Configuration","checked":"2026-10-22","quote":"This is JWT-bearer-only: requests without a bearer JWT fail; there is no client-credentials or background-job fallback."}]},{"ref":"external:deepagents","requirement":"required","basis":"binding","role":"framework","for":"The agent harness whose filesystem backend protocol the package implements: `SdmBackend` is a `BackendProtocolV2` filesystem, and the README names `deepagents >= 1` among its requirements.","sources":[{"url":"https://www.npmjs.com/package/@mi8y/cap-agents-sdm-backend","title":"@mi8y/cap-agents-sdm-backend — README, Installation","checked":"2026-10-22","quote":"`deepagents >= 1`"},{"url":"https://community.sap.com/t5/artificial-intelligence-blogs-posts/cap-agents-that-collaborates-with-humans-announcing-cap-agents-sdm-backend/ba-p/14509181","title":"CAP Agents that collaborates with humans - Announcing `cap-agents-sdm-backend` plugin — SAP Community","checked":"2026-10-22","quote":"@mi8y/cap-agents-sdm-backend implements the Deep Agents filesystem backend interface for SAP Document Management via CMIS Browser Binding"}]}],"connects":[{"ref":"artifact:btp-document-management-integration","kind":"data","direction":"outbound","for":"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.","sources":[{"url":"https://community.sap.com/t5/artificial-intelligence-blogs-posts/cap-agents-that-collaborates-with-humans-announcing-cap-agents-sdm-backend/ba-p/14509181","title":"CAP Agents that collaborates with humans - Announcing `cap-agents-sdm-backend` plugin — SAP Community","checked":"2026-10-22","quote":"The backend translates them into requests to the document repository via the CMIS 1.1 protocol"},{"url":"https://www.npmjs.com/package/@mi8y/cap-agents-sdm-backend","title":"@mi8y/cap-agents-sdm-backend — README, opening line","checked":"2026-10-22","quote":"HTTP requests use the SAP Cloud SDK."},{"url":"https://www.npmjs.com/package/@mi8y/cap-agents-sdm-backend","title":"@mi8y/cap-agents-sdm-backend — README, Configuration","checked":"2026-10-22","quote":"It sends CMIS calls to `credentials.uri`."}]}],"provenance":{"discovered_via":[{"source":"source:sap-community"}],"first_seen":"2026-10-22"},"drafted_with_ai":true,"contributors":["actor:anselm94"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"good","evidence":"released this month"},{"label":"Continuity","tier":"good","evidence":"3 contributors, 2 publishers, org-owned"},{"label":"Repository","tier":"good","evidence":"pushed 2026-10, not archived"}],"compatibility":[{"label":"Declared for","tier":"good","evidence":">=10 — includes cds 10"},{"label":"Survived majors","tier":"unknown","evidence":"first released after @sap/cds 10 shipped"},{"label":"Maintainer's CI","tier":"good","evidence":"release green, 2026-10-21"}],"practice":[{"label":"Tests","tier":"good","evidence":"24 test files, npm test"},{"label":"Docs","tier":"good","evidence":"docs/ with 1 page, README 6 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":38,"unit":"installs/week"},{"value":2,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-25","latest_version":"0.2.0","majors":{"0.1":{"version":"0.1.0","date":"2026-10-21"},"0.2":{"version":"0.2.0","date":"2026-10-21"}},"license":"MIT","first_release":"2026-10-21","last_release":"2026-10-21","releases":3,"cadence_days":0,"maintainers":2,"repository":"git+https://github.com/mi8y/cap-agents-addons.git","repository_directory":null,"peer_cds":">=10","dependencies":3,"node_engine":null,"test_script":true,"types":true,"downloads_weekly":38,"downloads_monthly":38,"stars":2,"forks":0,"open_issues":2,"archived":false,"pushed_at":"2026-10-21","license_spdx":"MIT","org_owned":true,"default_branch":"main","created_at":"2026-07-08T05:15:34Z","open_prs":1,"tree_truncated":false,"test_files":24,"workflows":3,"other_ci":false,"readme_bytes":6163,"docs_files":1,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2026-09-30","last_commit":"2026-10-21","commits":3,"contributors":3,"ci_status":"success","ci_run_at":"2026-10-21","ci_workflow":"release","ci_event":"push","readme_path":"packages/cap-agents-sdm-backend/README.md","readme_sha":"5adef5a3d5f906fe854ec0af00d292689045961e","months_since_release":0,"dormant":false,"repo_read":"2026-10-25"},"release_notes":{"license":"MIT","quotable":true,"prereleases":1,"source":{"kind":"repo","path":"packages/cap-agents-sdm-backend/CHANGELOG.md","ref":"main","url":"https://github.com/mi8y/cap-agents-addons/blob/main/packages/cap-agents-sdm-backend/CHANGELOG.md"},"format":"changesets","releases":[{"version":"0.2.0","date":"2026-10-21","date_source":"registry","heading":"0.2.0","url":"https://github.com/mi8y/cap-agents-addons/blob/main/packages/cap-agents-sdm-backend/CHANGELOG.md#020","sections":[{"kind":"feature","heading":"Minor Changes","items":1}],"hash":"15b4e994fa211fad"},{"version":"0.1.0","date":"2026-10-21","date_source":"registry","heading":"0.1.0","url":"https://github.com/mi8y/cap-agents-addons/blob/main/packages/cap-agents-sdm-backend/CHANGELOG.md#010","sections":[{"kind":"feature","heading":"Minor Changes","items":2}],"hash":"66628dd260678e08"}],"versions":[{"version":"0.2.0","date":"2026-10-21"},{"version":"0.1.0","date":"2026-10-21"}],"crawled_at":"2026-10-25"},"edges":{"maintainers":[{"ref":"actor:anselm94","name":"Merbin J Anselm","json":"/actors/anselm94.json"},{"ref":"actor:mi8y","name":"Mi8Y Technologies","json":"/actors/mi8y.json"}],"contributors":[{"ref":"actor:anselm94","name":"Merbin J Anselm","json":"/actors/anselm94.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[{"ref":"artifact:mi8y-cap-agents-sdm-reports-assistant","name":"Reports Assistant with SAP Document Management","json":"/artifacts/mi8y-cap-agents-sdm-reports-assistant.json","requirement":"required","role":"filesystem-backend"}],"available_via":[],"parts":[{"ref":"artifact:mi8y-cap-agents-sdm-reports-assistant","name":"Reports Assistant with SAP Document Management","json":"/artifacts/mi8y-cap-agents-sdm-reports-assistant.json"}],"add_ons":[],"answered_through_parts":[]}}