fix: replace any types with proper TypeScript types
Replace all `any` types with properly defined TypeScript interfaces and types throughout the codebase to improve type safety and eliminate type-related code quality issues. Changes: - Define ElectronSafeStorage interface for Electron's safeStorage API - Create LegacySettings interface for settings migration in main.ts - Define JSONValue, JSONRPCParams types for JSON-RPC protocol - Define JSONSchemaProperty for tool input schemas - Create YAMLValue type for frontmatter values - Define FrontmatterValue type for adapter interfaces - Update middleware to use proper Express NextFunction and JSONRPCResponse types - Fix tool registry to handle args with proper typing (with eslint-disable for dynamic dispatch) - Fix notifications to use proper types with eslint-disable where dynamic access is needed - Add proper null safety assertions where appropriate - Fix TFolder stat access with proper type extension All type errors resolved. TypeScript compilation passes with --skipLibCheck.
This commit is contained in:
@@ -1,5 +1,12 @@
|
||||
// Define Electron SafeStorage interface
|
||||
interface ElectronSafeStorage {
|
||||
isEncryptionAvailable(): boolean;
|
||||
encryptString(plainText: string): Buffer;
|
||||
decryptString(encrypted: Buffer): string;
|
||||
}
|
||||
|
||||
// Safely import safeStorage - may not be available in all environments
|
||||
let safeStorage: any = null;
|
||||
let safeStorage: ElectronSafeStorage | null = null;
|
||||
try {
|
||||
const electron = require('electron');
|
||||
safeStorage = electron.safeStorage || null;
|
||||
@@ -35,7 +42,7 @@ export function encryptApiKey(apiKey: string): string {
|
||||
}
|
||||
|
||||
try {
|
||||
const encrypted = safeStorage.encryptString(apiKey);
|
||||
const encrypted = safeStorage!.encryptString(apiKey);
|
||||
return `encrypted:${encrypted.toString('base64')}`;
|
||||
} catch (error) {
|
||||
console.error('Failed to encrypt API key, falling back to plaintext:', error);
|
||||
|
||||
Reference in New Issue
Block a user