@jalsoedesign/dockline-abstract
v1.0.0
Published
Shared contracts, errors and transfer utilities for Dockline protocol clients
Readme
@jalsoedesign/dockline-abstract
Shared contracts and transfer tools for Dockline. This package contains no FTP or SSH transport implementation and does not require core or either client.
Use it for adapter/configuration types, shared errors, retry and deadline policy, progress, bandwidth budgets, optional byte limits, publication/checksum/copy/walk helpers and connection pools. Core re-exports this generic API for SDK users.
Installation
For a source build, follow the compiler guide.
After publication, the registry command will be:
npm install @jalsoedesign/dockline-abstractValidate configuration without loading a client
import {validateTransferConfig, type FtpTransferConfig} from '@jalsoedesign/dockline-abstract';
const configuration: FtpTransferConfig = {
protocol: 'ftps',
host: 'ftp.example.com',
username: 'deploy',
root: '/uploads',
};
const defaults = validateTransferConfig(configuration);
console.log(defaults.port, defaults.root);This validates common configuration and resolves the default port/root without making a connection. TransferAdapter describes the common storage, lifecycle and advanced transfer interface for client implementations. Abstract does not discover or construct protocol clients.
import {BandwidthBudget, ConnectorError, type TransferAdapter} from '@jalsoedesign/dockline-abstract';
const bandwidth = new BandwidthBudget({bytesPerSecond: 2_000_000});Transfer size is unlimited unless a connection or call explicitly supplies maxBytes. Shared errors retain one runtime identity when clients resolve the same abstract installation. Pooling and transfer helpers operate on a caller-supplied adapter; unsupported guarantees remain explicit.
See packages, API, advanced transfers and connection pools.
