Files
filteredandGitHub 881f1fd638 Add Type-safe IPC system (#1366)
Replaces Electron's `any`-typed IPC with compile-time type safety.

### Type Contract
- Central `IpcChannels` interface defines all channels with param/return
types
- Compile-time tests ensure complete coverage of `IPC_CHANNELS`
- `strictIpcMain`/`strictIpcRenderer` wrappers enforce type contract

### Migration
- All IPC usage migrated to type-safe wrappers
- ESLint prevents import of untyped `ipcMain`/`ipcRenderer`
- Fixed pre-existing type mismatches discovered during migration

### API Fixes
- Terminal write: Returns `void` instead of `string`
- Download pause/resume/cancel: Return `void` instead of `boolean`
- Validation complete: Marked as returning incorrect type
- Validate installation: Marked as returning incorrect type
- Terminal restore: Marked as potentially `undefined`
- Get base path: Correctly typed as `string | undefined`
- Get GPU: Needs API fix to send `GpuType` instead of `TorchDeviceType`

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-1366-Type-safe-IPC-system-2866d73d365081ffb02ac1d2dce7ce62)
by [Unito](https://www.unito.io)
2025-10-09 07:49:48 -07:00
..