{"ref":"artifact:lemaiwo-ui5-cap-ai-features","page":"/artifacts/lemaiwo-ui5-cap-ai-features","json":"/artifacts/lemaiwo-ui5-cap-ai-features.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"lemaiwo-ui5-cap-ai-features","name":"ui5-cap-ai-features","artifact_type":"cds-plugin","ecosystem":"cap","serves_ecosystems":["ui5"],"flavors":[{"key":"freestyle","source":{"url":"https://github.com/lemaiwo/ui5-ai-features","title":"lemaiwo/ui5-ai-features — README","checked":"2026-09-13","quote":"the `be.wl.ai` UI5 control library (AI Polish Button, AI Translate Button, AI Autocomplete, ...) that calls it"}}],"domain":"ai-and-agents","origin_ring":"independent","description":{"one_line":"Both halves of an AI text feature in one package: a CDS plugin serving an AIService over SAP AI Core's Orchestration Service, and the be.wl.ai UI5 control library that calls exactly that service.","short":"CDS plugin and UI5 controls for AI text features via SAP AI Core","what_it_solves":"Eleven controls bound to a model through the ordinary value property — polish, spell check, tone, translate, generate, summarize, extract keywords, compare, sentiment, an input with a suggestion popover and a self-completing TextArea. The prompts live server-side in the plugin; the client sends an operation key and, where one applies, an allowlisted option such as a language or a tone. Input length limits and per-user rate limiting are enforced in the handler rather than trusted to the caller.","to_build_on_it":"Shipping the client and the server in one version is the point: the operation keys and the action signature cannot drift, because there is only one version to be on. Installing does nothing until \"ai-features\": true appears in the cds configuration, and the package also carries a prebuilt archive of the library, so a project can put be.wl.ai in the HTML5 Application Repository without holding any library source.","when_not_to_use":"It is text processing, not an agent: there is no tool calling, no retrieval and no conversation. It needs SAP AI Core, and the backend half needs [@sap-ai-sdk/orchestration](artifact:sap-ai-sdk-orchestration) installed alongside it — an optional peer, so a frontend-only install stays lean."},"links":{"npm":"https://www.npmjs.com/package/ui5-cap-ai-features","repo":"https://github.com/lemaiwo/ui5-ai-features","docs":"https://github.com/lemaiwo/ui5-ai-features/blob/main/ui5-cap-ai-features/README.md"},"identity":{"author":"Wouter Lemaire","license":"Apache-2.0"},"compat":{"runtimes":["node"],"cds_range":">=8","deployment":["cf"],"typed":true},"type_properties":{"distribution":{"value":["npm"],"sources":[{"url":"https://github.com/lemaiwo/ui5-ai-features","title":"ui5-cap-ai-features — README","checked":"2026-10-18","quote":"npm install ui5-cap-ai-features @sap-ai-sdk/orchestration"}]}},"provides":[{"capability":"capability:llm-integration","what_it_does":"Serves an AIService at /odata/v4/ai backed by AI Core's Orchestration Service, with the prompts, the length limits and the per-user rate limiting held on the server so no application code carries them.","facets":[{"key":"model_access","value":"SAP AI Core","source":{"url":"https://raw.githubusercontent.com/lemaiwo/ui5-ai-features/main/ui5-cap-ai-features/README.md","title":"lemaiwo/ui5-ai-features — ui5-cap-ai-features README","checked":"2026-10-15","quote":"a **CAP CDS plugin** that serves an `AIService` (`/odata/v4/ai`) backed by SAP AI Core's Orchestration Service"},"applies_to":{"ecosystems":["cap"]}}],"sources":[{"url":"https://www.npmjs.com/package/ui5-cap-ai-features","title":"ui5-cap-ai-features — README","checked":"2026-09-07","quote":"All prompts are maintained server-side in the plugin — clients only send an operation key plus, where applicable, an allowlisted option (a language or tone key)."},{"url":"https://raw.githubusercontent.com/lemaiwo/ui5-ai-features/main/ui5-cap-ai-features/README.md","title":"lemaiwo/ui5-ai-features — ui5-cap-ai-features README","checked":"2026-10-15","quote":"a **CAP CDS plugin** that serves an `AIService` (`/odata/v4/ai`) backed by SAP AI Core's Orchestration Service"}]}],"requires":[{"ref":"artifact:sap-ai-sdk-orchestration","requirement":"conditional","role":"model-client","condition":"The backend half is installed: the README calls the package an optional peer dependency so that a frontend-only install stays lean, and says a backend project installs it explicitly.","for":"The client the plugin's AIService calls SAP AI Core's Orchestration Service through.","sources":[{"url":"https://raw.githubusercontent.com/lemaiwo/ui5-ai-features/main/ui5-cap-ai-features/README.md","title":"lemaiwo/ui5-ai-features — ui5-cap-ai-features README, optional peer","checked":"2026-10-15","quote":"(`@sap-ai-sdk/orchestration` is an optional peer dependency so that pure frontend installs stay lean — backend projects install it explicitly.)"},{"url":"https://raw.githubusercontent.com/lemaiwo/ui5-ai-features/main/ui5-cap-ai-features/README.md","title":"lemaiwo/ui5-ai-features — ui5-cap-ai-features README","checked":"2026-10-15","quote":"a **CAP CDS plugin** that serves an `AIService` (`/odata/v4/ai`) backed by SAP AI Core's Orchestration Service"}]},"artifact:btp-html5-application-repository"],"maintainers":["actor:lemaiwo"],"provenance":{"discovered_via":[{"source":"source:npm"},{"source":"source:sap-community"}],"first_seen":"2026-09-07"},"contributors":["actor:lemaiwo"],"drafted_with_ai":true,"history":[{"date":"2026-10-15","field":"provides[llm-integration].facets, sources","from":null,"to":"model_access: SAP AI Core, and the README sentence that names the service the AIService is backed by","reason":"capability:llm-integration declared two comparison properties on 2026-10-15. The edge rested on the npm README's sentence about server-side prompts, which says where the prompts live and not which service the call goes to; the package README, read the same day, names SAP AI Core's Orchestration Service outright, which is what the property states. response_streaming is left absent: the README says nothing about streaming, and absent is not no."},{"date":"2026-10-15","field":"requires[sap-ai-sdk-orchestration]","from":"artifact:sap-ai-sdk-orchestration, as a bare reference","to":"conditional, with the README's optional-peer sentence quoted","reason":"The edge read as an unconditional prerequisite while this entry's own when_not_to_use already said the package is an optional peer. The README states it in one sentence, quoted now: a frontend-only install does not need it and a backend project installs it explicitly, which is the distinction a reader deciding what to add to package.json needs. The edge to the HTML5 Application Repository is untouched; nothing was read for it in this pass."}]},"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":"3 months since release"},{"label":"Continuity","tier":"fair","evidence":"2 contributors, 1 publisher"},{"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":"fair","evidence":"no CI configured"}],"practice":[{"label":"Tests","tier":"poor","evidence":"none found in the tree"},{"label":"Docs","tier":"good","evidence":"docs site, README 10 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":5,"unit":"installs/week","note":"More people watching than installing — noticed deliberately rather than pulled in."},{"value":16,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-26","latest_version":"1.0.2","majors":{"1":{"version":"1.0.0","date":"2026-08-02"}},"license":"Apache-2.0","first_release":"2026-08-02","last_release":"2026-08-11","releases":3,"cadence_days":9,"maintainers":1,"repository":"git+https://github.com/lemaiwo/ui5-ai-features.git","peer_cds":">=8","test_script":false,"types":false,"downloads_weekly":5,"stars":16,"forks":0,"open_issues":0,"archived":false,"pushed_at":"2026-08-11","license_spdx":null,"org_owned":false,"default_branch":"main","contributors":2,"tree_truncated":false,"test_files":0,"workflows":0,"other_ci":false,"readme_bytes":9805,"docs_files":0,"changelog":false,"license_file":false,"dts_files":0,"readme_path":"ui5-cap-ai-features/README.md","readme_sha":"54eed863bcb5d7a0fd306a41ab8ca75dbe359a38","months_since_release":3,"dormant":false,"repository_directory":"ui5-cap-ai-features","dependencies":0,"node_engine":null,"downloads_monthly":32,"created_at":"2026-02-03T15:06:27Z","open_prs":0,"first_commit":"2026-07-28","last_commit":"2026-08-11","commits":4,"repo_read":"2026-10-26"},"release_notes":{"license":"Apache-2.0","quotable":true,"versions":[{"version":"1.0.2","date":"2026-08-11"},{"version":"1.0.1","date":"2026-08-11"},{"version":"1.0.0","date":"2026-08-02"}],"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:ui5-ai-features-library-is-now-an-npm-package","name":"UI5 AI Features library is now an npm Package","json":"/content/ui5-ai-features-library-is-now-an-npm-package.json"}],"alternative_to_this":[],"needed_by":[{"ref":"artifact:lemaiwo-ui5-ai-features-demo","name":"ui5-ai-features-demo","json":"/artifacts/lemaiwo-ui5-ai-features-demo.json"}],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}