{"ref":"artifact:marcellourbani-abap-cloud-platform","page":"/artifacts/marcellourbani-abap-cloud-platform","json":"/artifacts/marcellourbani-abap-cloud-platform.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"marcellourbani-abap-cloud-platform","name":"abap_cloud_platform","artifact_type":"package","ecosystem":"btp","serves_ecosystems":["abap"],"domain":"security-and-compliance","origin_ring":"independent","description":{"one_line":"A TypeScript library of the Cloud Foundry calls that walk down to an ABAP service instance, read its SAP_ADT service key and log a user in, so a tool outside the system can reach it.","short":"TypeScript library reaching ABAP service instances on Cloud Foundry","what_it_solves":"Reaching an ABAP repository from outside takes several Cloud Foundry calls before the first request to the system: a token, then the organisation, the space, the service instances, and the key that carries the system's URL and credentials. That sequence is the library. `cfInfo` and `cfPasswordGrant` get the token, `cfOrganizations`, `cfSpaces`, `cfServiceInstances` and `cfServices` walk down to the instance, and `cfInstanceServiceKeys` with `cfInstanceServiceKey` read its keys; the key it looks for is named SAP_ADT, which the README says is usually used by [Eclipse](external:eclipse). `cfCodeGrant` opens a browser window for the user to log in, and `getAbapUserInfo` and `getAbapSystemInfo` are the two calls it then makes against the ABAP system with the token that comes back. It stops at the login: the maintainer describes it as the minimum needed to access an ABAP repository, so the calls a developer tool would make afterwards are not in it."},"links":{"npm":"https://www.npmjs.com/package/abap_cloud_platform","repo":"https://github.com/marcellourbani/abap_cloud_platform"},"identity":{"author":"Marcello Urbani","license":"MIT"},"source_available":true,"compat":{"runtimes":["node"]},"provides":[{"capability":"capability:authentication","what_it_does":"Turns a Cloud Foundry username and password into a token, finds the ABAP service instance and reads the SAP_ADT service key it holds, then runs an OAuth code grant in a browser window so a caller outside the system holds a token for the ABAP system itself.","sources":[{"url":"https://github.com/marcellourbani/abap_cloud_platform","title":"marcellourbani/abap_cloud_platform — README","checked":"2026-09-19","quote":"The minimum cloud foundry/SAP cloud platform APIs required to access an ABAP repository."},{"url":"https://github.com/marcellourbani/abap_cloud_platform","title":"marcellourbani/abap_cloud_platform — README","checked":"2026-09-19","quote":"a single key named SAP_ADT, usually used by Eclipse"},{"url":"https://github.com/marcellourbani/abap_cloud_platform","title":"marcellourbani/abap_cloud_platform — README","checked":"2026-09-19","quote":"code token This will open a browser window where the user can login."}]}],"maintainers":["actor:marcellourbani"],"provenance":{"discovered_via":[{"source":"source:github-orgs","channel":"marcellourbani"}],"first_seen":"2026-09-19"},"drafted_with_ai":true,"contributors":["actor:larshp","actor:marcellourbani"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"poor","evidence":"19 months since release"},{"label":"Continuity","tier":"fair","evidence":"2 contributors, 1 publisher"},{"label":"Repository","tier":"poor","evidence":"pushed 2025-03, not archived"}],"compatibility":[{"label":"Declared for","tier":"unknown","evidence":"no BTP release lines in the atlas"},{"label":"Survived majors","tier":"unknown","evidence":"no BTP release lines in the atlas"},{"label":"Maintainer's CI","tier":"fair","evidence":"no CI configured"}],"practice":[{"label":"Tests","tier":"good","evidence":"1 test file, npm test"},{"label":"Docs","tier":"fair","evidence":"README 2 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":134,"unit":"installs/week"},{"value":5,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-25","latest_version":"1.1.4","majors":{"1":{"version":"1.0.0","date":"2020-03-19"}},"license":"MIT","first_release":"2020-03-19","last_release":"2025-03-30","releases":8,"cadence_days":5,"maintainers":1,"repository":"git+https://github.com/marcellourbani/abap_cloud_platform.git","repository_directory":null,"peer_cds":null,"dependencies":5,"node_engine":null,"test_script":true,"types":true,"downloads_weekly":134,"downloads_monthly":326,"stars":5,"forks":4,"open_issues":0,"archived":false,"pushed_at":"2025-03-30","license_spdx":"MIT","org_owned":false,"default_branch":"master","created_at":"2020-03-18T07:41:54Z","open_prs":0,"tree_truncated":false,"test_files":1,"workflows":0,"other_ci":false,"readme_bytes":2463,"docs_files":0,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2020-03-18","last_commit":"2025-03-30","commits":28,"contributors":2,"readme_path":"README.md","readme_sha":"81d3a3de08fa21ea9f45189fb4c9a0d0f80a4f37","months_since_release":19,"dormant":true,"repo_read":"2026-10-25"},"release_notes":{"license":"MIT","quotable":true,"versions":[{"version":"1.1.4","date":"2025-03-30"},{"version":"1.1.3","date":"2022-08-24"},{"version":"1.1.2","date":"2020-11-01"},{"version":"1.1.1","date":"2020-10-27"},{"version":"1.1.0","date":"2020-10-27"},{"version":"1.0.2","date":"2020-03-22"},{"version":"1.0.1","date":"2020-03-22"},{"version":"1.0.0","date":"2020-03-19"}],"crawled_at":"2026-10-25"},"edges":{"maintainers":[{"ref":"actor:marcellourbani","name":"Marcello Urbani","json":"/actors/marcellourbani.json"}],"contributors":[{"ref":"actor:larshp","name":"Lars Hvam","json":"/actors/larshp.json"},{"ref":"actor:marcellourbani","name":"Marcello Urbani","json":"/actors/marcellourbani.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}