@monoes/monograph 1.3.0 → 1.4.1

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 (301) hide show
  1. package/.monomind/registry.json +6 -0
  2. package/__tests__/staleness/git-staleness.test.ts +3 -3
  3. package/dist/src/analysis/benchmark.js.map +1 -1
  4. package/dist/src/analysis/changed-files.d.ts.map +1 -1
  5. package/dist/src/analysis/changed-files.js +11 -2
  6. package/dist/src/analysis/changed-files.js.map +1 -1
  7. package/dist/src/analysis/changed-workspaces.d.ts.map +1 -1
  8. package/dist/src/analysis/changed-workspaces.js +11 -3
  9. package/dist/src/analysis/changed-workspaces.js.map +1 -1
  10. package/dist/src/analysis/churn.d.ts +1 -1
  11. package/dist/src/analysis/churn.d.ts.map +1 -1
  12. package/dist/src/analysis/churn.js +56 -10
  13. package/dist/src/analysis/churn.js.map +1 -1
  14. package/dist/src/analysis/cluster-quality.d.ts +4 -4
  15. package/dist/src/analysis/cluster-quality.d.ts.map +1 -1
  16. package/dist/src/analysis/cluster-quality.js +24 -27
  17. package/dist/src/analysis/cluster-quality.js.map +1 -1
  18. package/dist/src/analysis/combined.d.ts.map +1 -1
  19. package/dist/src/analysis/combined.js +2 -0
  20. package/dist/src/analysis/combined.js.map +1 -1
  21. package/dist/src/analysis/feature-flags.d.ts.map +1 -1
  22. package/dist/src/analysis/feature-flags.js +11 -5
  23. package/dist/src/analysis/feature-flags.js.map +1 -1
  24. package/dist/src/analysis/progress.d.ts.map +1 -1
  25. package/dist/src/analysis/project-state.d.ts.map +1 -1
  26. package/dist/src/analysis/shape-extractor.js.map +1 -1
  27. package/dist/src/analysis/suppression-context.d.ts.map +1 -1
  28. package/dist/src/analysis/surprise-scorer.js.map +1 -1
  29. package/dist/src/analysis/targets.d.ts.map +1 -1
  30. package/dist/src/analysis/targets.js +4 -5
  31. package/dist/src/analysis/targets.js.map +1 -1
  32. package/dist/src/analysis/worker-pool.d.ts.map +1 -1
  33. package/dist/src/analysis/worker-pool.js.map +1 -1
  34. package/dist/src/analyze/unused-deps.js.map +1 -1
  35. package/dist/src/analyze/unused-exports.js.map +1 -1
  36. package/dist/src/analyze/unused-files.js.map +1 -1
  37. package/dist/src/cache/augment-cache.js.map +1 -1
  38. package/dist/src/cache/extraction-cache.d.ts +21 -0
  39. package/dist/src/cache/extraction-cache.d.ts.map +1 -1
  40. package/dist/src/cache/extraction-cache.js +62 -6
  41. package/dist/src/cache/extraction-cache.js.map +1 -1
  42. package/dist/src/check/index.js.map +1 -1
  43. package/dist/src/cli/check-update.js.map +1 -1
  44. package/dist/src/cli/doctor.d.ts.map +1 -1
  45. package/dist/src/cli/doctor.js +6 -10
  46. package/dist/src/cli/doctor.js.map +1 -1
  47. package/dist/src/config/boundary-config.js.map +1 -1
  48. package/dist/src/config/config-parsing.d.ts +1 -1
  49. package/dist/src/config/config-parsing.d.ts.map +1 -1
  50. package/dist/src/config/migration-types.d.ts +2 -2
  51. package/dist/src/config/migration-types.d.ts.map +1 -1
  52. package/dist/src/config/migration-types.js.map +1 -1
  53. package/dist/src/config/used-class-members.js.map +1 -1
  54. package/dist/src/config/workspace.js.map +1 -1
  55. package/dist/src/coverage/upload-source-maps.js.map +1 -1
  56. package/dist/src/duplicates/detect/filtering.d.ts.map +1 -1
  57. package/dist/src/duplicates/shingle-filter.js.map +1 -1
  58. package/dist/src/error/fallow-error.d.ts.map +1 -1
  59. package/dist/src/error/fallow-error.js.map +1 -1
  60. package/dist/src/error.d.ts.map +1 -1
  61. package/dist/src/error.js.map +1 -1
  62. package/dist/src/export/analysis-json.js +1 -1
  63. package/dist/src/export/analysis-json.js.map +1 -1
  64. package/dist/src/export/badge.js.map +1 -1
  65. package/dist/src/export/dot.js.map +1 -1
  66. package/dist/src/export/sarif.d.ts.map +1 -1
  67. package/dist/src/export/sarif.js +13 -2
  68. package/dist/src/export/sarif.js.map +1 -1
  69. package/dist/src/fix/orchestrator.js.map +1 -1
  70. package/dist/src/graph/baseline.d.ts.map +1 -1
  71. package/dist/src/graph/baseline.js +29 -20
  72. package/dist/src/graph/baseline.js.map +1 -1
  73. package/dist/src/graph/cycle-detection.js.map +1 -1
  74. package/dist/src/graph/dead-code.d.ts +7 -2
  75. package/dist/src/graph/dead-code.d.ts.map +1 -1
  76. package/dist/src/graph/dead-code.js +19 -16
  77. package/dist/src/graph/dead-code.js.map +1 -1
  78. package/dist/src/graph/dfs.js.map +1 -1
  79. package/dist/src/graph/edge-filter.js.map +1 -1
  80. package/dist/src/graph/health-score.d.ts.map +1 -1
  81. package/dist/src/graph/health-score.js +11 -14
  82. package/dist/src/graph/health-score.js.map +1 -1
  83. package/dist/src/graph/hotspots.d.ts.map +1 -1
  84. package/dist/src/graph/hotspots.js +8 -4
  85. package/dist/src/graph/hotspots.js.map +1 -1
  86. package/dist/src/graph/import-chain.js.map +1 -1
  87. package/dist/src/graph/merge.js.map +1 -1
  88. package/dist/src/graph/node-search.js.map +1 -1
  89. package/dist/src/graph/node-types.d.ts.map +1 -1
  90. package/dist/src/graph/pagerank.d.ts.map +1 -1
  91. package/dist/src/graph/pagerank.js +10 -1
  92. package/dist/src/graph/pagerank.js.map +1 -1
  93. package/dist/src/graph/regex-search.js.map +1 -1
  94. package/dist/src/graph/regression.d.ts.map +1 -1
  95. package/dist/src/graph/resolve/discover-types.js.map +1 -1
  96. package/dist/src/graph/resolve/types.d.ts +3 -3
  97. package/dist/src/graph/resolve/types.d.ts.map +1 -1
  98. package/dist/src/graph/statistics.d.ts +3 -2
  99. package/dist/src/graph/statistics.d.ts.map +1 -1
  100. package/dist/src/graph/statistics.js +18 -7
  101. package/dist/src/graph/statistics.js.map +1 -1
  102. package/dist/src/graph/stats.d.ts.map +1 -1
  103. package/dist/src/graph/stats.js +2 -1
  104. package/dist/src/graph/stats.js.map +1 -1
  105. package/dist/src/groups/group-search.d.ts.map +1 -1
  106. package/dist/src/groups/group-search.js +9 -18
  107. package/dist/src/groups/group-search.js.map +1 -1
  108. package/dist/src/health/complexity-findings.js.map +1 -1
  109. package/dist/src/health/grouping.js.map +1 -1
  110. package/dist/src/health/health-report-types.js.map +1 -1
  111. package/dist/src/health/health-report.js.map +1 -1
  112. package/dist/src/health/targets.js.map +1 -1
  113. package/dist/src/index.d.ts +3 -0
  114. package/dist/src/index.d.ts.map +1 -1
  115. package/dist/src/index.js +3 -0
  116. package/dist/src/index.js.map +1 -1
  117. package/dist/src/ingest/transcribe.js.map +1 -1
  118. package/dist/src/ingest/url-ingest.js.map +1 -1
  119. package/dist/src/license/manager.d.ts.map +1 -1
  120. package/dist/src/license/manager.js.map +1 -1
  121. package/dist/src/lsp/diagnostics-push.js.map +1 -1
  122. package/dist/src/mcp-tools/impact.d.ts.map +1 -1
  123. package/dist/src/mcp-tools/impact.js +7 -1
  124. package/dist/src/mcp-tools/impact.js.map +1 -1
  125. package/dist/src/mcp-tools/list-repos.d.ts +1 -1
  126. package/dist/src/mcp-tools/list-repos.d.ts.map +1 -1
  127. package/dist/src/mcp-tools/query.d.ts +1 -1
  128. package/dist/src/mcp-tools/query.d.ts.map +1 -1
  129. package/dist/src/parsers/c.js.map +1 -1
  130. package/dist/src/parsers/cpp.js.map +1 -1
  131. package/dist/src/parsers/csharp.js.map +1 -1
  132. package/dist/src/parsers/dart.js.map +1 -1
  133. package/dist/src/parsers/go.js.map +1 -1
  134. package/dist/src/parsers/java.js.map +1 -1
  135. package/dist/src/parsers/kotlin.js.map +1 -1
  136. package/dist/src/parsers/loader.js.map +1 -1
  137. package/dist/src/parsers/php.js.map +1 -1
  138. package/dist/src/parsers/python.js.map +1 -1
  139. package/dist/src/parsers/ruby.js.map +1 -1
  140. package/dist/src/parsers/rust.js.map +1 -1
  141. package/dist/src/parsers/swift.js.map +1 -1
  142. package/dist/src/parsers/typescript.js.map +1 -1
  143. package/dist/src/parsers/vue.js.map +1 -1
  144. package/dist/src/pipeline/effort.js.map +1 -1
  145. package/dist/src/pipeline/orchestrator.d.ts.map +1 -1
  146. package/dist/src/pipeline/orchestrator.js +85 -24
  147. package/dist/src/pipeline/orchestrator.js.map +1 -1
  148. package/dist/src/pipeline/phases/bridge-adapters/electron-ipc.d.ts +11 -0
  149. package/dist/src/pipeline/phases/bridge-adapters/electron-ipc.d.ts.map +1 -0
  150. package/dist/src/pipeline/phases/bridge-adapters/electron-ipc.js +96 -0
  151. package/dist/src/pipeline/phases/bridge-adapters/electron-ipc.js.map +1 -0
  152. package/dist/src/pipeline/phases/bridge-adapters/registry.d.ts +3 -0
  153. package/dist/src/pipeline/phases/bridge-adapters/registry.d.ts.map +1 -0
  154. package/dist/src/pipeline/phases/bridge-adapters/registry.js +13 -0
  155. package/dist/src/pipeline/phases/bridge-adapters/registry.js.map +1 -0
  156. package/dist/src/pipeline/phases/bridge-adapters/tauri.d.ts +10 -0
  157. package/dist/src/pipeline/phases/bridge-adapters/tauri.d.ts.map +1 -0
  158. package/dist/src/pipeline/phases/bridge-adapters/tauri.js +104 -0
  159. package/dist/src/pipeline/phases/bridge-adapters/tauri.js.map +1 -0
  160. package/dist/src/pipeline/phases/bridge-adapters/types.d.ts +30 -0
  161. package/dist/src/pipeline/phases/bridge-adapters/types.d.ts.map +1 -0
  162. package/dist/src/pipeline/phases/bridge-adapters/types.js +2 -0
  163. package/dist/src/pipeline/phases/bridge-adapters/types.js.map +1 -0
  164. package/dist/src/pipeline/phases/bridge-adapters/wails.d.ts +10 -0
  165. package/dist/src/pipeline/phases/bridge-adapters/wails.d.ts.map +1 -0
  166. package/dist/src/pipeline/phases/bridge-adapters/wails.js +27 -0
  167. package/dist/src/pipeline/phases/bridge-adapters/wails.js.map +1 -0
  168. package/dist/src/pipeline/phases/bridge-resolver.d.ts +23 -0
  169. package/dist/src/pipeline/phases/bridge-resolver.d.ts.map +1 -0
  170. package/dist/src/pipeline/phases/bridge-resolver.js +70 -0
  171. package/dist/src/pipeline/phases/bridge-resolver.js.map +1 -0
  172. package/dist/src/pipeline/phases/cross-file.d.ts.map +1 -1
  173. package/dist/src/pipeline/phases/cross-file.js +70 -27
  174. package/dist/src/pipeline/phases/cross-file.js.map +1 -1
  175. package/dist/src/pipeline/phases/leiden.js.map +1 -1
  176. package/dist/src/pipeline/phases/parse.d.ts.map +1 -1
  177. package/dist/src/pipeline/phases/parse.js +58 -17
  178. package/dist/src/pipeline/phases/parse.js.map +1 -1
  179. package/dist/src/pipeline/phases/scan.d.ts.map +1 -1
  180. package/dist/src/pipeline/phases/scan.js +12 -5
  181. package/dist/src/pipeline/phases/scan.js.map +1 -1
  182. package/dist/src/pipeline/phases/scope-resolution.d.ts +13 -0
  183. package/dist/src/pipeline/phases/scope-resolution.d.ts.map +1 -1
  184. package/dist/src/pipeline/phases/scope-resolution.js +18 -4
  185. package/dist/src/pipeline/phases/scope-resolution.js.map +1 -1
  186. package/dist/src/pipeline/progress.d.ts.map +1 -1
  187. package/dist/src/pipeline/runner.d.ts.map +1 -1
  188. package/dist/src/pipeline/runner.js.map +1 -1
  189. package/dist/src/pipeline/types.d.ts +2 -0
  190. package/dist/src/pipeline/types.d.ts.map +1 -1
  191. package/dist/src/pipeline/types.js +1 -0
  192. package/dist/src/pipeline/types.js.map +1 -1
  193. package/dist/src/regression/baseline.js.map +1 -1
  194. package/dist/src/regression/outcome.js.map +1 -1
  195. package/dist/src/report/badge-svg.js.map +1 -1
  196. package/dist/src/report/duplication-grouping.js.map +1 -1
  197. package/dist/src/report/human-check.js.map +1 -1
  198. package/dist/src/report/human-dupes.js.map +1 -1
  199. package/dist/src/report/human-health.js.map +1 -1
  200. package/dist/src/report/json-builders.js.map +1 -1
  201. package/dist/src/report/number-format.js.map +1 -1
  202. package/dist/src/reporting/graph-report.d.ts.map +1 -1
  203. package/dist/src/reporting/graph-report.js +8 -9
  204. package/dist/src/reporting/graph-report.js.map +1 -1
  205. package/dist/src/scope-resolution/evidence-weights.d.ts.map +1 -1
  206. package/dist/src/search/hybrid-query.js.map +1 -1
  207. package/dist/src/security/safe-fetch.js.map +1 -1
  208. package/dist/src/staleness/git-staleness.d.ts.map +1 -1
  209. package/dist/src/staleness/git-staleness.js +5 -2
  210. package/dist/src/staleness/git-staleness.js.map +1 -1
  211. package/dist/src/storage/db.d.ts +13 -1
  212. package/dist/src/storage/db.d.ts.map +1 -1
  213. package/dist/src/storage/db.js +23 -2
  214. package/dist/src/storage/db.js.map +1 -1
  215. package/dist/src/storage/edge-store.d.ts +6 -0
  216. package/dist/src/storage/edge-store.d.ts.map +1 -1
  217. package/dist/src/storage/edge-store.js +8 -1
  218. package/dist/src/storage/edge-store.js.map +1 -1
  219. package/dist/src/storage/fts-store.d.ts.map +1 -1
  220. package/dist/src/storage/fts-store.js +31 -9
  221. package/dist/src/storage/fts-store.js.map +1 -1
  222. package/dist/src/storage/node-store.js.map +1 -1
  223. package/dist/src/storage/schema.d.ts +5 -0
  224. package/dist/src/storage/schema.d.ts.map +1 -1
  225. package/dist/src/storage/schema.js +25 -0
  226. package/dist/src/storage/schema.js.map +1 -1
  227. package/dist/src/storage/unlinked-refs.js.map +1 -1
  228. package/dist/src/types.d.ts +2 -2
  229. package/dist/src/types.d.ts.map +1 -1
  230. package/dist/src/types.js.map +1 -1
  231. package/dist/src/watch/watcher.d.ts.map +1 -1
  232. package/dist/src/watch/watcher.js +12 -2
  233. package/dist/src/watch/watcher.js.map +1 -1
  234. package/dist/src/web/analyze-api.d.ts.map +1 -1
  235. package/dist/src/web/analyze-api.js +3 -1
  236. package/dist/src/web/analyze-api.js.map +1 -1
  237. package/dist/src/web/api.d.ts +3 -0
  238. package/dist/src/web/api.d.ts.map +1 -1
  239. package/dist/src/web/api.js +59 -20
  240. package/dist/src/web/api.js.map +1 -1
  241. package/dist/src/web/async-jobs.d.ts.map +1 -1
  242. package/dist/src/web/async-jobs.js +15 -0
  243. package/dist/src/web/async-jobs.js.map +1 -1
  244. package/dist/src/web/react-ui.js +2 -2
  245. package/dist/src/wiki/providers.js.map +1 -1
  246. package/dist/src/wiki/wiki-generator.d.ts.map +1 -1
  247. package/dist/src/wiki/wiki-generator.js +9 -6
  248. package/dist/src/wiki/wiki-generator.js.map +1 -1
  249. package/dist/tsconfig.tsbuildinfo +1 -1
  250. package/package.json +5 -2
  251. package/src/__tests__/graph/dead-code.test.ts +27 -7
  252. package/src/__tests__/pipeline/phases/bridge-adapters/electron-ipc.test.ts +87 -0
  253. package/src/__tests__/pipeline/phases/bridge-adapters/tauri.test.ts +116 -0
  254. package/src/__tests__/pipeline/phases/bridge-adapters/wails.test.ts +81 -0
  255. package/src/__tests__/pipeline/phases/bridge-resolver.test.ts +110 -0
  256. package/src/analysis/changed-files.ts +14 -2
  257. package/src/analysis/changed-workspaces.ts +13 -4
  258. package/src/analysis/churn.ts +57 -10
  259. package/src/analysis/cluster-quality.ts +25 -26
  260. package/src/analysis/combined.ts +2 -0
  261. package/src/analysis/feature-flags.ts +10 -5
  262. package/src/analysis/targets.ts +4 -5
  263. package/src/cache/extraction-cache.ts +59 -6
  264. package/src/cli/doctor.ts +6 -10
  265. package/src/export/analysis-json.ts +1 -1
  266. package/src/export/sarif.ts +11 -2
  267. package/src/graph/baseline.ts +29 -20
  268. package/src/graph/dead-code.ts +19 -16
  269. package/src/graph/health-score.ts +13 -16
  270. package/src/graph/hotspots.ts +8 -4
  271. package/src/graph/pagerank.ts +10 -1
  272. package/src/graph/statistics.ts +19 -7
  273. package/src/graph/stats.ts +2 -1
  274. package/src/groups/group-search.ts +9 -27
  275. package/src/index.ts +3 -0
  276. package/src/mcp-tools/impact.ts +7 -1
  277. package/src/pipeline/orchestrator.ts +87 -26
  278. package/src/pipeline/phases/bridge-adapters/electron-ipc.ts +91 -0
  279. package/src/pipeline/phases/bridge-adapters/registry.ts +14 -0
  280. package/src/pipeline/phases/bridge-adapters/tauri.ts +103 -0
  281. package/src/pipeline/phases/bridge-adapters/types.ts +31 -0
  282. package/src/pipeline/phases/bridge-adapters/wails.ts +33 -0
  283. package/src/pipeline/phases/bridge-resolver.ts +77 -0
  284. package/src/pipeline/phases/cross-file.ts +75 -27
  285. package/src/pipeline/phases/parse.ts +60 -17
  286. package/src/pipeline/phases/scan.ts +11 -5
  287. package/src/pipeline/phases/scope-resolution.ts +19 -4
  288. package/src/pipeline/types.ts +3 -0
  289. package/src/reporting/graph-report.ts +8 -9
  290. package/src/staleness/git-staleness.ts +5 -2
  291. package/src/storage/db.ts +35 -1
  292. package/src/storage/edge-store.ts +8 -1
  293. package/src/storage/fts-store.ts +31 -9
  294. package/src/storage/schema.ts +30 -0
  295. package/src/watch/watcher.ts +11 -2
  296. package/src/web/analyze-api.ts +3 -1
  297. package/src/web/api.ts +62 -22
  298. package/src/web/async-jobs.ts +15 -0
  299. package/src/web/react-ui.ts +2 -2
  300. package/src/wiki/wiki-generator.ts +9 -6
  301. package/tsconfig.json +2 -1
@@ -1,7 +1,18 @@
1
1
  import { readFileSync } from 'fs';
2
- import { resolve } from 'path';
2
+ import { resolve, dirname, join } from 'path';
3
+ import { fileURLToPath } from 'url';
3
4
  import { ftsSearch } from '../storage/fts-store.js';
4
5
  import { globalJobRegistry } from './async-jobs.js';
6
+ const __dirname = dirname(fileURLToPath(import.meta.url));
7
+ const PKG_VERSION = (() => {
8
+ try {
9
+ const pkg = JSON.parse(readFileSync(join(__dirname, '..', '..', 'package.json'), 'utf8'));
10
+ return pkg.version ?? '0.0.0';
11
+ }
12
+ catch {
13
+ return '0.0.0';
14
+ }
15
+ })();
5
16
  // ── Query helpers (testable in isolation) ─────────────────────────────────────
6
17
  export function rowToApiNode(row) {
7
18
  return {
@@ -15,27 +26,43 @@ export function rowToApiNode(row) {
15
26
  };
16
27
  }
17
28
  export function queryGraphData(db) {
29
+ const totalNodeCount = db.prepare('SELECT COUNT(*) as c FROM nodes').get().c;
30
+ const totalEdgeCount = db.prepare('SELECT COUNT(*) as c FROM edges').get().c;
31
+ // Select the most connected nodes for a representative visualization
18
32
  const nodeRows = db
19
- .prepare('SELECT id, name, label, file_path, start_line, end_line, community_id FROM nodes LIMIT 2000')
33
+ .prepare(`SELECT n.id, n.name, n.label, n.file_path, n.start_line, n.end_line, n.community_id
34
+ FROM nodes n
35
+ LEFT JOIN (
36
+ SELECT node_id, SUM(cnt) AS deg FROM (
37
+ SELECT source_id AS node_id, COUNT(*) AS cnt FROM edges GROUP BY source_id
38
+ UNION ALL
39
+ SELECT target_id AS node_id, COUNT(*) AS cnt FROM edges GROUP BY target_id
40
+ ) GROUP BY node_id
41
+ ) d ON d.node_id = n.id
42
+ ORDER BY d.deg DESC NULLS LAST
43
+ LIMIT 2000`)
20
44
  .all();
21
45
  const nodes = nodeRows.map(rowToApiNode);
22
46
  const nodeIds = new Set(nodes.map((n) => n.id));
23
47
  const edges = [];
24
48
  if (nodeIds.size > 0) {
25
- // Use a subquery instead of IN(?,...) to avoid SQLite's SQLITE_MAX_VARIABLE_NUMBER limit
49
+ // Scan edges and keep those where at least one endpoint is a visible node
26
50
  const edgeRows = db
27
- .prepare(`SELECT e.source_id, e.target_id, e.relation, e.confidence_score
28
- FROM edges e
29
- JOIN (SELECT id FROM nodes LIMIT 2000) n ON e.source_id = n.id
30
- LIMIT 10000`)
51
+ .prepare('SELECT source_id, target_id, relation, confidence_score FROM edges')
31
52
  .all();
32
53
  for (const r of edgeRows) {
33
- edges.push({
34
- sourceId: r['source_id'],
35
- targetId: r['target_id'],
36
- relation: r['relation'],
37
- confidenceScore: r['confidence_score'],
38
- });
54
+ const src = r['source_id'];
55
+ const tgt = r['target_id'];
56
+ if (nodeIds.has(src) && nodeIds.has(tgt)) {
57
+ edges.push({
58
+ sourceId: src,
59
+ targetId: tgt,
60
+ relation: r['relation'],
61
+ confidenceScore: r['confidence_score'],
62
+ });
63
+ if (edges.length >= 10000)
64
+ break;
65
+ }
39
66
  }
40
67
  }
41
68
  const communities = {};
@@ -47,7 +74,7 @@ export function queryGraphData(db) {
47
74
  communities[key].push(node.id);
48
75
  }
49
76
  }
50
- return { nodes, edges, communities };
77
+ return { nodes, edges, communities, totalNodeCount, totalEdgeCount, truncated: totalNodeCount > nodes.length };
51
78
  }
52
79
  export function queryNode(db, id) {
53
80
  const nodeRow = db
@@ -79,8 +106,8 @@ export function querySearch(db, q) {
79
106
  name: r.name,
80
107
  label: r.label,
81
108
  filePath: r.filePath,
82
- startLine: null,
83
- endLine: null,
109
+ startLine: r.startLine ?? null,
110
+ endLine: r.endLine ?? null,
84
111
  communityId: null,
85
112
  }));
86
113
  }
@@ -164,7 +191,7 @@ export function queryProcess(db, name) {
164
191
  export function getServerInfo() {
165
192
  return {
166
193
  name: 'monograph',
167
- version: '1.0.0',
194
+ version: PKG_VERSION,
168
195
  nodeVersion: process.version,
169
196
  uptimeSeconds: process.uptime(),
170
197
  };
@@ -278,15 +305,27 @@ export function setupApiRoutes(app, db) {
278
305
  });
279
306
  // Async analyze job API
280
307
  app.post('/api/analyze', (req, res) => {
281
- const { repoPath } = req.body;
308
+ const { repoPath, codeOnly, force } = req.body;
282
309
  if (!repoPath) {
283
310
  res.status(400).json({ error: 'repoPath is required' });
284
311
  return;
285
312
  }
286
313
  const job = globalJobRegistry.create('analyze', { repoPath });
287
314
  globalJobRegistry.update(job.id, { status: 'running' });
288
- setImmediate(() => {
289
- globalJobRegistry.update(job.id, { status: 'done', result: { message: 'ok' } });
315
+ import('../pipeline/orchestrator.js').then(({ buildAsync }) => {
316
+ buildAsync(repoPath, {
317
+ codeOnly,
318
+ force,
319
+ onProgress: (p) => {
320
+ globalJobRegistry.emitProgress(job.id, { phase: p.phase ?? '', message: p.message });
321
+ },
322
+ }).then(() => {
323
+ globalJobRegistry.update(job.id, { status: 'done', result: { message: 'Build complete' } });
324
+ }).catch((err) => {
325
+ globalJobRegistry.update(job.id, { status: 'failed', result: { error: String(err) } });
326
+ });
327
+ }).catch((err) => {
328
+ globalJobRegistry.update(job.id, { status: 'failed', result: { error: String(err) } });
290
329
  });
291
330
  res.status(202).json({ jobId: job.id });
292
331
  });
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/web/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/web/api.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"async-jobs.d.ts","sourceRoot":"","sources":["../../../src/web/async-jobs.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE/E,MAAM,WAAW,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,GAAG,CAAC;IAC5C,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS,CAAC;IACjC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC;IACtF,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;IACrD,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,EAAE,CAAC;CAC1C;AAED,wBAAgB,iBAAiB,IAAI,WAAW,CA0D/C;AAED,eAAO,MAAM,iBAAiB,aAAsB,CAAC"}
1
+ {"version":3,"file":"async-jobs.d.ts","sourceRoot":"","sources":["../../../src/web/async-jobs.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE/E,MAAM,WAAW,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,GAAG,CAAC;IAC5C,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS,CAAC;IACjC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC;IACtF,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;IACrD,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,EAAE,CAAC;CAC1C;AAID,wBAAgB,iBAAiB,IAAI,WAAW,CAuE/C;AAED,eAAO,MAAM,iBAAiB,aAAsB,CAAC"}
@@ -1,8 +1,21 @@
1
1
  import { randomUUID } from 'crypto';
2
+ const MAX_COMPLETED_JOBS = 50;
2
3
  export function createJobRegistry() {
3
4
  const jobs = new Map();
4
5
  const progressMap = new Map();
5
6
  function now() { return new Date().toISOString(); }
7
+ function evictOldCompleted() {
8
+ const completed = [...jobs.entries()]
9
+ .filter(([, j]) => j.status === 'done' || j.status === 'failed' || j.status === 'cancelled');
10
+ if (completed.length <= MAX_COMPLETED_JOBS)
11
+ return;
12
+ completed.sort((a, b) => a[1].updatedAt.localeCompare(b[1].updatedAt));
13
+ const toEvict = completed.slice(0, completed.length - MAX_COMPLETED_JOBS);
14
+ for (const [id] of toEvict) {
15
+ jobs.delete(id);
16
+ progressMap.delete(id);
17
+ }
18
+ }
6
19
  return {
7
20
  create(type, payload) {
8
21
  const job = {
@@ -28,6 +41,8 @@ export function createJobRegistry() {
28
41
  if (j.status === 'done' || j.status === 'failed' || j.status === 'cancelled')
29
42
  return false;
30
43
  Object.assign(j, patch, { updatedAt: now() });
44
+ if (patch.status === 'done' || patch.status === 'failed')
45
+ evictOldCompleted();
31
46
  return true;
32
47
  },
33
48
  cancel(id) {
@@ -1 +1 @@
1
- {"version":3,"file":"async-jobs.js","sourceRoot":"","sources":["../../../src/web/async-jobs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"async-jobs.js","sourceRoot":"","sources":["../../../src/web/async-jobs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAiCpC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAE9B,MAAM,UAAU,iBAAiB;IAC/B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAe,CAAC;IACpC,MAAM,WAAW,GAAG,IAAI,GAAG,EAA2B,CAAC;IAEvD,SAAS,GAAG,KAAa,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAE3D,SAAS,iBAAiB;QACxB,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;aAClC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;QAC/F,IAAI,SAAS,CAAC,MAAM,IAAI,kBAAkB;YAAE,OAAO;QACnD,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QACvE,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,kBAAkB,CAAC,CAAC;QAC1E,KAAK,MAAM,CAAC,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAChB,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,OAAO;QACL,MAAM,CAAC,IAAI,EAAE,OAAO;YAClB,MAAM,GAAG,GAAQ;gBACf,EAAE,EAAE,UAAU,EAAE;gBAChB,IAAI;gBACJ,MAAM,EAAE,QAAQ;gBAChB,OAAO;gBACP,SAAS,EAAE,GAAG,EAAE;gBAChB,SAAS,EAAE,GAAG,EAAE;aACjB,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YACtB,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAC5B,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC;QACpB,CAAC;QACD,GAAG,CAAC,EAAE;YACJ,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvB,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAClC,CAAC;QACD,MAAM,CAAC,EAAE,EAAE,KAAK;YACd,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvB,IAAI,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;YACrB,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW;gBAAE,OAAO,KAAK,CAAC;YAC3F,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YAC9C,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ;gBAAE,iBAAiB,EAAE,CAAC;YAC9E,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,CAAC,EAAE;YACP,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvB,IAAI,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;YACrB,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW;gBAAE,OAAO,KAAK,CAAC;YAC3F,CAAC,CAAC,MAAM,GAAG,WAAW,CAAC;YACvB,CAAC,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,CAAC,EAAE;YACN,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAChB,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACvB,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,IAAI;YACF,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACjD,CAAC;QACD,YAAY,CAAC,EAAE,EAAE,KAAK;YACpB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,OAAO;YAC1B,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YAC7D,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC;QACD,WAAW,CAAC,EAAE;YACZ,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1C,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,iBAAiB,EAAE,CAAC"}
@@ -29,9 +29,9 @@ export function getReactUiHtml() {
29
29
 
30
30
  async function search() {
31
31
  if (!query.trim()) return;
32
- const res = await fetch('/api/query?q=' + encodeURIComponent(query));
32
+ const res = await fetch('/api/search?q=' + encodeURIComponent(query));
33
33
  const data = await res.json();
34
- setResults(data.results ?? data ?? []);
34
+ setResults(Array.isArray(data) ? data : data.results ?? []);
35
35
  }
36
36
 
37
37
  async function analyze() {
@@ -1 +1 @@
1
- {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../../src/wiki/providers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../../src/wiki/providers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"wiki-generator.d.ts","sourceRoot":"","sources":["../../../src/wiki/wiki-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAW,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEzD,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE/D,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,EAAE,CAAC,EAAE,WAAW,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,EAAE,CAAC;IAC9B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAiC9F;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,WAAW,2BAA2B;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,WAAW,EACf,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,MAAM,CAAC,CAkEjB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,WAAW,EACf,OAAO,CAAC,EAAE,2BAA2B,GACpC,OAAO,CAAC,iBAAiB,CAAC,CAyC5B;AAED,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"wiki-generator.d.ts","sourceRoot":"","sources":["../../../src/wiki/wiki-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAW,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEzD,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE/D,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,EAAE,CAAC,EAAE,WAAW,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,EAAE,CAAC;IAC9B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAiC9F;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,WAAW,2BAA2B;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,WAAW,EACf,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,MAAM,CAAC,CAqEjB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,WAAW,EACf,OAAO,CAAC,EAAE,2BAA2B,GACpC,OAAO,CAAC,iBAAiB,CAAC,CAyC5B;AAED,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC"}
@@ -48,14 +48,17 @@ export async function generateWikiPage(db, communityId, options) {
48
48
  const label = commRow?.label ?? `Community ${communityIdStr}`;
49
49
  // 2. Get top 5 symbols by degree (count of connected edges, since no centrality column)
50
50
  const symbolRows = db.prepare(`
51
- SELECT n.name, n.label, n.file_path,
52
- COUNT(DISTINCT e1.id) + COUNT(DISTINCT e2.id) AS degree
51
+ SELECT n.name, n.label, n.file_path
53
52
  FROM nodes n
54
- LEFT JOIN edges e1 ON e1.source_id = n.id
55
- LEFT JOIN edges e2 ON e2.target_id = n.id
53
+ LEFT JOIN (
54
+ SELECT node_id, SUM(cnt) AS deg FROM (
55
+ SELECT source_id AS node_id, COUNT(*) AS cnt FROM edges GROUP BY source_id
56
+ UNION ALL
57
+ SELECT target_id AS node_id, COUNT(*) AS cnt FROM edges GROUP BY target_id
58
+ ) GROUP BY node_id
59
+ ) d ON d.node_id = n.id
56
60
  WHERE n.community_id = ?
57
- GROUP BY n.id
58
- ORDER BY degree DESC, n.name ASC
61
+ ORDER BY d.deg DESC NULLS LAST, n.name ASC
59
62
  LIMIT 5
60
63
  `).all(Number(communityIdStr));
61
64
  // 3. Count incoming edges to community (edges whose target is in this community)
@@ -1 +1 @@
1
- {"version":3,"file":"wiki-generator.js","sourceRoot":"","sources":["../../../src/wiki/wiki-generator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAkB,MAAM,gBAAgB,CAAC;AAkBzD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAA6B;IAC9D,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;IAEtB,qDAAqD;IACrD,IAAI,SAAS,GAAc,EAAE,CAAC;IAC9B,IAAI,EAAE,EAAE,CAAC;QACP,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,wEAAwE,CAAC,CAAC,GAAG,EAAE,CAAC;YACxG,SAAS,GAAG,IAAiB,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,SAAS,GAAG,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,OAAO;YACL,UAAU,EAAE,IAAI;YAChB,iBAAiB,EAAE,SAAS;YAC5B,KAAK,EAAE,EAAE;YACT,SAAS,EAAE,CAAC;SACb,CAAC;IACJ,CAAC;IAED,uBAAuB;IACvB,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IACrC,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,EAAE,CAAC,CAAC;IAC9C,OAAO;QACL,KAAK,EAAE,EAAE;QACT,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAC;AACJ,CAAC;AA8BD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,EAAe,EACf,WAAmB,EACnB,OAAiC;IAEjC,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IAE3C,yBAAyB;IACzB,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,gDAAgD,CAAC;SACzE,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAqD,CAAC;IACnF,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,aAAa,cAAc,EAAE,CAAC;IAE9D,wFAAwF;IACxF,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;GAU7B,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAgE,CAAC;IAE9F,iFAAiF;IACjF,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC;;;GAG9B,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAoB,CAAC;IAElD,mFAAmF;IACnF,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC;;;GAG9B,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAoB,CAAC;IAElD,kBAAkB;IAClB,MAAM,MAAM,GAAG,eAAe,CAAC;QAC7B,WAAW,EAAE,cAAc;QAC3B,KAAK;QACL,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;QAC1F,aAAa,EAAE,WAAW,CAAC,GAAG;QAC9B,aAAa,EAAE,WAAW,CAAC,GAAG;KAC/B,CAAC,CAAC;IAEH,yEAAyE;IACzE,IAAI,OAAe,CAAC;IAEpB,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;QACvB,OAAO,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC;SAAM,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QACxD,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC;IACxB,CAAC;SAAM,CAAC;QACN,MAAM,EAAE,aAAa,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QACjF,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,mFAAmF,CAAC,CAAC;QACvG,CAAC;QACD,OAAO,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,oEAAoE;IACpE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACpE,OAAO,GAAG,2CAA2C,SAAS,0CAA0C,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,YAAY,OAAO,EAAE,CAAC;IACxJ,CAAC;IACD,cAAc,CAAC,EAAE,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IAE5C,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,EAAe,EACf,OAAqC;IAErC,4CAA4C;IAC5C,IAAI,aAAyC,CAAC;IAE9C,IAAI,OAAO,EAAE,WAAW,IAAI,IAAI,EAAE,CAAC;QACjC,aAAa,GAAG,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;SAAM,CAAC;QACN,aAAa,GAAG,EAAE,CAAC,OAAO,CACxB,wEAAwE,CACzE,CAAC,GAAG,EAAgC,CAAC;IACxC,CAAC;IAED,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QAChC,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAEhD,iDAAiD;QACjD,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAG,WAAW,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;YACjD,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,EAAE,CAAC;gBACV,SAAS;YACX,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,gBAAgB,CAAC,EAAE,EAAE,cAAc,EAAE;gBACzC,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,SAAS,EAAE,OAAO,EAAE,SAAS;gBAC7B,SAAS,EAAE,OAAO,EAAE,SAAS;aAC9B,CAAC,CAAC;YACH,SAAS,EAAE,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,EAAE,CAAC;QACX,CAAC;IACH,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AACxC,CAAC;AAED,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"wiki-generator.js","sourceRoot":"","sources":["../../../src/wiki/wiki-generator.ts"],"names":[],"mappings":"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"}