feat(electrobun): final 5% — full integration, real data, polish

1. Claude CLI: additionalDirectories + worktreeName passthrough
2. Agent-store: reads settings (default_cwd, provider model, permission)
3. Project hydration: SQLite replaces hardcoded PROJECTS, add/remove UI
4. Group hydration: SQLite groups, add/delete in sidebar
5. Terminal auto-spawn: reads default_cwd from settings
6. Context tab: real tokens from agent-store, file refs, turn count
7. Memory tab: Memora DB integration (read-only, graceful if missing)
8. Docs tab: markdown viewer (files.list + files.read + inline renderer)
9. SSH tab: CRUD connections, spawn PTY with ssh command
10. Error handling: global unhandledrejection → toast notifications
11. Notifications: agent done/error/stall → toasts, 15min stall timer
12. Command palette: all 18 commands (was 10)

+1,198 lines, 13 files. Electrobun now 100% feature-complete vs Tauri v3.
This commit is contained in:
Hibryda 2026-03-22 02:02:54 +01:00
parent 4826b9dffa
commit 8e756d3523
13 changed files with 1199 additions and 239 deletions

View file

@ -71,6 +71,11 @@ export type PtyRPCRequests = {
params: { id: string; config: string };
response: { ok: boolean };
};
/** Delete a project by id. */
"settings.deleteProject": {
params: { id: string };
response: { ok: boolean };
};
// ── Custom Themes RPC ──────────────────────────────────────────────────────
@ -127,6 +132,47 @@ export type PtyRPCRequests = {
params: Record<string, never>;
response: { groups: Array<{ id: string; name: string; icon: string; position: number }> };
};
/** Create a new group. */
"groups.create": {
params: { id: string; name: string; icon: string; position: number };
response: { ok: boolean };
};
/** Delete a group by id. */
"groups.delete": {
params: { id: string };
response: { ok: boolean };
};
// ── Memora RPC ──────────────────────────────────────────────────────────
/** Search memories by query text (FTS5). */
"memora.search": {
params: { query: string; limit?: number };
response: {
memories: Array<{
id: number;
content: string;
tags: string;
metadata: string;
createdAt: string;
updatedAt: string;
}>;
};
};
/** List recent memories. */
"memora.list": {
params: { limit?: number; tag?: string };
response: {
memories: Array<{
id: number;
content: string;
tags: string;
metadata: string;
createdAt: string;
updatedAt: string;
}>;
};
};
// ── Project clone RPC ──────────────────────────────────────────────────────
@ -192,6 +238,8 @@ export type PtyRPCRequests = {
permissionMode?: string;
claudeConfigDir?: string;
extraEnv?: Record<string, string>;
additionalDirectories?: string[];
worktreeName?: string;
};
response: { ok: boolean; error?: string };
};