git-history-ui 4.0.1 → 5.0.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 (106) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/CODE_OF_CONDUCT.md +53 -0
  3. package/CONTRIBUTING.md +132 -0
  4. package/LICENSE +21 -0
  5. package/README.md +75 -15
  6. package/SECURITY.md +51 -0
  7. package/build/frontend/chunk-6DL2ZTKG.js +1 -0
  8. package/build/frontend/chunk-ACWXPHRR.js +1 -0
  9. package/build/frontend/{chunk-CFCRPNUQ.js → chunk-F6HZ5OVS.js} +1 -1
  10. package/build/frontend/{chunk-UHWTLUOW.js → chunk-GHSRMAIR.js} +1 -1
  11. package/build/frontend/chunk-J5ZVP6TN.js +9 -0
  12. package/build/frontend/chunk-PRY6VAFG.js +1 -0
  13. package/build/frontend/chunk-PXNKNORB.js +1 -0
  14. package/build/frontend/chunk-S56XRIZ7.js +9 -0
  15. package/build/frontend/chunk-STUSEB5P.js +1 -0
  16. package/build/frontend/chunk-UM7ESEXJ.js +5 -0
  17. package/build/frontend/chunk-VGAHCEAA.js +1 -0
  18. package/build/frontend/chunk-XLGWMKXV.js +1 -0
  19. package/build/frontend/chunk-Y6GOUMAT.js +1 -0
  20. package/build/frontend/index.html +2 -2
  21. package/build/frontend/main-W5NQX3FE.js +1 -0
  22. package/build/frontend/styles-RQGRQK4Z.css +1 -0
  23. package/dist/backend/aggregations.d.ts +1 -0
  24. package/dist/backend/aggregations.d.ts.map +1 -0
  25. package/dist/backend/annotations.d.ts +10 -1
  26. package/dist/backend/annotations.d.ts.map +1 -0
  27. package/dist/backend/annotations.js +84 -9
  28. package/dist/backend/annotations.js.map +1 -1
  29. package/dist/backend/breakage.d.ts +70 -0
  30. package/dist/backend/breakage.d.ts.map +1 -0
  31. package/dist/backend/breakage.js +235 -0
  32. package/dist/backend/breakage.js.map +1 -0
  33. package/dist/backend/cache/sqliteIndex.d.ts +2 -1
  34. package/dist/backend/cache/sqliteIndex.d.ts.map +1 -0
  35. package/dist/backend/cache/sqliteIndex.js +36 -23
  36. package/dist/backend/cache/sqliteIndex.js.map +1 -1
  37. package/dist/backend/dev-server.d.ts +1 -0
  38. package/dist/backend/dev-server.d.ts.map +1 -0
  39. package/dist/backend/gitService.d.ts +15 -6
  40. package/dist/backend/gitService.d.ts.map +1 -0
  41. package/dist/backend/gitService.js +148 -45
  42. package/dist/backend/gitService.js.map +1 -1
  43. package/dist/backend/grouping/prGrouping.d.ts +1 -0
  44. package/dist/backend/grouping/prGrouping.d.ts.map +1 -0
  45. package/dist/backend/grouping/prGrouping.js +41 -19
  46. package/dist/backend/grouping/prGrouping.js.map +1 -1
  47. package/dist/backend/impact.d.ts +4 -1
  48. package/dist/backend/impact.d.ts.map +1 -0
  49. package/dist/backend/impact.js +30 -16
  50. package/dist/backend/impact.js.map +1 -1
  51. package/dist/backend/insights.d.ts +1 -0
  52. package/dist/backend/insights.d.ts.map +1 -0
  53. package/dist/backend/insights.js +8 -3
  54. package/dist/backend/insights.js.map +1 -1
  55. package/dist/backend/llm/anthropicProvider.d.ts +2 -0
  56. package/dist/backend/llm/anthropicProvider.d.ts.map +1 -0
  57. package/dist/backend/llm/anthropicProvider.js +10 -4
  58. package/dist/backend/llm/anthropicProvider.js.map +1 -1
  59. package/dist/backend/llm/heuristicProvider.d.ts +2 -0
  60. package/dist/backend/llm/heuristicProvider.d.ts.map +1 -0
  61. package/dist/backend/llm/heuristicProvider.js +54 -4
  62. package/dist/backend/llm/heuristicProvider.js.map +1 -1
  63. package/dist/backend/llm/index.d.ts +7 -0
  64. package/dist/backend/llm/index.d.ts.map +1 -0
  65. package/dist/backend/llm/index.js +15 -5
  66. package/dist/backend/llm/index.js.map +1 -1
  67. package/dist/backend/llm/openaiProvider.d.ts +3 -0
  68. package/dist/backend/llm/openaiProvider.d.ts.map +1 -0
  69. package/dist/backend/llm/openaiProvider.js +29 -4
  70. package/dist/backend/llm/openaiProvider.js.map +1 -1
  71. package/dist/backend/llm/types.d.ts +3 -1
  72. package/dist/backend/llm/types.d.ts.map +1 -0
  73. package/dist/backend/presets.d.ts +1 -0
  74. package/dist/backend/presets.d.ts.map +1 -0
  75. package/dist/backend/search/datePhrase.d.ts +1 -0
  76. package/dist/backend/search/datePhrase.d.ts.map +1 -0
  77. package/dist/backend/search/nlSearch.d.ts +1 -0
  78. package/dist/backend/search/nlSearch.d.ts.map +1 -0
  79. package/dist/backend/server.d.ts +1 -0
  80. package/dist/backend/server.d.ts.map +1 -0
  81. package/dist/backend/server.js +100 -26
  82. package/dist/backend/server.js.map +1 -1
  83. package/dist/backend/snapshot.d.ts +4 -1
  84. package/dist/backend/snapshot.d.ts.map +1 -0
  85. package/dist/backend/snapshot.js +14 -9
  86. package/dist/backend/snapshot.js.map +1 -1
  87. package/dist/cli.d.ts +1 -0
  88. package/dist/cli.d.ts.map +1 -0
  89. package/docs/API.md +70 -0
  90. package/docs/architecture.md +85 -0
  91. package/docs/configuration.md +54 -0
  92. package/docs/troubleshooting.md +85 -0
  93. package/package.json +44 -8
  94. package/build/frontend/chunk-4JCUQ6Y5.js +0 -1
  95. package/build/frontend/chunk-6VRZZB3T.js +0 -1
  96. package/build/frontend/chunk-EZUFC4CQ.js +0 -1
  97. package/build/frontend/chunk-GRG6HTLW.js +0 -9
  98. package/build/frontend/chunk-I4VBIHH2.js +0 -1
  99. package/build/frontend/chunk-OBPR2XVH.js +0 -5
  100. package/build/frontend/chunk-QNEGGJHP.js +0 -2
  101. package/build/frontend/chunk-UIWFTWLF.js +0 -1
  102. package/build/frontend/chunk-UNROVCUZ.js +0 -7
  103. package/build/frontend/chunk-UWM4ZZWH.js +0 -1
  104. package/build/frontend/chunk-VHEMN3MU.js +0 -1
  105. package/build/frontend/main-SQFBVJA6.js +0 -1
  106. package/build/frontend/styles-DUWPKHDX.css +0 -1
@@ -0,0 +1,70 @@
1
+ import type { GitService } from './gitService';
2
+ /**
3
+ * Breakage Analysis — heuristic, SZZ-lite "what likely broke this file".
4
+ *
5
+ * Inputs: a file path. Outputs:
6
+ * - the recent commits that touched the file (with churn);
7
+ * - which of those look like fix/revert/hotfix commits;
8
+ * - "suspect" commits scored by how strongly they correlate with the
9
+ * fixes that followed them (immediately preceding a fix, large
10
+ * churn, fix landed within a week, etc.);
11
+ * - co-changed files (files commonly modified alongside the fix
12
+ * commits that touched this file);
13
+ * - a coarse risk score / one-line summary for the UI.
14
+ *
15
+ * The scoring is intentionally local and explainable — every suspect
16
+ * carries a `reasons[]` array so the UI can show *why* a commit is
17
+ * flagged. We do not try to do real SZZ blame because it requires
18
+ * line-level history and is far slower; this heuristic catches the most
19
+ * common "regression introduced by the previous touch" pattern with
20
+ * essentially zero extra git roundtrips.
21
+ */
22
+ export interface BreakageCommit {
23
+ hash: string;
24
+ shortHash: string;
25
+ author: string;
26
+ date: string;
27
+ subject: string;
28
+ isFix: boolean;
29
+ isRevert: boolean;
30
+ additions: number;
31
+ deletions: number;
32
+ churn: number;
33
+ }
34
+ export interface BreakageFixRef {
35
+ hash: string;
36
+ shortHash: string;
37
+ subject: string;
38
+ date: string;
39
+ }
40
+ export interface BreakageSuspect {
41
+ hash: string;
42
+ shortHash: string;
43
+ subject: string;
44
+ author: string;
45
+ date: string;
46
+ churn: number;
47
+ score: number;
48
+ reasons: string[];
49
+ linkedFixes: BreakageFixRef[];
50
+ }
51
+ export interface CoChangedFile {
52
+ file: string;
53
+ count: number;
54
+ }
55
+ export interface BreakageAnalysis {
56
+ file: string;
57
+ totalCommits: number;
58
+ fixCount: number;
59
+ riskScore: number;
60
+ summary: string;
61
+ commits: BreakageCommit[];
62
+ fixCommits: BreakageCommit[];
63
+ suspects: BreakageSuspect[];
64
+ coChangedFiles: CoChangedFile[];
65
+ }
66
+ export declare function getFileBreakageAnalysis(gitService: GitService, file: string, options?: {
67
+ limit?: number;
68
+ signal?: AbortSignal;
69
+ }): Promise<BreakageAnalysis>;
70
+ //# sourceMappingURL=breakage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breakage.d.ts","sourceRoot":"","sources":["../../src/backend/breakage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,EAAE,cAAc,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,cAAc,EAAE,aAAa,EAAE,CAAC;CACjC;AAgBD,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAO,GACrD,OAAO,CAAC,gBAAgB,CAAC,CA2K3B"}
@@ -0,0 +1,235 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getFileBreakageAnalysis = getFileBreakageAnalysis;
4
+ const FIX_RE = /\b(fix(?:e[ds])?|fixing|bug(?:fix)?|hotfix|patch(?:es)?|regression|crash(?:es|ed)?|panic|broken|breaks?|hang|deadlock|null\s*pointer|npe|leak|race(?:\s*condition)?|segfault|oops|undefined\s+behavior)\b/i;
5
+ const REVERT_RE = /\brevert\b/i;
6
+ const COMMITS_LIMIT = 200;
7
+ const SUSPECT_LIMIT = 10;
8
+ const COCHANGE_LIMIT = 10;
9
+ const SUSPECT_LOOKBACK = 6;
10
+ const COCHANGE_FIX_PROBE_LIMIT = 15;
11
+ const COCHANGE_SUSPECT_PROBE_LIMIT = 5;
12
+ const COCHANGE_DIFF_CONCURRENCY = 4;
13
+ const DIFF_CACHE_TTL_MS = 60_000;
14
+ const diffCache = new Map();
15
+ async function getFileBreakageAnalysis(gitService, file, options = {}) {
16
+ if (!file || file.includes('\0'))
17
+ throw new Error('Invalid path');
18
+ const limit = clamp(options.limit ?? COMMITS_LIMIT, 10, 1000);
19
+ const { signal } = options;
20
+ const checkAborted = () => {
21
+ if (signal?.aborted)
22
+ throw new Error('breakage analysis aborted');
23
+ };
24
+ checkAborted();
25
+ const page = await gitService.getCommits({ file, page: 1, pageSize: limit }).catch(() => null);
26
+ checkAborted();
27
+ if (!page || page.commits.length === 0) {
28
+ return emptyResult(file);
29
+ }
30
+ // Per-commit numstat for the same window, scoped to this file via the
31
+ // pathspec git log accepts. Any commit not in the map gets 0 churn.
32
+ const numstat = await gitService
33
+ .getNumstat({ file }, limit, { signal })
34
+ .catch(() => new Map());
35
+ checkAborted();
36
+ const commits = page.commits.map((c) => {
37
+ const stats = (numstat.get(c.hash) ?? []).reduce((acc, n) => ({
38
+ additions: acc.additions + n.additions,
39
+ deletions: acc.deletions + n.deletions
40
+ }), { additions: 0, deletions: 0 });
41
+ const isRevert = REVERT_RE.test(c.subject);
42
+ const isFix = !isRevert && (FIX_RE.test(c.subject) || FIX_RE.test(c.body));
43
+ return {
44
+ hash: c.hash,
45
+ shortHash: c.shortHash,
46
+ author: c.author,
47
+ date: c.date,
48
+ subject: c.subject,
49
+ isFix,
50
+ isRevert,
51
+ additions: stats.additions,
52
+ deletions: stats.deletions,
53
+ churn: stats.additions + stats.deletions
54
+ };
55
+ });
56
+ // Defensive: ensure newest-first ordering for the suspect walk below.
57
+ commits.sort((a, b) => b.date.localeCompare(a.date));
58
+ const indexByHash = new Map();
59
+ commits.forEach((c, i) => indexByHash.set(c.hash, i));
60
+ const fixCommits = commits.filter((c) => c.isFix || c.isRevert);
61
+ const suspectsMap = new Map();
62
+ const ensure = (info) => {
63
+ let entry = suspectsMap.get(info.hash);
64
+ if (!entry) {
65
+ entry = { info, score: 0, reasons: new Set(), fixes: new Map() };
66
+ suspectsMap.set(info.hash, entry);
67
+ }
68
+ return entry;
69
+ };
70
+ for (const fix of fixCommits) {
71
+ const fixIdx = indexByHash.get(fix.hash);
72
+ if (fixIdx === undefined)
73
+ continue;
74
+ const fixRef = {
75
+ hash: fix.hash,
76
+ shortHash: fix.shortHash,
77
+ subject: fix.subject,
78
+ date: fix.date
79
+ };
80
+ let assignedDirect = false;
81
+ for (let i = fixIdx + 1; i < commits.length && i - fixIdx <= SUSPECT_LOOKBACK; i++) {
82
+ const candidate = commits[i];
83
+ if (candidate.isFix || candidate.isRevert)
84
+ continue;
85
+ const entry = ensure(candidate);
86
+ if (entry.fixes.has(fix.hash))
87
+ continue;
88
+ entry.fixes.set(fix.hash, fixRef);
89
+ if (!assignedDirect) {
90
+ entry.score += 5;
91
+ entry.reasons.add('immediately preceded a fix');
92
+ assignedDirect = true;
93
+ }
94
+ else {
95
+ entry.score += 2;
96
+ entry.reasons.add('changed shortly before a fix');
97
+ }
98
+ if (candidate.churn >= 100) {
99
+ entry.score += 2;
100
+ entry.reasons.add('large change (>=100 lines)');
101
+ }
102
+ else if (candidate.churn >= 30) {
103
+ entry.score += 1;
104
+ entry.reasons.add('moderate change (>=30 lines)');
105
+ }
106
+ const days = daysBetween(candidate.date, fix.date);
107
+ if (days >= 0 && days <= 7) {
108
+ entry.score += 2;
109
+ entry.reasons.add('fix landed within a week');
110
+ }
111
+ }
112
+ }
113
+ const suspects = Array.from(suspectsMap.values())
114
+ .sort((a, b) => b.score - a.score || b.info.date.localeCompare(a.info.date))
115
+ .slice(0, SUSPECT_LIMIT)
116
+ .map((s) => ({
117
+ hash: s.info.hash,
118
+ shortHash: s.info.shortHash,
119
+ subject: s.info.subject,
120
+ author: s.info.author,
121
+ date: s.info.date,
122
+ churn: s.info.churn,
123
+ score: s.score,
124
+ reasons: Array.from(s.reasons),
125
+ linkedFixes: Array.from(s.fixes.values()).sort((a, b) => b.date.localeCompare(a.date))
126
+ }));
127
+ // Co-changed files: enumerate all files in the diffs of recent fix
128
+ // commits + top suspects. Bounded so we stay responsive on huge repos.
129
+ const cofreq = new Map();
130
+ const probeHashes = new Set();
131
+ for (const f of fixCommits.slice(0, COCHANGE_FIX_PROBE_LIMIT))
132
+ probeHashes.add(f.hash);
133
+ for (const s of suspects.slice(0, COCHANGE_SUSPECT_PROBE_LIMIT))
134
+ probeHashes.add(s.hash);
135
+ const cochangeDiffs = await runLimited(Array.from(probeHashes), COCHANGE_DIFF_CONCURRENCY, async (hash) => ({
136
+ hash,
137
+ files: await cachedDiffFiles(gitService, hash, options)
138
+ }));
139
+ for (const { files } of cochangeDiffs) {
140
+ const seen = new Set();
141
+ for (const other of files) {
142
+ if (!other || other === file || seen.has(other))
143
+ continue;
144
+ seen.add(other);
145
+ cofreq.set(other, (cofreq.get(other) ?? 0) + 1);
146
+ }
147
+ }
148
+ const coChangedFiles = Array.from(cofreq.entries())
149
+ .map(([f, count]) => ({ file: f, count }))
150
+ .sort((a, b) => b.count - a.count || a.file.localeCompare(b.file))
151
+ .slice(0, COCHANGE_LIMIT);
152
+ const fixRatio = commits.length > 0 ? fixCommits.length / commits.length : 0;
153
+ const riskScore = Math.min(100, Math.round(fixRatio * 60 + Math.min(commits.length, 50) * 0.4 + suspects.length * 1.5));
154
+ return {
155
+ file,
156
+ totalCommits: page.total ?? commits.length,
157
+ fixCount: fixCommits.length,
158
+ riskScore,
159
+ summary: buildSummary(commits, fixCommits, suspects, riskScore),
160
+ commits,
161
+ fixCommits,
162
+ suspects,
163
+ coChangedFiles
164
+ };
165
+ }
166
+ async function cachedDiffFiles(gitService, hash, options = {}) {
167
+ const cached = diffCache.get(hash);
168
+ if (cached && cached.expiresAt > Date.now())
169
+ return cached.files;
170
+ if (options.signal?.aborted)
171
+ throw new Error('breakage aborted');
172
+ const files = await gitService
173
+ .getDiff(hash, { signal: options.signal })
174
+ .then((diff) => diff.map((d) => d.file))
175
+ .catch(() => []);
176
+ diffCache.set(hash, { files, expiresAt: Date.now() + DIFF_CACHE_TTL_MS });
177
+ if (diffCache.size > 200) {
178
+ const first = diffCache.keys().next().value;
179
+ if (first)
180
+ diffCache.delete(first);
181
+ }
182
+ return files;
183
+ }
184
+ async function runLimited(items, concurrency, fn) {
185
+ const out = new Array(items.length);
186
+ let cursor = 0;
187
+ await Promise.all(Array.from({ length: Math.min(concurrency, items.length) }, async () => {
188
+ while (cursor < items.length) {
189
+ const i = cursor++;
190
+ out[i] = await fn(items[i]);
191
+ }
192
+ }));
193
+ return out;
194
+ }
195
+ function emptyResult(file) {
196
+ return {
197
+ file,
198
+ totalCommits: 0,
199
+ fixCount: 0,
200
+ riskScore: 0,
201
+ summary: 'No commit history found for this file.',
202
+ commits: [],
203
+ fixCommits: [],
204
+ suspects: [],
205
+ coChangedFiles: []
206
+ };
207
+ }
208
+ function clamp(v, lo, hi) {
209
+ return Math.max(lo, Math.min(hi, v));
210
+ }
211
+ function daysBetween(a, b) {
212
+ const ta = Date.parse(a);
213
+ const tb = Date.parse(b);
214
+ if (!Number.isFinite(ta) || !Number.isFinite(tb))
215
+ return -1;
216
+ return Math.abs(tb - ta) / (1000 * 60 * 60 * 24);
217
+ }
218
+ function buildSummary(commits, fixCommits, suspects, riskScore) {
219
+ if (commits.length === 0)
220
+ return 'No commit history found.';
221
+ const parts = [];
222
+ parts.push(`${commits.length} recent commit${commits.length === 1 ? '' : 's'}, ` +
223
+ `${fixCommits.length} look${fixCommits.length === 1 ? 's' : ''} like fixes/reverts.`);
224
+ if (suspects.length > 0) {
225
+ const top = suspects[0];
226
+ parts.push(`Most likely culprit: ${top.shortHash} "${top.subject}" by ${top.author}.`);
227
+ }
228
+ parts.push(riskScore >= 60
229
+ ? 'High breakage risk — fixes frequently follow recent changes.'
230
+ : riskScore >= 30
231
+ ? 'Moderate breakage risk — some fix activity in this file.'
232
+ : 'Low breakage risk based on recent history.');
233
+ return parts.join(' ');
234
+ }
235
+ //# sourceMappingURL=breakage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breakage.js","sourceRoot":"","sources":["../../src/backend/breakage.ts"],"names":[],"mappings":"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"}
@@ -43,9 +43,10 @@ export declare class SqliteIndex {
43
43
  }): Promise<IndexStats>;
44
44
  private doBuild;
45
45
  /** Quick FTS5 / LIKE search returning hashes + subjects. */
46
- search(query: string, limit?: number): Promise<Array<Pick<Commit, 'hash' | 'shortHash' | 'subject' | 'date' | 'author'>>>;
46
+ search(query: string, limit?: number): Promise<Commit[]>;
47
47
  close(): void;
48
48
  private refSignature;
49
49
  private currentHead;
50
50
  private isAncestor;
51
51
  }
52
+ //# sourceMappingURL=sqliteIndex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqliteIndex.d.ts","sourceRoot":"","sources":["../../../src/backend/cache/sqliteIndex.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAI5C,eAAO,MAAM,iBAAiB,QAE7B,CAAC;AAIF;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA2BD,MAAM,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAC5D,MAAM,MAAM,eAAe,GAAG,CAC5B,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,EAChC,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,KAC5B,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB,qBAAa,WAAW;IASpB,OAAO,CAAC,MAAM;IARhB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,EAAE,CAAyB;IACnC,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,SAAS,CAAyB;gBAGxC,OAAO,EAAE,MAAM,EACP,MAAM,EAAE,SAAS,EACzB,SAAS,CAAC,EAAE,eAAe;IAQ7B,MAAM,CAAC,WAAW,IAAI,OAAO;IAI7B,MAAM,IAAI,OAAO;IAIjB,iFAAiF;IACjF,IAAI,IAAI,OAAO;IAoCT,KAAK,IAAI,OAAO,CAAC,UAAU,CAAC;IAclC,sEAAsE;IAChE,KAAK,CAAC,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAO,GAAG,OAAO,CAAC,UAAU,CAAC;YAevD,OAAO;IAuGrB,4DAA4D;IACtD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA2C1D,KAAK;YAOS,YAAY;YAoBZ,WAAW;YAMX,UAAU;CAMzB"}
@@ -119,7 +119,7 @@ class SqliteIndex {
119
119
  return;
120
120
  const head = await this.currentHead();
121
121
  const storedHead = this.db.prepare("SELECT v FROM meta WHERE k='indexedHead'").get()?.v ?? '';
122
- const canIncrement = !!storedHead && !!head && await this.isAncestor(storedHead, head);
122
+ const canIncrement = !!storedHead && !!head && (await this.isAncestor(storedHead, head));
123
123
  const args = [
124
124
  'log',
125
125
  '--all',
@@ -133,12 +133,14 @@ class SqliteIndex {
133
133
  try {
134
134
  this.db.exec('DELETE FROM commits_fts');
135
135
  }
136
- catch { /* no fts */ }
136
+ catch {
137
+ /* no fts */
138
+ }
137
139
  }
138
140
  const ins = this.db.prepare('INSERT OR REPLACE INTO commits(hash,short,author,email,date,parents,subject,body) VALUES (?,?,?,?,?,?,?,?)');
139
141
  const insFts = (() => {
140
142
  try {
141
- return this.db.prepare("INSERT INTO commits_fts(rowid,subject,body) VALUES ((SELECT rowid FROM commits WHERE hash = ?), ?, ?)");
143
+ return this.db.prepare('INSERT INTO commits_fts(rowid,subject,body) VALUES ((SELECT rowid FROM commits WHERE hash = ?), ?, ?)');
142
144
  }
143
145
  catch {
144
146
  return null;
@@ -191,7 +193,9 @@ class SqliteIndex {
191
193
  }
192
194
  this.db.prepare("INSERT OR REPLACE INTO meta(k,v) VALUES('refsSig', ?)").run(sig);
193
195
  this.db.prepare("INSERT OR REPLACE INTO meta(k,v) VALUES('indexedHead', ?)").run(head);
194
- this.db.prepare("INSERT OR REPLACE INTO meta(k,v) VALUES('builtAt', ?)").run(new Date().toISOString());
196
+ this.db
197
+ .prepare("INSERT OR REPLACE INTO meta(k,v) VALUES('builtAt', ?)")
198
+ .run(new Date().toISOString());
195
199
  this.db.exec('COMMIT');
196
200
  }
197
201
  catch (err) {
@@ -207,21 +211,28 @@ class SqliteIndex {
207
211
  let rows = [];
208
212
  try {
209
213
  rows = db
210
- .prepare('SELECT c.hash, c.short, c.subject, c.date, c.author FROM commits_fts f JOIN commits c ON c.rowid = f.rowid WHERE commits_fts MATCH ? LIMIT ?')
214
+ .prepare('SELECT c.hash, c.short, c.subject, c.body, c.date, c.author, c.email, c.parents FROM commits_fts f JOIN commits c ON c.rowid = f.rowid WHERE commits_fts MATCH ? LIMIT ?')
211
215
  .all(query, limit);
212
216
  }
213
217
  catch {
214
218
  const like = `%${query}%`;
215
219
  rows = db
216
- .prepare('SELECT hash, short, subject, date, author FROM commits WHERE subject LIKE ? OR body LIKE ? ORDER BY date DESC LIMIT ?')
220
+ .prepare('SELECT hash, short, subject, body, date, author, email, parents FROM commits WHERE subject LIKE ? OR body LIKE ? ORDER BY date DESC LIMIT ?')
217
221
  .all(like, like, limit);
218
222
  }
219
223
  return rows.map((r) => ({
220
224
  hash: r.hash,
221
225
  shortHash: r.short,
226
+ authorEmail: r.email,
222
227
  subject: r.subject,
228
+ body: r.body,
229
+ message: r.body ? `${r.subject}\n\n${r.body}` : r.subject,
223
230
  date: r.date,
224
- author: r.author
231
+ author: r.author,
232
+ parents: r.parents ? r.parents.split(' ').filter(Boolean) : [],
233
+ branches: [],
234
+ tags: [],
235
+ isMerge: !!r.parents && r.parents.split(' ').filter(Boolean).length > 1
225
236
  }));
226
237
  }
227
238
  close() {
@@ -232,33 +243,35 @@ class SqliteIndex {
232
243
  }
233
244
  async refSignature() {
234
245
  const head = await this.currentHead();
235
- let mtimes = '';
246
+ let refs = '';
236
247
  try {
237
- const refsDir = path_1.default.join(this.repoCwd, '.git', 'refs');
238
- const walk = (dir) => {
239
- for (const entry of fs_1.default.readdirSync(dir, { withFileTypes: true })) {
240
- const full = path_1.default.join(dir, entry.name);
241
- if (entry.isDirectory())
242
- walk(full);
243
- else
244
- mtimes += `${full}:${fs_1.default.statSync(full).mtimeMs};`;
245
- }
246
- };
247
- if (fs_1.default.existsSync(refsDir))
248
- walk(refsDir);
248
+ refs = await this.runGit([
249
+ 'for-each-ref',
250
+ '--format=%(refname)%00%(objectname)%00%(creatordate:iso-strict)',
251
+ 'refs/heads',
252
+ 'refs/remotes',
253
+ 'refs/tags'
254
+ ]);
249
255
  }
250
256
  catch {
251
257
  /* ignore */
252
258
  }
253
- return crypto_1.default.createHash('sha256').update(head + '|' + mtimes).digest('hex');
259
+ return crypto_1.default
260
+ .createHash('sha256')
261
+ .update(head + '|' + refs)
262
+ .digest('hex');
254
263
  }
255
264
  async currentHead() {
256
- return this.runGit(['rev-parse', 'HEAD']).then((s) => s.trim()).catch(() => '');
265
+ return this.runGit(['rev-parse', 'HEAD'])
266
+ .then((s) => s.trim())
267
+ .catch(() => '');
257
268
  }
258
269
  async isAncestor(base, head) {
259
270
  if (!/^[0-9a-fA-F]{4,40}$/.test(base) || !/^[0-9a-fA-F]{4,40}$/.test(head))
260
271
  return false;
261
- return this.runGit(['merge-base', '--is-ancestor', base, head]).then(() => true).catch(() => false);
272
+ return this.runGit(['merge-base', '--is-ancestor', base, head])
273
+ .then(() => true)
274
+ .catch(() => false);
262
275
  }
263
276
  }
264
277
  exports.SqliteIndex = SqliteIndex;
@@ -1 +1 @@
1
- {"version":3,"file":"sqliteIndex.js","sourceRoot":"","sources":["../../../src/backend/cache/sqliteIndex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqliteIndex.js","sourceRoot":"","sources":["../../../src/backend/cache/sqliteIndex.ts"],"names":[],"mappings":"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"}
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=dev-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-server.d.ts","sourceRoot":"","sources":["../../src/backend/dev-server.ts"],"names":[],"mappings":""}
@@ -56,21 +56,29 @@ export declare class GitService {
56
56
  private repoPath;
57
57
  private refIndexCache;
58
58
  private countCache;
59
+ private authorsCache;
59
60
  private repoCheckResult;
60
61
  constructor(repoPath?: string);
61
62
  verifyRepository(): Promise<boolean>;
62
63
  private getRefIndex;
63
- getCommits(options?: GitOptions): Promise<PaginatedCommits>;
64
+ getCommits(options?: GitOptions, opts?: GitStreamOptions): Promise<PaginatedCommits>;
65
+ getCommitsForFiles(files: string[], limit?: number, opts?: GitStreamOptions): Promise<Commit[]>;
66
+ private getCachedTotal;
64
67
  private getTotalCount;
65
68
  private buildFilterArgs;
66
69
  private revisionArg;
67
70
  private parseLog;
68
71
  getCommit(hash: string): Promise<Commit>;
69
- getAuthors(): Promise<string[]>;
70
- getDiff(hash: string): Promise<DiffFile[]>;
71
- getRangeDiff(from: string, to: string): Promise<DiffFile[]>;
72
+ getAuthors(opts?: GitStreamOptions): Promise<string[]>;
73
+ getDiff(hash: string, opts?: GitStreamOptions): Promise<DiffFile[]>;
74
+ getRangeDiff(from: string, to: string, opts?: GitStreamOptions): Promise<DiffFile[]>;
72
75
  /** Resolve any ref (branch/tag/HEAD) to its commit at or before `atIso`. */
73
- revAt(ref: string, atIso: string): Promise<string | null>;
76
+ revAt(ref: string, atIso: string, opts?: GitStreamOptions): Promise<string | null>;
77
+ refsAt(atIso: string, opts?: GitStreamOptions): Promise<{
78
+ head: string | null;
79
+ branches: Record<string, string>;
80
+ tags: Record<string, string>;
81
+ }>;
74
82
  /** Origin URL of the first remote (typically `origin`). */
75
83
  getRemoteUrl(name?: string): Promise<string>;
76
84
  getFileStats(filePath: string): Promise<{
@@ -81,7 +89,7 @@ export declare class GitService {
81
89
  contributors: string[];
82
90
  }>;
83
91
  /** Read the contents of a file at a specific commit. */
84
- getFileAtCommit(hash: string, filePath: string): Promise<string>;
92
+ getFileAtCommit(hash: string, filePath: string, opts?: GitStreamOptions): Promise<string>;
85
93
  /** Pass-through git runner for trusted callers (e.g., SqliteIndex builder). */
86
94
  runRaw(args: string[], opts?: {
87
95
  maxBuffer?: number;
@@ -119,3 +127,4 @@ export declare class GitService {
119
127
  getBranches(): Promise<string[]>;
120
128
  private git;
121
129
  }
130
+ //# sourceMappingURL=gitService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gitService.d.ts","sourceRoot":"","sources":["../../src/backend/gitService.ts"],"names":[],"mappings":"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"}