feat(app): embed indexer in Electron with file-watching service and UI refinements

Extract schema DDL into scripts/schema.sql shared between CLI and app.
  Add an in-process chokidar-based indexer-service that watches ~/.claude/projects
  for JSONL changes, debounces, and triggers background rebuilds via a worker
  thread. Rename Usage view to Activity, flesh out MemoryDetail and SubagentDetail
  views, and refine App.vue layout/routing. The main process now starts/stops the
  indexer lifecycle and notifies renderer windows on index updates.
This commit is contained in:
tommy0103
2026-06-13 03:42:01 +08:00
parent b524339d85
commit 4eec6b38c9
29 changed files with 1370 additions and 314 deletions
+17
View File
@@ -0,0 +1,17 @@
const { parentPort } = require('worker_threads');
const { buildIndex } = require('./indexer');
parentPort.on('message', ({ id, args }) => {
try {
const result = buildIndex(args || {});
parentPort.postMessage({ id, result });
} catch (error) {
parentPort.postMessage({
id,
error: {
message: error.message,
stack: error.stack,
},
});
}
});