NewSAP Cloud Application Programming Model
In the last 30 days
28 changes
Sun 18
CAP in the age of AI #4 - more on agentspublishedAsking a human first, and telling the agent how to behave. Ordering a book through @cap-js/agents@cap-js/agentsSAP'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 happens without a question being asked; the human-in-the-loop annotation on the action turns the same request into an approve-or-reject step, which the episode follows down to the A2A status update that stores the task in an input-required state in the database — A2A itself being JSON-RPC 2.0 over HTTP with server-sent events for the stream. The rest is instructions on disk: an
agents.md in the service's own folder removes the question about how many copies to order, a skill under a skills folder is advertised by its description and read only when the agent decides the case applies, and either file makes the plugin build a deep agent instead of the plain one.Agent toolingCAP in the age of AI #6 - vector embeddingspublishedVector embeddings put to work in the incident managementcapire/incidents-appThe Incident Management reference application — the one SAP's own tutorial paths build, step by step, and the model cds add incidents-sample drops into a project.sap official, cap sample, answering whether this problem has been seen before. An
embedding element of type Vector is calculated and stored from the vector_embedding function, so the database refreshes it whenever the text behind it changes, and cosine_similarity compares it with a freshly embedded string; because a title says little, a scheduled action first summarises each incident's conversation through a model on SAP AI CoreSAP AI CoreSAP'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 and the embedding is taken from that summary. The similar-incidents list is a view joining incidents to themselves, with order and limit set in a before handler on the expanded query, and the vector element excluded from the service, since OData knows nothing about vectors — on SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp the function is native, while SQLite needs packages added to the project.LLM integrationCAP in the age of AI #7 - vector embeddings wrap-uppublishedThe same embeddings model taken from SQLite to SAP HANA CloudSAP HANA CloudThe managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components.sap official, btp, then handed to an agent. Locally it is @cap-js/ai@cap-js/aiOut-of-the-box value-help recommendations powered by SAP RPT-1, SAP AI Core as a standard CAP service, and an experimental local embedding model behind SQLite's vector functions.sap official, cap that adds the vector functions SQLite lacks and downloads an all-MiniLM L6v2 ONNX model on first start; on HANA natural language processing has to be switched on, the model name is a mandatory argument, the vectors it returns are 768 dimensions, and dimensions must match on both sides of a comparison. HANA itself can be given SAP AI CoreSAP AI CoreSAP'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 as a remote source for other embedding models, which a
CDS.ql expression has to inject because the postfix notation only takes what the CDS model holds, and the hour ends with a search function over cosine similarity exposed over @cap-js/mcp@cap-js/mcpA CAP plugin that serves an @mcp-annotated service over MCP with three generated tools, describe, query and call_action, and writes its endpoint into the local agent's configuration in development.sap official, cap, so an agent asked about low output from solar panels calls semantic search instead of writing the query itself.LLM integrationSAP Developers MCPadded to the atlasHosted MCP server of developers.sap.com tutorials and missionsAgent guidance
Show 1 more
SAP Developers MCPentry revisedNEIGHBOURS §5.1 named the hosted MCP as a companion to index as an artifact, and the graph had no entry for it. ecosystem: umbrella because its content covers SAP technologies across stacks (llms.txt names ABAP Cloud, CAP, Fiori, HANA Cloud and integration) and no single door holds it. No read_only: the anonymous mounts are read-only, but the signed-in tier writes progress (complete_step). No tool_count: the quickstart and the API page list different tools per mount. The site also serves a GraphQL API, not recorded as an interface here for want of a page read. /mcp/homepage is left out of the description: the quickstart lists it as anonymous and the API page as signed-in.Agent guidance
Sat 17
AI-native North Star architecture — Platform Layerexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Agent tooling
Building an LLM Agent in CAP Java with Spring AIexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Agent tooling
Building an LLM Agent using CAPexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Agent tooling
Document Groundingexplains revisedDoor scope derived from the artifacts this piece also explains, so a door page lists it only where it holds (docs/concepts/content-on-doors.md).Retrieval-augmented generation
Show 3 more
Generative AI on SAP BTPexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).LLM integration
Integrating and Extending Jouleexplains revisedDoor scope derived from the artifacts this piece also explains, so a door page lists it only where it holds (docs/concepts/content-on-doors.md).Agent tooling
SAP Document AIexplains revisedDoor scope derived from the artifacts this piece also explains, so a door page lists it only where it holds (docs/concepts/content-on-doors.md).Document extraction
Thu 15
Joule Studioadded to the atlasSAP's managed environment for building custom agents and workflowsAgent tooling
@cap-js/agentsdescription, provides, requires revisedHow the agent reaches a model was nowhere on the entry, while the Java module of the same plugin already carried the edge. capire's configuration table states that aicore is the default for the production and hybrid profiles and connects to SAP AI Core, with auto and mock as the development kinds, so the requirement is conditional and the condition names the alternatives.Agent tooling
@cap-js/aiprovides[llm-integration] revisedRe-read for the capability's impact assessment. The page still carries the claim, now in a longer sentence that also names the automatic service-binding resolution and the tenant-aware resource groups and deployments the coverage paragraph leans on, so the quote is the full sentence and the date is today's.LLM integration
@sap-ai-sdk/foundation-modelsprovides[llm-integration] revisedcapability:llm-integration declared model_access and response_streaming on 2026-10-15. The package's own chat-completion page, read the same day, states that its chat client streams over server-sent events, which is the fact that decides whether a chat surface can show an answer as it is written; the edge rested on the repository README alone before.LLM integration
Show 6 more
@sap-ai-sdk/orchestrationprovides[llm-integration] revisedcapability:llm-integration declared model_access and response_streaming on 2026-10-15. The orchestration chat-completion page, read the same day, states that the model is the name property of the promptTemplating configuration and that the harmonised API behind it lets a different model be used without the client code changing, and that the client streams over server-sent events. Both facts decide something for a reader and neither was on the edge.LLM integration
@sap/joule-studio-clidescription, provides, links revisedCurrent npm README for 2.0.4, published 2026-10-07, says "Installing
@sap/joule-studio-cli gives you two commands:" and lists joule and jl. SAP Help now installs this package for the new Studio workflow. The historical alpha package stays separately indexed; no unverified rename or lineage relationship is inferred.Agent toolingcap-java/cds-aiprovides[llm-integration], description revisedThe 0.0.2-alpha coordinates are a fact about Maven Central and not a statement by the maintainer. capire's plugin list, read on 2026-10-15, says in SAP's own words that the Java version of the AI plugin is currently in alpha, which is the declaration a reader choosing between the two runtimes needs; it is quoted rather than paraphrased and the coordinates stay beside it.LLM integration
capire/skillsflavors, provides revisedThe edge carried one source and no quote. Re-read both eval files on 2026-10-15: the fixture path, the expected-output field, the named assertions and the stack marker are now quoted, and the capability's two comparison properties are answered from the same sentences.Agent guidance
com.sap.cds:cds-adapter-agentdescription, provides revisedcapability:agent-tooling declared four comparison properties on 2026-10-15. All four values are scoped to the java flavor, the only one this module states, and the last two are stated negatives rather than absences: capire states that conversation history sits in volatile memory and that @agent.hitl is not yet supported by CAP Java. The harness property is left out: neither page names an agent framework underneath the Java adapter.Agent tooling
Joule Studioecosystem, artifact type, links revisedThe browser builder and managed runtime do not establish a separately subscribed and bound BTP service. Keep CAP and BTP as served views: the product overview names CAP development, and the current SAP Help tutorial requires "An SAP S/4HANA system configured with an SAP BTP destination." The architecture chapter is titled "Building AI Agents with SAP Joule Studio on SAP BTP" while distinguishing the SAP-managed runtime from Bring Your Own Agent in a customer subaccount. The CLI link is backed by the current npm README, which now ships both joule and jl; its atlas record is revised in the same batch. The positive basis for web-tool is SAP’s description of a visual browser-based builder with no local setup. It identifies the hosted development interface, including provisioned access; it does not classify the runtime as an unbound or customer-hosted service.Agent tooling
Fri 9
AI-native North Star architecture — Platform Layerparts revisedFilled from SAP's own pages at the maintainer's request (docs/concepts/product-doors.md was the occasion; the AI-native door reads these designs). Every part names what the graph holds; what it lacks is listed as candidates in the curation note.Agent tooling
Generative AI on SAP BTPparts, roles, paths revisedThe readme names the place for plugins and SDKs by example and leaves it open, and the RAG page names SAP's standardized services or a custom-built approach as the choice (docs/concepts/design-roles-and-interfaces.md §3). The three scenario pages are overlapping flows over the same parts, so they are not ways; the two runtimes are.LLM integration
Integrating and Extending Jouleparts revisedFilled from SAP's own readmes at the maintainer's request; the AI-native door reads these designs. Every part names what the graph holds; what it lacks is listed as candidates in the curation note.Agent tooling
Sun 27
@cap-js/processadded to the atlasStarts and manages SAP Build Process Automation processes from CAPWorkflow integration
SAP Document AIinterfaces revisedAn interface may be named and stays a field (docs/concepts/design-roles-and-interfaces.md §3.2, P7): the hub's catalogue states the two APIs' titles, versions and states, and SAP's Help pages name the channels and the workspace, so a design's arrow can say which surface it lands on and a reader has the page to open. The inbound channels read mail: SAP's Help page names mail as the only channel type, so the SharePoint folders the reference architecture mentions are its claim and not the maker's. No status is entered: the hub's state is a crawled claim reported beside the interface.Document extraction
SAP Document AIparts, areas, edges, roles, edges[client to docai] revisedThe ingestion page links the upload operation of document_information_extraction_api_v2 as the API-based integration, and the service now names that surface (docs/concepts/design-roles-and-interfaces.md §3.2, P7), so the arrow says which API it lands on and wears its protocol.Document extraction