Review CLI configuration and secret handling

src/config-types.tsTypeScript
@@ -0,0 +1,25 @@
1+export interface CliConfig {
2+ endpoint: string;
3+ timeoutMilliseconds: number;
4+ logLevel: "debug" | "info" | "warn";
5+ region?: string;
6+ profile?: string;
7+ token?: string;
8+}
9+
10+export type ConfigInput = Partial<CliConfig>;
11+
12+export interface ConfigDependencies {
13+ defaults: CliConfig;
14+ environment: Record<string, string | undefined>;
15+ readProjectConfig(): Promise<ConfigInput>;
16+ writeCache(path: string, contents: string, mode: number): Promise<void>;
17+ diagnostics: {
18+ info(message: string, fields: Record<string, unknown>): void;
19+ };
20+}
21+
22+export interface LoadConfigInput {
23+ flags: ConfigInput;
24+ dependencies: ConfigDependencies;
25+}