# Aether Native Integration (Electron)

This directory contains the SvelteKit-side bridge for the Aether Native App (Electron). It provides the UI with access to OS-level capabilities required for the **Event Launcher**.

## 📖 Technical Manual
For detailed architecture, lifecycle, and IPC specifications, see:  
👉 **[AE_EVENTS_LAUNCHER_NATIVE_INTEGRATION.md](../../../documentation/AE_EVENTS_LAUNCHER_NATIVE_INTEGRATION.md)**

## 📂 File Manifest

| File | Role | Description |
| :--- | :--- | :--- |
| `electron_relay.ts` | **Messenger** | The TypeScript API used by Svelte components. Standardizes calls to `snake_case`. |
| `electron_native.js` | **Bridge Logic** | (Internal) Logic often used in the Preload or Renderer to facilitate IPC. |

## 🚀 Usage Example

```typescript
import { is_native, launch_from_cache } from '$lib/electron/electron_relay';

if (is_native) {
    await launch_from_cache({
        cache_root: $ae_loc.native_device.local_file_cache_path,
        hash: file_obj.hash_sha256,
        temp_root: $ae_loc.native_device.host_file_temp_path,
        filename: file_obj.filename
    });
}
```

## 🔐 Security Standards
- **Namespace:** All native functions are exposed via `window.aetherNative`.
- **Whitelisting:** Only specific intents (e.g., `launch_presentation`) are allowed.
- **Path Isolation:** All file operations are restricted to `[home]` and `[tmp]` via placeholder resolution.
