@cspeach/sap-client
v0.1.9
Published
SAP development client used by CSPeach. Write/activate lifecycle, TLS for self-signed certs, snapshot + audit hooks.
Maintainers
Readme
@cspeach/sap-client
SAP development client with safe write/activate lifecycle. Used by CSPeach — AI-powered ABAP development.
Status: v0.1.0 — first public release on npm (2026-05-13). Proprietary; see LICENSE for terms. Free to use under your active CSPeach plan; not free to redistribute or fork. See DECISIONS.md for the design boundary against
cspeach-cli.
Features
- Full SAP REST coverage: programs, classes, interfaces, CDS views, behavior definitions, service definitions/bindings, tables, message classes, transports.
- Proper lock → PUT → unlock lifecycle with 423 recovery.
- HTTP/1.1 forced, TLS 1.2, X509ExtendedTrustManager — works with self-signed certs and IP literals common in on-prem SAP landscapes.
- Request serialization via a per-connection mutex (prevents cookie/CSRF races).
- Snapshot + audit-log hooks built in; opt into them via the
safety/exports.
Installation
npm install @cspeach/sap-clientUsed internally by @cspeach/cli. Direct dependency only if you're building tooling against SAP REST and want the lock/write/unlock lifecycle.
Requires Node.js 20+.
Quick start
import { SapConnection, AdtClient } from '@cspeach/sap-client';
// Constructor takes 3 positional args: (config, username, password)
const conn = new SapConnection(
{
host: '172.16.24.98',
port: 44300,
client: '100',
useSsl: true,
sslVerify: false,
credentialRef: 'my-sap-alias',
authType: 'basic',
},
'S.LAEEQ',
process.env.SAP_PASSWORD!,
);
const adt = new AdtClient(conn);
// getSource takes (type, name) — type first
const source = await adt.getSource('CLAS', 'ZCL_FOO');
console.log(source);API surface
See the index.ts exports. Core classes:
SapConnection— low-level SAP REST HTTPS transportAdtClient— high-level operations: getSource, setSource, activate, lock, unlock, atcRun, transport management, etc.
Safety modules:
snapshots— take/restore source snapshots before writesauditLog— append-only operation logrollback— restore a named object to a snapshot state
License
Proprietary. Copyright (c) 2026 Cremencing Solutions. All rights reserved. Free to use under your active CSPeach plan; not free to redistribute, fork, or sublicense. Commercial / OEM licensing: [email protected].
