{"ref":"artifact:geertjanklaps-cds-toon-ai-protocol-adapter","page":"/artifacts/geertjanklaps-cds-toon-ai-protocol-adapter","json":"/artifacts/geertjanklaps-cds-toon-ai-protocol-adapter.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"geertjanklaps-cds-toon-ai-protocol-adapter","name":"@geertjanklaps/cds-toon-ai-protocol-adapter","artifact_type":"cds-plugin","ecosystem":"cap","domain":"ai-and-agents","origin_ring":"independent","description":{"one_line":"A protocol adapter that serves CAP data as TOON — Token-Oriented Object Notation — instead of JSON, so a payload bound for a language model costs fewer tokens to send.","short":"Protocol adapter serving CAP data as TOON instead of JSON","what_it_solves":"The cost nobody budgets for: JSON spends tokens on punctuation and repeated keys, and every one is billed on the way into a model. The adapter converts in both directions at the protocol layer, in a REST variant and an OData one, so the service code and the model stay as they were and only the wire format changes. It counts tokens on both sides and logs the comparison, which is how you find out whether it earned its place.","to_build_on_it":"Being an adapter rather than a library is the design: it sits where the OData and GraphQL adapters sit, and a consumer selects it by content type. Built on @toon-format/toon and tokenx."},"links":{"npm":"https://www.npmjs.com/package/@geertjanklaps/cds-toon-ai-protocol-adapter","repo":"https://github.com/geert-janklaps/cds-toon-ai-protocol-adapter"},"identity":{"author":"Geert-Jan Klaps","license":"MIT"},"compat":{"runtimes":["node"],"cds_range":">=9"},"type_properties":{"distribution":{"value":["npm"],"sources":[{"url":"https://github.com/geert-janklaps/cds-toon-ai-protocol-adapter","title":"@geertjanklaps/cds-toon-ai-protocol-adapter — README","checked":"2026-10-18","quote":"npm install @geertjanklaps/cds-toon-ai-protocol-adapter"}]}},"provides":[{"capability":"capability:llm-integration","what_it_does":"Shapes what a CAP service hands a model rather than the call to it — the same rows in a denser notation, with the token counts on both sides reported so the saving is measured instead of assumed.","sources":[{"url":"https://www.npmjs.com/package/@geertjanklaps/cds-toon-ai-protocol-adapter","title":"@geertjanklaps/cds-toon-ai-protocol-adapter — README","checked":"2026-09-08","quote":"This plugin provides automatic conversion between JSON and Toon format, optimizing data exchange for AI applications by typically reducing token counts while maintaining data integrity."}]}],"requires":[],"maintainers":["actor:geert-janklaps"],"provenance":{"discovered_via":[{"source":"source:npm"},{"source":"source:sap-community","channel":"cap-tag"}],"first_seen":"2026-09-08"},"contributors":["actor:geert-janklaps"],"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":"fair","evidence":"9 months since release"},{"label":"Continuity","tier":"fair","evidence":"one contributor, personally owned"},{"label":"Repository","tier":"fair","evidence":"pushed 2026-01, not archived"}],"compatibility":[{"label":"Declared for","tier":"good","evidence":">=9 — includes cds 10 and 9"},{"label":"Survived majors","tier":"poor","evidence":"no release since @sap/cds 10 shipped (July 2026)"},{"label":"Maintainer's CI","tier":"good","evidence":"Release & Publish to NPM green, 2026-01-25"}],"practice":[{"label":"Tests","tier":"good","evidence":"14 test files"},{"label":"Docs","tier":"good","evidence":"README 10 KB"},{"label":"Changelog","tier":"good","evidence":"CHANGELOG in the repo"}],"reach":[{"value":4,"unit":"installs/week"},{"value":0,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-26","latest_version":"1.0.2","majors":{"1":{"version":"1.0.0","date":"2026-01-25"}},"license":"MIT","first_release":"2026-01-25","last_release":"2026-01-25","releases":3,"cadence_days":0,"maintainers":1,"repository":"git+https://github.com/geert-janklaps/cds-toon-ai-protocol-adapter.git","peer_cds":">=9","test_script":false,"types":false,"downloads_weekly":4,"stars":0,"forks":0,"open_issues":0,"archived":false,"pushed_at":"2026-01-26","license_spdx":"MIT","org_owned":false,"default_branch":"main","contributors":1,"tree_truncated":false,"test_files":14,"workflows":1,"other_ci":false,"readme_bytes":10046,"docs_files":0,"changelog":true,"license_file":true,"dts_files":0,"ci_status":"success","ci_run_at":"2026-01-25","ci_workflow":"Release & Publish to NPM","ci_event":"workflow_dispatch","readme_path":"README.md","readme_sha":"efdf698c15f4ea402c035f78b6f1949fd215e2df","months_since_release":9,"dormant":false,"repository_directory":null,"dependencies":2,"node_engine":null,"downloads_monthly":15,"created_at":"2026-01-20T18:22:40Z","open_prs":0,"first_commit":"2026-01-20","last_commit":"2026-01-26","commits":18,"repo_read":"2026-10-26"},"release_notes":{"license":"MIT","quotable":true,"source":{"kind":"repo","path":"CHANGELOG.md","ref":"main","url":"https://github.com/geert-janklaps/cds-toon-ai-protocol-adapter/blob/main/CHANGELOG.md"},"format":"conventional","releases":[{"version":"1.0.2","date":"2026-01-25","date_source":"heading","heading":"1.0.2 (2026-01-25)","url":"https://github.com/geert-janklaps/cds-toon-ai-protocol-adapter/blob/main/CHANGELOG.md#102-2026-01-25","sections":[],"hash":"e3b0c44298fc1c14"},{"version":"1.0.1","date":"2026-01-25","date_source":"heading","heading":"1.0.1 (2026-01-25)","url":"https://github.com/geert-janklaps/cds-toon-ai-protocol-adapter/blob/main/CHANGELOG.md#101-2026-01-25","sections":[{"kind":"feature","heading":"Additional Changes","items":1}],"hash":"1694574313fc243e"}],"versions":[{"version":"1.0.2","date":"2026-01-25"},{"version":"1.0.1","date":"2026-01-25"},{"version":"1.0.0","date":"2026-01-25"}],"crawled_at":"2026-10-25"},"edges":{"maintainers":[{"ref":"actor:geert-janklaps","name":"Geert-Jan Klaps","json":"/actors/geert-janklaps.json"}],"contributors":[{"ref":"actor:geert-janklaps","name":"Geert-Jan Klaps","json":"/actors/geert-janklaps.json"}],"explained_by":[{"ref":"content:cds-toon-ai-protocol-adapter-cutting-token-costs","name":"cds-toon-ai-protocol-adapter: a pragmatic way to cut AI token costs using SAP CAP","json":"/content/cds-toon-ai-protocol-adapter-cutting-token-costs.json"}],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}