The authoring lifecycle (modern ABAP-Cloud / RAP types; classic types throw a clear error).
Activate via native activation/activate (per-phase flags + refresh URIs; optional
forceActivation). success:false with structured diagnostics on failure.
Create an object. transportRequestNumber is '' for $TMP/local packages.
Run a RAP generator → a full object set (table/CDS/BDEF/SRVD/SRVB).
Full creation form contract — each field's value-help target types, name regex, label,
required — parsed from the native UI model (richer than getObjectTypeDetails).
Optionalopts: { name?: string }The JSON input schema a generator's content must satisfy.
Optionalopts: {Creation details (flat MCP field list) for one object type, e.g. "CLAS/OC".
Optionalopts: { name?: string }List the object types creatable on this system (ABAP-Cloud / RAP catalog).
List the available RAP generators (feed an id to generate / getGeneratorSchema).
Resolve {name, objectType} → repotree AFF URI (search → getLsUri).
Update an object's source (optionally a specific include).
Validate creation input before create (read-only verdict).
LSP code-intelligence (symbols, definition, references, type-hierarchy, hover, completion, syntax check).
Quality: ATC static analysis + ABAP Unit code coverage.
Escape hatches for the long tail (ADR-0002).
Raw LSP / adtLs/* request.
Optionalparams: unknownRaw call to a tool on adt-ls's own MCP server (e.g. a backend-dynamic tool).
Optionalargs: Record<string, unknown>Repository queries + file operations + the name→URI resolver.
Delete by AFF URI (use the .json metadata URI for objects).
Resolve an ADT object path to the canonical repotree AFF URI used by file ops.
List user master records visible to the logged-on user.
List inactive (draft) objects on the connected destination.
Read an AFF file's content by repotree URI.
Search ABAP repository objects by name pattern (e.g. "CL_ABAP*"), optionally filtered by ADT type. cold retries the cold-index window.
Optionalopts: { cold?: boolean; maxResults?: number; types?: string[] }Write an AFF file (plain multi-line source) by repotree URI.
Runtime + business services: run a console app, service-binding details/publish.
Read object source by name.
CTS transport + lock operations.
Assign an existing transport to an object.
Transport decision oracle: does this op need a transport, which are assignable, is it
locked? (isRecordingRequired:false for $TMP/local.) operation defaults to MODIFY.
Create a CTS transport request (refuses local $-packages).
Object-scoped transport lookup (read-only).
Read an object's lock status.
List your modifiable transports (capped + filterable).
Optionalopts: { limit?: number; query?: string }Shut down: stop the keep-alive, kill adt-ls, close the proxy, and clean temp dirs.
Connection + liveness snapshot.
List the ABAP destinations adt-ls knows (works without a connected destination).
Force a SAP re-logon; true when the session is live afterwards (also auto-heals on dead-session detection).
The unified adt-ls client returned by createAdtLs. One coherent surface over both adt-ls channels (LSP + adt-ls's own MCP) — the channel split is hidden. Always call dispose() when finished.