@monoes/monomindcli 1.11.11 → 1.11.13

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 (146) hide show
  1. package/.claude/skills/mastermind/architect.md +4 -7
  2. package/.claude/skills/mastermind/autodev.md +1 -3
  3. package/.claude/skills/mastermind/idea.md +0 -8
  4. package/.claude/skills/mastermind/monitor.md +2 -2
  5. package/README.md +286 -129
  6. package/dist/src/commands/doctor.d.ts.map +1 -1
  7. package/dist/src/commands/doctor.js +55 -1
  8. package/dist/src/commands/doctor.js.map +1 -1
  9. package/dist/src/ui/collector.mjs +118 -9
  10. package/dist/src/ui/dashboard.html +1432 -493
  11. package/dist/src/ui/data/agent-avatars.html +763 -0
  12. package/dist/src/ui/data/agent-avatars.json +966 -0
  13. package/dist/src/ui/data/avatars/account-strategist.svg +58 -0
  14. package/dist/src/ui/data/avatars/accounts-payable.svg +54 -0
  15. package/dist/src/ui/data/avatars/adaptive-coordinator.svg +55 -0
  16. package/dist/src/ui/data/avatars/adaptive-coordinator2.svg +54 -0
  17. package/dist/src/ui/data/avatars/ai-citation.svg +57 -0
  18. package/dist/src/ui/data/avatars/ai-engineer.svg +61 -0
  19. package/dist/src/ui/data/avatars/analytics-reporter.svg +53 -0
  20. package/dist/src/ui/data/avatars/api-tester.svg +53 -0
  21. package/dist/src/ui/data/avatars/architecture.svg +54 -0
  22. package/dist/src/ui/data/avatars/automation-governance.svg +55 -0
  23. package/dist/src/ui/data/avatars/backend-dev.svg +53 -0
  24. package/dist/src/ui/data/avatars/benchmarker.svg +54 -0
  25. package/dist/src/ui/data/avatars/blockchain-auditor.svg +53 -0
  26. package/dist/src/ui/data/avatars/byzantine-coord.svg +57 -0
  27. package/dist/src/ui/data/avatars/case-analyst.svg +57 -0
  28. package/dist/src/ui/data/avatars/cicd-engineer.svg +55 -0
  29. package/dist/src/ui/data/avatars/cloud-architect.svg +54 -0
  30. package/dist/src/ui/data/avatars/code-review-swarm.svg +57 -0
  31. package/dist/src/ui/data/avatars/coder-v119.svg +57 -0
  32. package/dist/src/ui/data/avatars/coder.svg +58 -0
  33. package/dist/src/ui/data/avatars/collective-coord.svg +54 -0
  34. package/dist/src/ui/data/avatars/compliance-auditor.svg +58 -0
  35. package/dist/src/ui/data/avatars/consensus-coordinator.svg +54 -0
  36. package/dist/src/ui/data/avatars/content-creator.svg +54 -0
  37. package/dist/src/ui/data/avatars/crdt-synchronizer.svg +53 -0
  38. package/dist/src/ui/data/avatars/cro-specialist.svg +58 -0
  39. package/dist/src/ui/data/avatars/data-consolidator.svg +54 -0
  40. package/dist/src/ui/data/avatars/data-engineer.svg +53 -0
  41. package/dist/src/ui/data/avatars/database-optimizer.svg +61 -0
  42. package/dist/src/ui/data/avatars/deal-strategist.svg +54 -0
  43. package/dist/src/ui/data/avatars/defender.svg +53 -0
  44. package/dist/src/ui/data/avatars/devops-automator.svg +56 -0
  45. package/dist/src/ui/data/avatars/discovery-coach.svg +54 -0
  46. package/dist/src/ui/data/avatars/email-marketing.svg +57 -0
  47. package/dist/src/ui/data/avatars/embedded-firmware.svg +61 -0
  48. package/dist/src/ui/data/avatars/evidence-collector.svg +57 -0
  49. package/dist/src/ui/data/avatars/experiment-tracker.svg +53 -0
  50. package/dist/src/ui/data/avatars/feedback-synthesizer.svg +54 -0
  51. package/dist/src/ui/data/avatars/finance-tracker.svg +54 -0
  52. package/dist/src/ui/data/avatars/frontend-developer.svg +54 -0
  53. package/dist/src/ui/data/avatars/game-audio-engineer.svg +59 -0
  54. package/dist/src/ui/data/avatars/game-designer.svg +54 -0
  55. package/dist/src/ui/data/avatars/gossip-coordinator.svg +54 -0
  56. package/dist/src/ui/data/avatars/hierarchical-coord.svg +54 -0
  57. package/dist/src/ui/data/avatars/incident-commander.svg +57 -0
  58. package/dist/src/ui/data/avatars/infrastructure.svg +54 -0
  59. package/dist/src/ui/data/avatars/input-validator.svg +53 -0
  60. package/dist/src/ui/data/avatars/ios-developer.svg +54 -0
  61. package/dist/src/ui/data/avatars/issue-tracker.svg +53 -0
  62. package/dist/src/ui/data/avatars/judge.svg +55 -0
  63. package/dist/src/ui/data/avatars/launch-strategist.svg +54 -0
  64. package/dist/src/ui/data/avatars/legal-compliance.svg +53 -0
  65. package/dist/src/ui/data/avatars/level-designer.svg +53 -0
  66. package/dist/src/ui/data/avatars/load-balancer.svg +57 -0
  67. package/dist/src/ui/data/avatars/mcp-builder.svg +53 -0
  68. package/dist/src/ui/data/avatars/memory-coordinator.svg +55 -0
  69. package/dist/src/ui/data/avatars/mesh-coordinator.svg +55 -0
  70. package/dist/src/ui/data/avatars/ml-developer.svg +58 -0
  71. package/dist/src/ui/data/avatars/mobile-app-builder.svg +53 -0
  72. package/dist/src/ui/data/avatars/mobile-dev.svg +54 -0
  73. package/dist/src/ui/data/avatars/model-qa.svg +58 -0
  74. package/dist/src/ui/data/avatars/narrative-designer.svg +58 -0
  75. package/dist/src/ui/data/avatars/outbound-strategist.svg +55 -0
  76. package/dist/src/ui/data/avatars/path-validator.svg +54 -0
  77. package/dist/src/ui/data/avatars/payment-agent.svg +53 -0
  78. package/dist/src/ui/data/avatars/perf-analyzer.svg +58 -0
  79. package/dist/src/ui/data/avatars/pipeline-analyst.svg +54 -0
  80. package/dist/src/ui/data/avatars/planner.svg +55 -0
  81. package/dist/src/ui/data/avatars/pr-manager.svg +54 -0
  82. package/dist/src/ui/data/avatars/pricing-strategist.svg +54 -0
  83. package/dist/src/ui/data/avatars/product-manager.svg +54 -0
  84. package/dist/src/ui/data/avatars/production-validator.svg +54 -0
  85. package/dist/src/ui/data/avatars/project-shepherd.svg +54 -0
  86. package/dist/src/ui/data/avatars/proposal-strategist.svg +54 -0
  87. package/dist/src/ui/data/avatars/prosecutor.svg +57 -0
  88. package/dist/src/ui/data/avatars/pseudocode.svg +53 -0
  89. package/dist/src/ui/data/avatars/queen-coordinator.svg +55 -0
  90. package/dist/src/ui/data/avatars/quorum-manager.svg +53 -0
  91. package/dist/src/ui/data/avatars/raft-manager.svg +53 -0
  92. package/dist/src/ui/data/avatars/reality-checker.svg +58 -0
  93. package/dist/src/ui/data/avatars/recruitment.svg +58 -0
  94. package/dist/src/ui/data/avatars/refinement.svg +53 -0
  95. package/dist/src/ui/data/avatars/release-manager.svg +54 -0
  96. package/dist/src/ui/data/avatars/repo-architect.svg +54 -0
  97. package/dist/src/ui/data/avatars/researcher.svg +58 -0
  98. package/dist/src/ui/data/avatars/resource-allocator.svg +53 -0
  99. package/dist/src/ui/data/avatars/reviewer.svg +53 -0
  100. package/dist/src/ui/data/avatars/safe-executor.svg +53 -0
  101. package/dist/src/ui/data/avatars/sales-coach.svg +53 -0
  102. package/dist/src/ui/data/avatars/sales-engineer.svg +58 -0
  103. package/dist/src/ui/data/avatars/scout-explorer.svg +58 -0
  104. package/dist/src/ui/data/avatars/security-architect.svg +54 -0
  105. package/dist/src/ui/data/avatars/security-auditor.svg +55 -0
  106. package/dist/src/ui/data/avatars/senior-developer.svg +58 -0
  107. package/dist/src/ui/data/avatars/senior-pm.svg +58 -0
  108. package/dist/src/ui/data/avatars/seo-specialist.svg +57 -0
  109. package/dist/src/ui/data/avatars/social-media.svg +54 -0
  110. package/dist/src/ui/data/avatars/solidity-engineer.svg +58 -0
  111. package/dist/src/ui/data/avatars/sparc-coder.svg +58 -0
  112. package/dist/src/ui/data/avatars/sparc-coord.svg +56 -0
  113. package/dist/src/ui/data/avatars/specification.svg +57 -0
  114. package/dist/src/ui/data/avatars/sprint-prioritizer.svg +53 -0
  115. package/dist/src/ui/data/avatars/sre.svg +54 -0
  116. package/dist/src/ui/data/avatars/studio-operations.svg +53 -0
  117. package/dist/src/ui/data/avatars/studio-producer.svg +55 -0
  118. package/dist/src/ui/data/avatars/support-responder.svg +56 -0
  119. package/dist/src/ui/data/avatars/system-architect.svg +54 -0
  120. package/dist/src/ui/data/avatars/task-orchestrator.svg +56 -0
  121. package/dist/src/ui/data/avatars/technical-artist.svg +53 -0
  122. package/dist/src/ui/data/avatars/technical-writer.svg +59 -0
  123. package/dist/src/ui/data/avatars/tester.svg +53 -0
  124. package/dist/src/ui/data/avatars/threat-detection.svg +61 -0
  125. package/dist/src/ui/data/avatars/trend-researcher.svg +54 -0
  126. package/dist/src/ui/data/avatars/trial-director.svg +55 -0
  127. package/dist/src/ui/data/avatars/unity-architect.svg +54 -0
  128. package/dist/src/ui/data/avatars/visionos-engineer.svg +57 -0
  129. package/dist/src/ui/data/avatars/worker-specialist.svg +55 -0
  130. package/dist/src/ui/data/avatars/workflow-architect.svg +57 -0
  131. package/dist/src/ui/data/avatars/workflow-automation.svg +54 -0
  132. package/dist/src/ui/data/avatars/zk-steward.svg +54 -0
  133. package/dist/src/ui/server.mjs +75 -73
  134. package/dist/src/update/checker.d.ts.map +1 -1
  135. package/dist/src/update/checker.js +24 -7
  136. package/dist/src/update/checker.js.map +1 -1
  137. package/dist/src/update/index.d.ts.map +1 -1
  138. package/dist/src/update/index.js +3 -6
  139. package/dist/src/update/index.js.map +1 -1
  140. package/dist/tsconfig.tsbuildinfo +1 -1
  141. package/package.json +9 -9
  142. package/dist/src/ui/.monomind/data/pending-insights.jsonl +0 -0
  143. package/dist/src/ui/.monomind/data/ranked-context.json +0 -5
  144. package/dist/src/ui/.monomind/loops/mastermind-review-1778664132789.json +0 -16
  145. package/dist/src/ui/.monomind/sessions/current.json +0 -13
  146. package/dist/src/ui/.monomind/sessions/session-1776778451399.json +0 -15
@@ -1031,7 +1031,8 @@ export async function startServer({ port = 4242, projectDir, openBrowser = true
1031
1031
  // ---------------------------------------------------------- GET /api/loops
1032
1032
  if (req.method === 'GET' && url === '/api/loops') {
1033
1033
  try {
1034
- const cwd = projectDir || process.cwd();
1034
+ const qs = new URL(req.url, 'http://localhost').searchParams;
1035
+ const cwd = qs.get('dir') || projectDir || process.cwd();
1035
1036
  const loopsDir = path.join(cwd, '.monomind', 'loops');
1036
1037
  let loops = [];
1037
1038
  let stopFiles = new Set();
@@ -1059,7 +1060,8 @@ export async function startServer({ port = 4242, projectDir, openBrowser = true
1059
1060
  let alive = false;
1060
1061
  try { process.kill(pid, 0); alive = true; } catch {}
1061
1062
  const alreadyTracked = loops.some(l => l.id === sessionId || l.sessionId === sessionId);
1062
- if (alive && sessionId && !alreadyTracked && !stopFiles.has(sessionId)) {
1063
+ const hasRepeatLoops = loops.some(l => l.source === '_repeat.md');
1064
+ if (alive && sessionId && !alreadyTracked && !hasRepeatLoops && !stopFiles.has(sessionId)) {
1063
1065
  // Try to extract ScheduleWakeup context from session JSONL
1064
1066
  let loopEntry = null;
1065
1067
  try {
@@ -1099,11 +1101,15 @@ export async function startServer({ port = 4242, projectDir, openBrowser = true
1099
1101
  const timesFlag = (prompt).match(/--times\s+(\d+)/);
1100
1102
  const finalRep = repFlag ? parseInt(repFlag[1]) : currentRep;
1101
1103
  const finalMax = timesFlag ? parseInt(timesFlag[1]) : maxReps;
1102
- const type = (finalMax > 0 || /repeat|loop/i.test(prompt)) ? 'repeat' : 'do';
1104
+ const isTillendPrompt = /--tillend/i.test(prompt);
1105
+ const type = isTillendPrompt ? 'tillend' : (finalMax > 0 || /repeat|loop/i.test(prompt)) ? 'repeat' : 'do';
1106
+ const cmdMatch = prompt.match(/^\s*(\/[\w:_-]+)/);
1107
+ const command = cmdMatch ? cmdMatch[1] : '';
1103
1108
  loopEntry = {
1104
1109
  id: sessionId,
1105
1110
  sessionId,
1106
1111
  type,
1112
+ command,
1107
1113
  status: 'waiting',
1108
1114
  prompt: prompt.slice(0, 300),
1109
1115
  reason,
@@ -1151,9 +1157,10 @@ export async function startServer({ port = 4242, projectDir, openBrowser = true
1151
1157
  req.on('data', chunk => { body += chunk; });
1152
1158
  req.on('end', () => {
1153
1159
  try {
1160
+ const stopQs = new URL(req.url, 'http://localhost').searchParams;
1154
1161
  const { id } = JSON.parse(body);
1155
1162
  if (!id) { res.writeHead(400); res.end(JSON.stringify({ error: 'id required' })); return; }
1156
- const loopsDir = path.join(projectDir || process.cwd(), '.monomind', 'loops');
1163
+ const loopsDir = path.join(stopQs.get('dir') || projectDir || process.cwd(), '.monomind', 'loops');
1157
1164
  fs.mkdirSync(loopsDir, { recursive: true });
1158
1165
  fs.writeFileSync(path.join(loopsDir, `${id}.stop`), `stop-requested-${Date.now()}`);
1159
1166
  res.writeHead(200, { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' });
@@ -1169,12 +1176,14 @@ export async function startServer({ port = 4242, projectDir, openBrowser = true
1169
1176
  req.on('data', chunk => { body += chunk; });
1170
1177
  req.on('end', () => {
1171
1178
  try {
1179
+ const createQs = new URL(req.url, 'http://localhost').searchParams;
1172
1180
  const { name, prompt, interval, maxReps } = JSON.parse(body);
1173
1181
  if (!prompt) { res.writeHead(400); res.end(JSON.stringify({ error: 'prompt required' })); return; }
1174
- const loopsDir = path.join(projectDir || process.cwd(), '.monomind', 'loops');
1182
+ const loopsDir = path.join(createQs.get('dir') || projectDir || process.cwd(), '.monomind', 'loops');
1175
1183
  fs.mkdirSync(loopsDir, { recursive: true });
1176
1184
  const id = `loop-${Date.now()}-${Math.random().toString(36).slice(2,7)}`;
1177
- const loop = { id, name: name || prompt.slice(0, 40), prompt, interval: interval || '1h', maxReps: maxReps || null, status: 'active', currentRep: 0, startedAt: new Date().toISOString(), lastRunAt: null };
1185
+ const nowMs = Date.now();
1186
+ const loop = { id, type: 'repeat', name: name || prompt.slice(0, 40), prompt, interval: interval || '1h', maxReps: maxReps || null, status: 'active', currentRep: 0, startedAt: nowMs, lastRunAt: null };
1178
1187
  fs.writeFileSync(path.join(loopsDir, `${id}.json`), JSON.stringify(loop, null, 2));
1179
1188
  res.writeHead(200, { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' });
1180
1189
  res.end(JSON.stringify({ ok: true, id }));
@@ -1343,8 +1352,8 @@ export async function startServer({ port = 4242, projectDir, openBrowser = true
1343
1352
 
1344
1353
  // Generate HTML on-the-fly from SQLite DB using the improved toHtml export
1345
1354
  if (fs.existsSync(dbPath)) {
1346
- const { openDb, closeDb } = await import('/Users/morteza/Desktop/tools/monomind/packages/@monomind/monograph/dist/src/storage/db.js');
1347
- const { toHtml } = await import('/Users/morteza/Desktop/tools/monomind/packages/@monomind/monograph/dist/src/export/html.js');
1355
+ const { openDb, closeDb } = await import(new URL('../../../../monograph/dist/src/storage/db.js', import.meta.url).href);
1356
+ const { toHtml } = await import(new URL('../../../../monograph/dist/src/export/html.js', import.meta.url).href);
1348
1357
  const db = openDb(dbPath);
1349
1358
  let html;
1350
1359
  try {
@@ -1404,7 +1413,7 @@ export async function startServer({ port = 4242, projectDir, openBrowser = true
1404
1413
  let report = null, exists = false, stats = null;
1405
1414
  if (fs.existsSync(dbPath)) {
1406
1415
  exists = true;
1407
- const { openDb, closeDb } = await import('/Users/morteza/Desktop/tools/monomind/packages/@monomind/monograph/dist/src/storage/db.js');
1416
+ const { openDb, closeDb } = await import(new URL('../../../../monograph/dist/src/storage/db.js', import.meta.url).href);
1408
1417
  const db = openDb(dbPath);
1409
1418
  try {
1410
1419
  const nodeCount = db.prepare('SELECT COUNT(*) AS c FROM nodes').get().c;
@@ -1447,7 +1456,7 @@ export async function startServer({ port = 4242, projectDir, openBrowser = true
1447
1456
  const dbPath = path.join(d, '.monomind', 'monograph.db');
1448
1457
  let nodes = [], edges = [];
1449
1458
  if (fs.existsSync(dbPath)) {
1450
- const { openDb, closeDb } = await import('/Users/morteza/Desktop/tools/monomind/packages/@monomind/monograph/dist/src/storage/db.js');
1459
+ const { openDb, closeDb } = await import(new URL('../../../../monograph/dist/src/storage/db.js', import.meta.url).href);
1451
1460
  const db = openDb(dbPath);
1452
1461
  try {
1453
1462
  const nodeLimit = Math.min(parseInt(qs.get('limit') || '500', 10), 5000);
@@ -1585,8 +1594,8 @@ export async function startServer({ port = 4242, projectDir, openBrowser = true
1585
1594
 
1586
1595
  // Run doc parsing in background
1587
1596
  (async () => {
1588
- const { openDb, closeDb } = await import('/Users/morteza/Desktop/tools/monomind/packages/@monomind/monograph/dist/src/storage/db.js');
1589
- const { isFileCached, updateFileCache, hashFileContent } = await import('/Users/morteza/Desktop/tools/monomind/packages/@monomind/monograph/dist/src/storage/file-cache.js');
1597
+ const { openDb, closeDb } = await import(new URL('../../../../monograph/dist/src/storage/db.js', import.meta.url).href);
1598
+ const { isFileCached, updateFileCache, hashFileContent } = await import(new URL('../../../../monograph/dist/src/storage/file-cache.js', import.meta.url).href);
1590
1599
  const { readFileSync, readdirSync, statSync } = fs;
1591
1600
 
1592
1601
  const docExts = new Set(['.md', '.mdx', '.txt', '.rst']);
@@ -1749,7 +1758,7 @@ export async function startServer({ port = 4242, projectDir, openBrowser = true
1749
1758
  const dbPath = path.join(d, '.monomind', 'monograph.db');
1750
1759
  if (!id) { res.writeHead(400); res.end(JSON.stringify({ error: 'Missing ?id=' })); return; }
1751
1760
  if (!fs.existsSync(dbPath)) { res.writeHead(404); res.end(JSON.stringify({ error: 'Graph not built' })); return; }
1752
- const { openDb, closeDb } = await import('/Users/morteza/Desktop/tools/monomind/packages/@monomind/monograph/dist/src/storage/db.js');
1761
+ const { openDb, closeDb } = await import(new URL('../../../../monograph/dist/src/storage/db.js', import.meta.url).href);
1753
1762
  const db = openDb(dbPath);
1754
1763
  let content = '', filePath = '', startLine = 0, endLine = 0, language = '', name = '', type = '';
1755
1764
  try {
@@ -1799,8 +1808,8 @@ export async function startServer({ port = 4242, projectDir, openBrowser = true
1799
1808
  const dbPath = path.join(d, '.monomind', 'monograph.db');
1800
1809
  if (!q) { res.writeHead(400); res.end(JSON.stringify({ error: 'Missing ?q=' })); return; }
1801
1810
  if (!fs.existsSync(dbPath)) { res.writeHead(200, { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' }); res.end(JSON.stringify({ nodes: [] })); return; }
1802
- const { openDb, closeDb } = await import('/Users/morteza/Desktop/tools/monomind/packages/@monomind/monograph/dist/src/storage/db.js');
1803
- const { ftsSearch } = await import('/Users/morteza/Desktop/tools/monomind/packages/@monomind/monograph/dist/src/storage/fts-store.js');
1811
+ const { openDb, closeDb } = await import(new URL('../../../../monograph/dist/src/storage/db.js', import.meta.url).href);
1812
+ const { ftsSearch } = await import(new URL('../../../../monograph/dist/src/storage/fts-store.js', import.meta.url).href);
1804
1813
  const db = openDb(dbPath);
1805
1814
  let nodes = [];
1806
1815
  try {
@@ -1831,7 +1840,7 @@ export async function startServer({ port = 4242, projectDir, openBrowser = true
1831
1840
  const d = path.resolve(dir || process.cwd());
1832
1841
  const dbPath = path.join(d, '.monomind', 'monograph.db');
1833
1842
  if (!id || !fs.existsSync(dbPath)) { res.writeHead(200, { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' }); res.end(JSON.stringify({ related: [] })); return; }
1834
- const { openDb, closeDb } = await import('/Users/morteza/Desktop/tools/monomind/packages/@monomind/monograph/dist/src/storage/db.js');
1843
+ const { openDb, closeDb } = await import(new URL('../../../../monograph/dist/src/storage/db.js', import.meta.url).href);
1835
1844
  const db = openDb(dbPath);
1836
1845
  const related = [];
1837
1846
  try {
@@ -1872,7 +1881,7 @@ export async function startServer({ port = 4242, projectDir, openBrowser = true
1872
1881
  const d = path.resolve(dir || process.cwd());
1873
1882
  const dbPath = path.join(d, '.monomind', 'monograph.db');
1874
1883
  if (!id || !fs.existsSync(dbPath)) { res.writeHead(404); res.end(JSON.stringify({ error: 'Not found' })); return; }
1875
- const { openDb, closeDb } = await import('/Users/morteza/Desktop/tools/monomind/packages/@monomind/monograph/dist/src/storage/db.js');
1884
+ const { openDb, closeDb } = await import(new URL('../../../../monograph/dist/src/storage/db.js', import.meta.url).href);
1876
1885
  const db = openDb(dbPath);
1877
1886
  let result = { node: null, content: '', neighbors: [], markdown: '' };
1878
1887
  try {
@@ -1932,8 +1941,8 @@ export async function startServer({ port = 4242, projectDir, openBrowser = true
1932
1941
  const dbPath = path.join(d, '.monomind', 'monograph.db');
1933
1942
  if (!q) { res.writeHead(400); res.end(JSON.stringify({ error: 'Missing ?q= parameter' })); return; }
1934
1943
  if (!fs.existsSync(dbPath)) { res.writeHead(200, { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' }); res.end(JSON.stringify({ success: false, result: 'Graph not built yet. Run: monomind monograph build' })); return; }
1935
- const { openDb, closeDb } = await import('/Users/morteza/Desktop/tools/monomind/packages/@monomind/monograph/dist/src/storage/db.js');
1936
- const { ftsSearch } = await import('/Users/morteza/Desktop/tools/monomind/packages/@monomind/monograph/dist/src/storage/fts-store.js');
1944
+ const { openDb, closeDb } = await import(new URL('../../../../monograph/dist/src/storage/db.js', import.meta.url).href);
1945
+ const { ftsSearch } = await import(new URL('../../../../monograph/dist/src/storage/fts-store.js', import.meta.url).href);
1937
1946
  const db = openDb(dbPath);
1938
1947
  let result = '';
1939
1948
  try {
@@ -1969,8 +1978,8 @@ export async function startServer({ port = 4242, projectDir, openBrowser = true
1969
1978
  const dbPath = path.join(d, '.monomind', 'monograph.db');
1970
1979
  if (!nodeQ) { res.writeHead(400); res.end(JSON.stringify({ error: 'Missing ?node= parameter' })); return; }
1971
1980
  if (!fs.existsSync(dbPath)) { res.writeHead(200, { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' }); res.end(JSON.stringify({ success: false, explanation: 'Graph not built yet. Run: monomind monograph build' })); return; }
1972
- const { openDb, closeDb } = await import('/Users/morteza/Desktop/tools/monomind/packages/@monomind/monograph/dist/src/storage/db.js');
1973
- const { ftsSearch } = await import('/Users/morteza/Desktop/tools/monomind/packages/@monomind/monograph/dist/src/storage/fts-store.js');
1981
+ const { openDb, closeDb } = await import(new URL('../../../../monograph/dist/src/storage/db.js', import.meta.url).href);
1982
+ const { ftsSearch } = await import(new URL('../../../../monograph/dist/src/storage/fts-store.js', import.meta.url).href);
1974
1983
  const db = openDb(dbPath);
1975
1984
  let explanation = '';
1976
1985
  try {
@@ -2013,8 +2022,8 @@ export async function startServer({ port = 4242, projectDir, openBrowser = true
2013
2022
  if (!from || !to) { res.writeHead(400); res.end(JSON.stringify({ error: 'Missing ?from= and ?to= parameters' })); return; }
2014
2023
  if (!fs.existsSync(dbPath)) { res.writeHead(200, { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' }); res.end(JSON.stringify({ success: false, path: 'Graph not built yet.' })); return; }
2015
2024
  // Import only graphology-free storage modules to avoid broken graphology dep
2016
- const { openDb, closeDb } = await import('/Users/morteza/Desktop/tools/monomind/packages/@monomind/monograph/dist/src/storage/db.js');
2017
- const { ftsSearch } = await import('/Users/morteza/Desktop/tools/monomind/packages/@monomind/monograph/dist/src/storage/fts-store.js');
2025
+ const { openDb, closeDb } = await import(new URL('../../../../monograph/dist/src/storage/db.js', import.meta.url).href);
2026
+ const { ftsSearch } = await import(new URL('../../../../monograph/dist/src/storage/fts-store.js', import.meta.url).href);
2018
2027
  // SQL-based BFS for shortest path (avoids graphology)
2019
2028
  const getShortestPath = (db, fromId, toId, maxDepth = 6) => {
2020
2029
  if (fromId === toId) return [fromId];
@@ -2141,10 +2150,10 @@ export async function startServer({ port = 4242, projectDir, openBrowser = true
2141
2150
  const dbPath2 = path.join(d2, '.monomind', 'monograph.db');
2142
2151
  if (!fs.existsSync(dbPath2)) { err('monograph.db not found — run monograph build first'); return; }
2143
2152
  // Import only graphology-free storage modules to avoid broken graphology dep
2144
- const { openDb, closeDb } = await import('/Users/morteza/Desktop/tools/monomind/packages/@monomind/monograph/dist/src/storage/db.js');
2145
- const { ftsSearch } = await import('/Users/morteza/Desktop/tools/monomind/packages/@monomind/monograph/dist/src/storage/fts-store.js');
2146
- const { countNodes } = await import('/Users/morteza/Desktop/tools/monomind/packages/@monomind/monograph/dist/src/storage/node-store.js');
2147
- const { countEdges } = await import('/Users/morteza/Desktop/tools/monomind/packages/@monomind/monograph/dist/src/storage/edge-store.js');
2153
+ const { openDb, closeDb } = await import(new URL('../../../../monograph/dist/src/storage/db.js', import.meta.url).href);
2154
+ const { ftsSearch } = await import(new URL('../../../../monograph/dist/src/storage/fts-store.js', import.meta.url).href);
2155
+ const { countNodes } = await import(new URL('../../../../monograph/dist/src/storage/node-store.js', import.meta.url).href);
2156
+ const { countEdges } = await import(new URL('../../../../monograph/dist/src/storage/edge-store.js', import.meta.url).href);
2148
2157
  const getShortestPath = (db, fromId, toId, maxDepth = 6) => {
2149
2158
  if (fromId === toId) return [fromId];
2150
2159
  const visited = new Set([fromId]);
@@ -2769,54 +2778,47 @@ export async function startServer({ port = 4242, projectDir, openBrowser = true
2769
2778
  if (req.method === 'GET' && url.startsWith('/api/token-usage')) {
2770
2779
  try {
2771
2780
  const qs = new URL(req.url, 'http://localhost').searchParams;
2772
- const period = ['today','week','30days','month'].includes(qs.get('period')) ? qs.get('period') : 'today';
2781
+ const period = qs.get('period') || 'today';
2773
2782
  const dir = path.resolve(qs.get('dir') || projectDir || process.cwd());
2774
- const trackerPath = path.join(dir, '.claude', 'helpers', 'token-tracker.cjs');
2775
- const fallback = () => {
2776
- const summary = (() => { try { return JSON.parse(fs.readFileSync(path.join(dir, '.monomind', 'metrics', 'token-summary.json'), 'utf8')); } catch { return {}; } })();
2777
- res.writeHead(200, { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*', 'Cache-Control': 'no-cache' });
2778
- res.end(JSON.stringify({ totalCost: summary.todayCost || 0, totalCalls: summary.todayCalls || 0, totalIn: 0, totalOut: 0, totalCR: 0, totalCW: 0, projects: [], modelBreakdown: {}, categoryBreakdown: {}, toolBreakdown: {}, mcpBreakdown: {}, periodLabel: period }));
2783
+
2784
+ // Determine date window
2785
+ const now = new Date();
2786
+ const todayStr = now.toISOString().slice(0, 10);
2787
+ let fromStr;
2788
+ let daysBack;
2789
+ if (period === 'today') {
2790
+ fromStr = todayStr; daysBack = 1;
2791
+ } else if (period === 'week') {
2792
+ const d = new Date(now); d.setDate(d.getDate() - 6);
2793
+ fromStr = d.toISOString().slice(0, 10); daysBack = 7;
2794
+ } else if (period === '30d' || period === '30days') {
2795
+ const d = new Date(now); d.setDate(d.getDate() - 29);
2796
+ fromStr = d.toISOString().slice(0, 10); daysBack = 30;
2797
+ } else { // month
2798
+ fromStr = now.toISOString().slice(0, 7) + '-01'; daysBack = 32;
2799
+ }
2800
+
2801
+ const raw = collectTokens(dir, Math.max(daysBack + 1, 14));
2802
+ // Filter daily to the requested window
2803
+ const daily = (raw.daily || []).filter(d => d.date >= fromStr);
2804
+ // Aggregate summary for the period
2805
+ let cost = 0, calls = 0, tokensIn = 0, tokensOut = 0;
2806
+ for (const d of daily) { cost += d.cost; calls += d.calls; tokensIn += d.tokensIn; tokensOut += d.tokensOut; }
2807
+ // Filter rows to sessions that had activity in the window
2808
+ const rows = (raw.rows || []).filter(r => {
2809
+ // rows don't have dates yet, just include top ones by cost
2810
+ return true;
2811
+ }).slice(0, 30);
2812
+
2813
+ const summary = {
2814
+ todayCost: cost,
2815
+ todayCalls: calls,
2816
+ cost, calls,
2817
+ totalTokens: tokensIn + tokensOut,
2818
+ modelCount: Object.keys(raw.summary?.modelBreakdown || {}).length || null,
2779
2819
  };
2780
- if (!fs.existsSync(trackerPath)) { fallback(); return; }
2781
- try {
2782
- const _req = createRequire(import.meta.url);
2783
- const tracker = _req(trackerPath);
2784
- const range = tracker.getDateRange(period);
2785
- const projects = tracker.parseAllSessions(range.start, range.end);
2786
- let totalCost = 0, totalIn = 0, totalOut = 0, totalCR = 0, totalCW = 0, totalCalls = 0;
2787
- const modelBreakdown = {}, categoryBreakdown = {}, toolBreakdown = {}, mcpBreakdown = {};
2788
- for (const p of projects) {
2789
- totalCost += p.totalCost || 0;
2790
- for (const s of (p.sessions || [])) {
2791
- totalIn += s.totalInputTokens || 0;
2792
- totalOut += s.totalOutputTokens || 0;
2793
- totalCR += s.totalCacheRead || 0;
2794
- totalCW += s.totalCacheWrite || 0;
2795
- totalCalls += s.apiCalls || 0;
2796
- for (const [mn, m] of Object.entries(s.modelBreakdown || {})) {
2797
- if (!modelBreakdown[mn]) modelBreakdown[mn] = { calls: 0, cost: 0, tokens: 0 };
2798
- modelBreakdown[mn].calls += m.calls || 0;
2799
- modelBreakdown[mn].cost += m.cost || 0;
2800
- modelBreakdown[mn].tokens += m.tokens || 0;
2801
- }
2802
- for (const [cat, c] of Object.entries(s.categoryBreakdown || {})) {
2803
- if (!categoryBreakdown[cat]) categoryBreakdown[cat] = { turns: 0, cost: 0 };
2804
- categoryBreakdown[cat].turns += c.turns || 0;
2805
- categoryBreakdown[cat].cost += c.cost || 0;
2806
- }
2807
- for (const [tool, t] of Object.entries(s.toolBreakdown || {})) {
2808
- if (!toolBreakdown[tool]) toolBreakdown[tool] = { calls: 0 };
2809
- toolBreakdown[tool].calls += t.calls || 0;
2810
- }
2811
- for (const [srv, m] of Object.entries(s.mcpBreakdown || {})) {
2812
- if (!mcpBreakdown[srv]) mcpBreakdown[srv] = { calls: 0 };
2813
- mcpBreakdown[srv].calls += m.calls || 0;
2814
- }
2815
- }
2816
- }
2817
- res.writeHead(200, { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*', 'Cache-Control': 'no-cache' });
2818
- res.end(JSON.stringify({ totalCost, totalCalls, totalIn, totalOut, totalCR, totalCW, projects, modelBreakdown, categoryBreakdown, toolBreakdown, mcpBreakdown, periodLabel: period }));
2819
- } catch (e) { fallback(); }
2820
+ res.writeHead(200, { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*', 'Cache-Control': 'no-cache' });
2821
+ res.end(JSON.stringify({ summary, daily, rows, periodLabel: period }));
2820
2822
  } catch (err) {
2821
2823
  res.writeHead(500, { 'Content-Type': 'application/json' });
2822
2824
  res.end(JSON.stringify({ error: err.message }));
@@ -1 +1 @@
1
- {"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../../../src/update/checker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;IACjD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE;QACV,KAAK,EAAE,OAAO,CAAC;QACf,KAAK,EAAE,OAAO,CAAC;QACf,KAAK,EAAE,OAAO,CAAC;KAChB,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC,CAAC;IACjE,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,QAAA,MAAM,cAAc,EAAE,YAiBrB,CAAC;AAkGF,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAyBtE;AAED,wBAAsB,eAAe,CACnC,MAAM,GAAE,YAA6B,GACpC,OAAO,CAAC;IAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAyE9E;AAED,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,MAAM,GAAE,YAA6B,GACpC,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CA4BnC;AAED,OAAO,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../../../src/update/checker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;IACjD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE;QACV,KAAK,EAAE,OAAO,CAAC;QACf,KAAK,EAAE,OAAO,CAAC;QACf,KAAK,EAAE,OAAO,CAAC;KAChB,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC,CAAC;IACjE,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,QAAA,MAAM,cAAc,EAAE,YAiBrB,CAAC;AAkGF,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAqCtE;AAED,wBAAsB,eAAe,CACnC,MAAM,GAAE,YAA6B,GACpC,OAAO,CAAC;IAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAyE9E;AAED,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,MAAM,GAAE,YAA6B,GACpC,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CA4BnC;AAED,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -3,6 +3,7 @@
3
3
  * Queries npm registry and compares versions
4
4
  */
5
5
  import { createRequire } from 'module';
6
+ import { execFileSync } from 'child_process';
6
7
  import * as semver from 'semver';
7
8
  import { reserveCheck, recordCheck, getCachedVersions } from './rate-limiter.js';
8
9
  const require = createRequire(import.meta.url);
@@ -82,8 +83,8 @@ function getUpdateType(current, latest) {
82
83
  function shouldAutoUpdate(updateType, priority, config) {
83
84
  if (updateType === 'none')
84
85
  return false;
85
- // Critical security packages always auto-update patches
86
- if (priority === 'critical' && updateType === 'patch') {
86
+ // Critical security packages always auto-update patches and minors
87
+ if (priority === 'critical' && (updateType === 'patch' || updateType === 'minor')) {
87
88
  return true;
88
89
  }
89
90
  // Check config
@@ -99,23 +100,39 @@ export function getInstalledVersion(packageName) {
99
100
  if (!isValidNpmName(packageName))
100
101
  return null;
101
102
  try {
102
- // Try to find the package in node_modules
103
- const possiblePaths = [
103
+ // Attempt 1: let Node resolve from any search path (covers local and global installs)
104
+ try {
105
+ const resolved = require.resolve(`${packageName}/package.json`);
106
+ const pkg = require(resolved);
107
+ if (pkg.version)
108
+ return pkg.version;
109
+ }
110
+ catch { /* not on default paths */ }
111
+ // Attempt 2: resolve from cwd (monorepo / workspace installs)
112
+ const cwdPaths = [
104
113
  `${packageName}/package.json`,
105
114
  `../../node_modules/${packageName}/package.json`,
106
115
  `../../../node_modules/${packageName}/package.json`,
107
116
  ];
108
- for (const modulePath of possiblePaths) {
117
+ for (const modulePath of cwdPaths) {
109
118
  try {
110
- // Use dynamic import with require for package.json
111
119
  const resolved = require.resolve(modulePath, { paths: [process.cwd()] });
112
120
  const pkg = require(resolved);
113
- return pkg.version;
121
+ if (pkg.version)
122
+ return pkg.version;
114
123
  }
115
124
  catch {
116
125
  continue;
117
126
  }
118
127
  }
128
+ // Attempt 3: npm global prefix (covers `npm i -g monomind`)
129
+ try {
130
+ const prefix = execFileSync('npm', ['prefix', '-g'], { encoding: 'utf8', timeout: 3000 }).trim();
131
+ const globalPkg = require(require.resolve(`${packageName}/package.json`, { paths: [`${prefix}/lib/node_modules`] }));
132
+ if (globalPkg.version)
133
+ return globalPkg.version;
134
+ }
135
+ catch { /* no global install or npm unavailable */ }
119
136
  return null;
120
137
  }
121
138
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"checker.js","sourceRoot":"","sources":["../../../src/update/checker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checker.js","sourceRoot":"","sources":["../../../src/update/checker.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/update/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,GACf,MAAM,cAAc,CAAC;AAEtB,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEpE,OAAO,EACL,qBAAqB,EACrB,WAAW,EACX,iBAAiB,EACjB,UAAU,EACV,SAAS,GACV,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,WAAW,GACZ,MAAM,eAAe,CAAC;AAEvB,YAAY,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAI/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAKtD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAe/D;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE;IACnD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAC7C,GAAG,OAAO,CAAC;IACV,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,iBAAiB,EAAE,CAAC;IACtC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC,CAqDD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/update/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,GACf,MAAM,cAAc,CAAC;AAEtB,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEpE,OAAO,EACL,qBAAqB,EACrB,WAAW,EACX,iBAAiB,EACjB,UAAU,EACV,SAAS,GACV,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,WAAW,GACZ,MAAM,eAAe,CAAC;AAEvB,YAAY,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAI/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAKtD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAY/D;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE;IACnD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAC7C,GAAG,OAAO,CAAC;IACV,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,iBAAiB,EAAE,CAAC;IACtC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC,CAqDD"}
@@ -28,16 +28,13 @@ import * as semver from 'semver';
28
28
  export function getUpdateTagline(currentVersion) {
29
29
  try {
30
30
  const cached = getCachedVersions();
31
- // Use the umbrella package as the canonical version signal
32
- const latest = cached['monomind'] || cached['@monoes/monomindcli'];
31
+ // Compare CLI version against its own cached version only — the umbrella package
32
+ // has a different version number and must not be used for this comparison.
33
+ const latest = cached['@monoes/monomindcli'];
33
34
  if (!latest || !semver.valid(latest) || !semver.valid(currentVersion))
34
35
  return '';
35
36
  if (semver.lte(latest, currentVersion))
36
37
  return ' ✓ up to date';
37
- const type = semver.diff(currentVersion, latest);
38
- if (type === 'patch' || type === 'minor') {
39
- return ` ↑ v${latest} installing...`;
40
- }
41
38
  return ` ↑ v${latest} available`;
42
39
  }
43
40
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/update/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/update/index.ts"],"names":[],"mappings":"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"}