/** * Instances: one Proxmox connection per MCP server process. * * An admin usually has more than one Proxmox to talk to -- a production * cluster and a lab box, say. Each gets its own instance, which means its own * credentials file and its own entry in the client config, so the two never * share a process. That process boundary is the isolation: the lab server * simply has no way to reach the production cluster's token. * * The alternative -- one server with a `target` argument on every tool -- would * put both sets of credentials in one process and make "which cluster did that * delete run against?" a question the model answers, not the operating system. */ export declare const DEFAULT_INSTANCE_NAME = "proxmox"; /** Legacy single-instance layout, still read so existing installs keep working. */ export declare const LEGACY_CONFIG_FILENAME = "config.json"; export type InstanceScope = "project" | "user"; export type InstanceRef = { name: string; scope: InstanceScope; configPath: string; /** Key used for this instance in the client config, and the tool prefix. */ serverKey: string; }; /** * Turns anything an admin might type -- or a cluster name discovered from the * API -- into a usable instance name, so nobody has to know the rules. */ export declare const sanitizeInstanceName: (raw: string) => string; export declare const assertValidInstanceName: (name: string) => void; export declare const configDirFor: (scope: InstanceScope, cwd: string) => string; export declare const instanceRef: (name: string, scope: InstanceScope, cwd: string) => InstanceRef; /** * Lists configured instances, project scope first. Used by `list` and to give * a useful error when `--name` does not match anything. */ export declare const findInstances: (cwd: string) => Promise; /** Resolves a named instance, preferring project scope over user scope. */ export declare const resolveInstanceByName: (name: string, cwd: string) => Promise; /** The pre-instances layout: `.nandi-proxmox-mcp/config.json` keyed as the package name. */ export declare const legacyInstanceRef: (cwd: string) => InstanceRef; //# sourceMappingURL=instances.d.ts.map