BREAKING CHANGE(core): rework core device architecture: consolidate protocols into a protocols/ module, introduce UniversalDevice + factories, and remove many legacy device-specific classes (breaking API changes)

This commit is contained in:
2026-01-09 09:36:43 +00:00
parent 69a72931dd
commit 181c4f5d5d
21 changed files with 1232 additions and 5707 deletions

56
ts/protocols/index.ts Normal file
View File

@@ -0,0 +1,56 @@
/**
* Protocol implementations
* All network communication protocols for device interaction
*/
// eSCL/AirScan scanner protocol
export { EsclProtocol } from './protocol.escl.js';
// SANE network scanner protocol
export { SaneProtocol } from './protocol.sane.js';
// IPP printer protocol
export { IppProtocol } from './protocol.ipp.js';
// SNMP query protocol
export {
SnmpProtocol,
SNMP_OIDS,
type TSnmpValueType,
type ISnmpVarbind,
type ISnmpOptions,
} from './protocol.snmp.js';
// Network UPS Tools protocol
export {
NutProtocol,
NUT_VARIABLES,
NUT_COMMANDS,
type TNutStatusFlag,
type INutUpsInfo,
type INutVariable,
} from './protocol.nut.js';
// UPnP/DLNA SOAP protocol
export {
UpnpSoapClient,
UPNP_SERVICE_TYPES,
UPNP_DEVICE_TYPES,
type TDlnaTransportState,
type TDlnaTransportStatus,
type IDlnaPositionInfo,
type IDlnaTransportInfo,
type IDlnaMediaInfo,
type IDlnaContentItem,
type IDlnaBrowseResult,
} from './protocol.upnp.js';
// UPS SNMP (UPS-MIB RFC 1628)
export {
UpsSnmpHandler,
UPS_SNMP_OIDS,
type TUpsBatteryStatus,
type TUpsOutputSource,
type TUpsTestResult,
type IUpsSnmpStatus,
} from './protocol.upssnmp.js';