{"ref":"artifact:arc-mcp-arc1-abap-bridge","page":"/artifacts/arc-mcp-arc1-abap-bridge","json":"/artifacts/arc-mcp-arc1-abap-bridge.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"arc-mcp-arc1-abap-bridge","name":"arc1-abap-bridge","artifact_type":"package","ecosystem":"abap","domain":"developer-experience","secondary_domains":["ai-and-agents"],"origin_ring":"independent","description":{"one_line":"A VS Code extension between [arc-1](artifact:arc-mcp-arc-1) and [ABAP Development Tools for VS Code](artifact:sap-adt-vscode), so [GitHub Copilot](external:github-copilot) can open an ABAP object by name, diff the inactive version and ask the system whether an edit would be accepted.","short":"VS Code bridge between arc-1 and ADT for VS Code","what_it_solves":"Copilot already edits ABAP in VS Code, because `sapse.adt-vscode` mounts a writable `abap:` filesystem and an object is a workspace file. Two gaps are what this fills: SAP's extension registers no file search provider, so a name a model mentions cannot be turned into an open editor, and source the system will not accept is refused only at save time. `abapOpen` resolves a name and returns a clickable `vscode://` link, `abapValidate` asks SAP about the current buffer and separates the findings the edit introduced from the ones already there, `abapChanges` diffs the last activated version against the inactive draft with the right side still editable, and one command writes the division-of-labour block into `.github/copilot-instructions.md`. Resolution goes through open editors, persisted caches and the object's package, fetched from ARC-1's `SAPSearch(tadir_lookup)` in one SAP call with no model turn, before falling back to a bounded walk with a fan-out guard, because `findFiles` does not work on `abap:` and the tree-shaped URI cannot be built from a name. It is plain JavaScript with no runtime dependencies, packaged into a `.vsix` from the repository rather than installed from a marketplace.","when_not_to_use":"The diff holds only while the object is inactive, since after activation the previous version is gone and a watched journal directory is what the maintainer points to instead. It adds no write path of its own: the IDE writes through SAP's extension, and the README states arc-1 can stay on `SAP_ALLOW_WRITES=false`. DDIC metadata files are skipped, because SAP's own stub for them says they are not supported in ABAP development tools for VS Code."},"links":{"repo":"https://github.com/arc-mcp/arc1-abap-bridge"},"source_available":true,"provides":[{"capability":"capability:agent-code-access","what_it_does":"Gives an agent working in VS Code the two things SAP's extension does not expose: an object opened by name, and a syntax verdict from the system on the buffer it just edited, before anything is written.","sources":[{"url":"https://raw.githubusercontent.com/arc-mcp/arc1-abap-bridge/main/README.md","title":"arc-mcp/arc1-abap-bridge — README","checked":"2026-09-20","quote":"Which makes the division of labour: **Copilot writes. ARC-1 says whether SAP will accept it.**"},{"url":"https://raw.githubusercontent.com/arc-mcp/arc1-abap-bridge/main/README.md","title":"arc-mcp/arc1-abap-bridge — README","checked":"2026-09-20","quote":"Ask SAP whether the current buffer would be accepted, **before** saving."},{"url":"https://raw.githubusercontent.com/arc-mcp/arc1-abap-bridge/main/README.md","title":"arc-mcp/arc1-abap-bridge — README","checked":"2026-09-20","quote":"Resolve an object name → open it in the real SAP editor. Returns a clickable `vscode://` link."}]}],"requires":[{"ref":"artifact:sap-adt-vscode","requirement":"required","for":"the `abap:` filesystem the extension edits in and the ADT session it is logged on with; every command works on objects that extension exposes","sources":[{"url":"https://raw.githubusercontent.com/arc-mcp/arc1-abap-bridge/main/README.md","title":"arc-mcp/arc1-abap-bridge — README","checked":"2026-09-20","quote":"`SAPSE.adt-vscode`, logged on (`ABAP: Log On to Destination...`)"}]},{"ref":"artifact:arc-mcp-arc-1","requirement":"conditional","condition":"`abapValidate` is used, or the package is looked up through ARC-1 rather than supplied by the caller","for":"the buffer validation and the package lookup, both of which are calls to arc-1 over MCP; the rest of the commands work without it","sources":[{"url":"https://raw.githubusercontent.com/arc-mcp/arc1-abap-bridge/main/README.md","title":"arc-mcp/arc1-abap-bridge — README","checked":"2026-09-20","quote":"ARC-1 as an MCP server — required for `abapValidate` and for fast package lookup"}]}],"maintainers":["actor:arc-mcp"],"provenance":{"discovered_via":[{"source":"source:github","channel":"arc-mcp"}],"first_seen":"2026-09-18"},"drafted_with_ai":true,"contributors":["actor:marianfoo"],"compat":{"abap":{"verified_on":[{"text":"S/4HANA 2023, SAP_BASIS 758","source":{"url":"https://github.com/arc-mcp/arc1-abap-bridge","title":"arc-mcp/arc1-abap-bridge — README","checked":"2026-10-19","quote":"Verified live (a4h, S/4HANA 2023, SAP_BASIS 758; VS Code 1.131)"}}]}}},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"fair","evidence":"1 contributor, org-owned"},{"label":"Repository","tier":"good","evidence":"pushed 2026-08, 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":"fair","evidence":"no CI configured"}],"practice":[{"label":"Tests","tier":"good","evidence":"2 test files"},{"label":"Docs","tier":"good","evidence":"README 9 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":0,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-24","npm":"not published under this name","stars":0,"forks":0,"open_issues":0,"archived":false,"pushed_at":"2026-08-11","license_spdx":"MIT","org_owned":true,"default_branch":"main","created_at":"2026-08-11T09:16:18Z","open_prs":0,"tree_truncated":false,"test_files":2,"workflows":0,"other_ci":false,"readme_bytes":9332,"docs_files":0,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2026-07-31","last_commit":"2026-08-11","commits":20,"contributors":1,"readme_path":"README.md","readme_sha":"dddce91f2203f83b0d71167469f2e1dff72d9f06","repo_read":"2026-10-24"},"edges":{"maintainers":[{"ref":"actor:arc-mcp","name":"ARC MCP","json":"/actors/arc-mcp.json"}],"contributors":[{"ref":"actor:marianfoo","name":"Marian Zeis","json":"/actors/marianfoo.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}