/** * CH-J API — the single entry point between the web UI, modules and the Rust Core. * * - `core`: internal Core API for the main window (vault, profiles, SSH, updates, …). * - `module`: public, versioned Module API (formerly Plugin API). Version 1.7.0 is fully * compatible with Plugin API 1.7.0 of CH-J Server Manager 0.1.0. * * Permissions are enforced in the Rust Core (calling window identity + module manifest); * these wrappers only provide typing and a stable shape. */ import { app } from "./core/app"; import { config } from "./core/config"; import { biometrics, vault } from "./core/vault"; import { profiles } from "./core/profiles"; import { availability } from "./core/availability"; import { ssh } from "./core/ssh"; import { diagnostics } from "./core/diagnostics"; import { updates } from "./core/updates"; import { modules } from "./core/modules"; import { license } from "./core/license"; import { windowControls } from "./core/window"; import { info, close, minimize, ui } from "./module/ui"; import { sessions } from "./module/sessions"; import { system } from "./module/system"; import { disks } from "./module/disks"; import { keys } from "./module/keys"; import { logs } from "./module/logs"; import { users } from "./module/users"; import { nginx } from "./module/nginx"; import { files } from "./module/sftp"; import { hashing } from "./module/hashing"; export * from "./types"; /** Version of the public Module API (semver; compatible with Plugin API ^1.x manifests). */ export const MODULE_API_VERSION = "1.7.0"; /** Version of the internal Core API used by the main window. */ export const CORE_API_VERSION = "1.1.0"; export const core = Object.freeze({ app, config, vault, biometrics, profiles, availability, ssh, diagnostics, updates, modules, windowControls }); export const moduleApi = Object.freeze({ version: MODULE_API_VERSION, getInfo: info, close, minimize, ui, sessions, system, disks, keys, logs, users, nginx, files, hashing }); export const licenseApi = license;