pure-js-sftp
Version:
A pure JavaScript SFTP client with revolutionary RSA-SHA2 compatibility fixes. Zero native dependencies, built on ssh2-streams with 100% SSH key support.
113 lines • 5.22 kB
JavaScript
;
/**
* SSH Protocol Types and Interfaces
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.SFTPError = exports.SSHError = exports.ConnectionState = exports.ChannelState = exports.SFTP_ATTR = exports.SFTP_OPEN_FLAGS = exports.SFTP_STATUS = exports.SFTP_MSG = exports.SFTP_VERSION = void 0;
// SFTP Constants
exports.SFTP_VERSION = 3;
// SFTP Message Types
var SFTP_MSG;
(function (SFTP_MSG) {
SFTP_MSG[SFTP_MSG["INIT"] = 1] = "INIT";
SFTP_MSG[SFTP_MSG["VERSION"] = 2] = "VERSION";
SFTP_MSG[SFTP_MSG["OPEN"] = 3] = "OPEN";
SFTP_MSG[SFTP_MSG["CLOSE"] = 4] = "CLOSE";
SFTP_MSG[SFTP_MSG["READ"] = 5] = "READ";
SFTP_MSG[SFTP_MSG["WRITE"] = 6] = "WRITE";
SFTP_MSG[SFTP_MSG["LSTAT"] = 7] = "LSTAT";
SFTP_MSG[SFTP_MSG["FSTAT"] = 8] = "FSTAT";
SFTP_MSG[SFTP_MSG["SETSTAT"] = 9] = "SETSTAT";
SFTP_MSG[SFTP_MSG["FSETSTAT"] = 10] = "FSETSTAT";
SFTP_MSG[SFTP_MSG["OPENDIR"] = 11] = "OPENDIR";
SFTP_MSG[SFTP_MSG["READDIR"] = 12] = "READDIR";
SFTP_MSG[SFTP_MSG["REMOVE"] = 13] = "REMOVE";
SFTP_MSG[SFTP_MSG["MKDIR"] = 14] = "MKDIR";
SFTP_MSG[SFTP_MSG["RMDIR"] = 15] = "RMDIR";
SFTP_MSG[SFTP_MSG["REALPATH"] = 16] = "REALPATH";
SFTP_MSG[SFTP_MSG["STAT"] = 17] = "STAT";
SFTP_MSG[SFTP_MSG["RENAME"] = 18] = "RENAME";
SFTP_MSG[SFTP_MSG["READLINK"] = 19] = "READLINK";
SFTP_MSG[SFTP_MSG["SYMLINK"] = 20] = "SYMLINK";
SFTP_MSG[SFTP_MSG["STATUS"] = 101] = "STATUS";
SFTP_MSG[SFTP_MSG["HANDLE"] = 102] = "HANDLE";
SFTP_MSG[SFTP_MSG["DATA"] = 103] = "DATA";
SFTP_MSG[SFTP_MSG["NAME"] = 104] = "NAME";
SFTP_MSG[SFTP_MSG["ATTRS"] = 105] = "ATTRS";
SFTP_MSG[SFTP_MSG["EXTENDED"] = 200] = "EXTENDED";
SFTP_MSG[SFTP_MSG["EXTENDED_REPLY"] = 201] = "EXTENDED_REPLY";
})(SFTP_MSG || (exports.SFTP_MSG = SFTP_MSG = {}));
// SFTP Status Codes
var SFTP_STATUS;
(function (SFTP_STATUS) {
SFTP_STATUS[SFTP_STATUS["OK"] = 0] = "OK";
SFTP_STATUS[SFTP_STATUS["EOF"] = 1] = "EOF";
SFTP_STATUS[SFTP_STATUS["NO_SUCH_FILE"] = 2] = "NO_SUCH_FILE";
SFTP_STATUS[SFTP_STATUS["PERMISSION_DENIED"] = 3] = "PERMISSION_DENIED";
SFTP_STATUS[SFTP_STATUS["FAILURE"] = 4] = "FAILURE";
SFTP_STATUS[SFTP_STATUS["BAD_MESSAGE"] = 5] = "BAD_MESSAGE";
SFTP_STATUS[SFTP_STATUS["NO_CONNECTION"] = 6] = "NO_CONNECTION";
SFTP_STATUS[SFTP_STATUS["CONNECTION_LOST"] = 7] = "CONNECTION_LOST";
SFTP_STATUS[SFTP_STATUS["OP_UNSUPPORTED"] = 8] = "OP_UNSUPPORTED";
})(SFTP_STATUS || (exports.SFTP_STATUS = SFTP_STATUS = {}));
// File Open Flags
var SFTP_OPEN_FLAGS;
(function (SFTP_OPEN_FLAGS) {
SFTP_OPEN_FLAGS[SFTP_OPEN_FLAGS["READ"] = 1] = "READ";
SFTP_OPEN_FLAGS[SFTP_OPEN_FLAGS["WRITE"] = 2] = "WRITE";
SFTP_OPEN_FLAGS[SFTP_OPEN_FLAGS["APPEND"] = 4] = "APPEND";
SFTP_OPEN_FLAGS[SFTP_OPEN_FLAGS["CREAT"] = 8] = "CREAT";
SFTP_OPEN_FLAGS[SFTP_OPEN_FLAGS["TRUNC"] = 16] = "TRUNC";
SFTP_OPEN_FLAGS[SFTP_OPEN_FLAGS["EXCL"] = 32] = "EXCL";
})(SFTP_OPEN_FLAGS || (exports.SFTP_OPEN_FLAGS = SFTP_OPEN_FLAGS = {}));
// File Attributes
var SFTP_ATTR;
(function (SFTP_ATTR) {
SFTP_ATTR[SFTP_ATTR["SIZE"] = 1] = "SIZE";
SFTP_ATTR[SFTP_ATTR["UIDGID"] = 2] = "UIDGID";
SFTP_ATTR[SFTP_ATTR["PERMISSIONS"] = 4] = "PERMISSIONS";
SFTP_ATTR[SFTP_ATTR["ACMODTIME"] = 8] = "ACMODTIME";
SFTP_ATTR[SFTP_ATTR["EXTENDED"] = 2147483648] = "EXTENDED";
})(SFTP_ATTR || (exports.SFTP_ATTR = SFTP_ATTR = {}));
var ChannelState;
(function (ChannelState) {
ChannelState[ChannelState["CLOSED"] = 0] = "CLOSED";
ChannelState[ChannelState["OPEN"] = 1] = "OPEN";
ChannelState[ChannelState["EOF_SENT"] = 2] = "EOF_SENT";
ChannelState[ChannelState["EOF_RECEIVED"] = 3] = "EOF_RECEIVED";
ChannelState[ChannelState["CLOSE_SENT"] = 4] = "CLOSE_SENT";
ChannelState[ChannelState["CLOSE_RECEIVED"] = 5] = "CLOSE_RECEIVED";
})(ChannelState || (exports.ChannelState = ChannelState = {}));
// Connection State
var ConnectionState;
(function (ConnectionState) {
ConnectionState[ConnectionState["DISCONNECTED"] = 0] = "DISCONNECTED";
ConnectionState[ConnectionState["CONNECTING"] = 1] = "CONNECTING";
ConnectionState[ConnectionState["VERSION_EXCHANGE"] = 2] = "VERSION_EXCHANGE";
ConnectionState[ConnectionState["KEY_EXCHANGE"] = 3] = "KEY_EXCHANGE";
ConnectionState[ConnectionState["AUTHENTICATION"] = 4] = "AUTHENTICATION";
ConnectionState[ConnectionState["AUTHENTICATED"] = 5] = "AUTHENTICATED";
ConnectionState[ConnectionState["SFTP_INIT"] = 6] = "SFTP_INIT";
ConnectionState[ConnectionState["READY"] = 7] = "READY";
ConnectionState[ConnectionState["DISCONNECTING"] = 8] = "DISCONNECTING";
})(ConnectionState || (exports.ConnectionState = ConnectionState = {}));
// Error Types
class SSHError extends Error {
constructor(message, code, level) {
super(message);
this.code = code;
this.level = level;
this.name = 'SSHError';
}
}
exports.SSHError = SSHError;
class SFTPError extends Error {
constructor(message, code, path) {
super(message);
this.code = code;
this.path = path;
this.name = 'SFTPError';
}
}
exports.SFTPError = SFTPError;
//# sourceMappingURL=types.js.map