@gitkraken/core-gitlens 0.3.0 → 0.4.0

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 (378) hide show
  1. package/CHANGELOG.md +20 -1
  2. package/README.md +13 -10
  3. package/dist/git/cache.d.ts +12 -6
  4. package/dist/git/cache.d.ts.map +1 -1
  5. package/dist/git/cache.js +40 -39
  6. package/dist/git/cache.js.map +1 -1
  7. package/dist/git/context.d.ts +23 -3
  8. package/dist/git/context.d.ts.map +1 -1
  9. package/dist/git/context.js.map +1 -1
  10. package/dist/git/features.d.ts +1 -1
  11. package/dist/git/features.d.ts.map +1 -1
  12. package/dist/git/features.js +1 -0
  13. package/dist/git/features.js.map +1 -1
  14. package/dist/git/models/graph.d.ts +96 -0
  15. package/dist/git/models/graph.d.ts.map +1 -1
  16. package/dist/git/models/graph.js +24 -1
  17. package/dist/git/models/graph.js.map +1 -1
  18. package/dist/git/models/remoteProvider.d.ts +1 -0
  19. package/dist/git/models/remoteProvider.d.ts.map +1 -1
  20. package/dist/git/models/remoteProvider.js.map +1 -1
  21. package/dist/git/models/repository.d.ts +21 -12
  22. package/dist/git/models/repository.d.ts.map +1 -1
  23. package/dist/git/models/repository.js +70 -84
  24. package/dist/git/models/repository.js.map +1 -1
  25. package/dist/git/models/statusFile.d.ts +9 -0
  26. package/dist/git/models/statusFile.d.ts.map +1 -1
  27. package/dist/git/models/statusFile.js +11 -0
  28. package/dist/git/models/statusFile.js.map +1 -1
  29. package/dist/git/providers/commits.d.ts +4 -0
  30. package/dist/git/providers/commits.d.ts.map +1 -1
  31. package/dist/git/providers/config.d.ts +1 -3
  32. package/dist/git/providers/config.d.ts.map +1 -1
  33. package/dist/git/providers/operations.d.ts +40 -13
  34. package/dist/git/providers/operations.d.ts.map +1 -1
  35. package/dist/git/providers/worktrees.d.ts +2 -0
  36. package/dist/git/providers/worktrees.d.ts.map +1 -1
  37. package/dist/git/remotes/custom.d.ts +2 -0
  38. package/dist/git/remotes/custom.d.ts.map +1 -1
  39. package/dist/git/remotes/custom.js +20 -0
  40. package/dist/git/remotes/custom.js.map +1 -1
  41. package/dist/git/utils/conflictResolution.utils.d.ts +32 -0
  42. package/dist/git/utils/conflictResolution.utils.d.ts.map +1 -1
  43. package/dist/git/utils/conflictResolution.utils.js +95 -0
  44. package/dist/git/utils/conflictResolution.utils.js.map +1 -1
  45. package/dist/git/utils/contributor.utils.d.ts +3 -0
  46. package/dist/git/utils/contributor.utils.d.ts.map +1 -1
  47. package/dist/git/utils/contributor.utils.js +22 -0
  48. package/dist/git/utils/contributor.utils.js.map +1 -1
  49. package/dist/git/utils/reachability.utils.d.ts +37 -0
  50. package/dist/git/utils/reachability.utils.d.ts.map +1 -0
  51. package/dist/git/utils/reachability.utils.js +96 -0
  52. package/dist/git/utils/reachability.utils.js.map +1 -0
  53. package/dist/git/watching/watchService.d.ts +4 -2
  54. package/dist/git/watching/watchService.d.ts.map +1 -1
  55. package/dist/git/watching/watchService.js +8 -3
  56. package/dist/git/watching/watchService.js.map +1 -1
  57. package/dist/git/watching/watchSession.d.ts +14 -12
  58. package/dist/git/watching/watchSession.d.ts.map +1 -1
  59. package/dist/git/watching/watchSession.js +56 -55
  60. package/dist/git/watching/watchSession.js.map +1 -1
  61. package/dist/git-cli/providers/branches.d.ts.map +1 -1
  62. package/dist/git-cli/providers/branches.js +1 -0
  63. package/dist/git-cli/providers/branches.js.map +1 -1
  64. package/dist/git-cli/providers/commits.d.ts +1 -0
  65. package/dist/git-cli/providers/commits.d.ts.map +1 -1
  66. package/dist/git-cli/providers/commits.js +12 -0
  67. package/dist/git-cli/providers/commits.js.map +1 -1
  68. package/dist/git-cli/providers/config.d.ts +8 -4
  69. package/dist/git-cli/providers/config.d.ts.map +1 -1
  70. package/dist/git-cli/providers/config.js +62 -39
  71. package/dist/git-cli/providers/config.js.map +1 -1
  72. package/dist/git-cli/providers/diff.d.ts.map +1 -1
  73. package/dist/git-cli/providers/diff.js +1 -1
  74. package/dist/git-cli/providers/diff.js.map +1 -1
  75. package/dist/git-cli/providers/graph.d.ts.map +1 -1
  76. package/dist/git-cli/providers/graph.js +132 -14
  77. package/dist/git-cli/providers/graph.js.map +1 -1
  78. package/dist/git-cli/providers/operations.d.ts +7 -5
  79. package/dist/git-cli/providers/operations.d.ts.map +1 -1
  80. package/dist/git-cli/providers/operations.js +118 -95
  81. package/dist/git-cli/providers/operations.js.map +1 -1
  82. package/dist/git-cli/providers/stash.d.ts.map +1 -1
  83. package/dist/git-cli/providers/stash.js +20 -2
  84. package/dist/git-cli/providers/stash.js.map +1 -1
  85. package/dist/git-cli/providers/status.d.ts.map +1 -1
  86. package/dist/git-cli/providers/status.js +5 -2
  87. package/dist/git-cli/providers/status.js.map +1 -1
  88. package/dist/git-cli/providers/worktrees.d.ts +2 -0
  89. package/dist/git-cli/providers/worktrees.d.ts.map +1 -1
  90. package/dist/git-cli/providers/worktrees.js +3 -0
  91. package/dist/git-cli/providers/worktrees.js.map +1 -1
  92. package/dist/ipc/discovery.d.ts +22 -0
  93. package/dist/ipc/discovery.d.ts.map +1 -1
  94. package/dist/ipc/discovery.js +111 -2
  95. package/dist/ipc/discovery.js.map +1 -1
  96. package/dist/plus/agents/providers/claudeCodeProvider.d.ts +73 -20
  97. package/dist/plus/agents/providers/claudeCodeProvider.d.ts.map +1 -1
  98. package/dist/plus/agents/providers/claudeCodeProvider.js +394 -88
  99. package/dist/plus/agents/providers/claudeCodeProvider.js.map +1 -1
  100. package/dist/plus/agents/types.d.ts +62 -11
  101. package/dist/plus/agents/types.d.ts.map +1 -1
  102. package/dist/plus/ai/models/model.d.ts +1 -1
  103. package/dist/plus/ai/models/model.d.ts.map +1 -1
  104. package/dist/plus/ai/models/model.js.map +1 -1
  105. package/dist/plus/ai/models/provider.d.ts +3 -0
  106. package/dist/plus/ai/models/provider.d.ts.map +1 -1
  107. package/dist/plus/ai/providers/gitkrakenProvider.d.ts +1 -1
  108. package/dist/plus/ai/providers/gitkrakenProvider.d.ts.map +1 -1
  109. package/dist/plus/ai/providers/gitkrakenProvider.js +4 -1
  110. package/dist/plus/ai/providers/gitkrakenProvider.js.map +1 -1
  111. package/dist/plus/ai/providers/openAICompatibleProviderBase.d.ts +4 -3
  112. package/dist/plus/ai/providers/openAICompatibleProviderBase.d.ts.map +1 -1
  113. package/dist/plus/ai/providers/openAICompatibleProviderBase.js +9 -6
  114. package/dist/plus/ai/providers/openAICompatibleProviderBase.js.map +1 -1
  115. package/dist/plus/ai/utils/ai.utils.d.ts.map +1 -1
  116. package/dist/plus/ai/utils/ai.utils.js +6 -4
  117. package/dist/plus/ai/utils/ai.utils.js.map +1 -1
  118. package/dist/plus/git-github/api/github.d.ts +8 -13
  119. package/dist/plus/git-github/api/github.d.ts.map +1 -1
  120. package/dist/plus/git-github/api/github.js +96 -14
  121. package/dist/plus/git-github/api/github.js.map +1 -1
  122. package/dist/plus/git-github/providers/github/refs.js +1 -1
  123. package/dist/plus/integrations/authentication/cloudIntegrationService.d.ts +11 -0
  124. package/dist/plus/integrations/authentication/cloudIntegrationService.d.ts.map +1 -0
  125. package/dist/plus/integrations/authentication/cloudIntegrationService.js +90 -0
  126. package/dist/plus/integrations/authentication/cloudIntegrationService.js.map +1 -0
  127. package/dist/plus/integrations/authentication/configuredIntegrationService.d.ts +67 -0
  128. package/dist/plus/integrations/authentication/configuredIntegrationService.d.ts.map +1 -0
  129. package/dist/plus/integrations/authentication/configuredIntegrationService.js +295 -0
  130. package/dist/plus/integrations/authentication/configuredIntegrationService.js.map +1 -0
  131. package/dist/plus/integrations/authentication/integrationAuthenticationProvider.d.ts +92 -0
  132. package/dist/plus/integrations/authentication/integrationAuthenticationProvider.d.ts.map +1 -0
  133. package/dist/plus/integrations/authentication/integrationAuthenticationProvider.js +185 -0
  134. package/dist/plus/integrations/authentication/integrationAuthenticationProvider.js.map +1 -0
  135. package/dist/plus/integrations/authentication/integrationAuthenticationService.d.ts +62 -0
  136. package/dist/plus/integrations/authentication/integrationAuthenticationService.d.ts.map +1 -0
  137. package/dist/plus/integrations/authentication/integrationAuthenticationService.js +122 -0
  138. package/dist/plus/integrations/authentication/integrationAuthenticationService.js.map +1 -0
  139. package/dist/plus/integrations/authentication/manualTokenProvider.d.ts +15 -0
  140. package/dist/plus/integrations/authentication/manualTokenProvider.d.ts.map +1 -0
  141. package/dist/plus/integrations/authentication/manualTokenProvider.js +49 -0
  142. package/dist/plus/integrations/authentication/manualTokenProvider.js.map +1 -0
  143. package/dist/plus/integrations/authentication/models.d.ts +87 -0
  144. package/dist/plus/integrations/authentication/models.d.ts.map +1 -0
  145. package/dist/plus/integrations/authentication/models.js +64 -0
  146. package/dist/plus/integrations/authentication/models.js.map +1 -0
  147. package/dist/plus/integrations/constants.d.ts +47 -0
  148. package/dist/plus/integrations/constants.d.ts.map +1 -0
  149. package/dist/plus/integrations/constants.js +128 -0
  150. package/dist/plus/integrations/constants.js.map +1 -0
  151. package/dist/plus/integrations/context.d.ts +354 -0
  152. package/dist/plus/integrations/context.d.ts.map +1 -0
  153. package/dist/plus/integrations/context.js +2 -0
  154. package/dist/plus/integrations/context.js.map +1 -0
  155. package/dist/plus/integrations/errors.d.ts +14 -0
  156. package/dist/plus/integrations/errors.d.ts.map +1 -0
  157. package/dist/plus/integrations/errors.js +19 -0
  158. package/dist/plus/integrations/errors.js.map +1 -0
  159. package/dist/plus/integrations/index.d.ts +32 -0
  160. package/dist/plus/integrations/index.d.ts.map +1 -0
  161. package/dist/plus/integrations/index.js +62 -0
  162. package/dist/plus/integrations/index.js.map +1 -0
  163. package/dist/plus/integrations/integrationService.d.ts +98 -0
  164. package/dist/plus/integrations/integrationService.d.ts.map +1 -0
  165. package/dist/plus/integrations/integrationService.js +627 -0
  166. package/dist/plus/integrations/integrationService.js.map +1 -0
  167. package/dist/plus/integrations/models/gitHostIntegration.d.ts +82 -0
  168. package/dist/plus/integrations/models/gitHostIntegration.d.ts.map +1 -0
  169. package/dist/plus/integrations/models/gitHostIntegration.js +522 -0
  170. package/dist/plus/integrations/models/gitHostIntegration.js.map +1 -0
  171. package/dist/plus/integrations/models/integration.d.ts +127 -0
  172. package/dist/plus/integrations/models/integration.d.ts.map +1 -0
  173. package/dist/plus/integrations/models/integration.js +456 -0
  174. package/dist/plus/integrations/models/integration.js.map +1 -0
  175. package/dist/plus/integrations/models/issuesIntegration.d.ts +28 -0
  176. package/dist/plus/integrations/models/issuesIntegration.d.ts.map +1 -0
  177. package/dist/plus/integrations/models/issuesIntegration.js +101 -0
  178. package/dist/plus/integrations/models/issuesIntegration.js.map +1 -0
  179. package/dist/plus/integrations/providers/apiClients.d.ts +25 -0
  180. package/dist/plus/integrations/providers/apiClients.d.ts.map +1 -0
  181. package/dist/plus/integrations/providers/apiClients.js +39 -0
  182. package/dist/plus/integrations/providers/apiClients.js.map +1 -0
  183. package/dist/plus/integrations/providers/azure/azure.d.ts +47 -0
  184. package/dist/plus/integrations/providers/azure/azure.d.ts.map +1 -0
  185. package/dist/plus/integrations/providers/azure/azure.js +444 -0
  186. package/dist/plus/integrations/providers/azure/azure.js.map +1 -0
  187. package/dist/plus/integrations/providers/azure/models.d.ts +286 -0
  188. package/dist/plus/integrations/providers/azure/models.d.ts.map +1 -0
  189. package/dist/plus/integrations/providers/azure/models.js +203 -0
  190. package/dist/plus/integrations/providers/azure/models.js.map +1 -0
  191. package/dist/plus/integrations/providers/azureDevOps.d.ts +95 -0
  192. package/dist/plus/integrations/providers/azureDevOps.d.ts.map +1 -0
  193. package/dist/plus/integrations/providers/azureDevOps.js +432 -0
  194. package/dist/plus/integrations/providers/azureDevOps.js.map +1 -0
  195. package/dist/plus/integrations/providers/bitbucket/bitbucket.d.ts +42 -0
  196. package/dist/plus/integrations/providers/bitbucket/bitbucket.d.ts.map +1 -0
  197. package/dist/plus/integrations/providers/bitbucket/bitbucket.js +513 -0
  198. package/dist/plus/integrations/providers/bitbucket/bitbucket.js.map +1 -0
  199. package/dist/plus/integrations/providers/bitbucket/models.d.ts +222 -0
  200. package/dist/plus/integrations/providers/bitbucket/models.d.ts.map +1 -0
  201. package/dist/plus/integrations/providers/bitbucket/models.js +158 -0
  202. package/dist/plus/integrations/providers/bitbucket/models.js.map +1 -0
  203. package/dist/plus/integrations/providers/bitbucket-server/models.d.ts +120 -0
  204. package/dist/plus/integrations/providers/bitbucket-server/models.d.ts.map +1 -0
  205. package/dist/plus/integrations/providers/bitbucket-server/models.js +111 -0
  206. package/dist/plus/integrations/providers/bitbucket-server/models.js.map +1 -0
  207. package/dist/plus/integrations/providers/bitbucket-server.d.ts +60 -0
  208. package/dist/plus/integrations/providers/bitbucket-server.d.ts.map +1 -0
  209. package/dist/plus/integrations/providers/bitbucket-server.js +138 -0
  210. package/dist/plus/integrations/providers/bitbucket-server.js.map +1 -0
  211. package/dist/plus/integrations/providers/bitbucket.d.ts +50 -0
  212. package/dist/plus/integrations/providers/bitbucket.d.ts.map +1 -0
  213. package/dist/plus/integrations/providers/bitbucket.js +181 -0
  214. package/dist/plus/integrations/providers/bitbucket.js.map +1 -0
  215. package/dist/plus/integrations/providers/github/github.d.ts +5 -0
  216. package/dist/plus/integrations/providers/github/github.d.ts.map +1 -0
  217. package/dist/plus/integrations/providers/github/github.js +47 -0
  218. package/dist/plus/integrations/providers/github/github.js.map +1 -0
  219. package/dist/plus/integrations/providers/github/github.utils.d.ts +11 -0
  220. package/dist/plus/integrations/providers/github/github.utils.d.ts.map +1 -0
  221. package/dist/plus/integrations/providers/github/github.utils.js +6 -0
  222. package/dist/plus/integrations/providers/github/github.utils.js.map +1 -0
  223. package/dist/plus/integrations/providers/github/models.d.ts +3 -0
  224. package/dist/plus/integrations/providers/github/models.d.ts.map +1 -0
  225. package/dist/plus/integrations/providers/github/models.js +2 -0
  226. package/dist/plus/integrations/providers/github/models.js.map +1 -0
  227. package/dist/plus/integrations/providers/github.d.ts +73 -0
  228. package/dist/plus/integrations/providers/github.d.ts.map +1 -0
  229. package/dist/plus/integrations/providers/github.js +160 -0
  230. package/dist/plus/integrations/providers/github.js.map +1 -0
  231. package/dist/plus/integrations/providers/gitlab/gitlab.d.ts +63 -0
  232. package/dist/plus/integrations/providers/gitlab/gitlab.d.ts.map +1 -0
  233. package/dist/plus/integrations/providers/gitlab/gitlab.js +828 -0
  234. package/dist/plus/integrations/providers/gitlab/gitlab.js.map +1 -0
  235. package/dist/plus/integrations/providers/gitlab/gitlab.utils.d.ts +21 -0
  236. package/dist/plus/integrations/providers/gitlab/gitlab.utils.d.ts.map +1 -0
  237. package/dist/plus/integrations/providers/gitlab/gitlab.utils.js +45 -0
  238. package/dist/plus/integrations/providers/gitlab/gitlab.utils.js.map +1 -0
  239. package/dist/plus/integrations/providers/gitlab/models.d.ts +128 -0
  240. package/dist/plus/integrations/providers/gitlab/models.d.ts.map +1 -0
  241. package/dist/plus/integrations/providers/gitlab/models.js +96 -0
  242. package/dist/plus/integrations/providers/gitlab/models.js.map +1 -0
  243. package/dist/plus/integrations/providers/gitlab.d.ts +79 -0
  244. package/dist/plus/integrations/providers/gitlab.d.ts.map +1 -0
  245. package/dist/plus/integrations/providers/gitlab.js +253 -0
  246. package/dist/plus/integrations/providers/gitlab.js.map +1 -0
  247. package/dist/plus/integrations/providers/jira.d.ts +46 -0
  248. package/dist/plus/integrations/providers/jira.d.ts.map +1 -0
  249. package/dist/plus/integrations/providers/jira.js +255 -0
  250. package/dist/plus/integrations/providers/jira.js.map +1 -0
  251. package/dist/plus/integrations/providers/linear.d.ts +47 -0
  252. package/dist/plus/integrations/providers/linear.d.ts.map +1 -0
  253. package/dist/plus/integrations/providers/linear.js +198 -0
  254. package/dist/plus/integrations/providers/linear.js.map +1 -0
  255. package/dist/plus/integrations/providers/models.d.ts +433 -0
  256. package/dist/plus/integrations/providers/models.d.ts.map +1 -0
  257. package/dist/plus/integrations/providers/models.js +602 -0
  258. package/dist/plus/integrations/providers/models.js.map +1 -0
  259. package/dist/plus/integrations/providers/providersApi.d.ts +129 -0
  260. package/dist/plus/integrations/providers/providersApi.d.ts.map +1 -0
  261. package/dist/plus/integrations/providers/providersApi.js +602 -0
  262. package/dist/plus/integrations/providers/providersApi.js.map +1 -0
  263. package/dist/plus/integrations/providers/utils.d.ts +54 -0
  264. package/dist/plus/integrations/providers/utils.d.ts.map +1 -0
  265. package/dist/plus/integrations/providers/utils.js +262 -0
  266. package/dist/plus/integrations/providers/utils.js.map +1 -0
  267. package/dist/plus/integrations/telemetry.d.ts +26 -0
  268. package/dist/plus/integrations/telemetry.d.ts.map +1 -0
  269. package/dist/plus/integrations/telemetry.js +11 -0
  270. package/dist/plus/integrations/telemetry.js.map +1 -0
  271. package/dist/plus/integrations/utils/integration.utils.d.ts +14 -0
  272. package/dist/plus/integrations/utils/integration.utils.d.ts.map +1 -0
  273. package/dist/plus/integrations/utils/integration.utils.js +111 -0
  274. package/dist/plus/integrations/utils/integration.utils.js.map +1 -0
  275. package/dist/utils/date.d.ts.map +1 -1
  276. package/dist/utils/date.js +6 -0
  277. package/dist/utils/date.js.map +1 -1
  278. package/dist/utils/debounce.js +1 -1
  279. package/dist/utils/disposable.d.ts +15 -2
  280. package/dist/utils/disposable.d.ts.map +1 -1
  281. package/dist/utils/disposable.js.map +1 -1
  282. package/dist/utils/iterable.d.ts +7 -1
  283. package/dist/utils/iterable.d.ts.map +1 -1
  284. package/dist/utils/iterable.js +12 -4
  285. package/dist/utils/iterable.js.map +1 -1
  286. package/dist/utils/object.d.ts +22 -1
  287. package/dist/utils/object.d.ts.map +1 -1
  288. package/dist/utils/object.js +56 -3
  289. package/dist/utils/object.js.map +1 -1
  290. package/dist/utils/paging.js +14 -15
  291. package/dist/utils/paging.js.map +1 -1
  292. package/dist/utils/promiseCache.d.ts.map +1 -1
  293. package/dist/utils/promiseCache.js +12 -4
  294. package/dist/utils/promiseCache.js.map +1 -1
  295. package/dist/utils/string.js +1 -1
  296. package/package.json +43 -2
  297. package/src/git/cache.ts +58 -70
  298. package/src/git/context.ts +25 -3
  299. package/src/git/features.ts +2 -0
  300. package/src/git/models/graph.ts +97 -0
  301. package/src/git/models/remoteProvider.ts +1 -0
  302. package/src/git/models/repository.ts +84 -93
  303. package/src/git/models/statusFile.ts +12 -0
  304. package/src/git/providers/commits.ts +4 -0
  305. package/src/git/providers/config.ts +1 -5
  306. package/src/git/providers/operations.ts +42 -22
  307. package/src/git/providers/worktrees.ts +14 -2
  308. package/src/git/remotes/custom.ts +23 -0
  309. package/src/git/utils/conflictResolution.utils.ts +126 -0
  310. package/src/git/utils/contributor.utils.ts +24 -0
  311. package/src/git/utils/reachability.utils.ts +109 -0
  312. package/src/git/watching/watchService.ts +9 -4
  313. package/src/git/watching/watchSession.ts +61 -55
  314. package/src/git-cli/providers/branches.ts +1 -0
  315. package/src/git-cli/providers/commits.ts +24 -0
  316. package/src/git-cli/providers/config.ts +63 -49
  317. package/src/git-cli/providers/diff.ts +2 -1
  318. package/src/git-cli/providers/graph.ts +145 -14
  319. package/src/git-cli/providers/operations.ts +138 -130
  320. package/src/git-cli/providers/stash.ts +20 -2
  321. package/src/git-cli/providers/status.ts +11 -3
  322. package/src/git-cli/providers/worktrees.ts +17 -2
  323. package/src/ipc/discovery.ts +132 -2
  324. package/src/plus/agents/providers/claudeCodeProvider.ts +430 -90
  325. package/src/plus/agents/types.ts +59 -11
  326. package/src/plus/ai/models/model.ts +1 -0
  327. package/src/plus/ai/models/provider.ts +7 -1
  328. package/src/plus/ai/providers/gitkrakenProvider.ts +4 -0
  329. package/src/plus/ai/providers/openAICompatibleProviderBase.ts +21 -4
  330. package/src/plus/ai/utils/ai.utils.ts +6 -4
  331. package/src/plus/git-github/api/github.ts +131 -31
  332. package/src/plus/git-github/providers/github/refs.ts +1 -1
  333. package/src/plus/integrations/authentication/cloudIntegrationService.ts +120 -0
  334. package/src/plus/integrations/authentication/configuredIntegrationService.ts +414 -0
  335. package/src/plus/integrations/authentication/integrationAuthenticationProvider.ts +289 -0
  336. package/src/plus/integrations/authentication/integrationAuthenticationService.ts +144 -0
  337. package/src/plus/integrations/authentication/manualTokenProvider.ts +72 -0
  338. package/src/plus/integrations/authentication/models.ts +168 -0
  339. package/src/plus/integrations/constants.ts +169 -0
  340. package/src/plus/integrations/context.ts +383 -0
  341. package/src/plus/integrations/errors.ts +35 -0
  342. package/src/plus/integrations/index.ts +119 -0
  343. package/src/plus/integrations/integrationService.ts +924 -0
  344. package/src/plus/integrations/models/gitHostIntegration.ts +738 -0
  345. package/src/plus/integrations/models/integration.ts +657 -0
  346. package/src/plus/integrations/models/issuesIntegration.ts +124 -0
  347. package/src/plus/integrations/providers/apiClients.ts +72 -0
  348. package/src/plus/integrations/providers/azure/azure.ts +691 -0
  349. package/src/plus/integrations/providers/azure/models.ts +605 -0
  350. package/src/plus/integrations/providers/azureDevOps.ts +677 -0
  351. package/src/plus/integrations/providers/bitbucket/bitbucket.ts +774 -0
  352. package/src/plus/integrations/providers/bitbucket/models.ts +445 -0
  353. package/src/plus/integrations/providers/bitbucket-server/models.ts +252 -0
  354. package/src/plus/integrations/providers/bitbucket-server.ts +282 -0
  355. package/src/plus/integrations/providers/bitbucket.ts +350 -0
  356. package/src/plus/integrations/providers/github/github.ts +64 -0
  357. package/src/plus/integrations/providers/github/github.utils.ts +23 -0
  358. package/src/plus/integrations/providers/github/models.ts +29 -0
  359. package/src/plus/integrations/providers/github.ts +366 -0
  360. package/src/plus/integrations/providers/gitlab/gitlab.ts +1210 -0
  361. package/src/plus/integrations/providers/gitlab/gitlab.utils.ts +71 -0
  362. package/src/plus/integrations/providers/gitlab/models.ts +257 -0
  363. package/src/plus/integrations/providers/gitlab.ts +473 -0
  364. package/src/plus/integrations/providers/jira.ts +359 -0
  365. package/src/plus/integrations/providers/linear.ts +275 -0
  366. package/src/plus/integrations/providers/models.ts +1114 -0
  367. package/src/plus/integrations/providers/providersApi.ts +1126 -0
  368. package/src/plus/integrations/providers/utils.ts +359 -0
  369. package/src/plus/integrations/telemetry.ts +29 -0
  370. package/src/plus/integrations/utils/integration.utils.ts +138 -0
  371. package/src/utils/date.ts +5 -0
  372. package/src/utils/debounce.ts +1 -1
  373. package/src/utils/disposable.ts +15 -2
  374. package/src/utils/iterable.ts +14 -3
  375. package/src/utils/object.ts +55 -4
  376. package/src/utils/paging.ts +14 -14
  377. package/src/utils/promiseCache.ts +24 -16
  378. package/src/utils/string.ts +1 -1
@@ -14,6 +14,17 @@ export interface GitGraphRowHead {
14
14
  name: string;
15
15
  id: string;
16
16
  };
17
+ /** Set when this branch is checked out in a (non-default) worktree. Grouped so producers can't
18
+ * half-populate id-without-path or vice versa. GitLens consumers should read this field. */
19
+ worktree?: {
20
+ id: string;
21
+ path: string;
22
+ };
23
+ /** Upstream-component-compatibility mirror of `worktree?.id`. The bundled
24
+ * `@gitkraken/gitkraken-components` library still reads `worktreeId` to switch between
25
+ * WORKTREE and HEAD ref-badge styling — keeping it populated preserves the visual cue.
26
+ * Producers MUST set this whenever they set `worktree`; do not read it from GitLens code,
27
+ * read `worktree.id` instead. */
17
28
  worktreeId?: string;
18
29
  }
19
30
  export interface GitGraphRowRemoteHead {
@@ -32,11 +43,42 @@ export interface GitGraphRowTag {
32
43
  annotated: boolean;
33
44
  context?: string | object;
34
45
  }
46
+ /**
47
+ * Compact, host-computed flags for a commit/stash row, shipped instead of the bulky serialized
48
+ * `contexts.row`/`contexts.avatar` blobs (which duplicated sha/message/repoPath already on the row).
49
+ * The webview reconstructs the full webview-item contexts from these flags + row fields + repoPath.
50
+ * Bit 0: reachable-from-HEAD (`+current`); Bit 1: unique-to-one-local-branch (`+unique`);
51
+ * Bit 2: has-children — set ONLY on undo-eligible tip rows (active HEAD + worktree HEADs) that have a
52
+ * child, to gate Undo Commit to leaf tips (undoing a commit other work is stacked on is unsafe). It is
53
+ * NOT a general has-children signal: non-tip rows never carry it (the host only computes it for tips);
54
+ * Bit 3: unpushed/ahead-of-upstream (`+unpublished`).
55
+ * Bit 4: history-rewriteable (`+rewriteable`) — on the first-parent chain from HEAD up to (excluding)
56
+ * the first merge commit, so a plain (non-`--rebase-merges`) interactive rebase can safely rewrite it;
57
+ * gates squash/drop/reword/modify. Strictly narrower than `+current` (reachable-from-HEAD includes a
58
+ * merge's other-parent ancestry, which is NOT safely rewriteable).
59
+ * (`+HEAD` derives from `row.heads[].isCurrentHead`; contributor `+current` from `row.isCurrentUser`.)
60
+ */
61
+ export declare const enum GitGraphRowContextFlags {
62
+ None = 0,
63
+ ReachableFromHead = 1,
64
+ UniqueToBranch = 2,
65
+ HasChildren = 4,
66
+ Unpublished = 8,
67
+ RewriteableFromHead = 16
68
+ }
35
69
  /**
36
70
  * Context data attached to graph row regions for command/menu handling.
37
71
  * Structurally compatible with @gitkraken/gitkraken-components RowContexts.
38
72
  */
39
73
  export interface GitGraphRowContexts {
74
+ /** Compact replacement for the serialized commit `row`/`avatar` contexts; see {@link GitGraphRowContextFlags}. */
75
+ flags?: GitGraphRowContextFlags;
76
+ /**
77
+ * Index into the per-graph `GraphReachabilityTable.sets` for this row's reachable-refs set,
78
+ * shipped instead of the per-row `reachability` object (which dominated the graph payload). The
79
+ * webview rebuilds `row.reachability` from the shared table. Absent ⇒ no reachability for this row.
80
+ */
81
+ reachabilityIndex?: number;
40
82
  row?: string | object;
41
83
  ref?: string | object;
42
84
  refGroups?: Record<string, string | object>;
@@ -53,6 +95,27 @@ export interface GitGraphRowStats {
53
95
  additions: number;
54
96
  deletions: number;
55
97
  }
98
+ /**
99
+ * Wire encoding for per-row reachability, shipped once per graph payload instead of inline on every
100
+ * row. Git reachability is monotone (adjacent commits share ref-sets), so the rows collapse to a
101
+ * relatively small number of distinct sets over the repo's ref universe — `dictionary` (the shared
102
+ * ref list) + `sets` (distinct membership bitmaps, base64; bit i ⇒ `dictionary[i]` reachable) + a
103
+ * per-row index (`GitGraphRowContexts.reachabilityIndex`) reconstructs every row's `reachability`
104
+ * client-side for a fraction of the bytes the inline objects cost. `current` is a per-ref property
105
+ * (the checked-out HEAD branch) and lives in the dictionary entry.
106
+ *
107
+ * The table is append-only within a graph generation, so the host ships only the entries appended
108
+ * since its last push (a delta) on same-generation pagination and the full table on a new generation;
109
+ * `id` lets the webview tell the two apart (same `id` ⇒ append the delta, new `id` ⇒ replace + reset
110
+ * its decode cache). A fresh `getGraph` walk mints a new `id`; `more()` keeps the same one.
111
+ */
112
+ export interface GraphReachabilityTable {
113
+ /** Generation id — stable across `more()` pagination, new per fresh graph walk. */
114
+ readonly id: number;
115
+ readonly dictionary: GitCommitReachability['refs'];
116
+ /** Distinct ref-membership bitmaps, base64-encoded `Uint8Array` of `ceil(dictionary.length/8)` bytes. */
117
+ readonly sets: string[];
118
+ }
56
119
  /** Library-owned graph row type. Structurally compatible with @gitkraken/gitkraken-components GraphRow. */
57
120
  export interface GitGraphRow {
58
121
  sha: string;
@@ -68,6 +131,12 @@ export interface GitGraphRow {
68
131
  tags?: GitGraphRowTag[];
69
132
  contexts?: GitGraphRowContexts;
70
133
  stats?: GitGraphRowStats;
134
+ /**
135
+ * Transient, set only for the duration of {@link GraphRowProcessor.processRow} (the row processor's
136
+ * `+unique` decision reads it). The provider strips it before pushing the row and records the
137
+ * reachable-ref set into the shared {@link GitGraph.reachability} table instead (see
138
+ * {@link GitGraphRowContexts.reachabilityIndex}), so emitted rows do NOT retain the per-row arrays.
139
+ */
71
140
  reachability?: GitCommitReachability;
72
141
  isCurrentUser?: boolean;
73
142
  }
@@ -88,6 +157,20 @@ export interface GitGraph {
88
157
  readonly worktreesByBranch: ReadonlyMap<string, GitWorktree> | undefined;
89
158
  /** SHAs reachable from HEAD (for enrichment: marking commits on the current branch) */
90
159
  readonly reachableFromHEAD?: ReadonlySet<string>;
160
+ /**
161
+ * SHAs on the first-parent chain from HEAD up to (excluding) the first merge commit — i.e. the
162
+ * commits a plain interactive rebase can safely rewrite. Empty when HEAD itself is a merge. Used by
163
+ * the graph's history-rewriting commands (squash/drop/reword/modify) to validate selections.
164
+ */
165
+ readonly rewriteableFromHEAD?: ReadonlySet<string>;
166
+ /**
167
+ * Shared, append-only reachability table for the loaded rows (the primary representation — rows
168
+ * carry only a {@link GitGraphRowContexts.reachabilityIndex} into it, not per-row ref arrays).
169
+ * Grows monotonically across {@link more} pagination within a graph session: indices already
170
+ * assigned never change, so consumers can decode any row on demand and cache by index. Absent ⇒
171
+ * no row in the graph has reachability. See {@link GraphReachabilityTable}.
172
+ */
173
+ readonly reachability?: GraphReachabilityTable;
91
174
  /** The rows for the set of commits requested */
92
175
  readonly rows: GitGraphRow[];
93
176
  readonly id?: string;
@@ -164,6 +247,19 @@ export interface GraphContext {
164
247
  readonly branchIdOfMainWorktree: string | undefined;
165
248
  readonly stashes: ReadonlyMap<string, GitStashCommit> | undefined;
166
249
  readonly reachableFromHEAD: ReadonlySet<string>;
250
+ /** SHAs on the first-parent chain from HEAD up to (excluding) the first merge commit — the commits
251
+ * a plain interactive rebase can safely rewrite. Empty when HEAD is a merge. Sets the
252
+ * {@link GitGraphRowContextFlags.RewriteableFromHead} flag, gating squash/drop/reword/modify. */
253
+ readonly rewriteableFromHEAD: ReadonlySet<string>;
254
+ /** The subset of undo-eligible tip shas (active HEAD + worktree HEADs) that have at least one
255
+ * child — i.e. are NOT leaves. Scoped to tips (not all commits) for performance; do not treat as
256
+ * a general has-children signal. Sets the {@link GitGraphRowContextFlags.HasChildren} flag, which
257
+ * gates Undo Commit to leaf tips. */
258
+ readonly tipShasWithChildren: ReadonlySet<string>;
259
+ /** SHAs reachable from HEAD's tracking-upstream tip, or `undefined` when HEAD has no upstream.
260
+ * A commit reachable from HEAD but NOT from this set is unpushed (`+unpublished`); `undefined`
261
+ * means there's no upstream to be ahead of, so nothing is flagged. */
262
+ readonly reachableFromHeadUpstream: ReadonlySet<string> | undefined;
167
263
  readonly avatars: Map<string, string>;
168
264
  }
169
265
  //# sourceMappingURL=graph.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/models/graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/models/graph.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,25 @@
1
- export {};
1
+ /**
2
+ * Compact, host-computed flags for a commit/stash row, shipped instead of the bulky serialized
3
+ * `contexts.row`/`contexts.avatar` blobs (which duplicated sha/message/repoPath already on the row).
4
+ * The webview reconstructs the full webview-item contexts from these flags + row fields + repoPath.
5
+ * Bit 0: reachable-from-HEAD (`+current`); Bit 1: unique-to-one-local-branch (`+unique`);
6
+ * Bit 2: has-children — set ONLY on undo-eligible tip rows (active HEAD + worktree HEADs) that have a
7
+ * child, to gate Undo Commit to leaf tips (undoing a commit other work is stacked on is unsafe). It is
8
+ * NOT a general has-children signal: non-tip rows never carry it (the host only computes it for tips);
9
+ * Bit 3: unpushed/ahead-of-upstream (`+unpublished`).
10
+ * Bit 4: history-rewriteable (`+rewriteable`) — on the first-parent chain from HEAD up to (excluding)
11
+ * the first merge commit, so a plain (non-`--rebase-merges`) interactive rebase can safely rewrite it;
12
+ * gates squash/drop/reword/modify. Strictly narrower than `+current` (reachable-from-HEAD includes a
13
+ * merge's other-parent ancestry, which is NOT safely rewriteable).
14
+ * (`+HEAD` derives from `row.heads[].isCurrentHead`; contributor `+current` from `row.isCurrentUser`.)
15
+ */
16
+ export var GitGraphRowContextFlags;
17
+ (function (GitGraphRowContextFlags) {
18
+ GitGraphRowContextFlags[GitGraphRowContextFlags["None"] = 0] = "None";
19
+ GitGraphRowContextFlags[GitGraphRowContextFlags["ReachableFromHead"] = 1] = "ReachableFromHead";
20
+ GitGraphRowContextFlags[GitGraphRowContextFlags["UniqueToBranch"] = 2] = "UniqueToBranch";
21
+ GitGraphRowContextFlags[GitGraphRowContextFlags["HasChildren"] = 4] = "HasChildren";
22
+ GitGraphRowContextFlags[GitGraphRowContextFlags["Unpublished"] = 8] = "Unpublished";
23
+ GitGraphRowContextFlags[GitGraphRowContextFlags["RewriteableFromHead"] = 16] = "RewriteableFromHead";
24
+ })(GitGraphRowContextFlags || (GitGraphRowContextFlags = {}));
2
25
  //# sourceMappingURL=graph.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/models/graph.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/models/graph.ts"],"names":[],"mappings":"AAkDA;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAN,IAAkB,uBAOjB;AAPD,WAAkB,uBAAuB;IACxC,qEAAQ,CAAA;IACR,+FAA0B,CAAA;IAC1B,yFAAuB,CAAA;IACvB,mFAAoB,CAAA;IACpB,mFAAoB,CAAA;IACpB,oGAA4B,CAAA;AAC7B,CAAC,EAPiB,uBAAuB,KAAvB,uBAAuB,QAOxC"}
@@ -58,6 +58,7 @@ export interface RemotesUrlsConfig {
58
58
  readonly fileInCommit: string;
59
59
  readonly fileLine: string;
60
60
  readonly fileRange: string;
61
+ readonly avatar?: string;
61
62
  }
62
63
  export declare abstract class RemoteProvider<T extends ResourceDescriptor = ResourceDescriptor> implements ProviderReference {
63
64
  readonly domain: string;
@@ -1 +1 @@
1
- {"version":3,"file":"remoteProvider.d.ts","sourceRoot":"","sources":["../../src/models/remoteProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remoteProvider.d.ts","sourceRoot":"","sources":["../../src/models/remoteProvider.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"remoteProvider.js","sourceRoot":"","sources":["../../src/models/remoteProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remoteProvider.js","sourceRoot":"","sources":["../../src/models/remoteProvider.ts"],"names":[],"mappings":"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"}
@@ -23,8 +23,6 @@ export interface RepositoryInit {
23
23
  readonly gitDir: GitDir | undefined;
24
24
  readonly index: number;
25
25
  readonly root: boolean;
26
- readonly closed?: boolean;
27
- readonly suspended?: boolean;
28
26
  readonly watchService: RepositoryWatchService;
29
27
  }
30
28
  export interface RepositoryWorkingTreeChangeEvent {
@@ -48,19 +46,21 @@ export declare class Repository {
48
46
  readonly provider: GitProviderDescriptor;
49
47
  readonly root: boolean;
50
48
  protected readonly _gitDir: GitDir | undefined;
51
- protected _pendingResumeTimer: ReturnType<typeof setTimeout> | undefined;
52
49
  protected _repoSubscription: RepositorySubscription | undefined;
53
- protected _suspended: boolean;
54
50
  protected _watchHandle: WatchHandle | undefined;
55
51
  protected readonly _watchService: RepositoryWatchService;
56
52
  private _pendingWorkingTreeChange?;
57
53
  private _pendingWorkingTreeFlush;
58
54
  private _repoChangeListener;
55
+ /** Outstanding leases on the shared {@link _watchHandle} across `watch()` + `watchWorkingTree()`. */
56
+ private _watchHandleRefs;
57
+ /** Outstanding `watch()` (repo-change) leases; drives the single shared bridge subscription. */
58
+ private _watchRefs;
59
+ private _disposed;
59
60
  constructor(init: RepositoryInit);
60
61
  dispose(): void;
61
- protected _closed: boolean;
62
- get closed(): boolean;
63
- set closed(value: boolean);
62
+ /** Indicates whether this repository currently has an active `watch()` (repo-change) lease. */
63
+ get watching(): boolean;
64
64
  get etag(): number;
65
65
  get etagWorkingTree(): number | undefined;
66
66
  get hasPendingChanges(): boolean;
@@ -78,9 +78,15 @@ export declare class Repository {
78
78
  protected _updatedAt: number;
79
79
  get updatedAt(): number;
80
80
  get virtual(): boolean;
81
- suspend(): void;
82
- resume(delayMs?: number): void;
83
81
  waitForRepoChange(timeoutMs: number): Promise<boolean>;
82
+ /**
83
+ * Starts watching this repository's `.git` directory for repo-change events (delivered via
84
+ * {@link onDidChange}) and returns a lease. Ref-counted: the underlying watch handle is acquired
85
+ * on the first lease (across `watch()` and {@link watchWorkingTree}) and released when the last
86
+ * is disposed. The model is inert until watched. No-ops (returns a disposable that does nothing)
87
+ * for repositories without a git directory (e.g. virtual repos).
88
+ */
89
+ watch(): UnifiedDisposable;
84
90
  watchWorkingTree(delay?: number): UnifiedDisposable;
85
91
  /**
86
92
  * Creates a RepositoryChangeEvent for this repository.
@@ -89,8 +95,6 @@ export declare class Repository {
89
95
  protected createChangeEvent(changes: RepositoryChange[]): RepositoryChangeEvent;
90
96
  protected fireChange(...changes: RepositoryChange[]): void;
91
97
  protected fireChange(change: RepositoryChange, force: boolean): void;
92
- /** Called when the closed state changes. Override to add behavior (e.g., branch access tracking). */
93
- protected onClosedChanged(_closed: boolean): void;
94
98
  /** Called when the watch service notifies of FETCH_HEAD changes. */
95
99
  protected onFetchHeadChanged(): void;
96
100
  /**
@@ -117,7 +121,12 @@ export declare class Repository {
117
121
  * (graph, file history, compare branch, etc.) would fire N times for N active subscriptions.
118
122
  */
119
123
  protected onWorkingTreeChanged(paths: ReadonlySet<string>): void;
120
- private setupWatching;
124
+ /**
125
+ * Lazily acquires (and ref-counts) the shared {@link _watchHandle} for this repository, returning
126
+ * the handle plus a one-shot lease whose disposal decrements the ref count (releasing the handle
127
+ * when the last lease is gone). Returns `undefined` for repositories without a git directory.
128
+ */
129
+ private acquireWatchHandle;
121
130
  static is(repository: unknown): repository is Repository;
122
131
  }
123
132
  //# sourceMappingURL=repository.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../src/models/repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../src/models/repository.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEtE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAGrD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAGnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAc,MAAM,6BAA6B,CAAC;AACnG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAInE,MAAM,WAAW,MAAM;IACtB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,6CAA6C;IAC7C,QAAQ,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC;IACzB,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC;CACzB;AAED,MAAM,MAAM,gBAAgB,GACzB,SAAS,GACT,OAAO,GACP,MAAM,GACN,OAAO,GACP,MAAM,GACN,OAAO,GACP,SAAS,GACT,WAAW,GACX,QAAQ,GACR,UAAU,GACV,YAAY,GACZ,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,iBAAiB,GACjB,SAAS,GACT,QAAQ,GACR,UAAU,GACV,aAAa,CAAC;AAEjB,eAAO,MAAM,iBAAiB,+PAsB5B,CAAC;AAEH,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,sBAAsB,CAAC;CAC9C;AAED,MAAM,WAAW,gCAAgC;IAChD,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,4BAA4B;IAC5B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;CAChC;AAED,qBAAa,UAAU;IACtB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwC;IACrE,IAAI,WAAW,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAE9C;IAED,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAmD;IAC3F,IAAI,sBAAsB,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAEpE;IAED,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAC;IAClD,QAAQ,CAAC,SAAS,EAAE,GAAG,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,SAA0B;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC;IACzC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAEvB,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/C,SAAS,CAAC,iBAAiB,EAAE,sBAAsB,GAAG,SAAS,CAAC;IAChE,SAAS,CAAC,YAAY,EAAE,WAAW,GAAG,SAAS,CAAC;IAChD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,sBAAsB,CAAC;IAEzD,OAAO,CAAC,yBAAyB,CAAC,CAAmC;IACrE,OAAO,CAAC,wBAAwB,CAAS;IACzC,OAAO,CAAC,mBAAmB,CAAgC;IAC3D,qGAAqG;IACrG,OAAO,CAAC,gBAAgB,CAAK;IAC7B,gGAAgG;IAChG,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,SAAS,CAAS;gBAEd,IAAI,EAAE,cAAc;IA4BhC,OAAO,IAAI,IAAI;IAcf,+FAA+F;IAC/F,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,eAAe,IAAI,MAAM,GAAG,SAAS,CAGxC;IAED,IAAI,iBAAiB,IAAI,OAAO,CAE/B;IAED,IACI,MAAM,IAAI,MAAM,CAEnB;IAED,uDAAuD;IACvD,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,sDAAsD;IACtD,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,IAAI,iBAAiB,IAAI,MAAM,GAAG,SAAS,CAE1C;IAED,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACjC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,iDAAiD;IACjD,IAAI,SAAS,IAAI,GAAG,GAAG,SAAS,CAE/B;IAED,SAAS,CAAC,UAAU,EAAE,MAAM,CAAK;IACjC,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA6BtD;;;;;;OAMG;IAEH,KAAK,IAAI,iBAAiB;IA4B1B,gBAAgB,CAAC,KAAK,GAAE,MAAa,GAAG,iBAAiB;IAiBzD;;;OAGG;IACH,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,qBAAqB;IAI/E,SAAS,CAAC,UAAU,CAAC,GAAG,OAAO,EAAE,gBAAgB,EAAE,GAAG,IAAI;IAC1D,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAkBpE,oEAAoE;IACpE,SAAS,CAAC,kBAAkB,IAAI,IAAI;IASpC;;;;;;OAMG;IACH,WAAW,CAAC,SAAS,GAAE,MAAmB,GAAG,IAAI;IAQjD,0DAA0D;IAC1D,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAIpC,6DAA6D;IAC7D,SAAS,CAAC,gBAAgB,IAAI,IAAI;IAElC,qEAAqE;IACrE,OAAO,CAAC,mBAAmB;IAO3B;;;;;;;;OAQG;IACH,SAAS,CAAC,oBAAoB,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI;IAqBhE;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IA4B1B,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,GAAG,UAAU,IAAI,UAAU;CAGxD"}
@@ -11,7 +11,6 @@ import { trace } from '../../utils/decorators/log.js';
11
11
  import { memoize } from '../../utils/decorators/memoize.js';
12
12
  import { createDisposable } from '../../utils/disposable.js';
13
13
  import { Emitter } from '../../utils/event.js';
14
- import { getScopedLogger } from '../../utils/logger.scoped.js';
15
14
  import { basename, normalizePath } from '../../utils/path.js';
16
15
  import { fileUri } from '../../utils/uri.js';
17
16
  import { getCommonRepositoryUri } from '../utils/repository.utils.js';
@@ -60,17 +59,19 @@ export class Repository {
60
59
  provider;
61
60
  root;
62
61
  _gitDir;
63
- _pendingResumeTimer;
64
62
  _repoSubscription;
65
- _suspended;
66
63
  _watchHandle;
67
64
  _watchService;
68
65
  _pendingWorkingTreeChange;
69
66
  _pendingWorkingTreeFlush = false;
70
67
  _repoChangeListener;
68
+ /** Outstanding leases on the shared {@link _watchHandle} across `watch()` + `watchWorkingTree()`. */
69
+ _watchHandleRefs = 0;
70
+ /** Outstanding `watch()` (repo-change) leases; drives the single shared bridge subscription. */
71
+ _watchRefs = 0;
72
+ _disposed = false;
71
73
  constructor(init) {
72
74
  ({
73
- closed: this._closed = init.closed ?? false,
74
75
  id: this.id,
75
76
  index: this.index,
76
77
  gitDir: this._gitDir,
@@ -78,7 +79,6 @@ export class Repository {
78
79
  path: this.path,
79
80
  provider: this.provider,
80
81
  root: this.root,
81
- suspended: this._suspended = init.suspended ?? false,
82
82
  uri: this.uri,
83
83
  watchService: this._watchService,
84
84
  } = init);
@@ -94,41 +94,23 @@ export class Repository {
94
94
  this._name = `${prefix}${this._name}`;
95
95
  }
96
96
  }
97
- this.setupWatching();
98
97
  }
99
98
  dispose() {
100
- clearTimeout(this._pendingResumeTimer);
99
+ this._disposed = true;
101
100
  this._repoChangeListener?.dispose();
102
101
  this._repoChangeListener = undefined;
103
102
  this._repoSubscription?.dispose();
104
103
  this._repoSubscription = undefined;
105
104
  this._watchHandle?.dispose();
106
105
  this._watchHandle = undefined;
106
+ this._watchHandleRefs = 0;
107
+ this._watchRefs = 0;
107
108
  this._onDidChange.dispose();
108
109
  this._onDidChangeWorkingTree.dispose();
109
110
  }
110
- _closed;
111
- get closed() {
112
- return this._closed;
113
- }
114
- set closed(value) {
115
- const changed = this._closed !== value;
116
- this._closed = value;
117
- if (changed) {
118
- if (this._closed) {
119
- // When closing, fire immediately even if suspended
120
- this.fireChange('closed', true);
121
- this._repoChangeListener?.dispose();
122
- this._repoChangeListener = undefined;
123
- this._repoSubscription?.dispose();
124
- this._repoSubscription = undefined;
125
- }
126
- else {
127
- this.setupWatching();
128
- this.fireChange('opened');
129
- }
130
- this.onClosedChanged(value);
131
- }
111
+ /** Indicates whether this repository currently has an active `watch()` (repo-change) lease. */
112
+ get watching() {
113
+ return this._watchRefs > 0;
132
114
  }
133
115
  get etag() {
134
116
  return this._updatedAt;
@@ -170,33 +152,6 @@ export class Repository {
170
152
  get virtual() {
171
153
  return this.provider.virtual;
172
154
  }
173
- suspend() {
174
- this._suspended = true;
175
- this._watchHandle?.session.suspend();
176
- if (this._pendingResumeTimer != null) {
177
- clearTimeout(this._pendingResumeTimer);
178
- this._pendingResumeTimer = undefined;
179
- }
180
- }
181
- resume(delayMs) {
182
- if (delayMs) {
183
- if (this._pendingResumeTimer != null) {
184
- clearTimeout(this._pendingResumeTimer);
185
- }
186
- this._pendingResumeTimer = setTimeout(() => {
187
- this._pendingResumeTimer = undefined;
188
- this.resume();
189
- }, delayMs);
190
- return;
191
- }
192
- const scope = getScopedLogger();
193
- if (!this._suspended) {
194
- scope?.addExitInfo('ignored; not suspended');
195
- return;
196
- }
197
- this._suspended = false;
198
- this._watchHandle?.session.resume();
199
- }
200
155
  waitForRepoChange(timeoutMs) {
201
156
  let timeoutId;
202
157
  let listener;
@@ -223,15 +178,46 @@ export class Repository {
223
178
  }),
224
179
  ]);
225
180
  }
181
+ /**
182
+ * Starts watching this repository's `.git` directory for repo-change events (delivered via
183
+ * {@link onDidChange}) and returns a lease. Ref-counted: the underlying watch handle is acquired
184
+ * on the first lease (across `watch()` and {@link watchWorkingTree}) and released when the last
185
+ * is disposed. The model is inert until watched. No-ops (returns a disposable that does nothing)
186
+ * for repositories without a git directory (e.g. virtual repos).
187
+ */
188
+ watch() {
189
+ const acquired = this.acquireWatchHandle();
190
+ if (acquired == null)
191
+ return createDisposable(() => { });
192
+ if (this._watchRefs++ === 0) {
193
+ const sub = acquired.handle.session.subscribe();
194
+ this._repoSubscription = sub;
195
+ this._repoChangeListener = sub.onDidChange(e => this.onSessionRepoChange(e));
196
+ }
197
+ return createDisposable(() => {
198
+ // Repo already torn down — its handle/subscriptions are gone; skip to avoid a negative refcount
199
+ if (this._disposed)
200
+ return;
201
+ if (--this._watchRefs === 0) {
202
+ this._repoChangeListener?.dispose();
203
+ this._repoChangeListener = undefined;
204
+ this._repoSubscription?.dispose();
205
+ this._repoSubscription = undefined;
206
+ }
207
+ acquired.lease.dispose();
208
+ }, { once: true });
209
+ }
226
210
  watchWorkingTree(delay = 2500) {
227
- const sub = this._watchHandle?.session.subscribeToWorkingTree({ delayMs: delay });
228
- if (sub == null)
211
+ const acquired = this.acquireWatchHandle();
212
+ if (acquired == null)
229
213
  return createDisposable(() => { });
214
+ const sub = acquired.handle.session.subscribeToWorkingTree({ delayMs: delay });
230
215
  const listener = sub.onDidChangeWorkingTree(e => this.onWorkingTreeChanged(e.paths));
231
216
  return createDisposable(() => {
232
217
  listener.dispose();
233
218
  sub.dispose();
234
- });
219
+ acquired.lease.dispose();
220
+ }, { once: true });
235
221
  }
236
222
  /**
237
223
  * Creates a RepositoryChangeEvent for this repository.
@@ -241,7 +227,7 @@ export class Repository {
241
227
  return new RepositoryChangeEvent(this, changes);
242
228
  }
243
229
  fireChange(...args) {
244
- const lastArg = args[args.length - 1];
230
+ const lastArg = args.at(-1);
245
231
  const force = typeof lastArg === 'boolean' ? lastArg : false;
246
232
  const changes = (force ? args.slice(0, -1) : args);
247
233
  this._updatedAt = Date.now();
@@ -252,8 +238,6 @@ export class Repository {
252
238
  }
253
239
  this._watchHandle?.session.fireChange(...changes);
254
240
  }
255
- /** Called when the closed state changes. Override to add behavior (e.g., branch access tracking). */
256
- onClosedChanged(_closed) { }
257
241
  /** Called when the watch service notifies of FETCH_HEAD changes. */
258
242
  onFetchHeadChanged() {
259
243
  // Don't reset `_lastFetched` here: the FS watcher can fire even when the on-disk mtime
@@ -304,37 +288,45 @@ export class Repository {
304
288
  for (const p of paths) {
305
289
  this._pendingWorkingTreeChange.uris.add(fileUri(p));
306
290
  }
307
- if (this._suspended)
308
- return;
309
291
  if (this._pendingWorkingTreeFlush)
310
292
  return;
311
293
  this._pendingWorkingTreeFlush = true;
312
294
  queueMicrotask(() => {
313
295
  this._pendingWorkingTreeFlush = false;
314
296
  const e = this._pendingWorkingTreeChange;
315
- if (e == null || this._suspended)
297
+ if (e == null)
316
298
  return;
317
299
  this._pendingWorkingTreeChange = undefined;
318
300
  this._onDidChangeWorkingTree.fire(e);
319
301
  });
320
302
  }
321
- setupWatching() {
322
- if (this._gitDir == null || this._closed)
323
- return;
324
- if (this._repoSubscription != null)
325
- return;
326
- const scope = getScopedLogger();
303
+ /**
304
+ * Lazily acquires (and ref-counts) the shared {@link _watchHandle} for this repository, returning
305
+ * the handle plus a one-shot lease whose disposal decrements the ref count (releasing the handle
306
+ * when the last lease is gone). Returns `undefined` for repositories without a git directory.
307
+ */
308
+ acquireWatchHandle() {
309
+ if (this._gitDir == null || this._disposed)
310
+ return undefined;
327
311
  this._watchHandle ??= this._watchService.watch(this.path, this._gitDir, {
328
312
  onFetchHeadChanged: () => this.onFetchHeadChanged(),
329
313
  onGitIgnoreChanged: () => this.onGitIgnoreChanged(),
330
314
  onIgnoresChanged: () => this.onIgnoresChanged(),
331
315
  });
332
- if (this._watchHandle == null)
333
- return;
334
- const sub = this._watchHandle.session.subscribe();
335
- this._repoSubscription = sub;
336
- this._repoChangeListener = sub.onDidChange(e => this.onSessionRepoChange(e));
337
- scope?.trace(`subscribed to repo changes for '${this.uri.toString()}'`);
316
+ const handle = this._watchHandle;
317
+ if (handle == null)
318
+ return undefined;
319
+ this._watchHandleRefs++;
320
+ const lease = createDisposable(() => {
321
+ // Repo already torn down — the handle is gone; skip to avoid a negative refcount
322
+ if (this._disposed)
323
+ return;
324
+ if (--this._watchHandleRefs === 0) {
325
+ this._watchHandle?.dispose();
326
+ this._watchHandle = undefined;
327
+ }
328
+ }, { once: true });
329
+ return { handle: handle, lease: lease };
338
330
  }
339
331
  static is(repository) {
340
332
  return repository instanceof Repository;
@@ -345,17 +337,11 @@ __decorate([
345
337
  ], Repository.prototype, "idHash", null);
346
338
  __decorate([
347
339
  trace({ onlyExit: true })
348
- ], Repository.prototype, "suspend", null);
349
- __decorate([
350
- trace({ onlyExit: true })
351
- ], Repository.prototype, "resume", null);
340
+ ], Repository.prototype, "watch", null);
352
341
  __decorate([
353
342
  trace({ onlyExit: true })
354
343
  ], Repository.prototype, "watchWorkingTree", null);
355
344
  __decorate([
356
345
  trace()
357
346
  ], Repository.prototype, "fireChange", null);
358
- __decorate([
359
- trace({ onlyExit: true })
360
- ], Repository.prototype, "setupWatching", null);
361
347
  //# sourceMappingURL=repository.js.map