The authoring lifecycle for object types served by the installed runtime/backend.
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.
OptionaladditionalFields?: Record<string, unknown>Type-specific creation fields from getCreationForm; explicit name/package/description win.
OptionaltransportRequestNumber?: stringRun 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. assigned is confirmed by reading the
object's CTS lock back (lockedIn = the request(s) it names afterwards).
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).
One page of unified object differences in a transport (1.1.2+, backend-dependent).
Optionalopts: { cursor?: string; pageSize?: number }Read an object's lock status.
List your modifiable transports (capped + filterable).
Optionalopts: { limit?: number; query?: string }Inspect current LSP providers and all MCP tool schemas (fresh, paginated tools/list).
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.