@zero-transfer/sdk 0.4.2 → 0.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -22
- package/dist/index.cjs +724 -46
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.mts +141 -15
- package/dist/index.d.ts +141 -15
- package/dist/index.mjs +714 -38
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -396,7 +396,7 @@ interface TlsProfile {
|
|
|
396
396
|
* hex form with or without colons. When present, the TLS handshake additionally requires the
|
|
397
397
|
* leaf certificate's SHA-256 fingerprint to match one of these values.
|
|
398
398
|
*
|
|
399
|
-
* Not required for normal CA-trusted endpoints
|
|
399
|
+
* Not required for normal CA-trusted endpoints - public CAs and `ca` bundles already gate
|
|
400
400
|
* trust via `rejectUnauthorized`. Pinning is **recommended for production** when you control
|
|
401
401
|
* the server and want defence-in-depth against rogue certificates issued by trusted CAs.
|
|
402
402
|
*
|
|
@@ -1764,7 +1764,7 @@ interface ConnectionPoolOptions {
|
|
|
1764
1764
|
/**
|
|
1765
1765
|
* Maximum number of *idle* sessions retained per pool key.
|
|
1766
1766
|
*
|
|
1767
|
-
* Active leases are not counted against this limit
|
|
1767
|
+
* Active leases are not counted against this limit - the cap only applies
|
|
1768
1768
|
* to sessions waiting in the pool. When more than `maxIdlePerKey` sessions
|
|
1769
1769
|
* become idle simultaneously, the oldest ones are disconnected. Defaults
|
|
1770
1770
|
* to `4`.
|
|
@@ -1823,9 +1823,9 @@ declare function createPooledTransferClient(inner: TransferClient, options?: Con
|
|
|
1823
1823
|
*
|
|
1824
1824
|
* Aggregates the {@link CapabilitySet} advertised by every shipped provider
|
|
1825
1825
|
* factory so applications, docs, and diagnostics can compare features across
|
|
1826
|
-
* providers without instantiating each one. The S3 entry is captured twice
|
|
1826
|
+
* providers without instantiating each one. The S3 entry is captured twice -
|
|
1827
1827
|
* once with the new multipart-by-default configuration and once with
|
|
1828
|
-
* `multipart.enabled: false` for the legacy single-shot variant
|
|
1828
|
+
* `multipart.enabled: false` for the legacy single-shot variant - because
|
|
1829
1829
|
* that flag flips `resumeUpload`.
|
|
1830
1830
|
*
|
|
1831
1831
|
* @module providers/capabilityMatrix
|
|
@@ -2004,6 +2004,25 @@ interface OneDriveProviderOptions {
|
|
|
2004
2004
|
fetch?: HttpFetch;
|
|
2005
2005
|
/** Default headers applied before bearer auth on every request. */
|
|
2006
2006
|
defaultHeaders?: Record<string, string>;
|
|
2007
|
+
/** Resumable upload session tuning. Enabled by default. */
|
|
2008
|
+
multipart?: OneDriveMultipartOptions;
|
|
2009
|
+
}
|
|
2010
|
+
/** Resumable-upload session tuning for the OneDrive provider. */
|
|
2011
|
+
interface OneDriveMultipartOptions {
|
|
2012
|
+
/**
|
|
2013
|
+
* Enable Microsoft Graph upload sessions. **Defaults to `true`** so payloads
|
|
2014
|
+
* above {@link OneDriveMultipartOptions.thresholdBytes} stream in fixed-size
|
|
2015
|
+
* chunks via `createUploadSession` instead of being buffered into a single
|
|
2016
|
+
* `PUT /content`. Set to `false` to force the legacy single-shot behaviour.
|
|
2017
|
+
*/
|
|
2018
|
+
enabled?: boolean;
|
|
2019
|
+
/** Object size threshold above which an upload session is used. Defaults to 4 MiB. */
|
|
2020
|
+
thresholdBytes?: number;
|
|
2021
|
+
/**
|
|
2022
|
+
* Target chunk size in bytes. Must be a multiple of 320 KiB per the Graph
|
|
2023
|
+
* protocol (the final chunk is exempt). Defaults to 10 MiB.
|
|
2024
|
+
*/
|
|
2025
|
+
partSizeBytes?: number;
|
|
2007
2026
|
}
|
|
2008
2027
|
/**
|
|
2009
2028
|
* Creates a OneDrive/SharePoint provider factory backed by Microsoft Graph.
|
|
@@ -2068,6 +2087,22 @@ interface AzureBlobProviderOptions {
|
|
|
2068
2087
|
fetch?: HttpFetch;
|
|
2069
2088
|
/** Default headers applied before bearer auth on every request. */
|
|
2070
2089
|
defaultHeaders?: Record<string, string>;
|
|
2090
|
+
/** Multipart (staged-block) upload tuning. Enabled by default. */
|
|
2091
|
+
multipart?: AzureBlobMultipartOptions;
|
|
2092
|
+
}
|
|
2093
|
+
/** Multipart (staged block) upload tuning for the Azure Blob provider. */
|
|
2094
|
+
interface AzureBlobMultipartOptions {
|
|
2095
|
+
/**
|
|
2096
|
+
* Enable staged-block uploads via `Put Block` + `Put Block List`. **Defaults
|
|
2097
|
+
* to `true`** so payloads above {@link AzureBlobMultipartOptions.thresholdBytes}
|
|
2098
|
+
* stream in fixed-size blocks instead of being buffered into a single PUT.
|
|
2099
|
+
* Set to `false` to force single-shot block-blob PUTs.
|
|
2100
|
+
*/
|
|
2101
|
+
enabled?: boolean;
|
|
2102
|
+
/** Object size threshold above which staged-block upload is used. Defaults to 8 MiB. */
|
|
2103
|
+
thresholdBytes?: number;
|
|
2104
|
+
/** Target block size in bytes. Defaults to 8 MiB. Maximum 4000 MiB per Azure. */
|
|
2105
|
+
partSizeBytes?: number;
|
|
2071
2106
|
}
|
|
2072
2107
|
/**
|
|
2073
2108
|
* Creates an Azure Blob Storage provider factory.
|
|
@@ -2127,12 +2162,32 @@ interface GcsProviderOptions {
|
|
|
2127
2162
|
fetch?: HttpFetch;
|
|
2128
2163
|
/** Default headers applied before bearer auth on every request. */
|
|
2129
2164
|
defaultHeaders?: Record<string, string>;
|
|
2165
|
+
/** Resumable upload session tuning. Enabled by default. */
|
|
2166
|
+
multipart?: GcsMultipartOptions;
|
|
2167
|
+
}
|
|
2168
|
+
/** Resumable-upload session tuning for the GCS provider. */
|
|
2169
|
+
interface GcsMultipartOptions {
|
|
2170
|
+
/**
|
|
2171
|
+
* Enable resumable upload sessions. **Defaults to `true`** so payloads above
|
|
2172
|
+
* {@link GcsMultipartOptions.thresholdBytes} stream in fixed-size chunks via
|
|
2173
|
+
* the resumable session endpoint instead of being buffered into a single
|
|
2174
|
+
* `uploadType=media` POST. Set to `false` to force the legacy single-shot
|
|
2175
|
+
* behaviour.
|
|
2176
|
+
*/
|
|
2177
|
+
enabled?: boolean;
|
|
2178
|
+
/** Object size threshold above which a resumable session is used. Defaults to 8 MiB. */
|
|
2179
|
+
thresholdBytes?: number;
|
|
2180
|
+
/**
|
|
2181
|
+
* Target chunk size in bytes. Must be a multiple of 256 KiB per the GCS
|
|
2182
|
+
* protocol (the final chunk is exempt). Defaults to 8 MiB.
|
|
2183
|
+
*/
|
|
2184
|
+
partSizeBytes?: number;
|
|
2130
2185
|
}
|
|
2131
2186
|
/**
|
|
2132
2187
|
* Creates a Google Cloud Storage provider factory.
|
|
2133
2188
|
*
|
|
2134
2189
|
* Authentication is per-connection: pass a Google OAuth 2 access token via
|
|
2135
|
-
* `profile.password`. `profile.host` is unused
|
|
2190
|
+
* `profile.password`. `profile.host` is unused - the bucket is fixed at
|
|
2136
2191
|
* factory construction time so a single client can target multiple buckets
|
|
2137
2192
|
* by registering separate factories.
|
|
2138
2193
|
*
|
|
@@ -2220,7 +2275,7 @@ interface HttpProviderOptions {
|
|
|
2220
2275
|
/**
|
|
2221
2276
|
* Creates a provider factory backed by HTTP(S) GET/HEAD.
|
|
2222
2277
|
*
|
|
2223
|
-
* Read-only by design
|
|
2278
|
+
* Read-only by design - use it to fetch artifacts from public URLs, signed
|
|
2224
2279
|
* URLs, or HTTP-only artifact servers. Range-based resume is supported when
|
|
2225
2280
|
* the server advertises `Accept-Ranges: bytes`. To upload to an HTTP endpoint,
|
|
2226
2281
|
* use the WebDAV provider, the S3 provider, or a cloud-specific provider.
|
|
@@ -2277,18 +2332,18 @@ interface WebDavProviderOptions {
|
|
|
2277
2332
|
/**
|
|
2278
2333
|
* Streaming policy for `PUT` request bodies.
|
|
2279
2334
|
*
|
|
2280
|
-
* - `"when-known-size"` (default)
|
|
2335
|
+
* - `"when-known-size"` (default) - stream when the caller declares
|
|
2281
2336
|
* `request.totalBytes` (an explicit `Content-Length` is sent so all
|
|
2282
2337
|
* WebDAV servers accept the upload); otherwise buffer the entire body in
|
|
2283
2338
|
* memory before sending. This is the safe default that does not require
|
|
2284
2339
|
* the server to accept HTTP/1.1 chunked transfer-encoding.
|
|
2285
|
-
* - `"always"`
|
|
2340
|
+
* - `"always"` - always stream the body, even when the size is unknown
|
|
2286
2341
|
* (the runtime will use chunked transfer-encoding). Some legacy WebDAV
|
|
2287
2342
|
* servers reject `Transfer-Encoding: chunked` and will respond `411
|
|
2288
2343
|
* Length Required` or `501 Not Implemented`; only enable this for
|
|
2289
2344
|
* servers known to accept chunked uploads (modern Apache/nginx, IIS
|
|
2290
2345
|
* with chunked transfer enabled, Nextcloud, ownCloud, sabre/dav).
|
|
2291
|
-
* - `"never"`
|
|
2346
|
+
* - `"never"` - always buffer (legacy behaviour pre-0.4.0). Use for
|
|
2292
2347
|
* maximum compatibility at the cost of memory.
|
|
2293
2348
|
*/
|
|
2294
2349
|
uploadStreaming?: "when-known-size" | "always" | "never";
|
|
@@ -3362,7 +3417,7 @@ interface SshKeyboardInteractiveCredential {
|
|
|
3362
3417
|
type SshCredential = SshPasswordCredential | SshPublickeyCredential | SshKeyboardInteractiveCredential;
|
|
3363
3418
|
interface SshAuthOptions {
|
|
3364
3419
|
credential: SshCredential;
|
|
3365
|
-
/** SSH session id (exchange hash) from key exchange
|
|
3420
|
+
/** SSH session id (exchange hash) from key exchange - required for publickey signing. */
|
|
3366
3421
|
sessionId: Uint8Array;
|
|
3367
3422
|
/** Maximum number of USERAUTH_FAILURE retries before giving up. Defaults to 4. */
|
|
3368
3423
|
maxAttempts?: number;
|
|
@@ -3604,6 +3659,71 @@ declare class SshDataWriter {
|
|
|
3604
3659
|
private assertByte;
|
|
3605
3660
|
}
|
|
3606
3661
|
|
|
3662
|
+
/**
|
|
3663
|
+
* Options for {@link runSshCommand}.
|
|
3664
|
+
*/
|
|
3665
|
+
interface RunSshCommandOptions {
|
|
3666
|
+
/** Hostname or IP of the SSH server. */
|
|
3667
|
+
host: string;
|
|
3668
|
+
/** TCP port. Defaults to `22`. */
|
|
3669
|
+
port?: number;
|
|
3670
|
+
/** Command to execute on the remote shell. */
|
|
3671
|
+
command: string;
|
|
3672
|
+
/**
|
|
3673
|
+
* Authentication credential. Use one of:
|
|
3674
|
+
*
|
|
3675
|
+
* - `{ type: "password", username, password }`
|
|
3676
|
+
* - `{ type: "publickey", username, algorithmName, publicKeyBlob, sign }`
|
|
3677
|
+
* (build one from a private-key file with `buildPublickeyCredential`)
|
|
3678
|
+
* - `{ type: "keyboard-interactive", username, respond }`
|
|
3679
|
+
*/
|
|
3680
|
+
auth: SshCredential;
|
|
3681
|
+
/**
|
|
3682
|
+
* Forwarded to {@link SshTransportConnection}; covers host-key pinning,
|
|
3683
|
+
* algorithm overrides, and handshake timeout. The default
|
|
3684
|
+
* `handshakeTimeoutMs` is 10 seconds.
|
|
3685
|
+
*/
|
|
3686
|
+
transport?: SshTransportConnectionOptions;
|
|
3687
|
+
/** TCP connect timeout in milliseconds. Defaults to 10 000. */
|
|
3688
|
+
connectTimeoutMs?: number;
|
|
3689
|
+
/** Maximum total bytes captured from stdout. Defaults to 16 MiB. */
|
|
3690
|
+
maxOutputBytes?: number;
|
|
3691
|
+
}
|
|
3692
|
+
/**
|
|
3693
|
+
* Result of {@link runSshCommand}. The full captured stdout is provided as
|
|
3694
|
+
* both a `Buffer` (for binary output) and as a UTF-8 decoded `string`.
|
|
3695
|
+
*
|
|
3696
|
+
* Note: stderr (CHANNEL_EXTENDED_DATA) and exit-status are not currently
|
|
3697
|
+
* surfaced - drop down to {@link SshConnectionManager}/{@link SshSessionChannel}
|
|
3698
|
+
* directly if you need them.
|
|
3699
|
+
*/
|
|
3700
|
+
interface RunSshCommandResult {
|
|
3701
|
+
/** Captured stdout as raw bytes. */
|
|
3702
|
+
stdout: Buffer;
|
|
3703
|
+
/** Captured stdout decoded as UTF-8. */
|
|
3704
|
+
stdoutText: string;
|
|
3705
|
+
/** Bytes received before the channel closed. */
|
|
3706
|
+
bytesReceived: number;
|
|
3707
|
+
}
|
|
3708
|
+
/**
|
|
3709
|
+
* Connects, authenticates, runs `command` on a fresh exec channel, drains
|
|
3710
|
+
* stdout, and disconnects. The TCP socket, transport, auth session, and
|
|
3711
|
+
* channel are all owned by this helper and torn down before it returns.
|
|
3712
|
+
*
|
|
3713
|
+
* @example Run `uname -a` with a password credential
|
|
3714
|
+
* ```ts
|
|
3715
|
+
* import { runSshCommand } from "@zero-transfer/ssh";
|
|
3716
|
+
*
|
|
3717
|
+
* const { stdoutText } = await runSshCommand({
|
|
3718
|
+
* host: "ssh.example.com",
|
|
3719
|
+
* auth: { type: "password", username: "deploy", password: process.env.SSH_PASSWORD! },
|
|
3720
|
+
* command: "uname -a",
|
|
3721
|
+
* });
|
|
3722
|
+
* console.log(stdoutText);
|
|
3723
|
+
* ```
|
|
3724
|
+
*/
|
|
3725
|
+
declare function runSshCommand(options: RunSshCommandOptions): Promise<RunSshCommandResult>;
|
|
3726
|
+
|
|
3607
3727
|
/**
|
|
3608
3728
|
* FTPS control-channel TLS mode.
|
|
3609
3729
|
*
|
|
@@ -3646,7 +3766,7 @@ interface FtpsProviderOptions extends FtpProviderOptions {
|
|
|
3646
3766
|
* @param options - Optional provider defaults.
|
|
3647
3767
|
* @returns Provider factory suitable for `createTransferClient({ providers: [...] })`.
|
|
3648
3768
|
*
|
|
3649
|
-
* @example Plain FTP (cleartext
|
|
3769
|
+
* @example Plain FTP (cleartext - prefer FTPS or SFTP whenever possible)
|
|
3650
3770
|
* ```ts
|
|
3651
3771
|
* import { createFtpProviderFactory, createTransferClient } from "@zero-transfer/sdk";
|
|
3652
3772
|
*
|
|
@@ -4050,7 +4170,7 @@ interface NativeSftpRawSession {
|
|
|
4050
4170
|
}
|
|
4051
4171
|
/**
|
|
4052
4172
|
* Creates a {@link ProviderFactory} backed by the native SSH/SFTP protocol
|
|
4053
|
-
* stack
|
|
4173
|
+
* stack - no `ssh2` dependency required.
|
|
4054
4174
|
*
|
|
4055
4175
|
* **Supported algorithms**
|
|
4056
4176
|
* - Key exchange: `curve25519-sha256`, `curve25519-sha256@libssh.org`
|
|
@@ -4741,7 +4861,7 @@ interface DiffRemoteTreesOptions {
|
|
|
4741
4861
|
* Compares two remote subtrees and produces an entry-level diff.
|
|
4742
4862
|
*
|
|
4743
4863
|
* Source and destination paths are walked independently; entries are then aligned by
|
|
4744
|
-
* the relative path from each tree root. Directory equality is structural
|
|
4864
|
+
* the relative path from each tree root. Directory equality is structural - directories
|
|
4745
4865
|
* are equal when their relative paths match and the entry types agree.
|
|
4746
4866
|
*
|
|
4747
4867
|
* @param source - Source-side remote file system.
|
|
@@ -4986,7 +5106,7 @@ interface CreateAtomicDeployPlanOptions {
|
|
|
4986
5106
|
* 2. Atomically swap the `current` symlink/rename to point at the new release.
|
|
4987
5107
|
* 3. Optionally prune old releases beyond `retain`.
|
|
4988
5108
|
*
|
|
4989
|
-
* No I/O is performed
|
|
5109
|
+
* No I/O is performed - the host executes the plan steps. Pair with
|
|
4990
5110
|
* {@link createTransferPlan} or {@link createTransferJobsFromPlan} to execute.
|
|
4991
5111
|
*
|
|
4992
5112
|
* @param options - Inputs and policies that shape the deploy.
|
|
@@ -5980,4 +6100,10 @@ declare function joinRemotePath(...segments: string[]): string;
|
|
|
5980
6100
|
*/
|
|
5981
6101
|
declare function basenameRemotePath(input: string): string;
|
|
5982
6102
|
|
|
5983
|
-
|
|
6103
|
+
/**
|
|
6104
|
+
* Returns `true` when the file containing `import.meta.url` is the entry point
|
|
6105
|
+
* of the current Node.js process. Returns `false` outside Node.
|
|
6106
|
+
*/
|
|
6107
|
+
declare function isMainModule(importMetaUrl: string): boolean;
|
|
6108
|
+
|
|
6109
|
+
export { AbortError, type AgeRetentionPolicy, ApprovalRegistry, ApprovalRejectedError, type ApprovalRequest, type ApprovalStatus, type AtomicDeployActivateOperation, type AtomicDeployActivateStep, type AtomicDeployPlan, type AtomicDeployPruneStep, type AtomicDeployStrategy, type AuthenticationCapability, AuthenticationError, AuthorizationError, type AzureBlobMultipartOptions, type AzureBlobProviderOptions, type BandwidthSleep, type BandwidthThrottle, type BandwidthThrottleOptions, type Base64EnvSecretSource, type BuiltInProviderId, type BuiltinCapabilityMatrixEntry, type BuiltinProviderMatrixId, CLASSIC_PROVIDER_IDS, type CapabilitySet, type ChecksumCapability, type ClassicProviderId, type ClientDiagnostics, type CompareRemoteManifestsOptions, ConfigurationError, type ConnectionDiagnosticTimings, type ConnectionDiagnosticsResult, ConnectionError, type ConnectionPoolOptions, type ConnectionProfile, type ConventionEndpoint, type CopyBetweenOptions, type CountRetentionPolicy, type CreateApprovalGateOptions, type CreateAtomicDeployPlanOptions, type CreateInboxRouteOptions, type CreateOutboxRouteOptions, type CreateRemoteBrowserOptions, type CreateRemoteManifestOptions, type CreateSyncPlanOptions, type CreateWebhookAuditLogOptions, type CronExpression, type CronField, type CronScheduleTrigger, DEFAULT_FAILED_SUBDIR, DEFAULT_PROCESSED_SUBDIR, DEFAULT_SSH_ALGORITHM_PREFERENCES, type DiffRemoteTreesOptions, type DispatchWebhookOptions, type DispatchWebhookResult, type DownloadFileOptions, type DropboxProviderOptions, type EnvSecretSource, type EvaluateRetentionOptions, type FileSecretSource, type FileSystemS3MultipartResumeStoreOptions, type FileZillaSite, type FriendlyTransferOptions, type FtpFeatures, type FtpPassiveHostStrategy, type FtpProviderOptions, type FtpReplyErrorInput, type FtpResponse, FtpResponseParser, type FtpResponseStatus, type FtpsDataProtection, type FtpsMode, type FtpsProviderOptions, type GcsMultipartOptions, type GcsProviderOptions, type GoogleDriveProviderOptions, type HttpFetch, type HttpProviderOptions, type ImportFileZillaSitesResult, type ImportOpenSshConfigOptions, type ImportOpenSshConfigResult, type ImportWinScpSessionsResult, InMemoryAuditLog, type IntervalScheduleTrigger, type JsonlWriter, type KnownHostsEntry, type KnownHostsMarker, type ListOptions, type LocalProviderOptions, type LogLevel, type LogRecord, type LogRecordInput, type LoggerMethod, type MemoryProviderEntry, type MemoryProviderOptions, type MetadataCapability, type MftAuditEntry, type MftAuditEntryType, type MftAuditLog, type MftInboxConvention, type MftOutboxConvention, type MftRoute, type MftRouteEndpoint, type MftRouteFilter, type MftRouteOperation, type MftSchedule, type MftScheduleTrigger, MftScheduler, type MftSchedulerOptions, type MkdirOptions, type NativeSftpProviderOptions, type NativeSftpRawSession, type NegotiatedSshAlgorithms, type OAuthAccessToken, type OAuthRefreshCallback, type OAuthTokenSecretSourceOptions, type OneDriveMultipartOptions, type OneDriveProviderOptions, type OpenSshConfigEntry, ParseError, PathAlreadyExistsError, PathNotFoundError, PermissionDeniedError, type PooledTransferClient, type ProgressEventInput, ProtocolError, type AuthenticationCapability as ProviderAuthenticationCapability, type CapabilitySet as ProviderCapabilities, type ChecksumCapability as ProviderChecksumCapability, type ProviderFactory, type ProviderId, type MetadataCapability as ProviderMetadataCapability, ProviderRegistry, type ProviderSelection, type ProviderTransferEndpointRole, type ProviderTransferExecutorOptions, type ProviderTransferOperations, type ProviderTransferReadRequest, type ProviderTransferReadResult, type ProviderTransferRequest, type ProviderTransferSessionResolver, type ProviderTransferSessionResolverInput, type ProviderTransferWriteRequest, type ProviderTransferWriteResult, REDACTED, REMOTE_MANIFEST_FORMAT_VERSION, type RemoteBreadcrumb, type RemoteBrowser, type RemoteBrowserFilter, type RemoteBrowserSnapshot, type RemoteEntry, type RemoteEntrySortKey, type RemoteEntrySortOrder, type RemoteEntryType, type RemoteFileAdapter, type RemoteFileEndpoint, type RemoteFileSystem, type RemoteManifest, type RemoteManifestEntry, type RemotePermissions, type RemoteProtocol, type RemoteStat, type RemoteTreeDiff, type RemoteTreeDiffEntry, type RemoteTreeDiffReason, type RemoteTreeDiffStatus, type RemoteTreeDiffSummary, type RemoteTreeEntry, type RemoteTreeFilter, type RemoveOptions, type RenameOptions, type ResolveSecretOptions, type ResolvedConnectionProfile, type ResolvedOpenSshHost, type ResolvedSshProfile, type ResolvedTlsProfile, type RetentionEvaluation, type RetentionPolicy, type RmdirOptions, RouteRegistry, type RunConnectionDiagnosticsOptions, type RunRouteOptions, type RunSshCommandOptions, type RunSshCommandResult, type S3MultipartCheckpoint, type S3MultipartOptions, type S3MultipartPart, type S3MultipartResumeKey, type S3MultipartResumeStore, type S3ProviderOptions, ScheduleRegistry, type ScheduleRouteRunner, type ScheduleTimerHooks, type SecretProvider, type SecretSource, type SecretValue, type NativeSftpProviderOptions as SftpProviderOptions, type NativeSftpRawSession as SftpRawSession, type SpecializedErrorDetails, type SshAgentSource, type SshAlgorithmPreferences, type SshAlgorithms, SshAuthSession, SshConnectionManager, SshDataReader, SshDataWriter, SshDisconnectReason, type SshKeyboardInteractiveChallenge, type SshKeyboardInteractiveCredential, type SshKeyboardInteractiveHandler, type SshKeyboardInteractivePrompt, type SshKnownHostsSource, type SshPasswordCredential, type SshProfile, type SshPublickeyCredential, SshSessionChannel, type SshSocketFactory, type SshSocketFactoryContext, SshTransportConnection, type SshTransportConnectionOptions, SshTransportHandshake, type SshTransportHandshakeResult, type StatOptions, type SyncConflictPolicy, type SyncDeletePolicy, type SyncDirection, type SyncEndpointInput, TimeoutError, type TlsProfile, type TlsSecretSource, type TransferAttempt, type TransferAttemptError, type TransferBandwidthLimit, type TransferByteRange, TransferClient, type TransferClientOptions, type TransferDataChunk, type TransferDataSource, type TransferEndpoint, TransferEngine, type TransferEngineExecuteOptions, type TransferEngineOptions, TransferError, type TransferExecutionContext, type TransferExecutionResult, type TransferExecutor, type TransferJob, type TransferOperation, type TransferPlan, type TransferPlanAction, type TransferPlanInput, type TransferPlanStep, type TransferPlanSummary, type TransferProgressEvent, type TransferProvider, TransferQueue, type TransferQueueExecutorResolver, type TransferQueueItem, type TransferQueueItemStatus, type TransferQueueOptions, type TransferQueueRunOptions, type TransferQueueSummary, type TransferReceipt, type TransferResult, type TransferResultInput, type TransferRetryDecisionInput, type TransferRetryPolicy, type TransferSession, type TransferTimeoutPolicy, type TransferVerificationResult, UnsupportedFeatureError, type UploadFileOptions, type ValueSecretSource, VerificationError, type WalkRemoteTreeOptions, type WebDavProviderOptions, type WebhookRetryPolicy, type WebhookSignature, type WebhookTarget, type WinScpSession, ZeroTransfer, type ZeroTransferCapabilities, ZeroTransferError, type ZeroTransferErrorDetails, type ZeroTransferLogger, type ZeroTransferOptions, assertSafeFtpArgument, basenameRemotePath, buildPublickeyCredential, buildRemoteBreadcrumbs, compareRemoteManifests, composeAuditLogs, copyBetween, createApprovalGate, createAtomicDeployPlan, createAzureBlobProviderFactory, createBandwidthThrottle, createDropboxProviderFactory, createFileSystemS3MultipartResumeStore, createFtpProviderFactory, createFtpsProviderFactory, createGcsProviderFactory, createGoogleDriveProviderFactory, createHttpProviderFactory, createInboxRoute, createJsonlAuditLog, createLocalProviderFactory, createMemoryProviderFactory, createMemoryS3MultipartResumeStore, createNativeSftpProviderFactory, createOAuthTokenSecretSource, createOneDriveProviderFactory, createOutboxRoute, createPooledTransferClient, createProgressEvent, createProviderTransferExecutor, createRemoteBrowser, createRemoteManifest, createS3ProviderFactory, createNativeSftpProviderFactory as createSftpProviderFactory, createSyncPlan, createTransferClient, createTransferJobsFromPlan, createTransferPlan, createTransferResult, createWebDavProviderFactory, createWebhookAuditLog, diffRemoteTrees, dispatchWebhook, downloadFile, emitLog, errorFromFtpReply, evaluateRetention, filterRemoteEntries, formatCapabilityMatrixMarkdown, freezeReceipt, getBuiltinCapabilityMatrix, importFileZillaSites, importOpenSshConfig, importWinScpSessions, inboxFailedPath, inboxProcessedPath, isClassicProviderId, isMainModule, isSensitiveKey, joinRemotePath, matchKnownHosts, matchKnownHostsEntry, negotiateSshAlgorithms, nextCronFireAt, nextScheduleFireAt, noopLogger, normalizeRemotePath, parentRemotePath, parseCronExpression, parseFtpFeatures, parseFtpResponseLines, parseKnownHosts, parseMlsdLine, parseMlsdList, parseMlstTimestamp, parseOpenSshConfig, parseRemoteManifest, parseUnixList, parseUnixListLine, redactCommand, redactConnectionProfile, redactObject, redactSecretSource, redactValue, resolveConnectionProfileSecrets, resolveOpenSshHost, resolveProviderId, resolveSecret, runConnectionDiagnostics, runRoute, runSshCommand, serializeRemoteManifest, signWebhookPayload, sortRemoteEntries, summarizeClientDiagnostics, summarizeError, summarizeTransferPlan, throttleByteIterable, uploadFile, validateConnectionProfile, validateSchedule, walkRemoteTree };
|
package/dist/index.d.ts
CHANGED
|
@@ -396,7 +396,7 @@ interface TlsProfile {
|
|
|
396
396
|
* hex form with or without colons. When present, the TLS handshake additionally requires the
|
|
397
397
|
* leaf certificate's SHA-256 fingerprint to match one of these values.
|
|
398
398
|
*
|
|
399
|
-
* Not required for normal CA-trusted endpoints
|
|
399
|
+
* Not required for normal CA-trusted endpoints - public CAs and `ca` bundles already gate
|
|
400
400
|
* trust via `rejectUnauthorized`. Pinning is **recommended for production** when you control
|
|
401
401
|
* the server and want defence-in-depth against rogue certificates issued by trusted CAs.
|
|
402
402
|
*
|
|
@@ -1764,7 +1764,7 @@ interface ConnectionPoolOptions {
|
|
|
1764
1764
|
/**
|
|
1765
1765
|
* Maximum number of *idle* sessions retained per pool key.
|
|
1766
1766
|
*
|
|
1767
|
-
* Active leases are not counted against this limit
|
|
1767
|
+
* Active leases are not counted against this limit - the cap only applies
|
|
1768
1768
|
* to sessions waiting in the pool. When more than `maxIdlePerKey` sessions
|
|
1769
1769
|
* become idle simultaneously, the oldest ones are disconnected. Defaults
|
|
1770
1770
|
* to `4`.
|
|
@@ -1823,9 +1823,9 @@ declare function createPooledTransferClient(inner: TransferClient, options?: Con
|
|
|
1823
1823
|
*
|
|
1824
1824
|
* Aggregates the {@link CapabilitySet} advertised by every shipped provider
|
|
1825
1825
|
* factory so applications, docs, and diagnostics can compare features across
|
|
1826
|
-
* providers without instantiating each one. The S3 entry is captured twice
|
|
1826
|
+
* providers without instantiating each one. The S3 entry is captured twice -
|
|
1827
1827
|
* once with the new multipart-by-default configuration and once with
|
|
1828
|
-
* `multipart.enabled: false` for the legacy single-shot variant
|
|
1828
|
+
* `multipart.enabled: false` for the legacy single-shot variant - because
|
|
1829
1829
|
* that flag flips `resumeUpload`.
|
|
1830
1830
|
*
|
|
1831
1831
|
* @module providers/capabilityMatrix
|
|
@@ -2004,6 +2004,25 @@ interface OneDriveProviderOptions {
|
|
|
2004
2004
|
fetch?: HttpFetch;
|
|
2005
2005
|
/** Default headers applied before bearer auth on every request. */
|
|
2006
2006
|
defaultHeaders?: Record<string, string>;
|
|
2007
|
+
/** Resumable upload session tuning. Enabled by default. */
|
|
2008
|
+
multipart?: OneDriveMultipartOptions;
|
|
2009
|
+
}
|
|
2010
|
+
/** Resumable-upload session tuning for the OneDrive provider. */
|
|
2011
|
+
interface OneDriveMultipartOptions {
|
|
2012
|
+
/**
|
|
2013
|
+
* Enable Microsoft Graph upload sessions. **Defaults to `true`** so payloads
|
|
2014
|
+
* above {@link OneDriveMultipartOptions.thresholdBytes} stream in fixed-size
|
|
2015
|
+
* chunks via `createUploadSession` instead of being buffered into a single
|
|
2016
|
+
* `PUT /content`. Set to `false` to force the legacy single-shot behaviour.
|
|
2017
|
+
*/
|
|
2018
|
+
enabled?: boolean;
|
|
2019
|
+
/** Object size threshold above which an upload session is used. Defaults to 4 MiB. */
|
|
2020
|
+
thresholdBytes?: number;
|
|
2021
|
+
/**
|
|
2022
|
+
* Target chunk size in bytes. Must be a multiple of 320 KiB per the Graph
|
|
2023
|
+
* protocol (the final chunk is exempt). Defaults to 10 MiB.
|
|
2024
|
+
*/
|
|
2025
|
+
partSizeBytes?: number;
|
|
2007
2026
|
}
|
|
2008
2027
|
/**
|
|
2009
2028
|
* Creates a OneDrive/SharePoint provider factory backed by Microsoft Graph.
|
|
@@ -2068,6 +2087,22 @@ interface AzureBlobProviderOptions {
|
|
|
2068
2087
|
fetch?: HttpFetch;
|
|
2069
2088
|
/** Default headers applied before bearer auth on every request. */
|
|
2070
2089
|
defaultHeaders?: Record<string, string>;
|
|
2090
|
+
/** Multipart (staged-block) upload tuning. Enabled by default. */
|
|
2091
|
+
multipart?: AzureBlobMultipartOptions;
|
|
2092
|
+
}
|
|
2093
|
+
/** Multipart (staged block) upload tuning for the Azure Blob provider. */
|
|
2094
|
+
interface AzureBlobMultipartOptions {
|
|
2095
|
+
/**
|
|
2096
|
+
* Enable staged-block uploads via `Put Block` + `Put Block List`. **Defaults
|
|
2097
|
+
* to `true`** so payloads above {@link AzureBlobMultipartOptions.thresholdBytes}
|
|
2098
|
+
* stream in fixed-size blocks instead of being buffered into a single PUT.
|
|
2099
|
+
* Set to `false` to force single-shot block-blob PUTs.
|
|
2100
|
+
*/
|
|
2101
|
+
enabled?: boolean;
|
|
2102
|
+
/** Object size threshold above which staged-block upload is used. Defaults to 8 MiB. */
|
|
2103
|
+
thresholdBytes?: number;
|
|
2104
|
+
/** Target block size in bytes. Defaults to 8 MiB. Maximum 4000 MiB per Azure. */
|
|
2105
|
+
partSizeBytes?: number;
|
|
2071
2106
|
}
|
|
2072
2107
|
/**
|
|
2073
2108
|
* Creates an Azure Blob Storage provider factory.
|
|
@@ -2127,12 +2162,32 @@ interface GcsProviderOptions {
|
|
|
2127
2162
|
fetch?: HttpFetch;
|
|
2128
2163
|
/** Default headers applied before bearer auth on every request. */
|
|
2129
2164
|
defaultHeaders?: Record<string, string>;
|
|
2165
|
+
/** Resumable upload session tuning. Enabled by default. */
|
|
2166
|
+
multipart?: GcsMultipartOptions;
|
|
2167
|
+
}
|
|
2168
|
+
/** Resumable-upload session tuning for the GCS provider. */
|
|
2169
|
+
interface GcsMultipartOptions {
|
|
2170
|
+
/**
|
|
2171
|
+
* Enable resumable upload sessions. **Defaults to `true`** so payloads above
|
|
2172
|
+
* {@link GcsMultipartOptions.thresholdBytes} stream in fixed-size chunks via
|
|
2173
|
+
* the resumable session endpoint instead of being buffered into a single
|
|
2174
|
+
* `uploadType=media` POST. Set to `false` to force the legacy single-shot
|
|
2175
|
+
* behaviour.
|
|
2176
|
+
*/
|
|
2177
|
+
enabled?: boolean;
|
|
2178
|
+
/** Object size threshold above which a resumable session is used. Defaults to 8 MiB. */
|
|
2179
|
+
thresholdBytes?: number;
|
|
2180
|
+
/**
|
|
2181
|
+
* Target chunk size in bytes. Must be a multiple of 256 KiB per the GCS
|
|
2182
|
+
* protocol (the final chunk is exempt). Defaults to 8 MiB.
|
|
2183
|
+
*/
|
|
2184
|
+
partSizeBytes?: number;
|
|
2130
2185
|
}
|
|
2131
2186
|
/**
|
|
2132
2187
|
* Creates a Google Cloud Storage provider factory.
|
|
2133
2188
|
*
|
|
2134
2189
|
* Authentication is per-connection: pass a Google OAuth 2 access token via
|
|
2135
|
-
* `profile.password`. `profile.host` is unused
|
|
2190
|
+
* `profile.password`. `profile.host` is unused - the bucket is fixed at
|
|
2136
2191
|
* factory construction time so a single client can target multiple buckets
|
|
2137
2192
|
* by registering separate factories.
|
|
2138
2193
|
*
|
|
@@ -2220,7 +2275,7 @@ interface HttpProviderOptions {
|
|
|
2220
2275
|
/**
|
|
2221
2276
|
* Creates a provider factory backed by HTTP(S) GET/HEAD.
|
|
2222
2277
|
*
|
|
2223
|
-
* Read-only by design
|
|
2278
|
+
* Read-only by design - use it to fetch artifacts from public URLs, signed
|
|
2224
2279
|
* URLs, or HTTP-only artifact servers. Range-based resume is supported when
|
|
2225
2280
|
* the server advertises `Accept-Ranges: bytes`. To upload to an HTTP endpoint,
|
|
2226
2281
|
* use the WebDAV provider, the S3 provider, or a cloud-specific provider.
|
|
@@ -2277,18 +2332,18 @@ interface WebDavProviderOptions {
|
|
|
2277
2332
|
/**
|
|
2278
2333
|
* Streaming policy for `PUT` request bodies.
|
|
2279
2334
|
*
|
|
2280
|
-
* - `"when-known-size"` (default)
|
|
2335
|
+
* - `"when-known-size"` (default) - stream when the caller declares
|
|
2281
2336
|
* `request.totalBytes` (an explicit `Content-Length` is sent so all
|
|
2282
2337
|
* WebDAV servers accept the upload); otherwise buffer the entire body in
|
|
2283
2338
|
* memory before sending. This is the safe default that does not require
|
|
2284
2339
|
* the server to accept HTTP/1.1 chunked transfer-encoding.
|
|
2285
|
-
* - `"always"`
|
|
2340
|
+
* - `"always"` - always stream the body, even when the size is unknown
|
|
2286
2341
|
* (the runtime will use chunked transfer-encoding). Some legacy WebDAV
|
|
2287
2342
|
* servers reject `Transfer-Encoding: chunked` and will respond `411
|
|
2288
2343
|
* Length Required` or `501 Not Implemented`; only enable this for
|
|
2289
2344
|
* servers known to accept chunked uploads (modern Apache/nginx, IIS
|
|
2290
2345
|
* with chunked transfer enabled, Nextcloud, ownCloud, sabre/dav).
|
|
2291
|
-
* - `"never"`
|
|
2346
|
+
* - `"never"` - always buffer (legacy behaviour pre-0.4.0). Use for
|
|
2292
2347
|
* maximum compatibility at the cost of memory.
|
|
2293
2348
|
*/
|
|
2294
2349
|
uploadStreaming?: "when-known-size" | "always" | "never";
|
|
@@ -3362,7 +3417,7 @@ interface SshKeyboardInteractiveCredential {
|
|
|
3362
3417
|
type SshCredential = SshPasswordCredential | SshPublickeyCredential | SshKeyboardInteractiveCredential;
|
|
3363
3418
|
interface SshAuthOptions {
|
|
3364
3419
|
credential: SshCredential;
|
|
3365
|
-
/** SSH session id (exchange hash) from key exchange
|
|
3420
|
+
/** SSH session id (exchange hash) from key exchange - required for publickey signing. */
|
|
3366
3421
|
sessionId: Uint8Array;
|
|
3367
3422
|
/** Maximum number of USERAUTH_FAILURE retries before giving up. Defaults to 4. */
|
|
3368
3423
|
maxAttempts?: number;
|
|
@@ -3604,6 +3659,71 @@ declare class SshDataWriter {
|
|
|
3604
3659
|
private assertByte;
|
|
3605
3660
|
}
|
|
3606
3661
|
|
|
3662
|
+
/**
|
|
3663
|
+
* Options for {@link runSshCommand}.
|
|
3664
|
+
*/
|
|
3665
|
+
interface RunSshCommandOptions {
|
|
3666
|
+
/** Hostname or IP of the SSH server. */
|
|
3667
|
+
host: string;
|
|
3668
|
+
/** TCP port. Defaults to `22`. */
|
|
3669
|
+
port?: number;
|
|
3670
|
+
/** Command to execute on the remote shell. */
|
|
3671
|
+
command: string;
|
|
3672
|
+
/**
|
|
3673
|
+
* Authentication credential. Use one of:
|
|
3674
|
+
*
|
|
3675
|
+
* - `{ type: "password", username, password }`
|
|
3676
|
+
* - `{ type: "publickey", username, algorithmName, publicKeyBlob, sign }`
|
|
3677
|
+
* (build one from a private-key file with `buildPublickeyCredential`)
|
|
3678
|
+
* - `{ type: "keyboard-interactive", username, respond }`
|
|
3679
|
+
*/
|
|
3680
|
+
auth: SshCredential;
|
|
3681
|
+
/**
|
|
3682
|
+
* Forwarded to {@link SshTransportConnection}; covers host-key pinning,
|
|
3683
|
+
* algorithm overrides, and handshake timeout. The default
|
|
3684
|
+
* `handshakeTimeoutMs` is 10 seconds.
|
|
3685
|
+
*/
|
|
3686
|
+
transport?: SshTransportConnectionOptions;
|
|
3687
|
+
/** TCP connect timeout in milliseconds. Defaults to 10 000. */
|
|
3688
|
+
connectTimeoutMs?: number;
|
|
3689
|
+
/** Maximum total bytes captured from stdout. Defaults to 16 MiB. */
|
|
3690
|
+
maxOutputBytes?: number;
|
|
3691
|
+
}
|
|
3692
|
+
/**
|
|
3693
|
+
* Result of {@link runSshCommand}. The full captured stdout is provided as
|
|
3694
|
+
* both a `Buffer` (for binary output) and as a UTF-8 decoded `string`.
|
|
3695
|
+
*
|
|
3696
|
+
* Note: stderr (CHANNEL_EXTENDED_DATA) and exit-status are not currently
|
|
3697
|
+
* surfaced - drop down to {@link SshConnectionManager}/{@link SshSessionChannel}
|
|
3698
|
+
* directly if you need them.
|
|
3699
|
+
*/
|
|
3700
|
+
interface RunSshCommandResult {
|
|
3701
|
+
/** Captured stdout as raw bytes. */
|
|
3702
|
+
stdout: Buffer;
|
|
3703
|
+
/** Captured stdout decoded as UTF-8. */
|
|
3704
|
+
stdoutText: string;
|
|
3705
|
+
/** Bytes received before the channel closed. */
|
|
3706
|
+
bytesReceived: number;
|
|
3707
|
+
}
|
|
3708
|
+
/**
|
|
3709
|
+
* Connects, authenticates, runs `command` on a fresh exec channel, drains
|
|
3710
|
+
* stdout, and disconnects. The TCP socket, transport, auth session, and
|
|
3711
|
+
* channel are all owned by this helper and torn down before it returns.
|
|
3712
|
+
*
|
|
3713
|
+
* @example Run `uname -a` with a password credential
|
|
3714
|
+
* ```ts
|
|
3715
|
+
* import { runSshCommand } from "@zero-transfer/ssh";
|
|
3716
|
+
*
|
|
3717
|
+
* const { stdoutText } = await runSshCommand({
|
|
3718
|
+
* host: "ssh.example.com",
|
|
3719
|
+
* auth: { type: "password", username: "deploy", password: process.env.SSH_PASSWORD! },
|
|
3720
|
+
* command: "uname -a",
|
|
3721
|
+
* });
|
|
3722
|
+
* console.log(stdoutText);
|
|
3723
|
+
* ```
|
|
3724
|
+
*/
|
|
3725
|
+
declare function runSshCommand(options: RunSshCommandOptions): Promise<RunSshCommandResult>;
|
|
3726
|
+
|
|
3607
3727
|
/**
|
|
3608
3728
|
* FTPS control-channel TLS mode.
|
|
3609
3729
|
*
|
|
@@ -3646,7 +3766,7 @@ interface FtpsProviderOptions extends FtpProviderOptions {
|
|
|
3646
3766
|
* @param options - Optional provider defaults.
|
|
3647
3767
|
* @returns Provider factory suitable for `createTransferClient({ providers: [...] })`.
|
|
3648
3768
|
*
|
|
3649
|
-
* @example Plain FTP (cleartext
|
|
3769
|
+
* @example Plain FTP (cleartext - prefer FTPS or SFTP whenever possible)
|
|
3650
3770
|
* ```ts
|
|
3651
3771
|
* import { createFtpProviderFactory, createTransferClient } from "@zero-transfer/sdk";
|
|
3652
3772
|
*
|
|
@@ -4050,7 +4170,7 @@ interface NativeSftpRawSession {
|
|
|
4050
4170
|
}
|
|
4051
4171
|
/**
|
|
4052
4172
|
* Creates a {@link ProviderFactory} backed by the native SSH/SFTP protocol
|
|
4053
|
-
* stack
|
|
4173
|
+
* stack - no `ssh2` dependency required.
|
|
4054
4174
|
*
|
|
4055
4175
|
* **Supported algorithms**
|
|
4056
4176
|
* - Key exchange: `curve25519-sha256`, `curve25519-sha256@libssh.org`
|
|
@@ -4741,7 +4861,7 @@ interface DiffRemoteTreesOptions {
|
|
|
4741
4861
|
* Compares two remote subtrees and produces an entry-level diff.
|
|
4742
4862
|
*
|
|
4743
4863
|
* Source and destination paths are walked independently; entries are then aligned by
|
|
4744
|
-
* the relative path from each tree root. Directory equality is structural
|
|
4864
|
+
* the relative path from each tree root. Directory equality is structural - directories
|
|
4745
4865
|
* are equal when their relative paths match and the entry types agree.
|
|
4746
4866
|
*
|
|
4747
4867
|
* @param source - Source-side remote file system.
|
|
@@ -4986,7 +5106,7 @@ interface CreateAtomicDeployPlanOptions {
|
|
|
4986
5106
|
* 2. Atomically swap the `current` symlink/rename to point at the new release.
|
|
4987
5107
|
* 3. Optionally prune old releases beyond `retain`.
|
|
4988
5108
|
*
|
|
4989
|
-
* No I/O is performed
|
|
5109
|
+
* No I/O is performed - the host executes the plan steps. Pair with
|
|
4990
5110
|
* {@link createTransferPlan} or {@link createTransferJobsFromPlan} to execute.
|
|
4991
5111
|
*
|
|
4992
5112
|
* @param options - Inputs and policies that shape the deploy.
|
|
@@ -5980,4 +6100,10 @@ declare function joinRemotePath(...segments: string[]): string;
|
|
|
5980
6100
|
*/
|
|
5981
6101
|
declare function basenameRemotePath(input: string): string;
|
|
5982
6102
|
|
|
5983
|
-
|
|
6103
|
+
/**
|
|
6104
|
+
* Returns `true` when the file containing `import.meta.url` is the entry point
|
|
6105
|
+
* of the current Node.js process. Returns `false` outside Node.
|
|
6106
|
+
*/
|
|
6107
|
+
declare function isMainModule(importMetaUrl: string): boolean;
|
|
6108
|
+
|
|
6109
|
+
export { AbortError, type AgeRetentionPolicy, ApprovalRegistry, ApprovalRejectedError, type ApprovalRequest, type ApprovalStatus, type AtomicDeployActivateOperation, type AtomicDeployActivateStep, type AtomicDeployPlan, type AtomicDeployPruneStep, type AtomicDeployStrategy, type AuthenticationCapability, AuthenticationError, AuthorizationError, type AzureBlobMultipartOptions, type AzureBlobProviderOptions, type BandwidthSleep, type BandwidthThrottle, type BandwidthThrottleOptions, type Base64EnvSecretSource, type BuiltInProviderId, type BuiltinCapabilityMatrixEntry, type BuiltinProviderMatrixId, CLASSIC_PROVIDER_IDS, type CapabilitySet, type ChecksumCapability, type ClassicProviderId, type ClientDiagnostics, type CompareRemoteManifestsOptions, ConfigurationError, type ConnectionDiagnosticTimings, type ConnectionDiagnosticsResult, ConnectionError, type ConnectionPoolOptions, type ConnectionProfile, type ConventionEndpoint, type CopyBetweenOptions, type CountRetentionPolicy, type CreateApprovalGateOptions, type CreateAtomicDeployPlanOptions, type CreateInboxRouteOptions, type CreateOutboxRouteOptions, type CreateRemoteBrowserOptions, type CreateRemoteManifestOptions, type CreateSyncPlanOptions, type CreateWebhookAuditLogOptions, type CronExpression, type CronField, type CronScheduleTrigger, DEFAULT_FAILED_SUBDIR, DEFAULT_PROCESSED_SUBDIR, DEFAULT_SSH_ALGORITHM_PREFERENCES, type DiffRemoteTreesOptions, type DispatchWebhookOptions, type DispatchWebhookResult, type DownloadFileOptions, type DropboxProviderOptions, type EnvSecretSource, type EvaluateRetentionOptions, type FileSecretSource, type FileSystemS3MultipartResumeStoreOptions, type FileZillaSite, type FriendlyTransferOptions, type FtpFeatures, type FtpPassiveHostStrategy, type FtpProviderOptions, type FtpReplyErrorInput, type FtpResponse, FtpResponseParser, type FtpResponseStatus, type FtpsDataProtection, type FtpsMode, type FtpsProviderOptions, type GcsMultipartOptions, type GcsProviderOptions, type GoogleDriveProviderOptions, type HttpFetch, type HttpProviderOptions, type ImportFileZillaSitesResult, type ImportOpenSshConfigOptions, type ImportOpenSshConfigResult, type ImportWinScpSessionsResult, InMemoryAuditLog, type IntervalScheduleTrigger, type JsonlWriter, type KnownHostsEntry, type KnownHostsMarker, type ListOptions, type LocalProviderOptions, type LogLevel, type LogRecord, type LogRecordInput, type LoggerMethod, type MemoryProviderEntry, type MemoryProviderOptions, type MetadataCapability, type MftAuditEntry, type MftAuditEntryType, type MftAuditLog, type MftInboxConvention, type MftOutboxConvention, type MftRoute, type MftRouteEndpoint, type MftRouteFilter, type MftRouteOperation, type MftSchedule, type MftScheduleTrigger, MftScheduler, type MftSchedulerOptions, type MkdirOptions, type NativeSftpProviderOptions, type NativeSftpRawSession, type NegotiatedSshAlgorithms, type OAuthAccessToken, type OAuthRefreshCallback, type OAuthTokenSecretSourceOptions, type OneDriveMultipartOptions, type OneDriveProviderOptions, type OpenSshConfigEntry, ParseError, PathAlreadyExistsError, PathNotFoundError, PermissionDeniedError, type PooledTransferClient, type ProgressEventInput, ProtocolError, type AuthenticationCapability as ProviderAuthenticationCapability, type CapabilitySet as ProviderCapabilities, type ChecksumCapability as ProviderChecksumCapability, type ProviderFactory, type ProviderId, type MetadataCapability as ProviderMetadataCapability, ProviderRegistry, type ProviderSelection, type ProviderTransferEndpointRole, type ProviderTransferExecutorOptions, type ProviderTransferOperations, type ProviderTransferReadRequest, type ProviderTransferReadResult, type ProviderTransferRequest, type ProviderTransferSessionResolver, type ProviderTransferSessionResolverInput, type ProviderTransferWriteRequest, type ProviderTransferWriteResult, REDACTED, REMOTE_MANIFEST_FORMAT_VERSION, type RemoteBreadcrumb, type RemoteBrowser, type RemoteBrowserFilter, type RemoteBrowserSnapshot, type RemoteEntry, type RemoteEntrySortKey, type RemoteEntrySortOrder, type RemoteEntryType, type RemoteFileAdapter, type RemoteFileEndpoint, type RemoteFileSystem, type RemoteManifest, type RemoteManifestEntry, type RemotePermissions, type RemoteProtocol, type RemoteStat, type RemoteTreeDiff, type RemoteTreeDiffEntry, type RemoteTreeDiffReason, type RemoteTreeDiffStatus, type RemoteTreeDiffSummary, type RemoteTreeEntry, type RemoteTreeFilter, type RemoveOptions, type RenameOptions, type ResolveSecretOptions, type ResolvedConnectionProfile, type ResolvedOpenSshHost, type ResolvedSshProfile, type ResolvedTlsProfile, type RetentionEvaluation, type RetentionPolicy, type RmdirOptions, RouteRegistry, type RunConnectionDiagnosticsOptions, type RunRouteOptions, type RunSshCommandOptions, type RunSshCommandResult, type S3MultipartCheckpoint, type S3MultipartOptions, type S3MultipartPart, type S3MultipartResumeKey, type S3MultipartResumeStore, type S3ProviderOptions, ScheduleRegistry, type ScheduleRouteRunner, type ScheduleTimerHooks, type SecretProvider, type SecretSource, type SecretValue, type NativeSftpProviderOptions as SftpProviderOptions, type NativeSftpRawSession as SftpRawSession, type SpecializedErrorDetails, type SshAgentSource, type SshAlgorithmPreferences, type SshAlgorithms, SshAuthSession, SshConnectionManager, SshDataReader, SshDataWriter, SshDisconnectReason, type SshKeyboardInteractiveChallenge, type SshKeyboardInteractiveCredential, type SshKeyboardInteractiveHandler, type SshKeyboardInteractivePrompt, type SshKnownHostsSource, type SshPasswordCredential, type SshProfile, type SshPublickeyCredential, SshSessionChannel, type SshSocketFactory, type SshSocketFactoryContext, SshTransportConnection, type SshTransportConnectionOptions, SshTransportHandshake, type SshTransportHandshakeResult, type StatOptions, type SyncConflictPolicy, type SyncDeletePolicy, type SyncDirection, type SyncEndpointInput, TimeoutError, type TlsProfile, type TlsSecretSource, type TransferAttempt, type TransferAttemptError, type TransferBandwidthLimit, type TransferByteRange, TransferClient, type TransferClientOptions, type TransferDataChunk, type TransferDataSource, type TransferEndpoint, TransferEngine, type TransferEngineExecuteOptions, type TransferEngineOptions, TransferError, type TransferExecutionContext, type TransferExecutionResult, type TransferExecutor, type TransferJob, type TransferOperation, type TransferPlan, type TransferPlanAction, type TransferPlanInput, type TransferPlanStep, type TransferPlanSummary, type TransferProgressEvent, type TransferProvider, TransferQueue, type TransferQueueExecutorResolver, type TransferQueueItem, type TransferQueueItemStatus, type TransferQueueOptions, type TransferQueueRunOptions, type TransferQueueSummary, type TransferReceipt, type TransferResult, type TransferResultInput, type TransferRetryDecisionInput, type TransferRetryPolicy, type TransferSession, type TransferTimeoutPolicy, type TransferVerificationResult, UnsupportedFeatureError, type UploadFileOptions, type ValueSecretSource, VerificationError, type WalkRemoteTreeOptions, type WebDavProviderOptions, type WebhookRetryPolicy, type WebhookSignature, type WebhookTarget, type WinScpSession, ZeroTransfer, type ZeroTransferCapabilities, ZeroTransferError, type ZeroTransferErrorDetails, type ZeroTransferLogger, type ZeroTransferOptions, assertSafeFtpArgument, basenameRemotePath, buildPublickeyCredential, buildRemoteBreadcrumbs, compareRemoteManifests, composeAuditLogs, copyBetween, createApprovalGate, createAtomicDeployPlan, createAzureBlobProviderFactory, createBandwidthThrottle, createDropboxProviderFactory, createFileSystemS3MultipartResumeStore, createFtpProviderFactory, createFtpsProviderFactory, createGcsProviderFactory, createGoogleDriveProviderFactory, createHttpProviderFactory, createInboxRoute, createJsonlAuditLog, createLocalProviderFactory, createMemoryProviderFactory, createMemoryS3MultipartResumeStore, createNativeSftpProviderFactory, createOAuthTokenSecretSource, createOneDriveProviderFactory, createOutboxRoute, createPooledTransferClient, createProgressEvent, createProviderTransferExecutor, createRemoteBrowser, createRemoteManifest, createS3ProviderFactory, createNativeSftpProviderFactory as createSftpProviderFactory, createSyncPlan, createTransferClient, createTransferJobsFromPlan, createTransferPlan, createTransferResult, createWebDavProviderFactory, createWebhookAuditLog, diffRemoteTrees, dispatchWebhook, downloadFile, emitLog, errorFromFtpReply, evaluateRetention, filterRemoteEntries, formatCapabilityMatrixMarkdown, freezeReceipt, getBuiltinCapabilityMatrix, importFileZillaSites, importOpenSshConfig, importWinScpSessions, inboxFailedPath, inboxProcessedPath, isClassicProviderId, isMainModule, isSensitiveKey, joinRemotePath, matchKnownHosts, matchKnownHostsEntry, negotiateSshAlgorithms, nextCronFireAt, nextScheduleFireAt, noopLogger, normalizeRemotePath, parentRemotePath, parseCronExpression, parseFtpFeatures, parseFtpResponseLines, parseKnownHosts, parseMlsdLine, parseMlsdList, parseMlstTimestamp, parseOpenSshConfig, parseRemoteManifest, parseUnixList, parseUnixListLine, redactCommand, redactConnectionProfile, redactObject, redactSecretSource, redactValue, resolveConnectionProfileSecrets, resolveOpenSshHost, resolveProviderId, resolveSecret, runConnectionDiagnostics, runRoute, runSshCommand, serializeRemoteManifest, signWebhookPayload, sortRemoteEntries, summarizeClientDiagnostics, summarizeError, summarizeTransferPlan, throttleByteIterable, uploadFile, validateConnectionProfile, validateSchedule, walkRemoteTree };
|