@gitkraken/core-gitlens 0.5.113 → 0.5.114

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 (241) hide show
  1. package/CHANGELOG.md +17 -1
  2. package/dist/git/cache.d.ts +4 -0
  3. package/dist/git/cache.d.ts.map +1 -1
  4. package/dist/git/cache.js +33 -0
  5. package/dist/git/cache.js.map +1 -1
  6. package/dist/git/context.d.ts +10 -0
  7. package/dist/git/context.d.ts.map +1 -1
  8. package/dist/git/context.js.map +1 -1
  9. package/dist/git/errors.d.ts +6 -3
  10. package/dist/git/errors.d.ts.map +1 -1
  11. package/dist/git/errors.js +9 -1
  12. package/dist/git/errors.js.map +1 -1
  13. package/dist/git/features.d.ts +1 -1
  14. package/dist/git/features.d.ts.map +1 -1
  15. package/dist/git/features.js +38 -0
  16. package/dist/git/features.js.map +1 -1
  17. package/dist/git/gitHealth.d.ts +153 -0
  18. package/dist/git/gitHealth.d.ts.map +1 -0
  19. package/dist/git/gitHealth.js +353 -0
  20. package/dist/git/gitHealth.js.map +1 -0
  21. package/dist/git/models/search.d.ts +6 -3
  22. package/dist/git/models/search.d.ts.map +1 -1
  23. package/dist/git/models/search.js +5 -1
  24. package/dist/git/models/search.js.map +1 -1
  25. package/dist/git/parsers/diffParser.d.ts +8 -2
  26. package/dist/git/parsers/diffParser.d.ts.map +1 -1
  27. package/dist/git/parsers/diffParser.js +27 -4
  28. package/dist/git/parsers/diffParser.js.map +1 -1
  29. package/dist/git/providers/config.d.ts +36 -3
  30. package/dist/git/providers/config.d.ts.map +1 -1
  31. package/dist/git/providers/graph.d.ts +9 -0
  32. package/dist/git/providers/graph.d.ts.map +1 -1
  33. package/dist/git/providers/maintenance.d.ts +222 -0
  34. package/dist/git/providers/maintenance.d.ts.map +1 -0
  35. package/dist/git/providers/maintenance.js +20 -0
  36. package/dist/git/providers/maintenance.js.map +1 -0
  37. package/dist/git/providers/operations.d.ts +10 -0
  38. package/dist/git/providers/operations.d.ts.map +1 -1
  39. package/dist/git/providers/pausedOperations.d.ts +3 -0
  40. package/dist/git/providers/pausedOperations.d.ts.map +1 -1
  41. package/dist/git/providers/provider.d.ts +2 -0
  42. package/dist/git/providers/provider.d.ts.map +1 -1
  43. package/dist/git/providers/tags.d.ts +3 -0
  44. package/dist/git/providers/tags.d.ts.map +1 -1
  45. package/dist/git/repositoryService.d.ts +1 -0
  46. package/dist/git/repositoryService.d.ts.map +1 -1
  47. package/dist/git/repositoryService.js.map +1 -1
  48. package/dist/git/run.types.d.ts +8 -0
  49. package/dist/git/run.types.d.ts.map +1 -1
  50. package/dist/git/service.js +3 -0
  51. package/dist/git/service.js.map +1 -1
  52. package/dist/git/utils/search.utils.d.ts.map +1 -1
  53. package/dist/git/utils/search.utils.js +112 -5
  54. package/dist/git/utils/search.utils.js.map +1 -1
  55. package/dist/git/watching/watchService.d.ts +3 -0
  56. package/dist/git/watching/watchService.d.ts.map +1 -1
  57. package/dist/git/watching/watchService.js +8 -0
  58. package/dist/git/watching/watchService.js.map +1 -1
  59. package/dist/git-cli/cliGitProvider.d.ts +11 -0
  60. package/dist/git-cli/cliGitProvider.d.ts.map +1 -1
  61. package/dist/git-cli/cliGitProvider.js +12 -0
  62. package/dist/git-cli/cliGitProvider.js.map +1 -1
  63. package/dist/git-cli/exec/git.d.ts +23 -1
  64. package/dist/git-cli/exec/git.d.ts.map +1 -1
  65. package/dist/git-cli/exec/git.js +83 -8
  66. package/dist/git-cli/exec/git.js.map +1 -1
  67. package/dist/git-cli/exec/gitQueue.d.ts +2 -0
  68. package/dist/git-cli/exec/gitQueue.d.ts.map +1 -1
  69. package/dist/git-cli/exec/gitQueue.js +19 -17
  70. package/dist/git-cli/exec/gitQueue.js.map +1 -1
  71. package/dist/git-cli/parsers/logParser.d.ts.map +1 -1
  72. package/dist/git-cli/parsers/logParser.js +4 -1
  73. package/dist/git-cli/parsers/logParser.js.map +1 -1
  74. package/dist/git-cli/providers/blame.d.ts.map +1 -1
  75. package/dist/git-cli/providers/blame.js +4 -7
  76. package/dist/git-cli/providers/blame.js.map +1 -1
  77. package/dist/git-cli/providers/branches.d.ts.map +1 -1
  78. package/dist/git-cli/providers/branches.js +13 -3
  79. package/dist/git-cli/providers/branches.js.map +1 -1
  80. package/dist/git-cli/providers/commits.d.ts.map +1 -1
  81. package/dist/git-cli/providers/commits.js +34 -3
  82. package/dist/git-cli/providers/commits.js.map +1 -1
  83. package/dist/git-cli/providers/config.d.ts +27 -0
  84. package/dist/git-cli/providers/config.d.ts.map +1 -1
  85. package/dist/git-cli/providers/config.js +31 -6
  86. package/dist/git-cli/providers/config.js.map +1 -1
  87. package/dist/git-cli/providers/graph.d.ts +8 -0
  88. package/dist/git-cli/providers/graph.d.ts.map +1 -1
  89. package/dist/git-cli/providers/graph.js +85 -6
  90. package/dist/git-cli/providers/graph.js.map +1 -1
  91. package/dist/git-cli/providers/maintenance.d.ts +306 -0
  92. package/dist/git-cli/providers/maintenance.d.ts.map +1 -0
  93. package/dist/git-cli/providers/maintenance.js +2129 -0
  94. package/dist/git-cli/providers/maintenance.js.map +1 -0
  95. package/dist/git-cli/providers/operations.d.ts +1 -0
  96. package/dist/git-cli/providers/operations.d.ts.map +1 -1
  97. package/dist/git-cli/providers/operations.js +8 -0
  98. package/dist/git-cli/providers/operations.js.map +1 -1
  99. package/dist/git-cli/providers/pausedOperations.d.ts +1 -0
  100. package/dist/git-cli/providers/pausedOperations.d.ts.map +1 -1
  101. package/dist/git-cli/providers/pausedOperations.js +1 -1
  102. package/dist/git-cli/providers/pausedOperations.js.map +1 -1
  103. package/dist/git-cli/providers/tags.d.ts +3 -0
  104. package/dist/git-cli/providers/tags.d.ts.map +1 -1
  105. package/dist/git-cli/providers/tags.js +23 -1
  106. package/dist/git-cli/providers/tags.js.map +1 -1
  107. package/dist/plus/agents/agentCapabilities.d.ts +77 -0
  108. package/dist/plus/agents/agentCapabilities.d.ts.map +1 -0
  109. package/dist/plus/agents/agentCapabilities.js +197 -0
  110. package/dist/plus/agents/agentCapabilities.js.map +1 -0
  111. package/dist/plus/agents/providers/claudeCodeTranscript.d.ts +77 -13
  112. package/dist/plus/agents/providers/claudeCodeTranscript.d.ts.map +1 -1
  113. package/dist/plus/agents/providers/claudeCodeTranscript.js +263 -55
  114. package/dist/plus/agents/providers/claudeCodeTranscript.js.map +1 -1
  115. package/dist/plus/agents/providers/{claudeCodeProvider.d.ts → gkAgentProvider.d.ts} +52 -19
  116. package/dist/plus/agents/providers/gkAgentProvider.d.ts.map +1 -0
  117. package/dist/plus/agents/providers/{claudeCodeProvider.js → gkAgentProvider.js} +935 -262
  118. package/dist/plus/agents/providers/gkAgentProvider.js.map +1 -0
  119. package/dist/plus/agents/types.d.ts +113 -35
  120. package/dist/plus/agents/types.d.ts.map +1 -1
  121. package/dist/plus/agents/types.js +7 -4
  122. package/dist/plus/agents/types.js.map +1 -1
  123. package/dist/plus/ai/models/promptTemplates.d.ts +1 -1
  124. package/dist/plus/ai/models/promptTemplates.d.ts.map +1 -1
  125. package/dist/plus/ai/prompts.d.ts +4 -0
  126. package/dist/plus/ai/prompts.d.ts.map +1 -1
  127. package/dist/plus/ai/prompts.js +59 -4
  128. package/dist/plus/ai/prompts.js.map +1 -1
  129. package/dist/plus/git-github/api/github.d.ts +44 -1
  130. package/dist/plus/git-github/api/github.d.ts.map +1 -1
  131. package/dist/plus/git-github/api/github.js +318 -25
  132. package/dist/plus/git-github/api/github.js.map +1 -1
  133. package/dist/plus/git-github/api/issueSearchQuery.d.ts +13 -0
  134. package/dist/plus/git-github/api/issueSearchQuery.d.ts.map +1 -1
  135. package/dist/plus/git-github/api/issueSearchQuery.js +41 -0
  136. package/dist/plus/git-github/api/issueSearchQuery.js.map +1 -1
  137. package/dist/plus/git-github/providers/github/blame.d.ts.map +1 -1
  138. package/dist/plus/git-github/providers/github/blame.js +2 -1
  139. package/dist/plus/git-github/providers/github/blame.js.map +1 -1
  140. package/dist/plus/integrations/integrationService.d.ts +11 -0
  141. package/dist/plus/integrations/integrationService.d.ts.map +1 -1
  142. package/dist/plus/integrations/integrationService.js +4 -0
  143. package/dist/plus/integrations/integrationService.js.map +1 -1
  144. package/dist/plus/integrations/manager.d.ts +26 -0
  145. package/dist/plus/integrations/manager.d.ts.map +1 -1
  146. package/dist/plus/integrations/models/gitHostIntegration.d.ts +31 -0
  147. package/dist/plus/integrations/models/gitHostIntegration.d.ts.map +1 -1
  148. package/dist/plus/integrations/models/gitHostIntegration.js +31 -0
  149. package/dist/plus/integrations/models/gitHostIntegration.js.map +1 -1
  150. package/dist/plus/integrations/models/integration.d.ts +1 -1
  151. package/dist/plus/integrations/models/integration.d.ts.map +1 -1
  152. package/dist/plus/integrations/models/integration.js.map +1 -1
  153. package/dist/plus/integrations/providers/github.d.ts +9 -0
  154. package/dist/plus/integrations/providers/github.d.ts.map +1 -1
  155. package/dist/plus/integrations/providers/github.js +7 -0
  156. package/dist/plus/integrations/providers/github.js.map +1 -1
  157. package/dist/plus/integrations/reads/broaden.d.ts +47 -10
  158. package/dist/plus/integrations/reads/broaden.d.ts.map +1 -1
  159. package/dist/plus/integrations/reads/broaden.js +144 -33
  160. package/dist/plus/integrations/reads/broaden.js.map +1 -1
  161. package/dist/plus/integrations/reads/filters.d.ts +18 -0
  162. package/dist/plus/integrations/reads/filters.d.ts.map +1 -1
  163. package/dist/plus/integrations/reads/filters.js +37 -1
  164. package/dist/plus/integrations/reads/filters.js.map +1 -1
  165. package/dist/plus/integrations/reads/issueBatch.d.ts +51 -0
  166. package/dist/plus/integrations/reads/issueBatch.d.ts.map +1 -0
  167. package/dist/plus/integrations/reads/issueBatch.js +91 -0
  168. package/dist/plus/integrations/reads/issueBatch.js.map +1 -0
  169. package/dist/plus/integrations/reads/sweeps.d.ts.map +1 -1
  170. package/dist/plus/integrations/reads/sweeps.js +5 -3
  171. package/dist/plus/integrations/reads/sweeps.js.map +1 -1
  172. package/dist/utils/promiseCache.d.ts +19 -0
  173. package/dist/utils/promiseCache.d.ts.map +1 -1
  174. package/dist/utils/promiseCache.js +30 -0
  175. package/dist/utils/promiseCache.js.map +1 -1
  176. package/dist/utils/resourceUsage.d.ts +5 -0
  177. package/dist/utils/resourceUsage.d.ts.map +1 -0
  178. package/dist/utils/resourceUsage.js +2 -0
  179. package/dist/utils/resourceUsage.js.map +1 -0
  180. package/dist/utils/string.d.ts +12 -0
  181. package/dist/utils/string.d.ts.map +1 -1
  182. package/dist/utils/string.js +36 -1
  183. package/dist/utils/string.js.map +1 -1
  184. package/docs/integrations.md +29 -25
  185. package/docs/kepler-read-api-parity.md +12 -4
  186. package/package.json +11 -3
  187. package/src/git/cache.ts +36 -0
  188. package/src/git/context.ts +11 -0
  189. package/src/git/errors.ts +13 -1
  190. package/src/git/features.ts +51 -0
  191. package/src/git/gitHealth.ts +522 -0
  192. package/src/git/models/search.ts +19 -4
  193. package/src/git/parsers/diffParser.ts +27 -4
  194. package/src/git/providers/config.ts +42 -1
  195. package/src/git/providers/graph.ts +12 -0
  196. package/src/git/providers/maintenance.ts +224 -0
  197. package/src/git/providers/operations.ts +10 -0
  198. package/src/git/providers/pausedOperations.ts +3 -0
  199. package/src/git/providers/provider.ts +2 -0
  200. package/src/git/providers/tags.ts +1 -0
  201. package/src/git/repositoryService.ts +1 -0
  202. package/src/git/run.types.ts +8 -0
  203. package/src/git/service.ts +3 -0
  204. package/src/git/utils/search.utils.ts +129 -5
  205. package/src/git/watching/watchService.ts +10 -0
  206. package/src/git-cli/cliGitProvider.ts +25 -0
  207. package/src/git-cli/exec/git.ts +120 -6
  208. package/src/git-cli/exec/gitQueue.ts +19 -17
  209. package/src/git-cli/parsers/logParser.ts +4 -1
  210. package/src/git-cli/providers/blame.ts +3 -8
  211. package/src/git-cli/providers/branches.ts +28 -8
  212. package/src/git-cli/providers/commits.ts +34 -2
  213. package/src/git-cli/providers/config.ts +38 -6
  214. package/src/git-cli/providers/graph.ts +107 -7
  215. package/src/git-cli/providers/maintenance.ts +2599 -0
  216. package/src/git-cli/providers/operations.ts +11 -0
  217. package/src/git-cli/providers/pausedOperations.ts +7 -2
  218. package/src/git-cli/providers/tags.ts +36 -1
  219. package/src/plus/agents/agentCapabilities.ts +286 -0
  220. package/src/plus/agents/providers/claudeCodeTranscript.ts +313 -58
  221. package/src/plus/agents/providers/{claudeCodeProvider.ts → gkAgentProvider.ts} +1123 -277
  222. package/src/plus/agents/types.ts +137 -40
  223. package/src/plus/ai/models/promptTemplates.ts +1 -1
  224. package/src/plus/ai/prompts.ts +62 -4
  225. package/src/plus/git-github/api/github.ts +353 -24
  226. package/src/plus/git-github/api/issueSearchQuery.ts +49 -1
  227. package/src/plus/git-github/providers/github/blame.ts +2 -1
  228. package/src/plus/integrations/integrationService.ts +15 -0
  229. package/src/plus/integrations/manager.ts +26 -0
  230. package/src/plus/integrations/models/gitHostIntegration.ts +48 -0
  231. package/src/plus/integrations/models/integration.ts +1 -0
  232. package/src/plus/integrations/providers/github.ts +18 -0
  233. package/src/plus/integrations/reads/broaden.ts +282 -70
  234. package/src/plus/integrations/reads/filters.ts +39 -1
  235. package/src/plus/integrations/reads/issueBatch.ts +197 -0
  236. package/src/plus/integrations/reads/sweeps.ts +19 -12
  237. package/src/utils/promiseCache.ts +43 -0
  238. package/src/utils/resourceUsage.ts +5 -0
  239. package/src/utils/string.ts +38 -1
  240. package/dist/plus/agents/providers/claudeCodeProvider.d.ts.map +0 -1
  241. package/dist/plus/agents/providers/claudeCodeProvider.js.map +0 -1
@@ -0,0 +1,353 @@
1
+ /**
2
+ * Pure recommendation engine for the Git Health feature — no vscode imports, trivially unit-testable.
3
+ * Thresholds are initial, tunable, telemetry-informed values (see `.work/dev/git-health/spec.md`).
4
+ */
5
+ /** Working-tree size (via the index-bytes proxy) at/above which untracked-cache/fsmonitor/manyFiles help. */
6
+ export const trackedFilesThreshold = 10_000;
7
+ /** Loose-object estimate at/above which the `loose-objects` maintenance task is worth running. */
8
+ export const looseObjectsThreshold = 5_000;
9
+ /** Git's default uncovered-pack threshold for the `incremental-repack` auto condition. */
10
+ export const packsOutsideMultiPackIndexThreshold = 10;
11
+ /** Loose refs at/above which packing the files ref backend avoids repeated filesystem traversal. */
12
+ export const looseRefsThreshold = 256;
13
+ /** Total pack bytes at/above which a repo counts as "clearly large" for the banner gate (~1 GiB). */
14
+ export const largePackBytesThreshold = 1024 ** 3;
15
+ /** Rough bytes-per-entry of a git v2 index — turns `.git/index` size into a tracked-file-count proxy. */
16
+ export const approxBytesPerIndexEntry = 80;
17
+ /** Duration (ms) above which a git command is "slow" — mirrors the exec-layer slow-call threshold. */
18
+ export const slowCommandThresholdMs = 2000;
19
+ /**
20
+ * Extrapolates total loose-object count from a uniform sample of the 256 object fanout dirs. Loose
21
+ * objects distribute uniformly by sha prefix, so `(objectsInSampled / dirsSampled) * 256` is sound.
22
+ */
23
+ export function estimateLooseObjects(objectsInSampled, dirsSampled) {
24
+ if (dirsSampled <= 0)
25
+ return 0;
26
+ return Math.round((objectsInSampled / dirsSampled) * 256);
27
+ }
28
+ /** Turns `.git/index` byte size into an approximate tracked-file count. */
29
+ export function estimateTrackedFiles(indexBytes) {
30
+ if (indexBytes <= 0)
31
+ return 0;
32
+ return Math.round(indexBytes / approxBytesPerIndexEntry);
33
+ }
34
+ /**
35
+ * Computes the {@link GitHealthReport} from a cheap probe, passive slowness, and capabilities. Findings
36
+ * are only emitted for levers that are supported, not already applied, and past their threshold.
37
+ */
38
+ export function computeHealthReport(snapshot, slowness, capabilities) {
39
+ const estimatedLooseObjects = estimateLooseObjects(snapshot.looseObjects.objectsInSampledDirs, snapshot.looseObjects.dirsSampled);
40
+ // A normal index header is the exact tracked-file count. A sparse index header is still a useful exact
41
+ // count of its populated working set, but not of the whole repository. A split index header covers only
42
+ // the mutable layer and conflict stages duplicate paths, so neither raw count is used.
43
+ const useIndexEntryCount = snapshot.indexEntryCount != null &&
44
+ (snapshot.indexEntryCountType === 'full' || snapshot.indexEntryCountType === 'sparse');
45
+ const estimatedTrackedFiles = useIndexEntryCount
46
+ ? snapshot.indexEntryCount
47
+ : estimateTrackedFiles(snapshot.indexBytes);
48
+ const trackedFilesExact = useIndexEntryCount && snapshot.indexEntryCountType === 'full';
49
+ const trackedFilesScope = trackedFilesExact
50
+ ? 'repository'
51
+ : useIndexEntryCount && snapshot.indexEntryCountType === 'sparse'
52
+ ? 'sparseWorkingTree'
53
+ : 'estimate';
54
+ const largeWorkingTree = estimatedTrackedFiles >= trackedFilesThreshold;
55
+ const clearlyLarge = largeWorkingTree || snapshot.packBytes >= largePackBytesThreshold;
56
+ const supported = (id) => capabilities.find(c => c.id === id)?.supported === true;
57
+ const findings = [];
58
+ // Auto tier — safe `git maintenance run` one-shots (gated on `git maintenance` support).
59
+ if (snapshot.supportsMaintenanceRun) {
60
+ if (estimatedLooseObjects >= looseObjectsThreshold) {
61
+ findings.push({
62
+ tier: 'auto',
63
+ reason: 'looseObjects',
64
+ value: estimatedLooseObjects,
65
+ threshold: looseObjectsThreshold,
66
+ action: { kind: 'maintenance', task: 'loose-objects' },
67
+ });
68
+ }
69
+ const incrementalRepackThreshold = snapshot.incrementalRepackAutoThreshold;
70
+ const incrementalRepackDue = snapshot.multiPackIndexEnabled === true &&
71
+ snapshot.packsOutsideMultiPackIndex != null &&
72
+ incrementalRepackThreshold != null &&
73
+ incrementalRepackThreshold !== 0 &&
74
+ (incrementalRepackThreshold < 0
75
+ ? snapshot.packCount > 0
76
+ : snapshot.packsOutsideMultiPackIndex >= incrementalRepackThreshold);
77
+ if (incrementalRepackDue) {
78
+ findings.push({
79
+ tier: 'auto',
80
+ reason: 'packsOutsideMultiPackIndex',
81
+ value: snapshot.packsOutsideMultiPackIndex,
82
+ threshold: incrementalRepackThreshold,
83
+ action: { kind: 'maintenance', task: 'incremental-repack' },
84
+ });
85
+ }
86
+ }
87
+ if (snapshot.supportsPackRefsMaintenance &&
88
+ snapshot.repository.refFormat === 'files' &&
89
+ snapshot.looseRefs.count >= looseRefsThreshold) {
90
+ findings.push({
91
+ tier: 'auto',
92
+ reason: 'looseRefs',
93
+ value: snapshot.looseRefs.count,
94
+ threshold: looseRefsThreshold,
95
+ action: { kind: 'maintenance', task: 'pack-refs' },
96
+ });
97
+ }
98
+ // Large-working-tree levers share the same evidence; they differ only in tier and eligibility.
99
+ const trackedFilesEvidence = {
100
+ reason: 'trackedFiles',
101
+ value: estimatedTrackedFiles,
102
+ threshold: trackedFilesThreshold,
103
+ };
104
+ const workingTreeLevers = [
105
+ {
106
+ id: 'untrackedCache',
107
+ tier: 'ask',
108
+ // Skip if already on, if it previously failed git's filesystem probe for this repo, or if the
109
+ // user set the key themselves — an explicit `false`/`keep` is a decision (often made after bad
110
+ // `git status` results), and this lever respects it rather than overriding it.
111
+ eligible: !snapshot.config.untrackedCache &&
112
+ !snapshot.config.untrackedCacheConfigured &&
113
+ !snapshot.untrackedCacheNotApplicable,
114
+ },
115
+ {
116
+ id: 'fsmonitor',
117
+ tier: 'ask',
118
+ // Skip if already on or it previously failed to start for this repo.
119
+ eligible: !snapshot.config.fsmonitor && !snapshot.fsmonitorNotApplicable,
120
+ },
121
+ {
122
+ id: 'manyFiles',
123
+ tier: 'ask',
124
+ // `manyFiles` defaults the untracked cache on, so a repo whose filesystem already failed that
125
+ // probe must not be offered it either — unless the user's own explicit `core.untrackedCache`
126
+ // setting overrides the default, in which case the probe result is moot.
127
+ eligible: !snapshot.config.manyFiles &&
128
+ !(snapshot.untrackedCacheNotApplicable && !snapshot.config.untrackedCacheConfigured),
129
+ },
130
+ {
131
+ id: 'sparseIndex',
132
+ tier: 'ask',
133
+ // Sparse-directory entries are safe only in cone mode. Require a normal full index so this
134
+ // recommendation is based on the repository-wide path count, not a split/conflicted approximation.
135
+ eligible: snapshot.repository.sparseCheckout === true &&
136
+ snapshot.repository.sparseCheckoutCone === true &&
137
+ snapshot.repository.sparseIndex === false &&
138
+ snapshot.repository.splitIndex === false &&
139
+ snapshot.indexEntryCountType === 'full',
140
+ },
141
+ ];
142
+ const worktreeSlowness = slowness?.worktree;
143
+ const worktreeSlownessObserved = (worktreeSlowness?.count ?? 0) > 0;
144
+ if (largeWorkingTree || worktreeSlownessObserved) {
145
+ const evidence = largeWorkingTree
146
+ ? trackedFilesEvidence
147
+ : {
148
+ reason: 'worktreeSlowness',
149
+ value: worktreeSlowness?.maxDurationMs ?? 0,
150
+ threshold: slowCommandThresholdMs,
151
+ };
152
+ for (const lever of workingTreeLevers) {
153
+ if (!lever.eligible || !supported(lever.id))
154
+ continue;
155
+ findings.push({
156
+ tier: lever.tier,
157
+ ...evidence,
158
+ action: { kind: 'optimization', id: lever.id },
159
+ });
160
+ }
161
+ }
162
+ // Ask tier — system-scheduled background maintenance. Suggested for a not-yet-registered repo that's
163
+ // clearly large. Passive slowness is deliberately NOT enough: worktree slowness maps to the worktree
164
+ // levers above, history is already covered by demand commit-graph writes, and ref/object maintenance has
165
+ // its own measured auto-tier conditions. A generic scheduler recommendation would promise the wrong fix.
166
+ // `=== false`, not falsy: `undefined` means the registration list couldn't be read, and an unknown state
167
+ // must never be suggested away — that's how a user's own registration gets silently reclaimed by Undo.
168
+ if (clearlyLarge && snapshot.maintenanceRegistered === false && supported('backgroundMaintenance')) {
169
+ // Resolve the evidence once so reason/value/threshold can never drift apart. Ordered so each
170
+ // suggestion argues from its most DISTINCTIVE signal rather than whichever crossed first: a repo
171
+ // large by both file count and pack bytes would otherwise attach the same tracked-files evidence to
172
+ // this finding as to the fsmonitor/manyFiles findings, and the view would show two identical meters.
173
+ let evidence;
174
+ if (snapshot.packBytes >= largePackBytesThreshold) {
175
+ evidence = { reason: 'largePacks', value: snapshot.packBytes, threshold: largePackBytesThreshold };
176
+ }
177
+ else {
178
+ evidence = trackedFilesEvidence;
179
+ }
180
+ findings.push({
181
+ tier: 'ask',
182
+ ...evidence,
183
+ action: { kind: 'optimization', id: 'backgroundMaintenance' },
184
+ });
185
+ }
186
+ return {
187
+ findings: findings,
188
+ repository: snapshot.repository,
189
+ clearlyLarge: clearlyLarge,
190
+ estimatedLooseObjects: estimatedLooseObjects,
191
+ looseRefs: snapshot.looseRefs,
192
+ estimatedTrackedFiles: estimatedTrackedFiles,
193
+ trackedFilesExact: trackedFilesExact,
194
+ trackedFilesScope: trackedFilesScope,
195
+ packCount: snapshot.packCount,
196
+ packsOutsideMultiPackIndex: snapshot.packsOutsideMultiPackIndex,
197
+ packBytes: snapshot.packBytes,
198
+ commitGraph: snapshot.commitGraph,
199
+ };
200
+ }
201
+ /** Consequences that reach beyond GitLens, surfaced on the apply action itself. */
202
+ const leverNotes = {
203
+ backgroundMaintenance: 'Adds a task to your operating system’s scheduler. Undo unregisters this repository, but leaves the scheduler itself in place.',
204
+ };
205
+ /**
206
+ * Collapses a snapshot + capabilities + report into the per-lever rows the Git Health view renders.
207
+ * Pure, so the webview never re-derives ownership or eligibility rules that already live here.
208
+ */
209
+ export function computeLevers(snapshot, capabilities, report) {
210
+ const suggested = new Set(report.findings.flatMap(f => (f.action.kind === 'optimization' ? [f.action.id] : [])));
211
+ const enabled = {
212
+ untrackedCache: snapshot.config.untrackedCache,
213
+ fsmonitor: snapshot.config.fsmonitor,
214
+ manyFiles: snapshot.config.manyFiles,
215
+ // `=== true`, not the raw (possibly `undefined`) value — an unreadable registration is handled as its
216
+ // own status below, and must never fall through to "enabled".
217
+ backgroundMaintenance: snapshot.maintenanceRegistered === true,
218
+ sparseIndex: snapshot.repository.sparseIndex === true,
219
+ };
220
+ const blocked = {
221
+ untrackedCache: snapshot.untrackedCacheNotApplicable,
222
+ fsmonitor: snapshot.fsmonitorNotApplicable,
223
+ manyFiles: snapshot.untrackedCacheNotApplicable && !snapshot.config.untrackedCacheConfigured,
224
+ };
225
+ return capabilities.map(capability => {
226
+ const id = capability.id;
227
+ const note = capability.note ?? leverNotes[id];
228
+ // Every optimization lever is ask-tier now — the auto tier only ever runs maintenance tasks.
229
+ const tier = 'ask';
230
+ // Unavailable outranks everything: a lever the installed git or platform cannot do is never
231
+ // "suggested", whatever the thresholds say.
232
+ if (!capability.supported) {
233
+ return { id: id, status: 'unavailable', tier: tier, reason: capability.reason, note: note };
234
+ }
235
+ // An unreadable maintenance registration can't answer the ownership/suggestion questions below, so
236
+ // it gets its own status rather than falling through and being guessed as "not registered".
237
+ if (id === 'backgroundMaintenance' && snapshot.maintenanceRegistered === undefined) {
238
+ return {
239
+ id: id,
240
+ status: 'unavailable',
241
+ tier: tier,
242
+ reason: "Couldn't read Git's maintenance registration — try reopening the repository",
243
+ note: note,
244
+ checkFailed: true,
245
+ };
246
+ }
247
+ // Then ownership, which is what decides whether Undo is offered at all.
248
+ if (enabled[id]) {
249
+ return { id: id, status: snapshot.applied[id] ? 'applied' : 'userEnabled', tier: tier, note: note };
250
+ }
251
+ if (id === 'sparseIndex') {
252
+ if (snapshot.repository.sparseCheckout == null ||
253
+ snapshot.repository.sparseCheckoutCone == null ||
254
+ snapshot.repository.sparseIndex == null ||
255
+ snapshot.repository.splitIndex == null) {
256
+ return {
257
+ id: id,
258
+ status: 'unavailable',
259
+ tier: tier,
260
+ reason: "Couldn't determine this worktree’s sparse-checkout and index configuration",
261
+ note: note,
262
+ checkFailed: true,
263
+ };
264
+ }
265
+ if (!snapshot.repository.sparseCheckout) {
266
+ return {
267
+ id: id,
268
+ status: 'notApplicable',
269
+ tier: tier,
270
+ reason: 'This worktree is not using sparse checkout.',
271
+ note: note,
272
+ };
273
+ }
274
+ if (!snapshot.repository.sparseCheckoutCone) {
275
+ return {
276
+ id: id,
277
+ status: 'notApplicable',
278
+ tier: tier,
279
+ reason: 'Sparse indexes require cone-mode sparse checkout.',
280
+ note: note,
281
+ };
282
+ }
283
+ if (snapshot.repository.splitIndex || snapshot.indexEntryCountType === 'split') {
284
+ return {
285
+ id: id,
286
+ status: 'notApplicable',
287
+ tier: tier,
288
+ reason: 'This worktree uses a split index; disable it before enabling a sparse index.',
289
+ note: note,
290
+ };
291
+ }
292
+ if (snapshot.indexEntryCountType === 'conflicted') {
293
+ return {
294
+ id: id,
295
+ status: 'notApplicable',
296
+ tier: tier,
297
+ reason: 'Finish the current merge or rebase before enabling a sparse index.',
298
+ note: note,
299
+ };
300
+ }
301
+ }
302
+ // `notApplicable` means GitLens TRIED here and this repo can't use it — the gk marker records that.
303
+ // `capability.note` is the supported-with-caveat field, not an unavailability reason, so the
304
+ // explanation has to come from the marker's meaning instead.
305
+ if (blocked[id]) {
306
+ return {
307
+ id: id,
308
+ status: 'notApplicable',
309
+ tier: tier,
310
+ reason: id === 'fsmonitor'
311
+ ? 'The file system monitor could not start for this repository.'
312
+ : id === 'manyFiles'
313
+ ? 'This would enable the untracked cache, but this file system does not report directory changes reliably, so Git would return incorrect status results.'
314
+ : 'This file system does not report directory changes reliably, so Git would return incorrect status results.',
315
+ note: note,
316
+ };
317
+ }
318
+ // Supported and usable, just below the thresholds — `available`, never `notApplicable`. Reporting
319
+ // a healthy repo's levers as unavailable tells the user something false.
320
+ return { id: id, status: suggested.has(id) ? 'suggested' : 'available', tier: tier, note: note };
321
+ });
322
+ }
323
+ /** Auto-tier maintenance tasks the daily pass should run right now (deduped, order-stable). */
324
+ export function getAutoMaintenanceTasks(report) {
325
+ const tasks = [];
326
+ for (const finding of report.findings) {
327
+ if (finding.tier === 'auto' && finding.action.kind === 'maintenance' && !tasks.includes(finding.action.task)) {
328
+ tasks.push(finding.action.task);
329
+ }
330
+ }
331
+ return tasks;
332
+ }
333
+ /** Auto-tier optimization levers the daily pass should silently apply — none today; the auto tier currently
334
+ * applies only maintenance tasks, but this stays in place for future levers. */
335
+ export function getAutoOptimizations(report) {
336
+ const ids = [];
337
+ for (const finding of report.findings) {
338
+ if (finding.tier === 'auto' && finding.action.kind === 'optimization' && !ids.includes(finding.action.id)) {
339
+ ids.push(finding.action.id);
340
+ }
341
+ }
342
+ return ids;
343
+ }
344
+ /**
345
+ * Banner rule: fire only when the report contains an ask-tier fix and the repo is clearly large or slow in
346
+ * the working-tree family. History/ref/object slowness must not advertise unrelated worktree levers.
347
+ */
348
+ export function isBannerEligible(report, slowness) {
349
+ const hasAskTierFix = report.findings.some(f => f.tier === 'ask');
350
+ const worktreeSlownessObserved = (slowness?.worktree?.count ?? 0) > 0;
351
+ return hasAskTierFix && (report.clearlyLarge || worktreeSlownessObserved);
352
+ }
353
+ //# sourceMappingURL=gitHealth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gitHealth.js","sourceRoot":"","sources":["../../src/git/gitHealth.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  type SearchOperatorsShortForm = '' | '=:' | '@:' | '#:' | '?:' | '~:' | 'is:' | '>:' | '<:' | '^:';
2
- export type SearchOperatorsLongForm = 'message:' | 'author:' | 'commit:' | 'file:' | 'change:' | 'type:' | 'after:' | 'since:' | 'before:' | 'until:' | 'ref:';
2
+ export type SearchOperatorsLongForm = 'message:' | '-message:' | 'author:' | 'committer:' | 'commit:' | 'file:' | 'change:' | 'type:' | 'after:' | 'since:' | 'before:' | 'until:' | 'ref:';
3
3
  export type SearchOperators = SearchOperatorsShortForm | SearchOperatorsLongForm;
4
4
  export declare const searchOperators: Set<string>;
5
5
  export declare const searchOperatorsToLongFormMap: Map<SearchOperators, SearchOperatorsLongForm>;
@@ -10,6 +10,9 @@ export interface SearchQuery {
10
10
  query: string;
11
11
  processedQuery?: string;
12
12
  error?: string;
13
+ explanation?: string;
14
+ mode?: 'highlight' | 'filter' | 'select';
15
+ alternates?: string[];
13
16
  };
14
17
  filter?: boolean;
15
18
  matchAll?: boolean;
@@ -41,8 +44,8 @@ export interface ParsedSearchQuery {
41
44
  export interface SearchQueryFilters {
42
45
  /** Specifies whether the search results will be filtered to specific files */
43
46
  files: boolean;
44
- /** Specifies whether the search results will be filtered to a specific type, only `stash`, `tip`, and `wip` are supported */
45
- type?: 'stash' | 'tip' | 'wip';
47
+ /** Specifies whether the search results will be filtered to a specific type, only `stash`, `tip`, `wip`, and `merge` are supported */
48
+ type?: 'stash' | 'tip' | 'wip' | 'merge';
46
49
  /** Specifies whether the search results will be filtered to a specific ref or ref range */
47
50
  refs: boolean;
48
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/git/models/search.ts"],"names":[],"mappings":"AAAA,KAAK,wBAAwB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AACnG,MAAM,MAAM,uBAAuB,GAChC,UAAU,GACV,SAAS,GACT,SAAS,GACT,OAAO,GACP,SAAS,GACT,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,MAAM,CAAC;AACV,MAAM,MAAM,eAAe,GAAG,wBAAwB,GAAG,uBAAuB,CAAC;AAEjF,eAAO,MAAM,eAAe,aAsB1B,CAAC;AAEH,eAAO,MAAM,4BAA4B,+CAsBvC,CAAC;AAEH,eAAO,MAAM,wBAAwB,QAC6H,CAAC;AAEnK,MAAM,WAAW,WAAW;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,OAAO,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAEvF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACtC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC;IAC1C,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,QAAQ,CAAC;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAC1E,0FAA0F;IAC1F,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,4DAA4D;AAC5D,MAAM,MAAM,qBAAqB,GAAG,eAAe,GAAG,KAAK,CAAC;AAE5D,MAAM,WAAW,iBAAiB;IACjC,UAAU,EAAE,GAAG,CAAC,uBAAuB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,0DAA0D;IAC1D,cAAc,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,qBAAqB,CAAA;KAAE,EAAE,CAAC;CACnF;AAED,MAAM,WAAW,kBAAkB;IAClC,8EAA8E;IAC9E,KAAK,EAAE,OAAO,CAAC;IACf,6HAA6H;IAC7H,IAAI,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,KAAK,CAAC;IAC/B,2FAA2F;IAC3F,IAAI,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,qBAAqB;IACrC,mBAAmB;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,kCAAkC;IAClC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,6BAA6B;IAC7B,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IAE/B,OAAO,EAAE,kBAAkB,CAAC;IAC5B,UAAU,EAAE,GAAG,CAAC,uBAAuB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;CACtD;AAED,MAAM,WAAW,wBAAwB;IACxC,iBAAiB;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf,OAAO,EAAE,kBAAkB,CAAC;IAC5B,UAAU,EAAE,GAAG,CAAC,uBAAuB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;CACtD"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/git/models/search.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,10 @@ export const searchOperators = new Set([
2
2
  '',
3
3
  '=:',
4
4
  'message:',
5
+ '-message:',
5
6
  '@:',
6
7
  'author:',
8
+ 'committer:',
7
9
  '#:',
8
10
  'commit:',
9
11
  '?:',
@@ -25,8 +27,10 @@ export const searchOperatorsToLongFormMap = new Map([
25
27
  ['', 'message:'],
26
28
  ['=:', 'message:'],
27
29
  ['message:', 'message:'],
30
+ ['-message:', '-message:'],
28
31
  ['@:', 'author:'],
29
32
  ['author:', 'author:'],
33
+ ['committer:', 'committer:'],
30
34
  ['#:', 'commit:'],
31
35
  ['commit:', 'commit:'],
32
36
  ['?:', 'file:'],
@@ -44,5 +48,5 @@ export const searchOperatorsToLongFormMap = new Map([
44
48
  ['^:', 'ref:'],
45
49
  ['ref:', 'ref:'],
46
50
  ]);
47
- export const searchOperationHelpRegex = /(?:^|(\b|\s)*)((=:|message:|@:|author:|#:|commit:|\?:|file:|~:|change:|is:|type:|>:|after:|since:|<:|before:|until:|\^:|ref:)(?:"[^"]*"?|[^\s]*))(?:$|(\b|\s))/g;
51
+ export const searchOperationHelpRegex = /(?:^|(\b|\s)*)((=:|message:|-message:|@:|author:|committer:|#:|commit:|\?:|file:|~:|change:|is:|type:|>:|after:|since:|<:|before:|until:|\^:|ref:)(?:"[^"]*"?|[^\s]*))(?:$|(\b|\s))/g;
48
52
  //# sourceMappingURL=search.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/git/models/search.ts"],"names":[],"mappings":"AAeA,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAS;IAC9C,EAAE;IACF,IAAI;IACJ,UAAU;IACV,IAAI;IACJ,SAAS;IACT,IAAI;IACJ,SAAS;IACT,IAAI;IACJ,OAAO;IACP,IAAI;IACJ,SAAS;IACT,KAAK;IACL,OAAO;IACP,IAAI;IACJ,QAAQ;IACR,QAAQ;IACR,IAAI;IACJ,SAAS;IACT,QAAQ;IACR,IAAI;IACJ,MAAM;CACN,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,GAAG,CAA2C;IAC7F,CAAC,EAAE,EAAE,UAAU,CAAC;IAChB,CAAC,IAAI,EAAE,UAAU,CAAC;IAClB,CAAC,UAAU,EAAE,UAAU,CAAC;IACxB,CAAC,IAAI,EAAE,SAAS,CAAC;IACjB,CAAC,SAAS,EAAE,SAAS,CAAC;IACtB,CAAC,IAAI,EAAE,SAAS,CAAC;IACjB,CAAC,SAAS,EAAE,SAAS,CAAC;IACtB,CAAC,IAAI,EAAE,OAAO,CAAC;IACf,CAAC,OAAO,EAAE,OAAO,CAAC;IAClB,CAAC,IAAI,EAAE,SAAS,CAAC;IACjB,CAAC,SAAS,EAAE,SAAS,CAAC;IACtB,CAAC,KAAK,EAAE,OAAO,CAAC;IAChB,CAAC,OAAO,EAAE,OAAO,CAAC;IAClB,CAAC,IAAI,EAAE,QAAQ,CAAC;IAChB,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACpB,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACpB,CAAC,IAAI,EAAE,SAAS,CAAC;IACjB,CAAC,SAAS,EAAE,SAAS,CAAC;IACtB,CAAC,QAAQ,EAAE,SAAS,CAAC;IACrB,CAAC,IAAI,EAAE,MAAM,CAAC;IACd,CAAC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GACpC,iKAAiK,CAAC"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/git/models/search.ts"],"names":[],"mappings":"AAiBA,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAS;IAC9C,EAAE;IACF,IAAI;IACJ,UAAU;IACV,WAAW;IACX,IAAI;IACJ,SAAS;IACT,YAAY;IACZ,IAAI;IACJ,SAAS;IACT,IAAI;IACJ,OAAO;IACP,IAAI;IACJ,SAAS;IACT,KAAK;IACL,OAAO;IACP,IAAI;IACJ,QAAQ;IACR,QAAQ;IACR,IAAI;IACJ,SAAS;IACT,QAAQ;IACR,IAAI;IACJ,MAAM;CACN,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,GAAG,CAA2C;IAC7F,CAAC,EAAE,EAAE,UAAU,CAAC;IAChB,CAAC,IAAI,EAAE,UAAU,CAAC;IAClB,CAAC,UAAU,EAAE,UAAU,CAAC;IACxB,CAAC,WAAW,EAAE,WAAW,CAAC;IAC1B,CAAC,IAAI,EAAE,SAAS,CAAC;IACjB,CAAC,SAAS,EAAE,SAAS,CAAC;IACtB,CAAC,YAAY,EAAE,YAAY,CAAC;IAC5B,CAAC,IAAI,EAAE,SAAS,CAAC;IACjB,CAAC,SAAS,EAAE,SAAS,CAAC;IACtB,CAAC,IAAI,EAAE,OAAO,CAAC;IACf,CAAC,OAAO,EAAE,OAAO,CAAC;IAClB,CAAC,IAAI,EAAE,SAAS,CAAC;IACjB,CAAC,SAAS,EAAE,SAAS,CAAC;IACtB,CAAC,KAAK,EAAE,OAAO,CAAC;IAChB,CAAC,OAAO,EAAE,OAAO,CAAC;IAClB,CAAC,IAAI,EAAE,QAAQ,CAAC;IAChB,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACpB,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACpB,CAAC,IAAI,EAAE,SAAS,CAAC;IACjB,CAAC,SAAS,EAAE,SAAS,CAAC;IACtB,CAAC,QAAQ,EAAE,SAAS,CAAC;IACrB,CAAC,IAAI,EAAE,MAAM,CAAC;IACd,CAAC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GACpC,sLAAsL,CAAC"}
@@ -11,12 +11,18 @@ export declare function parseGitDiff(data: string, includeRawContent?: boolean):
11
11
  * @returns Filtered diff with only included files, or the original diff if no files were excluded
12
12
  */
13
13
  export declare function filterDiffFiles(diff: string, getIncludedPaths: (paths: string[]) => string[] | Promise<string[]>): Promise<string>;
14
- /** Counts insertions and deletions from a parsed diff file */
14
+ /**
15
+ * Counts the added and removed lines of a parsed diff file, matching what `git diff --numstat`
16
+ * reports for it. Binary files and files without content changes (pure renames, mode changes)
17
+ * count as 0/0.
18
+ */
15
19
  export declare function countDiffInsertionsAndDeletions(file: ParsedGitDiffFile): {
16
20
  insertions: number;
17
21
  deletions: number;
18
22
  };
19
- /** Counts approximate number of changed lines in a diff file */
23
+ /** Counts the approximate number of changed lines in a diff file — the size of both sides of its
24
+ * hunks, unchanged context included. Suitable for relative sizing, not for reporting a line count
25
+ * to the user; use {@link countDiffInsertionsAndDeletions} for that. */
20
26
  export declare function countDiffLines(file: ParsedGitDiffFile): number;
21
27
  export declare function parseGitFileDiff(data: string, includeRawContent?: boolean): ParsedGitDiffHunks | undefined;
22
28
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"diffParser.d.ts","sourceRoot":"","sources":["../../../src/git/parsers/diffParser.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACX,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EAIjB,kBAAkB,EAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAIxD,eAAO,MAAM,SAAS,QAAiC,CAAC;AACxD,eAAO,MAAM,aAAa,QAAgD,CAAC;AAgH3E,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,UAAQ,GAAG,aAAa,CAwDnF;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACpC,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,GACjE,OAAO,CAAC,MAAM,CAAC,CAsBjB;AAED,8DAA8D;AAC9D,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,iBAAiB,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAQlH;AAED,gEAAgE;AAChE,wBAAgB,cAAc,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAM9D;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,UAAQ,GAAG,kBAAkB,GAAG,SAAS,CA2HxG;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,EAAE,GAAG,SAAS,CA0H9F;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE,CA0FlF;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAuBhF"}
1
+ {"version":3,"file":"diffParser.d.ts","sourceRoot":"","sources":["../../../src/git/parsers/diffParser.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACX,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EAIjB,kBAAkB,EAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAIxD,eAAO,MAAM,SAAS,QAAiC,CAAC;AACxD,eAAO,MAAM,aAAa,QAAgD,CAAC;AAgH3E,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,UAAQ,GAAG,aAAa,CAwDnF;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACpC,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,GACjE,OAAO,CAAC,MAAM,CAAC,CAsBjB;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,iBAAiB,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAyBlH;AAED;;yEAEyE;AACzE,wBAAgB,cAAc,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAM9D;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,UAAQ,GAAG,kBAAkB,GAAG,SAAS,CA2HxG;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,EAAE,GAAG,SAAS,CA0H9F;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE,CA0FlF;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAuBhF"}
@@ -235,17 +235,40 @@ export async function filterDiffFiles(diff, getIncludedPaths) {
235
235
  .map(f => f.chunk)
236
236
  .join('');
237
237
  }
238
- /** Counts insertions and deletions from a parsed diff file */
238
+ /**
239
+ * Counts the added and removed lines of a parsed diff file, matching what `git diff --numstat`
240
+ * reports for it. Binary files and files without content changes (pure renames, mode changes)
241
+ * count as 0/0.
242
+ */
239
243
  export function countDiffInsertionsAndDeletions(file) {
240
244
  let insertions = 0;
241
245
  let deletions = 0;
242
246
  for (const hunk of file.hunks) {
243
- insertions += hunk.current.count;
244
- deletions += hunk.previous.count;
247
+ // Counted off the hunk's raw content rather than its header counts (which include unchanged
248
+ // context) or `hunk.lines` (which merges a removed/added pair into one `changed` entry and
249
+ // lets a following context line overwrite the tail of an asymmetric block). Scanned in place
250
+ // rather than split into lines: splitting a multi-megabyte diff allocates a string per line
251
+ // for a single pass that only ever looks at each line's first character.
252
+ const { content } = hunk;
253
+ for (let start = 0; start < content.length;) {
254
+ const marker = content[start];
255
+ if (marker === '+') {
256
+ insertions++;
257
+ }
258
+ else if (marker === '-') {
259
+ deletions++;
260
+ }
261
+ const end = content.indexOf('\n', start);
262
+ if (end === -1)
263
+ break;
264
+ start = end + 1;
265
+ }
245
266
  }
246
267
  return { insertions: insertions, deletions: deletions };
247
268
  }
248
- /** Counts approximate number of changed lines in a diff file */
269
+ /** Counts the approximate number of changed lines in a diff file — the size of both sides of its
270
+ * hunks, unchanged context included. Suitable for relative sizing, not for reporting a line count
271
+ * to the user; use {@link countDiffInsertionsAndDeletions} for that. */
249
272
  export function countDiffLines(file) {
250
273
  let count = 0;
251
274
  for (const hunk of file.hunks) {
@@ -1 +1 @@
1
- {"version":3,"file":"diffParser.js","sourceRoot":"","sources":["../../../src/git/parsers/diffParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diffParser.js","sourceRoot":"","sources":["../../../src/git/parsers/diffParser.ts"],"names":[],"mappings":"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"}