PackagePackagetypeA library you install and call yourself.See every one →What this type is →by SAPby SAPoriginPublished by SAP itself. A visible facet, never an input to a reading — a dormant official plugin reads exactly like a dormant independent one.See every one →
com.sap.cds:cds-adapter-agent
The A2A agent adapter for CAP Java, turning an @agent-annotated Application Service into a conversational endpoint whose queries and unbound actions become tools for a configured LLM.
Turns an @agent-annotated Application Service into a conversational endpoint: a generic query tool reads across the service's entities via CDS QL, and its unbound actions and functions become individually callable tools, all backed by a configured LLM. Its version comes from com.sap.cds:cds-services-bomcom.sap.cds:cds-services-bompackageThe Maven bill of materials for CAP Java, pinning every com.sap.cds module in a release, from the API and core runtime to the Spring Boot starters and the CQN engine, to the same version.sap official, cap; the module is added to srv/pom.xml, the CAP Java side of the same plugin capire documents for Node.js as @cap-js/agents@cap-js/agentscds-pluginSAP's own CDS plugin for building agents inside a CAP service, wired to audit logging and telemetry through peer dependencies rather than leaving observability to the author.sap official, cap, and by default the agent is served under /a2a/<service-path> with its agent card at the matching .well-known/agent-card.json endpoint, speaking version 0.3.0 of the A2A protocol, which capire states is for compatibility with Joule and Agent Gateway. The LLM is picked from a named cds.ai.chat.models configuration that an agent selects with @agent.llm, with aicore, ollama and mocked as the provider kinds, and falls back to SAP AI CoreSAP AI CoreserviceSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp when a service binding for it is present, or to a mocked response otherwise. Chat history lives in volatile memory rather than a persistent store, so every follow-up in a conversation has to reach the same server instance, and only unbound actions and functions are exposed as tools: capire states that bound actions and bound functions are not supported yet, so an operation defined on an entity stays out of the agent's reach.
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.
SAP AI CoreSAP AI CoreartifactThe aicore chat model kind is used, which is CAP Java's default LLM configuration for the production and hybrid profiles.llm provider
Before choosing this
crawled
Conditions
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.2AI 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.
declared, Where the library runs once installed: inside its host (loaded into the CAP application, installed into the ABAP system, loaded by the UI5 application), in a program of your own, or only at build time.
Distributed through
does not say
declared, How it is installed, as its documentation tells a user to get it.
stated by its maintainer“CAP Java doesn't yet have a persistent chat history. Instead, it stores conversation history in volatile memory. Hence, you need to send all follow-up prompts to the same server instance.” AI Integration — capire, CAP Java, chat history,
Answer a user's question inside the applicationSomeone using the application asks in plain words and the application answers from its own services, with the agent running inside the deployed application rather than in the asker's own AI client.Node.js, JavaCoversagent adapter in the service
What it does
The same annotation on an Application Service, with the tools derived differently: one generic query tool that reads across the service's entities with CDS QL, plus one callable tool per unbound action or function. The model comes from a named cds.ai.chat.models configuration the agent picks with @agent.llm, and the endpoint is A2A at /a2a/<service-path> with an agent card beside it.
Remaining work
Add the module to srv/pom.xml and configure a chat model. An operation defined on an entity has to be reachable some other way, since capire states bound actions and bound functions are not tools yet; and because conversation history is held in volatile memory, a question and its follow-up have to land on the same server instance.
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, JavaStated not supportedagent adapter in the service
What it does
capire states that CAP Java has no persistent chat history yet and holds the conversation in volatile memory, and draws the consequence itself: every follow-up prompt has to be sent to the same server instance. The guide for the plugin lists persistent chat history among the features not yet supported there.
Remaining work
A conversation that has to survive anything is the application's own problem here, and nothing retrieved describes a supported place to put it or a way to hand it back to the adapter.
Require a person's approval before the agent actsBefore the agent runs an action that changes something, the task stops and waits for a person to approve or reject it, and carries on from there.Node.js, JavaStated not supportedagent adapter in the service
What it does
capire states in the section that documents the annotation that CAP Java does not support it yet, and lists content filtering, quotas, telemetry, persistent chat history, audit logging and data privacy in the same position. So an action the Java adapter exposes as a tool runs when the agent calls it.
Remaining work
An approval step has to sit outside the agent — in the action's own implementation, or in a workflow the action starts — and nothing retrieved describes how to resume an A2A task from there.
Agent toolingAgent toolingcapabilityBuilding an agent into your own applicationSAP and community, unassessed
→provides
Turns an @agent-annotated Application Service into an A2A endpoint, deriving a query tool and one tool per unbound action or function from the service, and backing the conversation with a configured LLM.
provides Agent tooling
Functional, stated
For
Turns an @agent-annotated Application Service into an A2A endpoint, deriving a query tool and one tool per unbound action or function from the service, and backing the conversation with a configured LLM.
Basis
“A CAP agent turns a CDS service into a conversational endpoint.”AI Integration — Java, capire, checked “It answers natural-language requests by using the service's entities, actions, and functions as tools, backed by an LLM.”AI Integration — Java, capire, checked “A generic query tool allows the LLM to read data via CDS QL across all entities defined in the service.”AI Integration — Java, capire, checked “Unbound actions and functions become individually callable tools, invoked by name.”AI Integration — Java, capire, checked “Bound actions and bound functions aren't supported yet.”AI Integration — capire, CAP Java, bound operations, checked “For compatibility reasons with Joule and Agent Gateway, version 0.3.0 of the A2A protocol is used by default.”AI Integration — capire, CAP Java, A2A version, checked “By default the agent is served under `/a2a/<service-path>`, with its agent card available at the corresponding `.../.well-known/agent-card.json` endpoint.”AI Integration — capire, CAP Java, endpoint, checked “An agent picks its model configuration via the `@agent.llm` annotation, which defaults to the configuration named `llm`.”AI Integration — capire, CAP Java, model configuration, checked “The model provider: `aicore`, `ollama`, or `mocked`.”AI Integration — capire, CAP Java, model kinds, checked “Agent (A2A) adapter for CDS Services Java”com.sap.cds:cds-adapter-agent — Maven POM, checked
stated
provides Agent tooling
Functional, stated
For
Turns an @agent-annotated Application Service into an A2A endpoint, deriving a query tool and one tool per unbound action or function from the service, and backing the conversation with a configured LLM.
Basis
“A CAP agent turns a CDS service into a conversational endpoint.”AI Integration — Java, capire, checked “It answers natural-language requests by using the service's entities, actions, and functions as tools, backed by an LLM.”AI Integration — Java, capire, checked “A generic query tool allows the LLM to read data via CDS QL across all entities defined in the service.”AI Integration — Java, capire, checked “Unbound actions and functions become individually callable tools, invoked by name.”AI Integration — Java, capire, checked “Bound actions and bound functions aren't supported yet.”AI Integration — capire, CAP Java, bound operations, checked “For compatibility reasons with Joule and Agent Gateway, version 0.3.0 of the A2A protocol is used by default.”AI Integration — capire, CAP Java, A2A version, checked “By default the agent is served under `/a2a/<service-path>`, with its agent card available at the corresponding `.../.well-known/agent-card.json` endpoint.”AI Integration — capire, CAP Java, endpoint, checked “An agent picks its model configuration via the `@agent.llm` annotation, which defaults to the configuration named `llm`.”AI Integration — capire, CAP Java, model configuration, checked “The model provider: `aicore`, `ollama`, or `mocked`.”AI Integration — capire, CAP Java, model kinds, checked “Agent (A2A) adapter for CDS Services Java”com.sap.cds:cds-adapter-agent — Maven POM, checked
Building an agent into your own application
Technical1
SAP AI CoreSAP AI CoreserviceAI runtime on BTP with the Generative AI Hubsap official, btp
→optionally needs
if The aicore chat model kind is used, which is CAP Java's default LLM configuration for the production and hybrid profiles
optionally needs SAP AI Core
Technical, stated
If
The aicore chat model kind is used, which is CAP Java's default LLM configuration for the production and hybrid profiles.
Basis
“If no configuration matches, CAP Java falls back to aicore when an SAP AI Core service binding is present, and to mocked otherwise.”AI Integration — Java, capire, checked “The default for production and hybrid, connects to SAP AI Core”CAP-level Agents — capire, checked
stated
optionally needs SAP AI Core
Technical, stated
If
The aicore chat model kind is used, which is CAP Java's default LLM configuration for the production and hybrid profiles.
Basis
“If no configuration matches, CAP Java falls back to aicore when an SAP AI Core service binding is present, and to mocked otherwise.”AI Integration — Java, capire, checked “The default for production and hybrid, connects to SAP AI Core”CAP-level Agents — capire, checked
com.sap.cds:cds-adapter-agentpackageThe A2A agent adapter for CAP Java, turning an @agent-annotated Application Service into a conversational endpoint whose queries and unbound actions become tools for a configured LLM.sap official, cap
SAP AI CoreserviceSAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding.sap official, btp
com.sap.cds:cds-adapter-agent → SAP AI CoreDocumented only, under a conditionIf The aicore chat model kind is used, which is CAP Java's default LLM configuration for the production and hybrid profiles.
SAPnot SAP's, or the project's ownunder a condition
Agent toolingAgent 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.SAP and community, unassessed
a2a-plugina2a-plugincds-pluginExposes an annotated CDS service as an Agent-to-Agent protocol agent — @a2a opts the service in, @a2a.Skill declares what it offers, and an agent handler answers.independent, capExposes an annotated CDS service as an Agent-to-Agent agentfrom CAP
@cap-js/agents@cap-js/agentscds-pluginSAP's own CDS plugin for building agents inside a CAP service, wired to audit logging and telemetry through peer dependencies rather than leaving observability to the author.sap official, capCDS plugin for building agents inside a CAP servicefrom CAP
cap-agent-ui5-webuicap-agent-ui5-webuicds-pluginGives a CAP agent a UI5 web interface out of the box, so an agent built in the service has somewhere to be talked to without a separate frontend project.independent, capUI5 web interface for an agent built in a CAP servicefrom CAP
@mi8y/cap-agents-memory@mi8y/cap-agents-memorycds-pluginA LangGraph Store written against CDS: the facts and preferences an agent keeps between sessions are entities in the CAP database, read and written inside a request handler under its tenant.independent, capLangGraph Store keeping agent memory as CDS entitiesfrom CAP
@mi8y/cap-agents-sdm-backend@mi8y/cap-agents-sdm-backendpackageA 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.independent, capDeep Agents filesystem over an SAP Document Management repositoryfrom CAP
@mi8y/cds-langgraph-persistence@mi8y/cds-langgraph-persistencecds-pluginA 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.independent, capLangGraph checkpointer backed by CDS for CAP agentsfrom CAP
cds-agentscds-agentspackageTurns a CAP service into a tool layer for agent frameworks — a CAPToolkit bound to a named service, with a tool strategy controlling how much of it becomes callable.independent, capToolkit turning a CAP service into tools for agent frameworksfrom CAP
Joule Studio, classic editionJoule Studio, classic editionserviceThe low-code capability in SAP Build for custom Joule skills and Joule agents: skills call OData APIs through BTP destinations, agents get a model, instructions, tools and MCP servers, and both deploy to Joule.sap official, btpLow-code SAP Build capability for custom Joule skills and agentsfrom BTP/BAIP
@sap/joule-studio-cli@sap/joule-studio-clicliSAP’s CLI package for both legacy Joule digital assistants and the new Joule Studio solution workflow, through the joule and jl commands.sap official, btpCLI for Joule digital assistants and Joule Studio solutionsfrom BTP/BAIP
Joule StudioJoule Studioweb-toolSAP’s managed development environment for building custom agents, applications and workflows from business intent, in six phases from intent and specification to deployment on an SAP-managed runtime.sap official, umbrellaSAP's managed environment for building custom agents and workflowsfrom Across stacks
@sap/joule-work-dev-cli-early-adopters@sap/joule-work-dev-cli-early-adoptersclijl, the pro-code CLI of the new Joule Studio: a solution is a folder with a solution.yaml and typed assets, validated, built into a zip and deployed to Joule Studio's managed runtime, with Claude Code or OpenCode wired in over MCP. Early Adopter Care.sap official, btpPro-code CLI for building and deploying Joule Studio solutionsfrom BTP/BAIP
SAP JouleSAP JouleserviceSAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services.sap official, btpSAP's AI engagement layer across SAP applicationsfrom BTP/BAIP
@saptarishi/cds-plugin-llm@saptarishi/cds-plugin-llmcds-pluginA CAP service kind that puts eleven model providers behind one chat, stream, embed and batch interface, so which backend a service calls is a profile in package.json rather than a change to the handler.independent, capCAP service kind putting eleven model providers behind one APIfrom CAP
plus the A2A version served, the three provider kinds, @agent.llm, and capire's own sentence that bound actions and bound functions are not supported yet
brings: Agent served from the service, protocols: A2A, state_store: In volatile memory, human_approval: false
Turns an @agent-annotated Application Service into an A2A endpoint, deriving a query tool and one tool per unbound action or function from the service, and backing the conversation with a configured LLM.