{"ref":"artifact:abap2ui5-vscode-extension","page":"/artifacts/abap2ui5-vscode-extension","json":"/artifacts/abap2ui5-vscode-extension.json","generated":"2026-10-27","drafted_with_ai":true,"entity":{"id":"abap2ui5-vscode-extension","name":"abap2UI5 for VS Code","artifact_type":"ide-extension","ecosystem":"abap","domain":"developer-experience","secondary_domains":["ai-and-agents"],"origin_ring":"community-org","use_as":"dependency","description":{"one_line":"A VS Code extension for [abap2UI5](artifact:abap2ui5-abap2ui5) apps: F9 starts the app class in a preview beside the source, Ctrl+F3 activates the class and reloads it, and the abap2UI5 linter runs in the editor while you type.","short":"VS Code extension to preview, activate and lint abap2UI5 apps","what_it_solves":"Developing an [abap2UI5](artifact:abap2ui5-abap2ui5) app the plain way means three windows: the editor with the class, a browser with the app, and the activation step between them. This extension puts the app in an editor tab beside the source — F9 launches the class through a local auth proxy that attaches the stored SAP credentials to every request, Ctrl+F3 activates and reloads, and an activation done elsewhere is noticed through the class's ADT metadata on the server. The [abap2UI5 linter](https://github.com/abap2UI5/linter)'s property gate runs in process while you type, so a control the targeted UI5 release does not have is a squiggle rather than a blank screen, with quick fixes, waivers the project's CI run honours and a findings view grouped by rule; completion and hover answer for the UI5 API inside the builder chain and for the binding paths the class's own model has. *Preview View (No System)* and *Run Unit Tests (No System)* work with no system at all, and the language half runs in vscode.dev, github.dev and browser-based [SAP Business Application Studio](artifact:btp-business-application-studio). Beside the editor features it registers the project's MCP server for every MCP client in the window and hosts a second server of its own for the configured systems, the credentials and the proxy.","when_not_to_use":"The embedded preview needs a system that accepts basic auth: the documentation states that pure SSO or SAML without a basic-auth fallback is not supported, and points at `external` mode, which opens the app in the normal browser with the existing SAP session. On the web only the language half runs; the preview with its proxy, traffic log and screenshot, Ctrl+F3 activation, the render gate, the workspace-wide check and the MCP servers are desktop-only. The agent app tools send nothing until `abap2ui5.agent.enableAppTools` is switched on in User settings, because an event they fire runs as the configured user and changes data on the system for real.","to_build_on_it":"The repository builds with `npm install` and `npm run compile`, runs in an Extension Development Host from F5, and `npm run vsix` packages the `.vsix` that every push also builds in CI. The snapshot code behind the agent app tools is vendored from the project's MCP server at a recorded commit, and `npm run agent-vendor:check` fails when the copies drift from it."},"links":{"repo":"https://github.com/abap2UI5/vscode-extension","docs":"https://abap2ui5.github.io/docs/advanced/vscode.html"},"compat":{"runtimes":["node"]},"type_properties":{"installs_into":{"value":["vs-code"],"sources":[{"url":"https://github.com/abap2UI5/vscode-extension","title":"abap2UI5 for VS Code — README","checked":"2026-10-18","quote":"# abap2UI5 for VS Code"}]},"distribution":{"value":["vs-marketplace"],"sources":[{"url":"https://github.com/abap2UI5/vscode-extension","title":"abap2UI5 for VS Code — README","checked":"2026-10-18","quote":"[VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=abap2ui5.abap2ui5)"}]}},"part_of":{"ref":"artifact:abap2ui5-abap2ui5","sources":[{"url":"https://abap2ui5.github.io/docs/advanced/tooling.html","title":"abap2UI5 — Tooling","checked":"2026-10-17","quote":"Every one of them is a repository of its own under abap2UI5 on GitHub and installs with one command."}]},"provides":[{"capability":"capability:editor-support","what_it_does":"Brings the abap2UI5 loop into the editor: F9 runs the app class in a preview beside the source, the static view check puts findings in the Problems panel while you type, completion and hover cover the UI5 API and the class's binding paths, and Format Document, Emmet-style abbreviations, Extract to View Method and Convert XML View to Builder Chain work on the builder chain. *Preview View (No System)* renders the view without a system or an activation.","sources":[{"url":"https://github.com/abap2ui5/vscode-extension","title":"abap2UI5/vscode-extension — README","checked":"2026-10-17","quote":"**F9 runs the app** next to the source, and the cursor stays where it was."},{"url":"https://github.com/abap2ui5/vscode-extension","title":"abap2UI5/vscode-extension — README","checked":"2026-10-17","quote":"**Static view checks while you type** — the linter's property gate in process, the abap2UI5 rules with it, the render gate on demand."},{"url":"https://github.com/abap2ui5/vscode-extension","title":"abap2UI5/vscode-extension — README","checked":"2026-10-17","quote":"**The whole UI5 API in completion and hover**, plus the binding paths your class's model actually has, and the `client->` API with its ABAP signature."},{"url":"https://github.com/abap2ui5/vscode-extension","title":"abap2UI5/vscode-extension — README","checked":"2026-10-17","quote":"**Write the view faster**: Format Document repairs a chain's indentation, Emmet-style abbreviations expand into one, Extract to View Method splits a long one, and *Convert XML View to Builder Chain* turns a demo kit sample into ABAP."},{"url":"https://github.com/abap2ui5/vscode-extension","title":"abap2UI5/vscode-extension — README","checked":"2026-10-17","quote":"**See the view without a system** — *Preview View (No System)* renders what the class builds, with a device matrix and a compare-with-HEAD mode."}]},{"capability":"capability:agent-systems-access","what_it_does":"Hosts an MCP server of its own, beside the project's systemless one, whose tools reach the SAP systems configured in the editor: `list_systems`, `search_apps` for class names from the ADT quick search, `run_app_on_system` for a headless screenshot of the app on the real system, and four app tools that fill fields and fire events over the abap2UI5 JSON protocol, each answer a snapshot of the screen. The app tools run as the configured user and stay off until they are allowed in User settings.","sources":[{"url":"https://github.com/abap2ui5/vscode-extension","title":"abap2UI5/vscode-extension — README","checked":"2026-10-17","quote":"plus a second, in-extension server holding what only the extension has — the configured systems, the credentials and the proxy (`list_systems`, `search_apps`, `run_app_on_system`)"},{"url":"https://github.com/abap2ui5/vscode-extension","title":"abap2UI5/vscode-extension — README, Agent app tools on the system","checked":"2026-10-17","quote":"The **abap2UI5 System** MCP server offers four tools that operate an abap2UI5 app *semantically* on the active SAP system: an agent fills fields by model path or label and fires events by name, over the same JSON protocol the browser frontend speaks - no browser, no CSS selector, no screenshot."},{"url":"https://github.com/abap2ui5/vscode-extension","title":"abap2UI5/vscode-extension — README, Agent app tools on the system","checked":"2026-10-17","quote":"**They act for real, as the configured user.** An event may save, post or delete data."}]},{"capability":"capability:agent-guidance","what_it_does":"*Add Agent Setup to Workspace* writes the agent-ready files of the project's app-template into an existing project from a copy bundled with the extension: `AGENTS.md` and `CLAUDE.md`, `.claude/settings.json` with four skills, `.mcp.json`, the two linter configurations and a check workflow. A file that is already there is left alone, and `package.json` and `.gitignore` are merged.","sources":[{"url":"https://raw.githubusercontent.com/abap2UI5/vscode-extension/main/media/walkthrough/agentsetup.md","title":"abap2UI5/vscode-extension — Make your repository agent-ready","checked":"2026-10-17","quote":"`AGENTS.md` - the app-building reference an agent reads first - and `CLAUDE.md`"},{"url":"https://raw.githubusercontent.com/abap2UI5/vscode-extension/main/media/walkthrough/agentsetup.md","title":"abap2UI5/vscode-extension — Make your repository agent-ready","checked":"2026-10-17","quote":"A file you already have is left as it is. `package.json` and `.gitignore` are **merged**: missing scripts, devDependencies and patterns are added, yours keep their values."}],"facets":[{"key":"installs_into","value":["Claude Code"],"source":{"url":"https://raw.githubusercontent.com/abap2UI5/vscode-extension/main/media/walkthrough/agentsetup.md","title":"abap2UI5/vscode-extension — Make your repository agent-ready","checked":"2026-10-17","quote":"`.claude/settings.json` and the four skills (`build-an-app`, `view-chain-layout`, `abap-check`, `ui5-check`), `.mcp.json`"}}]}],"requires":[{"ref":"artifact:abap2ui5-abap2ui5","requirement":"required","basis":"binding","role":"framework","for":"the apps it develops: F9 launches an app class against a system running abap2UI5, and the view checks and the systemless preview work on the view that class's builder chain produces","sources":[{"url":"https://github.com/abap2ui5/vscode-extension","title":"abap2UI5/vscode-extension — README","checked":"2026-10-17","quote":"Works with any system running abap2UI5 (on-premise or cloud). The only thing tying the extension to a system is the launch URL you configure once."}]},{"ref":"artifact:marcellourbani-vscode-abap-remote-fs","requirement":"conditional","basis":"binding","role":"abap-connection","condition":"the parts that talk to a system are used","for":"the connection to the system: it opens the ABAP objects and is what the activation step hands over to","sources":[{"url":"https://abap2ui5.github.io/docs/advanced/tooling.html","title":"abap2UI5 — Tooling","checked":"2026-10-17","quote":"The parts that talk to a system need the ABAP remote filesystem extension for the connection."},{"url":"https://abap2ui5.github.io/docs/advanced/vscode.html","title":"abap2UI5 — VS Code Extension","checked":"2026-10-17","quote":"the ABAP remote filesystem extension is what opens ABAP objects from the system and what the activation step hands over to"}]}],"connects":[{"ref":"artifact:abap2ui5-abap2ui5","kind":"data","direction":"outbound","for":"launching the app and every event roundtrip: the preview's local auth proxy and the agent app tools post to the abap2UI5 endpoint the launch URL names, with the stored SAP credentials attached","sources":[{"url":"https://github.com/abap2ui5/vscode-extension","title":"abap2UI5/vscode-extension — README, Agent app tools on the system","checked":"2026-10-17","quote":"**The launch URL** must carry the class as a query parameter (`…/sap/bc/z2ui5?app_start={class}&sap-client=100`): the tools post to that endpoint without the class, as the browser posts to its own page."},{"url":"https://abap2ui5.github.io/docs/advanced/vscode.html","title":"abap2UI5 — VS Code Extension, Why there is a local proxy","checked":"2026-10-17","quote":"it asks once for your SAP user and password (the same ones you use in ADT, kept in VS Code's SecretStorage), attaches them to every request, and rewrites Origin and Referer so origin-validating CSRF checks accept the app's POSTs"}]},{"ref":"artifact:sap-adt","kind":"data","direction":"outbound","for":"noticing an activation and finding apps: it watches the class's ADT metadata on the server, and `search_apps` reads class names from the ADT quick search","sources":[{"url":"https://abap2ui5.github.io/docs/advanced/vscode.html","title":"abap2UI5 — VS Code Extension, Reload on activation","checked":"2026-10-17","quote":"the extension watches the class's ADT metadata on the server and reloads as soon as it is active again"},{"url":"https://github.com/abap2ui5/vscode-extension","title":"abap2UI5/vscode-extension — README, Agent app tools on the system","checked":"2026-10-17","quote":"Class names on the system, from the ADT quick search"}]}],"interfaces":[{"key":"abap2ui5-system-mcp","kind":"tool","protocol":"mcp","direction":"in","for":"the abap2UI5 System server the extension hosts itself: the configured systems, class search, running an app on the active system, and the four app tools that operate it","sources":[{"url":"https://github.com/abap2ui5/vscode-extension","title":"abap2UI5/vscode-extension — README, Agent app tools on the system","checked":"2026-10-17","quote":"The **abap2UI5 System** MCP server offers four tools that operate an abap2UI5 app *semantically* on the active SAP system: an agent fills fields by model path or label and fires events by name, over the same JSON protocol the browser frontend speaks - no browser, no CSS selector, no screenshot."}]}],"maintainers":["actor:abap2ui5","actor:oblomov-dev"],"provenance":{"discovered_via":[{"source":"source:github"}],"first_seen":"2026-10-17"},"drafted_with_ai":true,"contributors":["actor:oblomov-dev"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"good","evidence":"4 contributors, org-owned"},{"label":"Repository","tier":"good","evidence":"pushed 2026-10, not archived"}],"compatibility":[{"label":"Declared for","tier":"fair","evidence":"nothing declared"},{"label":"Survived majors","tier":"unknown","evidence":"not read on ABAP: its lines run side by side"},{"label":"Maintainer's CI","tier":"good","evidence":"CI green, 2026-10-22"}],"practice":[{"label":"Tests","tier":"good","evidence":"102 test files"},{"label":"Docs","tier":"good","evidence":"docs site, README 26 KB"},{"label":"Changelog","tier":"good","evidence":"CHANGELOG in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":2,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-24","npm":"not published under this name","stars":2,"forks":0,"open_issues":0,"archived":false,"pushed_at":"2026-10-22","license_spdx":"MIT","org_owned":true,"default_branch":"main","created_at":"2026-07-27T21:25:33Z","open_prs":0,"tree_truncated":false,"test_files":102,"workflows":7,"other_ci":false,"readme_bytes":26775,"docs_files":0,"changelog":true,"license_file":true,"dts_files":3,"first_commit":"2026-07-27","last_commit":"2026-10-22","commits":244,"contributors":4,"ci_status":"success","ci_run_at":"2026-10-22","ci_workflow":"CI","ci_event":"push","readme_path":"README.md","readme_sha":"8f1190859166dea67ebfb96e662e18d76656298f","repo_read":"2026-10-24"},"release_notes":{"license":"MIT","quotable":true,"source":{"kind":"repo","path":"CHANGELOG.md","ref":"main","url":"https://github.com/abap2UI5/vscode-extension/blob/main/CHANGELOG.md"},"format":"headings","releases":[{"version":"0.31.0","heading":"0.31.0","url":"https://github.com/abap2UI5/vscode-extension/blob/main/CHANGELOG.md#0310","sections":[{"kind":"other","heading":null,"items":22}],"hash":"11753fe38dd48fb0"},{"version":"0.30.1","heading":"0.30.1","url":"https://github.com/abap2UI5/vscode-extension/blob/main/CHANGELOG.md#0301","sections":[{"kind":"other","heading":null,"items":5}],"hash":"e5078dfa45c1b97b"},{"version":"0.30.0","heading":"0.30.0","url":"https://github.com/abap2UI5/vscode-extension/blob/main/CHANGELOG.md#0300","sections":[{"kind":"other","heading":null,"items":14}],"hash":"7f95719f704b9398"},{"version":"0.29.0","heading":"0.29.0","url":"https://github.com/abap2UI5/vscode-extension/blob/main/CHANGELOG.md#0290","sections":[{"kind":"other","heading":null,"items":8}],"hash":"644320959c3b26d1"},{"version":"0.28.0","heading":"0.28.0","url":"https://github.com/abap2UI5/vscode-extension/blob/main/CHANGELOG.md#0280","sections":[{"kind":"other","heading":null,"items":44}],"hash":"829e42c5da632f04"},{"version":"0.27.1","heading":"0.27.1","url":"https://github.com/abap2UI5/vscode-extension/blob/main/CHANGELOG.md#0271","sections":[{"kind":"other","heading":null,"items":3}],"hash":"ad615dfaeaf48c83"},{"version":"0.27.0","heading":"0.27.0","url":"https://github.com/abap2UI5/vscode-extension/blob/main/CHANGELOG.md#0270","sections":[{"kind":"other","heading":null,"items":8}],"hash":"d2f67e804a4d788e"},{"version":"0.26.0","heading":"0.26.0","url":"https://github.com/abap2UI5/vscode-extension/blob/main/CHANGELOG.md#0260","sections":[{"kind":"other","heading":null,"items":11}],"hash":"6ebd0d38c4087b6a"},{"version":"0.25.1","heading":"0.25.1","url":"https://github.com/abap2UI5/vscode-extension/blob/main/CHANGELOG.md#0251","sections":[{"kind":"other","heading":null,"items":7}],"hash":"c7fb816d5596e0bf"},{"version":"0.25.0","heading":"0.25.0","url":"https://github.com/abap2UI5/vscode-extension/blob/main/CHANGELOG.md#0250","sections":[{"kind":"other","heading":null,"items":35}],"hash":"5e9daed8cd33abab"},{"version":"0.24.4","heading":"0.24.4","url":"https://github.com/abap2UI5/vscode-extension/blob/main/CHANGELOG.md#0244","sections":[{"kind":"other","heading":null,"items":2}],"hash":"9816921cbd463016"},{"version":"0.24.3","heading":"0.24.3","url":"https://github.com/abap2UI5/vscode-extension/blob/main/CHANGELOG.md#0243","sections":[{"kind":"other","heading":null,"items":1}],"hash":"15d73e3e6f722b6d"},{"version":"0.24.2","heading":"0.24.2","url":"https://github.com/abap2UI5/vscode-extension/blob/main/CHANGELOG.md#0242","sections":[{"kind":"other","heading":null,"items":2}],"hash":"fe0111629832f94e"},{"version":"0.24.1","heading":"0.24.1","url":"https://github.com/abap2UI5/vscode-extension/blob/main/CHANGELOG.md#0241","sections":[{"kind":"other","heading":null,"items":2}],"hash":"963a95f979b92088"},{"version":"0.24.0","heading":"0.24.0","url":"https://github.com/abap2UI5/vscode-extension/blob/main/CHANGELOG.md#0240","sections":[{"kind":"other","heading":null,"items":13}],"hash":"5f918d00bb8a1ad8"},{"version":"0.23.0","heading":"0.23.0","url":"https://github.com/abap2UI5/vscode-extension/blob/main/CHANGELOG.md#0230","sections":[{"kind":"other","heading":null,"items":24}],"hash":"44df61b363aa5f60"},{"version":"0.22.0","heading":"0.22.0","url":"https://github.com/abap2UI5/vscode-extension/blob/main/CHANGELOG.md#0220","sections":[{"kind":"other","heading":null,"items":1}],"hash":"9585e9db1871deaf"},{"version":"0.21.0","heading":"0.21.0","url":"https://github.com/abap2UI5/vscode-extension/blob/main/CHANGELOG.md#0210","sections":[{"kind":"other","heading":null,"items":10}],"hash":"377ae20406a2702a"},{"version":"0.20.0","heading":"0.20.0","url":"https://github.com/abap2UI5/vscode-extension/blob/main/CHANGELOG.md#0200","sections":[{"kind":"other","heading":null,"items":12}],"hash":"e1de69c044261f32"},{"version":"0.19.0","heading":"0.19.0","url":"https://github.com/abap2UI5/vscode-extension/blob/main/CHANGELOG.md#0190","sections":[{"kind":"other","heading":null,"items":8}],"hash":"73db15f4ea1a9fbf"},{"version":"0.18.0","heading":"0.18.0","url":"https://github.com/abap2UI5/vscode-extension/blob/main/CHANGELOG.md#0180","sections":[{"kind":"other","heading":null,"items":10}],"hash":"3503599c2445a4b7"},{"version":"0.17.0","heading":"0.17.0","url":"https://github.com/abap2UI5/vscode-extension/blob/main/CHANGELOG.md#0170","sections":[{"kind":"other","heading":null,"items":3}],"hash":"34deffd251ca6537"},{"version":"0.16.0","heading":"0.16.0","url":"https://github.com/abap2UI5/vscode-extension/blob/main/CHANGELOG.md#0160","sections":[{"kind":"other","heading":null,"items":3}],"hash":"ca5fe9cb60a5f50a"},{"version":"0.15.0","heading":"0.15.0","url":"https://github.com/abap2UI5/vscode-extension/blob/main/CHANGELOG.md#0150","sections":[{"kind":"other","heading":null,"items":2}],"hash":"414f5381167a13f4"},{"version":"0.14.0","heading":"0.14.0","url":"https://github.com/abap2UI5/vscode-extension/blob/main/CHANGELOG.md#0140","sections":[{"kind":"other","heading":null,"items":20}],"hash":"7b86c2750a7bf09b"},{"version":"0.13.0","heading":"0.13.0","url":"https://github.com/abap2UI5/vscode-extension/blob/main/CHANGELOG.md#0130","sections":[{"kind":"other","heading":null,"items":4}],"hash":"27effed066a35b34"},{"version":"0.11.0","heading":"0.11.0","url":"https://github.com/abap2UI5/vscode-extension/blob/main/CHANGELOG.md#0110","sections":[{"kind":"other","heading":null,"items":8}],"hash":"a63cb25132aba983"},{"version":"0.10.0","heading":"0.10.0","url":"https://github.com/abap2UI5/vscode-extension/blob/main/CHANGELOG.md#0100","sections":[{"kind":"other","heading":null,"items":3}],"hash":"cb29da0b7d940784"},{"version":"0.9.3","heading":"0.9.3","url":"https://github.com/abap2UI5/vscode-extension/blob/main/CHANGELOG.md#093","sections":[{"kind":"other","heading":null,"items":4}],"hash":"ad5e76195697d5e4"},{"version":"0.9.1","heading":"0.9.1","url":"https://github.com/abap2UI5/vscode-extension/blob/main/CHANGELOG.md#091","sections":[{"kind":"other","heading":null,"items":4}],"hash":"4c17cc2039b2864d"},{"version":"0.9.0","heading":"0.9.0","url":"https://github.com/abap2UI5/vscode-extension/blob/main/CHANGELOG.md#090","sections":[{"kind":"other","heading":null,"items":3}],"hash":"9cb337fab8ac3bb5"},{"version":"0.8.0","heading":"0.8.0","url":"https://github.com/abap2UI5/vscode-extension/blob/main/CHANGELOG.md#080","sections":[{"kind":"other","heading":null,"items":11}],"hash":"03839e5e80bb1848"},{"version":"0.7.0","heading":"0.7.0","url":"https://github.com/abap2UI5/vscode-extension/blob/main/CHANGELOG.md#070","sections":[{"kind":"other","heading":null,"items":2}],"hash":"e5453816db4799ec"},{"version":"0.6.0","heading":"0.6.0","url":"https://github.com/abap2UI5/vscode-extension/blob/main/CHANGELOG.md#060","sections":[{"kind":"other","heading":null,"items":3}],"hash":"9241ad3033062c49"},{"version":"0.5.0","heading":"0.5.0","url":"https://github.com/abap2UI5/vscode-extension/blob/main/CHANGELOG.md#050","sections":[{"kind":"other","heading":null,"items":1}],"hash":"3e6c15ad25fd835e"},{"version":"0.4.2","heading":"0.4.2","url":"https://github.com/abap2UI5/vscode-extension/blob/main/CHANGELOG.md#042","sections":[{"kind":"other","heading":null,"items":1}],"hash":"c5e8acf3c1a291f1"},{"version":"0.4.1","heading":"0.4.1","url":"https://github.com/abap2UI5/vscode-extension/blob/main/CHANGELOG.md#041","sections":[{"kind":"other","heading":null,"items":1}],"hash":"218f1f338ab4499a"},{"version":"0.4.0","heading":"0.4.0","url":"https://github.com/abap2UI5/vscode-extension/blob/main/CHANGELOG.md#040","sections":[{"kind":"other","heading":null,"items":1}],"hash":"2e89be8a522f762a"},{"version":"0.3.1","heading":"0.3.1","url":"https://github.com/abap2UI5/vscode-extension/blob/main/CHANGELOG.md#031","sections":[{"kind":"other","heading":null,"items":1}],"hash":"425fc34e2d084200"},{"version":"0.3.0","heading":"0.3.0","url":"https://github.com/abap2UI5/vscode-extension/blob/main/CHANGELOG.md#030","sections":[{"kind":"other","heading":null,"items":5}],"hash":"545299e7300b5d13"},{"version":"0.2.0","heading":"0.2.0","url":"https://github.com/abap2UI5/vscode-extension/blob/main/CHANGELOG.md#020","sections":[{"kind":"other","heading":null,"items":2}],"hash":"90dac9067f9d84cc"},{"version":"0.1.0","heading":"0.1.0","url":"https://github.com/abap2UI5/vscode-extension/blob/main/CHANGELOG.md#010","sections":[{"kind":"other","heading":null,"items":4}],"hash":"9db43e524a884b64"},{"version":"0.0.1","heading":"0.0.1","url":"https://github.com/abap2UI5/vscode-extension/blob/main/CHANGELOG.md#001","sections":[{"kind":"other","heading":null,"items":4}],"hash":"2d8cb4b47b8db560"}],"crawled_at":"2026-10-25"},"edges":{"maintainers":[{"ref":"actor:abap2ui5","name":"abap2UI5","json":"/actors/abap2ui5.json"},{"ref":"actor:oblomov-dev","name":"oblomov-dev","json":"/actors/oblomov-dev.json"}],"contributors":[{"ref":"actor:oblomov-dev","name":"oblomov-dev","json":"/actors/oblomov-dev.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"part_of":{"ref":"artifact:abap2ui5-abap2ui5","name":"abap2UI5","json":"/artifacts/abap2ui5-abap2ui5.json"},"parts":[],"add_on_to":{"ref":"artifact:abap2ui5-abap2ui5","name":"abap2UI5","json":"/artifacts/abap2ui5-abap2ui5.json"},"add_ons":[],"answered_through_parts":[]}}