{"ref":"artifact:nagarjundas1994-aiagents-cds-agents","page":"/artifacts/nagarjundas1994-aiagents-cds-agents","json":"/artifacts/nagarjundas1994-aiagents-cds-agents.json","generated":"2026-10-30","drafted_with_ai":true,"entity":{"id":"nagarjundas1994-aiagents-cds-agents","name":"cds-agents","artifact_type":"package","ecosystem":"cap","domain":"ai-and-agents","origin_ring":"independent","description":{"one_line":"Turns 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.","short":"Toolkit turning a CAP service into tools for agent frameworks","what_it_solves":"Where an MCP plugin exposes a service over a protocol, this hands the same surface to LangChain and LangGraph in process, as typed tools. The README draws the line as producer against consumer: @cap-js/mcp is a plugin you must own the application to add and redeploy, while this is a client library pointed at something already running, so the service it wraps can be another team's or an S/4HANA endpoint. CAPToolkit generates the tools and is the README's production default, CAPAgent is a ready-made ReAct agent it scopes to demos and small apps, and ODataExecutor is the OData V4 client underneath, with structured errors, a timeout and a dry run. How much of a service becomes callable is a toolStrategy of minimal, crud, actions or full rather than all of it, on the README's own argument that a service with a hundred entities can expose over four hundred tools and that this is expensive for the model to discover. Its install line names zod, @langchain/core and @langchain/openai alongside the package, so the framework is the host and CAP is the capability being wrapped."},"links":{"npm":"https://www.npmjs.com/package/cds-agents","repo":"https://github.com/Nagarjundas1994-AiAgents/cds-agents"},"identity":{"author":"nagarjundas","license":"MIT"},"compat":{"runtimes":["node"],"cds_range":">=7.0.0"},"provides":[{"capability":"capability:agent-tooling","what_it_does":"Generates the tools a LangChain or LangGraph agent calls from a CAP service's own model, as a client library pointed at a service that is already running, with a tool strategy deciding how much of the model becomes callable and a ready-made ReAct agent for the small case.","facets":[{"key":"brings","value":["Tools for another framework","Loop in application code"],"source":{"url":"https://github.com/Nagarjundas1994-AiAgents/cds-agents","title":"cds-agents — README, opening line","checked":"2026-10-15","quote":"Turn any SAP CAP service into governed AI capabilities for LangChain, LangGraph, MCP, and enterprise agents."},"sources":[{"url":"https://github.com/Nagarjundas1994-AiAgents/cds-agents","title":"cds-agents — README, CAPToolkit","checked":"2026-10-15","quote":"Raw-tool layer. Production default."},{"url":"https://github.com/Nagarjundas1994-AiAgents/cds-agents","title":"cds-agents — README, CAPAgent","checked":"2026-10-15","quote":"Ready-made ReAct agent for demos and small apps."}],"applies_to":{"ecosystems":["cap"],"flavors":["node"]}},{"key":"harness","value":["LangChain","LangGraph"],"source":{"url":"https://github.com/Nagarjundas1994-AiAgents/cds-agents","title":"cds-agents — README, opening line","checked":"2026-10-15","quote":"Turn any SAP CAP service into governed AI capabilities for LangChain, LangGraph, MCP, and enterprise agents."},"applies_to":{"ecosystems":["cap"],"flavors":["node"]}},{"key":"protocols","value":["OData V4"],"source":{"url":"https://github.com/Nagarjundas1994-AiAgents/cds-agents","title":"cds-agents — README, ODataExecutor","checked":"2026-10-15","quote":"OData V4 client with structured errors, timeout, dry-run."},"applies_to":{"ecosystems":["cap"],"flavors":["node"]}}],"sources":[{"url":"https://github.com/Nagarjundas1994-AiAgents/cds-agents","title":"cds-agents — README, opening line","checked":"2026-10-15","quote":"Turn any SAP CAP service into governed AI capabilities for LangChain, LangGraph, MCP, and enterprise agents."},{"url":"https://github.com/Nagarjundas1994-AiAgents/cds-agents","title":"cds-agents — README, producer against consumer","checked":"2026-10-15","quote":"The difference is producer vs consumer. `@cap-js/mcp` is a plugin — you must own the CAP app, add it, and redeploy. cds-agents is a client library pointed at something already running."},{"url":"https://github.com/Nagarjundas1994-AiAgents/cds-agents","title":"cds-agents — README, tool strategy","checked":"2026-10-15","quote":"toolStrategy: 'minimal' | 'crud' | 'actions' | 'full'"},{"url":"https://github.com/Nagarjundas1994-AiAgents/cds-agents","title":"cds-agents — README, discovery cost","checked":"2026-10-15","quote":"A CAP service with 100 entities can expose 400+ tools. That is expensive for LLM discovery."},{"url":"https://github.com/Nagarjundas1994-AiAgents/cds-agents","title":"cds-agents — README, install","checked":"2026-10-15","quote":"npm install cds-agents zod @langchain/core @langchain/openai"}]},"capability:tool-governance"],"provenance":{"discovered_via":[{"source":"source:npm","channel":"keywords:sap-cap"}],"first_seen":"2026-09-07"},"maintainers":["actor:nagarjundas1994-aiagents"],"contributors":["actor:nagarjundas1994-aiagents"],"history":[{"date":"2026-10-15","field":"description.what_it_solves, provides.agent-tooling","from":"the MCP comparison and a peer-dependency sentence, with the capability stated as a bare ref and no source","to":"the producer-against-consumer line, the three entry points, the tool strategy and the discovery-cost argument, on a sourced edge with three property values","reason":"The entry stated the capability with no source, and its paragraph said the framework is the host without the fact that makes this entry different from every other option here: the README states it is a client library pointed at something already running, where @cap-js/mcp is a plugin whose application you must own. Read on 2026-10-15, which also gives the three entry points as the README scopes them, the toolStrategy values, the four-hundred-tool argument behind them, and the install line, which replaced an unsourced claim about four peer dependencies. The tool-governance edge is untouched: its claims belong to that capability's own pass."},{"date":"2026-10-15","field":"provides.agent-tooling.facets","from":null,"to":"brings: Tools for another framework and Loop in application code, harness: LangChain and LangGraph, protocols: OData V4","reason":"capability:agent-tooling declared four comparison properties on 2026-10-15. Both brings values rest on their own sentence — CAPToolkit is the raw-tool layer and the production default, CAPAgent a ready-made ReAct agent for demos and small apps — and the protocol is the one its own executor names as a client, not a protocol it serves. The state and approval properties are left out: the README says nothing about either."}],"drafted_with_ai":true},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"good","evidence":"2 months since release"},{"label":"Continuity","tier":"fair","evidence":"one contributor, personally owned"},{"label":"Repository","tier":"good","evidence":"pushed 2026-08, not archived"}],"compatibility":[{"label":"Declared for","tier":"good","evidence":">=7.0.0 — includes cds 10 and 9"},{"label":"Survived majors","tier":"good","evidence":"released before and after @sap/cds 10"},{"label":"Maintainer's CI","tier":"good","evidence":"CI green, 2026-08-15"}],"practice":[{"label":"Tests","tier":"good","evidence":"8 test files, npm test"},{"label":"Docs","tier":"good","evidence":"docs/ with 2 pages, README 17 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":7,"unit":"installs/week"},{"value":0,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-28","latest_version":"1.1.2","majors":{"1":{"version":"1.0.0","date":"2026-04-20"}},"license":"MIT","first_release":"2026-04-20","last_release":"2026-08-15","releases":2,"cadence_days":null,"maintainers":1,"repository":"git+https://github.com/Nagarjundas1994-AiAgents/cds-agents.git","peer_cds":">=7.0.0","test_script":true,"types":true,"downloads_weekly":7,"stars":0,"forks":1,"open_issues":0,"archived":false,"pushed_at":"2026-08-15","license_spdx":"MIT","org_owned":false,"default_branch":"main","contributors":1,"tree_truncated":false,"test_files":8,"workflows":2,"other_ci":false,"readme_bytes":17056,"docs_files":2,"changelog":false,"license_file":true,"dts_files":0,"ci_status":"success","ci_run_at":"2026-08-15","ci_workflow":"CI","ci_event":"push","readme_path":"packages/cds-agents/README.md","readme_sha":"57a3a4590e38e9a269e7261951974aa07e1f1d56","months_since_release":2,"dormant":false,"repository_directory":"packages/cds-agents","dependencies":1,"node_engine":">=18.0.0","downloads_monthly":35,"created_at":"2026-04-20T13:26:53Z","open_prs":0,"first_commit":"2026-04-20","last_commit":"2026-08-15","commits":7,"repo_read":"2026-10-28"},"release_notes":{"license":"MIT","quotable":true,"source":{"kind":"npm","path":"CHANGELOG.md","version":"1.1.2","url":"https://github.com/Nagarjundas1994-AiAgents/cds-agents/blob/main/packages/cds-agents/CHANGELOG.md"},"format":"keep-a-changelog","releases":[{"version":"1.1.2","date":"2026-08-15","date_source":"heading","heading":"[1.1.2] - 2026-08-15","url":"https://github.com/Nagarjundas1994-AiAgents/cds-agents/blob/main/packages/cds-agents/CHANGELOG.md#112---2026-08-15","sections":[{"kind":"feature","heading":"Added","items":1},{"kind":"fix","heading":"Fixed","items":2},{"kind":"change","heading":"Changed","items":2}],"hash":"51e5409cd771a59e"},{"version":"1.1.1","date":"2026-08-15","date_source":"heading","heading":"[1.1.1] - 2026-08-15","url":"https://github.com/Nagarjundas1994-AiAgents/cds-agents/blob/main/packages/cds-agents/CHANGELOG.md#111---2026-08-15","sections":[{"kind":"fix","heading":"Fixed","items":2},{"kind":"feature","heading":"Added","items":3},{"kind":"change","heading":"Changed","items":1}],"hash":"038b8df785027992"},{"version":"1.1.0","date":"2026-08-14","date_source":"heading","heading":"[1.1.0] - 2026-08-14","url":"https://github.com/Nagarjundas1994-AiAgents/cds-agents/blob/main/packages/cds-agents/CHANGELOG.md#110---2026-08-14","sections":[{"kind":"feature","heading":"Added","items":11},{"kind":"fix","heading":"Fixed","items":2},{"kind":"change","heading":"Changed","items":5}],"hash":"0e5a8288590c33c1"},{"version":"1.0.0","date":"2026-04-20","date_source":"heading","heading":"[1.0.0] - 2026-04-20","url":"https://github.com/Nagarjundas1994-AiAgents/cds-agents/blob/main/packages/cds-agents/CHANGELOG.md#100---2026-04-20","sections":[{"kind":"feature","heading":"Added","items":8}],"hash":"3e58755940a9a348"}],"versions":[{"version":"1.1.2","date":"2026-08-15"},{"version":"1.0.0","date":"2026-04-20"}],"crawled_at":"2026-10-25"},"edges":{"maintainers":[{"ref":"actor:nagarjundas1994-aiagents","name":"NAGARJUN DAS","json":"/actors/nagarjundas1994-aiagents.json"}],"contributors":[{"ref":"actor:nagarjundas1994-aiagents","name":"NAGARJUN DAS","json":"/actors/nagarjundas1994-aiagents.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}