{"ref":"artifact:lemaiwo-cap-agent-ui5-webui","page":"/artifacts/lemaiwo-cap-agent-ui5-webui","json":"/artifacts/lemaiwo-cap-agent-ui5-webui.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"lemaiwo-cap-agent-ui5-webui","name":"cap-agent-ui5-webui","artifact_type":"cds-plugin","ecosystem":"cap","flavors":[{"key":"node","source":{"url":"https://github.com/lemaiwo/cap-agent-ui5-webui","title":"lemaiwo/cap-agent-ui5-webui — README","checked":"2026-09-13","quote":"CAP auto-loads the plugin from any dependency via its `cds-plugin.js` convention"}}],"domain":"ai-and-agents","origin_ring":"independent","description":{"one_line":"Gives 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.","short":"UI5 web interface for an agent built in a CAP service","what_it_solves":"A CAP project with an @agent-annotated service has an A2A endpoint and no screen; this installs the screen. It serves a freestyle SAPUI5 TypeScript chat client same-origin from the CDS server and discovers the services carrying @agent from [@cap-js/agents](artifact:cap-js-agents): with one agent the UI connects to it directly, with more than one it renders a picker, and switching agents there starts a new conversation because each agent owns its own contextId and task history. It speaks nothing but A2A as that plugin serves it, and its README says it is not a general chat framework. The README also covers the deployed side — the HTML5 Application Repository wiring, and what the plugin does not remove from an MTA — and ships a scripted LLM for testing an approval flow, because the mock LLM bundled with @cap-js/agents always calls the read tool and can never call an action, which leaves an @agent.hitl gate unreachable under it.","when_not_to_use":"Not where the agent is reached over anything other than A2A: the README states the plugin does not speak anything other than A2A as @cap-js/agents serves it. Not where an upgrade has to be uneventful either — it pins @cap-js/agents to exactly 0.9.1, calls that package pre-1.0 and days old at the time of writing, and says this plugin inherits that instability and to expect breakage on upgrade."},"links":{"npm":"https://www.npmjs.com/package/cap-agent-ui5-webui","repo":"https://github.com/lemaiwo/cap-agent-ui5-webui"},"provides":[{"capability":"capability:agent-tooling","what_it_does":"Serves the chat screen an agent built into a CAP service is talked to in: a freestyle SAPUI5 TypeScript client, same-origin from the CDS server, that discovers the project's @agent-annotated services and renders a picker when there is more than one.","facets":[{"key":"brings","value":["Chat user interface"],"source":{"url":"https://github.com/lemaiwo/cap-agent-ui5-webui","title":"lemaiwo/cap-agent-ui5-webui — README, opening line","checked":"2026-10-15","quote":"A SAP CAP plugin that gives any CAP project a working A2A protocol chat UI by installing it — no wiring, no copying files, no approuter changes."},"applies_to":{"ecosystems":["cap"],"flavors":["node"]}},{"key":"protocols","value":["A2A"],"source":{"url":"https://github.com/lemaiwo/cap-agent-ui5-webui","title":"lemaiwo/cap-agent-ui5-webui — README, What this is / is not","checked":"2026-10-15","quote":"This plugin serves the chat UI and discovers your agents; it is not a general chat framework and does not speak anything other than A2A as `@cap-js/agents` serves it."},"applies_to":{"ecosystems":["cap"],"flavors":["node"]}}],"sources":[{"url":"https://github.com/lemaiwo/cap-agent-ui5-webui","title":"lemaiwo/cap-agent-ui5-webui — README, opening line","checked":"2026-10-15","quote":"A SAP CAP plugin that gives any CAP project a working A2A protocol chat UI by installing it — no wiring, no copying files, no approuter changes."},{"url":"https://github.com/lemaiwo/cap-agent-ui5-webui","title":"lemaiwo/cap-agent-ui5-webui — README, what it serves","checked":"2026-10-15","quote":"it serves a freestyle SAPUI5 TypeScript chat client, same-origin from your CDS server, that talks to whichever of your services carry the `@agent` annotation"},{"url":"https://github.com/lemaiwo/cap-agent-ui5-webui","title":"lemaiwo/cap-agent-ui5-webui — README, Multi-agent behaviour","checked":"2026-10-15","quote":"More than one — the UI renders a picker. Switching agents starts a new conversation. Each agent owns its own `contextId` and task history, so there is no meaningful way to carry a conversation across agents."},{"url":"https://github.com/lemaiwo/cap-agent-ui5-webui","title":"lemaiwo/cap-agent-ui5-webui — README, testing the approval gate","checked":"2026-10-15","quote":"That means any human-in-the-loop approval flow you've built — an action annotated `@agent.hitl`, gated behind Approve/Reject — is unreachable under the bundled mock."}]}],"requires":[{"ref":"artifact:cap-js-agents","requirement":"required","role":"agent runtime","for":"The A2A endpoints and the @agent-annotated services this client discovers and talks to; the README pins the package to exactly 0.9.1.","sources":[{"url":"https://github.com/lemaiwo/cap-agent-ui5-webui","title":"lemaiwo/cap-agent-ui5-webui — README, what it serves","checked":"2026-10-15","quote":"it serves a freestyle SAPUI5 TypeScript chat client, same-origin from your CDS server, that talks to whichever of your services carry the `@agent` annotation"},{"url":"https://github.com/lemaiwo/cap-agent-ui5-webui","title":"lemaiwo/cap-agent-ui5-webui — README, the pin","checked":"2026-10-15","quote":"`@cap-js/agents` is pinned to exactly `0.9.1` — it is pre-1.0, days old at the time of writing, and its own README marks areas such as connectivity and content filtering as experimental."}]}],"provenance":{"discovered_via":[{"source":"source:npm"},{"source":"source:discover"}],"first_seen":"2026-08-30"},"maintainers":["actor:lemaiwo"],"contributors":["actor:lemaiwo"],"history":[{"date":"2026-09-08","field":"description.one_line","from":"A CAP plugin that serves a UI5 chat client for @cap-js/agents A2A agents","to":"Gives 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.","reason":"Placement copied the package's own npm description. Replaced with a line written for this graph — what it does and where it sits — because an unattributed sentence is an unattributed claim."},{"date":"2026-10-15","field":"description.what_it_solves, description.when_not_to_use, provides.agent-tooling, requires","from":"an index line, a bare capability ref with no source, and no dependency","to":"a paragraph, two situations it is not for, a sourced provides edge with two property values, and a required edge on @cap-js/agents","reason":"The README has grown well past what the page carried, and the entry stated the capability with no source at all. Read on 2026-10-15: it serves a freestyle SAPUI5 TypeScript chat client same-origin from the CDS server against the services carrying @agent, renders a picker for more than one agent where switching starts a new conversation, speaks nothing but A2A as @cap-js/agents serves it, pins that package to exactly 0.9.1 and says to expect breakage on upgrade, and ships a scripted LLM because the bundled mock can never call an action and leaves an @agent.hitl gate unreachable. The dependency on @cap-js/agents is what the plugin is written against, so it is a required edge rather than a sentence."}],"drafted_with_ai":true},"effective_normative_relations":[{"instrument":"instrument:sap-developer-license-3-2-cap","relation":"use-constrained-by","sections":["1","2","3"],"applies_when":"A cds-plugin is used with SAP CAP materials, or an artifact is explicitly identified as a CAP plugin or application.","note":"This is inherited applicability, not a licence verdict about the artifact itself. Review the agreement for the actual materials and use; an explicit artifact relationship to another revision takes precedence.","scope":{"kind":"artifact"},"sources":[{"url":"https://cap.cloud.sap/resources/license/developer-license-3_2_CAP.txt","title":"SAP Developer License Agreement 3.2 CAP","checked":"2026-09-16","quote":"documentation, plug-ins, templates, scripts and sample code, libraries, software development kits"}],"inherited_from":"cap-plugins-and-applications","relevant_capabilities":["agent-systems-access","async-processing","data-import-export","database-connectors","deployment","destinations","llm-integration","mcp-servers","plugin-authoring","replication","retrieval-augmented-generation","rfc-connectivity"]}],"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":">=8 — includes cds 10 and 9"},{"label":"Survived majors","tier":"unknown","evidence":"first released after @sap/cds 10 shipped"},{"label":"Maintainer's CI","tier":"good","evidence":"CI green, 2026-08-17"}],"practice":[{"label":"Tests","tier":"good","evidence":"24 test files, npm test"},{"label":"Docs","tier":"good","evidence":"docs/ with 5 pages, README 20 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":3,"unit":"installs/week"},{"value":1,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-26","latest_version":"0.2.0","majors":{"0.1":{"version":"0.1.0","date":"2026-08-17"},"0.2":{"version":"0.2.0","date":"2026-08-17"}},"license":"Apache-2.0","first_release":"2026-08-17","last_release":"2026-08-17","releases":2,"cadence_days":null,"maintainers":1,"repository":"git+https://github.com/lemaiwo/cap-agent-ui5-webui.git","peer_cds":">=8","test_script":true,"types":false,"downloads_weekly":3,"stars":1,"forks":1,"open_issues":0,"archived":false,"pushed_at":"2026-08-17","license_spdx":null,"org_owned":false,"default_branch":"main","contributors":1,"tree_truncated":false,"test_files":24,"workflows":2,"other_ci":false,"readme_bytes":20402,"docs_files":5,"changelog":false,"license_file":false,"dts_files":0,"ci_status":"success","ci_run_at":"2026-08-17","ci_workflow":"CI","ci_event":"push","readme_path":"README.md","readme_sha":"d09d7407f01843128a1679fe3c13962148604f34","months_since_release":2,"dormant":false,"repository_directory":null,"dependencies":1,"node_engine":null,"downloads_monthly":23,"created_at":"2026-08-16T11:33:18Z","open_prs":0,"first_commit":"2026-08-16","last_commit":"2026-08-17","commits":53,"repo_read":"2026-10-26"},"release_notes":{"license":"Apache-2.0","quotable":true,"versions":[{"version":"0.2.0","date":"2026-08-17"},{"version":"0.1.0","date":"2026-08-17"}],"crawled_at":"2026-10-25"},"edges":{"maintainers":[{"ref":"actor:lemaiwo","name":"Wouter Lemaire","json":"/actors/lemaiwo.json"}],"contributors":[{"ref":"actor:lemaiwo","name":"Wouter Lemaire","json":"/actors/lemaiwo.json"}],"explained_by":[{"ref":"content:devtoberfest-2026-code-based-ai-agents-baip","name":"Building Code-Based AI Agents on the BAIP","json":"/content/devtoberfest-2026-code-based-ai-agents-baip.json"}],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}