/** Disk Manager capabilities (`disks.read`, `disks.manage`). Plans are bound to one server and single-use. */ import { call } from "../transport"; import type { Payload } from "../types"; export const disks = Object.freeze({ inspect: (sessionId: string, options: Payload = {}) => call("module_disks_inspect", "plugin:disks:inspect", { ...options, sessionId }), smart: (sessionId: string, device: string, options: Payload = {}) => call("module_disks_smart", "plugin:disks:smart", { ...options, sessionId, device }), plan: (sessionId: string, operations: unknown[], options: Payload = {}) => call("module_disks_plan", "plugin:disks:plan", { ...options, sessionId, operations }), autoExpand: (sessionId: string, suggestionId: string, options: Payload = {}) => call("module_disks_auto_expand", "plugin:disks:autoExpand", { ...options, sessionId, suggestionId }), cancelPlan: (planId: string) => call("module_disks_cancel_plan", "plugin:disks:cancelPlan", { planId }), apply: (sessionId: string, planId: string, options: Payload = {}) => call("module_disks_apply", "plugin:disks:apply", { ...options, sessionId, planId }), jobs: (sessionId: string, options: Payload = {}) => call("module_disks_jobs", "plugin:disks:jobs", { ...options, sessionId }), jobStatus: (sessionId: string, jobId: string, offset = 0, options: Payload = {}) => call("module_disks_job_status", "plugin:disks:jobStatus", { ...options, sessionId, jobId, offset }) });