@gitkraken/core-gitlens 0.6.0 → 0.7.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 (1927) hide show
  1. package/CHANGELOG.md +34 -1
  2. package/README.md +9 -2
  3. package/dist/_virtual/@oxc-project+runtime/helpers/esm/decorate.js +9 -0
  4. package/dist/_virtual/@oxc-project+runtime/helpers/esm/usingCtx.js +57 -0
  5. package/dist/git/cache.d.ts +297 -297
  6. package/dist/git/cache.js +948 -1276
  7. package/dist/git/cache.js.map +1 -1
  8. package/dist/git/context.d.ts +202 -197
  9. package/dist/git/context.js +12 -8
  10. package/dist/git/context.js.map +1 -1
  11. package/dist/git/errors.d.ts +268 -281
  12. package/dist/git/errors.js +928 -706
  13. package/dist/git/errors.js.map +1 -1
  14. package/dist/git/features.d.ts +3 -2
  15. package/dist/git/features.js +34 -55
  16. package/dist/git/features.js.map +1 -1
  17. package/dist/git/gitHealth.d.ts +88 -81
  18. package/dist/git/gitHealth.js +259 -329
  19. package/dist/git/gitHealth.js.map +1 -1
  20. package/dist/git/models/author.d.ts +12 -10
  21. package/dist/git/models/author.js +0 -2
  22. package/dist/git/models/autolink.d.ts +36 -37
  23. package/dist/git/models/autolink.js +0 -2
  24. package/dist/git/models/blame.d.ts +25 -23
  25. package/dist/git/models/blame.js +0 -2
  26. package/dist/git/models/branch.d.ts +74 -72
  27. package/dist/git/models/branch.js +132 -171
  28. package/dist/git/models/branch.js.map +1 -1
  29. package/dist/git/models/commit.d.ts +135 -133
  30. package/dist/git/models/commit.js +381 -484
  31. package/dist/git/models/commit.js.map +1 -1
  32. package/dist/git/models/contributor.d.ts +30 -29
  33. package/dist/git/models/contributor.js +56 -64
  34. package/dist/git/models/contributor.js.map +1 -1
  35. package/dist/git/models/defaultBranch.d.ts +5 -3
  36. package/dist/git/models/defaultBranch.js +0 -2
  37. package/dist/git/models/diff.d.ts +49 -47
  38. package/dist/git/models/diff.js +0 -2
  39. package/dist/git/models/file.d.ts +20 -18
  40. package/dist/git/models/file.js +0 -2
  41. package/dist/git/models/fileChange.d.ts +45 -43
  42. package/dist/git/models/fileChange.js +60 -66
  43. package/dist/git/models/fileChange.js.map +1 -1
  44. package/dist/git/models/fileStatus.d.ts +25 -23
  45. package/dist/git/models/fileStatus.js +30 -26
  46. package/dist/git/models/fileStatus.js.map +1 -1
  47. package/dist/git/models/graph.d.ts +328 -320
  48. package/dist/git/models/graph.js +31 -27
  49. package/dist/git/models/graph.js.map +1 -1
  50. package/dist/git/models/graphSearch.d.ts +37 -35
  51. package/dist/git/models/graphSearch.js +0 -2
  52. package/dist/git/models/graphSession.d.ts +158 -66
  53. package/dist/git/models/graphSession.js +72 -1
  54. package/dist/git/models/graphSession.js.map +1 -1
  55. package/dist/git/models/issue.d.ts +171 -150
  56. package/dist/git/models/issue.js +86 -88
  57. package/dist/git/models/issue.js.map +1 -1
  58. package/dist/git/models/issueOrPullRequest.d.ts +16 -14
  59. package/dist/git/models/issueOrPullRequest.js +0 -2
  60. package/dist/git/models/lineRange.d.ts +6 -4
  61. package/dist/git/models/lineRange.js +0 -2
  62. package/dist/git/models/log.d.ts +18 -16
  63. package/dist/git/models/log.js +0 -2
  64. package/dist/git/models/mergeConflicts.d.ts +17 -15
  65. package/dist/git/models/mergeConflicts.js +0 -2
  66. package/dist/git/models/patch.d.ts +14 -12
  67. package/dist/git/models/patch.js +0 -2
  68. package/dist/git/models/pausedOperationStatus.d.ts +42 -40
  69. package/dist/git/models/pausedOperationStatus.js +0 -2
  70. package/dist/git/models/pullRequest.d.ts +238 -236
  71. package/dist/git/models/pullRequest.js +151 -163
  72. package/dist/git/models/pullRequest.js.map +1 -1
  73. package/dist/git/models/rebase.d.ts +30 -28
  74. package/dist/git/models/rebase.js +0 -2
  75. package/dist/git/models/reference.d.ts +57 -55
  76. package/dist/git/models/reference.js +0 -2
  77. package/dist/git/models/reflog.d.ts +29 -27
  78. package/dist/git/models/reflog.js +63 -82
  79. package/dist/git/models/reflog.js.map +1 -1
  80. package/dist/git/models/remote.d.ts +34 -32
  81. package/dist/git/models/remote.js +74 -95
  82. package/dist/git/models/remote.js.map +1 -1
  83. package/dist/git/models/remoteProvider.d.ts +86 -84
  84. package/dist/git/models/remoteProvider.js +145 -150
  85. package/dist/git/models/remoteProvider.js.map +1 -1
  86. package/dist/git/models/remoteResource.d.ts +58 -56
  87. package/dist/git/models/remoteResource.js +15 -12
  88. package/dist/git/models/remoteResource.js.map +1 -1
  89. package/dist/git/models/repository.d.ts +144 -142
  90. package/dist/git/models/repository.js +358 -406
  91. package/dist/git/models/repository.js.map +1 -1
  92. package/dist/git/models/repositoryChangeEvent.d.ts +8 -6
  93. package/dist/git/models/repositoryChangeEvent.js +26 -24
  94. package/dist/git/models/repositoryChangeEvent.js.map +1 -1
  95. package/dist/git/models/repositoryIdentities.d.ts +50 -46
  96. package/dist/git/models/repositoryIdentities.js +7 -5
  97. package/dist/git/models/repositoryIdentities.js.map +1 -1
  98. package/dist/git/models/repositoryMetadata.d.ts +9 -7
  99. package/dist/git/models/repositoryMetadata.js +0 -2
  100. package/dist/git/models/resourceDescriptor.d.ts +11 -9
  101. package/dist/git/models/resourceDescriptor.js +0 -2
  102. package/dist/git/models/revision.d.ts +2 -0
  103. package/dist/git/models/revision.js +8 -5
  104. package/dist/git/models/revision.js.map +1 -1
  105. package/dist/git/models/search.d.ts +48 -47
  106. package/dist/git/models/search.js +53 -49
  107. package/dist/git/models/search.js.map +1 -1
  108. package/dist/git/models/shortlog.d.ts +5 -3
  109. package/dist/git/models/shortlog.js +0 -2
  110. package/dist/git/models/signature.d.ts +28 -26
  111. package/dist/git/models/signature.js +0 -2
  112. package/dist/git/models/staging.d.ts +18 -16
  113. package/dist/git/models/staging.js +0 -2
  114. package/dist/git/models/stash.d.ts +5 -3
  115. package/dist/git/models/stash.js +0 -2
  116. package/dist/git/models/status.d.ts +51 -49
  117. package/dist/git/models/status.js +172 -205
  118. package/dist/git/models/status.js.map +1 -1
  119. package/dist/git/models/statusFile.d.ts +35 -34
  120. package/dist/git/models/statusFile.js +112 -125
  121. package/dist/git/models/statusFile.js.map +1 -1
  122. package/dist/git/models/tag.d.ts +34 -32
  123. package/dist/git/models/tag.js +64 -77
  124. package/dist/git/models/tag.js.map +1 -1
  125. package/dist/git/models/tree.d.ts +8 -6
  126. package/dist/git/models/tree.js +0 -2
  127. package/dist/git/models/user.d.ts +6 -4
  128. package/dist/git/models/user.js +0 -2
  129. package/dist/git/models/worktree.d.ts +50 -48
  130. package/dist/git/models/worktree.js +102 -133
  131. package/dist/git/models/worktree.js.map +1 -1
  132. package/dist/git/parsers/diffParser.d.ts +7 -5
  133. package/dist/git/parsers/diffParser.js +438 -587
  134. package/dist/git/parsers/diffParser.js.map +1 -1
  135. package/dist/git/parsers/rebaseTodoParser.d.ts +3 -1
  136. package/dist/git/parsers/rebaseTodoParser.js +165 -208
  137. package/dist/git/parsers/rebaseTodoParser.js.map +1 -1
  138. package/dist/git/providers/blame.d.ts +12 -10
  139. package/dist/git/providers/blame.js +0 -2
  140. package/dist/git/providers/branches.d.ts +96 -94
  141. package/dist/git/providers/branches.js +0 -2
  142. package/dist/git/providers/commits.d.ts +105 -104
  143. package/dist/git/providers/commits.js +0 -2
  144. package/dist/git/providers/config.d.ts +80 -78
  145. package/dist/git/providers/config.js +0 -2
  146. package/dist/git/providers/contributors.d.ts +23 -21
  147. package/dist/git/providers/contributors.js +0 -2
  148. package/dist/git/providers/diff.d.ts +68 -66
  149. package/dist/git/providers/diff.js +0 -2
  150. package/dist/git/providers/graph.d.ts +73 -62
  151. package/dist/git/providers/graph.js +0 -2
  152. package/dist/git/providers/maintenance.d.ts +180 -178
  153. package/dist/git/providers/maintenance.js +0 -20
  154. package/dist/git/providers/operations.d.ts +114 -112
  155. package/dist/git/providers/operations.js +0 -2
  156. package/dist/git/providers/patch.d.ts +26 -24
  157. package/dist/git/providers/patch.js +0 -2
  158. package/dist/git/providers/pausedOperations.d.ts +19 -17
  159. package/dist/git/providers/pausedOperations.js +0 -2
  160. package/dist/git/providers/provider.d.ts +52 -50
  161. package/dist/git/providers/provider.js +0 -2
  162. package/dist/git/providers/refs.d.ts +42 -40
  163. package/dist/git/providers/refs.js +0 -2
  164. package/dist/git/providers/remotes.d.ts +24 -22
  165. package/dist/git/providers/remotes.js +0 -2
  166. package/dist/git/providers/revision.d.ts +25 -23
  167. package/dist/git/providers/revision.js +0 -2
  168. package/dist/git/providers/shared/remotes.d.ts +24 -22
  169. package/dist/git/providers/shared/remotes.js +52 -77
  170. package/dist/git/providers/shared/remotes.js.map +1 -1
  171. package/dist/git/providers/staging.d.ts +37 -35
  172. package/dist/git/providers/staging.js +0 -2
  173. package/dist/git/providers/stash.d.ts +38 -36
  174. package/dist/git/providers/stash.js +0 -2
  175. package/dist/git/providers/status.d.ts +32 -30
  176. package/dist/git/providers/status.js +0 -2
  177. package/dist/git/providers/tags.d.ts +20 -18
  178. package/dist/git/providers/tags.js +0 -2
  179. package/dist/git/providers/types.d.ts +19 -17
  180. package/dist/git/providers/types.js +0 -2
  181. package/dist/git/providers/worktrees.d.ts +26 -24
  182. package/dist/git/providers/worktrees.js +0 -2
  183. package/dist/git/remotes/azure-devops.d.ts +46 -45
  184. package/dist/git/remotes/azure-devops.js +252 -257
  185. package/dist/git/remotes/azure-devops.js.map +1 -1
  186. package/dist/git/remotes/bitbucket-server.d.ts +30 -29
  187. package/dist/git/remotes/bitbucket-server.js +141 -142
  188. package/dist/git/remotes/bitbucket-server.js.map +1 -1
  189. package/dist/git/remotes/bitbucket.d.ts +27 -26
  190. package/dist/git/remotes/bitbucket.js +114 -111
  191. package/dist/git/remotes/bitbucket.js.map +1 -1
  192. package/dist/git/remotes/custom.d.ts +26 -25
  193. package/dist/git/remotes/custom.js +130 -130
  194. package/dist/git/remotes/custom.js.map +1 -1
  195. package/dist/git/remotes/gerrit.d.ts +29 -28
  196. package/dist/git/remotes/gerrit.js +140 -143
  197. package/dist/git/remotes/gerrit.js.map +1 -1
  198. package/dist/git/remotes/gitea.d.ts +28 -27
  199. package/dist/git/remotes/gitea.js +141 -145
  200. package/dist/git/remotes/gitea.js.map +1 -1
  201. package/dist/git/remotes/github.d.ts +35 -34
  202. package/dist/git/remotes/github.js +196 -190
  203. package/dist/git/remotes/github.js.map +1 -1
  204. package/dist/git/remotes/gitlab.d.ts +31 -30
  205. package/dist/git/remotes/gitlab.js +245 -227
  206. package/dist/git/remotes/gitlab.js.map +1 -1
  207. package/dist/git/remotes/google-source.d.ts +16 -14
  208. package/dist/git/remotes/google-source.js +33 -31
  209. package/dist/git/remotes/google-source.js.map +1 -1
  210. package/dist/git/remotes/matcher.d.ts +16 -14
  211. package/dist/git/remotes/matcher.js +141 -124
  212. package/dist/git/remotes/matcher.js.map +1 -1
  213. package/dist/git/repositoryService.d.ts +47 -47
  214. package/dist/git/repositoryService.js +47 -44
  215. package/dist/git/repositoryService.js.map +1 -1
  216. package/dist/git/run.types.d.ts +91 -76
  217. package/dist/git/run.types.js +0 -2
  218. package/dist/git/service.d.ts +73 -71
  219. package/dist/git/service.js +286 -302
  220. package/dist/git/service.js.map +1 -1
  221. package/dist/git/utils/autolink.utils.d.ts +4 -2
  222. package/dist/git/utils/autolink.utils.js +103 -139
  223. package/dist/git/utils/autolink.utils.js.map +1 -1
  224. package/dist/git/utils/blame.utils.d.ts +22 -20
  225. package/dist/git/utils/blame.utils.js +196 -230
  226. package/dist/git/utils/blame.utils.js.map +1 -1
  227. package/dist/git/utils/branch.utils.d.ts +7 -9
  228. package/dist/git/utils/branch.utils.js +89 -115
  229. package/dist/git/utils/branch.utils.js.map +1 -1
  230. package/dist/git/utils/commit.utils.d.ts +10 -16
  231. package/dist/git/utils/commit.utils.js +28 -47
  232. package/dist/git/utils/commit.utils.js.map +1 -1
  233. package/dist/git/utils/config.utils.d.ts +2 -0
  234. package/dist/git/utils/config.utils.js +14 -5
  235. package/dist/git/utils/config.utils.js.map +1 -1
  236. package/dist/git/utils/conflictResolution.utils.d.ts +16 -13
  237. package/dist/git/utils/conflictResolution.utils.js +116 -113
  238. package/dist/git/utils/conflictResolution.utils.js.map +1 -1
  239. package/dist/git/utils/contributor.utils.d.ts +10 -8
  240. package/dist/git/utils/contributor.utils.js +47 -69
  241. package/dist/git/utils/contributor.utils.js.map +1 -1
  242. package/dist/git/utils/fetch.utils.d.ts +2 -0
  243. package/dist/git/utils/fetch.utils.js +33 -44
  244. package/dist/git/utils/fetch.utils.js.map +1 -1
  245. package/dist/git/utils/fileStatus.utils.d.ts +22 -21
  246. package/dist/git/utils/fileStatus.utils.js +59 -45
  247. package/dist/git/utils/fileStatus.utils.js.map +1 -1
  248. package/dist/git/utils/graph.utils.d.ts +19 -1
  249. package/dist/git/utils/graph.utils.js +60 -35
  250. package/dist/git/utils/graph.utils.js.map +1 -1
  251. package/dist/git/utils/issue.utils.d.ts +3 -1
  252. package/dist/git/utils/issue.utils.js +154 -158
  253. package/dist/git/utils/issue.utils.js.map +1 -1
  254. package/dist/git/utils/issueOrPullRequest.utils.d.ts +3 -1
  255. package/dist/git/utils/issueOrPullRequest.utils.js +23 -20
  256. package/dist/git/utils/issueOrPullRequest.utils.js.map +1 -1
  257. package/dist/git/utils/mergeConflicts.utils.d.ts +4 -1
  258. package/dist/git/utils/mergeConflicts.utils.js +28 -15
  259. package/dist/git/utils/mergeConflicts.utils.js.map +1 -1
  260. package/dist/git/utils/pausedOperationStatus.utils.d.ts +7 -42
  261. package/dist/git/utils/pausedOperationStatus.utils.js +83 -146
  262. package/dist/git/utils/pausedOperationStatus.utils.js.map +1 -1
  263. package/dist/git/utils/pullRequest.utils.d.ts +7 -5
  264. package/dist/git/utils/pullRequest.utils.js +180 -187
  265. package/dist/git/utils/pullRequest.utils.js.map +1 -1
  266. package/dist/git/utils/reachability.utils.d.ts +6 -6
  267. package/dist/git/utils/reachability.utils.js +120 -147
  268. package/dist/git/utils/reachability.utils.js.map +1 -1
  269. package/dist/git/utils/rebase.utils.d.ts +3 -1
  270. package/dist/git/utils/rebase.utils.js +87 -71
  271. package/dist/git/utils/rebase.utils.js.map +1 -1
  272. package/dist/git/utils/reference.utils.d.ts +33 -32
  273. package/dist/git/utils/reference.utils.js +152 -179
  274. package/dist/git/utils/reference.utils.js.map +1 -1
  275. package/dist/git/utils/remote.utils.d.ts +5 -3
  276. package/dist/git/utils/remote.utils.js +77 -116
  277. package/dist/git/utils/remote.utils.js.map +1 -1
  278. package/dist/git/utils/repository.utils.d.ts +3 -1
  279. package/dist/git/utils/repository.utils.js +12 -11
  280. package/dist/git/utils/repository.utils.js.map +1 -1
  281. package/dist/git/utils/resourceDescriptor.utils.d.ts +3 -1
  282. package/dist/git/utils/resourceDescriptor.utils.js +8 -14
  283. package/dist/git/utils/resourceDescriptor.utils.js.map +1 -1
  284. package/dist/git/utils/revision.utils.d.ts +11 -10
  285. package/dist/git/utils/revision.utils.js +69 -83
  286. package/dist/git/utils/revision.utils.js.map +1 -1
  287. package/dist/git/utils/search.utils.d.ts +5 -3
  288. package/dist/git/utils/search.utils.js +383 -522
  289. package/dist/git/utils/search.utils.js.map +1 -1
  290. package/dist/git/utils/sorting.d.ts +22 -20
  291. package/dist/git/utils/sorting.js +133 -227
  292. package/dist/git/utils/sorting.js.map +1 -1
  293. package/dist/git/utils/sshKey.utils.d.ts +2 -0
  294. package/dist/git/utils/sshKey.utils.js +10 -15
  295. package/dist/git/utils/sshKey.utils.js.map +1 -1
  296. package/dist/git/utils/status.utils.d.ts +20 -15
  297. package/dist/git/utils/status.utils.js +93 -79
  298. package/dist/git/utils/status.utils.js.map +1 -1
  299. package/dist/git/utils/statusFile.utils.d.ts +6 -4
  300. package/dist/git/utils/statusFile.utils.js +71 -72
  301. package/dist/git/utils/statusFile.utils.js.map +1 -1
  302. package/dist/git/utils/tag.utils.d.ts +4 -2
  303. package/dist/git/utils/tag.utils.js +10 -8
  304. package/dist/git/utils/tag.utils.js.map +1 -1
  305. package/dist/git/utils/tooltip.utils.d.ts +5 -2
  306. package/dist/git/utils/tooltip.utils.js +49 -24
  307. package/dist/git/utils/tooltip.utils.js.map +1 -1
  308. package/dist/git/utils/uriAuthority.d.ts +9 -7
  309. package/dist/git/utils/uriAuthority.js +19 -16
  310. package/dist/git/utils/uriAuthority.js.map +1 -1
  311. package/dist/git/utils/user.utils.d.ts +3 -1
  312. package/dist/git/utils/user.utils.js +6 -10
  313. package/dist/git/utils/user.utils.js.map +1 -1
  314. package/dist/git/utils/worktree.utils.d.ts +5 -3
  315. package/dist/git/utils/worktree.utils.js +14 -12
  316. package/dist/git/utils/worktree.utils.js.map +1 -1
  317. package/dist/git/watching/changeEvent.d.ts +38 -36
  318. package/dist/git/watching/changeEvent.js +60 -67
  319. package/dist/git/watching/changeEvent.js.map +1 -1
  320. package/dist/git/watching/classifyChange.d.ts +3 -1
  321. package/dist/git/watching/classifyChange.js +50 -79
  322. package/dist/git/watching/classifyChange.js.map +1 -1
  323. package/dist/git/watching/gitIgnoreFilter.d.ts +43 -41
  324. package/dist/git/watching/gitIgnoreFilter.js +92 -107
  325. package/dist/git/watching/gitIgnoreFilter.js.map +1 -1
  326. package/dist/git/watching/initWatcher.d.ts +22 -20
  327. package/dist/git/watching/initWatcher.js +58 -57
  328. package/dist/git/watching/initWatcher.js.map +1 -1
  329. package/dist/git/watching/provider.d.ts +8 -7
  330. package/dist/git/watching/provider.js +0 -2
  331. package/dist/git/watching/watchGroup.d.ts +29 -28
  332. package/dist/git/watching/watchGroup.js +105 -137
  333. package/dist/git/watching/watchGroup.js.map +1 -1
  334. package/dist/git/watching/watchService.d.ts +70 -68
  335. package/dist/git/watching/watchService.js +275 -339
  336. package/dist/git/watching/watchService.js.map +1 -1
  337. package/dist/git/watching/watchSession.d.ts +112 -111
  338. package/dist/git/watching/watchSession.js +260 -314
  339. package/dist/git/watching/watchSession.js.map +1 -1
  340. package/dist/git/watching/watcherPatterns.d.ts +4 -2
  341. package/dist/git/watching/watcherPatterns.js +21 -24
  342. package/dist/git/watching/watcherPatterns.js.map +1 -1
  343. package/dist/git-cli/cliGitProvider.d.ts +117 -114
  344. package/dist/git-cli/cliGitProvider.js +261 -283
  345. package/dist/git-cli/cliGitProvider.js.map +1 -1
  346. package/dist/git-cli/exec/eventLoopMonitor.d.ts +26 -0
  347. package/dist/git-cli/exec/eventLoopMonitor.js +61 -0
  348. package/dist/git-cli/exec/eventLoopMonitor.js.map +1 -0
  349. package/dist/git-cli/exec/exec.d.ts +3 -4
  350. package/dist/git-cli/exec/exec.errors.d.ts +2 -2
  351. package/dist/git-cli/exec/exec.errors.js +2 -2
  352. package/dist/git-cli/exec/exec.js +3 -3
  353. package/dist/git-cli/exec/exec.types.d.ts +2 -2
  354. package/dist/git-cli/exec/exec.types.js +0 -2
  355. package/dist/git-cli/exec/features.d.ts +2 -3
  356. package/dist/git-cli/exec/features.js +2 -2
  357. package/dist/git-cli/exec/git.d.ts +224 -205
  358. package/dist/git-cli/exec/git.js +834 -1042
  359. package/dist/git-cli/exec/git.js.map +1 -1
  360. package/dist/git-cli/exec/gitQueue.d.ts +51 -48
  361. package/dist/git-cli/exec/gitQueue.js +225 -260
  362. package/dist/git-cli/exec/gitQueue.js.map +1 -1
  363. package/dist/git-cli/exec/locator.d.ts +8 -6
  364. package/dist/git-cli/exec/locator.js +95 -121
  365. package/dist/git-cli/exec/locator.js.map +1 -1
  366. package/dist/git-cli/parsers/blameParser.d.ts +22 -20
  367. package/dist/git-cli/parsers/blameParser.js +238 -332
  368. package/dist/git-cli/parsers/blameParser.js.map +1 -1
  369. package/dist/git-cli/parsers/indexParser.d.ts +3 -1
  370. package/dist/git-cli/parsers/indexParser.js +146 -221
  371. package/dist/git-cli/parsers/indexParser.js.map +1 -1
  372. package/dist/git-cli/parsers/logParser.d.ts +103 -110
  373. package/dist/git-cli/parsers/logParser.js +998 -1199
  374. package/dist/git-cli/parsers/logParser.js.map +1 -1
  375. package/dist/git-cli/parsers/mergeTreeParser.d.ts +5 -3
  376. package/dist/git-cli/parsers/mergeTreeParser.js +28 -72
  377. package/dist/git-cli/parsers/mergeTreeParser.js.map +1 -1
  378. package/dist/git-cli/parsers/refParser.d.ts +5 -4
  379. package/dist/git-cli/parsers/refParser.js +92 -137
  380. package/dist/git-cli/parsers/refParser.js.map +1 -1
  381. package/dist/git-cli/parsers/reflogParser.d.ts +7 -6
  382. package/dist/git-cli/parsers/reflogParser.js +100 -173
  383. package/dist/git-cli/parsers/reflogParser.js.map +1 -1
  384. package/dist/git-cli/parsers/remoteParser.d.ts +4 -2
  385. package/dist/git-cli/parsers/remoteParser.js +74 -126
  386. package/dist/git-cli/parsers/remoteParser.js.map +1 -1
  387. package/dist/git-cli/parsers/shortlogParser.d.ts +4 -2
  388. package/dist/git-cli/parsers/shortlogParser.js +44 -49
  389. package/dist/git-cli/parsers/shortlogParser.js.map +1 -1
  390. package/dist/git-cli/parsers/signatureParser.d.ts +3 -1
  391. package/dist/git-cli/parsers/signatureParser.js +82 -124
  392. package/dist/git-cli/parsers/signatureParser.js.map +1 -1
  393. package/dist/git-cli/parsers/sshSignatureParser.d.ts +5 -3
  394. package/dist/git-cli/parsers/sshSignatureParser.js +55 -64
  395. package/dist/git-cli/parsers/sshSignatureParser.js.map +1 -1
  396. package/dist/git-cli/parsers/statusParser.d.ts +4 -2
  397. package/dist/git-cli/parsers/statusParser.js +148 -205
  398. package/dist/git-cli/parsers/statusParser.js.map +1 -1
  399. package/dist/git-cli/parsers/treeParser.d.ts +3 -1
  400. package/dist/git-cli/parsers/treeParser.js +57 -108
  401. package/dist/git-cli/parsers/treeParser.js.map +1 -1
  402. package/dist/git-cli/parsers/worktreeParser.d.ts +4 -3
  403. package/dist/git-cli/parsers/worktreeParser.js +76 -132
  404. package/dist/git-cli/parsers/worktreeParser.js.map +1 -1
  405. package/dist/git-cli/providers/blame.d.ts +25 -23
  406. package/dist/git-cli/providers/blame.js +404 -413
  407. package/dist/git-cli/providers/blame.js.map +1 -1
  408. package/dist/git-cli/providers/branches.d.ts +117 -116
  409. package/dist/git-cli/providers/branches.js +1132 -1468
  410. package/dist/git-cli/providers/branches.js.map +1 -1
  411. package/dist/git-cli/providers/commitFilesetUtils.d.ts +4 -2
  412. package/dist/git-cli/providers/commitFilesetUtils.js +36 -18
  413. package/dist/git-cli/providers/commitFilesetUtils.js.map +1 -1
  414. package/dist/git-cli/providers/commits.d.ts +58 -56
  415. package/dist/git-cli/providers/commits.js +1084 -1423
  416. package/dist/git-cli/providers/commits.js.map +1 -1
  417. package/dist/git-cli/providers/config.d.ts +129 -127
  418. package/dist/git-cli/providers/config.js +612 -831
  419. package/dist/git-cli/providers/config.js.map +1 -1
  420. package/dist/git-cli/providers/contributors.d.ts +29 -28
  421. package/dist/git-cli/providers/contributors.js +246 -351
  422. package/dist/git-cli/providers/contributors.js.map +1 -1
  423. package/dist/git-cli/providers/diff.d.ts +97 -94
  424. package/dist/git-cli/providers/diff.js +638 -845
  425. package/dist/git-cli/providers/diff.js.map +1 -1
  426. package/dist/git-cli/providers/graph.d.ts +66 -68
  427. package/dist/git-cli/providers/graph.js +1400 -1848
  428. package/dist/git-cli/providers/graph.js.map +1 -1
  429. package/dist/git-cli/providers/maintenance.d.ts +305 -303
  430. package/dist/git-cli/providers/maintenance.js +1526 -2078
  431. package/dist/git-cli/providers/maintenance.js.map +1 -1
  432. package/dist/git-cli/providers/operations.d.ts +96 -94
  433. package/dist/git-cli/providers/operations.js +664 -724
  434. package/dist/git-cli/providers/operations.js.map +1 -1
  435. package/dist/git-cli/providers/patch.d.ts +37 -35
  436. package/dist/git-cli/providers/patch.js +206 -307
  437. package/dist/git-cli/providers/patch.js.map +1 -1
  438. package/dist/git-cli/providers/pausedOperations.d.ts +30 -28
  439. package/dist/git-cli/providers/pausedOperations.js +475 -506
  440. package/dist/git-cli/providers/pausedOperations.js.map +1 -1
  441. package/dist/git-cli/providers/refs.d.ts +50 -48
  442. package/dist/git-cli/providers/refs.js +335 -479
  443. package/dist/git-cli/providers/refs.js.map +1 -1
  444. package/dist/git-cli/providers/remotes.d.ts +23 -21
  445. package/dist/git-cli/providers/remotes.js +71 -92
  446. package/dist/git-cli/providers/remotes.js.map +1 -1
  447. package/dist/git-cli/providers/revision.d.ts +27 -25
  448. package/dist/git-cli/providers/revision.js +288 -304
  449. package/dist/git-cli/providers/revision.js.map +1 -1
  450. package/dist/git-cli/providers/staging.d.ts +31 -29
  451. package/dist/git-cli/providers/staging.js +140 -189
  452. package/dist/git-cli/providers/staging.js.map +1 -1
  453. package/dist/git-cli/providers/stash.d.ts +44 -42
  454. package/dist/git-cli/providers/stash.js +288 -387
  455. package/dist/git-cli/providers/stash.js.map +1 -1
  456. package/dist/git-cli/providers/status.d.ts +61 -59
  457. package/dist/git-cli/providers/status.js +332 -453
  458. package/dist/git-cli/providers/status.js.map +1 -1
  459. package/dist/git-cli/providers/tags.d.ts +31 -29
  460. package/dist/git-cli/providers/tags.js +158 -215
  461. package/dist/git-cli/providers/tags.js.map +1 -1
  462. package/dist/git-cli/providers/worktrees.d.ts +35 -33
  463. package/dist/git-cli/providers/worktrees.js +178 -203
  464. package/dist/git-cli/providers/worktrees.js.map +1 -1
  465. package/dist/git-cli/service.d.ts +28 -26
  466. package/dist/git-cli/service.js +38 -40
  467. package/dist/git-cli/service.js.map +1 -1
  468. package/dist/ipc/discovery.d.ts +19 -17
  469. package/dist/ipc/discovery.js +104 -128
  470. package/dist/ipc/discovery.js.map +1 -1
  471. package/dist/ipc/ipcServer.d.ts +16 -14
  472. package/dist/ipc/ipcServer.js +139 -160
  473. package/dist/ipc/ipcServer.js.map +1 -1
  474. package/dist/plus/agents/agentCapabilities.d.ts +50 -37
  475. package/dist/plus/agents/agentCapabilities.js +138 -173
  476. package/dist/plus/agents/agentCapabilities.js.map +1 -1
  477. package/dist/plus/agents/providers/claudeCodeTranscript.d.ts +153 -151
  478. package/dist/plus/agents/providers/claudeCodeTranscript.js +605 -679
  479. package/dist/plus/agents/providers/claudeCodeTranscript.js.map +1 -1
  480. package/dist/plus/agents/providers/gkAgentProvider.d.ts +237 -240
  481. package/dist/plus/agents/providers/gkAgentProvider.js +2162 -3334
  482. package/dist/plus/agents/providers/gkAgentProvider.js.map +1 -1
  483. package/dist/plus/agents/sanitizePrompt.d.ts +2 -0
  484. package/dist/plus/agents/sanitizePrompt.js +58 -91
  485. package/dist/plus/agents/sanitizePrompt.js.map +1 -1
  486. package/dist/plus/agents/stateMachine.d.ts +7 -5
  487. package/dist/plus/agents/stateMachine.js +135 -163
  488. package/dist/plus/agents/stateMachine.js.map +1 -1
  489. package/dist/plus/agents/types.d.ts +333 -336
  490. package/dist/plus/agents/types.js +48 -48
  491. package/dist/plus/agents/types.js.map +1 -1
  492. package/dist/plus/ai/constants.d.ts +3 -1
  493. package/dist/plus/ai/constants.js +88 -84
  494. package/dist/plus/ai/constants.js.map +1 -1
  495. package/dist/plus/ai/errors.d.ts +22 -18
  496. package/dist/plus/ai/errors.js +158 -138
  497. package/dist/plus/ai/errors.js.map +1 -1
  498. package/dist/plus/ai/models/conversation.d.ts +11 -9
  499. package/dist/plus/ai/models/conversation.js +30 -26
  500. package/dist/plus/ai/models/conversation.js.map +1 -1
  501. package/dist/plus/ai/models/model.d.ts +29 -27
  502. package/dist/plus/ai/models/model.js +663 -471
  503. package/dist/plus/ai/models/model.js.map +1 -1
  504. package/dist/plus/ai/models/promptTemplates.d.ts +56 -55
  505. package/dist/plus/ai/models/promptTemplates.js +0 -2
  506. package/dist/plus/ai/models/provider.d.ts +79 -77
  507. package/dist/plus/ai/models/provider.js +0 -2
  508. package/dist/plus/ai/models/results.d.ts +27 -21
  509. package/dist/plus/ai/models/results.js +0 -2
  510. package/dist/plus/ai/prompts.d.ts +4 -2
  511. package/dist/plus/ai/prompts.js +301 -190
  512. package/dist/plus/ai/prompts.js.map +1 -1
  513. package/dist/plus/ai/providers/anthropicProvider.d.ts +33 -32
  514. package/dist/plus/ai/providers/anthropicProvider.js +484 -381
  515. package/dist/plus/ai/providers/anthropicProvider.js.map +1 -1
  516. package/dist/plus/ai/providers/azureProvider.d.ts +18 -16
  517. package/dist/plus/ai/providers/azureProvider.js +53 -53
  518. package/dist/plus/ai/providers/azureProvider.js.map +1 -1
  519. package/dist/plus/ai/providers/context.d.ts +23 -20
  520. package/dist/plus/ai/providers/context.js +0 -2
  521. package/dist/plus/ai/providers/deepSeekProvider.d.ts +17 -15
  522. package/dist/plus/ai/providers/deepSeekProvider.js +45 -39
  523. package/dist/plus/ai/providers/deepSeekProvider.js.map +1 -1
  524. package/dist/plus/ai/providers/geminiProvider.d.ts +16 -14
  525. package/dist/plus/ai/providers/geminiProvider.js +316 -230
  526. package/dist/plus/ai/providers/geminiProvider.js.map +1 -1
  527. package/dist/plus/ai/providers/gitkrakenProvider.d.ts +22 -20
  528. package/dist/plus/ai/providers/gitkrakenProvider.js +165 -260
  529. package/dist/plus/ai/providers/gitkrakenProvider.js.map +1 -1
  530. package/dist/plus/ai/providers/huggingFaceProvider.d.ts +16 -14
  531. package/dist/plus/ai/providers/huggingFaceProvider.js +45 -46
  532. package/dist/plus/ai/providers/huggingFaceProvider.js.map +1 -1
  533. package/dist/plus/ai/providers/mistralProvider.d.ts +22 -20
  534. package/dist/plus/ai/providers/mistralProvider.js +263 -195
  535. package/dist/plus/ai/providers/mistralProvider.js.map +1 -1
  536. package/dist/plus/ai/providers/ollamaProvider.d.ts +26 -24
  537. package/dist/plus/ai/providers/ollamaProvider.js +156 -189
  538. package/dist/plus/ai/providers/ollamaProvider.js.map +1 -1
  539. package/dist/plus/ai/providers/openAICompatibleProvider.d.ts +18 -16
  540. package/dist/plus/ai/providers/openAICompatibleProvider.js +50 -50
  541. package/dist/plus/ai/providers/openAICompatibleProvider.js.map +1 -1
  542. package/dist/plus/ai/providers/openAICompatibleProviderBase.d.ts +187 -185
  543. package/dist/plus/ai/providers/openAICompatibleProviderBase.js +356 -475
  544. package/dist/plus/ai/providers/openAICompatibleProviderBase.js.map +1 -1
  545. package/dist/plus/ai/providers/openRouterProvider.d.ts +20 -19
  546. package/dist/plus/ai/providers/openRouterProvider.js +60 -65
  547. package/dist/plus/ai/providers/openRouterProvider.js.map +1 -1
  548. package/dist/plus/ai/providers/openaiProvider.d.ts +17 -15
  549. package/dist/plus/ai/providers/openaiProvider.js +35 -34
  550. package/dist/plus/ai/providers/openaiProvider.js.map +1 -1
  551. package/dist/plus/ai/providers/responseFormatCache.d.ts +4 -2
  552. package/dist/plus/ai/providers/responseFormatCache.js +21 -17
  553. package/dist/plus/ai/providers/responseFormatCache.js.map +1 -1
  554. package/dist/plus/ai/providers/xaiProvider.d.ts +16 -14
  555. package/dist/plus/ai/providers/xaiProvider.js +61 -46
  556. package/dist/plus/ai/providers/xaiProvider.js.map +1 -1
  557. package/dist/plus/ai/utils/ai.utils.d.ts +4 -2
  558. package/dist/plus/ai/utils/ai.utils.js +50 -77
  559. package/dist/plus/ai/utils/ai.utils.js.map +1 -1
  560. package/dist/plus/ai/utils/results.utils.d.ts +7 -5
  561. package/dist/plus/ai/utils/results.utils.js +235 -269
  562. package/dist/plus/ai/utils/results.utils.js.map +1 -1
  563. package/dist/plus/ai/utils/truncation.utils.d.ts +3 -2
  564. package/dist/plus/ai/utils/truncation.utils.js +242 -205
  565. package/dist/plus/ai/utils/truncation.utils.js.map +1 -1
  566. package/dist/plus/git-github/api/config.d.ts +58 -56
  567. package/dist/plus/git-github/api/config.js +15 -11
  568. package/dist/plus/git-github/api/config.js.map +1 -1
  569. package/dist/plus/git-github/api/github.d.ts +500 -497
  570. package/dist/plus/git-github/api/github.js +2326 -3121
  571. package/dist/plus/git-github/api/github.js.map +1 -1
  572. package/dist/plus/git-github/api/github.utils.d.ts +5 -3
  573. package/dist/plus/git-github/api/github.utils.js +24 -19
  574. package/dist/plus/git-github/api/github.utils.js.map +1 -1
  575. package/dist/plus/git-github/api/issueSearchQuery.d.ts +5 -3
  576. package/dist/plus/git-github/api/issueSearchQuery.js +204 -221
  577. package/dist/plus/git-github/api/issueSearchQuery.js.map +1 -1
  578. package/dist/plus/git-github/api/pullRequestSearchQuery.d.ts +6 -5
  579. package/dist/plus/git-github/api/pullRequestSearchQuery.js +89 -116
  580. package/dist/plus/git-github/api/pullRequestSearchQuery.js.map +1 -1
  581. package/dist/plus/git-github/api/token.d.ts +10 -8
  582. package/dist/plus/git-github/api/token.js +0 -2
  583. package/dist/plus/git-github/api/tokenUtils.d.ts +4 -2
  584. package/dist/plus/git-github/api/tokenUtils.js +14 -10
  585. package/dist/plus/git-github/api/tokenUtils.js.map +1 -1
  586. package/dist/plus/git-github/api/types.d.ts +94 -92
  587. package/dist/plus/git-github/api/types.js +0 -2
  588. package/dist/plus/git-github/context.d.ts +65 -63
  589. package/dist/plus/git-github/context.js +13 -9
  590. package/dist/plus/git-github/context.js.map +1 -1
  591. package/dist/plus/git-github/models.d.ts +182 -182
  592. package/dist/plus/git-github/models.js +199 -265
  593. package/dist/plus/git-github/models.js.map +1 -1
  594. package/dist/plus/git-github/providers/github/blame.d.ts +32 -31
  595. package/dist/plus/git-github/providers/github/blame.js +137 -150
  596. package/dist/plus/git-github/providers/github/blame.js.map +1 -1
  597. package/dist/plus/git-github/providers/github/branches.d.ts +42 -40
  598. package/dist/plus/git-github/providers/github/branches.js +199 -274
  599. package/dist/plus/git-github/providers/github/branches.js.map +1 -1
  600. package/dist/plus/git-github/providers/github/commits.d.ts +35 -33
  601. package/dist/plus/git-github/providers/github/commits.js +527 -606
  602. package/dist/plus/git-github/providers/github/commits.js.map +1 -1
  603. package/dist/plus/git-github/providers/github/config.d.ts +10 -8
  604. package/dist/plus/git-github/providers/github/config.js +35 -45
  605. package/dist/plus/git-github/providers/github/config.js.map +1 -1
  606. package/dist/plus/git-github/providers/github/contributors.d.ts +25 -24
  607. package/dist/plus/git-github/providers/github/contributors.js +174 -216
  608. package/dist/plus/git-github/providers/github/contributors.js.map +1 -1
  609. package/dist/plus/git-github/providers/github/diff.d.ts +34 -32
  610. package/dist/plus/git-github/providers/github/diff.js +154 -194
  611. package/dist/plus/git-github/providers/github/diff.js.map +1 -1
  612. package/dist/plus/git-github/providers/github/graph.d.ts +33 -31
  613. package/dist/plus/git-github/providers/github/graph.js +400 -452
  614. package/dist/plus/git-github/providers/github/graph.js.map +1 -1
  615. package/dist/plus/git-github/providers/github/refs.d.ts +33 -31
  616. package/dist/plus/git-github/providers/github/refs.js +97 -131
  617. package/dist/plus/git-github/providers/github/refs.js.map +1 -1
  618. package/dist/plus/git-github/providers/github/remotes.d.ts +8 -6
  619. package/dist/plus/git-github/providers/github/remotes.js +30 -35
  620. package/dist/plus/git-github/providers/github/remotes.js.map +1 -1
  621. package/dist/plus/git-github/providers/github/revision.d.ts +13 -11
  622. package/dist/plus/git-github/providers/github/revision.js +106 -129
  623. package/dist/plus/git-github/providers/github/revision.js.map +1 -1
  624. package/dist/plus/git-github/providers/github/status.d.ts +24 -22
  625. package/dist/plus/git-github/providers/github/status.js +49 -47
  626. package/dist/plus/git-github/providers/github/status.js.map +1 -1
  627. package/dist/plus/git-github/providers/github/tags.d.ts +21 -19
  628. package/dist/plus/git-github/providers/github/tags.js +78 -103
  629. package/dist/plus/git-github/providers/github/tags.js.map +1 -1
  630. package/dist/plus/git-github/providers/githubGitProvider.d.ts +67 -64
  631. package/dist/plus/git-github/providers/githubGitProvider.js +131 -128
  632. package/dist/plus/git-github/providers/githubGitProvider.js.map +1 -1
  633. package/dist/plus/git-github/providers/githubProvider.d.ts +46 -44
  634. package/dist/plus/git-github/providers/githubProvider.js +0 -2
  635. package/dist/plus/integrations/authentication/cloudIntegrationService.d.ts +29 -27
  636. package/dist/plus/integrations/authentication/cloudIntegrationService.js +173 -208
  637. package/dist/plus/integrations/authentication/cloudIntegrationService.js.map +1 -1
  638. package/dist/plus/integrations/authentication/configuredIntegrationService.d.ts +126 -107
  639. package/dist/plus/integrations/authentication/configuredIntegrationService.js +406 -497
  640. package/dist/plus/integrations/authentication/configuredIntegrationService.js.map +1 -1
  641. package/dist/plus/integrations/authentication/integrationAuthenticationProvider.d.ts +73 -72
  642. package/dist/plus/integrations/authentication/integrationAuthenticationProvider.js +153 -232
  643. package/dist/plus/integrations/authentication/integrationAuthenticationProvider.js.map +1 -1
  644. package/dist/plus/integrations/authentication/integrationAuthenticationService.d.ts +61 -59
  645. package/dist/plus/integrations/authentication/integrationAuthenticationService.js +100 -124
  646. package/dist/plus/integrations/authentication/integrationAuthenticationService.js.map +1 -1
  647. package/dist/plus/integrations/authentication/manualTokenProvider.d.ts +14 -12
  648. package/dist/plus/integrations/authentication/manualTokenProvider.js +26 -51
  649. package/dist/plus/integrations/authentication/manualTokenProvider.js.map +1 -1
  650. package/dist/plus/integrations/authentication/models.d.ts +102 -85
  651. package/dist/plus/integrations/authentication/models.js +55 -54
  652. package/dist/plus/integrations/authentication/models.js.map +1 -1
  653. package/dist/plus/integrations/authentication/rejectedTokenTracker.d.ts +19 -17
  654. package/dist/plus/integrations/authentication/rejectedTokenTracker.js +53 -51
  655. package/dist/plus/integrations/authentication/rejectedTokenTracker.js.map +1 -1
  656. package/dist/plus/integrations/collectionMetadata.d.ts +12 -10
  657. package/dist/plus/integrations/collectionMetadata.js +204 -254
  658. package/dist/plus/integrations/collectionMetadata.js.map +1 -1
  659. package/dist/plus/integrations/constants.d.ts +60 -34
  660. package/dist/plus/integrations/constants.js +157 -132
  661. package/dist/plus/integrations/constants.js.map +1 -1
  662. package/dist/plus/integrations/context.d.ts +253 -252
  663. package/dist/plus/integrations/context.js +0 -2
  664. package/dist/plus/integrations/errors.d.ts +26 -25
  665. package/dist/plus/integrations/errors.js +116 -140
  666. package/dist/plus/integrations/errors.js.map +1 -1
  667. package/dist/plus/integrations/index.d.ts +36 -40
  668. package/dist/plus/integrations/index.js +46 -57
  669. package/dist/plus/integrations/index.js.map +1 -1
  670. package/dist/plus/integrations/integrationService.d.ts +477 -438
  671. package/dist/plus/integrations/integrationService.js +1101 -1324
  672. package/dist/plus/integrations/integrationService.js.map +1 -1
  673. package/dist/plus/integrations/lite.d.ts +33 -31
  674. package/dist/plus/integrations/lite.js +85 -122
  675. package/dist/plus/integrations/lite.js.map +1 -1
  676. package/dist/plus/integrations/manager.d.ts +637 -580
  677. package/dist/plus/integrations/manager.js +0 -2
  678. package/dist/plus/integrations/models/gitHostIntegration.d.ts +436 -415
  679. package/dist/plus/integrations/models/gitHostIntegration.js +1220 -1295
  680. package/dist/plus/integrations/models/gitHostIntegration.js.map +1 -1
  681. package/dist/plus/integrations/models/integration.d.ts +200 -190
  682. package/dist/plus/integrations/models/integration.js +577 -722
  683. package/dist/plus/integrations/models/integration.js.map +1 -1
  684. package/dist/plus/integrations/models/issueCache.d.ts +15 -13
  685. package/dist/plus/integrations/models/issueCache.js +9 -7
  686. package/dist/plus/integrations/models/issueCache.js.map +1 -1
  687. package/dist/plus/integrations/models/issueReads.d.ts +125 -85
  688. package/dist/plus/integrations/models/issueReads.js +0 -2
  689. package/dist/plus/integrations/models/issuesIntegration.d.ts +72 -71
  690. package/dist/plus/integrations/models/issuesIntegration.js +160 -186
  691. package/dist/plus/integrations/models/issuesIntegration.js.map +1 -1
  692. package/dist/plus/integrations/models/pullRequestReads.d.ts +35 -7
  693. package/dist/plus/integrations/models/pullRequestReads.js +0 -2
  694. package/dist/plus/integrations/providerFilters.d.ts +8 -20
  695. package/dist/plus/integrations/providerFilters.js +11 -7
  696. package/dist/plus/integrations/providerFilters.js.map +1 -1
  697. package/dist/plus/integrations/providers/accounts.d.ts +7 -5
  698. package/dist/plus/integrations/providers/accounts.js +21 -31
  699. package/dist/plus/integrations/providers/accounts.js.map +1 -1
  700. package/dist/plus/integrations/providers/apiClients.d.ts +13 -10
  701. package/dist/plus/integrations/providers/apiClients.js +51 -36
  702. package/dist/plus/integrations/providers/apiClients.js.map +1 -1
  703. package/dist/plus/integrations/providers/apiConfig.d.ts +31 -29
  704. package/dist/plus/integrations/providers/apiConfig.js +18 -16
  705. package/dist/plus/integrations/providers/apiConfig.js.map +1 -1
  706. package/dist/plus/integrations/providers/azure/azure.d.ts +134 -67
  707. package/dist/plus/integrations/providers/azure/azure.js +631 -576
  708. package/dist/plus/integrations/providers/azure/azure.js.map +1 -1
  709. package/dist/plus/integrations/providers/azure/models.d.ts +228 -226
  710. package/dist/plus/integrations/providers/azure/models.js +223 -251
  711. package/dist/plus/integrations/providers/azure/models.js.map +1 -1
  712. package/dist/plus/integrations/providers/azure/search.d.ts +144 -0
  713. package/dist/plus/integrations/providers/azure/search.js +250 -0
  714. package/dist/plus/integrations/providers/azure/search.js.map +1 -0
  715. package/dist/plus/integrations/providers/azureDevOps.d.ts +154 -134
  716. package/dist/plus/integrations/providers/azureDevOps.js +805 -930
  717. package/dist/plus/integrations/providers/azureDevOps.js.map +1 -1
  718. package/dist/plus/integrations/providers/azureDevOpsServer.d.ts +176 -0
  719. package/dist/plus/integrations/providers/azureDevOpsServer.js +560 -0
  720. package/dist/plus/integrations/providers/azureDevOpsServer.js.map +1 -0
  721. package/dist/plus/integrations/providers/bitbucket/bitbucket.d.ts +50 -48
  722. package/dist/plus/integrations/providers/bitbucket/bitbucket.js +417 -585
  723. package/dist/plus/integrations/providers/bitbucket/bitbucket.js.map +1 -1
  724. package/dist/plus/integrations/providers/bitbucket/models.d.ts +179 -179
  725. package/dist/plus/integrations/providers/bitbucket/models.js +96 -144
  726. package/dist/plus/integrations/providers/bitbucket/models.js.map +1 -1
  727. package/dist/plus/integrations/providers/bitbucket-server/discovery.d.ts +12 -0
  728. package/dist/plus/integrations/providers/bitbucket-server/discovery.js +128 -0
  729. package/dist/plus/integrations/providers/bitbucket-server/discovery.js.map +1 -0
  730. package/dist/plus/integrations/providers/bitbucket-server/models.d.ts +120 -109
  731. package/dist/plus/integrations/providers/bitbucket-server/models.js +103 -121
  732. package/dist/plus/integrations/providers/bitbucket-server/models.js.map +1 -1
  733. package/dist/plus/integrations/providers/bitbucket-server/pullRequestSearch.d.ts +58 -0
  734. package/dist/plus/integrations/providers/bitbucket-server/pullRequestSearch.js +485 -0
  735. package/dist/plus/integrations/providers/bitbucket-server/pullRequestSearch.js.map +1 -0
  736. package/dist/plus/integrations/providers/bitbucket-server.d.ts +128 -79
  737. package/dist/plus/integrations/providers/bitbucket-server.js +281 -241
  738. package/dist/plus/integrations/providers/bitbucket-server.js.map +1 -1
  739. package/dist/plus/integrations/providers/bitbucket.d.ts +80 -79
  740. package/dist/plus/integrations/providers/bitbucket.js +390 -477
  741. package/dist/plus/integrations/providers/bitbucket.js.map +1 -1
  742. package/dist/plus/integrations/providers/github/github.d.ts +5 -3
  743. package/dist/plus/integrations/providers/github/github.js +38 -45
  744. package/dist/plus/integrations/providers/github/github.js.map +1 -1
  745. package/dist/plus/integrations/providers/github/github.utils.d.ts +8 -5
  746. package/dist/plus/integrations/providers/github/github.utils.js +7 -4
  747. package/dist/plus/integrations/providers/github/github.utils.js.map +1 -1
  748. package/dist/plus/integrations/providers/github/models.d.ts +2 -3
  749. package/dist/plus/integrations/providers/github/models.js +2 -2
  750. package/dist/plus/integrations/providers/github.d.ts +174 -172
  751. package/dist/plus/integrations/providers/github.js +432 -523
  752. package/dist/plus/integrations/providers/github.js.map +1 -1
  753. package/dist/plus/integrations/providers/gitlab/gitlab.d.ts +67 -66
  754. package/dist/plus/integrations/providers/gitlab/gitlab.js +546 -757
  755. package/dist/plus/integrations/providers/gitlab/gitlab.js.map +1 -1
  756. package/dist/plus/integrations/providers/gitlab/gitlab.utils.d.ts +7 -5
  757. package/dist/plus/integrations/providers/gitlab/gitlab.utils.js +45 -46
  758. package/dist/plus/integrations/providers/gitlab/gitlab.utils.js.map +1 -1
  759. package/dist/plus/integrations/providers/gitlab/models.d.ts +109 -107
  760. package/dist/plus/integrations/providers/gitlab/models.js +74 -89
  761. package/dist/plus/integrations/providers/gitlab/models.js.map +1 -1
  762. package/dist/plus/integrations/providers/gitlab.d.ts +117 -114
  763. package/dist/plus/integrations/providers/gitlab.js +444 -528
  764. package/dist/plus/integrations/providers/gitlab.js.map +1 -1
  765. package/dist/plus/integrations/providers/issueSorts.d.ts +4 -1
  766. package/dist/plus/integrations/providers/issueSorts.js +66 -62
  767. package/dist/plus/integrations/providers/issueSorts.js.map +1 -1
  768. package/dist/plus/integrations/providers/jira-server.d.ts +99 -0
  769. package/dist/plus/integrations/providers/jira-server.js +333 -0
  770. package/dist/plus/integrations/providers/jira-server.js.map +1 -0
  771. package/dist/plus/integrations/providers/jira.d.ts +41 -39
  772. package/dist/plus/integrations/providers/jira.js +378 -440
  773. package/dist/plus/integrations/providers/jira.js.map +1 -1
  774. package/dist/plus/integrations/providers/jiraIssueByKey.d.ts +3 -1
  775. package/dist/plus/integrations/providers/jiraIssueByKey.js +85 -89
  776. package/dist/plus/integrations/providers/jiraIssueByKey.js.map +1 -1
  777. package/dist/plus/integrations/providers/linear.d.ts +63 -62
  778. package/dist/plus/integrations/providers/linear.js +315 -358
  779. package/dist/plus/integrations/providers/linear.js.map +1 -1
  780. package/dist/plus/integrations/providers/models.d.ts +523 -503
  781. package/dist/plus/integrations/providers/models.js +902 -865
  782. package/dist/plus/integrations/providers/models.js.map +1 -1
  783. package/dist/plus/integrations/providers/providerErrors.d.ts +35 -2
  784. package/dist/plus/integrations/providers/providerErrors.js +120 -81
  785. package/dist/plus/integrations/providers/providerErrors.js.map +1 -1
  786. package/dist/plus/integrations/providers/providersApi.d.ts +309 -271
  787. package/dist/plus/integrations/providers/providersApi.js +1063 -1001
  788. package/dist/plus/integrations/providers/providersApi.js.map +1 -1
  789. package/dist/plus/integrations/providers/pullRequestReviews.d.ts +21 -21
  790. package/dist/plus/integrations/providers/pullRequestReviews.js +64 -90
  791. package/dist/plus/integrations/providers/pullRequestReviews.js.map +1 -1
  792. package/dist/plus/integrations/providers/trello.d.ts +35 -34
  793. package/dist/plus/integrations/providers/trello.js +136 -143
  794. package/dist/plus/integrations/providers/trello.js.map +1 -1
  795. package/dist/plus/integrations/providers/utils/providerPaging.d.ts +4 -2
  796. package/dist/plus/integrations/providers/utils/providerPaging.js +131 -156
  797. package/dist/plus/integrations/providers/utils/providerPaging.js.map +1 -1
  798. package/dist/plus/integrations/providers/utils.d.ts +63 -51
  799. package/dist/plus/integrations/providers/utils.js +215 -296
  800. package/dist/plus/integrations/providers/utils.js.map +1 -1
  801. package/dist/plus/integrations/reads/broaden.d.ts +10 -8
  802. package/dist/plus/integrations/reads/broaden.js +320 -439
  803. package/dist/plus/integrations/reads/broaden.js.map +1 -1
  804. package/dist/plus/integrations/reads/context.d.ts +47 -45
  805. package/dist/plus/integrations/reads/context.js +0 -2
  806. package/dist/plus/integrations/reads/counts.d.ts +90 -74
  807. package/dist/plus/integrations/reads/counts.js +284 -314
  808. package/dist/plus/integrations/reads/counts.js.map +1 -1
  809. package/dist/plus/integrations/reads/cursors.d.ts +26 -24
  810. package/dist/plus/integrations/reads/cursors.js +80 -115
  811. package/dist/plus/integrations/reads/cursors.js.map +1 -1
  812. package/dist/plus/integrations/reads/drains.d.ts +25 -23
  813. package/dist/plus/integrations/reads/drains.js +225 -298
  814. package/dist/plus/integrations/reads/drains.js.map +1 -1
  815. package/dist/plus/integrations/reads/filters.d.ts +85 -81
  816. package/dist/plus/integrations/reads/filters.js +333 -416
  817. package/dist/plus/integrations/reads/filters.js.map +1 -1
  818. package/dist/plus/integrations/reads/hierarchy.d.ts +14 -12
  819. package/dist/plus/integrations/reads/hierarchy.js +248 -332
  820. package/dist/plus/integrations/reads/hierarchy.js.map +1 -1
  821. package/dist/plus/integrations/reads/hierarchy.utils.d.ts +11 -9
  822. package/dist/plus/integrations/reads/hierarchy.utils.js +109 -108
  823. package/dist/plus/integrations/reads/hierarchy.utils.js.map +1 -1
  824. package/dist/plus/integrations/reads/issueBatch.d.ts +28 -26
  825. package/dist/plus/integrations/reads/issueBatch.js +83 -85
  826. package/dist/plus/integrations/reads/issueBatch.js.map +1 -1
  827. package/dist/plus/integrations/reads/issueTracker.d.ts +42 -33
  828. package/dist/plus/integrations/reads/issueTracker.js +265 -386
  829. package/dist/plus/integrations/reads/issueTracker.js.map +1 -1
  830. package/dist/plus/integrations/reads/issues.d.ts +50 -47
  831. package/dist/plus/integrations/reads/issues.js +202 -331
  832. package/dist/plus/integrations/reads/issues.js.map +1 -1
  833. package/dist/plus/integrations/reads/ordering.d.ts +32 -30
  834. package/dist/plus/integrations/reads/ordering.js +47 -43
  835. package/dist/plus/integrations/reads/ordering.js.map +1 -1
  836. package/dist/plus/integrations/reads/paging.d.ts +59 -57
  837. package/dist/plus/integrations/reads/paging.js +244 -261
  838. package/dist/plus/integrations/reads/paging.js.map +1 -1
  839. package/dist/plus/integrations/reads/pullRequests.d.ts +37 -35
  840. package/dist/plus/integrations/reads/pullRequests.js +95 -148
  841. package/dist/plus/integrations/reads/pullRequests.js.map +1 -1
  842. package/dist/plus/integrations/reads/resolveRepository.d.ts +18 -15
  843. package/dist/plus/integrations/reads/resolveRepository.js +238 -231
  844. package/dist/plus/integrations/reads/resolveRepository.js.map +1 -1
  845. package/dist/plus/integrations/reads/searchIssues.d.ts +29 -27
  846. package/dist/plus/integrations/reads/searchIssues.js +106 -153
  847. package/dist/plus/integrations/reads/searchIssues.js.map +1 -1
  848. package/dist/plus/integrations/reads/searchPullRequests.d.ts +20 -18
  849. package/dist/plus/integrations/reads/searchPullRequests.js +97 -113
  850. package/dist/plus/integrations/reads/searchPullRequests.js.map +1 -1
  851. package/dist/plus/integrations/reads/sweeps.d.ts +6 -4
  852. package/dist/plus/integrations/reads/sweeps.js +143 -178
  853. package/dist/plus/integrations/reads/sweeps.js.map +1 -1
  854. package/dist/plus/integrations/reads/trackerIssue.d.ts +28 -16
  855. package/dist/plus/integrations/reads/trackerIssue.js +58 -49
  856. package/dist/plus/integrations/reads/trackerIssue.js.map +1 -1
  857. package/dist/plus/integrations/reads/warnings.d.ts +16 -9
  858. package/dist/plus/integrations/reads/warnings.js +260 -291
  859. package/dist/plus/integrations/reads/warnings.js.map +1 -1
  860. package/dist/plus/integrations/results.d.ts +201 -199
  861. package/dist/plus/integrations/results.js +105 -119
  862. package/dist/plus/integrations/results.js.map +1 -1
  863. package/dist/plus/integrations/telemetry.d.ts +7 -5
  864. package/dist/plus/integrations/telemetry.js +9 -9
  865. package/dist/plus/integrations/telemetry.js.map +1 -1
  866. package/dist/plus/integrations/utils/domain.utils.d.ts +40 -0
  867. package/dist/plus/integrations/utils/domain.utils.js +90 -22
  868. package/dist/plus/integrations/utils/domain.utils.js.map +1 -1
  869. package/dist/plus/integrations/utils/integration.utils.d.ts +31 -6
  870. package/dist/plus/integrations/utils/integration.utils.js +171 -167
  871. package/dist/plus/integrations/utils/integration.utils.js.map +1 -1
  872. package/dist/utils/array.d.ts +9 -7
  873. package/dist/utils/array.js +110 -126
  874. package/dist/utils/array.js.map +1 -1
  875. package/dist/utils/base64.d.ts +2 -2
  876. package/dist/utils/base64.js +2 -2
  877. package/dist/utils/brand.d.ts +4 -3
  878. package/dist/utils/brand.js +0 -2
  879. package/dist/utils/cancellation.d.ts +24 -24
  880. package/dist/utils/cancellation.js +152 -167
  881. package/dist/utils/cancellation.js.map +1 -1
  882. package/dist/utils/charCode.d.ts +31 -37
  883. package/dist/utils/charCode.js +41 -37
  884. package/dist/utils/charCode.js.map +1 -1
  885. package/dist/utils/coalescedRun.d.ts +10 -8
  886. package/dist/utils/coalescedRun.js +39 -41
  887. package/dist/utils/coalescedRun.js.map +1 -1
  888. package/dist/utils/color.d.ts +137 -135
  889. package/dist/utils/color.js +535 -660
  890. package/dist/utils/color.js.map +1 -1
  891. package/dist/utils/counter.d.ts +5 -3
  892. package/dist/utils/counter.js +19 -17
  893. package/dist/utils/counter.js.map +1 -1
  894. package/dist/utils/crypto.d.ts +2 -2
  895. package/dist/utils/crypto.js +2 -2
  896. package/dist/utils/date.d.ts +10 -9
  897. package/dist/utils/date.js +312 -350
  898. package/dist/utils/date.js.map +1 -1
  899. package/dist/utils/debounce.d.ts +45 -43
  900. package/dist/utils/debounce.js +175 -206
  901. package/dist/utils/debounce.js.map +1 -1
  902. package/dist/utils/decorators/debounce.d.ts +3 -1
  903. package/dist/utils/decorators/debounce.js +16 -19
  904. package/dist/utils/decorators/debounce.js.map +1 -1
  905. package/dist/utils/decorators/gate.d.ts +13 -11
  906. package/dist/utils/decorators/gate.js +97 -124
  907. package/dist/utils/decorators/gate.js.map +1 -1
  908. package/dist/utils/decorators/log.d.ts +25 -24
  909. package/dist/utils/decorators/log.js +166 -227
  910. package/dist/utils/decorators/log.js.map +1 -1
  911. package/dist/utils/decorators/memoize.d.ts +10 -8
  912. package/dist/utils/decorators/memoize.js +49 -57
  913. package/dist/utils/decorators/memoize.js.map +1 -1
  914. package/dist/utils/decorators/resolver.d.ts +2 -0
  915. package/dist/utils/decorators/resolver.js +64 -75
  916. package/dist/utils/decorators/resolver.js.map +1 -1
  917. package/dist/utils/decorators/sequentialize.d.ts +15 -14
  918. package/dist/utils/decorators/sequentialize.js +61 -80
  919. package/dist/utils/decorators/sequentialize.js.map +1 -1
  920. package/dist/utils/decorators/serializable.d.ts +2 -0
  921. package/dist/utils/decorators/serializable.js +30 -39
  922. package/dist/utils/decorators/serializable.js.map +1 -1
  923. package/dist/utils/dedupedAsyncCache.d.ts +23 -21
  924. package/dist/utils/dedupedAsyncCache.js +63 -66
  925. package/dist/utils/dedupedAsyncCache.js.map +1 -1
  926. package/dist/utils/diff.d.ts +2 -0
  927. package/dist/utils/diff.js +41 -51
  928. package/dist/utils/diff.js.map +1 -1
  929. package/dist/utils/disposable.d.ts +15 -13
  930. package/dist/utils/disposable.js +71 -80
  931. package/dist/utils/disposable.js.map +1 -1
  932. package/dist/utils/dom.d.ts +45 -0
  933. package/dist/utils/dom.js +106 -0
  934. package/dist/utils/dom.js.map +1 -0
  935. package/dist/utils/encoding.d.ts +2 -0
  936. package/dist/utils/encoding.js +7 -5
  937. package/dist/utils/encoding.js.map +1 -1
  938. package/dist/utils/env/browser/base64.d.ts +2 -0
  939. package/dist/utils/env/browser/base64.js +32 -34
  940. package/dist/utils/env/browser/base64.js.map +1 -1
  941. package/dist/utils/env/browser/crypto.d.ts +2 -0
  942. package/dist/utils/env/browser/crypto.js +17 -13
  943. package/dist/utils/env/browser/crypto.js.map +1 -1
  944. package/dist/utils/env/browser/fs.d.ts +2 -0
  945. package/dist/utils/env/browser/fs.js +6 -2
  946. package/dist/utils/env/browser/fs.js.map +1 -1
  947. package/dist/utils/env/browser/hex.d.ts +2 -0
  948. package/dist/utils/env/browser/hex.js +271 -29
  949. package/dist/utils/env/browser/hex.js.map +1 -1
  950. package/dist/utils/env/browser/hrtime.d.ts +2 -0
  951. package/dist/utils/env/browser/hrtime.js +17 -13
  952. package/dist/utils/env/browser/hrtime.js.map +1 -1
  953. package/dist/utils/env/browser/logScope.d.ts +3 -1
  954. package/dist/utils/env/browser/logScope.js +39 -43
  955. package/dist/utils/env/browser/logScope.js.map +1 -1
  956. package/dist/utils/env/browser/md5.d.ts +2 -0
  957. package/dist/utils/env/browser/md5.js +211 -184
  958. package/dist/utils/env/browser/md5.js.map +1 -1
  959. package/dist/utils/env/browser/platform.d.ts +3 -0
  960. package/dist/utils/env/browser/platform.js +11 -4
  961. package/dist/utils/env/browser/platform.js.map +1 -1
  962. package/dist/utils/env/node/base64.d.ts +2 -0
  963. package/dist/utils/env/node/base64.js +13 -11
  964. package/dist/utils/env/node/base64.js.map +1 -1
  965. package/dist/utils/env/node/crypto.d.ts +2 -0
  966. package/dist/utils/env/node/crypto.js +13 -9
  967. package/dist/utils/env/node/crypto.js.map +1 -1
  968. package/dist/utils/env/node/exec.d.ts +66 -65
  969. package/dist/utils/env/node/exec.js +255 -267
  970. package/dist/utils/env/node/exec.js.map +1 -1
  971. package/dist/utils/env/node/fs.d.ts +2 -0
  972. package/dist/utils/env/node/fs.js +7 -3
  973. package/dist/utils/env/node/fs.js.map +1 -1
  974. package/dist/utils/env/node/hex.d.ts +2 -0
  975. package/dist/utils/env/node/hex.js +10 -6
  976. package/dist/utils/env/node/hex.js.map +1 -1
  977. package/dist/utils/env/node/hrtime.d.ts +2 -2
  978. package/dist/utils/env/node/hrtime.js +2 -2
  979. package/dist/utils/env/node/logScope.d.ts +3 -1
  980. package/dist/utils/env/node/logScope.js +52 -42
  981. package/dist/utils/env/node/logScope.js.map +1 -1
  982. package/dist/utils/env/node/platform.d.ts +3 -0
  983. package/dist/utils/env/node/platform.js +11 -4
  984. package/dist/utils/env/node/platform.js.map +1 -1
  985. package/dist/utils/error.d.ts +8 -6
  986. package/dist/utils/error.js +16 -14
  987. package/dist/utils/error.js.map +1 -1
  988. package/dist/utils/event.d.ts +27 -25
  989. package/dist/utils/event.js +141 -170
  990. package/dist/utils/event.js.map +1 -1
  991. package/dist/utils/formatter.d.ts +15 -14
  992. package/dist/utils/formatter.js +96 -129
  993. package/dist/utils/formatter.js.map +1 -1
  994. package/dist/utils/fs.d.ts +2 -2
  995. package/dist/utils/fs.js +2 -2
  996. package/dist/utils/function.d.ts +5 -6
  997. package/dist/utils/function.js +73 -90
  998. package/dist/utils/function.js.map +1 -1
  999. package/dist/utils/fuzzy.d.ts +18 -16
  1000. package/dist/utils/fuzzy.js +121 -127
  1001. package/dist/utils/fuzzy.js.map +1 -1
  1002. package/dist/utils/gitRefs.d.ts +11 -0
  1003. package/dist/utils/gitRefs.js +21 -0
  1004. package/dist/utils/gitRefs.js.map +1 -0
  1005. package/dist/utils/hash.d.ts +2 -0
  1006. package/dist/utils/hash.js +49 -47
  1007. package/dist/utils/hash.js.map +1 -1
  1008. package/dist/utils/hex.d.ts +2 -2
  1009. package/dist/utils/hex.js +2 -2
  1010. package/dist/utils/hostingServiceType.d.ts +8 -0
  1011. package/dist/utils/hostingServiceType.js +0 -0
  1012. package/dist/utils/hrtime.d.ts +4 -2
  1013. package/dist/utils/hrtime.js +8 -5
  1014. package/dist/utils/hrtime.js.map +1 -1
  1015. package/dist/utils/iterable.d.ts +3 -1
  1016. package/dist/utils/iterable.js +591 -616
  1017. package/dist/utils/iterable.js.map +1 -1
  1018. package/dist/utils/keys/chord.d.ts +27 -25
  1019. package/dist/utils/keys/chord.js +108 -122
  1020. package/dist/utils/keys/chord.js.map +1 -1
  1021. package/dist/utils/keys/keybinding.d.ts +98 -22
  1022. package/dist/utils/keys/keybinding.js +151 -53
  1023. package/dist/utils/keys/keybinding.js.map +1 -1
  1024. package/dist/utils/keys/keymapDispatcher.d.ts +66 -0
  1025. package/dist/utils/keys/keymapDispatcher.js +187 -0
  1026. package/dist/utils/keys/keymapDispatcher.js.map +1 -0
  1027. package/dist/utils/lazy.d.ts +14 -12
  1028. package/dist/utils/lazy.js +35 -36
  1029. package/dist/utils/lazy.js.map +1 -1
  1030. package/dist/utils/loggable.d.ts +3 -1
  1031. package/dist/utils/loggable.js +6 -2
  1032. package/dist/utils/loggable.js.map +1 -1
  1033. package/dist/utils/logger.d.ts +48 -46
  1034. package/dist/utils/logger.js +219 -304
  1035. package/dist/utils/logger.js.map +1 -1
  1036. package/dist/utils/logger.scoped.d.ts +30 -28
  1037. package/dist/utils/logger.scoped.js +133 -147
  1038. package/dist/utils/logger.scoped.js.map +1 -1
  1039. package/dist/utils/lruMap.d.ts +34 -32
  1040. package/dist/utils/lruMap.js +97 -101
  1041. package/dist/utils/lruMap.js.map +1 -1
  1042. package/dist/utils/markdown.d.ts +5 -3
  1043. package/dist/utils/markdown.js +52 -88
  1044. package/dist/utils/markdown.js.map +1 -1
  1045. package/dist/utils/mru.d.ts +13 -11
  1046. package/dist/utils/mru.js +57 -62
  1047. package/dist/utils/mru.js.map +1 -1
  1048. package/dist/utils/object.d.ts +9 -34
  1049. package/dist/utils/object.js +132 -191
  1050. package/dist/utils/object.js.map +1 -1
  1051. package/dist/utils/paging.d.ts +36 -34
  1052. package/dist/utils/paging.js +42 -45
  1053. package/dist/utils/paging.js.map +1 -1
  1054. package/dist/utils/path.d.ts +4 -1
  1055. package/dist/utils/path.js +129 -162
  1056. package/dist/utils/path.js.map +1 -1
  1057. package/dist/utils/pausedOperation.d.ts +42 -0
  1058. package/dist/utils/pausedOperation.js +62 -0
  1059. package/dist/utils/pausedOperation.js.map +1 -0
  1060. package/dist/utils/platform.d.ts +2 -2
  1061. package/dist/utils/platform.js +2 -2
  1062. package/dist/utils/plural.d.ts +21 -0
  1063. package/dist/utils/plural.js +136 -0
  1064. package/dist/utils/plural.js.map +1 -0
  1065. package/dist/utils/promise.d.ts +19 -18
  1066. package/dist/utils/promise.js +323 -360
  1067. package/dist/utils/promise.js.map +1 -1
  1068. package/dist/utils/promiseCache.d.ts +331 -330
  1069. package/dist/utils/promiseCache.js +602 -717
  1070. package/dist/utils/promiseCache.js.map +1 -1
  1071. package/dist/utils/resourceUsage.d.ts +2 -0
  1072. package/dist/utils/resourceUsage.js +0 -2
  1073. package/dist/utils/searchTree.d.ts +51 -49
  1074. package/dist/utils/searchTree.js +306 -396
  1075. package/dist/utils/searchTree.js.map +1 -1
  1076. package/dist/utils/stopwatch.d.ts +33 -32
  1077. package/dist/utils/stopwatch.js +67 -81
  1078. package/dist/utils/stopwatch.js.map +1 -1
  1079. package/dist/utils/string.d.ts +17 -24
  1080. package/dist/utils/string.js +787 -803
  1081. package/dist/utils/string.js.map +1 -1
  1082. package/dist/utils/subscriptionManager.d.ts +15 -14
  1083. package/dist/utils/subscriptionManager.js +36 -33
  1084. package/dist/utils/subscriptionManager.js.map +1 -1
  1085. package/dist/utils/trie.d.ts +64 -62
  1086. package/dist/utils/trie.js +438 -580
  1087. package/dist/utils/trie.js.map +1 -1
  1088. package/dist/utils/types.d.ts +8 -16
  1089. package/dist/utils/types.js +0 -2
  1090. package/dist/utils/uri.d.ts +27 -25
  1091. package/dist/utils/uri.js +42 -42
  1092. package/dist/utils/uri.js.map +1 -1
  1093. package/dist/utils/validation.d.ts +13 -12
  1094. package/dist/utils/validation.js +17 -23
  1095. package/dist/utils/validation.js.map +1 -1
  1096. package/dist/utils/version.d.ts +6 -5
  1097. package/dist/utils/version.js +77 -104
  1098. package/dist/utils/version.js.map +1 -1
  1099. package/docs/integrations.md +214 -67
  1100. package/docs/kepler-read-api-parity.md +19 -6
  1101. package/package.json +18 -8
  1102. package/dist/git/cache.d.ts.map +0 -1
  1103. package/dist/git/context.d.ts.map +0 -1
  1104. package/dist/git/errors.d.ts.map +0 -1
  1105. package/dist/git/features.d.ts.map +0 -1
  1106. package/dist/git/gitHealth.d.ts.map +0 -1
  1107. package/dist/git/models/author.d.ts.map +0 -1
  1108. package/dist/git/models/author.js.map +0 -1
  1109. package/dist/git/models/autolink.d.ts.map +0 -1
  1110. package/dist/git/models/autolink.js.map +0 -1
  1111. package/dist/git/models/blame.d.ts.map +0 -1
  1112. package/dist/git/models/blame.js.map +0 -1
  1113. package/dist/git/models/branch.d.ts.map +0 -1
  1114. package/dist/git/models/commit.d.ts.map +0 -1
  1115. package/dist/git/models/contributor.d.ts.map +0 -1
  1116. package/dist/git/models/defaultBranch.d.ts.map +0 -1
  1117. package/dist/git/models/defaultBranch.js.map +0 -1
  1118. package/dist/git/models/diff.d.ts.map +0 -1
  1119. package/dist/git/models/diff.js.map +0 -1
  1120. package/dist/git/models/file.d.ts.map +0 -1
  1121. package/dist/git/models/file.js.map +0 -1
  1122. package/dist/git/models/fileChange.d.ts.map +0 -1
  1123. package/dist/git/models/fileStatus.d.ts.map +0 -1
  1124. package/dist/git/models/graph.d.ts.map +0 -1
  1125. package/dist/git/models/graphSearch.d.ts.map +0 -1
  1126. package/dist/git/models/graphSearch.js.map +0 -1
  1127. package/dist/git/models/graphSession.d.ts.map +0 -1
  1128. package/dist/git/models/issue.d.ts.map +0 -1
  1129. package/dist/git/models/issueOrPullRequest.d.ts.map +0 -1
  1130. package/dist/git/models/issueOrPullRequest.js.map +0 -1
  1131. package/dist/git/models/lineRange.d.ts.map +0 -1
  1132. package/dist/git/models/lineRange.js.map +0 -1
  1133. package/dist/git/models/log.d.ts.map +0 -1
  1134. package/dist/git/models/log.js.map +0 -1
  1135. package/dist/git/models/mergeConflicts.d.ts.map +0 -1
  1136. package/dist/git/models/mergeConflicts.js.map +0 -1
  1137. package/dist/git/models/patch.d.ts.map +0 -1
  1138. package/dist/git/models/patch.js.map +0 -1
  1139. package/dist/git/models/pausedOperationStatus.d.ts.map +0 -1
  1140. package/dist/git/models/pausedOperationStatus.js.map +0 -1
  1141. package/dist/git/models/pullRequest.d.ts.map +0 -1
  1142. package/dist/git/models/rebase.d.ts.map +0 -1
  1143. package/dist/git/models/rebase.js.map +0 -1
  1144. package/dist/git/models/reference.d.ts.map +0 -1
  1145. package/dist/git/models/reference.js.map +0 -1
  1146. package/dist/git/models/reflog.d.ts.map +0 -1
  1147. package/dist/git/models/remote.d.ts.map +0 -1
  1148. package/dist/git/models/remoteProvider.d.ts.map +0 -1
  1149. package/dist/git/models/remoteResource.d.ts.map +0 -1
  1150. package/dist/git/models/repository.d.ts.map +0 -1
  1151. package/dist/git/models/repositoryChangeEvent.d.ts.map +0 -1
  1152. package/dist/git/models/repositoryIdentities.d.ts.map +0 -1
  1153. package/dist/git/models/repositoryMetadata.d.ts.map +0 -1
  1154. package/dist/git/models/repositoryMetadata.js.map +0 -1
  1155. package/dist/git/models/resourceDescriptor.d.ts.map +0 -1
  1156. package/dist/git/models/resourceDescriptor.js.map +0 -1
  1157. package/dist/git/models/revision.d.ts.map +0 -1
  1158. package/dist/git/models/search.d.ts.map +0 -1
  1159. package/dist/git/models/shortlog.d.ts.map +0 -1
  1160. package/dist/git/models/shortlog.js.map +0 -1
  1161. package/dist/git/models/signature.d.ts.map +0 -1
  1162. package/dist/git/models/signature.js.map +0 -1
  1163. package/dist/git/models/staging.d.ts.map +0 -1
  1164. package/dist/git/models/staging.js.map +0 -1
  1165. package/dist/git/models/stash.d.ts.map +0 -1
  1166. package/dist/git/models/stash.js.map +0 -1
  1167. package/dist/git/models/status.d.ts.map +0 -1
  1168. package/dist/git/models/statusFile.d.ts.map +0 -1
  1169. package/dist/git/models/tag.d.ts.map +0 -1
  1170. package/dist/git/models/tree.d.ts.map +0 -1
  1171. package/dist/git/models/tree.js.map +0 -1
  1172. package/dist/git/models/user.d.ts.map +0 -1
  1173. package/dist/git/models/user.js.map +0 -1
  1174. package/dist/git/models/worktree.d.ts.map +0 -1
  1175. package/dist/git/parsers/diffParser.d.ts.map +0 -1
  1176. package/dist/git/parsers/rebaseTodoParser.d.ts.map +0 -1
  1177. package/dist/git/providers/blame.d.ts.map +0 -1
  1178. package/dist/git/providers/blame.js.map +0 -1
  1179. package/dist/git/providers/branches.d.ts.map +0 -1
  1180. package/dist/git/providers/branches.js.map +0 -1
  1181. package/dist/git/providers/commits.d.ts.map +0 -1
  1182. package/dist/git/providers/commits.js.map +0 -1
  1183. package/dist/git/providers/config.d.ts.map +0 -1
  1184. package/dist/git/providers/config.js.map +0 -1
  1185. package/dist/git/providers/contributors.d.ts.map +0 -1
  1186. package/dist/git/providers/contributors.js.map +0 -1
  1187. package/dist/git/providers/diff.d.ts.map +0 -1
  1188. package/dist/git/providers/diff.js.map +0 -1
  1189. package/dist/git/providers/graph.d.ts.map +0 -1
  1190. package/dist/git/providers/graph.js.map +0 -1
  1191. package/dist/git/providers/maintenance.d.ts.map +0 -1
  1192. package/dist/git/providers/maintenance.js.map +0 -1
  1193. package/dist/git/providers/operations.d.ts.map +0 -1
  1194. package/dist/git/providers/operations.js.map +0 -1
  1195. package/dist/git/providers/patch.d.ts.map +0 -1
  1196. package/dist/git/providers/patch.js.map +0 -1
  1197. package/dist/git/providers/pausedOperations.d.ts.map +0 -1
  1198. package/dist/git/providers/pausedOperations.js.map +0 -1
  1199. package/dist/git/providers/provider.d.ts.map +0 -1
  1200. package/dist/git/providers/provider.js.map +0 -1
  1201. package/dist/git/providers/refs.d.ts.map +0 -1
  1202. package/dist/git/providers/refs.js.map +0 -1
  1203. package/dist/git/providers/remotes.d.ts.map +0 -1
  1204. package/dist/git/providers/remotes.js.map +0 -1
  1205. package/dist/git/providers/revision.d.ts.map +0 -1
  1206. package/dist/git/providers/revision.js.map +0 -1
  1207. package/dist/git/providers/shared/remotes.d.ts.map +0 -1
  1208. package/dist/git/providers/staging.d.ts.map +0 -1
  1209. package/dist/git/providers/staging.js.map +0 -1
  1210. package/dist/git/providers/stash.d.ts.map +0 -1
  1211. package/dist/git/providers/stash.js.map +0 -1
  1212. package/dist/git/providers/status.d.ts.map +0 -1
  1213. package/dist/git/providers/status.js.map +0 -1
  1214. package/dist/git/providers/tags.d.ts.map +0 -1
  1215. package/dist/git/providers/tags.js.map +0 -1
  1216. package/dist/git/providers/types.d.ts.map +0 -1
  1217. package/dist/git/providers/types.js.map +0 -1
  1218. package/dist/git/providers/worktrees.d.ts.map +0 -1
  1219. package/dist/git/providers/worktrees.js.map +0 -1
  1220. package/dist/git/remotes/azure-devops.d.ts.map +0 -1
  1221. package/dist/git/remotes/bitbucket-server.d.ts.map +0 -1
  1222. package/dist/git/remotes/bitbucket.d.ts.map +0 -1
  1223. package/dist/git/remotes/custom.d.ts.map +0 -1
  1224. package/dist/git/remotes/gerrit.d.ts.map +0 -1
  1225. package/dist/git/remotes/gitea.d.ts.map +0 -1
  1226. package/dist/git/remotes/github.d.ts.map +0 -1
  1227. package/dist/git/remotes/gitlab.d.ts.map +0 -1
  1228. package/dist/git/remotes/google-source.d.ts.map +0 -1
  1229. package/dist/git/remotes/matcher.d.ts.map +0 -1
  1230. package/dist/git/repositoryService.d.ts.map +0 -1
  1231. package/dist/git/run.types.d.ts.map +0 -1
  1232. package/dist/git/run.types.js.map +0 -1
  1233. package/dist/git/service.d.ts.map +0 -1
  1234. package/dist/git/utils/autolink.utils.d.ts.map +0 -1
  1235. package/dist/git/utils/blame.utils.d.ts.map +0 -1
  1236. package/dist/git/utils/branch.utils.d.ts.map +0 -1
  1237. package/dist/git/utils/commit.utils.d.ts.map +0 -1
  1238. package/dist/git/utils/config.utils.d.ts.map +0 -1
  1239. package/dist/git/utils/conflictResolution.utils.d.ts.map +0 -1
  1240. package/dist/git/utils/contributor.utils.d.ts.map +0 -1
  1241. package/dist/git/utils/fetch.utils.d.ts.map +0 -1
  1242. package/dist/git/utils/fileStatus.utils.d.ts.map +0 -1
  1243. package/dist/git/utils/graph.utils.d.ts.map +0 -1
  1244. package/dist/git/utils/issue.utils.d.ts.map +0 -1
  1245. package/dist/git/utils/issueOrPullRequest.utils.d.ts.map +0 -1
  1246. package/dist/git/utils/mergeConflicts.utils.d.ts.map +0 -1
  1247. package/dist/git/utils/pausedOperationStatus.utils.d.ts.map +0 -1
  1248. package/dist/git/utils/pullRequest.utils.d.ts.map +0 -1
  1249. package/dist/git/utils/reachability.utils.d.ts.map +0 -1
  1250. package/dist/git/utils/rebase.utils.d.ts.map +0 -1
  1251. package/dist/git/utils/reference.utils.d.ts.map +0 -1
  1252. package/dist/git/utils/remote.utils.d.ts.map +0 -1
  1253. package/dist/git/utils/repository.utils.d.ts.map +0 -1
  1254. package/dist/git/utils/resourceDescriptor.utils.d.ts.map +0 -1
  1255. package/dist/git/utils/revision.utils.d.ts.map +0 -1
  1256. package/dist/git/utils/search.utils.d.ts.map +0 -1
  1257. package/dist/git/utils/sorting.d.ts.map +0 -1
  1258. package/dist/git/utils/sshKey.utils.d.ts.map +0 -1
  1259. package/dist/git/utils/status.utils.d.ts.map +0 -1
  1260. package/dist/git/utils/statusFile.utils.d.ts.map +0 -1
  1261. package/dist/git/utils/tag.utils.d.ts.map +0 -1
  1262. package/dist/git/utils/tooltip.utils.d.ts.map +0 -1
  1263. package/dist/git/utils/uriAuthority.d.ts.map +0 -1
  1264. package/dist/git/utils/user.utils.d.ts.map +0 -1
  1265. package/dist/git/utils/worktree.utils.d.ts.map +0 -1
  1266. package/dist/git/watching/changeEvent.d.ts.map +0 -1
  1267. package/dist/git/watching/classifyChange.d.ts.map +0 -1
  1268. package/dist/git/watching/gitIgnoreFilter.d.ts.map +0 -1
  1269. package/dist/git/watching/initWatcher.d.ts.map +0 -1
  1270. package/dist/git/watching/provider.d.ts.map +0 -1
  1271. package/dist/git/watching/provider.js.map +0 -1
  1272. package/dist/git/watching/watchGroup.d.ts.map +0 -1
  1273. package/dist/git/watching/watchService.d.ts.map +0 -1
  1274. package/dist/git/watching/watchSession.d.ts.map +0 -1
  1275. package/dist/git/watching/watcherPatterns.d.ts.map +0 -1
  1276. package/dist/git-cli/cliGitProvider.d.ts.map +0 -1
  1277. package/dist/git-cli/exec/exec.d.ts.map +0 -1
  1278. package/dist/git-cli/exec/exec.errors.d.ts.map +0 -1
  1279. package/dist/git-cli/exec/exec.errors.js.map +0 -1
  1280. package/dist/git-cli/exec/exec.js.map +0 -1
  1281. package/dist/git-cli/exec/exec.types.d.ts.map +0 -1
  1282. package/dist/git-cli/exec/exec.types.js.map +0 -1
  1283. package/dist/git-cli/exec/features.d.ts.map +0 -1
  1284. package/dist/git-cli/exec/features.js.map +0 -1
  1285. package/dist/git-cli/exec/git.d.ts.map +0 -1
  1286. package/dist/git-cli/exec/gitQueue.d.ts.map +0 -1
  1287. package/dist/git-cli/exec/locator.d.ts.map +0 -1
  1288. package/dist/git-cli/parsers/blameParser.d.ts.map +0 -1
  1289. package/dist/git-cli/parsers/indexParser.d.ts.map +0 -1
  1290. package/dist/git-cli/parsers/logParser.d.ts.map +0 -1
  1291. package/dist/git-cli/parsers/mergeTreeParser.d.ts.map +0 -1
  1292. package/dist/git-cli/parsers/refParser.d.ts.map +0 -1
  1293. package/dist/git-cli/parsers/reflogParser.d.ts.map +0 -1
  1294. package/dist/git-cli/parsers/remoteParser.d.ts.map +0 -1
  1295. package/dist/git-cli/parsers/shortlogParser.d.ts.map +0 -1
  1296. package/dist/git-cli/parsers/signatureParser.d.ts.map +0 -1
  1297. package/dist/git-cli/parsers/sshSignatureParser.d.ts.map +0 -1
  1298. package/dist/git-cli/parsers/statusParser.d.ts.map +0 -1
  1299. package/dist/git-cli/parsers/treeParser.d.ts.map +0 -1
  1300. package/dist/git-cli/parsers/worktreeParser.d.ts.map +0 -1
  1301. package/dist/git-cli/providers/blame.d.ts.map +0 -1
  1302. package/dist/git-cli/providers/branches.d.ts.map +0 -1
  1303. package/dist/git-cli/providers/commitFilesetUtils.d.ts.map +0 -1
  1304. package/dist/git-cli/providers/commits.d.ts.map +0 -1
  1305. package/dist/git-cli/providers/config.d.ts.map +0 -1
  1306. package/dist/git-cli/providers/contributors.d.ts.map +0 -1
  1307. package/dist/git-cli/providers/diff.d.ts.map +0 -1
  1308. package/dist/git-cli/providers/graph.d.ts.map +0 -1
  1309. package/dist/git-cli/providers/maintenance.d.ts.map +0 -1
  1310. package/dist/git-cli/providers/operations.d.ts.map +0 -1
  1311. package/dist/git-cli/providers/patch.d.ts.map +0 -1
  1312. package/dist/git-cli/providers/pausedOperations.d.ts.map +0 -1
  1313. package/dist/git-cli/providers/refs.d.ts.map +0 -1
  1314. package/dist/git-cli/providers/remotes.d.ts.map +0 -1
  1315. package/dist/git-cli/providers/revision.d.ts.map +0 -1
  1316. package/dist/git-cli/providers/staging.d.ts.map +0 -1
  1317. package/dist/git-cli/providers/stash.d.ts.map +0 -1
  1318. package/dist/git-cli/providers/status.d.ts.map +0 -1
  1319. package/dist/git-cli/providers/tags.d.ts.map +0 -1
  1320. package/dist/git-cli/providers/worktrees.d.ts.map +0 -1
  1321. package/dist/git-cli/service.d.ts.map +0 -1
  1322. package/dist/ipc/discovery.d.ts.map +0 -1
  1323. package/dist/ipc/ipcServer.d.ts.map +0 -1
  1324. package/dist/plus/agents/agentCapabilities.d.ts.map +0 -1
  1325. package/dist/plus/agents/providers/claudeCodeTranscript.d.ts.map +0 -1
  1326. package/dist/plus/agents/providers/gkAgentProvider.d.ts.map +0 -1
  1327. package/dist/plus/agents/sanitizePrompt.d.ts.map +0 -1
  1328. package/dist/plus/agents/stateMachine.d.ts.map +0 -1
  1329. package/dist/plus/agents/types.d.ts.map +0 -1
  1330. package/dist/plus/ai/constants.d.ts.map +0 -1
  1331. package/dist/plus/ai/errors.d.ts.map +0 -1
  1332. package/dist/plus/ai/models/conversation.d.ts.map +0 -1
  1333. package/dist/plus/ai/models/model.d.ts.map +0 -1
  1334. package/dist/plus/ai/models/promptTemplates.d.ts.map +0 -1
  1335. package/dist/plus/ai/models/promptTemplates.js.map +0 -1
  1336. package/dist/plus/ai/models/provider.d.ts.map +0 -1
  1337. package/dist/plus/ai/models/provider.js.map +0 -1
  1338. package/dist/plus/ai/models/results.d.ts.map +0 -1
  1339. package/dist/plus/ai/models/results.js.map +0 -1
  1340. package/dist/plus/ai/prompts.d.ts.map +0 -1
  1341. package/dist/plus/ai/providers/anthropicProvider.d.ts.map +0 -1
  1342. package/dist/plus/ai/providers/azureProvider.d.ts.map +0 -1
  1343. package/dist/plus/ai/providers/context.d.ts.map +0 -1
  1344. package/dist/plus/ai/providers/context.js.map +0 -1
  1345. package/dist/plus/ai/providers/deepSeekProvider.d.ts.map +0 -1
  1346. package/dist/plus/ai/providers/geminiProvider.d.ts.map +0 -1
  1347. package/dist/plus/ai/providers/gitkrakenProvider.d.ts.map +0 -1
  1348. package/dist/plus/ai/providers/huggingFaceProvider.d.ts.map +0 -1
  1349. package/dist/plus/ai/providers/mistralProvider.d.ts.map +0 -1
  1350. package/dist/plus/ai/providers/ollamaProvider.d.ts.map +0 -1
  1351. package/dist/plus/ai/providers/openAICompatibleProvider.d.ts.map +0 -1
  1352. package/dist/plus/ai/providers/openAICompatibleProviderBase.d.ts.map +0 -1
  1353. package/dist/plus/ai/providers/openRouterProvider.d.ts.map +0 -1
  1354. package/dist/plus/ai/providers/openaiProvider.d.ts.map +0 -1
  1355. package/dist/plus/ai/providers/responseFormatCache.d.ts.map +0 -1
  1356. package/dist/plus/ai/providers/xaiProvider.d.ts.map +0 -1
  1357. package/dist/plus/ai/utils/ai.utils.d.ts.map +0 -1
  1358. package/dist/plus/ai/utils/results.utils.d.ts.map +0 -1
  1359. package/dist/plus/ai/utils/truncation.utils.d.ts.map +0 -1
  1360. package/dist/plus/git-github/api/config.d.ts.map +0 -1
  1361. package/dist/plus/git-github/api/github.d.ts.map +0 -1
  1362. package/dist/plus/git-github/api/github.utils.d.ts.map +0 -1
  1363. package/dist/plus/git-github/api/issueSearchQuery.d.ts.map +0 -1
  1364. package/dist/plus/git-github/api/pullRequestSearchQuery.d.ts.map +0 -1
  1365. package/dist/plus/git-github/api/token.d.ts.map +0 -1
  1366. package/dist/plus/git-github/api/token.js.map +0 -1
  1367. package/dist/plus/git-github/api/tokenUtils.d.ts.map +0 -1
  1368. package/dist/plus/git-github/api/types.d.ts.map +0 -1
  1369. package/dist/plus/git-github/api/types.js.map +0 -1
  1370. package/dist/plus/git-github/context.d.ts.map +0 -1
  1371. package/dist/plus/git-github/models.d.ts.map +0 -1
  1372. package/dist/plus/git-github/providers/github/blame.d.ts.map +0 -1
  1373. package/dist/plus/git-github/providers/github/branches.d.ts.map +0 -1
  1374. package/dist/plus/git-github/providers/github/commits.d.ts.map +0 -1
  1375. package/dist/plus/git-github/providers/github/config.d.ts.map +0 -1
  1376. package/dist/plus/git-github/providers/github/contributors.d.ts.map +0 -1
  1377. package/dist/plus/git-github/providers/github/diff.d.ts.map +0 -1
  1378. package/dist/plus/git-github/providers/github/graph.d.ts.map +0 -1
  1379. package/dist/plus/git-github/providers/github/refs.d.ts.map +0 -1
  1380. package/dist/plus/git-github/providers/github/remotes.d.ts.map +0 -1
  1381. package/dist/plus/git-github/providers/github/revision.d.ts.map +0 -1
  1382. package/dist/plus/git-github/providers/github/status.d.ts.map +0 -1
  1383. package/dist/plus/git-github/providers/github/tags.d.ts.map +0 -1
  1384. package/dist/plus/git-github/providers/githubGitProvider.d.ts.map +0 -1
  1385. package/dist/plus/git-github/providers/githubProvider.d.ts.map +0 -1
  1386. package/dist/plus/git-github/providers/githubProvider.js.map +0 -1
  1387. package/dist/plus/integrations/authentication/cloudIntegrationService.d.ts.map +0 -1
  1388. package/dist/plus/integrations/authentication/configuredIntegrationService.d.ts.map +0 -1
  1389. package/dist/plus/integrations/authentication/integrationAuthenticationProvider.d.ts.map +0 -1
  1390. package/dist/plus/integrations/authentication/integrationAuthenticationService.d.ts.map +0 -1
  1391. package/dist/plus/integrations/authentication/manualTokenProvider.d.ts.map +0 -1
  1392. package/dist/plus/integrations/authentication/models.d.ts.map +0 -1
  1393. package/dist/plus/integrations/authentication/rejectedTokenTracker.d.ts.map +0 -1
  1394. package/dist/plus/integrations/collectionMetadata.d.ts.map +0 -1
  1395. package/dist/plus/integrations/constants.d.ts.map +0 -1
  1396. package/dist/plus/integrations/context.d.ts.map +0 -1
  1397. package/dist/plus/integrations/context.js.map +0 -1
  1398. package/dist/plus/integrations/errors.d.ts.map +0 -1
  1399. package/dist/plus/integrations/index.d.ts.map +0 -1
  1400. package/dist/plus/integrations/integrationService.d.ts.map +0 -1
  1401. package/dist/plus/integrations/lite.d.ts.map +0 -1
  1402. package/dist/plus/integrations/manager.d.ts.map +0 -1
  1403. package/dist/plus/integrations/manager.js.map +0 -1
  1404. package/dist/plus/integrations/models/gitHostIntegration.d.ts.map +0 -1
  1405. package/dist/plus/integrations/models/integration.d.ts.map +0 -1
  1406. package/dist/plus/integrations/models/issueCache.d.ts.map +0 -1
  1407. package/dist/plus/integrations/models/issueReads.d.ts.map +0 -1
  1408. package/dist/plus/integrations/models/issueReads.js.map +0 -1
  1409. package/dist/plus/integrations/models/issuesIntegration.d.ts.map +0 -1
  1410. package/dist/plus/integrations/models/pullRequestReads.d.ts.map +0 -1
  1411. package/dist/plus/integrations/models/pullRequestReads.js.map +0 -1
  1412. package/dist/plus/integrations/providerFilters.d.ts.map +0 -1
  1413. package/dist/plus/integrations/providers/accounts.d.ts.map +0 -1
  1414. package/dist/plus/integrations/providers/apiClients.d.ts.map +0 -1
  1415. package/dist/plus/integrations/providers/apiConfig.d.ts.map +0 -1
  1416. package/dist/plus/integrations/providers/azure/azure.d.ts.map +0 -1
  1417. package/dist/plus/integrations/providers/azure/models.d.ts.map +0 -1
  1418. package/dist/plus/integrations/providers/azureDevOps.d.ts.map +0 -1
  1419. package/dist/plus/integrations/providers/bitbucket/bitbucket.d.ts.map +0 -1
  1420. package/dist/plus/integrations/providers/bitbucket/models.d.ts.map +0 -1
  1421. package/dist/plus/integrations/providers/bitbucket-server/models.d.ts.map +0 -1
  1422. package/dist/plus/integrations/providers/bitbucket-server.d.ts.map +0 -1
  1423. package/dist/plus/integrations/providers/bitbucket.d.ts.map +0 -1
  1424. package/dist/plus/integrations/providers/github/github.d.ts.map +0 -1
  1425. package/dist/plus/integrations/providers/github/github.utils.d.ts.map +0 -1
  1426. package/dist/plus/integrations/providers/github/models.d.ts.map +0 -1
  1427. package/dist/plus/integrations/providers/github/models.js.map +0 -1
  1428. package/dist/plus/integrations/providers/github.d.ts.map +0 -1
  1429. package/dist/plus/integrations/providers/gitlab/gitlab.d.ts.map +0 -1
  1430. package/dist/plus/integrations/providers/gitlab/gitlab.utils.d.ts.map +0 -1
  1431. package/dist/plus/integrations/providers/gitlab/models.d.ts.map +0 -1
  1432. package/dist/plus/integrations/providers/gitlab.d.ts.map +0 -1
  1433. package/dist/plus/integrations/providers/issueSorts.d.ts.map +0 -1
  1434. package/dist/plus/integrations/providers/jira.d.ts.map +0 -1
  1435. package/dist/plus/integrations/providers/jiraIssueByKey.d.ts.map +0 -1
  1436. package/dist/plus/integrations/providers/linear.d.ts.map +0 -1
  1437. package/dist/plus/integrations/providers/models.d.ts.map +0 -1
  1438. package/dist/plus/integrations/providers/providerErrors.d.ts.map +0 -1
  1439. package/dist/plus/integrations/providers/providersApi.d.ts.map +0 -1
  1440. package/dist/plus/integrations/providers/pullRequestReviews.d.ts.map +0 -1
  1441. package/dist/plus/integrations/providers/trello.d.ts.map +0 -1
  1442. package/dist/plus/integrations/providers/utils/providerPaging.d.ts.map +0 -1
  1443. package/dist/plus/integrations/providers/utils.d.ts.map +0 -1
  1444. package/dist/plus/integrations/reads/broaden.d.ts.map +0 -1
  1445. package/dist/plus/integrations/reads/context.d.ts.map +0 -1
  1446. package/dist/plus/integrations/reads/context.js.map +0 -1
  1447. package/dist/plus/integrations/reads/counts.d.ts.map +0 -1
  1448. package/dist/plus/integrations/reads/cursors.d.ts.map +0 -1
  1449. package/dist/plus/integrations/reads/drains.d.ts.map +0 -1
  1450. package/dist/plus/integrations/reads/filters.d.ts.map +0 -1
  1451. package/dist/plus/integrations/reads/hierarchy.d.ts.map +0 -1
  1452. package/dist/plus/integrations/reads/hierarchy.utils.d.ts.map +0 -1
  1453. package/dist/plus/integrations/reads/issueBatch.d.ts.map +0 -1
  1454. package/dist/plus/integrations/reads/issueTracker.d.ts.map +0 -1
  1455. package/dist/plus/integrations/reads/issues.d.ts.map +0 -1
  1456. package/dist/plus/integrations/reads/ordering.d.ts.map +0 -1
  1457. package/dist/plus/integrations/reads/paging.d.ts.map +0 -1
  1458. package/dist/plus/integrations/reads/pullRequests.d.ts.map +0 -1
  1459. package/dist/plus/integrations/reads/resolveRepository.d.ts.map +0 -1
  1460. package/dist/plus/integrations/reads/searchIssues.d.ts.map +0 -1
  1461. package/dist/plus/integrations/reads/searchPullRequests.d.ts.map +0 -1
  1462. package/dist/plus/integrations/reads/sweeps.d.ts.map +0 -1
  1463. package/dist/plus/integrations/reads/trackerIssue.d.ts.map +0 -1
  1464. package/dist/plus/integrations/reads/warnings.d.ts.map +0 -1
  1465. package/dist/plus/integrations/results.d.ts.map +0 -1
  1466. package/dist/plus/integrations/telemetry.d.ts.map +0 -1
  1467. package/dist/plus/integrations/utils/domain.utils.d.ts.map +0 -1
  1468. package/dist/plus/integrations/utils/integration.utils.d.ts.map +0 -1
  1469. package/dist/utils/array.d.ts.map +0 -1
  1470. package/dist/utils/base64.d.ts.map +0 -1
  1471. package/dist/utils/base64.js.map +0 -1
  1472. package/dist/utils/brand.d.ts.map +0 -1
  1473. package/dist/utils/brand.js.map +0 -1
  1474. package/dist/utils/cancellation.d.ts.map +0 -1
  1475. package/dist/utils/charCode.d.ts.map +0 -1
  1476. package/dist/utils/coalescedRun.d.ts.map +0 -1
  1477. package/dist/utils/color.d.ts.map +0 -1
  1478. package/dist/utils/counter.d.ts.map +0 -1
  1479. package/dist/utils/crypto.d.ts.map +0 -1
  1480. package/dist/utils/crypto.js.map +0 -1
  1481. package/dist/utils/date.d.ts.map +0 -1
  1482. package/dist/utils/debounce.d.ts.map +0 -1
  1483. package/dist/utils/decorators/debounce.d.ts.map +0 -1
  1484. package/dist/utils/decorators/gate.d.ts.map +0 -1
  1485. package/dist/utils/decorators/log.d.ts.map +0 -1
  1486. package/dist/utils/decorators/memoize.d.ts.map +0 -1
  1487. package/dist/utils/decorators/resolver.d.ts.map +0 -1
  1488. package/dist/utils/decorators/sequentialize.d.ts.map +0 -1
  1489. package/dist/utils/decorators/serializable.d.ts.map +0 -1
  1490. package/dist/utils/dedupedAsyncCache.d.ts.map +0 -1
  1491. package/dist/utils/diff.d.ts.map +0 -1
  1492. package/dist/utils/disposable.d.ts.map +0 -1
  1493. package/dist/utils/encoding.d.ts.map +0 -1
  1494. package/dist/utils/env/browser/base64.d.ts.map +0 -1
  1495. package/dist/utils/env/browser/crypto.d.ts.map +0 -1
  1496. package/dist/utils/env/browser/fs.d.ts.map +0 -1
  1497. package/dist/utils/env/browser/hex.d.ts.map +0 -1
  1498. package/dist/utils/env/browser/hrtime.d.ts.map +0 -1
  1499. package/dist/utils/env/browser/logScope.d.ts.map +0 -1
  1500. package/dist/utils/env/browser/md5.d.ts.map +0 -1
  1501. package/dist/utils/env/browser/platform.d.ts.map +0 -1
  1502. package/dist/utils/env/node/base64.d.ts.map +0 -1
  1503. package/dist/utils/env/node/crypto.d.ts.map +0 -1
  1504. package/dist/utils/env/node/exec.d.ts.map +0 -1
  1505. package/dist/utils/env/node/fs.d.ts.map +0 -1
  1506. package/dist/utils/env/node/hex.d.ts.map +0 -1
  1507. package/dist/utils/env/node/hrtime.d.ts.map +0 -1
  1508. package/dist/utils/env/node/hrtime.js.map +0 -1
  1509. package/dist/utils/env/node/logScope.d.ts.map +0 -1
  1510. package/dist/utils/env/node/platform.d.ts.map +0 -1
  1511. package/dist/utils/error.d.ts.map +0 -1
  1512. package/dist/utils/event.d.ts.map +0 -1
  1513. package/dist/utils/formatter.d.ts.map +0 -1
  1514. package/dist/utils/fs.d.ts.map +0 -1
  1515. package/dist/utils/fs.js.map +0 -1
  1516. package/dist/utils/function.d.ts.map +0 -1
  1517. package/dist/utils/fuzzy.d.ts.map +0 -1
  1518. package/dist/utils/hash.d.ts.map +0 -1
  1519. package/dist/utils/hex.d.ts.map +0 -1
  1520. package/dist/utils/hex.js.map +0 -1
  1521. package/dist/utils/hrtime.d.ts.map +0 -1
  1522. package/dist/utils/iterable.d.ts.map +0 -1
  1523. package/dist/utils/keys/chord.d.ts.map +0 -1
  1524. package/dist/utils/keys/keybinding.d.ts.map +0 -1
  1525. package/dist/utils/lazy.d.ts.map +0 -1
  1526. package/dist/utils/loggable.d.ts.map +0 -1
  1527. package/dist/utils/logger.d.ts.map +0 -1
  1528. package/dist/utils/logger.scoped.d.ts.map +0 -1
  1529. package/dist/utils/lruMap.d.ts.map +0 -1
  1530. package/dist/utils/markdown.d.ts.map +0 -1
  1531. package/dist/utils/mru.d.ts.map +0 -1
  1532. package/dist/utils/object.d.ts.map +0 -1
  1533. package/dist/utils/paging.d.ts.map +0 -1
  1534. package/dist/utils/path.d.ts.map +0 -1
  1535. package/dist/utils/platform.d.ts.map +0 -1
  1536. package/dist/utils/platform.js.map +0 -1
  1537. package/dist/utils/promise.d.ts.map +0 -1
  1538. package/dist/utils/promiseCache.d.ts.map +0 -1
  1539. package/dist/utils/resourceUsage.d.ts.map +0 -1
  1540. package/dist/utils/resourceUsage.js.map +0 -1
  1541. package/dist/utils/searchTree.d.ts.map +0 -1
  1542. package/dist/utils/stopwatch.d.ts.map +0 -1
  1543. package/dist/utils/string.d.ts.map +0 -1
  1544. package/dist/utils/subscriptionManager.d.ts.map +0 -1
  1545. package/dist/utils/trie.d.ts.map +0 -1
  1546. package/dist/utils/types.d.ts.map +0 -1
  1547. package/dist/utils/types.js.map +0 -1
  1548. package/dist/utils/uri.d.ts.map +0 -1
  1549. package/dist/utils/validation.d.ts.map +0 -1
  1550. package/dist/utils/version.d.ts.map +0 -1
  1551. package/src/git/cache.ts +0 -1859
  1552. package/src/git/context.ts +0 -301
  1553. package/src/git/errors.ts +0 -1168
  1554. package/src/git/features.ts +0 -98
  1555. package/src/git/gitHealth.ts +0 -522
  1556. package/src/git/models/author.ts +0 -19
  1557. package/src/git/models/autolink.ts +0 -59
  1558. package/src/git/models/blame.ts +0 -46
  1559. package/src/git/models/branch.ts +0 -237
  1560. package/src/git/models/commit.ts +0 -673
  1561. package/src/git/models/contributor.ts +0 -84
  1562. package/src/git/models/defaultBranch.ts +0 -6
  1563. package/src/git/models/diff.ts +0 -74
  1564. package/src/git/models/file.ts +0 -29
  1565. package/src/git/models/fileChange.ts +0 -82
  1566. package/src/git/models/fileStatus.ts +0 -36
  1567. package/src/git/models/graph.ts +0 -444
  1568. package/src/git/models/graphSearch.ts +0 -53
  1569. package/src/git/models/graphSession.ts +0 -102
  1570. package/src/git/models/issue.ts +0 -273
  1571. package/src/git/models/issueOrPullRequest.ts +0 -20
  1572. package/src/git/models/lineRange.ts +0 -7
  1573. package/src/git/models/log.ts +0 -21
  1574. package/src/git/models/mergeConflicts.ts +0 -19
  1575. package/src/git/models/patch.ts +0 -25
  1576. package/src/git/models/pausedOperationStatus.ts +0 -63
  1577. package/src/git/models/pullRequest.ts +0 -357
  1578. package/src/git/models/rebase.ts +0 -60
  1579. package/src/git/models/reference.ts +0 -80
  1580. package/src/git/models/reflog.ts +0 -88
  1581. package/src/git/models/remote.ts +0 -100
  1582. package/src/git/models/remoteProvider.ts +0 -291
  1583. package/src/git/models/remoteResource.ts +0 -87
  1584. package/src/git/models/repository.ts +0 -510
  1585. package/src/git/models/repositoryChangeEvent.ts +0 -30
  1586. package/src/git/models/repositoryIdentities.ts +0 -99
  1587. package/src/git/models/repositoryMetadata.ts +0 -12
  1588. package/src/git/models/resourceDescriptor.ts +0 -28
  1589. package/src/git/models/revision.ts +0 -12
  1590. package/src/git/models/search.ts +0 -138
  1591. package/src/git/models/shortlog.ts +0 -6
  1592. package/src/git/models/signature.ts +0 -45
  1593. package/src/git/models/staging.ts +0 -27
  1594. package/src/git/models/stash.ts +0 -6
  1595. package/src/git/models/status.ts +0 -246
  1596. package/src/git/models/statusFile.ts +0 -131
  1597. package/src/git/models/tag.ts +0 -76
  1598. package/src/git/models/tree.ts +0 -10
  1599. package/src/git/models/user.ts +0 -7
  1600. package/src/git/models/worktree.ts +0 -160
  1601. package/src/git/parsers/diffParser.ts +0 -648
  1602. package/src/git/parsers/rebaseTodoParser.ts +0 -169
  1603. package/src/git/providers/blame.ts +0 -40
  1604. package/src/git/providers/branches.ts +0 -143
  1605. package/src/git/providers/commits.ts +0 -174
  1606. package/src/git/providers/config.ts +0 -167
  1607. package/src/git/providers/contributors.ts +0 -34
  1608. package/src/git/providers/diff.ts +0 -133
  1609. package/src/git/providers/graph.ts +0 -95
  1610. package/src/git/providers/maintenance.ts +0 -224
  1611. package/src/git/providers/operations.ts +0 -164
  1612. package/src/git/providers/patch.ts +0 -31
  1613. package/src/git/providers/pausedOperations.ts +0 -23
  1614. package/src/git/providers/provider.ts +0 -64
  1615. package/src/git/providers/refs.ts +0 -68
  1616. package/src/git/providers/remotes.ts +0 -33
  1617. package/src/git/providers/revision.ts +0 -32
  1618. package/src/git/providers/shared/remotes.ts +0 -95
  1619. package/src/git/providers/staging.ts +0 -36
  1620. package/src/git/providers/stash.ts +0 -51
  1621. package/src/git/providers/status.ts +0 -48
  1622. package/src/git/providers/tags.ts +0 -29
  1623. package/src/git/providers/types.ts +0 -33
  1624. package/src/git/providers/worktrees.ts +0 -37
  1625. package/src/git/remotes/azure-devops.ts +0 -361
  1626. package/src/git/remotes/bitbucket-server.ts +0 -189
  1627. package/src/git/remotes/bitbucket.ts +0 -142
  1628. package/src/git/remotes/custom.ts +0 -162
  1629. package/src/git/remotes/gerrit.ts +0 -186
  1630. package/src/git/remotes/gitea.ts +0 -184
  1631. package/src/git/remotes/github.ts +0 -236
  1632. package/src/git/remotes/gitlab.ts +0 -270
  1633. package/src/git/remotes/google-source.ts +0 -51
  1634. package/src/git/remotes/matcher.ts +0 -215
  1635. package/src/git/repositoryService.ts +0 -180
  1636. package/src/git/run.types.ts +0 -156
  1637. package/src/git/service.ts +0 -369
  1638. package/src/git/utils/autolink.utils.ts +0 -202
  1639. package/src/git/utils/blame.utils.ts +0 -298
  1640. package/src/git/utils/branch.utils.ts +0 -165
  1641. package/src/git/utils/commit.utils.ts +0 -89
  1642. package/src/git/utils/config.utils.ts +0 -8
  1643. package/src/git/utils/conflictResolution.utils.ts +0 -157
  1644. package/src/git/utils/contributor.utils.ts +0 -105
  1645. package/src/git/utils/fetch.utils.ts +0 -48
  1646. package/src/git/utils/fileStatus.utils.ts +0 -62
  1647. package/src/git/utils/graph.utils.ts +0 -46
  1648. package/src/git/utils/issue.utils.ts +0 -187
  1649. package/src/git/utils/issueOrPullRequest.utils.ts +0 -23
  1650. package/src/git/utils/mergeConflicts.utils.ts +0 -21
  1651. package/src/git/utils/pausedOperationStatus.utils.ts +0 -184
  1652. package/src/git/utils/pullRequest.utils.ts +0 -244
  1653. package/src/git/utils/reachability.utils.ts +0 -180
  1654. package/src/git/utils/rebase.utils.ts +0 -128
  1655. package/src/git/utils/reference.utils.ts +0 -267
  1656. package/src/git/utils/remote.utils.ts +0 -146
  1657. package/src/git/utils/repository.utils.ts +0 -18
  1658. package/src/git/utils/resourceDescriptor.utils.ts +0 -26
  1659. package/src/git/utils/revision.utils.ts +0 -149
  1660. package/src/git/utils/search.utils.ts +0 -624
  1661. package/src/git/utils/sorting.ts +0 -329
  1662. package/src/git/utils/sshKey.utils.ts +0 -30
  1663. package/src/git/utils/status.utils.ts +0 -115
  1664. package/src/git/utils/statusFile.utils.ts +0 -182
  1665. package/src/git/utils/tag.utils.ts +0 -17
  1666. package/src/git/utils/tooltip.utils.ts +0 -37
  1667. package/src/git/utils/uriAuthority.ts +0 -34
  1668. package/src/git/utils/user.utils.ts +0 -20
  1669. package/src/git/utils/worktree.utils.ts +0 -21
  1670. package/src/git/watching/changeEvent.ts +0 -95
  1671. package/src/git/watching/classifyChange.ts +0 -104
  1672. package/src/git/watching/gitIgnoreFilter.ts +0 -134
  1673. package/src/git/watching/initWatcher.ts +0 -81
  1674. package/src/git/watching/provider.ts +0 -24
  1675. package/src/git/watching/watchGroup.ts +0 -185
  1676. package/src/git/watching/watchService.ts +0 -430
  1677. package/src/git/watching/watchSession.ts +0 -439
  1678. package/src/git/watching/watcherPatterns.ts +0 -51
  1679. package/src/git-cli/cliGitProvider.ts +0 -461
  1680. package/src/git-cli/exec/exec.errors.ts +0 -1
  1681. package/src/git-cli/exec/exec.ts +0 -11
  1682. package/src/git-cli/exec/exec.types.ts +0 -8
  1683. package/src/git-cli/exec/features.ts +0 -2
  1684. package/src/git-cli/exec/git.ts +0 -1371
  1685. package/src/git-cli/exec/gitQueue.ts +0 -326
  1686. package/src/git-cli/exec/locator.ts +0 -157
  1687. package/src/git-cli/parsers/blameParser.ts +0 -374
  1688. package/src/git-cli/parsers/indexParser.ts +0 -192
  1689. package/src/git-cli/parsers/logParser.ts +0 -1365
  1690. package/src/git-cli/parsers/mergeTreeParser.ts +0 -22
  1691. package/src/git-cli/parsers/refParser.ts +0 -110
  1692. package/src/git-cli/parsers/reflogParser.ts +0 -153
  1693. package/src/git-cli/parsers/remoteParser.ts +0 -95
  1694. package/src/git-cli/parsers/shortlogParser.ts +0 -59
  1695. package/src/git-cli/parsers/signatureParser.ts +0 -162
  1696. package/src/git-cli/parsers/sshSignatureParser.ts +0 -85
  1697. package/src/git-cli/parsers/statusParser.ts +0 -209
  1698. package/src/git-cli/parsers/treeParser.ts +0 -61
  1699. package/src/git-cli/parsers/worktreeParser.ts +0 -111
  1700. package/src/git-cli/providers/blame.ts +0 -598
  1701. package/src/git-cli/providers/branches.ts +0 -1931
  1702. package/src/git-cli/providers/commitFilesetUtils.ts +0 -45
  1703. package/src/git-cli/providers/commits.ts +0 -1856
  1704. package/src/git-cli/providers/config.ts +0 -1025
  1705. package/src/git-cli/providers/contributors.ts +0 -360
  1706. package/src/git-cli/providers/diff.ts +0 -1172
  1707. package/src/git-cli/providers/graph.ts +0 -2237
  1708. package/src/git-cli/providers/maintenance.ts +0 -2599
  1709. package/src/git-cli/providers/operations.ts +0 -1016
  1710. package/src/git-cli/providers/patch.ts +0 -305
  1711. package/src/git-cli/providers/pausedOperations.ts +0 -670
  1712. package/src/git-cli/providers/refs.ts +0 -486
  1713. package/src/git-cli/providers/remotes.ts +0 -115
  1714. package/src/git-cli/providers/revision.ts +0 -383
  1715. package/src/git-cli/providers/staging.ts +0 -210
  1716. package/src/git-cli/providers/stash.ts +0 -577
  1717. package/src/git-cli/providers/status.ts +0 -568
  1718. package/src/git-cli/providers/tags.ts +0 -224
  1719. package/src/git-cli/providers/worktrees.ts +0 -285
  1720. package/src/git-cli/service.ts +0 -82
  1721. package/src/ipc/discovery.ts +0 -186
  1722. package/src/ipc/ipcServer.ts +0 -171
  1723. package/src/plus/agents/agentCapabilities.ts +0 -286
  1724. package/src/plus/agents/providers/claudeCodeTranscript.ts +0 -867
  1725. package/src/plus/agents/providers/gkAgentProvider.ts +0 -4036
  1726. package/src/plus/agents/sanitizePrompt.ts +0 -109
  1727. package/src/plus/agents/stateMachine.ts +0 -197
  1728. package/src/plus/agents/types.ts +0 -500
  1729. package/src/plus/ai/constants.ts +0 -121
  1730. package/src/plus/ai/errors.ts +0 -152
  1731. package/src/plus/ai/models/conversation.ts +0 -35
  1732. package/src/plus/ai/models/model.ts +0 -528
  1733. package/src/plus/ai/models/promptTemplates.ts +0 -171
  1734. package/src/plus/ai/models/provider.ts +0 -125
  1735. package/src/plus/ai/models/results.ts +0 -31
  1736. package/src/plus/ai/prompts.ts +0 -849
  1737. package/src/plus/ai/providers/anthropicProvider.ts +0 -458
  1738. package/src/plus/ai/providers/azureProvider.ts +0 -74
  1739. package/src/plus/ai/providers/context.ts +0 -29
  1740. package/src/plus/ai/providers/deepSeekProvider.ts +0 -46
  1741. package/src/plus/ai/providers/geminiProvider.ts +0 -245
  1742. package/src/plus/ai/providers/gitkrakenProvider.ts +0 -347
  1743. package/src/plus/ai/providers/huggingFaceProvider.ts +0 -64
  1744. package/src/plus/ai/providers/mistralProvider.ts +0 -243
  1745. package/src/plus/ai/providers/ollamaProvider.ts +0 -292
  1746. package/src/plus/ai/providers/openAICompatibleProvider.ts +0 -64
  1747. package/src/plus/ai/providers/openAICompatibleProviderBase.ts +0 -654
  1748. package/src/plus/ai/providers/openRouterProvider.ts +0 -101
  1749. package/src/plus/ai/providers/openaiProvider.ts +0 -47
  1750. package/src/plus/ai/providers/responseFormatCache.ts +0 -39
  1751. package/src/plus/ai/providers/xaiProvider.ts +0 -54
  1752. package/src/plus/ai/utils/ai.utils.ts +0 -95
  1753. package/src/plus/ai/utils/results.utils.ts +0 -407
  1754. package/src/plus/ai/utils/truncation.utils.ts +0 -296
  1755. package/src/plus/git-github/api/config.ts +0 -91
  1756. package/src/plus/git-github/api/github.ts +0 -5462
  1757. package/src/plus/git-github/api/github.utils.ts +0 -36
  1758. package/src/plus/git-github/api/issueSearchQuery.ts +0 -273
  1759. package/src/plus/git-github/api/pullRequestSearchQuery.ts +0 -154
  1760. package/src/plus/git-github/api/token.ts +0 -15
  1761. package/src/plus/git-github/api/tokenUtils.ts +0 -15
  1762. package/src/plus/git-github/api/types.ts +0 -197
  1763. package/src/plus/git-github/context.ts +0 -107
  1764. package/src/plus/git-github/models.ts +0 -623
  1765. package/src/plus/git-github/providers/github/blame.ts +0 -225
  1766. package/src/plus/git-github/providers/github/branches.ts +0 -401
  1767. package/src/plus/git-github/providers/github/commits.ts +0 -929
  1768. package/src/plus/git-github/providers/github/config.ts +0 -47
  1769. package/src/plus/git-github/providers/github/contributors.ts +0 -313
  1770. package/src/plus/git-github/providers/github/diff.ts +0 -281
  1771. package/src/plus/git-github/providers/github/graph.ts +0 -635
  1772. package/src/plus/git-github/providers/github/refs.ts +0 -172
  1773. package/src/plus/git-github/providers/github/remotes.ts +0 -44
  1774. package/src/plus/git-github/providers/github/revision.ts +0 -140
  1775. package/src/plus/git-github/providers/github/status.ts +0 -69
  1776. package/src/plus/git-github/providers/github/tags.ts +0 -148
  1777. package/src/plus/git-github/providers/githubGitProvider.ts +0 -168
  1778. package/src/plus/git-github/providers/githubProvider.ts +0 -65
  1779. package/src/plus/integrations/authentication/cloudIntegrationService.ts +0 -292
  1780. package/src/plus/integrations/authentication/configuredIntegrationService.ts +0 -656
  1781. package/src/plus/integrations/authentication/integrationAuthenticationProvider.ts +0 -385
  1782. package/src/plus/integrations/authentication/integrationAuthenticationService.ts +0 -148
  1783. package/src/plus/integrations/authentication/manualTokenProvider.ts +0 -79
  1784. package/src/plus/integrations/authentication/models.ts +0 -202
  1785. package/src/plus/integrations/authentication/rejectedTokenTracker.ts +0 -56
  1786. package/src/plus/integrations/collectionMetadata.ts +0 -325
  1787. package/src/plus/integrations/constants.ts +0 -190
  1788. package/src/plus/integrations/context.ts +0 -386
  1789. package/src/plus/integrations/errors.ts +0 -188
  1790. package/src/plus/integrations/index.ts +0 -231
  1791. package/src/plus/integrations/integrationService.ts +0 -2003
  1792. package/src/plus/integrations/lite.ts +0 -233
  1793. package/src/plus/integrations/manager.ts +0 -728
  1794. package/src/plus/integrations/models/gitHostIntegration.ts +0 -1862
  1795. package/src/plus/integrations/models/integration.ts +0 -1005
  1796. package/src/plus/integrations/models/issueCache.ts +0 -29
  1797. package/src/plus/integrations/models/issueReads.ts +0 -152
  1798. package/src/plus/integrations/models/issuesIntegration.ts +0 -248
  1799. package/src/plus/integrations/models/pullRequestReads.ts +0 -18
  1800. package/src/plus/integrations/providerFilters.ts +0 -36
  1801. package/src/plus/integrations/providers/accounts.ts +0 -38
  1802. package/src/plus/integrations/providers/apiClients.ts +0 -69
  1803. package/src/plus/integrations/providers/apiConfig.ts +0 -71
  1804. package/src/plus/integrations/providers/azure/azure.ts +0 -953
  1805. package/src/plus/integrations/providers/azure/models.ts +0 -723
  1806. package/src/plus/integrations/providers/azureDevOps.ts +0 -1355
  1807. package/src/plus/integrations/providers/bitbucket/bitbucket.ts +0 -904
  1808. package/src/plus/integrations/providers/bitbucket/models.ts +0 -446
  1809. package/src/plus/integrations/providers/bitbucket-server/models.ts +0 -283
  1810. package/src/plus/integrations/providers/bitbucket-server.ts +0 -445
  1811. package/src/plus/integrations/providers/bitbucket.ts +0 -793
  1812. package/src/plus/integrations/providers/github/github.ts +0 -64
  1813. package/src/plus/integrations/providers/github/github.utils.ts +0 -23
  1814. package/src/plus/integrations/providers/github/models.ts +0 -29
  1815. package/src/plus/integrations/providers/github.ts +0 -940
  1816. package/src/plus/integrations/providers/gitlab/gitlab.ts +0 -1320
  1817. package/src/plus/integrations/providers/gitlab/gitlab.utils.ts +0 -80
  1818. package/src/plus/integrations/providers/gitlab/models.ts +0 -271
  1819. package/src/plus/integrations/providers/gitlab.ts +0 -841
  1820. package/src/plus/integrations/providers/issueSorts.ts +0 -89
  1821. package/src/plus/integrations/providers/jira.ts +0 -596
  1822. package/src/plus/integrations/providers/jiraIssueByKey.ts +0 -155
  1823. package/src/plus/integrations/providers/linear.ts +0 -484
  1824. package/src/plus/integrations/providers/models.ts +0 -1833
  1825. package/src/plus/integrations/providers/providerErrors.ts +0 -115
  1826. package/src/plus/integrations/providers/providersApi.ts +0 -1881
  1827. package/src/plus/integrations/providers/pullRequestReviews.ts +0 -122
  1828. package/src/plus/integrations/providers/trello.ts +0 -208
  1829. package/src/plus/integrations/providers/utils/providerPaging.ts +0 -212
  1830. package/src/plus/integrations/providers/utils.ts +0 -419
  1831. package/src/plus/integrations/reads/broaden.ts +0 -704
  1832. package/src/plus/integrations/reads/context.ts +0 -99
  1833. package/src/plus/integrations/reads/counts.ts +0 -610
  1834. package/src/plus/integrations/reads/cursors.ts +0 -224
  1835. package/src/plus/integrations/reads/drains.ts +0 -420
  1836. package/src/plus/integrations/reads/filters.ts +0 -614
  1837. package/src/plus/integrations/reads/hierarchy.ts +0 -486
  1838. package/src/plus/integrations/reads/hierarchy.utils.ts +0 -155
  1839. package/src/plus/integrations/reads/issueBatch.ts +0 -197
  1840. package/src/plus/integrations/reads/issueTracker.ts +0 -556
  1841. package/src/plus/integrations/reads/issues.ts +0 -600
  1842. package/src/plus/integrations/reads/ordering.ts +0 -124
  1843. package/src/plus/integrations/reads/paging.ts +0 -379
  1844. package/src/plus/integrations/reads/pullRequests.ts +0 -260
  1845. package/src/plus/integrations/reads/resolveRepository.ts +0 -275
  1846. package/src/plus/integrations/reads/searchIssues.ts +0 -274
  1847. package/src/plus/integrations/reads/searchPullRequests.ts +0 -235
  1848. package/src/plus/integrations/reads/sweeps.ts +0 -266
  1849. package/src/plus/integrations/reads/trackerIssue.ts +0 -105
  1850. package/src/plus/integrations/reads/warnings.ts +0 -535
  1851. package/src/plus/integrations/results.ts +0 -443
  1852. package/src/plus/integrations/telemetry.ts +0 -29
  1853. package/src/plus/integrations/utils/domain.utils.ts +0 -26
  1854. package/src/plus/integrations/utils/integration.utils.ts +0 -215
  1855. package/src/utils/array.ts +0 -194
  1856. package/src/utils/base64.ts +0 -1
  1857. package/src/utils/brand.ts +0 -7
  1858. package/src/utils/cancellation.ts +0 -199
  1859. package/src/utils/charCode.ts +0 -38
  1860. package/src/utils/coalescedRun.ts +0 -45
  1861. package/src/utils/color.ts +0 -817
  1862. package/src/utils/counter.ts +0 -21
  1863. package/src/utils/crypto.ts +0 -1
  1864. package/src/utils/date.ts +0 -474
  1865. package/src/utils/debounce.ts +0 -303
  1866. package/src/utils/decorators/debounce.ts +0 -31
  1867. package/src/utils/decorators/gate.ts +0 -167
  1868. package/src/utils/decorators/log.ts +0 -320
  1869. package/src/utils/decorators/memoize.ts +0 -98
  1870. package/src/utils/decorators/resolver.ts +0 -95
  1871. package/src/utils/decorators/sequentialize.ts +0 -118
  1872. package/src/utils/decorators/serializable.ts +0 -43
  1873. package/src/utils/dedupedAsyncCache.ts +0 -74
  1874. package/src/utils/diff.ts +0 -61
  1875. package/src/utils/disposable.ts +0 -156
  1876. package/src/utils/encoding.ts +0 -8
  1877. package/src/utils/env/browser/base64.ts +0 -50
  1878. package/src/utils/env/browser/crypto.ts +0 -21
  1879. package/src/utils/env/browser/fs.ts +0 -3
  1880. package/src/utils/env/browser/hex.ts +0 -41
  1881. package/src/utils/env/browser/hrtime.ts +0 -14
  1882. package/src/utils/env/browser/logScope.ts +0 -57
  1883. package/src/utils/env/browser/md5.ts +0 -217
  1884. package/src/utils/env/browser/platform.ts +0 -10
  1885. package/src/utils/env/node/base64.ts +0 -19
  1886. package/src/utils/env/node/crypto.ts +0 -17
  1887. package/src/utils/env/node/exec.ts +0 -488
  1888. package/src/utils/env/node/fs.ts +0 -5
  1889. package/src/utils/env/node/hex.ts +0 -11
  1890. package/src/utils/env/node/hrtime.ts +0 -1
  1891. package/src/utils/env/node/logScope.ts +0 -63
  1892. package/src/utils/env/node/platform.ts +0 -5
  1893. package/src/utils/error.ts +0 -18
  1894. package/src/utils/event.ts +0 -230
  1895. package/src/utils/formatter.ts +0 -198
  1896. package/src/utils/fs.ts +0 -1
  1897. package/src/utils/function.ts +0 -141
  1898. package/src/utils/fuzzy.ts +0 -185
  1899. package/src/utils/hash.ts +0 -60
  1900. package/src/utils/hex.ts +0 -1
  1901. package/src/utils/hrtime.ts +0 -8
  1902. package/src/utils/iterable.ts +0 -797
  1903. package/src/utils/keys/chord.ts +0 -184
  1904. package/src/utils/keys/keybinding.ts +0 -116
  1905. package/src/utils/lazy.ts +0 -39
  1906. package/src/utils/loggable.ts +0 -7
  1907. package/src/utils/logger.scoped.ts +0 -237
  1908. package/src/utils/logger.ts +0 -403
  1909. package/src/utils/lruMap.ts +0 -112
  1910. package/src/utils/markdown.ts +0 -115
  1911. package/src/utils/mru.ts +0 -68
  1912. package/src/utils/object.ts +0 -278
  1913. package/src/utils/paging.ts +0 -97
  1914. package/src/utils/path.ts +0 -204
  1915. package/src/utils/platform.ts +0 -1
  1916. package/src/utils/promise.ts +0 -657
  1917. package/src/utils/promiseCache.ts +0 -908
  1918. package/src/utils/resourceUsage.ts +0 -5
  1919. package/src/utils/searchTree.ts +0 -444
  1920. package/src/utils/stopwatch.ts +0 -125
  1921. package/src/utils/string.ts +0 -1003
  1922. package/src/utils/subscriptionManager.ts +0 -40
  1923. package/src/utils/trie.ts +0 -740
  1924. package/src/utils/types.ts +0 -31
  1925. package/src/utils/uri.ts +0 -118
  1926. package/src/utils/validation.ts +0 -38
  1927. package/src/utils/version.ts +0 -128
@@ -1,842 +1,623 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- import { promises as fs } from 'fs';
8
- import { hostname, userInfo } from 'os';
9
- import { env as process_env } from 'process';
10
- import { WorkspaceUntrustedError } from '../../git/errors.js';
11
- import { gate } from '../../utils/decorators/gate.js';
12
- import { debug, trace } from '../../utils/decorators/log.js';
13
- import { first, some } from '../../utils/iterable.js';
14
- import { Logger } from '../../utils/logger.js';
15
- import { getScopedLogger } from '../../utils/logger.scoped.js';
16
- import { dirname, getBestPath, isAbsolute, joinPaths, normalizePath } from '../../utils/path.js';
17
- import { fileUri } from '../../utils/uri.js';
18
- import { fsExists } from '../exec/exec.js';
1
+ import { first, some } from "../../utils/iterable.js";
2
+ import { Logger as _logger } from "../../utils/logger.js";
3
+ import { getScopedLogger } from "../../utils/logger.scoped.js";
4
+ import { debug, trace } from "../../utils/decorators/log.js";
5
+ import { fileUri } from "../../utils/uri.js";
6
+ import { dirname, getBestPath, isAbsolute, joinPaths, normalizePath } from "../../utils/path.js";
7
+ import __decorate from "../../_virtual/@oxc-project+runtime/helpers/esm/decorate.js";
8
+ import { WorkspaceUntrustedError } from "../../git/errors.js";
9
+ import { fsExists } from "../../utils/env/node/exec.js";
10
+ import { gate } from "../../utils/decorators/gate.js";
11
+ import { hostname, userInfo } from "os";
12
+ import { env } from "process";
13
+ import { promises } from "fs";
14
+ //#region ../git-cli/src/providers/config.ts
19
15
  const mappedAuthorRegex = /(.+)\s<(.+)>/;
20
16
  const emptyArray = Object.freeze([]);
21
17
  /** Catch-all pattern matching every key in `.git/gk/config` for the one-shot bulk read. */
22
- const gkConfigAllPattern = '.';
18
+ const gkConfigAllPattern = ".";
23
19
  /**
24
- * Canonicalizes a git config key for lookup against `--get-regexp` output, which git emits with the
25
- * section and variable-name lowercased and only the subsection case-preserved. Without this a
26
- * subsection-less key like `gk.defaultRemote` would miss the lowercased `gk.defaultremote` in the map.
27
- */
28
- export function canonicalizeGitConfigKey(key) {
29
- const first = key.indexOf('.');
30
- if (first === -1)
31
- return key.toLowerCase();
32
- const last = key.lastIndexOf('.');
33
- // `section.name` (no subsection) → fully lowercased; `section.subsection.name` → lowercase
34
- // section + name, preserve the case-sensitive subsection in the middle.
35
- if (first === last)
36
- return key.toLowerCase();
37
- return `${key.slice(0, first).toLowerCase()}${key.slice(first, last)}${key.slice(last).toLowerCase()}`;
20
+ * Canonicalizes a git config key for lookup against `--get-regexp` output, which git emits with the
21
+ * section and variable-name lowercased and only the subsection case-preserved. Without this a
22
+ * subsection-less key like `gk.defaultRemote` would miss the lowercased `gk.defaultremote` in the map.
23
+ */
24
+ function canonicalizeGitConfigKey(key) {
25
+ const first = key.indexOf(".");
26
+ if (first === -1) return key.toLowerCase();
27
+ const last = key.lastIndexOf(".");
28
+ if (first === last) return key.toLowerCase();
29
+ return `${key.slice(0, first).toLowerCase()}${key.slice(first, last)}${key.slice(last).toLowerCase()}`;
38
30
  }
39
31
  /**
40
- * Parses git config --get-regex output into a Map.
41
- * The output format is "key value" per line, where key and value are space-separated.
42
- *
43
- * A line with NO space at all is git's rendering of a bareword/valueless entry (`key`, no `=`) — git's
44
- * OWN config parser reads that as boolean TRUE (git-config(1): "a variable defined without `= <value>`
45
- * is taken as true"), confirmed against git's `format_config` (builtin/config.c): the key-delimiter is
46
- * appended unconditionally, then backed out ONLY when the stored value is NULL (the bareword case) —
47
- * an explicit empty value (`key =`) is a real, non-NULL empty string, so its line KEEPS the trailing
48
- * space and is already handled by the branch below, byte-distinct from a bareword line.
49
- *
50
- * By default a bareword line is skipped (the historical behavior, which reads as "unset" — wrong, but
51
- * safe); pass `includeValueless` to map it to the literal string `'true'` instead, so `parseGitBoolean`
52
- * and callers checking `.has()` for "configured" both read it correctly.
53
- */
54
- export function parseConfigRegexOutput(data, options) {
55
- const configMap = new Map();
56
- if (!data)
57
- return configMap;
58
- for (const line of data.split('\n')) {
59
- if (!line)
60
- continue;
61
- const spaceIndex = line.indexOf(' ');
62
- if (spaceIndex === -1) {
63
- if (options?.includeValueless) {
64
- configMap.set(line, 'true');
65
- }
66
- continue;
67
- }
68
- configMap.set(line.substring(0, spaceIndex), line.substring(spaceIndex + 1));
69
- }
70
- return configMap;
32
+ * Parses git config --get-regex output into a Map.
33
+ * The output format is "key value" per line, where key and value are space-separated.
34
+ *
35
+ * A line with NO space at all is git's rendering of a bareword/valueless entry (`key`, no `=`) — git's
36
+ * OWN config parser reads that as boolean TRUE (git-config(1): "a variable defined without `= <value>`
37
+ * is taken as true"), confirmed against git's `format_config` (builtin/config.c): the key-delimiter is
38
+ * appended unconditionally, then backed out ONLY when the stored value is NULL (the bareword case) —
39
+ * an explicit empty value (`key =`) is a real, non-NULL empty string, so its line KEEPS the trailing
40
+ * space and is already handled by the branch below, byte-distinct from a bareword line.
41
+ *
42
+ * By default a bareword line is skipped (the historical behavior, which reads as "unset" — wrong, but
43
+ * safe); pass `includeValueless` to map it to the literal string `'true'` instead, so `parseGitBoolean`
44
+ * and callers checking `.has()` for "configured" both read it correctly.
45
+ */
46
+ function parseConfigRegexOutput(data, options) {
47
+ const configMap = /* @__PURE__ */ new Map();
48
+ if (!data) return configMap;
49
+ for (const line of data.split("\n")) {
50
+ if (!line) continue;
51
+ const spaceIndex = line.indexOf(" ");
52
+ if (spaceIndex === -1) {
53
+ if (options?.includeValueless) configMap.set(line, "true");
54
+ continue;
55
+ }
56
+ configMap.set(line.substring(0, spaceIndex), line.substring(spaceIndex + 1));
57
+ }
58
+ return configMap;
71
59
  }
72
- export function parseGitBoolean(value) {
73
- if (value == null)
74
- return false;
75
- const normalized = value.toLowerCase().trim();
76
- return normalized === 'true' || normalized === 'yes' || normalized === 'on' || normalized === '1';
60
+ function parseGitBoolean(value) {
61
+ if (value == null) return false;
62
+ const normalized = value.toLowerCase().trim();
63
+ return normalized === "true" || normalized === "yes" || normalized === "on" || normalized === "1";
77
64
  }
78
65
  /** Whether a git config value spells boolean-false (`false`/`no`/`off`/`0`/empty), per git's maybe-bool parsing. */
79
- export function isGitBooleanFalse(value) {
80
- const normalized = value.toLowerCase().trim();
81
- return (normalized === '' || normalized === 'false' || normalized === 'no' || normalized === 'off' || normalized === '0');
82
- }
83
- export class ConfigGitSubProvider {
84
- context;
85
- git;
86
- cache;
87
- provider;
88
- constructor(context, git, cache, provider) {
89
- this.context = context;
90
- this.git = git;
91
- this.cache = cache;
92
- this.provider = provider;
93
- this.cache.setGkConfigReconciler((repoPath, priorSnapshot) => this.reconcileGkConfig(repoPath, priorSnapshot));
94
- }
95
- /**
96
- * In-flight gk-config reconciles keyed by commonPath. `pending` records that another `'gkConfig'`
97
- * event landed mid-pass, so one trailing pass runs after the current one settles. `paths` holds every
98
- * worktree path that reported the change, mapped to its close generation at that moment — the pass
99
- * reads through one that's still open and notifies all of them.
100
- */
101
- _gkConfigReconciles = new Map();
102
- /**
103
- * Pending `setGkConfig` writes keyed by `(commonPath, key, value, skip-option)`. Concurrent
104
- * callers writing the same `(key, value)` pair share the in-flight Promise so only one
105
- * `git config --set` subprocess actually runs. Cleared on settle.
106
- */
107
- _pendingGkConfigWrites = new Map();
108
- getConfig(repoPath, key, options) {
109
- const global = options?.global || repoPath == null;
110
- return this.cache.getConfig(global ? undefined : repoPath, key, () => this.getConfigCore(repoPath, key, options));
111
- }
112
- async getConfigCore(repoPath, key, options) {
113
- const args = ['config', '--get'];
114
- if (options?.file) {
115
- args.push('-f', options.file);
116
- }
117
- else if (options?.global || repoPath == null) {
118
- args.push('--global');
119
- }
120
- if (options?.type) {
121
- args.push(`--type=${options.type}`);
122
- }
123
- args.push(key);
124
- const result = await this.git.run({ cwd: repoPath ?? '', errors: 'ignore', runLocally: options?.runGitLocally }, ...args);
125
- return result.stdout.trim() || undefined;
126
- }
127
- getConfigRegex(repoPath, pattern, options) {
128
- const global = options?.global || repoPath == null;
129
- return this.cache.getConfigRegex(global ? undefined : repoPath, pattern, () => this.getConfigRegexCore(repoPath, pattern, options));
130
- }
131
- async getConfigRegexCore(repoPath, pattern, options) {
132
- const args = ['config', '--get-regex'];
133
- if (options?.file) {
134
- args.push('-f', options.file);
135
- }
136
- else if (options?.global || repoPath == null) {
137
- args.push('--global');
138
- }
139
- args.push(pattern);
140
- const result = await this.git.run({ cwd: repoPath ?? '', errors: 'ignore', runLocally: options?.runGitLocally }, ...args);
141
- // Deliberately NOT `.trim()`-ed: an explicit-empty value's LAST line ends in a meaningful trailing
142
- // space, and `.trim()`-ing the whole (possibly multi-line) buffer strips it — `parseConfigRegexOutput`
143
- // already skips the blank line a trailing newline produces, so no trim is needed.
144
- return parseConfigRegexOutput(result.stdout);
145
- }
146
- async setConfig(repoPath, key, value, options) {
147
- return this.setConfigCore(repoPath, key, value, options);
148
- }
149
- async setConfigCore(repoPath, key, value, options) {
150
- const args = ['config'];
151
- if (options?.file) {
152
- args.push('-f', options.file);
153
- }
154
- else {
155
- const global = options?.global || repoPath == null;
156
- args.push(global ? '--global' : '--local');
157
- }
158
- if (value == null) {
159
- args.push('--unset', key);
160
- }
161
- else {
162
- args.push(key, value);
163
- }
164
- await this.git.run({ cwd: repoPath ?? '', runLocally: true }, ...args);
165
- // Only invalidate cache when not using a custom file (custom files aren't cached)
166
- if (!options?.file) {
167
- const global = options?.global || repoPath == null;
168
- // Invalidate the cached value for this key and clear all regex patterns for this scope
169
- this.cache.deleteConfig(global ? undefined : repoPath, key);
170
- }
171
- }
172
- async getCurrentUser(repoPath) {
173
- if (!repoPath)
174
- return undefined;
175
- const scope = getScopedLogger();
176
- const cached = this.cache.currentUser.get(repoPath);
177
- if (cached != null)
178
- return cached;
179
- // If we found null, user data was not found - don't bother trying again
180
- if (cached === null)
181
- return undefined;
182
- const user = { name: undefined, email: undefined };
183
- try {
184
- const configMap = await this.getConfigRegex(repoPath, '^user\\.(name|email)$', {
185
- runGitLocally: true,
186
- });
187
- if (configMap.size) {
188
- user.name = configMap.get('user.name');
189
- user.email = configMap.get('user.email');
190
- }
191
- else {
192
- user.name =
193
- process_env.GIT_AUTHOR_NAME || process_env.GIT_COMMITTER_NAME || userInfo()?.username || undefined;
194
- if (!user.name) {
195
- // If we found no user data, mark it so we won't bother trying again
196
- this.cache.currentUser.set(repoPath, null);
197
- return undefined;
198
- }
199
- user.email =
200
- process_env.GIT_AUTHOR_EMAIL ||
201
- process_env.GIT_COMMITTER_EMAIL ||
202
- process_env.EMAIL ||
203
- `${user.name}@${hostname()}`;
204
- }
205
- const author = `${user.name} <${user.email}>`;
206
- // Check if there is a mailmap for the current user
207
- const result = await this.git.run({ cwd: repoPath, errors: 'ignore' }, 'check-mailmap', author);
208
- if (result.stdout && result.stdout !== author) {
209
- const match = mappedAuthorRegex.exec(result.stdout);
210
- if (match != null) {
211
- [, user.name, user.email] = match;
212
- }
213
- }
214
- this.cache.currentUser.set(repoPath, user);
215
- return user;
216
- }
217
- catch (ex) {
218
- scope?.error(ex);
219
- // Mark it so we won't bother trying again
220
- this.cache.currentUser.set(repoPath, null);
221
- return undefined;
222
- }
223
- }
224
- async getDefaultWorktreePath(repoPath) {
225
- const gitDir = await this.getGitDir(repoPath);
226
- if (gitDir == null)
227
- return undefined;
228
- const basePath = (gitDir.commonUri ?? gitDir.uri).fsPath;
229
- return getBestPath(normalizePath(joinPaths(basePath, '..')));
230
- }
231
- async getGitDir(repoPath) {
232
- const cached = this.cache.gitDir.get(repoPath);
233
- if (cached != null)
234
- return cached;
235
- const scope = getScopedLogger();
236
- const repoInfo = await this.getRepositoryInfo(repoPath);
237
- let gitDir;
238
- if (!Array.isArray(repoInfo) && repoInfo != null) {
239
- gitDir = {
240
- uri: fileUri(repoInfo.gitDir),
241
- commonUri: repoInfo.commonGitDir ? fileUri(repoInfo.commonGitDir) : undefined,
242
- parentUri: repoInfo.superprojectPath ? fileUri(repoInfo.superprojectPath) : undefined,
243
- };
244
- }
245
- else {
246
- gitDir = {
247
- uri: this.provider.getAbsoluteUri(joinPaths(repoPath, '.git'), repoPath),
248
- };
249
- const gitDirPath = gitDir.uri.toString(true);
250
- scope?.warn(`rev-parse failed for '${repoPath}'; falling back to '${gitDirPath}'`);
251
- this.context.hooks?.operations?.onGitDirResolveFailed?.(repoPath, gitDirPath, `rev_parse returned ${JSON.stringify(repoInfo)}`);
252
- }
253
- this.cache.gitDir.set(repoPath, gitDir);
254
- return gitDir;
255
- }
256
- /**
257
- * Gets the path to the .git/gk/config file for storing GitKraken-specific metadata.
258
- * Uses commonPath for worktrees so all worktrees share the same data.
259
- */
260
- async getGkConfigPath(repoPath) {
261
- const gitDir = await this.getGitDir(repoPath);
262
- if (gitDir == null)
263
- return undefined;
264
- // Use commonUri (main .git dir) for worktrees, otherwise use uri
265
- const basePath = (gitDir.commonUri ?? gitDir.uri).fsPath;
266
- return joinPaths(basePath, 'gk', 'config');
267
- }
268
- async getGkConfig(repoPath, key) {
269
- // Served in-memory from a single bulk read of the whole `.git/gk/config` (no gk read needs `--type`).
270
- // Canonicalize the key the way git does for `--get-regexp` output so subsection-less keys
271
- // (e.g. `gk.defaultRemote`) match, and coerce an empty value to undefined to match the old
272
- // `git config --get` (`.trim() || undefined`) contract.
273
- return (await this.getGkConfigMap(repoPath)).get(canonicalizeGitConfigKey(key)) || undefined;
274
- }
275
- async getGkConfigRegex(repoPath, pattern) {
276
- const all = await this.getGkConfigMap(repoPath);
277
- // Filter the bulk map in-memory. The old path passed `pattern` to `git config --get-regex`
278
- // (errors ignored → empty result on a bad pattern); preserve that no-throw contract here
279
- // rather than letting an invalid-JS pattern reject the read.
280
- let re;
281
- try {
282
- re = new RegExp(pattern);
283
- }
284
- catch {
285
- return new Map();
286
- }
287
- const result = new Map();
288
- for (const [k, v] of all) {
289
- if (re.test(k)) {
290
- result.set(k, v);
291
- }
292
- }
293
- return result;
294
- }
295
- /**
296
- * Reads the entire `.git/gk/config` in one `git config --get-regexp` and caches the parsed map
297
- * per commonPath. Per-key (getGkConfig) and per-namespace (getGkConfigRegex) lookups are served
298
- * from this single cached read — so a branch-overview render that fans out across several gk
299
- * namespaces costs one `git config` call instead of one per namespace.
300
- */
301
- async getGkConfigMap(repoPath) {
302
- // Migrate BEFORE populating the cache, not inside the factory: a first-time migration calls
303
- // clearCaches('gkConfig'), which would otherwise evict the in-flight gkConfigMap entry the
304
- // cache wrapper synchronously stored and force a redundant bulk re-read.
305
- await this.migrateGkConfigFromGitConfig(this.cache.getCommonPath(repoPath));
306
- return this.cache.getGkConfigMap(repoPath, async (cacheable) => {
307
- const { map, failed } = await this.getGkConfigRegexCore(repoPath, gkConfigAllPattern);
308
- // This map has no TTL and everything gk-related reads through it, so a failed read cached as an
309
- // empty map would report every branch as having no stored base or merge target for the session —
310
- // and would make the section-cleanup pre-checks skip real work. Only cache a read that happened.
311
- if (failed) {
312
- cacheable.invalidate();
313
- }
314
- return map;
315
- });
316
- }
317
- async getGkConfigRegexCore(repoPath, pattern) {
318
- const gkConfigPath = await this.getGkConfigPath(repoPath);
319
- // No `.git/gk/config` yet is a real answer, not a failure — a repo GitLens has never written to.
320
- if (!gkConfigPath)
321
- return { map: new Map(), failed: false };
322
- const result = await this.git.run({ cwd: repoPath, errors: 'ignore', runLocally: true }, 'config', '--get-regex', '-f', gkConfigPath, pattern);
323
- // `--get-regex` exits 1 when nothing matches, which IS an answer (an empty gk config).
324
- const exited = result.completion.status === 'exited';
325
- return {
326
- // Deliberately NOT `.trim()`-ed — see `getConfigRegexCore`'s comment: it strips the trailing
327
- // space that marks an explicit-empty value's LAST line, silently dropping it from the map.
328
- map: parseConfigRegexOutput(result.stdout),
329
- failed: !exited || (result.exitCode !== 0 && result.exitCode !== 1),
330
- };
331
- }
332
- async setGkConfig(repoPath, key, value, options) {
333
- // Encode the skip-invalidation option in the dedup key: a self-write (with skip targets)
334
- // and a user-driven write of the same `(key, value)` (no skip targets) have different
335
- // cache-invalidation semantics, so sharing their Promise would silently let the user-driven
336
- // write skip invalidation. Sort the array so callers passing the same targets in different
337
- // orders share a single in-flight write.
338
- const commonPath = this.cache.getCommonPath(repoPath);
339
- const skipKey = options?.skipInvalidation?.length ? options.skipInvalidation.toSorted().join(',') : '';
340
- const dedupKey = `${commonPath}\0${key}\0${value ?? ''}\0${skipKey}`;
341
- const pending = this._pendingGkConfigWrites.get(dedupKey);
342
- if (pending != null)
343
- return pending;
344
- const promise = this.setGkConfigCore(repoPath, key, value, options);
345
- this._pendingGkConfigWrites.set(dedupKey, promise);
346
- // Swallow the cleanup chain's rejection so a failed write doesn't surface as an unhandled
347
- // rejection separate from the caller's own handling of the returned promise.
348
- void promise.finally(() => this._pendingGkConfigWrites.delete(dedupKey)).catch(() => { });
349
- return promise;
350
- }
351
- async setGkConfigCore(repoPath, key, value, options) {
352
- const scope = getScopedLogger();
353
- const gkConfigPath = await this.getGkConfigPath(repoPath);
354
- if (!gkConfigPath)
355
- return;
356
- const gkConfigFolder = joinPaths(gkConfigPath, '..');
357
- if (!(await this.ensureGkConfigFolder(gkConfigFolder, scope)))
358
- return;
359
- await this.setConfigCore(repoPath, key, value, { file: gkConfigPath });
360
- // Invalidate the bulk map (so the next read re-fetches) and the derived caches for this key's
361
- // ref. The `.git/gk/config` file-watcher also fires `'gkConfig'` shortly after, which reconciles
362
- // the same change (see `reconcileGkConfig`) — recording our own write here keeps that later
363
- // reconcile from re-diffing this key as an external change.
364
- this.cache.deleteGkConfig(repoPath, key, options);
365
- this.cache.recordGkConfigWrite(repoPath, key, value);
366
- }
367
- async removeGkConfigBranchSection(repoPath, ref) {
368
- await this.runGkConfigSectionCommand(repoPath, ref, '--remove-section', `branch.${ref}`);
369
- }
370
- async renameGkConfigBranchSection(repoPath, oldRef, newRef) {
371
- // Clear the destination first, unconditionally. `--rename-section` onto a section that already
372
- // exists APPENDS rather than replaces, leaving duplicate keys — and git resolves a duplicated key
373
- // to its LAST value, so the orphan left by an earlier branch of this name would win over the
374
- // metadata being moved. Doing this outside `runGkConfigSectionCommand` also covers the case where
375
- // the source has no gk keys at all, where its pre-check would otherwise skip the whole call and
376
- // leave the orphan in place for the renamed branch to inherit.
377
- await this.removeGkConfigBranchSection(repoPath, newRef);
378
- await this.runGkConfigSectionCommand(repoPath, oldRef, '--rename-section', `branch.${oldRef}`, `branch.${newRef}`);
379
- }
380
- /**
381
- * Runs a section-level `git config` against `.git/gk/config` for `ref`'s section, skipping the
382
- * subprocess entirely when the bulk map (already cached on any warm path) shows that ref has no gk
383
- * keys — the overwhelmingly common case, since most branches never get gk metadata written at all.
384
- *
385
- * Never throws: callers invoke this as bookkeeping after a branch op has already succeeded, so a
386
- * failure here must not be reported as (or roll back) the branch/checkout/worktree operation itself.
387
- * The worst case is metadata that stays behind until the next op on that name.
388
- */
389
- async runGkConfigSectionCommand(repoPath, ref, ...args) {
390
- const scope = getScopedLogger();
391
- try {
392
- const prefix = `branch.${ref}.`;
393
- const map = await this.getGkConfigMap(repoPath);
394
- // The shortcut needs a map with CONTENT to be trustworthy. A failed bulk read resolves empty
395
- // (see `getGkConfigMap`) — the cache refuses it, but this caller still holds it — and an empty map
396
- // read as authoritative would skip the removal entirely, leaving a deleted branch's base,
397
- // disposition and issue links behind for the next branch reusing that name. When it's empty, run
398
- // the command: worst case is a no-op on a section that isn't there.
399
- if (map.size && !some(map.keys(), k => k.startsWith(prefix)))
400
- return;
401
- const gkConfigPath = await this.getGkConfigPath(repoPath);
402
- if (!gkConfigPath)
403
- return;
404
- // `getGkConfigPath` only joins a path, so check the file: with no `.git/gk/config` there is
405
- // genuinely nothing to remove, and running the command would fail with a fatal we'd then warn
406
- // about on every branch delete in a repo that has never had gk metadata.
407
- if (!(await fsExists(gkConfigPath)))
408
- return;
409
- const result = await this.git.run({ cwd: repoPath, runLocally: true, errors: 'ignore' }, 'config', '-f', gkConfigPath, ...args);
410
- // `errors: 'ignore'` is deliberate — see the note above on why this must never throw — but that
411
- // also means the `catch` below never sees a failed write, so without this the metadata silently
412
- // stays behind (or, on a rename, stays under the old name) with nothing recorded anywhere.
413
- // Reported, not thrown: the branch op it follows has already succeeded.
414
- if (result.completion.status !== 'exited' || result.exitCode !== 0) {
415
- scope?.warn(`Failed to update gk config section for '${ref}' in '${repoPath}': ${result.completion.status === 'exited'
416
- ? `git config exited ${result.exitCode}`
417
- : `${result.completion.status} · ${result.completion.error.message}`}`);
418
- }
419
- // A whole section moved or vanished, which the per-key `deleteGkConfig` cascade can't express.
420
- // Drop the bulk map so the next read hits disk; the derived caches for the affected ref are
421
- // evicted by the caller's own `deleteBaseBranchName` plus the `'branches'` cascade it fires.
422
- this.cache.deleteGkConfigMap(repoPath);
423
- }
424
- catch (ex) {
425
- scope?.error(ex, `Failed to update gk config section for '${ref}' in '${repoPath}'`);
426
- }
427
- }
428
- /**
429
- * Reconciles a watcher-observed `'gkConfig'` change — registered with the shared `Cache` as its
430
- * gk-config reconciler (see the constructor). Re-reads the bulk map (hard-evicted by
431
- * `Cache.handleGkConfigChanged`, so this hits disk) and diffs it against `priorSnapshot` to cascade
432
- * `baseBranchName`/`branchOverviews` only for refs whose merge-relevant keys actually changed.
433
- *
434
- * Serialized per commonPath: a reconcile is a read-then-diff against a single shared baseline, so
435
- * two overlapping passes would both diff against the same snapshot and the later change could fall
436
- * out entirely. An event arriving mid-pass instead queues one trailing pass, which re-reads and
437
- * diffs against the baseline the previous pass just established.
438
- *
439
- * `.git/gk/config` lives in the common dir, so the watcher delivers one event per worktree sharing it
440
- * (see `WatchGroup.onCommonEvent`). Siblings never run concurrently — the later ones fold into the
441
- * in-flight pass — but folding in arms the trailing pass, so a fan-out costs one extra read that
442
- * re-reads and diffs an unchanged file. However many siblings land while a pass is running, they
443
- * coalesce into that single trailing pass; the cost is the price of never dropping a real change.
444
- * Every reporting path is retained because `Repository` matches the follow-up change event on exact
445
- * path, and a sibling worktree that never receives one would sit on stale derived values.
446
- */
447
- reconcileGkConfig(repoPath, priorSnapshot) {
448
- const commonPath = this.cache.getCommonPath(repoPath);
449
- const inflight = this._gkConfigReconciles.get(commonPath);
450
- if (inflight != null) {
451
- inflight.paths.set(repoPath, this.cache.getCloseGeneration(repoPath));
452
- inflight.pending = true;
453
- // Handed to the in-flight pass's trailing loop, so it IS being reconciled — just not by this
454
- // call. Reporting a failure here would coarse-clear on every write in a burst.
455
- return 'deferred';
456
- }
457
- const entry = { pending: false, paths: new Map([[repoPath, this.cache.getCloseGeneration(repoPath)]]) };
458
- this._gkConfigReconciles.set(commonPath, entry);
459
- return this.runGkConfigReconcile(commonPath, priorSnapshot, entry);
460
- }
461
- /** Drops paths that closed since they reported the change; returns whichever remain. */
462
- pruneClosedReconcilePaths(paths) {
463
- for (const [path, generation] of paths) {
464
- if (this.cache.getCloseGeneration(path) !== generation) {
465
- paths.delete(path);
466
- }
467
- }
468
- return paths;
469
- }
470
- async runGkConfigReconcile(commonPath, priorSnapshot, entry) {
471
- const scope = getScopedLogger();
472
- let snapshot = priorSnapshot;
473
- try {
474
- do {
475
- entry.pending = false;
476
- // Read through a path that's still open — one worktree closing must not drop the event for
477
- // its still-open siblings, which is why this reads from the surviving set rather than from
478
- // whichever path happened to report first.
479
- const readPath = first(this.pruneClosedReconcilePaths(entry.paths).keys());
480
- // Every path that reported the change has since closed — nothing left to reconcile, and
481
- // nothing left holding a stale derived value either.
482
- if (readPath == null)
483
- return 'reconciled';
484
- // A trailing pass must not reuse the entry the pass before it installed.
485
- this.cache.deleteGkConfigMap(readPath);
486
- const freshMap = await this.getGkConfigMap(readPath);
487
- // Paths may have closed while the re-read was in flight; if every one did, there's nothing
488
- // left to reconcile against.
489
- if (!this.pruneClosedReconcilePaths(entry.paths).size)
490
- return 'reconciled';
491
- if (this.cache.reconcileGkConfigMap(readPath, snapshot, freshMap)) {
492
- // Fire a follow-up change: a consumer that re-read on the original event may have done so
493
- // before this async cascade landed, so it would otherwise hold a stale derived value with
494
- // nothing left to prompt another re-read.
495
- for (const path of entry.paths.keys()) {
496
- this.context.hooks?.repository?.onChanged?.(path, ['gkConfig']);
497
- }
498
- }
499
- // `reconcileGkConfigMap` advanced the stored baseline to what we just read; a trailing pass
500
- // diffs its own read against that.
501
- snapshot = this.cache.getGkConfigMergeSnapshot(readPath);
502
- } while (entry.pending);
503
- return 'reconciled';
504
- }
505
- catch (ex) {
506
- scope?.error(ex, `Failed to reconcile gk config for '${commonPath}'`);
507
- // The caller falls back to the coarse clear — derived caches are otherwise left holding
508
- // pre-change values with nothing to correct them.
509
- return 'failed';
510
- }
511
- finally {
512
- this._gkConfigReconciles.delete(commonPath);
513
- }
514
- }
515
- async getSigningConfig(repoPath) {
516
- // Fetch all signing-related config in one call
517
- const configMap = await this.getConfigRegex(repoPath, '^(commit\\.gpgsign|gpg\\.format|user\\.signingkey|gpg\\.program|gpg\\.ssh\\.program|gpg\\.ssh\\.allowedsignersfile)$');
518
- // Extract values (keys are lowercase in git output)
519
- const enabledRaw = configMap.get('commit.gpgsign');
520
- const format = configMap.get('gpg.format');
521
- const signingKey = configMap.get('user.signingkey');
522
- const gpgProgram = configMap.get('gpg.program');
523
- const sshProgram = configMap.get('gpg.ssh.program');
524
- const allowedSignersFile = configMap.get('gpg.ssh.allowedsignersfile');
525
- // Check if git config has commit signing enabled, falling back to the host-level override
526
- // (e.g. VS Code's `git.enableCommitSigning`) when `commit.gpgsign` is unset/false. The host
527
- // override can only enable signing, never force it off.
528
- const isEnabled = parseGitBoolean(enabledRaw) || this.context.config?.signing?.enabled === true;
529
- return {
530
- enabled: isEnabled,
531
- format: format ?? 'gpg',
532
- signingKey: signingKey,
533
- gpgProgram: gpgProgram,
534
- sshProgram: sshProgram,
535
- allowedSignersFile: allowedSignersFile,
536
- };
537
- }
538
- async validateSigningSetup(repoPath) {
539
- const config = await this.getSigningConfig(repoPath);
540
- if (!config.signingKey) {
541
- return { valid: false, error: 'No signing key configured' };
542
- }
543
- // Basic validation: just check that a signing key is configured
544
- // Git will handle the actual validation when signing commits
545
- return { valid: true };
546
- }
547
- async setSigningConfig(repoPath, config, options) {
548
- const scope = getScopedLogger();
549
- try {
550
- if (config.enabled != null) {
551
- await this.setConfig(repoPath, 'commit.gpgsign', config.enabled ? 'true' : 'false', options);
552
- }
553
- if (config.format != null) {
554
- await this.setConfig(repoPath, 'gpg.format', config.format, options);
555
- }
556
- if (config.signingKey != null) {
557
- await this.setConfig(repoPath, 'user.signingkey', config.signingKey, options);
558
- }
559
- if (config.gpgProgram != null) {
560
- await this.setConfig(repoPath, 'gpg.program', config.gpgProgram, options);
561
- }
562
- if (config.sshProgram != null) {
563
- await this.setConfig(repoPath, 'gpg.ssh.program', config.sshProgram, options);
564
- }
565
- if (config.allowedSignersFile != null) {
566
- await this.setConfig(repoPath, 'gpg.ssh.allowedSignersFile', config.allowedSignersFile, options);
567
- }
568
- }
569
- catch (ex) {
570
- scope?.error(ex);
571
- throw ex;
572
- }
573
- }
574
- getSigningConfigFlags(config) {
575
- const flags = [];
576
- if (config.gpgProgram) {
577
- flags.push('-c', `gpg.program=${config.gpgProgram}`);
578
- }
579
- if (config.format && config.format !== 'gpg') {
580
- flags.push('-c', `gpg.format=${config.format}`);
581
- }
582
- if (config.sshProgram) {
583
- flags.push('-c', `gpg.ssh.program=${config.sshProgram}`);
584
- }
585
- if (config.allowedSignersFile) {
586
- flags.push('-c', `gpg.ssh.allowedSignersFile=${config.allowedSignersFile}`);
587
- }
588
- return flags;
589
- }
590
- async getRepositoryInfo(cwd) {
591
- let result;
592
- if (this.context.workspace?.isTrusted === false) {
593
- try {
594
- await fs.stat(joinPaths(cwd, 'HEAD'));
595
- result = await this.git.run({ cwd: cwd, errors: 'throw', configs: ['-C', cwd] }, 'rev-parse', '--show-cdup');
596
- if (!result.stdout.trim()) {
597
- Logger.warn(`Skipping (untrusted); bare clone repository detected in '${cwd}'`);
598
- return emptyArray;
599
- }
600
- }
601
- catch {
602
- // If this throws, we should be good to open the repo
603
- }
604
- }
605
- try {
606
- result = await this.git.run({ cwd: cwd, errors: 'throw' }, 'rev-parse', '--show-toplevel', '--git-dir', '--git-common-dir', '--show-superproject-working-tree');
607
- if (!result.stdout)
608
- return emptyArray;
609
- // Output is 3-4 lines: show-toplevel, git-dir, git-common-dir, [show-superproject-working-tree]
610
- // The 4th line is only present for submodules
611
- const lines = result.stdout.split('\n').map(r => r.trimStart());
612
- const [repoPath, dotGitPath, commonDotGitPath, superprojectPath] = lines;
613
- if (!repoPath)
614
- return emptyArray;
615
- const normalizedRepoPath = normalizePath(repoPath.replace(/[\r|\n]+$/, ''));
616
- let gitDir = dotGitPath;
617
- if (gitDir && !isAbsolute(gitDir)) {
618
- gitDir = joinPaths(cwd, gitDir);
619
- }
620
- gitDir = normalizePath(gitDir);
621
- let commonGitDir;
622
- if (commonDotGitPath) {
623
- commonGitDir = commonDotGitPath;
624
- if (!isAbsolute(commonGitDir)) {
625
- commonGitDir = joinPaths(cwd, commonGitDir);
626
- }
627
- commonGitDir = normalizePath(commonGitDir);
628
- if (commonGitDir === gitDir) {
629
- commonGitDir = undefined;
630
- }
631
- }
632
- return {
633
- repoPath: normalizedRepoPath,
634
- gitDir: gitDir,
635
- commonGitDir: commonGitDir,
636
- superprojectPath: superprojectPath?.trim() || undefined,
637
- };
638
- }
639
- catch (ex) {
640
- if (ex instanceof WorkspaceUntrustedError)
641
- return emptyArray;
642
- const unsafeMatch = /(?:^fatal:\s*detected dubious ownership in repository at '([^']+)'|unsafe repository \('([^']+)' is owned by someone else\))[\s\S]*(git config --global --add safe\.directory [^\n\u2022]+)/m.exec(ex.stderr);
643
- if (unsafeMatch != null) {
644
- Logger.warn(`Skipping; unsafe repository detected in '${unsafeMatch[1] || unsafeMatch[2]}'; run '${unsafeMatch[3]}' to allow it`);
645
- return [false];
646
- }
647
- const inDotGit = /this operation must be run in a work tree/.test(ex.stderr);
648
- if (inDotGit && this.context.workspace?.isTrusted !== false) {
649
- result = await this.git.run({ cwd: cwd, errors: 'ignore' }, 'rev-parse', '--is-bare-repository');
650
- if (result.stdout.trim() === 'true') {
651
- const result = await this.revParseGitDir(cwd);
652
- const repoPath = result?.commonPath ?? result?.path;
653
- if (repoPath?.length)
654
- return [true, repoPath];
655
- }
656
- }
657
- if (inDotGit || ex.code === 'ENOENT') {
658
- let exists = inDotGit ? false : await fsExists(cwd);
659
- if (!exists) {
660
- do {
661
- const parent = dirname(cwd);
662
- if (parent === cwd || parent.length === 0)
663
- return emptyArray;
664
- cwd = parent;
665
- exists = await fsExists(cwd);
666
- } while (!exists);
667
- return this.getRepositoryInfo(cwd);
668
- }
669
- }
670
- return emptyArray;
671
- }
672
- }
673
- async revParseGitDir(cwd) {
674
- const result = await this.git.run({ cwd: cwd, errors: 'ignore' }, 'rev-parse', '--git-dir', '--git-common-dir');
675
- if (!result.stdout)
676
- return undefined;
677
- let [dotGitPath, commonDotGitPath] = result.stdout.split('\n').map(r => r.trimStart());
678
- if (!isAbsolute(dotGitPath)) {
679
- dotGitPath = joinPaths(cwd, dotGitPath);
680
- }
681
- dotGitPath = normalizePath(dotGitPath);
682
- if (commonDotGitPath) {
683
- if (!isAbsolute(commonDotGitPath)) {
684
- commonDotGitPath = joinPaths(cwd, commonDotGitPath);
685
- }
686
- commonDotGitPath = normalizePath(commonDotGitPath);
687
- return { path: dotGitPath, commonPath: commonDotGitPath !== dotGitPath ? commonDotGitPath : undefined };
688
- }
689
- return { path: dotGitPath };
690
- }
691
- /**
692
- * Ensures the `.git/gk/` folder exists, but only if the parent `.git` directory already exists.
693
- * This prevents creating stray `.git` directories if the computed path is wrong.
694
- * Returns `true` if the folder was ensured, `false` if the parent `.git` does not exist.
695
- */
696
- async ensureGkConfigFolder(gkConfigFolder, scope) {
697
- // Verify the .git directory already exists — never create it from scratch
698
- const dotGitDir = joinPaths(gkConfigFolder, '..');
699
- try {
700
- await fs.stat(dotGitDir);
701
- }
702
- catch {
703
- scope?.warn(`Skipping GK config write — expected git directory '${dotGitDir}' does not exist`);
704
- return false;
705
- }
706
- try {
707
- await fs.mkdir(gkConfigFolder, { recursive: true });
708
- }
709
- catch (ex) {
710
- scope?.error(ex, `Failed to create '${gkConfigFolder}' directory`);
711
- return false;
712
- }
713
- return true;
714
- }
715
- _migratedRepos = new Set();
716
- /**
717
- * One-time migration of GK config entries from regular git config to `.git/gk/config`.
718
- * If `.git/gk/config` already exists, assumes migration is complete (or data is already there).
719
- * Preserves existing `.git/gk/config` values as source of truth (won't overwrite).
720
- * Removes migrated keys from regular git config to stop cluttering it.
721
- */
722
- async migrateGkConfigFromGitConfig(repoPath) {
723
- if (this._migratedRepos.has(repoPath))
724
- return;
725
- const scope = getScopedLogger();
726
- const gkConfigPath = await this.getGkConfigPath(repoPath);
727
- if (!gkConfigPath) {
728
- this._migratedRepos.add(repoPath);
729
- return;
730
- }
731
- const gkConfigFolder = joinPaths(gkConfigPath, '..');
732
- // If .git/gk/config already exists, consider migration done — it was either
733
- // already migrated or values were written there directly via setGkConfig
734
- try {
735
- await fs.stat(gkConfigPath);
736
- this._migratedRepos.add(repoPath);
737
- return;
738
- }
739
- catch {
740
- // file doesn't exist, proceed with migration
741
- }
742
- // If .git/gk/config doesn't exist, create an empty file to prevent multiple migration attempts in future sessions
743
- if (!(await this.ensureGkConfigFolder(gkConfigFolder, scope)))
744
- return;
745
- try {
746
- await fs.writeFile(gkConfigPath, new Uint8Array());
747
- }
748
- catch (ex) {
749
- scope?.error(ex, `Failed to create '${gkConfigPath}' file`);
750
- }
751
- // Read legacy gk-* keys from regular git config
752
- let migrateConfig;
753
- try {
754
- migrateConfig = await this.getConfigRegexCore(repoPath, '^branch\\..*\\.gk-', { runGitLocally: true });
755
- }
756
- catch (ex) {
757
- scope?.error(ex, 'Failed to read legacy GK config entries');
758
- this._migratedRepos.add(repoPath);
759
- return;
760
- }
761
- if (!migrateConfig.size) {
762
- this._migratedRepos.add(repoPath);
763
- return;
764
- }
765
- scope?.info(`Migrating ${String(migrateConfig.size)} GK config entries from git config to .git/gk/config`);
766
- // Copy legacy entries to .git/gk/config
767
- for (const [key, value] of [...migrateConfig]) {
768
- try {
769
- await this.setConfigCore(repoPath, key, value, { file: gkConfigPath });
770
- }
771
- catch (ex) {
772
- scope?.error(ex, `Failed to migrate key '${key}' to GK config`);
773
- // If we failed to migrate, delete it from the list so we won't try to remove it from git config later
774
- migrateConfig.delete(key);
775
- }
776
- }
777
- // Remove legacy keys from regular git config (use --unset-all defensively)
778
- for (const [key] of migrateConfig) {
779
- try {
780
- await this.git.run({ cwd: repoPath, errors: 'ignore', runLocally: true }, 'config', '--local', '--unset-all', key);
781
- }
782
- catch (ex) {
783
- scope?.error(ex, `Failed to remove migrated key '${key}' from git config`);
784
- }
785
- }
786
- // Clear caches since we modified both config files
787
- this.cache.clearCaches(repoPath, 'config', 'gkConfig');
788
- this._migratedRepos.add(repoPath);
789
- }
66
+ function isGitBooleanFalse(value) {
67
+ const normalized = value.toLowerCase().trim();
68
+ return normalized === "" || normalized === "false" || normalized === "no" || normalized === "off" || normalized === "0";
790
69
  }
791
- __decorate([
792
- trace()
793
- ], ConfigGitSubProvider.prototype, "getConfig", null);
794
- __decorate([
795
- trace()
796
- ], ConfigGitSubProvider.prototype, "getConfigRegex", null);
797
- __decorate([
798
- debug()
799
- ], ConfigGitSubProvider.prototype, "setConfig", null);
800
- __decorate([
801
- gate(),
802
- debug()
803
- ], ConfigGitSubProvider.prototype, "getCurrentUser", null);
804
- __decorate([
805
- gate(),
806
- trace({ exit: r => `returned ${r}` })
807
- ], ConfigGitSubProvider.prototype, "getDefaultWorktreePath", null);
808
- __decorate([
809
- gate(),
810
- trace({
811
- exit: r => `returned ${r.uri.toString(true)}, commonUri=${r.commonUri?.toString(true)}, parentUri=${r.parentUri?.toString(true)}`,
812
- })
813
- ], ConfigGitSubProvider.prototype, "getGitDir", null);
814
- __decorate([
815
- debug()
816
- ], ConfigGitSubProvider.prototype, "getGkConfig", null);
817
- __decorate([
818
- debug()
819
- ], ConfigGitSubProvider.prototype, "getGkConfigRegex", null);
820
- __decorate([
821
- debug()
822
- ], ConfigGitSubProvider.prototype, "setGkConfig", null);
823
- __decorate([
824
- debug()
825
- ], ConfigGitSubProvider.prototype, "removeGkConfigBranchSection", null);
826
- __decorate([
827
- debug()
828
- ], ConfigGitSubProvider.prototype, "renameGkConfigBranchSection", null);
829
- __decorate([
830
- debug()
831
- ], ConfigGitSubProvider.prototype, "getSigningConfig", null);
832
- __decorate([
833
- debug()
834
- ], ConfigGitSubProvider.prototype, "validateSigningSetup", null);
835
- __decorate([
836
- debug()
837
- ], ConfigGitSubProvider.prototype, "setSigningConfig", null);
838
- __decorate([
839
- gate(),
840
- debug()
841
- ], ConfigGitSubProvider.prototype, "migrateGkConfigFromGitConfig", null);
70
+ var ConfigGitSubProvider = class {
71
+ context;
72
+ git;
73
+ cache;
74
+ provider;
75
+ constructor(context, git, cache, provider) {
76
+ this.context = context;
77
+ this.git = git;
78
+ this.cache = cache;
79
+ this.provider = provider;
80
+ this.cache.setGkConfigReconciler((repoPath, priorSnapshot) => this.reconcileGkConfig(repoPath, priorSnapshot));
81
+ }
82
+ /**
83
+ * In-flight gk-config reconciles keyed by commonPath. `pending` records that another `'gkConfig'`
84
+ * event landed mid-pass, so one trailing pass runs after the current one settles. `paths` holds every
85
+ * worktree path that reported the change, mapped to its close generation at that moment — the pass
86
+ * reads through one that's still open and notifies all of them.
87
+ */
88
+ _gkConfigReconciles = /* @__PURE__ */ new Map();
89
+ /**
90
+ * Pending `setGkConfig` writes keyed by `(commonPath, key, value, skip-option)`. Concurrent
91
+ * callers writing the same `(key, value)` pair share the in-flight Promise so only one
92
+ * `git config --set` subprocess actually runs. Cleared on settle.
93
+ */
94
+ _pendingGkConfigWrites = /* @__PURE__ */ new Map();
95
+ getConfig(repoPath, key, options) {
96
+ const global = options?.global || repoPath == null;
97
+ return this.cache.getConfig(global ? void 0 : repoPath, key, () => this.getConfigCore(repoPath, key, options));
98
+ }
99
+ async getConfigCore(repoPath, key, options) {
100
+ const args = ["config", "--get"];
101
+ if (options?.file) args.push("-f", options.file);
102
+ else if (options?.global || repoPath == null) args.push("--global");
103
+ if (options?.type) args.push(`--type=${options.type}`);
104
+ args.push(key);
105
+ return (await this.git.run({
106
+ cwd: repoPath ?? "",
107
+ errors: "ignore",
108
+ runLocally: options?.runGitLocally
109
+ }, ...args)).stdout.trim() || void 0;
110
+ }
111
+ getConfigRegex(repoPath, pattern, options) {
112
+ const global = options?.global || repoPath == null;
113
+ return this.cache.getConfigRegex(global ? void 0 : repoPath, pattern, () => this.getConfigRegexCore(repoPath, pattern, options));
114
+ }
115
+ async getConfigRegexCore(repoPath, pattern, options) {
116
+ const args = ["config", "--get-regex"];
117
+ if (options?.file) args.push("-f", options.file);
118
+ else if (options?.global || repoPath == null) args.push("--global");
119
+ args.push(pattern);
120
+ return parseConfigRegexOutput((await this.git.run({
121
+ cwd: repoPath ?? "",
122
+ errors: "ignore",
123
+ runLocally: options?.runGitLocally
124
+ }, ...args)).stdout);
125
+ }
126
+ async setConfig(repoPath, key, value, options) {
127
+ return this.setConfigCore(repoPath, key, value, options);
128
+ }
129
+ async setConfigCore(repoPath, key, value, options) {
130
+ const args = ["config"];
131
+ if (options?.file) args.push("-f", options.file);
132
+ else {
133
+ const global = options?.global || repoPath == null;
134
+ args.push(global ? "--global" : "--local");
135
+ }
136
+ if (value == null) args.push("--unset", key);
137
+ else args.push(key, value);
138
+ await this.git.run({
139
+ cwd: repoPath ?? "",
140
+ runLocally: true
141
+ }, ...args);
142
+ if (!options?.file) {
143
+ const global = options?.global || repoPath == null;
144
+ this.cache.deleteConfig(global ? void 0 : repoPath, key);
145
+ }
146
+ }
147
+ async getCurrentUser(repoPath) {
148
+ if (!repoPath) return void 0;
149
+ const scope = getScopedLogger();
150
+ const cached = this.cache.currentUser.get(repoPath);
151
+ if (cached != null) return cached;
152
+ if (cached === null) return void 0;
153
+ const user = {
154
+ name: void 0,
155
+ email: void 0
156
+ };
157
+ try {
158
+ const configMap = await this.getConfigRegex(repoPath, "^user\\.(name|email)$", { runGitLocally: true });
159
+ if (configMap.size) {
160
+ user.name = configMap.get("user.name");
161
+ user.email = configMap.get("user.email");
162
+ } else {
163
+ user.name = env.GIT_AUTHOR_NAME || env.GIT_COMMITTER_NAME || userInfo()?.username || void 0;
164
+ if (!user.name) {
165
+ this.cache.currentUser.set(repoPath, null);
166
+ return;
167
+ }
168
+ user.email = env.GIT_AUTHOR_EMAIL || env.GIT_COMMITTER_EMAIL || env.EMAIL || `${user.name}@${hostname()}`;
169
+ }
170
+ const author = `${user.name} <${user.email}>`;
171
+ const result = await this.git.run({
172
+ cwd: repoPath,
173
+ errors: "ignore"
174
+ }, "check-mailmap", author);
175
+ if (result.stdout && result.stdout !== author) {
176
+ const match = mappedAuthorRegex.exec(result.stdout);
177
+ if (match != null) [, user.name, user.email] = match;
178
+ }
179
+ this.cache.currentUser.set(repoPath, user);
180
+ return user;
181
+ } catch (ex) {
182
+ scope?.error(ex);
183
+ this.cache.currentUser.set(repoPath, null);
184
+ return;
185
+ }
186
+ }
187
+ async getDefaultWorktreePath(repoPath) {
188
+ const gitDir = await this.getGitDir(repoPath);
189
+ if (gitDir == null) return void 0;
190
+ const basePath = (gitDir.commonUri ?? gitDir.uri).fsPath;
191
+ return getBestPath(normalizePath(joinPaths(basePath, "..")));
192
+ }
193
+ async getGitDir(repoPath) {
194
+ const cached = this.cache.gitDir.get(repoPath);
195
+ if (cached != null) return cached;
196
+ const scope = getScopedLogger();
197
+ const repoInfo = await this.getRepositoryInfo(repoPath);
198
+ let gitDir;
199
+ if (!Array.isArray(repoInfo) && repoInfo != null) gitDir = {
200
+ uri: fileUri(repoInfo.gitDir),
201
+ commonUri: repoInfo.commonGitDir ? fileUri(repoInfo.commonGitDir) : void 0,
202
+ parentUri: repoInfo.superprojectPath ? fileUri(repoInfo.superprojectPath) : void 0
203
+ };
204
+ else {
205
+ gitDir = { uri: this.provider.getAbsoluteUri(joinPaths(repoPath, ".git"), repoPath) };
206
+ const gitDirPath = gitDir.uri.toString(true);
207
+ scope?.warn(`rev-parse failed for '${repoPath}'; falling back to '${gitDirPath}'`);
208
+ this.context.hooks?.operations?.onGitDirResolveFailed?.(repoPath, gitDirPath, `rev_parse returned ${JSON.stringify(repoInfo)}`);
209
+ }
210
+ this.cache.gitDir.set(repoPath, gitDir);
211
+ return gitDir;
212
+ }
213
+ /**
214
+ * Gets the path to the .git/gk/config file for storing GitKraken-specific metadata.
215
+ * Uses commonPath for worktrees so all worktrees share the same data.
216
+ */
217
+ async getGkConfigPath(repoPath) {
218
+ const gitDir = await this.getGitDir(repoPath);
219
+ if (gitDir == null) return void 0;
220
+ const basePath = (gitDir.commonUri ?? gitDir.uri).fsPath;
221
+ return joinPaths(basePath, "gk", "config");
222
+ }
223
+ async getGkConfig(repoPath, key) {
224
+ return (await this.getGkConfigMap(repoPath)).get(canonicalizeGitConfigKey(key)) || void 0;
225
+ }
226
+ async getGkConfigRegex(repoPath, pattern) {
227
+ const all = await this.getGkConfigMap(repoPath);
228
+ let re;
229
+ try {
230
+ re = new RegExp(pattern);
231
+ } catch {
232
+ return /* @__PURE__ */ new Map();
233
+ }
234
+ const result = /* @__PURE__ */ new Map();
235
+ for (const [k, v] of all) if (re.test(k)) result.set(k, v);
236
+ return result;
237
+ }
238
+ /**
239
+ * Reads the entire `.git/gk/config` in one `git config --get-regexp` and caches the parsed map
240
+ * per commonPath. Per-key (getGkConfig) and per-namespace (getGkConfigRegex) lookups are served
241
+ * from this single cached read — so a branch-overview render that fans out across several gk
242
+ * namespaces costs one `git config` call instead of one per namespace.
243
+ */
244
+ async getGkConfigMap(repoPath) {
245
+ await this.migrateGkConfigFromGitConfig(this.cache.getCommonPath(repoPath));
246
+ return this.cache.getGkConfigMap(repoPath, async (cacheable) => {
247
+ const { map, failed } = await this.getGkConfigRegexCore(repoPath, gkConfigAllPattern);
248
+ if (failed) cacheable.invalidate();
249
+ return map;
250
+ });
251
+ }
252
+ async getGkConfigRegexCore(repoPath, pattern) {
253
+ const gkConfigPath = await this.getGkConfigPath(repoPath);
254
+ if (!gkConfigPath) return {
255
+ map: /* @__PURE__ */ new Map(),
256
+ failed: false
257
+ };
258
+ const result = await this.git.run({
259
+ cwd: repoPath,
260
+ errors: "ignore",
261
+ runLocally: true
262
+ }, "config", "--get-regex", "-f", gkConfigPath, pattern);
263
+ const exited = result.completion.status === "exited";
264
+ return {
265
+ map: parseConfigRegexOutput(result.stdout),
266
+ failed: !exited || result.exitCode !== 0 && result.exitCode !== 1
267
+ };
268
+ }
269
+ async setGkConfig(repoPath, key, value, options) {
270
+ const commonPath = this.cache.getCommonPath(repoPath);
271
+ const skipKey = options?.skipInvalidation?.length ? options.skipInvalidation.toSorted().join(",") : "";
272
+ const dedupKey = `${commonPath}\0${key}\0${value ?? ""}\0${skipKey}`;
273
+ const pending = this._pendingGkConfigWrites.get(dedupKey);
274
+ if (pending != null) return pending;
275
+ const promise = this.setGkConfigCore(repoPath, key, value, options);
276
+ this._pendingGkConfigWrites.set(dedupKey, promise);
277
+ promise.finally(() => this._pendingGkConfigWrites.delete(dedupKey)).catch(() => {});
278
+ return promise;
279
+ }
280
+ async setGkConfigCore(repoPath, key, value, options) {
281
+ const scope = getScopedLogger();
282
+ const gkConfigPath = await this.getGkConfigPath(repoPath);
283
+ if (!gkConfigPath) return;
284
+ const gkConfigFolder = joinPaths(gkConfigPath, "..");
285
+ if (!await this.ensureGkConfigFolder(gkConfigFolder, scope)) return;
286
+ await this.setConfigCore(repoPath, key, value, { file: gkConfigPath });
287
+ this.cache.deleteGkConfig(repoPath, key, options);
288
+ this.cache.recordGkConfigWrite(repoPath, key, value);
289
+ }
290
+ async removeGkConfigBranchSection(repoPath, ref) {
291
+ await this.runGkConfigSectionCommand(repoPath, ref, "--remove-section", `branch.${ref}`);
292
+ }
293
+ async renameGkConfigBranchSection(repoPath, oldRef, newRef) {
294
+ await this.removeGkConfigBranchSection(repoPath, newRef);
295
+ await this.runGkConfigSectionCommand(repoPath, oldRef, "--rename-section", `branch.${oldRef}`, `branch.${newRef}`);
296
+ }
297
+ /**
298
+ * Runs a section-level `git config` against `.git/gk/config` for `ref`'s section, skipping the
299
+ * subprocess entirely when the bulk map (already cached on any warm path) shows that ref has no gk
300
+ * keys — the overwhelmingly common case, since most branches never get gk metadata written at all.
301
+ *
302
+ * Never throws: callers invoke this as bookkeeping after a branch op has already succeeded, so a
303
+ * failure here must not be reported as (or roll back) the branch/checkout/worktree operation itself.
304
+ * The worst case is metadata that stays behind until the next op on that name.
305
+ */
306
+ async runGkConfigSectionCommand(repoPath, ref, ...args) {
307
+ const scope = getScopedLogger();
308
+ try {
309
+ const prefix = `branch.${ref}.`;
310
+ const map = await this.getGkConfigMap(repoPath);
311
+ if (map.size && !some(map.keys(), (k) => k.startsWith(prefix))) return;
312
+ const gkConfigPath = await this.getGkConfigPath(repoPath);
313
+ if (!gkConfigPath) return;
314
+ if (!await fsExists(gkConfigPath)) return;
315
+ const result = await this.git.run({
316
+ cwd: repoPath,
317
+ runLocally: true,
318
+ errors: "ignore"
319
+ }, "config", "-f", gkConfigPath, ...args);
320
+ if (result.completion.status !== "exited" || result.exitCode !== 0) scope?.warn(`Failed to update gk config section for '${ref}' in '${repoPath}': ${result.completion.status === "exited" ? `git config exited ${result.exitCode}` : `${result.completion.status} · ${result.completion.error.message}`}`);
321
+ this.cache.deleteGkConfigMap(repoPath);
322
+ } catch (ex) {
323
+ scope?.error(ex, `Failed to update gk config section for '${ref}' in '${repoPath}'`);
324
+ }
325
+ }
326
+ /**
327
+ * Reconciles a watcher-observed `'gkConfig'` change — registered with the shared `Cache` as its
328
+ * gk-config reconciler (see the constructor). Re-reads the bulk map (hard-evicted by
329
+ * `Cache.handleGkConfigChanged`, so this hits disk) and diffs it against `priorSnapshot` to cascade
330
+ * `baseBranchName`/`branchOverviews` only for refs whose merge-relevant keys actually changed.
331
+ *
332
+ * Serialized per commonPath: a reconcile is a read-then-diff against a single shared baseline, so
333
+ * two overlapping passes would both diff against the same snapshot and the later change could fall
334
+ * out entirely. An event arriving mid-pass instead queues one trailing pass, which re-reads and
335
+ * diffs against the baseline the previous pass just established.
336
+ *
337
+ * `.git/gk/config` lives in the common dir, so the watcher delivers one event per worktree sharing it
338
+ * (see `WatchGroup.onCommonEvent`). Siblings never run concurrently — the later ones fold into the
339
+ * in-flight pass — but folding in arms the trailing pass, so a fan-out costs one extra read that
340
+ * re-reads and diffs an unchanged file. However many siblings land while a pass is running, they
341
+ * coalesce into that single trailing pass; the cost is the price of never dropping a real change.
342
+ * Every reporting path is retained because `Repository` matches the follow-up change event on exact
343
+ * path, and a sibling worktree that never receives one would sit on stale derived values.
344
+ */
345
+ reconcileGkConfig(repoPath, priorSnapshot) {
346
+ const commonPath = this.cache.getCommonPath(repoPath);
347
+ const inflight = this._gkConfigReconciles.get(commonPath);
348
+ if (inflight != null) {
349
+ inflight.paths.set(repoPath, this.cache.getCloseGeneration(repoPath));
350
+ inflight.pending = true;
351
+ return "deferred";
352
+ }
353
+ const entry = {
354
+ pending: false,
355
+ paths: /* @__PURE__ */ new Map([[repoPath, this.cache.getCloseGeneration(repoPath)]])
356
+ };
357
+ this._gkConfigReconciles.set(commonPath, entry);
358
+ return this.runGkConfigReconcile(commonPath, priorSnapshot, entry);
359
+ }
360
+ /** Drops paths that closed since they reported the change; returns whichever remain. */
361
+ pruneClosedReconcilePaths(paths) {
362
+ for (const [path, generation] of paths) if (this.cache.getCloseGeneration(path) !== generation) paths.delete(path);
363
+ return paths;
364
+ }
365
+ async runGkConfigReconcile(commonPath, priorSnapshot, entry) {
366
+ const scope = getScopedLogger();
367
+ let snapshot = priorSnapshot;
368
+ try {
369
+ do {
370
+ entry.pending = false;
371
+ const readPath = first(this.pruneClosedReconcilePaths(entry.paths).keys());
372
+ if (readPath == null) return "reconciled";
373
+ this.cache.deleteGkConfigMap(readPath);
374
+ const freshMap = await this.getGkConfigMap(readPath);
375
+ if (!this.pruneClosedReconcilePaths(entry.paths).size) return "reconciled";
376
+ if (this.cache.reconcileGkConfigMap(readPath, snapshot, freshMap)) for (const path of entry.paths.keys()) this.context.hooks?.repository?.onChanged?.(path, ["gkConfig"]);
377
+ snapshot = this.cache.getGkConfigMergeSnapshot(readPath);
378
+ } while (entry.pending);
379
+ return "reconciled";
380
+ } catch (ex) {
381
+ scope?.error(ex, `Failed to reconcile gk config for '${commonPath}'`);
382
+ return "failed";
383
+ } finally {
384
+ this._gkConfigReconciles.delete(commonPath);
385
+ }
386
+ }
387
+ async getSigningConfig(repoPath) {
388
+ const configMap = await this.getConfigRegex(repoPath, "^(commit\\.gpgsign|gpg\\.format|user\\.signingkey|gpg\\.program|gpg\\.ssh\\.program|gpg\\.ssh\\.allowedsignersfile)$");
389
+ const enabledRaw = configMap.get("commit.gpgsign");
390
+ const format = configMap.get("gpg.format");
391
+ const signingKey = configMap.get("user.signingkey");
392
+ const gpgProgram = configMap.get("gpg.program");
393
+ const sshProgram = configMap.get("gpg.ssh.program");
394
+ const allowedSignersFile = configMap.get("gpg.ssh.allowedsignersfile");
395
+ return {
396
+ enabled: parseGitBoolean(enabledRaw) || this.context.config?.signing?.enabled === true,
397
+ format: format ?? "gpg",
398
+ signingKey,
399
+ gpgProgram,
400
+ sshProgram,
401
+ allowedSignersFile
402
+ };
403
+ }
404
+ async validateSigningSetup(repoPath) {
405
+ if (!(await this.getSigningConfig(repoPath)).signingKey) return {
406
+ valid: false,
407
+ error: "No signing key configured"
408
+ };
409
+ return { valid: true };
410
+ }
411
+ async setSigningConfig(repoPath, config, options) {
412
+ const scope = getScopedLogger();
413
+ try {
414
+ if (config.enabled != null) await this.setConfig(repoPath, "commit.gpgsign", config.enabled ? "true" : "false", options);
415
+ if (config.format != null) await this.setConfig(repoPath, "gpg.format", config.format, options);
416
+ if (config.signingKey != null) await this.setConfig(repoPath, "user.signingkey", config.signingKey, options);
417
+ if (config.gpgProgram != null) await this.setConfig(repoPath, "gpg.program", config.gpgProgram, options);
418
+ if (config.sshProgram != null) await this.setConfig(repoPath, "gpg.ssh.program", config.sshProgram, options);
419
+ if (config.allowedSignersFile != null) await this.setConfig(repoPath, "gpg.ssh.allowedSignersFile", config.allowedSignersFile, options);
420
+ } catch (ex) {
421
+ scope?.error(ex);
422
+ throw ex;
423
+ }
424
+ }
425
+ getSigningConfigFlags(config) {
426
+ const flags = [];
427
+ if (config.gpgProgram) flags.push("-c", `gpg.program=${config.gpgProgram}`);
428
+ if (config.format && config.format !== "gpg") flags.push("-c", `gpg.format=${config.format}`);
429
+ if (config.sshProgram) flags.push("-c", `gpg.ssh.program=${config.sshProgram}`);
430
+ if (config.allowedSignersFile) flags.push("-c", `gpg.ssh.allowedSignersFile=${config.allowedSignersFile}`);
431
+ return flags;
432
+ }
433
+ async getRepositoryInfo(cwd) {
434
+ let result;
435
+ if (this.context.workspace?.isTrusted === false) try {
436
+ await promises.stat(joinPaths(cwd, "HEAD"));
437
+ result = await this.git.run({
438
+ cwd,
439
+ errors: "throw",
440
+ configs: ["-C", cwd]
441
+ }, "rev-parse", "--show-cdup");
442
+ if (!result.stdout.trim()) {
443
+ _logger.warn(`Skipping (untrusted); bare clone repository detected in '${cwd}'`);
444
+ return emptyArray;
445
+ }
446
+ } catch {}
447
+ try {
448
+ result = await this.git.run({
449
+ cwd,
450
+ errors: "throw"
451
+ }, "rev-parse", "--show-toplevel", "--git-dir", "--git-common-dir", "--show-superproject-working-tree");
452
+ if (!result.stdout) return emptyArray;
453
+ const [repoPath, dotGitPath, commonDotGitPath, superprojectPath] = result.stdout.split("\n").map((r) => r.trimStart());
454
+ if (!repoPath) return emptyArray;
455
+ const normalizedRepoPath = normalizePath(repoPath.replace(/[\r|\n]+$/, ""));
456
+ let gitDir = dotGitPath;
457
+ if (gitDir && !isAbsolute(gitDir)) gitDir = joinPaths(cwd, gitDir);
458
+ gitDir = normalizePath(gitDir);
459
+ let commonGitDir;
460
+ if (commonDotGitPath) {
461
+ commonGitDir = commonDotGitPath;
462
+ if (!isAbsolute(commonGitDir)) commonGitDir = joinPaths(cwd, commonGitDir);
463
+ commonGitDir = normalizePath(commonGitDir);
464
+ if (commonGitDir === gitDir) commonGitDir = void 0;
465
+ }
466
+ return {
467
+ repoPath: normalizedRepoPath,
468
+ gitDir,
469
+ commonGitDir,
470
+ superprojectPath: superprojectPath?.trim() || void 0
471
+ };
472
+ } catch (ex) {
473
+ if (ex instanceof WorkspaceUntrustedError) return emptyArray;
474
+ const unsafeMatch = /(?:^fatal:\s*detected dubious ownership in repository at '([^']+)'|unsafe repository \('([^']+)' is owned by someone else\))[\s\S]*(git config --global --add safe\.directory [^\n\u2022]+)/m.exec(ex.stderr);
475
+ if (unsafeMatch != null) {
476
+ _logger.warn(`Skipping; unsafe repository detected in '${unsafeMatch[1] || unsafeMatch[2]}'; run '${unsafeMatch[3]}' to allow it`);
477
+ return [false];
478
+ }
479
+ const inDotGit = /this operation must be run in a work tree/.test(ex.stderr);
480
+ if (inDotGit && this.context.workspace?.isTrusted !== false) {
481
+ result = await this.git.run({
482
+ cwd,
483
+ errors: "ignore"
484
+ }, "rev-parse", "--is-bare-repository");
485
+ if (result.stdout.trim() === "true") {
486
+ const result = await this.revParseGitDir(cwd);
487
+ const repoPath = result?.commonPath ?? result?.path;
488
+ if (repoPath?.length) return [true, repoPath];
489
+ }
490
+ }
491
+ if (inDotGit || ex.code === "ENOENT") {
492
+ let exists = inDotGit ? false : await fsExists(cwd);
493
+ if (!exists) {
494
+ do {
495
+ const parent = dirname(cwd);
496
+ if (parent === cwd || parent.length === 0) return emptyArray;
497
+ cwd = parent;
498
+ exists = await fsExists(cwd);
499
+ } while (!exists);
500
+ return this.getRepositoryInfo(cwd);
501
+ }
502
+ }
503
+ return emptyArray;
504
+ }
505
+ }
506
+ async revParseGitDir(cwd) {
507
+ const result = await this.git.run({
508
+ cwd,
509
+ errors: "ignore"
510
+ }, "rev-parse", "--git-dir", "--git-common-dir");
511
+ if (!result.stdout) return void 0;
512
+ let [dotGitPath, commonDotGitPath] = result.stdout.split("\n").map((r) => r.trimStart());
513
+ if (!isAbsolute(dotGitPath)) dotGitPath = joinPaths(cwd, dotGitPath);
514
+ dotGitPath = normalizePath(dotGitPath);
515
+ if (commonDotGitPath) {
516
+ if (!isAbsolute(commonDotGitPath)) commonDotGitPath = joinPaths(cwd, commonDotGitPath);
517
+ commonDotGitPath = normalizePath(commonDotGitPath);
518
+ return {
519
+ path: dotGitPath,
520
+ commonPath: commonDotGitPath !== dotGitPath ? commonDotGitPath : void 0
521
+ };
522
+ }
523
+ return { path: dotGitPath };
524
+ }
525
+ /**
526
+ * Ensures the `.git/gk/` folder exists, but only if the parent `.git` directory already exists.
527
+ * This prevents creating stray `.git` directories if the computed path is wrong.
528
+ * Returns `true` if the folder was ensured, `false` if the parent `.git` does not exist.
529
+ */
530
+ async ensureGkConfigFolder(gkConfigFolder, scope) {
531
+ const dotGitDir = joinPaths(gkConfigFolder, "..");
532
+ try {
533
+ await promises.stat(dotGitDir);
534
+ } catch {
535
+ scope?.warn(`Skipping GK config write — expected git directory '${dotGitDir}' does not exist`);
536
+ return false;
537
+ }
538
+ try {
539
+ await promises.mkdir(gkConfigFolder, { recursive: true });
540
+ } catch (ex) {
541
+ scope?.error(ex, `Failed to create '${gkConfigFolder}' directory`);
542
+ return false;
543
+ }
544
+ return true;
545
+ }
546
+ _migratedRepos = /* @__PURE__ */ new Set();
547
+ /**
548
+ * One-time migration of GK config entries from regular git config to `.git/gk/config`.
549
+ * If `.git/gk/config` already exists, assumes migration is complete (or data is already there).
550
+ * Preserves existing `.git/gk/config` values as source of truth (won't overwrite).
551
+ * Removes migrated keys from regular git config to stop cluttering it.
552
+ */
553
+ async migrateGkConfigFromGitConfig(repoPath) {
554
+ if (this._migratedRepos.has(repoPath)) return;
555
+ const scope = getScopedLogger();
556
+ const gkConfigPath = await this.getGkConfigPath(repoPath);
557
+ if (!gkConfigPath) {
558
+ this._migratedRepos.add(repoPath);
559
+ return;
560
+ }
561
+ const gkConfigFolder = joinPaths(gkConfigPath, "..");
562
+ try {
563
+ await promises.stat(gkConfigPath);
564
+ this._migratedRepos.add(repoPath);
565
+ return;
566
+ } catch {}
567
+ if (!await this.ensureGkConfigFolder(gkConfigFolder, scope)) return;
568
+ try {
569
+ await promises.writeFile(gkConfigPath, /* @__PURE__ */ new Uint8Array());
570
+ } catch (ex) {
571
+ scope?.error(ex, `Failed to create '${gkConfigPath}' file`);
572
+ }
573
+ let migrateConfig;
574
+ try {
575
+ migrateConfig = await this.getConfigRegexCore(repoPath, "^branch\\..*\\.gk-", { runGitLocally: true });
576
+ } catch (ex) {
577
+ scope?.error(ex, "Failed to read legacy GK config entries");
578
+ this._migratedRepos.add(repoPath);
579
+ return;
580
+ }
581
+ if (!migrateConfig.size) {
582
+ this._migratedRepos.add(repoPath);
583
+ return;
584
+ }
585
+ scope?.info(`Migrating ${String(migrateConfig.size)} GK config entries from git config to .git/gk/config`);
586
+ for (const [key, value] of [...migrateConfig]) try {
587
+ await this.setConfigCore(repoPath, key, value, { file: gkConfigPath });
588
+ } catch (ex) {
589
+ scope?.error(ex, `Failed to migrate key '${key}' to GK config`);
590
+ migrateConfig.delete(key);
591
+ }
592
+ for (const [key] of migrateConfig) try {
593
+ await this.git.run({
594
+ cwd: repoPath,
595
+ errors: "ignore",
596
+ runLocally: true
597
+ }, "config", "--local", "--unset-all", key);
598
+ } catch (ex) {
599
+ scope?.error(ex, `Failed to remove migrated key '${key}' from git config`);
600
+ }
601
+ this.cache.clearCaches(repoPath, "config", "gkConfig");
602
+ this._migratedRepos.add(repoPath);
603
+ }
604
+ };
605
+ __decorate([trace()], ConfigGitSubProvider.prototype, "getConfig", null);
606
+ __decorate([trace()], ConfigGitSubProvider.prototype, "getConfigRegex", null);
607
+ __decorate([debug()], ConfigGitSubProvider.prototype, "setConfig", null);
608
+ __decorate([gate(), debug()], ConfigGitSubProvider.prototype, "getCurrentUser", null);
609
+ __decorate([gate(), trace({ exit: (r) => `returned ${r}` })], ConfigGitSubProvider.prototype, "getDefaultWorktreePath", null);
610
+ __decorate([gate(), trace({ exit: (r) => `returned ${r.uri.toString(true)}, commonUri=${r.commonUri?.toString(true)}, parentUri=${r.parentUri?.toString(true)}` })], ConfigGitSubProvider.prototype, "getGitDir", null);
611
+ __decorate([debug()], ConfigGitSubProvider.prototype, "getGkConfig", null);
612
+ __decorate([debug()], ConfigGitSubProvider.prototype, "getGkConfigRegex", null);
613
+ __decorate([debug()], ConfigGitSubProvider.prototype, "setGkConfig", null);
614
+ __decorate([debug()], ConfigGitSubProvider.prototype, "removeGkConfigBranchSection", null);
615
+ __decorate([debug()], ConfigGitSubProvider.prototype, "renameGkConfigBranchSection", null);
616
+ __decorate([debug()], ConfigGitSubProvider.prototype, "getSigningConfig", null);
617
+ __decorate([debug()], ConfigGitSubProvider.prototype, "validateSigningSetup", null);
618
+ __decorate([debug()], ConfigGitSubProvider.prototype, "setSigningConfig", null);
619
+ __decorate([gate(), debug()], ConfigGitSubProvider.prototype, "migrateGkConfigFromGitConfig", null);
620
+ //#endregion
621
+ export { ConfigGitSubProvider, canonicalizeGitConfigKey, isGitBooleanFalse, parseConfigRegexOutput, parseGitBoolean };
622
+
842
623
  //# sourceMappingURL=config.js.map