@monoes/monomindcli 1.10.29 → 1.10.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/.claude/helpers/auto-memory-hook.mjs +39 -4
  2. package/.claude/helpers/handlers/adr-draft-handler.cjs +64 -0
  3. package/.claude/helpers/handlers/agent-start-handler.cjs +99 -0
  4. package/.claude/helpers/handlers/edit-handler.cjs +145 -0
  5. package/.claude/helpers/handlers/graph-status-handler.cjs +38 -0
  6. package/.claude/helpers/handlers/route-handler.cjs +393 -0
  7. package/.claude/helpers/handlers/session-handler.cjs +167 -0
  8. package/.claude/helpers/handlers/session-restore-handler.cjs +348 -0
  9. package/.claude/helpers/handlers/task-handler.cjs +329 -0
  10. package/.claude/helpers/hook-handler.cjs +120 -2431
  11. package/.claude/helpers/intelligence.cjs +21 -2
  12. package/.claude/helpers/learning-service.mjs +166 -8
  13. package/.claude/helpers/memory-palace.cjs +72 -12
  14. package/.claude/helpers/router.cjs +79 -5
  15. package/.claude/helpers/statusline.cjs +193 -399
  16. package/.claude/helpers/utils/micro-agents.cjs +338 -0
  17. package/.claude/helpers/utils/monograph.cjs +349 -0
  18. package/.claude/helpers/utils/telemetry.cjs +144 -0
  19. package/.claude/skills/agent-browser-testing/SKILL.md +3 -2
  20. package/.claude/skills/monomind/browse-agentcore.md +116 -0
  21. package/.claude/skills/monomind/browse-electron.md +189 -0
  22. package/.claude/skills/monomind/browse-qa.md +229 -0
  23. package/.claude/skills/monomind/browse-references/authentication.md +162 -0
  24. package/.claude/skills/monomind/browse-references/trust-boundaries.md +41 -0
  25. package/.claude/skills/monomind/browse-references/video-recording.md +84 -0
  26. package/.claude/skills/monomind/browse-slack.md +189 -0
  27. package/.claude/skills/monomind/browse-vercel.md +240 -0
  28. package/.claude/skills/monomind/browse.md +724 -0
  29. package/dist/src/browser/actions.d.ts +28 -0
  30. package/dist/src/browser/actions.d.ts.map +1 -0
  31. package/dist/src/browser/actions.js +292 -0
  32. package/dist/src/browser/actions.js.map +1 -0
  33. package/dist/src/browser/batch.d.ts +13 -0
  34. package/dist/src/browser/batch.d.ts.map +1 -0
  35. package/dist/src/browser/batch.js +11 -0
  36. package/dist/src/browser/batch.js.map +1 -0
  37. package/dist/src/browser/browser.d.ts +14 -0
  38. package/dist/src/browser/browser.d.ts.map +1 -0
  39. package/dist/src/browser/browser.js +198 -0
  40. package/dist/src/browser/browser.js.map +1 -0
  41. package/dist/src/browser/cdp.d.ts +17 -0
  42. package/dist/src/browser/cdp.d.ts.map +1 -0
  43. package/dist/src/browser/cdp.js +106 -0
  44. package/dist/src/browser/cdp.js.map +1 -0
  45. package/dist/src/browser/console-log.d.ts +22 -0
  46. package/dist/src/browser/console-log.d.ts.map +1 -0
  47. package/dist/src/browser/console-log.js +55 -0
  48. package/dist/src/browser/console-log.js.map +1 -0
  49. package/dist/src/browser/dialog.d.ts +11 -0
  50. package/dist/src/browser/dialog.d.ts.map +1 -0
  51. package/dist/src/browser/dialog.js +36 -0
  52. package/dist/src/browser/dialog.js.map +1 -0
  53. package/dist/src/browser/emulation.d.ts +15 -0
  54. package/dist/src/browser/emulation.d.ts.map +1 -0
  55. package/dist/src/browser/emulation.js +62 -0
  56. package/dist/src/browser/emulation.js.map +1 -0
  57. package/dist/src/browser/find.d.ts +21 -0
  58. package/dist/src/browser/find.d.ts.map +1 -0
  59. package/dist/src/browser/find.js +118 -0
  60. package/dist/src/browser/find.js.map +1 -0
  61. package/dist/src/browser/index.d.ts +18 -0
  62. package/dist/src/browser/index.d.ts.map +1 -0
  63. package/dist/src/browser/index.js +18 -0
  64. package/dist/src/browser/index.js.map +1 -0
  65. package/dist/src/browser/network.d.ts +11 -0
  66. package/dist/src/browser/network.d.ts.map +1 -0
  67. package/dist/src/browser/network.js +81 -0
  68. package/dist/src/browser/network.js.map +1 -0
  69. package/dist/src/browser/pdf.d.ts +15 -0
  70. package/dist/src/browser/pdf.d.ts.map +1 -0
  71. package/dist/src/browser/pdf.js +27 -0
  72. package/dist/src/browser/pdf.js.map +1 -0
  73. package/dist/src/browser/screenshot.d.ts +15 -0
  74. package/dist/src/browser/screenshot.d.ts.map +1 -0
  75. package/dist/src/browser/screenshot.js +36 -0
  76. package/dist/src/browser/screenshot.js.map +1 -0
  77. package/dist/src/browser/session.d.ts +8 -0
  78. package/dist/src/browser/session.d.ts.map +1 -0
  79. package/dist/src/browser/session.js +50 -0
  80. package/dist/src/browser/session.js.map +1 -0
  81. package/dist/src/browser/snapshot.d.ts +12 -0
  82. package/dist/src/browser/snapshot.d.ts.map +1 -0
  83. package/dist/src/browser/snapshot.js +147 -0
  84. package/dist/src/browser/snapshot.js.map +1 -0
  85. package/dist/src/browser/storage.d.ts +11 -0
  86. package/dist/src/browser/storage.d.ts.map +1 -0
  87. package/dist/src/browser/storage.js +43 -0
  88. package/dist/src/browser/storage.js.map +1 -0
  89. package/dist/src/browser/tabs.d.ts +8 -0
  90. package/dist/src/browser/tabs.d.ts.map +1 -0
  91. package/dist/src/browser/tabs.js +25 -0
  92. package/dist/src/browser/tabs.js.map +1 -0
  93. package/dist/src/browser/types.d.ts +109 -0
  94. package/dist/src/browser/types.d.ts.map +1 -0
  95. package/dist/src/browser/types.js +16 -0
  96. package/dist/src/browser/types.js.map +1 -0
  97. package/dist/src/browser/wait.d.ts +4 -0
  98. package/dist/src/browser/wait.d.ts.map +1 -0
  99. package/dist/src/browser/wait.js +122 -0
  100. package/dist/src/browser/wait.js.map +1 -0
  101. package/dist/src/commands/browse.d.ts +8 -0
  102. package/dist/src/commands/browse.d.ts.map +1 -0
  103. package/dist/src/commands/browse.js +1494 -0
  104. package/dist/src/commands/browse.js.map +1 -0
  105. package/dist/src/commands/index.d.ts.map +1 -1
  106. package/dist/src/commands/index.js +2 -0
  107. package/dist/src/commands/index.js.map +1 -1
  108. package/dist/src/ui/dashboard-v2.html +1857 -0
  109. package/dist/src/ui/server.mjs +71 -1
  110. package/dist/tsconfig.tsbuildinfo +1 -1
  111. package/package.json +2 -1
@@ -236,6 +236,20 @@ export async function startServer({ port = 4242, projectDir, openBrowser = true
236
236
  return;
237
237
  }
238
238
 
239
+ // ----------------------------------------------------------------- GET /v2
240
+ if (req.method === 'GET' && url === '/v2') {
241
+ const htmlPath = path.join(__dirname, 'dashboard-v2.html');
242
+ try {
243
+ const html = fs.readFileSync(htmlPath, 'utf8');
244
+ res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
245
+ res.end(html);
246
+ } catch (err) {
247
+ res.writeHead(500, { 'Content-Type': 'text/plain' });
248
+ res.end(`Failed to load dashboard-v2.html: ${err.message}`);
249
+ }
250
+ return;
251
+ }
252
+
239
253
  // --------------------------------------------------------- GET /api/git-user
240
254
  if (req.method === 'GET' && url === '/api/git-user') {
241
255
  try {
@@ -348,7 +362,7 @@ export async function startServer({ port = 4242, projectDir, openBrowser = true
348
362
  }
349
363
  }
350
364
  } catch {}
351
- sessions.push({ id, mtime, firstTs, lastTs, lastPrompt, summaries, totalDurationMs, totalMessages });
365
+ sessions.push({ id, mtime, firstTs, lastTs, lastPrompt, summaries, totalDurationMs, totalMessages, file: fp });
352
366
  }
353
367
  res.writeHead(200, { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*', 'Cache-Control': 'no-cache' });
354
368
  res.end(JSON.stringify({ sessions }));
@@ -359,6 +373,62 @@ export async function startServer({ port = 4242, projectDir, openBrowser = true
359
373
  return;
360
374
  }
361
375
 
376
+ // ------------------------------------------------------- GET /api/search-sessions
377
+ if (req.method === 'GET' && url === '/api/search-sessions') {
378
+ const qs = new URL(req.url, 'http://localhost').searchParams;
379
+ const dir = qs.get('dir') || '';
380
+ const q = (qs.get('q') || '').toLowerCase().trim();
381
+ if (!q || q.length < 2) {
382
+ res.writeHead(200, { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' });
383
+ res.end(JSON.stringify({ results: [] }));
384
+ return;
385
+ }
386
+ try {
387
+ const d = path.resolve(dir || process.cwd());
388
+ const slug = d.replace(/\//g, '-');
389
+ const projectClaudeDir = path.join(os.homedir(), '.claude', 'projects', slug);
390
+ let sessionFiles = [];
391
+ try {
392
+ sessionFiles = fs.readdirSync(projectClaudeDir)
393
+ .filter(f => f.endsWith('.jsonl'))
394
+ .map(f => { try { return { f, mtime: fs.statSync(path.join(projectClaudeDir, f)).mtimeMs }; } catch { return null; } })
395
+ .filter(Boolean)
396
+ .sort((a, b) => b.mtime - a.mtime)
397
+ .slice(0, 20);
398
+ } catch {}
399
+ const results = [];
400
+ for (const { f, mtime } of sessionFiles) {
401
+ const fp = path.join(projectClaudeDir, f);
402
+ const id = f.replace('.jsonl', '');
403
+ let lastPrompt = '';
404
+ const matches = [];
405
+ try {
406
+ const lines = fs.readFileSync(fp, 'utf8').split('\n').filter(Boolean);
407
+ for (const line of lines) {
408
+ let e; try { e = JSON.parse(line); } catch { continue; }
409
+ if (e.type === 'last-prompt' && e.lastPrompt) lastPrompt = e.lastPrompt;
410
+ if (e.type === 'user') {
411
+ const msg = e.message || {};
412
+ const ct = msg.content || [];
413
+ let text = '';
414
+ if (Array.isArray(ct)) { for (const b of ct) { if (b && b.type === 'text') { text = b.text; break; } } }
415
+ else if (typeof ct === 'string') text = ct;
416
+ if (text.toLowerCase().includes(q)) matches.push({ text: text.slice(0, 150), ts: e.timestamp });
417
+ }
418
+ if (matches.length >= 3) break;
419
+ }
420
+ } catch {}
421
+ if (matches.length) results.push({ id, file: fp, lastPrompt, mtime, matches });
422
+ }
423
+ res.writeHead(200, { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*', 'Cache-Control': 'no-cache' });
424
+ res.end(JSON.stringify({ results, q }));
425
+ } catch (err) {
426
+ res.writeHead(500, { 'Content-Type': 'application/json' });
427
+ res.end(JSON.stringify({ error: err.message }));
428
+ }
429
+ return;
430
+ }
431
+
362
432
  // ------------------------------------------------------- GET /api/palace
363
433
  if (req.method === 'GET' && url === '/api/palace') {
364
434
  try {