Skip to main content

@abapify/adk

Facade over @abapify/adt-client that exposes stable, object-oriented ABAP interfaces (AdkClass, AdkInterface, AdkPackage, AdkFunctionGroup, AdkFunctionModule, …). Handles the save/lock/ETag orchestration documented in the package AGENTS.md and delegates locking to @abapify/adt-locks.

Install

bun add @abapify/adk

Public API

// Base
export type { AbapObject } from '@abapify/adk';
export type { AdkContext } from '@abapify/adk';
export type { LockRegistry, LockEntry } from '@abapify/adk';
export {
AdkObject,
AdkMainObject,
type LockHandle,
type SaveOptions,
type ActivationResult,
type AtomLink,
type AdtObjectReference,
type AdkObjectData,
type AdkMainObjectData,
} from '@abapify/adk';

// Bulk operations
export {
AdkObjectSet,
type BulkSaveResult,
type BulkSaveOptions,
type BulkActivateOptions,
} from '@abapify/adk';

// Lock integration
export {
createLockService,
type LockStore,
type LockService,
} from '@abapify/adk';

// Factory
export { createAdk, initializeAdk } from '@abapify/adk';

// Concrete object types (non-exhaustive — see src/index.ts)
// AdkClass, AdkInterface, AdkPackage, AdkFunctionGroup, AdkFunctionModule, …

See packages/adk/src/index.ts for the authoritative list.

Usage

import { createAdtClient } from '@abapify/adt-client';
import { createAdk } from '@abapify/adk';

const client = createAdtClient({ baseUrl, username, password, client: '100' });
const adk = createAdk(client);

const pkg = await adk.getPackage('ZABAPGIT_EXAMPLES');
const klass = await adk.getClass('ZCL_DEMO');
await klass.save({ transport: 'DEVK900001' });

Dependencies

See also