@xec-sh/cli
Version:
Xec: The Universal Shell for TypeScript
32 lines (31 loc) • 915 B
TypeScript
export interface SecretProvider {
get(key: string): Promise<string | null>;
set(key: string, value: string): Promise<void>;
delete(key: string): Promise<void>;
list(): Promise<string[]>;
has(key: string): Promise<boolean>;
initialize(): Promise<void>;
}
export interface SecretMetadata {
key: string;
createdAt: Date;
updatedAt: Date;
description?: string;
}
export interface EncryptedSecret {
version: number;
encrypted: string;
iv: string;
authTag: string;
algorithm: string;
metadata: SecretMetadata;
}
export interface SecretProviderConfig {
type: 'local' | 'vault' | 'aws-secrets' | '1password' | 'env' | 'dotenv';
config?: Record<string, any>;
}
export declare class SecretError extends Error {
readonly code: string;
readonly key?: string | undefined;
constructor(message: string, code: string, key?: string | undefined);
}