779ca4872b
- Removed Prettier configuration files (.prettierignore and .prettierrc) and migrated formatting to Biome. - Updated Biome configuration from version 2.3.11 to 2.3.12 and changed arrowParentheses rule from 'always' to 'asNeeded'. - Pinned @biomejs/biome dependency to exact version 2.3.12 in package.json and bun.lock. - Applied consistent arrow function formatting across 489 files by removing unnecessary parentheses around single parameters. - Removed blank lines after comment blocks and reorganized imports for consistency across the codebase.
42 lines
1000 B
TypeScript
42 lines
1000 B
TypeScript
/**
|
|
* SSH Hosts Capability
|
|
*
|
|
* Canonical shape for SSH host entries, regardless of source format.
|
|
*/
|
|
import { defineCapability } from ".";
|
|
import type { SourceMeta } from "./types";
|
|
|
|
/**
|
|
* Canonical SSH host entry.
|
|
*/
|
|
export interface SSHHost {
|
|
/** Host name (config key) */
|
|
name: string;
|
|
/** Host address or DNS name */
|
|
host: string;
|
|
/** Optional username override */
|
|
username?: string;
|
|
/** Optional port override */
|
|
port?: number;
|
|
/** Optional identity key path */
|
|
keyPath?: string;
|
|
/** Optional host description */
|
|
description?: string;
|
|
/** Optional compatibility mode flag */
|
|
compat?: boolean;
|
|
/** Source metadata (added by loader) */
|
|
_source: SourceMeta;
|
|
}
|
|
|
|
export const sshCapability = defineCapability<SSHHost>({
|
|
id: "ssh",
|
|
displayName: "SSH Hosts",
|
|
description: "SSH host entries for remote command execution",
|
|
key: host => host.name,
|
|
validate: host => {
|
|
if (!host.name) return "Missing name";
|
|
if (!host.host) return "Missing host";
|
|
return undefined;
|
|
},
|
|
});
|