@gitkraken/core-gitlens 0.3.1 → 0.4.100

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 (1070) hide show
  1. package/CHANGELOG.md +83 -1
  2. package/README.md +22 -12
  3. package/dist/git/cache.d.ts +29 -2
  4. package/dist/git/cache.d.ts.map +1 -1
  5. package/dist/git/cache.js +67 -7
  6. package/dist/git/cache.js.map +1 -1
  7. package/dist/git/context.d.ts +4 -3
  8. package/dist/git/context.d.ts.map +1 -1
  9. package/dist/git/context.js.map +1 -1
  10. package/dist/git/errors.d.ts +31 -1
  11. package/dist/git/errors.d.ts.map +1 -1
  12. package/dist/git/errors.js +29 -0
  13. package/dist/git/errors.js.map +1 -1
  14. package/dist/git/models/author.d.ts.map +1 -1
  15. package/dist/git/models/author.js.map +1 -1
  16. package/dist/git/models/autolink.d.ts.map +1 -1
  17. package/dist/git/models/autolink.js.map +1 -1
  18. package/dist/git/models/blame.d.ts.map +1 -1
  19. package/dist/git/models/blame.js.map +1 -1
  20. package/dist/git/models/branch.d.ts.map +1 -1
  21. package/dist/git/models/branch.js.map +1 -1
  22. package/dist/git/models/commit.d.ts.map +1 -1
  23. package/dist/git/models/commit.js +1 -1
  24. package/dist/git/models/commit.js.map +1 -1
  25. package/dist/git/models/contributor.d.ts.map +1 -1
  26. package/dist/git/models/contributor.js.map +1 -1
  27. package/dist/git/models/defaultBranch.d.ts.map +1 -1
  28. package/dist/git/models/defaultBranch.js.map +1 -1
  29. package/dist/git/models/diff.d.ts.map +1 -1
  30. package/dist/git/models/diff.js.map +1 -1
  31. package/dist/git/models/file.d.ts.map +1 -1
  32. package/dist/git/models/file.js.map +1 -1
  33. package/dist/git/models/fileChange.d.ts.map +1 -1
  34. package/dist/git/models/fileChange.js.map +1 -1
  35. package/dist/git/models/fileStatus.d.ts +22 -22
  36. package/dist/git/models/fileStatus.d.ts.map +1 -1
  37. package/dist/git/models/fileStatus.js.map +1 -1
  38. package/dist/git/models/graph.d.ts +122 -1
  39. package/dist/git/models/graph.d.ts.map +1 -1
  40. package/dist/git/models/graph.js +4 -0
  41. package/dist/git/models/graph.js.map +1 -1
  42. package/dist/git/models/graphSearch.d.ts.map +1 -1
  43. package/dist/git/models/graphSearch.js.map +1 -1
  44. package/dist/git/models/graphSession.d.ts +177 -0
  45. package/dist/git/models/graphSession.d.ts.map +1 -0
  46. package/dist/git/models/graphSession.js +7 -0
  47. package/dist/git/models/graphSession.js.map +1 -0
  48. package/dist/git/models/issue.d.ts +12 -2
  49. package/dist/git/models/issue.d.ts.map +1 -1
  50. package/dist/git/models/issue.js +3 -1
  51. package/dist/git/models/issue.js.map +1 -1
  52. package/dist/git/models/issueOrPullRequest.d.ts.map +1 -1
  53. package/dist/git/models/issueOrPullRequest.js.map +1 -1
  54. package/dist/git/models/lineRange.d.ts.map +1 -1
  55. package/dist/git/models/lineRange.js.map +1 -1
  56. package/dist/git/models/log.d.ts.map +1 -1
  57. package/dist/git/models/log.js.map +1 -1
  58. package/dist/git/models/mergeConflicts.d.ts.map +1 -1
  59. package/dist/git/models/mergeConflicts.js.map +1 -1
  60. package/dist/git/models/patch.d.ts.map +1 -1
  61. package/dist/git/models/patch.js.map +1 -1
  62. package/dist/git/models/pausedOperationStatus.d.ts.map +1 -1
  63. package/dist/git/models/pausedOperationStatus.js.map +1 -1
  64. package/dist/git/models/pullRequest.d.ts +27 -2
  65. package/dist/git/models/pullRequest.d.ts.map +1 -1
  66. package/dist/git/models/pullRequest.js +7 -1
  67. package/dist/git/models/pullRequest.js.map +1 -1
  68. package/dist/git/models/rebase.d.ts.map +1 -1
  69. package/dist/git/models/rebase.js.map +1 -1
  70. package/dist/git/models/reference.d.ts.map +1 -1
  71. package/dist/git/models/reference.js.map +1 -1
  72. package/dist/git/models/reflog.d.ts.map +1 -1
  73. package/dist/git/models/reflog.js.map +1 -1
  74. package/dist/git/models/remote.d.ts.map +1 -1
  75. package/dist/git/models/remote.js.map +1 -1
  76. package/dist/git/models/remoteProvider.d.ts.map +1 -1
  77. package/dist/git/models/remoteProvider.js.map +1 -1
  78. package/dist/git/models/remoteResource.d.ts.map +1 -1
  79. package/dist/git/models/remoteResource.js.map +1 -1
  80. package/dist/git/models/repository.d.ts +20 -2
  81. package/dist/git/models/repository.d.ts.map +1 -1
  82. package/dist/git/models/repository.js +19 -0
  83. package/dist/git/models/repository.js.map +1 -1
  84. package/dist/git/models/repositoryChangeEvent.d.ts.map +1 -1
  85. package/dist/git/models/repositoryChangeEvent.js.map +1 -1
  86. package/dist/git/models/repositoryIdentities.d.ts.map +1 -1
  87. package/dist/git/models/repositoryIdentities.js.map +1 -1
  88. package/dist/git/models/repositoryMetadata.d.ts.map +1 -1
  89. package/dist/git/models/repositoryMetadata.js.map +1 -1
  90. package/dist/git/models/resourceDescriptor.d.ts +16 -0
  91. package/dist/git/models/resourceDescriptor.d.ts.map +1 -1
  92. package/dist/git/models/resourceDescriptor.js.map +1 -1
  93. package/dist/git/models/revision.d.ts.map +1 -1
  94. package/dist/git/models/revision.js.map +1 -1
  95. package/dist/git/models/search.d.ts.map +1 -1
  96. package/dist/git/models/search.js.map +1 -1
  97. package/dist/git/models/shortlog.d.ts.map +1 -1
  98. package/dist/git/models/shortlog.js.map +1 -1
  99. package/dist/git/models/signature.d.ts +14 -0
  100. package/dist/git/models/signature.d.ts.map +1 -1
  101. package/dist/git/models/signature.js.map +1 -1
  102. package/dist/git/models/staging.d.ts.map +1 -1
  103. package/dist/git/models/staging.js.map +1 -1
  104. package/dist/git/models/stash.d.ts.map +1 -1
  105. package/dist/git/models/stash.js.map +1 -1
  106. package/dist/git/models/status.d.ts.map +1 -1
  107. package/dist/git/models/status.js.map +1 -1
  108. package/dist/git/models/statusFile.d.ts.map +1 -1
  109. package/dist/git/models/statusFile.js.map +1 -1
  110. package/dist/git/models/tag.d.ts +11 -1
  111. package/dist/git/models/tag.d.ts.map +1 -1
  112. package/dist/git/models/tag.js +9 -2
  113. package/dist/git/models/tag.js.map +1 -1
  114. package/dist/git/models/tree.d.ts.map +1 -1
  115. package/dist/git/models/tree.js.map +1 -1
  116. package/dist/git/models/user.d.ts.map +1 -1
  117. package/dist/git/models/user.js.map +1 -1
  118. package/dist/git/models/worktree.d.ts.map +1 -1
  119. package/dist/git/models/worktree.js.map +1 -1
  120. package/dist/git/parsers/diffParser.d.ts.map +1 -1
  121. package/dist/git/parsers/diffParser.js +1 -1
  122. package/dist/git/parsers/diffParser.js.map +1 -1
  123. package/dist/git/parsers/rebaseTodoParser.d.ts.map +1 -1
  124. package/dist/git/parsers/rebaseTodoParser.js.map +1 -1
  125. package/dist/git/providers/blame.d.ts.map +1 -1
  126. package/dist/git/providers/blame.js.map +1 -1
  127. package/dist/git/providers/branches.d.ts +8 -1
  128. package/dist/git/providers/branches.d.ts.map +1 -1
  129. package/dist/git/providers/branches.js.map +1 -1
  130. package/dist/git/providers/commits.d.ts +6 -1
  131. package/dist/git/providers/commits.d.ts.map +1 -1
  132. package/dist/git/providers/commits.js.map +1 -1
  133. package/dist/git/providers/config.d.ts +6 -2
  134. package/dist/git/providers/config.d.ts.map +1 -1
  135. package/dist/git/providers/config.js.map +1 -1
  136. package/dist/git/providers/contributors.d.ts.map +1 -1
  137. package/dist/git/providers/contributors.js.map +1 -1
  138. package/dist/git/providers/diff.d.ts.map +1 -1
  139. package/dist/git/providers/diff.js.map +1 -1
  140. package/dist/git/providers/graph.d.ts +55 -1
  141. package/dist/git/providers/graph.d.ts.map +1 -1
  142. package/dist/git/providers/graph.js.map +1 -1
  143. package/dist/git/providers/operations.d.ts +1 -0
  144. package/dist/git/providers/operations.d.ts.map +1 -1
  145. package/dist/git/providers/operations.js.map +1 -1
  146. package/dist/git/providers/patch.d.ts.map +1 -1
  147. package/dist/git/providers/patch.js.map +1 -1
  148. package/dist/git/providers/pausedOperations.d.ts.map +1 -1
  149. package/dist/git/providers/pausedOperations.js.map +1 -1
  150. package/dist/git/providers/provider.d.ts.map +1 -1
  151. package/dist/git/providers/provider.js.map +1 -1
  152. package/dist/git/providers/refs.d.ts.map +1 -1
  153. package/dist/git/providers/refs.js.map +1 -1
  154. package/dist/git/providers/remotes.d.ts.map +1 -1
  155. package/dist/git/providers/remotes.js.map +1 -1
  156. package/dist/git/providers/revision.d.ts.map +1 -1
  157. package/dist/git/providers/revision.js.map +1 -1
  158. package/dist/git/providers/shared/remotes.d.ts.map +1 -1
  159. package/dist/git/providers/shared/remotes.js.map +1 -1
  160. package/dist/git/providers/staging.d.ts.map +1 -1
  161. package/dist/git/providers/staging.js.map +1 -1
  162. package/dist/git/providers/stash.d.ts.map +1 -1
  163. package/dist/git/providers/stash.js.map +1 -1
  164. package/dist/git/providers/status.d.ts +1 -0
  165. package/dist/git/providers/status.d.ts.map +1 -1
  166. package/dist/git/providers/status.js.map +1 -1
  167. package/dist/git/providers/tags.d.ts.map +1 -1
  168. package/dist/git/providers/tags.js.map +1 -1
  169. package/dist/git/providers/types.d.ts.map +1 -1
  170. package/dist/git/providers/types.js.map +1 -1
  171. package/dist/git/providers/worktrees.d.ts +5 -1
  172. package/dist/git/providers/worktrees.d.ts.map +1 -1
  173. package/dist/git/providers/worktrees.js.map +1 -1
  174. package/dist/git/remotes/azure-devops.d.ts.map +1 -1
  175. package/dist/git/remotes/azure-devops.js +27 -31
  176. package/dist/git/remotes/azure-devops.js.map +1 -1
  177. package/dist/git/remotes/bitbucket-server.d.ts.map +1 -1
  178. package/dist/git/remotes/bitbucket-server.js +21 -23
  179. package/dist/git/remotes/bitbucket-server.js.map +1 -1
  180. package/dist/git/remotes/bitbucket.d.ts.map +1 -1
  181. package/dist/git/remotes/bitbucket.js +21 -23
  182. package/dist/git/remotes/bitbucket.js.map +1 -1
  183. package/dist/git/remotes/custom.d.ts.map +1 -1
  184. package/dist/git/remotes/custom.js.map +1 -1
  185. package/dist/git/remotes/gerrit.d.ts.map +1 -1
  186. package/dist/git/remotes/gerrit.js +11 -13
  187. package/dist/git/remotes/gerrit.js.map +1 -1
  188. package/dist/git/remotes/gitea.d.ts.map +1 -1
  189. package/dist/git/remotes/gitea.js +12 -14
  190. package/dist/git/remotes/gitea.js.map +1 -1
  191. package/dist/git/remotes/github.d.ts.map +1 -1
  192. package/dist/git/remotes/github.js +54 -56
  193. package/dist/git/remotes/github.js.map +1 -1
  194. package/dist/git/remotes/gitlab.d.ts.map +1 -1
  195. package/dist/git/remotes/gitlab.js +93 -95
  196. package/dist/git/remotes/gitlab.js.map +1 -1
  197. package/dist/git/remotes/google-source.d.ts.map +1 -1
  198. package/dist/git/remotes/google-source.js.map +1 -1
  199. package/dist/git/remotes/matcher.d.ts.map +1 -1
  200. package/dist/git/remotes/matcher.js.map +1 -1
  201. package/dist/git/run.types.d.ts +62 -3
  202. package/dist/git/run.types.d.ts.map +1 -1
  203. package/dist/git/service.d.ts.map +1 -1
  204. package/dist/git/utils/autolink.utils.d.ts.map +1 -1
  205. package/dist/git/utils/autolink.utils.js.map +1 -1
  206. package/dist/git/utils/blame.utils.d.ts.map +1 -1
  207. package/dist/git/utils/blame.utils.js.map +1 -1
  208. package/dist/git/utils/branch.utils.d.ts.map +1 -1
  209. package/dist/git/utils/branch.utils.js +12 -1
  210. package/dist/git/utils/branch.utils.js.map +1 -1
  211. package/dist/git/utils/commit.utils.d.ts.map +1 -1
  212. package/dist/git/utils/commit.utils.js.map +1 -1
  213. package/dist/git/utils/conflictResolution.utils.d.ts +32 -0
  214. package/dist/git/utils/conflictResolution.utils.d.ts.map +1 -1
  215. package/dist/git/utils/conflictResolution.utils.js +95 -0
  216. package/dist/git/utils/conflictResolution.utils.js.map +1 -1
  217. package/dist/git/utils/contributor.utils.d.ts +1 -1
  218. package/dist/git/utils/contributor.utils.d.ts.map +1 -1
  219. package/dist/git/utils/contributor.utils.js +1 -2
  220. package/dist/git/utils/contributor.utils.js.map +1 -1
  221. package/dist/git/utils/fetch.utils.d.ts.map +1 -1
  222. package/dist/git/utils/fetch.utils.js.map +1 -1
  223. package/dist/git/utils/fileStatus.utils.d.ts +7 -0
  224. package/dist/git/utils/fileStatus.utils.d.ts.map +1 -1
  225. package/dist/git/utils/fileStatus.utils.js +6 -0
  226. package/dist/git/utils/fileStatus.utils.js.map +1 -1
  227. package/dist/git/utils/graph.utils.d.ts +20 -0
  228. package/dist/git/utils/graph.utils.d.ts.map +1 -0
  229. package/dist/git/utils/graph.utils.js +40 -0
  230. package/dist/git/utils/graph.utils.js.map +1 -0
  231. package/dist/git/utils/issue.utils.d.ts.map +1 -1
  232. package/dist/git/utils/issue.utils.js +1 -0
  233. package/dist/git/utils/issue.utils.js.map +1 -1
  234. package/dist/git/utils/issueOrPullRequest.utils.d.ts.map +1 -1
  235. package/dist/git/utils/issueOrPullRequest.utils.js.map +1 -1
  236. package/dist/git/utils/mergeConflicts.utils.d.ts.map +1 -1
  237. package/dist/git/utils/mergeConflicts.utils.js.map +1 -1
  238. package/dist/git/utils/pausedOperationStatus.utils.d.ts +13 -13
  239. package/dist/git/utils/pausedOperationStatus.utils.d.ts.map +1 -1
  240. package/dist/git/utils/pausedOperationStatus.utils.js.map +1 -1
  241. package/dist/git/utils/pullRequest.utils.d.ts.map +1 -1
  242. package/dist/git/utils/pullRequest.utils.js +9 -0
  243. package/dist/git/utils/pullRequest.utils.js.map +1 -1
  244. package/dist/git/utils/reachability.utils.d.ts +20 -2
  245. package/dist/git/utils/reachability.utils.d.ts.map +1 -1
  246. package/dist/git/utils/reachability.utils.js +68 -7
  247. package/dist/git/utils/reachability.utils.js.map +1 -1
  248. package/dist/git/utils/rebase.utils.d.ts.map +1 -1
  249. package/dist/git/utils/rebase.utils.js.map +1 -1
  250. package/dist/git/utils/reference.utils.d.ts.map +1 -1
  251. package/dist/git/utils/reference.utils.js.map +1 -1
  252. package/dist/git/utils/remote.utils.d.ts.map +1 -1
  253. package/dist/git/utils/remote.utils.js.map +1 -1
  254. package/dist/git/utils/repository.utils.d.ts.map +1 -1
  255. package/dist/git/utils/repository.utils.js.map +1 -1
  256. package/dist/git/utils/resourceDescriptor.utils.d.ts.map +1 -1
  257. package/dist/git/utils/resourceDescriptor.utils.js.map +1 -1
  258. package/dist/git/utils/revision.utils.d.ts.map +1 -1
  259. package/dist/git/utils/revision.utils.js.map +1 -1
  260. package/dist/git/utils/search.utils.d.ts.map +1 -1
  261. package/dist/git/utils/search.utils.js.map +1 -1
  262. package/dist/git/utils/sorting.d.ts.map +1 -1
  263. package/dist/git/utils/sorting.js.map +1 -1
  264. package/dist/git/utils/sshKey.utils.d.ts +7 -0
  265. package/dist/git/utils/sshKey.utils.d.ts.map +1 -0
  266. package/dist/git/utils/sshKey.utils.js +25 -0
  267. package/dist/git/utils/sshKey.utils.js.map +1 -0
  268. package/dist/git/utils/status.utils.d.ts.map +1 -1
  269. package/dist/git/utils/status.utils.js.map +1 -1
  270. package/dist/git/utils/statusFile.utils.d.ts.map +1 -1
  271. package/dist/git/utils/statusFile.utils.js.map +1 -1
  272. package/dist/git/utils/tag.utils.d.ts.map +1 -1
  273. package/dist/git/utils/tag.utils.js.map +1 -1
  274. package/dist/git/utils/tooltip.utils.d.ts.map +1 -1
  275. package/dist/git/utils/tooltip.utils.js.map +1 -1
  276. package/dist/git/utils/uriAuthority.d.ts.map +1 -1
  277. package/dist/git/utils/uriAuthority.js.map +1 -1
  278. package/dist/git/utils/user.utils.d.ts.map +1 -1
  279. package/dist/git/utils/user.utils.js.map +1 -1
  280. package/dist/git/utils/worktree.utils.d.ts.map +1 -1
  281. package/dist/git/utils/worktree.utils.js.map +1 -1
  282. package/dist/git/watching/changeEvent.d.ts.map +1 -1
  283. package/dist/git/watching/changeEvent.js.map +1 -1
  284. package/dist/git/watching/classifyChange.d.ts.map +1 -1
  285. package/dist/git/watching/classifyChange.js.map +1 -1
  286. package/dist/git/watching/gitIgnoreFilter.d.ts.map +1 -1
  287. package/dist/git/watching/gitIgnoreFilter.js.map +1 -1
  288. package/dist/git/watching/initWatcher.d.ts.map +1 -1
  289. package/dist/git/watching/initWatcher.js.map +1 -1
  290. package/dist/git/watching/provider.d.ts.map +1 -1
  291. package/dist/git/watching/provider.js.map +1 -1
  292. package/dist/git/watching/watchGroup.d.ts.map +1 -1
  293. package/dist/git/watching/watchGroup.js.map +1 -1
  294. package/dist/git/watching/watchService.d.ts +4 -0
  295. package/dist/git/watching/watchService.d.ts.map +1 -1
  296. package/dist/git/watching/watchService.js +15 -1
  297. package/dist/git/watching/watchService.js.map +1 -1
  298. package/dist/git/watching/watchSession.d.ts +7 -0
  299. package/dist/git/watching/watchSession.d.ts.map +1 -1
  300. package/dist/git/watching/watchSession.js +14 -2
  301. package/dist/git/watching/watchSession.js.map +1 -1
  302. package/dist/git/watching/watcherPatterns.d.ts.map +1 -1
  303. package/dist/git/watching/watcherPatterns.js.map +1 -1
  304. package/dist/git-cli/cliGitProvider.d.ts.map +1 -1
  305. package/dist/git-cli/exec/exec.d.ts.map +1 -1
  306. package/dist/git-cli/exec/exec.errors.d.ts.map +1 -1
  307. package/dist/git-cli/exec/exec.errors.js.map +1 -1
  308. package/dist/git-cli/exec/exec.js.map +1 -1
  309. package/dist/git-cli/exec/exec.types.d.ts.map +1 -1
  310. package/dist/git-cli/exec/exec.types.js.map +1 -1
  311. package/dist/git-cli/exec/features.d.ts.map +1 -1
  312. package/dist/git-cli/exec/features.js.map +1 -1
  313. package/dist/git-cli/exec/git.d.ts +19 -27
  314. package/dist/git-cli/exec/git.d.ts.map +1 -1
  315. package/dist/git-cli/exec/git.js +126 -34
  316. package/dist/git-cli/exec/git.js.map +1 -1
  317. package/dist/git-cli/exec/gitQueue.d.ts.map +1 -1
  318. package/dist/git-cli/exec/gitQueue.js.map +1 -1
  319. package/dist/git-cli/exec/locator.d.ts.map +1 -1
  320. package/dist/git-cli/exec/locator.js.map +1 -1
  321. package/dist/git-cli/parsers/blameParser.d.ts.map +1 -1
  322. package/dist/git-cli/parsers/blameParser.js.map +1 -1
  323. package/dist/git-cli/parsers/indexParser.d.ts.map +1 -1
  324. package/dist/git-cli/parsers/indexParser.js.map +1 -1
  325. package/dist/git-cli/parsers/logParser.d.ts +9 -1
  326. package/dist/git-cli/parsers/logParser.d.ts.map +1 -1
  327. package/dist/git-cli/parsers/logParser.js +141 -60
  328. package/dist/git-cli/parsers/logParser.js.map +1 -1
  329. package/dist/git-cli/parsers/mergeTreeParser.d.ts.map +1 -1
  330. package/dist/git-cli/parsers/mergeTreeParser.js.map +1 -1
  331. package/dist/git-cli/parsers/refParser.d.ts.map +1 -1
  332. package/dist/git-cli/parsers/refParser.js.map +1 -1
  333. package/dist/git-cli/parsers/reflogParser.d.ts.map +1 -1
  334. package/dist/git-cli/parsers/reflogParser.js.map +1 -1
  335. package/dist/git-cli/parsers/remoteParser.d.ts.map +1 -1
  336. package/dist/git-cli/parsers/remoteParser.js.map +1 -1
  337. package/dist/git-cli/parsers/shortlogParser.d.ts.map +1 -1
  338. package/dist/git-cli/parsers/shortlogParser.js.map +1 -1
  339. package/dist/git-cli/parsers/signatureParser.d.ts.map +1 -1
  340. package/dist/git-cli/parsers/signatureParser.js.map +1 -1
  341. package/dist/git-cli/parsers/sshSignatureParser.d.ts +21 -0
  342. package/dist/git-cli/parsers/sshSignatureParser.d.ts.map +1 -0
  343. package/dist/git-cli/parsers/sshSignatureParser.js +78 -0
  344. package/dist/git-cli/parsers/sshSignatureParser.js.map +1 -0
  345. package/dist/git-cli/parsers/statusParser.d.ts.map +1 -1
  346. package/dist/git-cli/parsers/statusParser.js.map +1 -1
  347. package/dist/git-cli/parsers/treeParser.d.ts.map +1 -1
  348. package/dist/git-cli/parsers/treeParser.js.map +1 -1
  349. package/dist/git-cli/parsers/worktreeParser.d.ts.map +1 -1
  350. package/dist/git-cli/parsers/worktreeParser.js +5 -7
  351. package/dist/git-cli/parsers/worktreeParser.js.map +1 -1
  352. package/dist/git-cli/providers/blame.d.ts.map +1 -1
  353. package/dist/git-cli/providers/blame.js.map +1 -1
  354. package/dist/git-cli/providers/branches.d.ts +1 -0
  355. package/dist/git-cli/providers/branches.d.ts.map +1 -1
  356. package/dist/git-cli/providers/branches.js +51 -32
  357. package/dist/git-cli/providers/branches.js.map +1 -1
  358. package/dist/git-cli/providers/commitFilesetUtils.d.ts.map +1 -1
  359. package/dist/git-cli/providers/commitFilesetUtils.js.map +1 -1
  360. package/dist/git-cli/providers/commits.d.ts +12 -1
  361. package/dist/git-cli/providers/commits.d.ts.map +1 -1
  362. package/dist/git-cli/providers/commits.js +89 -8
  363. package/dist/git-cli/providers/commits.js.map +1 -1
  364. package/dist/git-cli/providers/config.d.ts.map +1 -1
  365. package/dist/git-cli/providers/config.js.map +1 -1
  366. package/dist/git-cli/providers/contributors.d.ts.map +1 -1
  367. package/dist/git-cli/providers/contributors.js.map +1 -1
  368. package/dist/git-cli/providers/diff.d.ts.map +1 -1
  369. package/dist/git-cli/providers/diff.js.map +1 -1
  370. package/dist/git-cli/providers/graph.d.ts +35 -1
  371. package/dist/git-cli/providers/graph.d.ts.map +1 -1
  372. package/dist/git-cli/providers/graph.js +1434 -330
  373. package/dist/git-cli/providers/graph.js.map +1 -1
  374. package/dist/git-cli/providers/operations.d.ts +1 -0
  375. package/dist/git-cli/providers/operations.d.ts.map +1 -1
  376. package/dist/git-cli/providers/operations.js +22 -1
  377. package/dist/git-cli/providers/operations.js.map +1 -1
  378. package/dist/git-cli/providers/patch.d.ts.map +1 -1
  379. package/dist/git-cli/providers/patch.js.map +1 -1
  380. package/dist/git-cli/providers/pausedOperations.d.ts.map +1 -1
  381. package/dist/git-cli/providers/pausedOperations.js +3 -3
  382. package/dist/git-cli/providers/pausedOperations.js.map +1 -1
  383. package/dist/git-cli/providers/refs.d.ts.map +1 -1
  384. package/dist/git-cli/providers/refs.js.map +1 -1
  385. package/dist/git-cli/providers/remotes.d.ts.map +1 -1
  386. package/dist/git-cli/providers/remotes.js.map +1 -1
  387. package/dist/git-cli/providers/revision.d.ts +1 -0
  388. package/dist/git-cli/providers/revision.d.ts.map +1 -1
  389. package/dist/git-cli/providers/revision.js +33 -0
  390. package/dist/git-cli/providers/revision.js.map +1 -1
  391. package/dist/git-cli/providers/staging.d.ts.map +1 -1
  392. package/dist/git-cli/providers/staging.js.map +1 -1
  393. package/dist/git-cli/providers/stash.d.ts.map +1 -1
  394. package/dist/git-cli/providers/stash.js.map +1 -1
  395. package/dist/git-cli/providers/status.d.ts +28 -0
  396. package/dist/git-cli/providers/status.d.ts.map +1 -1
  397. package/dist/git-cli/providers/status.js +240 -154
  398. package/dist/git-cli/providers/status.js.map +1 -1
  399. package/dist/git-cli/providers/tags.d.ts.map +1 -1
  400. package/dist/git-cli/providers/tags.js +2 -1
  401. package/dist/git-cli/providers/tags.js.map +1 -1
  402. package/dist/git-cli/providers/worktrees.d.ts +4 -1
  403. package/dist/git-cli/providers/worktrees.d.ts.map +1 -1
  404. package/dist/git-cli/providers/worktrees.js +31 -3
  405. package/dist/git-cli/providers/worktrees.js.map +1 -1
  406. package/dist/git-cli/service.d.ts.map +1 -1
  407. package/dist/git-cli/service.js +8 -0
  408. package/dist/git-cli/service.js.map +1 -1
  409. package/dist/ipc/ipcServer.d.ts.map +1 -1
  410. package/dist/ipc/ipcServer.js +1 -1
  411. package/dist/ipc/ipcServer.js.map +1 -1
  412. package/dist/plus/agents/providers/claudeCodeProvider.d.ts +6 -1
  413. package/dist/plus/agents/providers/claudeCodeProvider.d.ts.map +1 -1
  414. package/dist/plus/agents/providers/claudeCodeProvider.js +19 -0
  415. package/dist/plus/agents/providers/claudeCodeProvider.js.map +1 -1
  416. package/dist/plus/agents/providers/claudeCodeTranscript.d.ts +68 -0
  417. package/dist/plus/agents/providers/claudeCodeTranscript.d.ts.map +1 -1
  418. package/dist/plus/agents/providers/claudeCodeTranscript.js +262 -8
  419. package/dist/plus/agents/providers/claudeCodeTranscript.js.map +1 -1
  420. package/dist/plus/agents/types.d.ts +36 -2
  421. package/dist/plus/agents/types.d.ts.map +1 -1
  422. package/dist/plus/ai/constants.d.ts +1 -2
  423. package/dist/plus/ai/constants.d.ts.map +1 -1
  424. package/dist/plus/ai/constants.js +1 -8
  425. package/dist/plus/ai/constants.js.map +1 -1
  426. package/dist/plus/ai/errors.d.ts.map +1 -1
  427. package/dist/plus/ai/errors.js.map +1 -1
  428. package/dist/plus/ai/models/conversation.d.ts.map +1 -1
  429. package/dist/plus/ai/models/conversation.js.map +1 -1
  430. package/dist/plus/ai/models/model.d.ts +2 -1
  431. package/dist/plus/ai/models/model.d.ts.map +1 -1
  432. package/dist/plus/ai/models/model.js +50 -1
  433. package/dist/plus/ai/models/model.js.map +1 -1
  434. package/dist/plus/ai/models/promptTemplates.d.ts +5 -2
  435. package/dist/plus/ai/models/promptTemplates.d.ts.map +1 -1
  436. package/dist/plus/ai/models/promptTemplates.js.map +1 -1
  437. package/dist/plus/ai/models/provider.d.ts.map +1 -1
  438. package/dist/plus/ai/models/provider.js.map +1 -1
  439. package/dist/plus/ai/models/results.d.ts.map +1 -1
  440. package/dist/plus/ai/models/results.js.map +1 -1
  441. package/dist/plus/ai/prompts.d.ts +1 -1
  442. package/dist/plus/ai/prompts.d.ts.map +1 -1
  443. package/dist/plus/ai/prompts.js +15 -47
  444. package/dist/plus/ai/prompts.js.map +1 -1
  445. package/dist/plus/ai/providers/anthropicProvider.d.ts +5 -0
  446. package/dist/plus/ai/providers/anthropicProvider.d.ts.map +1 -1
  447. package/dist/plus/ai/providers/anthropicProvider.js +40 -3
  448. package/dist/plus/ai/providers/anthropicProvider.js.map +1 -1
  449. package/dist/plus/ai/providers/azureProvider.d.ts.map +1 -1
  450. package/dist/plus/ai/providers/azureProvider.js.map +1 -1
  451. package/dist/plus/ai/providers/context.d.ts.map +1 -1
  452. package/dist/plus/ai/providers/context.js.map +1 -1
  453. package/dist/plus/ai/providers/deepSeekProvider.d.ts.map +1 -1
  454. package/dist/plus/ai/providers/deepSeekProvider.js +17 -1
  455. package/dist/plus/ai/providers/deepSeekProvider.js.map +1 -1
  456. package/dist/plus/ai/providers/geminiProvider.d.ts.map +1 -1
  457. package/dist/plus/ai/providers/geminiProvider.js +25 -6
  458. package/dist/plus/ai/providers/geminiProvider.js.map +1 -1
  459. package/dist/plus/ai/providers/gitkrakenProvider.d.ts.map +1 -1
  460. package/dist/plus/ai/providers/gitkrakenProvider.js +1 -0
  461. package/dist/plus/ai/providers/gitkrakenProvider.js.map +1 -1
  462. package/dist/plus/ai/providers/huggingFaceProvider.d.ts +1 -1
  463. package/dist/plus/ai/providers/huggingFaceProvider.d.ts.map +1 -1
  464. package/dist/plus/ai/providers/huggingFaceProvider.js +21 -18
  465. package/dist/plus/ai/providers/huggingFaceProvider.js.map +1 -1
  466. package/dist/plus/ai/providers/mistralProvider.d.ts.map +1 -1
  467. package/dist/plus/ai/providers/mistralProvider.js.map +1 -1
  468. package/dist/plus/ai/providers/ollamaProvider.d.ts.map +1 -1
  469. package/dist/plus/ai/providers/ollamaProvider.js.map +1 -1
  470. package/dist/plus/ai/providers/openAICompatibleProvider.d.ts.map +1 -1
  471. package/dist/plus/ai/providers/openAICompatibleProvider.js.map +1 -1
  472. package/dist/plus/ai/providers/openAICompatibleProviderBase.d.ts +10 -1
  473. package/dist/plus/ai/providers/openAICompatibleProviderBase.d.ts.map +1 -1
  474. package/dist/plus/ai/providers/openAICompatibleProviderBase.js +9 -1
  475. package/dist/plus/ai/providers/openAICompatibleProviderBase.js.map +1 -1
  476. package/dist/plus/ai/providers/openRouterProvider.d.ts.map +1 -1
  477. package/dist/plus/ai/providers/openRouterProvider.js.map +1 -1
  478. package/dist/plus/ai/providers/openaiProvider.d.ts.map +1 -1
  479. package/dist/plus/ai/providers/openaiProvider.js.map +1 -1
  480. package/dist/plus/ai/providers/xaiProvider.d.ts.map +1 -1
  481. package/dist/plus/ai/providers/xaiProvider.js +14 -1
  482. package/dist/plus/ai/providers/xaiProvider.js.map +1 -1
  483. package/dist/plus/ai/utils/ai.utils.d.ts.map +1 -1
  484. package/dist/plus/ai/utils/ai.utils.js +5 -7
  485. package/dist/plus/ai/utils/ai.utils.js.map +1 -1
  486. package/dist/plus/ai/utils/results.utils.d.ts +3 -0
  487. package/dist/plus/ai/utils/results.utils.d.ts.map +1 -1
  488. package/dist/plus/ai/utils/results.utils.js +26 -0
  489. package/dist/plus/ai/utils/results.utils.js.map +1 -1
  490. package/dist/plus/ai/utils/truncation.utils.d.ts +1 -1
  491. package/dist/plus/ai/utils/truncation.utils.d.ts.map +1 -1
  492. package/dist/plus/ai/utils/truncation.utils.js.map +1 -1
  493. package/dist/plus/git-github/api/config.d.ts.map +1 -1
  494. package/dist/plus/git-github/api/config.js.map +1 -1
  495. package/dist/plus/git-github/api/github.d.ts +71 -15
  496. package/dist/plus/git-github/api/github.d.ts.map +1 -1
  497. package/dist/plus/git-github/api/github.js +350 -84
  498. package/dist/plus/git-github/api/github.js.map +1 -1
  499. package/dist/plus/git-github/api/github.utils.d.ts.map +1 -1
  500. package/dist/plus/git-github/api/github.utils.js.map +1 -1
  501. package/dist/plus/git-github/api/token.d.ts.map +1 -1
  502. package/dist/plus/git-github/api/token.js.map +1 -1
  503. package/dist/plus/git-github/api/tokenUtils.d.ts.map +1 -1
  504. package/dist/plus/git-github/api/tokenUtils.js.map +1 -1
  505. package/dist/plus/git-github/api/types.d.ts.map +1 -1
  506. package/dist/plus/git-github/api/types.js.map +1 -1
  507. package/dist/plus/git-github/context.d.ts.map +1 -1
  508. package/dist/plus/git-github/models.d.ts +5 -0
  509. package/dist/plus/git-github/models.d.ts.map +1 -1
  510. package/dist/plus/git-github/models.js +27 -2
  511. package/dist/plus/git-github/models.js.map +1 -1
  512. package/dist/plus/git-github/providers/github/blame.d.ts.map +1 -1
  513. package/dist/plus/git-github/providers/github/blame.js.map +1 -1
  514. package/dist/plus/git-github/providers/github/branches.d.ts +2 -1
  515. package/dist/plus/git-github/providers/github/branches.d.ts.map +1 -1
  516. package/dist/plus/git-github/providers/github/branches.js +7 -3
  517. package/dist/plus/git-github/providers/github/branches.js.map +1 -1
  518. package/dist/plus/git-github/providers/github/commits.d.ts.map +1 -1
  519. package/dist/plus/git-github/providers/github/commits.js.map +1 -1
  520. package/dist/plus/git-github/providers/github/config.d.ts.map +1 -1
  521. package/dist/plus/git-github/providers/github/config.js.map +1 -1
  522. package/dist/plus/git-github/providers/github/contributors.d.ts.map +1 -1
  523. package/dist/plus/git-github/providers/github/contributors.js.map +1 -1
  524. package/dist/plus/git-github/providers/github/diff.d.ts.map +1 -1
  525. package/dist/plus/git-github/providers/github/diff.js +2 -2
  526. package/dist/plus/git-github/providers/github/diff.js.map +1 -1
  527. package/dist/plus/git-github/providers/github/graph.d.ts +12 -1
  528. package/dist/plus/git-github/providers/github/graph.d.ts.map +1 -1
  529. package/dist/plus/git-github/providers/github/graph.js +85 -0
  530. package/dist/plus/git-github/providers/github/graph.js.map +1 -1
  531. package/dist/plus/git-github/providers/github/refs.d.ts.map +1 -1
  532. package/dist/plus/git-github/providers/github/refs.js.map +1 -1
  533. package/dist/plus/git-github/providers/github/remotes.d.ts.map +1 -1
  534. package/dist/plus/git-github/providers/github/remotes.js.map +1 -1
  535. package/dist/plus/git-github/providers/github/revision.d.ts.map +1 -1
  536. package/dist/plus/git-github/providers/github/revision.js.map +1 -1
  537. package/dist/plus/git-github/providers/github/status.d.ts.map +1 -1
  538. package/dist/plus/git-github/providers/github/status.js.map +1 -1
  539. package/dist/plus/git-github/providers/github/tags.d.ts.map +1 -1
  540. package/dist/plus/git-github/providers/github/tags.js +3 -1
  541. package/dist/plus/git-github/providers/github/tags.js.map +1 -1
  542. package/dist/plus/git-github/providers/githubGitProvider.d.ts.map +1 -1
  543. package/dist/plus/git-github/providers/githubGitProvider.js.map +1 -1
  544. package/dist/plus/git-github/providers/githubProvider.d.ts.map +1 -1
  545. package/dist/plus/git-github/providers/githubProvider.js.map +1 -1
  546. package/dist/plus/integrations/authentication/cloudIntegrationService.d.ts +30 -0
  547. package/dist/plus/integrations/authentication/cloudIntegrationService.d.ts.map +1 -0
  548. package/dist/plus/integrations/authentication/cloudIntegrationService.js +214 -0
  549. package/dist/plus/integrations/authentication/cloudIntegrationService.js.map +1 -0
  550. package/dist/plus/integrations/authentication/configuredIntegrationService.d.ts +114 -0
  551. package/dist/plus/integrations/authentication/configuredIntegrationService.d.ts.map +1 -0
  552. package/dist/plus/integrations/authentication/configuredIntegrationService.js +497 -0
  553. package/dist/plus/integrations/authentication/configuredIntegrationService.js.map +1 -0
  554. package/dist/plus/integrations/authentication/integrationAuthenticationProvider.d.ts +112 -0
  555. package/dist/plus/integrations/authentication/integrationAuthenticationProvider.d.ts.map +1 -0
  556. package/dist/plus/integrations/authentication/integrationAuthenticationProvider.js +217 -0
  557. package/dist/plus/integrations/authentication/integrationAuthenticationProvider.js.map +1 -0
  558. package/dist/plus/integrations/authentication/integrationAuthenticationService.d.ts +62 -0
  559. package/dist/plus/integrations/authentication/integrationAuthenticationService.d.ts.map +1 -0
  560. package/dist/plus/integrations/authentication/integrationAuthenticationService.js +126 -0
  561. package/dist/plus/integrations/authentication/integrationAuthenticationService.js.map +1 -0
  562. package/dist/plus/integrations/authentication/manualTokenProvider.d.ts +16 -0
  563. package/dist/plus/integrations/authentication/manualTokenProvider.d.ts.map +1 -0
  564. package/dist/plus/integrations/authentication/manualTokenProvider.js +53 -0
  565. package/dist/plus/integrations/authentication/manualTokenProvider.js.map +1 -0
  566. package/dist/plus/integrations/authentication/models.d.ts +120 -0
  567. package/dist/plus/integrations/authentication/models.d.ts.map +1 -0
  568. package/dist/plus/integrations/authentication/models.js +64 -0
  569. package/dist/plus/integrations/authentication/models.js.map +1 -0
  570. package/dist/plus/integrations/collectionMetadata.d.ts +21 -0
  571. package/dist/plus/integrations/collectionMetadata.d.ts.map +1 -0
  572. package/dist/plus/integrations/collectionMetadata.js +121 -0
  573. package/dist/plus/integrations/collectionMetadata.js.map +1 -0
  574. package/dist/plus/integrations/constants.d.ts +57 -0
  575. package/dist/plus/integrations/constants.d.ts.map +1 -0
  576. package/dist/plus/integrations/constants.js +138 -0
  577. package/dist/plus/integrations/constants.js.map +1 -0
  578. package/dist/plus/integrations/context.d.ts +358 -0
  579. package/dist/plus/integrations/context.d.ts.map +1 -0
  580. package/dist/plus/integrations/context.js +2 -0
  581. package/dist/plus/integrations/context.js.map +1 -0
  582. package/dist/plus/integrations/errors.d.ts +79 -0
  583. package/dist/plus/integrations/errors.d.ts.map +1 -0
  584. package/dist/plus/integrations/errors.js +150 -0
  585. package/dist/plus/integrations/errors.js.map +1 -0
  586. package/dist/plus/integrations/index.d.ts +77 -0
  587. package/dist/plus/integrations/index.d.ts.map +1 -0
  588. package/dist/plus/integrations/index.js +64 -0
  589. package/dist/plus/integrations/index.js.map +1 -0
  590. package/dist/plus/integrations/integrationService.d.ts +379 -0
  591. package/dist/plus/integrations/integrationService.d.ts.map +1 -0
  592. package/dist/plus/integrations/integrationService.js +1895 -0
  593. package/dist/plus/integrations/integrationService.js.map +1 -0
  594. package/dist/plus/integrations/lite.d.ts +47 -0
  595. package/dist/plus/integrations/lite.d.ts.map +1 -0
  596. package/dist/plus/integrations/lite.js +141 -0
  597. package/dist/plus/integrations/lite.js.map +1 -0
  598. package/dist/plus/integrations/manager.d.ts +332 -0
  599. package/dist/plus/integrations/manager.d.ts.map +1 -0
  600. package/dist/plus/integrations/manager.js +2 -0
  601. package/dist/plus/integrations/manager.js.map +1 -0
  602. package/dist/plus/integrations/models/gitHostIntegration.d.ts +341 -0
  603. package/dist/plus/integrations/models/gitHostIntegration.d.ts.map +1 -0
  604. package/dist/plus/integrations/models/gitHostIntegration.js +1146 -0
  605. package/dist/plus/integrations/models/gitHostIntegration.js.map +1 -0
  606. package/dist/plus/integrations/models/integration.d.ts +212 -0
  607. package/dist/plus/integrations/models/integration.d.ts.map +1 -0
  608. package/dist/plus/integrations/models/integration.js +627 -0
  609. package/dist/plus/integrations/models/integration.js.map +1 -0
  610. package/dist/plus/integrations/models/issuesIntegration.d.ts +108 -0
  611. package/dist/plus/integrations/models/issuesIntegration.d.ts.map +1 -0
  612. package/dist/plus/integrations/models/issuesIntegration.js +216 -0
  613. package/dist/plus/integrations/models/issuesIntegration.js.map +1 -0
  614. package/dist/plus/integrations/providerFilters.d.ts +12 -0
  615. package/dist/plus/integrations/providerFilters.d.ts.map +1 -0
  616. package/dist/plus/integrations/providerFilters.js +14 -0
  617. package/dist/plus/integrations/providerFilters.js.map +1 -0
  618. package/dist/plus/integrations/providers/apiClients.d.ts +25 -0
  619. package/dist/plus/integrations/providers/apiClients.d.ts.map +1 -0
  620. package/dist/plus/integrations/providers/apiClients.js +39 -0
  621. package/dist/plus/integrations/providers/apiClients.js.map +1 -0
  622. package/dist/plus/integrations/providers/apiConfig.d.ts +52 -0
  623. package/dist/plus/integrations/providers/apiConfig.d.ts.map +1 -0
  624. package/dist/plus/integrations/providers/apiConfig.js +19 -0
  625. package/dist/plus/integrations/providers/apiConfig.js.map +1 -0
  626. package/dist/plus/integrations/providers/azure/azure.d.ts +59 -0
  627. package/dist/plus/integrations/providers/azure/azure.d.ts.map +1 -0
  628. package/dist/plus/integrations/providers/azure/azure.js +519 -0
  629. package/dist/plus/integrations/providers/azure/azure.js.map +1 -0
  630. package/dist/plus/integrations/providers/azure/models.d.ts +302 -0
  631. package/dist/plus/integrations/providers/azure/models.d.ts.map +1 -0
  632. package/dist/plus/integrations/providers/azure/models.js +203 -0
  633. package/dist/plus/integrations/providers/azure/models.js.map +1 -0
  634. package/dist/plus/integrations/providers/azureDevOps.d.ts +141 -0
  635. package/dist/plus/integrations/providers/azureDevOps.d.ts.map +1 -0
  636. package/dist/plus/integrations/providers/azureDevOps.js +925 -0
  637. package/dist/plus/integrations/providers/azureDevOps.js.map +1 -0
  638. package/dist/plus/integrations/providers/bitbucket/bitbucket.d.ts +53 -0
  639. package/dist/plus/integrations/providers/bitbucket/bitbucket.d.ts.map +1 -0
  640. package/dist/plus/integrations/providers/bitbucket/bitbucket.js +589 -0
  641. package/dist/plus/integrations/providers/bitbucket/bitbucket.js.map +1 -0
  642. package/dist/plus/integrations/providers/bitbucket/models.d.ts +222 -0
  643. package/dist/plus/integrations/providers/bitbucket/models.d.ts.map +1 -0
  644. package/dist/plus/integrations/providers/bitbucket/models.js +158 -0
  645. package/dist/plus/integrations/providers/bitbucket/models.js.map +1 -0
  646. package/dist/plus/integrations/providers/bitbucket-server/models.d.ts +138 -0
  647. package/dist/plus/integrations/providers/bitbucket-server/models.d.ts.map +1 -0
  648. package/dist/plus/integrations/providers/bitbucket-server/models.js +130 -0
  649. package/dist/plus/integrations/providers/bitbucket-server/models.js.map +1 -0
  650. package/dist/plus/integrations/providers/bitbucket-server.d.ts +84 -0
  651. package/dist/plus/integrations/providers/bitbucket-server.d.ts.map +1 -0
  652. package/dist/plus/integrations/providers/bitbucket-server.js +242 -0
  653. package/dist/plus/integrations/providers/bitbucket-server.js.map +1 -0
  654. package/dist/plus/integrations/providers/bitbucket.d.ts +84 -0
  655. package/dist/plus/integrations/providers/bitbucket.d.ts.map +1 -0
  656. package/dist/plus/integrations/providers/bitbucket.js +477 -0
  657. package/dist/plus/integrations/providers/bitbucket.js.map +1 -0
  658. package/dist/plus/integrations/providers/github/github.d.ts +5 -0
  659. package/dist/plus/integrations/providers/github/github.d.ts.map +1 -0
  660. package/dist/plus/integrations/providers/github/github.js +47 -0
  661. package/dist/plus/integrations/providers/github/github.js.map +1 -0
  662. package/dist/plus/integrations/providers/github/github.utils.d.ts +11 -0
  663. package/dist/plus/integrations/providers/github/github.utils.d.ts.map +1 -0
  664. package/dist/plus/integrations/providers/github/github.utils.js +6 -0
  665. package/dist/plus/integrations/providers/github/github.utils.js.map +1 -0
  666. package/dist/plus/integrations/providers/github/models.d.ts +3 -0
  667. package/dist/plus/integrations/providers/github/models.d.ts.map +1 -0
  668. package/dist/plus/integrations/providers/github/models.js +2 -0
  669. package/dist/plus/integrations/providers/github/models.js.map +1 -0
  670. package/dist/plus/integrations/providers/github.d.ts +116 -0
  671. package/dist/plus/integrations/providers/github.d.ts.map +1 -0
  672. package/dist/plus/integrations/providers/github.js +445 -0
  673. package/dist/plus/integrations/providers/github.js.map +1 -0
  674. package/dist/plus/integrations/providers/gitlab/gitlab.d.ts +71 -0
  675. package/dist/plus/integrations/providers/gitlab/gitlab.d.ts.map +1 -0
  676. package/dist/plus/integrations/providers/gitlab/gitlab.js +902 -0
  677. package/dist/plus/integrations/providers/gitlab/gitlab.js.map +1 -0
  678. package/dist/plus/integrations/providers/gitlab/gitlab.utils.d.ts +27 -0
  679. package/dist/plus/integrations/providers/gitlab/gitlab.utils.d.ts.map +1 -0
  680. package/dist/plus/integrations/providers/gitlab/gitlab.utils.js +53 -0
  681. package/dist/plus/integrations/providers/gitlab/gitlab.utils.js.map +1 -0
  682. package/dist/plus/integrations/providers/gitlab/models.d.ts +138 -0
  683. package/dist/plus/integrations/providers/gitlab/models.d.ts.map +1 -0
  684. package/dist/plus/integrations/providers/gitlab/models.js +99 -0
  685. package/dist/plus/integrations/providers/gitlab/models.js.map +1 -0
  686. package/dist/plus/integrations/providers/gitlab.d.ts +124 -0
  687. package/dist/plus/integrations/providers/gitlab.d.ts.map +1 -0
  688. package/dist/plus/integrations/providers/gitlab.js +519 -0
  689. package/dist/plus/integrations/providers/gitlab.js.map +1 -0
  690. package/dist/plus/integrations/providers/jira.d.ts +57 -0
  691. package/dist/plus/integrations/providers/jira.d.ts.map +1 -0
  692. package/dist/plus/integrations/providers/jira.js +425 -0
  693. package/dist/plus/integrations/providers/jira.js.map +1 -0
  694. package/dist/plus/integrations/providers/linear.d.ts +58 -0
  695. package/dist/plus/integrations/providers/linear.d.ts.map +1 -0
  696. package/dist/plus/integrations/providers/linear.js +304 -0
  697. package/dist/plus/integrations/providers/linear.js.map +1 -0
  698. package/dist/plus/integrations/providers/models.d.ts +712 -0
  699. package/dist/plus/integrations/providers/models.d.ts.map +1 -0
  700. package/dist/plus/integrations/providers/models.js +850 -0
  701. package/dist/plus/integrations/providers/models.js.map +1 -0
  702. package/dist/plus/integrations/providers/providersApi.d.ts +262 -0
  703. package/dist/plus/integrations/providers/providersApi.d.ts.map +1 -0
  704. package/dist/plus/integrations/providers/providersApi.js +1033 -0
  705. package/dist/plus/integrations/providers/providersApi.js.map +1 -0
  706. package/dist/plus/integrations/providers/trello.d.ts +47 -0
  707. package/dist/plus/integrations/providers/trello.d.ts.map +1 -0
  708. package/dist/plus/integrations/providers/trello.js +141 -0
  709. package/dist/plus/integrations/providers/trello.js.map +1 -0
  710. package/dist/plus/integrations/providers/utils/providerPaging.d.ts +29 -0
  711. package/dist/plus/integrations/providers/utils/providerPaging.d.ts.map +1 -0
  712. package/dist/plus/integrations/providers/utils/providerPaging.js +154 -0
  713. package/dist/plus/integrations/providers/utils/providerPaging.js.map +1 -0
  714. package/dist/plus/integrations/providers/utils.d.ts +75 -0
  715. package/dist/plus/integrations/providers/utils.d.ts.map +1 -0
  716. package/dist/plus/integrations/providers/utils.js +313 -0
  717. package/dist/plus/integrations/providers/utils.js.map +1 -0
  718. package/dist/plus/integrations/reads/context.d.ts +52 -0
  719. package/dist/plus/integrations/reads/context.d.ts.map +1 -0
  720. package/dist/plus/integrations/reads/context.js +2 -0
  721. package/dist/plus/integrations/reads/context.js.map +1 -0
  722. package/dist/plus/integrations/reads/cursors.d.ts +66 -0
  723. package/dist/plus/integrations/reads/cursors.d.ts.map +1 -0
  724. package/dist/plus/integrations/reads/cursors.js +133 -0
  725. package/dist/plus/integrations/reads/cursors.js.map +1 -0
  726. package/dist/plus/integrations/reads/drains.d.ts +60 -0
  727. package/dist/plus/integrations/reads/drains.d.ts.map +1 -0
  728. package/dist/plus/integrations/reads/drains.js +255 -0
  729. package/dist/plus/integrations/reads/drains.js.map +1 -0
  730. package/dist/plus/integrations/reads/filters.d.ts +81 -0
  731. package/dist/plus/integrations/reads/filters.d.ts.map +1 -0
  732. package/dist/plus/integrations/reads/filters.js +87 -0
  733. package/dist/plus/integrations/reads/filters.js.map +1 -0
  734. package/dist/plus/integrations/reads/hierarchy.d.ts +17 -0
  735. package/dist/plus/integrations/reads/hierarchy.d.ts.map +1 -0
  736. package/dist/plus/integrations/reads/hierarchy.js +348 -0
  737. package/dist/plus/integrations/reads/hierarchy.js.map +1 -0
  738. package/dist/plus/integrations/reads/hierarchy.utils.d.ts +53 -0
  739. package/dist/plus/integrations/reads/hierarchy.utils.d.ts.map +1 -0
  740. package/dist/plus/integrations/reads/hierarchy.utils.js +85 -0
  741. package/dist/plus/integrations/reads/hierarchy.utils.js.map +1 -0
  742. package/dist/plus/integrations/reads/issueTracker.d.ts +19 -0
  743. package/dist/plus/integrations/reads/issueTracker.d.ts.map +1 -0
  744. package/dist/plus/integrations/reads/issueTracker.js +346 -0
  745. package/dist/plus/integrations/reads/issueTracker.js.map +1 -0
  746. package/dist/plus/integrations/reads/issues.d.ts +34 -0
  747. package/dist/plus/integrations/reads/issues.d.ts.map +1 -0
  748. package/dist/plus/integrations/reads/issues.js +244 -0
  749. package/dist/plus/integrations/reads/issues.js.map +1 -0
  750. package/dist/plus/integrations/reads/paging.d.ts +136 -0
  751. package/dist/plus/integrations/reads/paging.d.ts.map +1 -0
  752. package/dist/plus/integrations/reads/paging.js +221 -0
  753. package/dist/plus/integrations/reads/paging.js.map +1 -0
  754. package/dist/plus/integrations/reads/pullRequests.d.ts +32 -0
  755. package/dist/plus/integrations/reads/pullRequests.d.ts.map +1 -0
  756. package/dist/plus/integrations/reads/pullRequests.js +151 -0
  757. package/dist/plus/integrations/reads/pullRequests.js.map +1 -0
  758. package/dist/plus/integrations/reads/warnings.d.ts +47 -0
  759. package/dist/plus/integrations/reads/warnings.d.ts.map +1 -0
  760. package/dist/plus/integrations/reads/warnings.js +81 -0
  761. package/dist/plus/integrations/reads/warnings.js.map +1 -0
  762. package/dist/plus/integrations/results.d.ts +189 -0
  763. package/dist/plus/integrations/results.d.ts.map +1 -0
  764. package/dist/plus/integrations/results.js +62 -0
  765. package/dist/plus/integrations/results.js.map +1 -0
  766. package/dist/plus/integrations/telemetry.d.ts +26 -0
  767. package/dist/plus/integrations/telemetry.d.ts.map +1 -0
  768. package/dist/plus/integrations/telemetry.js +11 -0
  769. package/dist/plus/integrations/telemetry.js.map +1 -0
  770. package/dist/plus/integrations/utils/domain.utils.d.ts +5 -0
  771. package/dist/plus/integrations/utils/domain.utils.d.ts.map +1 -0
  772. package/dist/plus/integrations/utils/domain.utils.js +27 -0
  773. package/dist/plus/integrations/utils/domain.utils.js.map +1 -0
  774. package/dist/plus/integrations/utils/integration.utils.d.ts +40 -0
  775. package/dist/plus/integrations/utils/integration.utils.d.ts.map +1 -0
  776. package/dist/plus/integrations/utils/integration.utils.js +182 -0
  777. package/dist/plus/integrations/utils/integration.utils.js.map +1 -0
  778. package/dist/utils/array.d.ts.map +1 -1
  779. package/dist/utils/array.js.map +1 -1
  780. package/dist/utils/brand.d.ts.map +1 -1
  781. package/dist/utils/cancellation.d.ts +13 -0
  782. package/dist/utils/cancellation.d.ts.map +1 -1
  783. package/dist/utils/cancellation.js +52 -7
  784. package/dist/utils/cancellation.js.map +1 -1
  785. package/dist/utils/charCode.d.ts.map +1 -1
  786. package/dist/utils/coalescedRun.d.ts +16 -0
  787. package/dist/utils/coalescedRun.d.ts.map +1 -0
  788. package/dist/utils/coalescedRun.js +43 -0
  789. package/dist/utils/coalescedRun.js.map +1 -0
  790. package/dist/utils/color.d.ts.map +1 -1
  791. package/dist/utils/color.js +3 -3
  792. package/dist/utils/color.js.map +1 -1
  793. package/dist/utils/date.d.ts +24 -0
  794. package/dist/utils/date.d.ts.map +1 -1
  795. package/dist/utils/date.js +62 -0
  796. package/dist/utils/date.js.map +1 -1
  797. package/dist/utils/debounce.js +1 -1
  798. package/dist/utils/debounce.js.map +1 -1
  799. package/dist/utils/decorators/debounce.d.ts.map +1 -1
  800. package/dist/utils/decorators/debounce.js.map +1 -1
  801. package/dist/utils/decorators/gate.d.ts.map +1 -1
  802. package/dist/utils/decorators/gate.js +2 -2
  803. package/dist/utils/decorators/gate.js.map +1 -1
  804. package/dist/utils/decorators/log.d.ts.map +1 -1
  805. package/dist/utils/decorators/log.js +5 -5
  806. package/dist/utils/decorators/log.js.map +1 -1
  807. package/dist/utils/decorators/memoize.d.ts.map +1 -1
  808. package/dist/utils/decorators/memoize.js +2 -2
  809. package/dist/utils/decorators/memoize.js.map +1 -1
  810. package/dist/utils/decorators/resolver.d.ts.map +1 -1
  811. package/dist/utils/decorators/resolver.js.map +1 -1
  812. package/dist/utils/decorators/sequentialize.d.ts.map +1 -1
  813. package/dist/utils/decorators/sequentialize.js +2 -2
  814. package/dist/utils/decorators/sequentialize.js.map +1 -1
  815. package/dist/utils/decorators/serializable.d.ts.map +1 -1
  816. package/dist/utils/decorators/serializable.js +1 -1
  817. package/dist/utils/decorators/serializable.js.map +1 -1
  818. package/dist/utils/dedupedAsyncCache.d.ts.map +1 -1
  819. package/dist/utils/disposable.d.ts +15 -2
  820. package/dist/utils/disposable.d.ts.map +1 -1
  821. package/dist/utils/disposable.js.map +1 -1
  822. package/dist/utils/env/browser/base64.d.ts.map +1 -1
  823. package/dist/utils/env/browser/base64.js.map +1 -1
  824. package/dist/utils/env/browser/crypto.d.ts.map +1 -1
  825. package/dist/utils/env/browser/crypto.js.map +1 -1
  826. package/dist/utils/env/browser/fs.d.ts.map +1 -1
  827. package/dist/utils/env/browser/fs.js.map +1 -1
  828. package/dist/utils/env/browser/hex.d.ts.map +1 -1
  829. package/dist/utils/env/browser/hex.js.map +1 -1
  830. package/dist/utils/env/browser/hrtime.d.ts.map +1 -1
  831. package/dist/utils/env/browser/hrtime.js.map +1 -1
  832. package/dist/utils/env/browser/logScope.d.ts.map +1 -1
  833. package/dist/utils/env/browser/logScope.js.map +1 -1
  834. package/dist/utils/env/browser/md5.d.ts.map +1 -1
  835. package/dist/utils/env/browser/md5.js.map +1 -1
  836. package/dist/utils/env/browser/platform.d.ts.map +1 -1
  837. package/dist/utils/env/browser/platform.js.map +1 -1
  838. package/dist/utils/env/node/base64.d.ts.map +1 -1
  839. package/dist/utils/env/node/base64.js.map +1 -1
  840. package/dist/utils/env/node/crypto.d.ts.map +1 -1
  841. package/dist/utils/env/node/crypto.js.map +1 -1
  842. package/dist/utils/env/node/exec.d.ts +9 -1
  843. package/dist/utils/env/node/exec.d.ts.map +1 -1
  844. package/dist/utils/env/node/exec.js +11 -4
  845. package/dist/utils/env/node/exec.js.map +1 -1
  846. package/dist/utils/env/node/fs.d.ts.map +1 -1
  847. package/dist/utils/env/node/fs.js.map +1 -1
  848. package/dist/utils/env/node/hex.d.ts.map +1 -1
  849. package/dist/utils/env/node/hex.js.map +1 -1
  850. package/dist/utils/env/node/hrtime.d.ts.map +1 -1
  851. package/dist/utils/env/node/hrtime.js.map +1 -1
  852. package/dist/utils/env/node/logScope.d.ts.map +1 -1
  853. package/dist/utils/env/node/logScope.js.map +1 -1
  854. package/dist/utils/env/node/platform.d.ts.map +1 -1
  855. package/dist/utils/env/node/platform.js.map +1 -1
  856. package/dist/utils/event.d.ts.map +1 -1
  857. package/dist/utils/event.js +18 -22
  858. package/dist/utils/event.js.map +1 -1
  859. package/dist/utils/formatter.d.ts.map +1 -1
  860. package/dist/utils/formatter.js.map +1 -1
  861. package/dist/utils/function.d.ts.map +1 -1
  862. package/dist/utils/function.js +3 -3
  863. package/dist/utils/function.js.map +1 -1
  864. package/dist/utils/hash.js.map +1 -1
  865. package/dist/utils/iterable.d.ts.map +1 -1
  866. package/dist/utils/iterable.js +2 -6
  867. package/dist/utils/iterable.js.map +1 -1
  868. package/dist/utils/lazy.d.ts.map +1 -1
  869. package/dist/utils/lazy.js.map +1 -1
  870. package/dist/utils/logger.d.ts.map +1 -1
  871. package/dist/utils/logger.js +1 -1
  872. package/dist/utils/logger.js.map +1 -1
  873. package/dist/utils/logger.scoped.js +1 -1
  874. package/dist/utils/logger.scoped.js.map +1 -1
  875. package/dist/utils/lruMap.d.ts.map +1 -1
  876. package/dist/utils/lruMap.js.map +1 -1
  877. package/dist/utils/mru.d.ts.map +1 -1
  878. package/dist/utils/mru.js.map +1 -1
  879. package/dist/utils/object.js.map +1 -1
  880. package/dist/utils/paging.d.ts +29 -0
  881. package/dist/utils/paging.d.ts.map +1 -1
  882. package/dist/utils/paging.js +18 -0
  883. package/dist/utils/paging.js.map +1 -1
  884. package/dist/utils/path.js.map +1 -1
  885. package/dist/utils/promise.d.ts +10 -0
  886. package/dist/utils/promise.d.ts.map +1 -1
  887. package/dist/utils/promise.js +26 -3
  888. package/dist/utils/promise.js.map +1 -1
  889. package/dist/utils/promiseCache.d.ts +12 -2
  890. package/dist/utils/promiseCache.d.ts.map +1 -1
  891. package/dist/utils/promiseCache.js +80 -50
  892. package/dist/utils/promiseCache.js.map +1 -1
  893. package/dist/utils/searchTree.d.ts.map +1 -1
  894. package/dist/utils/searchTree.js +4 -1
  895. package/dist/utils/searchTree.js.map +1 -1
  896. package/dist/utils/stopwatch.d.ts.map +1 -1
  897. package/dist/utils/string.js +1 -1
  898. package/dist/utils/string.js.map +1 -1
  899. package/dist/utils/subscriptionManager.d.ts.map +1 -1
  900. package/dist/utils/subscriptionManager.js.map +1 -1
  901. package/dist/utils/trie.d.ts.map +1 -1
  902. package/dist/utils/trie.js +1 -0
  903. package/dist/utils/trie.js.map +1 -1
  904. package/docs/integrations.md +372 -0
  905. package/docs/kepler-read-api-parity.md +112 -0
  906. package/package.json +238 -172
  907. package/src/git/cache.ts +75 -8
  908. package/src/git/context.ts +4 -3
  909. package/src/git/errors.ts +36 -1
  910. package/src/git/models/commit.ts +1 -1
  911. package/src/git/models/graph.ts +147 -0
  912. package/src/git/models/graphSession.ts +205 -0
  913. package/src/git/models/issue.ts +12 -1
  914. package/src/git/models/pullRequest.ts +27 -1
  915. package/src/git/models/repository.ts +24 -1
  916. package/src/git/models/resourceDescriptor.ts +17 -0
  917. package/src/git/models/signature.ts +16 -0
  918. package/src/git/models/tag.ts +6 -1
  919. package/src/git/parsers/diffParser.ts +1 -1
  920. package/src/git/providers/branches.ts +6 -1
  921. package/src/git/providers/commits.ts +6 -1
  922. package/src/git/providers/config.ts +5 -1
  923. package/src/git/providers/graph.ts +69 -2
  924. package/src/git/providers/operations.ts +1 -1
  925. package/src/git/providers/status.ts +1 -1
  926. package/src/git/providers/worktrees.ts +17 -3
  927. package/src/git/remotes/azure-devops.ts +29 -33
  928. package/src/git/remotes/bitbucket-server.ts +23 -25
  929. package/src/git/remotes/bitbucket.ts +23 -25
  930. package/src/git/remotes/gerrit.ts +12 -14
  931. package/src/git/remotes/gitea.ts +13 -15
  932. package/src/git/remotes/github.ts +56 -58
  933. package/src/git/remotes/gitlab.ts +102 -104
  934. package/src/git/run.types.ts +54 -4
  935. package/src/git/utils/branch.utils.ts +12 -1
  936. package/src/git/utils/conflictResolution.utils.ts +126 -0
  937. package/src/git/utils/contributor.utils.ts +1 -1
  938. package/src/git/utils/fileStatus.utils.ts +7 -0
  939. package/src/git/utils/graph.utils.ts +46 -0
  940. package/src/git/utils/issue.utils.ts +1 -0
  941. package/src/git/utils/pullRequest.utils.ts +9 -0
  942. package/src/git/utils/reachability.utils.ts +79 -8
  943. package/src/git/utils/sshKey.utils.ts +30 -0
  944. package/src/git/watching/watchService.ts +16 -1
  945. package/src/git/watching/watchSession.ts +20 -2
  946. package/src/git-cli/exec/git.ts +144 -42
  947. package/src/git-cli/parsers/logParser.ts +83 -1
  948. package/src/git-cli/parsers/sshSignatureParser.ts +85 -0
  949. package/src/git-cli/parsers/worktreeParser.ts +5 -7
  950. package/src/git-cli/providers/branches.ts +60 -38
  951. package/src/git-cli/providers/commits.ts +102 -9
  952. package/src/git-cli/providers/graph.ts +1771 -393
  953. package/src/git-cli/providers/operations.ts +22 -2
  954. package/src/git-cli/providers/pausedOperations.ts +3 -3
  955. package/src/git-cli/providers/revision.ts +42 -0
  956. package/src/git-cli/providers/status.ts +333 -178
  957. package/src/git-cli/providers/tags.ts +2 -0
  958. package/src/git-cli/providers/worktrees.ts +57 -6
  959. package/src/git-cli/service.ts +9 -0
  960. package/src/ipc/ipcServer.ts +1 -1
  961. package/src/plus/agents/providers/claudeCodeProvider.ts +25 -0
  962. package/src/plus/agents/providers/claudeCodeTranscript.ts +320 -8
  963. package/src/plus/agents/types.ts +34 -0
  964. package/src/plus/ai/constants.ts +1 -9
  965. package/src/plus/ai/models/model.ts +53 -2
  966. package/src/plus/ai/models/promptTemplates.ts +9 -2
  967. package/src/plus/ai/prompts.ts +16 -48
  968. package/src/plus/ai/providers/anthropicProvider.ts +45 -3
  969. package/src/plus/ai/providers/deepSeekProvider.ts +17 -1
  970. package/src/plus/ai/providers/geminiProvider.ts +25 -6
  971. package/src/plus/ai/providers/gitkrakenProvider.ts +2 -0
  972. package/src/plus/ai/providers/huggingFaceProvider.ts +28 -21
  973. package/src/plus/ai/providers/openAICompatibleProviderBase.ts +16 -1
  974. package/src/plus/ai/providers/xaiProvider.ts +14 -1
  975. package/src/plus/ai/utils/ai.utils.ts +5 -7
  976. package/src/plus/ai/utils/results.utils.ts +32 -0
  977. package/src/plus/ai/utils/truncation.utils.ts +0 -1
  978. package/src/plus/git-github/api/github.ts +497 -129
  979. package/src/plus/git-github/models.ts +33 -0
  980. package/src/plus/git-github/providers/github/branches.ts +6 -3
  981. package/src/plus/git-github/providers/github/diff.ts +1 -1
  982. package/src/plus/git-github/providers/github/graph.ts +131 -0
  983. package/src/plus/git-github/providers/github/tags.ts +2 -0
  984. package/src/plus/integrations/authentication/cloudIntegrationService.ts +292 -0
  985. package/src/plus/integrations/authentication/configuredIntegrationService.ts +651 -0
  986. package/src/plus/integrations/authentication/integrationAuthenticationProvider.ts +363 -0
  987. package/src/plus/integrations/authentication/integrationAuthenticationService.ts +148 -0
  988. package/src/plus/integrations/authentication/manualTokenProvider.ts +79 -0
  989. package/src/plus/integrations/authentication/models.ts +202 -0
  990. package/src/plus/integrations/collectionMetadata.ts +143 -0
  991. package/src/plus/integrations/constants.ts +190 -0
  992. package/src/plus/integrations/context.ts +382 -0
  993. package/src/plus/integrations/errors.ts +184 -0
  994. package/src/plus/integrations/index.ts +216 -0
  995. package/src/plus/integrations/integrationService.ts +2589 -0
  996. package/src/plus/integrations/lite.ts +233 -0
  997. package/src/plus/integrations/manager.ts +359 -0
  998. package/src/plus/integrations/models/gitHostIntegration.ts +1631 -0
  999. package/src/plus/integrations/models/integration.ts +926 -0
  1000. package/src/plus/integrations/models/issuesIntegration.ts +264 -0
  1001. package/src/plus/integrations/providerFilters.ts +12 -0
  1002. package/src/plus/integrations/providers/apiClients.ts +69 -0
  1003. package/src/plus/integrations/providers/apiConfig.ts +71 -0
  1004. package/src/plus/integrations/providers/azure/azure.ts +822 -0
  1005. package/src/plus/integrations/providers/azure/models.ts +618 -0
  1006. package/src/plus/integrations/providers/azureDevOps.ts +1342 -0
  1007. package/src/plus/integrations/providers/bitbucket/bitbucket.ts +904 -0
  1008. package/src/plus/integrations/providers/bitbucket/models.ts +445 -0
  1009. package/src/plus/integrations/providers/bitbucket-server/models.ts +283 -0
  1010. package/src/plus/integrations/providers/bitbucket-server.ts +447 -0
  1011. package/src/plus/integrations/providers/bitbucket.ts +794 -0
  1012. package/src/plus/integrations/providers/github/github.ts +64 -0
  1013. package/src/plus/integrations/providers/github/github.utils.ts +23 -0
  1014. package/src/plus/integrations/providers/github/models.ts +29 -0
  1015. package/src/plus/integrations/providers/github.ts +750 -0
  1016. package/src/plus/integrations/providers/gitlab/gitlab.ts +1320 -0
  1017. package/src/plus/integrations/providers/gitlab/gitlab.utils.ts +80 -0
  1018. package/src/plus/integrations/providers/gitlab/models.ts +271 -0
  1019. package/src/plus/integrations/providers/gitlab.ts +832 -0
  1020. package/src/plus/integrations/providers/jira.ts +564 -0
  1021. package/src/plus/integrations/providers/linear.ts +402 -0
  1022. package/src/plus/integrations/providers/models.ts +1622 -0
  1023. package/src/plus/integrations/providers/providersApi.ts +1889 -0
  1024. package/src/plus/integrations/providers/trello.ts +205 -0
  1025. package/src/plus/integrations/providers/utils/providerPaging.ts +177 -0
  1026. package/src/plus/integrations/providers/utils.ts +419 -0
  1027. package/src/plus/integrations/reads/context.ts +75 -0
  1028. package/src/plus/integrations/reads/cursors.ts +224 -0
  1029. package/src/plus/integrations/reads/drains.ts +343 -0
  1030. package/src/plus/integrations/reads/filters.ts +124 -0
  1031. package/src/plus/integrations/reads/hierarchy.ts +493 -0
  1032. package/src/plus/integrations/reads/hierarchy.utils.ts +106 -0
  1033. package/src/plus/integrations/reads/issueTracker.ts +480 -0
  1034. package/src/plus/integrations/reads/issues.ts +407 -0
  1035. package/src/plus/integrations/reads/paging.ts +277 -0
  1036. package/src/plus/integrations/reads/pullRequests.ts +267 -0
  1037. package/src/plus/integrations/reads/warnings.ts +170 -0
  1038. package/src/plus/integrations/results.ts +275 -0
  1039. package/src/plus/integrations/telemetry.ts +29 -0
  1040. package/src/plus/integrations/utils/domain.utils.ts +26 -0
  1041. package/src/plus/integrations/utils/integration.utils.ts +215 -0
  1042. package/src/utils/brand.ts +0 -2
  1043. package/src/utils/cancellation.ts +56 -7
  1044. package/src/utils/coalescedRun.ts +45 -0
  1045. package/src/utils/color.ts +3 -3
  1046. package/src/utils/date.ts +72 -0
  1047. package/src/utils/debounce.ts +1 -1
  1048. package/src/utils/decorators/gate.ts +2 -2
  1049. package/src/utils/decorators/log.ts +5 -5
  1050. package/src/utils/decorators/memoize.ts +2 -2
  1051. package/src/utils/decorators/sequentialize.ts +2 -2
  1052. package/src/utils/decorators/serializable.ts +1 -1
  1053. package/src/utils/disposable.ts +15 -2
  1054. package/src/utils/env/node/exec.ts +20 -5
  1055. package/src/utils/event.ts +19 -25
  1056. package/src/utils/function.ts +3 -3
  1057. package/src/utils/iterable.ts +2 -6
  1058. package/src/utils/logger.scoped.ts +1 -1
  1059. package/src/utils/logger.ts +1 -1
  1060. package/src/utils/paging.ts +46 -0
  1061. package/src/utils/promise.ts +33 -3
  1062. package/src/utils/promiseCache.ts +81 -51
  1063. package/src/utils/searchTree.ts +4 -2
  1064. package/src/utils/string.ts +1 -1
  1065. package/src/utils/trie.ts +1 -0
  1066. package/dist/plus/ai/providers/githubModelsProvider.d.ts +0 -19
  1067. package/dist/plus/ai/providers/githubModelsProvider.d.ts.map +0 -1
  1068. package/dist/plus/ai/providers/githubModelsProvider.js +0 -51
  1069. package/dist/plus/ai/providers/githubModelsProvider.js.map +0 -1
  1070. package/src/plus/ai/providers/githubModelsProvider.ts +0 -92
@@ -0,0 +1,850 @@
1
+ import entityIdentifiersModule from '@gitkraken/provider-apis/entity-identifiers';
2
+ import providerUtilsModule from '@gitkraken/provider-apis/provider-utils';
3
+ import { Issue, RepositoryAccessLevel } from '../../../git/models/issue.js';
4
+ import { PullRequest, PullRequestMergeableState, PullRequestReviewDecision, PullRequestReviewState, PullRequestStatusCheckRollupState, } from '../../../git/models/pullRequest.js';
5
+ import { gitSuffixRegex } from '../../../git/utils/remote.utils.js';
6
+ import { equalsIgnoreCase } from '../../../utils/string.js';
7
+ import { GitCloudHostIntegrationId, GitSelfManagedHostIntegrationId, IssuesCloudHostIntegrationId, } from '../constants.js';
8
+ import { IssueFilter, PullRequestFilter } from '../providerFilters.js';
9
+ export { IssueFilter, PullRequestFilter } from '../providerFilters.js';
10
+ import { getEntityIdentifierInput } from './utils.js';
11
+ const { EntityIdentifierUtils } = entityIdentifiersModule;
12
+ const { GitProviderUtils } = providerUtilsModule;
13
+ // Local runtime copies of the `@gitkraken/provider-apis` string enums. Duplicated (not imported as
14
+ // values) because the SDK ships as CJS whose named enum exports can't be statically imported as ESM
15
+ // values from the bundled `dist`. Exported so the enum-parity test can deep-equal them against the
16
+ // real SDK enums and turn any upstream drift into a test failure instead of a silent mismatch.
17
+ export const GitBuildStatusState = {
18
+ ActionRequired: 'ACTION_REQUIRED',
19
+ Cancelled: 'CANCELLED',
20
+ Error: 'ERROR',
21
+ Failed: 'FAILED',
22
+ Pending: 'PENDING',
23
+ Running: 'RUNNING',
24
+ Skipped: 'SKIPPED',
25
+ Success: 'SUCCESS',
26
+ Warning: 'WARNING',
27
+ OptionalActionRequired: 'OPTIONAL_ACTION_REQUIRED',
28
+ };
29
+ export const GitIssueState = {
30
+ Open: 'OPEN',
31
+ Closed: 'CLOSED',
32
+ };
33
+ export const GitPullRequestState = {
34
+ Open: 'OPEN',
35
+ Closed: 'CLOSED',
36
+ Merged: 'MERGED',
37
+ };
38
+ export const GitPullRequestReviewState = {
39
+ Approved: 'APPROVED',
40
+ ChangesRequested: 'CHANGES_REQUESTED',
41
+ Commented: 'COMMENTED',
42
+ ReviewRequested: 'REVIEW_REQUESTED',
43
+ };
44
+ export const GitPullRequestMergeableState = {
45
+ Behind: 'BEHIND',
46
+ Blocked: 'BLOCKED',
47
+ Conflicts: 'CONFLICTS',
48
+ FailingChecks: 'FAILING_CHECKS',
49
+ Mergeable: 'MERGEABLE',
50
+ Unknown: 'UNKNOWN',
51
+ UnknownAndBlocked: 'UNKNOWN_AND_BLOCKED',
52
+ Unstable: 'UNSTABLE',
53
+ };
54
+ /**
55
+ * Returns an account-wide PR identity. Provider PR ids are commonly scoped to a repository or organization,
56
+ * so an id alone is never safe for deduplication across a multi-repository fan-out. Repository identity wins
57
+ * when available so the same row still deduplicates when a later facet adds or removes its URL.
58
+ */
59
+ export function getProviderPullRequestIdentity(pr) {
60
+ const repository = pr.repository;
61
+ const urlIdentity = pr.url != null && pr.url.trim() !== '' ? `url:${pr.url}` : undefined;
62
+ if (repository == null)
63
+ return urlIdentity;
64
+ const owner = typeof repository.owner === 'string' ? repository.owner : repository.owner?.login;
65
+ const repositoryId = repository.id != null ? String(repository.id).trim() : '';
66
+ if (repositoryId !== '')
67
+ return `repository:${repositoryId}:pull-request:${pr.id}`;
68
+ const name = repository.name?.trim() ?? '';
69
+ const namespace = (repository.namespace ?? owner)?.trim() ?? '';
70
+ const project = repository.project?.trim() ?? '';
71
+ if (name !== '' && (namespace !== '' || project !== '')) {
72
+ return `repository:${namespace}/${project}/${name}:pull-request:${pr.id}`;
73
+ }
74
+ return urlIdentity;
75
+ }
76
+ export const ProviderPullRequestReviewState = GitPullRequestReviewState;
77
+ export const ProviderBuildStatusState = GitBuildStatusState;
78
+ export var PagingMode;
79
+ (function (PagingMode) {
80
+ PagingMode["Project"] = "project";
81
+ PagingMode["Repo"] = "repo";
82
+ PagingMode["Repos"] = "repos";
83
+ })(PagingMode || (PagingMode = {}));
84
+ export const providersMetadata = {
85
+ [GitCloudHostIntegrationId.GitHub]: {
86
+ domain: 'github.com',
87
+ id: GitCloudHostIntegrationId.GitHub,
88
+ name: 'GitHub',
89
+ type: 'git',
90
+ iconKey: GitCloudHostIntegrationId.GitHub,
91
+ issuesPagingMode: PagingMode.Repos,
92
+ pullRequestsPagingMode: PagingMode.Repos,
93
+ // Use 'username' property on account for PR filters
94
+ supportedPullRequestFilters: [
95
+ PullRequestFilter.Author,
96
+ PullRequestFilter.Assignee,
97
+ PullRequestFilter.ReviewRequested,
98
+ PullRequestFilter.Mention,
99
+ ],
100
+ supportedAccountWidePullRequestFilters: [
101
+ PullRequestFilter.Author,
102
+ PullRequestFilter.Assignee,
103
+ PullRequestFilter.ReviewRequested,
104
+ PullRequestFilter.Mention,
105
+ ],
106
+ // Use 'username' property on account for issue filters
107
+ supportedIssueFilters: [IssueFilter.Author, IssueFilter.Assignee, IssueFilter.Mention],
108
+ // The account-wide read is three independent searches (`author:@me`, `assignee:@me`, `mentions:@me`) behind
109
+ // one composite cursor, so any subset of them is expressible.
110
+ supportedAccountWideIssueFilters: [IssueFilter.Author, IssueFilter.Assignee, IssueFilter.Mention],
111
+ scopes: ['repo', 'read:user', 'user:email'],
112
+ },
113
+ [GitSelfManagedHostIntegrationId.CloudGitHubEnterprise]: {
114
+ domain: '',
115
+ id: GitSelfManagedHostIntegrationId.CloudGitHubEnterprise,
116
+ name: 'GitHub Enterprise',
117
+ type: 'git',
118
+ iconKey: 'github-enterprise',
119
+ issuesPagingMode: PagingMode.Repos,
120
+ pullRequestsPagingMode: PagingMode.Repos,
121
+ // Use 'username' property on account for PR filters
122
+ supportedPullRequestFilters: [
123
+ PullRequestFilter.Author,
124
+ PullRequestFilter.Assignee,
125
+ PullRequestFilter.ReviewRequested,
126
+ PullRequestFilter.Mention,
127
+ ],
128
+ supportedAccountWidePullRequestFilters: [
129
+ PullRequestFilter.Author,
130
+ PullRequestFilter.Assignee,
131
+ PullRequestFilter.ReviewRequested,
132
+ PullRequestFilter.Mention,
133
+ ],
134
+ // Use 'username' property on account for issue filters
135
+ supportedIssueFilters: [IssueFilter.Author, IssueFilter.Assignee, IssueFilter.Mention],
136
+ // The account-wide read is three independent searches (`author:@me`, `assignee:@me`, `mentions:@me`) behind
137
+ // one composite cursor, so any subset of them is expressible.
138
+ supportedAccountWideIssueFilters: [IssueFilter.Author, IssueFilter.Assignee, IssueFilter.Mention],
139
+ scopes: ['repo', 'read:user', 'user:email'],
140
+ },
141
+ [GitCloudHostIntegrationId.GitLab]: {
142
+ domain: 'gitlab.com',
143
+ id: GitCloudHostIntegrationId.GitLab,
144
+ name: 'GitLab',
145
+ type: 'git',
146
+ iconKey: GitCloudHostIntegrationId.GitLab,
147
+ issuesPagingMode: PagingMode.Repo,
148
+ pullRequestsPagingMode: PagingMode.Repo,
149
+ // Use 'username' property on account for PR filters
150
+ supportedPullRequestFilters: [
151
+ PullRequestFilter.Author,
152
+ PullRequestFilter.Assignee,
153
+ PullRequestFilter.ReviewRequested,
154
+ ],
155
+ supportedAccountWidePullRequestFilters: [
156
+ PullRequestFilter.Author,
157
+ PullRequestFilter.Assignee,
158
+ PullRequestFilter.ReviewRequested,
159
+ ],
160
+ // Use 'username' property on account for issue filters
161
+ supportedIssueFilters: [IssueFilter.Author, IssueFilter.Assignee],
162
+ // The account-wide read drains one `scope=assigned_to_me` pass and one `scope=all` + `authorUsername` pass,
163
+ // unioned, so either axis is expressible on its own. Mention is absent because GitLab's REST issue read has
164
+ // no first-class mention filter to narrow with.
165
+ supportedAccountWideIssueFilters: [IssueFilter.Assignee, IssueFilter.Author],
166
+ scopes: ['api', 'read_user', 'read_repository'],
167
+ },
168
+ [GitSelfManagedHostIntegrationId.CloudGitLabSelfHosted]: {
169
+ domain: '',
170
+ id: GitSelfManagedHostIntegrationId.CloudGitLabSelfHosted,
171
+ name: 'GitLab Self-Hosted',
172
+ type: 'git',
173
+ iconKey: 'gitlab-self-hosted',
174
+ issuesPagingMode: PagingMode.Repo,
175
+ pullRequestsPagingMode: PagingMode.Repo,
176
+ // Use 'username' property on account for PR filters
177
+ supportedPullRequestFilters: [
178
+ PullRequestFilter.Author,
179
+ PullRequestFilter.Assignee,
180
+ PullRequestFilter.ReviewRequested,
181
+ ],
182
+ supportedAccountWidePullRequestFilters: [
183
+ PullRequestFilter.Author,
184
+ PullRequestFilter.Assignee,
185
+ PullRequestFilter.ReviewRequested,
186
+ ],
187
+ // Use 'username' property on account for issue filters
188
+ supportedIssueFilters: [IssueFilter.Author, IssueFilter.Assignee],
189
+ // The account-wide read drains one `scope=assigned_to_me` pass and one `scope=all` + `authorUsername` pass,
190
+ // unioned, so either axis is expressible on its own. Mention is absent because GitLab's REST issue read has
191
+ // no first-class mention filter to narrow with.
192
+ supportedAccountWideIssueFilters: [IssueFilter.Assignee, IssueFilter.Author],
193
+ scopes: ['api', 'read_user', 'read_repository'],
194
+ },
195
+ [GitCloudHostIntegrationId.Bitbucket]: {
196
+ domain: 'bitbucket.org',
197
+ id: GitCloudHostIntegrationId.Bitbucket,
198
+ name: 'Bitbucket',
199
+ type: 'git',
200
+ iconKey: GitCloudHostIntegrationId.Bitbucket,
201
+ pullRequestsPagingMode: PagingMode.Repo,
202
+ // Use 'id' property on account for PR filters (reviewer filter keyed by account id / reviewerId)
203
+ supportedPullRequestFilters: [PullRequestFilter.Author, PullRequestFilter.ReviewRequested],
204
+ supportedAccountWidePullRequestFilters: [PullRequestFilter.Author, PullRequestFilter.ReviewRequested],
205
+ scopes: ['account:read', 'repository:read', 'pullrequest:read', 'issue:read'],
206
+ },
207
+ [GitSelfManagedHostIntegrationId.BitbucketServer]: {
208
+ domain: '',
209
+ id: GitSelfManagedHostIntegrationId.BitbucketServer,
210
+ name: 'Bitbucket Data Center',
211
+ type: 'git',
212
+ iconKey: GitSelfManagedHostIntegrationId.BitbucketServer,
213
+ supportedPullRequestFilters: [PullRequestFilter.Author, PullRequestFilter.ReviewRequested],
214
+ supportedAccountWidePullRequestFilters: [PullRequestFilter.Author, PullRequestFilter.ReviewRequested],
215
+ scopes: ['Project (Read)', 'Repository (Write)'],
216
+ },
217
+ [GitCloudHostIntegrationId.AzureDevOps]: {
218
+ domain: 'dev.azure.com',
219
+ id: GitCloudHostIntegrationId.AzureDevOps,
220
+ name: 'Azure DevOps',
221
+ type: 'git',
222
+ iconKey: GitCloudHostIntegrationId.AzureDevOps,
223
+ issuesPagingMode: PagingMode.Project,
224
+ pullRequestsPagingMode: PagingMode.Repo,
225
+ // Use 'id' property on account for PR filters (reviewer filter keyed by account id / reviewerId)
226
+ supportedPullRequestFilters: [
227
+ PullRequestFilter.Author,
228
+ PullRequestFilter.Assignee,
229
+ PullRequestFilter.ReviewRequested,
230
+ ],
231
+ supportedAccountWidePullRequestFilters: [
232
+ PullRequestFilter.Author,
233
+ PullRequestFilter.Assignee,
234
+ PullRequestFilter.ReviewRequested,
235
+ ],
236
+ // Use 'name' property on account for issue filters
237
+ supportedIssueFilters: [IssueFilter.Author, IssueFilter.Assignee, IssueFilter.Mention],
238
+ // The account-wide read drains one (project × assignee) and one (project × author) query per project, so
239
+ // either axis is expressible on its own. There is no mention query to narrow to.
240
+ supportedAccountWideIssueFilters: [IssueFilter.Author, IssueFilter.Assignee],
241
+ scopes: ['vso.code', 'vso.identity', 'vso.project', 'vso.profile', 'vso.work'],
242
+ },
243
+ [GitSelfManagedHostIntegrationId.AzureDevOpsServer]: {
244
+ domain: '',
245
+ id: GitSelfManagedHostIntegrationId.AzureDevOpsServer,
246
+ name: 'Azure DevOps Server',
247
+ type: 'git',
248
+ iconKey: GitCloudHostIntegrationId.AzureDevOps,
249
+ issuesPagingMode: PagingMode.Project,
250
+ pullRequestsPagingMode: PagingMode.Repo,
251
+ // Use 'id' property on account for PR filters (reviewer filter keyed by account id / reviewerId)
252
+ supportedPullRequestFilters: [
253
+ PullRequestFilter.Author,
254
+ PullRequestFilter.Assignee,
255
+ PullRequestFilter.ReviewRequested,
256
+ ],
257
+ supportedAccountWidePullRequestFilters: [
258
+ PullRequestFilter.Author,
259
+ PullRequestFilter.Assignee,
260
+ PullRequestFilter.ReviewRequested,
261
+ ],
262
+ // Use 'name' property on account for issue filters
263
+ supportedIssueFilters: [IssueFilter.Author, IssueFilter.Assignee, IssueFilter.Mention],
264
+ // The account-wide read drains one (project × assignee) and one (project × author) query per project, so
265
+ // either axis is expressible on its own. There is no mention query to narrow to.
266
+ supportedAccountWideIssueFilters: [IssueFilter.Author, IssueFilter.Assignee],
267
+ scopes: ['vso.code', 'vso.identity', 'vso.project', 'vso.profile', 'vso.work'],
268
+ },
269
+ [IssuesCloudHostIntegrationId.Jira]: {
270
+ domain: 'atlassian.net',
271
+ id: IssuesCloudHostIntegrationId.Jira,
272
+ name: 'Jira',
273
+ type: 'issues',
274
+ iconKey: IssuesCloudHostIntegrationId.Jira,
275
+ scopes: [
276
+ 'read:status:jira',
277
+ 'read:application-role:jira',
278
+ 'write:attachment:jira',
279
+ 'read:comment:jira',
280
+ 'read:project-category:jira',
281
+ 'read:project:jira',
282
+ 'read:issue.vote:jira',
283
+ 'read:field-configuration:jira',
284
+ 'write:issue:jira',
285
+ 'read:issue-security-level:jira',
286
+ 'write:issue.property:jira',
287
+ 'read:issue.changelog:jira',
288
+ 'read:avatar:jira',
289
+ 'read:issue-meta:jira',
290
+ 'read:permission:jira',
291
+ 'offline_access',
292
+ 'read:issue:jira',
293
+ 'read:me',
294
+ 'read:audit-log:jira',
295
+ 'read:project.component:jira',
296
+ 'read:group:jira',
297
+ 'read:project-role:jira',
298
+ 'write:comment:jira',
299
+ 'read:label:jira',
300
+ 'write:comment.property:jira',
301
+ 'read:issue-details:jira',
302
+ 'read:issue-type-hierarchy:jira',
303
+ 'read:issue.transition:jira',
304
+ 'read:user:jira',
305
+ 'read:field:jira',
306
+ 'read:issue-type:jira',
307
+ 'read:project.property:jira',
308
+ 'read:comment.property:jira',
309
+ 'read:project-version:jira',
310
+ ],
311
+ supportedIssueFilters: [IssueFilter.Author, IssueFilter.Assignee, IssueFilter.Mention],
312
+ },
313
+ [IssuesCloudHostIntegrationId.Linear]: {
314
+ domain: 'linear.app',
315
+ id: IssuesCloudHostIntegrationId.Linear,
316
+ name: 'Linear',
317
+ type: 'issues',
318
+ iconKey: IssuesCloudHostIntegrationId.Linear,
319
+ scopes: [],
320
+ // Linear scopes "my issues" client-side by the viewer's assignee id; author/mention aren't supported.
321
+ supportedIssueFilters: [IssueFilter.Assignee],
322
+ },
323
+ [IssuesCloudHostIntegrationId.Trello]: {
324
+ domain: 'trello.com',
325
+ id: IssuesCloudHostIntegrationId.Trello,
326
+ name: 'Trello',
327
+ type: 'issues',
328
+ iconKey: IssuesCloudHostIntegrationId.Trello,
329
+ scopes: [],
330
+ // Trello cards are filtered by the assignee (member) only; author/mention have no Trello equivalent.
331
+ supportedIssueFilters: [IssueFilter.Assignee],
332
+ },
333
+ };
334
+ export function getReasonsForUserIssue(issue, userLogin) {
335
+ const reasons = [];
336
+ let isAuthor = false;
337
+ let isAssignee = false;
338
+ if (issue.author?.username === userLogin || issue.author?.name === userLogin) {
339
+ reasons.push('authored');
340
+ isAuthor = true;
341
+ }
342
+ if (issue.assignees?.some(assignee => assignee.username === userLogin || assignee.name === userLogin)) {
343
+ reasons.push('assigned');
344
+ isAssignee = true;
345
+ }
346
+ // TODO: Impossible to denote all issues we are mentioned on given their properties. for now just
347
+ // assume we are mentioned on any of our issues we are not the author or assignee on
348
+ if (!isAuthor && !isAssignee) {
349
+ reasons.push('mentioned');
350
+ }
351
+ return reasons;
352
+ }
353
+ function toIssueIdentifier(value) {
354
+ return String(value);
355
+ }
356
+ export function toIssueShape(issue, provider) {
357
+ // TODO: Add some protections/baselines rather than killing the transformation here
358
+ // `author` is intentionally not required: some providers have no per-item creator (e.g. Trello cards,
359
+ // which the SDK maps with `author: null`), and dropping every such item would discard the whole board.
360
+ // Fall back to an empty author instead so these issues still surface.
361
+ if (issue.updatedDate == null || issue.url == null)
362
+ return undefined;
363
+ return {
364
+ type: 'issue',
365
+ provider: provider,
366
+ // `id` is the provider's display number/key (GitHub number, Jira/Linear key, Trello idShort), NOT a
367
+ // globally-unique id: it's rendered to users as `#{id}`, used to build branch names, and passed back
368
+ // to the provider as the `getIssue`/cache lookup key, all of which expect the number. `nodeId` is the
369
+ // provider-native stable id, but its uniqueness scope is provider-specific (Azure work-item ids are
370
+ // organization-scoped), so cross-scope consumers must include provider/domain/container identity too.
371
+ // provider-apis declares this as a string, but some providers (notably
372
+ // Azure's broadened work-item path) return a number at runtime. Keep the
373
+ // public IssueShape contract truthful for consumers that use string APIs.
374
+ id: toIssueIdentifier(issue.number),
375
+ nodeId: issue.graphQLId ?? issue.id,
376
+ title: issue.title,
377
+ url: issue.url,
378
+ createdDate: issue.createdDate,
379
+ updatedDate: issue.updatedDate,
380
+ closedDate: issue.closedDate ?? undefined,
381
+ closed: issue.closedDate != null,
382
+ state: issue.closedDate != null ? 'closed' : 'opened',
383
+ author: {
384
+ id: issue.author?.id ?? '',
385
+ // An absent name stays absent, matching {@link fromProviderAccount}; see `IssueMember.name`.
386
+ name: issue.author?.name ?? undefined,
387
+ avatarUrl: issue.author?.avatarUrl ?? undefined,
388
+ url: issue.author?.url ?? undefined,
389
+ },
390
+ assignees: issue.assignees?.map(assignee => ({
391
+ id: assignee.id ?? '',
392
+ name: assignee.name ?? undefined,
393
+ avatarUrl: assignee.avatarUrl ?? undefined,
394
+ url: assignee.url ?? undefined,
395
+ })) ?? [],
396
+ project: issue.project?.id && issue.project.resourceId && issue.project.namespace
397
+ ? {
398
+ id: issue.project.id,
399
+ name: issue.project.name,
400
+ resourceId: issue.project.resourceId,
401
+ resourceName: issue.project.namespace,
402
+ }
403
+ : undefined,
404
+ repository: issue.repository?.owner?.login != null
405
+ ? {
406
+ owner: issue.repository.owner.login,
407
+ repo: issue.repository.name,
408
+ id: issue.repository.id,
409
+ }
410
+ : undefined,
411
+ labels: issue.labels.map(label => ({ color: label.color ?? undefined, name: label.name })),
412
+ commentsCount: issue.commentCount ?? undefined,
413
+ thumbsUpCount: issue.upvoteCount ?? undefined,
414
+ body: issue.description ?? undefined,
415
+ issueType: issue.type ?? undefined,
416
+ };
417
+ }
418
+ /**
419
+ * Maps a raw provider-apis {@link ProviderRepository} to the GitLens-owned {@link ProviderRepositoryShape}
420
+ * the ProviderBackend `listRepos` facade surfaces, so consumers don't depend on the SDK repo type. The SDK's
421
+ * nullable fields (`webUrl`/`httpsUrl`/`sshUrl`/`defaultBranch`) collapse to `undefined`, matching the
422
+ * `?? undefined` convention in {@link toIssueShape}/{@link toAccount}.
423
+ */
424
+ export function toProviderRepositoryShape(repo) {
425
+ return {
426
+ id: repo.id,
427
+ namespace: repo.namespace,
428
+ name: repo.name,
429
+ project: repo.project ?? undefined,
430
+ url: repo.webUrl ?? undefined,
431
+ cloneUrlHttps: repo.httpsUrl ?? undefined,
432
+ cloneUrlSsh: repo.sshUrl ?? undefined,
433
+ defaultBranch: repo.defaultBranch?.name ?? undefined,
434
+ };
435
+ }
436
+ export function issueFilterToReason(filter) {
437
+ switch (filter) {
438
+ case IssueFilter.Author:
439
+ return 'authored';
440
+ case IssueFilter.Assignee:
441
+ return 'assigned';
442
+ case IssueFilter.Mention:
443
+ return 'mentioned';
444
+ }
445
+ }
446
+ export function toAccount(account, provider) {
447
+ return {
448
+ provider: provider,
449
+ id: account.id,
450
+ name: account.name ?? undefined,
451
+ email: account.email ?? undefined,
452
+ avatarUrl: account.avatarUrl ?? undefined,
453
+ username: account.username ?? undefined,
454
+ };
455
+ }
456
+ export const toProviderBuildStatusState = {
457
+ [PullRequestStatusCheckRollupState.Success]: GitBuildStatusState.Success,
458
+ [PullRequestStatusCheckRollupState.Failed]: GitBuildStatusState.Failed,
459
+ [PullRequestStatusCheckRollupState.Pending]: GitBuildStatusState.Pending,
460
+ };
461
+ export const fromProviderBuildStatusState = {
462
+ [GitBuildStatusState.Success]: PullRequestStatusCheckRollupState.Success,
463
+ [GitBuildStatusState.Failed]: PullRequestStatusCheckRollupState.Failed,
464
+ [GitBuildStatusState.Pending]: PullRequestStatusCheckRollupState.Pending,
465
+ [GitBuildStatusState.ActionRequired]: PullRequestStatusCheckRollupState.Failed,
466
+ // TODO: The rest of these are defaulted because we don't have a matching state for them
467
+ [GitBuildStatusState.Error]: undefined,
468
+ [GitBuildStatusState.Cancelled]: undefined,
469
+ [GitBuildStatusState.OptionalActionRequired]: undefined,
470
+ [GitBuildStatusState.Skipped]: undefined,
471
+ [GitBuildStatusState.Running]: undefined,
472
+ [GitBuildStatusState.Warning]: undefined,
473
+ };
474
+ export const toProviderPullRequestReviewState = {
475
+ [PullRequestReviewState.Approved]: GitPullRequestReviewState.Approved,
476
+ [PullRequestReviewState.ChangesRequested]: GitPullRequestReviewState.ChangesRequested,
477
+ [PullRequestReviewState.Commented]: GitPullRequestReviewState.Commented,
478
+ [PullRequestReviewState.ReviewRequested]: GitPullRequestReviewState.ReviewRequested,
479
+ [PullRequestReviewState.Dismissed]: null,
480
+ [PullRequestReviewState.Pending]: null,
481
+ };
482
+ export const fromProviderPullRequestReviewState = {
483
+ [GitPullRequestReviewState.Approved]: PullRequestReviewState.Approved,
484
+ [GitPullRequestReviewState.ChangesRequested]: PullRequestReviewState.ChangesRequested,
485
+ [GitPullRequestReviewState.Commented]: PullRequestReviewState.Commented,
486
+ [GitPullRequestReviewState.ReviewRequested]: PullRequestReviewState.ReviewRequested,
487
+ };
488
+ export const toProviderPullRequestMergeableState = {
489
+ [PullRequestMergeableState.Mergeable]: GitPullRequestMergeableState.Mergeable,
490
+ [PullRequestMergeableState.Conflicting]: GitPullRequestMergeableState.Conflicts,
491
+ [PullRequestMergeableState.Unknown]: GitPullRequestMergeableState.Unknown,
492
+ [PullRequestMergeableState.FailingChecks]: GitPullRequestMergeableState.FailingChecks,
493
+ [PullRequestMergeableState.BlockedByPolicy]: GitPullRequestMergeableState.Blocked,
494
+ };
495
+ export const fromProviderPullRequestMergeableState = {
496
+ [GitPullRequestMergeableState.Mergeable]: PullRequestMergeableState.Mergeable,
497
+ [GitPullRequestMergeableState.Conflicts]: PullRequestMergeableState.Conflicting,
498
+ [GitPullRequestMergeableState.Blocked]: PullRequestMergeableState.BlockedByPolicy,
499
+ [GitPullRequestMergeableState.FailingChecks]: PullRequestMergeableState.FailingChecks,
500
+ [GitPullRequestMergeableState.Unknown]: PullRequestMergeableState.Unknown,
501
+ [GitPullRequestMergeableState.Behind]: PullRequestMergeableState.Unknown,
502
+ [GitPullRequestMergeableState.UnknownAndBlocked]: PullRequestMergeableState.Unknown,
503
+ [GitPullRequestMergeableState.Unstable]: PullRequestMergeableState.Unknown,
504
+ };
505
+ export function toProviderReviews(reviewers) {
506
+ return reviewers
507
+ .filter(r => r.state !== PullRequestReviewState.Dismissed && r.state !== PullRequestReviewState.Pending)
508
+ .map(reviewer => ({
509
+ reviewer: toProviderAccount(reviewer.reviewer),
510
+ state: toProviderPullRequestReviewState[reviewer.state] ?? GitPullRequestReviewState.ReviewRequested,
511
+ }));
512
+ }
513
+ export function toReviewRequests(reviews) {
514
+ return reviews == null
515
+ ? undefined
516
+ : reviews
517
+ ?.filter(r => r.state === GitPullRequestReviewState.ReviewRequested)
518
+ .map(r => ({
519
+ isCodeOwner: false, // TODO: Find this value, and implement in the shared lib if needed
520
+ reviewer: fromProviderAccount(r.reviewer),
521
+ state: PullRequestReviewState.ReviewRequested,
522
+ }));
523
+ }
524
+ export function toCompletedReviews(reviews) {
525
+ return reviews == null
526
+ ? undefined
527
+ : reviews
528
+ ?.filter(r => r.state !== GitPullRequestReviewState.ReviewRequested)
529
+ .map(r => ({
530
+ isCodeOwner: false, // TODO: Find this value, and implement in the shared lib if needed
531
+ reviewer: fromProviderAccount(r.reviewer),
532
+ state: fromProviderPullRequestReviewState[r.state],
533
+ }));
534
+ }
535
+ export function toProviderReviewDecision(reviewDecision, reviewers) {
536
+ switch (reviewDecision) {
537
+ case PullRequestReviewDecision.Approved:
538
+ return GitPullRequestReviewState.Approved;
539
+ case PullRequestReviewDecision.ChangesRequested:
540
+ return GitPullRequestReviewState.ChangesRequested;
541
+ case PullRequestReviewDecision.ReviewRequired:
542
+ return GitPullRequestReviewState.ReviewRequested;
543
+ default: {
544
+ if (reviewers?.some(r => r.state === PullRequestReviewState.ReviewRequested)) {
545
+ return GitPullRequestReviewState.ReviewRequested;
546
+ }
547
+ else if (reviewers?.some(r => r.state === PullRequestReviewState.Commented)) {
548
+ return GitPullRequestReviewState.Commented;
549
+ }
550
+ return null;
551
+ }
552
+ }
553
+ }
554
+ export const fromPullRequestReviewDecision = {
555
+ [GitPullRequestReviewState.Approved]: PullRequestReviewDecision.Approved,
556
+ [GitPullRequestReviewState.ChangesRequested]: PullRequestReviewDecision.ChangesRequested,
557
+ [GitPullRequestReviewState.Commented]: undefined,
558
+ [GitPullRequestReviewState.ReviewRequested]: PullRequestReviewDecision.ReviewRequired,
559
+ };
560
+ export function toProviderPullRequestState(state) {
561
+ return state === 'opened'
562
+ ? GitPullRequestState.Open
563
+ : state === 'closed'
564
+ ? GitPullRequestState.Closed
565
+ : GitPullRequestState.Merged;
566
+ }
567
+ export function fromProviderPullRequestState(state) {
568
+ return state === GitPullRequestState.Open ? 'opened' : state === GitPullRequestState.Closed ? 'closed' : 'merged';
569
+ }
570
+ function toProviderPullRequestStatesCore(state) {
571
+ switch (state) {
572
+ case 'open':
573
+ case 'opened':
574
+ return [GitPullRequestState.Open];
575
+ case 'closed':
576
+ return [GitPullRequestState.Closed];
577
+ case 'merged':
578
+ return [GitPullRequestState.Merged];
579
+ case 'all':
580
+ return [GitPullRequestState.Open, GitPullRequestState.Closed, GitPullRequestState.Merged];
581
+ }
582
+ }
583
+ /** Maps PR include/state filters to the SDK's `states` input. `undefined`/omitted preserves the open-only default. */
584
+ export function toProviderPullRequestStates(state) {
585
+ if (state == null)
586
+ return undefined;
587
+ const states = (Array.isArray(state) ? state : [state]).flatMap(s => toProviderPullRequestStatesCore(s));
588
+ return states.length > 0 ? [...new Set(states)] : undefined;
589
+ }
590
+ /** Maps an issue state filter to the SDK's `states` input. `undefined`/omitted preserves the open-only default. */
591
+ export function toProviderIssueStates(state) {
592
+ switch (state) {
593
+ case 'open':
594
+ return [GitIssueState.Open];
595
+ case 'closed':
596
+ return [GitIssueState.Closed];
597
+ case 'all':
598
+ return [GitIssueState.Open, GitIssueState.Closed];
599
+ default:
600
+ return undefined;
601
+ }
602
+ }
603
+ /**
604
+ * Resolves a normalized {@link ProviderScope} to the provider-appropriate read inputs, dispatching on the
605
+ * provider's {@link PagingMode} (the authoritative per-provider scoping selector). Project-mode providers
606
+ * (Azure issues, Jira) produce `projectInputs` from `org` + `project`; repo/repos-mode providers produce a
607
+ * repo `GetRepoInput[]` from `scope.repos` (carrying `project` where relevant, e.g. Azure). This is the
608
+ * single public entry point consumers can use instead of hand-building the three underlying representations.
609
+ */
610
+ export function resolveProviderScope(scope, pagingMode) {
611
+ if (pagingMode === PagingMode.Project) {
612
+ if (scope.org != null && scope.project != null) {
613
+ return { projectInputs: [{ namespace: scope.org, project: scope.project }] };
614
+ }
615
+ return {};
616
+ }
617
+ const reposInput = scope.repos?.map(r => ({ namespace: r.owner, name: r.name, project: scope.project }));
618
+ return { reposInput: reposInput };
619
+ }
620
+ export function providerPullRequestMatchesSearch(pr, search) {
621
+ const term = search.trim().toLowerCase();
622
+ if (term.length === 0)
623
+ return true;
624
+ return pr.title.toLowerCase().includes(term) || (pr.description?.toLowerCase().includes(term) ?? false);
625
+ }
626
+ function toProviderRemoteInfo(ref) {
627
+ // Match the SDK convention: only populate remoteInfo when both clone URLs are known.
628
+ return ref?.cloneHttps && ref?.cloneSsh ? { cloneUrlHTTPS: ref.cloneHttps, cloneUrlSSH: ref.cloneSsh } : null;
629
+ }
630
+ export function toProviderPullRequest(pr) {
631
+ const prReviews = [...(pr.reviewRequests ?? []), ...(pr.latestReviews ?? [])];
632
+ return {
633
+ id: pr.id,
634
+ graphQLId: pr.nodeId,
635
+ number: pr.number ?? Number.parseInt(pr.id, 10),
636
+ title: pr.title,
637
+ description: pr.body ?? null,
638
+ url: pr.url,
639
+ state: toProviderPullRequestState(pr.state),
640
+ isCrossRepository: pr.refs?.isCrossRepository ?? false,
641
+ isDraft: pr.isDraft ?? false,
642
+ createdDate: pr.createdDate,
643
+ updatedDate: pr.updatedDate,
644
+ closedDate: pr.closedDate ?? null,
645
+ mergedDate: pr.mergedDate ?? null,
646
+ commentCount: pr.commentsCount ?? null,
647
+ upvoteCount: pr.thumbsUpCount ?? null,
648
+ commitCount: null,
649
+ fileCount: null,
650
+ additions: pr.additions ?? null,
651
+ deletions: pr.deletions ?? null,
652
+ author: toProviderAccount(pr.author),
653
+ assignees: pr.assignees?.map(toProviderAccount) ?? null,
654
+ baseRef: pr.refs?.base == null
655
+ ? null
656
+ : {
657
+ name: pr.refs.base.branch,
658
+ oid: pr.refs.base.sha,
659
+ },
660
+ headRef: pr.refs?.head == null
661
+ ? null
662
+ : {
663
+ name: pr.refs.head.branch,
664
+ oid: pr.refs.head.sha,
665
+ },
666
+ reviews: toProviderReviews(prReviews),
667
+ reviewDecision: toProviderReviewDecision(pr.reviewDecision, prReviews),
668
+ repository: pr.repository != null
669
+ ? {
670
+ id: pr.repository.id ?? '',
671
+ name: pr.repository.repo,
672
+ owner: {
673
+ login: pr.repository.owner,
674
+ },
675
+ remoteInfo: toProviderRemoteInfo(pr.refs?.base),
676
+ }
677
+ : {
678
+ id: '',
679
+ name: '',
680
+ owner: {
681
+ login: '',
682
+ },
683
+ remoteInfo: null,
684
+ },
685
+ headRepository: pr.refs?.head != null
686
+ ? {
687
+ id: pr.refs.head.repo,
688
+ name: pr.refs.head.repo,
689
+ owner: {
690
+ login: pr.refs.head.owner,
691
+ },
692
+ remoteInfo: toProviderRemoteInfo(pr.refs.head),
693
+ isFork: pr.refs.head.isFork,
694
+ }
695
+ : null,
696
+ headCommit: pr.statusCheckRollupState != null
697
+ ? {
698
+ buildStatuses: [
699
+ {
700
+ completedAt: null,
701
+ description: '',
702
+ name: '',
703
+ state: toProviderBuildStatusState[pr.statusCheckRollupState],
704
+ startedAt: null,
705
+ stage: null,
706
+ url: '',
707
+ },
708
+ ],
709
+ }
710
+ : null,
711
+ permissions: pr.viewerCanUpdate == null
712
+ ? null
713
+ : {
714
+ canMerge: pr.viewerCanUpdate === true &&
715
+ pr.repository.accessLevel != null &&
716
+ pr.repository.accessLevel >= RepositoryAccessLevel.Write,
717
+ canMergeAndBypassProtections: pr.viewerCanUpdate === true &&
718
+ pr.repository.accessLevel != null &&
719
+ pr.repository.accessLevel >= RepositoryAccessLevel.Admin,
720
+ },
721
+ mergeableState: pr.mergeableState
722
+ ? toProviderPullRequestMergeableState[pr.mergeableState]
723
+ : GitPullRequestMergeableState.Unknown,
724
+ };
725
+ }
726
+ export function fromProviderPullRequest(pr, provider, options) {
727
+ const repository = pr.repository;
728
+ const repositoryName = repository?.name ?? '';
729
+ const repositoryOwner = repository?.owner?.login ?? '';
730
+ const repositoryRemoteInfo = repository?.remoteInfo;
731
+ const headRepository = pr.headRepository;
732
+ const headRepositoryRemoteInfo = headRepository?.remoteInfo;
733
+ return new PullRequest(provider, fromProviderAccount(pr.author), pr.id, pr.graphQLId || pr.id, pr.title, pr.url ?? '', {
734
+ owner: repositoryOwner,
735
+ repo: repositoryName,
736
+ // This has to be here until we can take this information from ProviderPullRequest:
737
+ accessLevel: RepositoryAccessLevel.Write,
738
+ id: repository?.id ?? '',
739
+ }, fromProviderPullRequestState(pr.state), pr.createdDate, pr.updatedDate, pr.closedDate ?? undefined, pr.mergedDate ?? undefined, pr.mergeableState ? fromProviderPullRequestMergeableState[pr.mergeableState] : undefined, pr.permissions?.canMerge || pr.permissions?.canMergeAndBypassProtections ? true : undefined, {
740
+ base: {
741
+ branch: pr.baseRef?.name ?? '',
742
+ sha: pr.baseRef?.oid ?? '',
743
+ repo: repositoryName,
744
+ owner: repositoryOwner,
745
+ exists: pr.baseRef != null,
746
+ url: repositoryRemoteInfo?.cloneUrlHTTPS
747
+ ? repositoryRemoteInfo.cloneUrlHTTPS.replace(gitSuffixRegex, '')
748
+ : '',
749
+ cloneHttps: repositoryRemoteInfo?.cloneUrlHTTPS || undefined,
750
+ cloneSsh: repositoryRemoteInfo?.cloneUrlSSH || undefined,
751
+ },
752
+ head: {
753
+ branch: pr.headRef?.name ?? '',
754
+ sha: pr.headRef?.oid ?? '',
755
+ repo: headRepository?.name ?? '',
756
+ owner: headRepository?.owner?.login ?? '',
757
+ exists: pr.headRef != null,
758
+ url: headRepositoryRemoteInfo?.cloneUrlHTTPS
759
+ ? headRepositoryRemoteInfo.cloneUrlHTTPS.replace(gitSuffixRegex, '')
760
+ : '',
761
+ cloneHttps: headRepositoryRemoteInfo?.cloneUrlHTTPS || undefined,
762
+ cloneSsh: headRepositoryRemoteInfo?.cloneUrlSSH || undefined,
763
+ isFork: headRepository?.isFork,
764
+ },
765
+ isCrossRepository: pr.isCrossRepository,
766
+ }, pr.isDraft, pr.additions ?? undefined, pr.deletions ?? undefined, pr.commentCount ?? undefined, pr.upvoteCount ?? undefined, pr.reviewDecision ? fromPullRequestReviewDecision[pr.reviewDecision] : undefined, toReviewRequests(pr.reviews), toCompletedReviews(pr.reviews), pr.assignees?.map(fromProviderAccount) ?? undefined, pr.headCommit?.buildStatuses?.[0]?.state
767
+ ? fromProviderBuildStatusState[pr.headCommit.buildStatuses[0].state]
768
+ : undefined, options?.project, pr.version, pr.description ?? undefined, pr.number, options?.currentAccountId != null ? pr.author?.id === options.currentAccountId : undefined);
769
+ }
770
+ export function fromProviderIssue(issue, integration, options) {
771
+ const identifier = toIssueIdentifier(issue.number);
772
+ return new Issue(integration, identifier, issue.graphQLId ?? issue.id, issue.title, issue.url ?? '', issue.createdDate, issue.updatedDate ?? issue.closedDate ?? issue.createdDate, issue.closedDate != null, issue.closedDate != null ? 'closed' : 'opened', fromProviderAccount(issue.author), issue.assignees?.map(fromProviderAccount) ?? undefined, issue.repository != null
773
+ ? {
774
+ owner: issue.repository.owner.login ?? '',
775
+ repo: issue.repository.name,
776
+ id: issue.repository.id,
777
+ }
778
+ : undefined, issue.closedDate ?? undefined, issue.labels?.map(label => ({ name: label.name, color: label.color ?? undefined })), issue.commentCount ?? undefined, issue.upvoteCount ?? undefined, issue.description ?? undefined, options?.project != null
779
+ ? {
780
+ id: options.project.id,
781
+ name: options.project.name,
782
+ resourceId: options.project.resourceId,
783
+ resourceName: options.project.resourceName,
784
+ }
785
+ : issue.project?.id && issue.project?.resourceId && issue.project?.namespace
786
+ ? {
787
+ id: issue.project.id,
788
+ name: issue.project.name,
789
+ resourceId: issue.project.resourceId,
790
+ resourceName: issue.project.namespace,
791
+ }
792
+ : undefined, identifier, issue.type ?? undefined);
793
+ }
794
+ export function toProviderPullRequestWithUniqueId(pr) {
795
+ return {
796
+ ...toProviderPullRequest(pr),
797
+ uuid: EntityIdentifierUtils.encode(getEntityIdentifierInput(pr)),
798
+ };
799
+ }
800
+ export function toProviderAccount(account) {
801
+ return {
802
+ id: account.id ?? null,
803
+ avatarUrl: account.avatarUrl ?? null,
804
+ name: account.name ?? null,
805
+ url: account.url ?? null,
806
+ // TODO: Implement these in our own model
807
+ email: '',
808
+ username: account.name ?? null,
809
+ };
810
+ }
811
+ export function fromProviderAccount(account) {
812
+ return {
813
+ id: account?.id ?? '',
814
+ // An absent name stays absent. `'unknown'` was a display fallback invented in the provider layer, and a
815
+ // consumer couldn't tell it apart from a member genuinely named that — so it couldn't be undone where a
816
+ // name-shaped placeholder is wrong (rendering an avatar-only chip, or building an AI prompt, where
817
+ // `Assignees: unknown` reads as a real assignee). It also disagreed with {@link toIssueShape}, which
818
+ // collapsed the same absent name to `''` — same facade method, two fallbacks. Both now emit `undefined`.
819
+ name: account?.name ?? undefined,
820
+ avatarUrl: account?.avatarUrl ?? undefined,
821
+ // `url` is optional, so an absent one must be `undefined`, not `''`. `''` passes a `!= null` presence
822
+ // check and renders as a link to nowhere, and it disagreed with {@link toIssueShape} — which already
823
+ // collapses to `undefined` — even though BOTH mappers feed `listIssuesPage` (the repo-scoped path goes
824
+ // through `toIssueShape`, Azure's account-wide path through {@link fromProviderIssue}). Same facade
825
+ // method, two shapes. Matches {@link toProviderRepositoryShape}, which collapses every absent optional.
826
+ url: account?.url ?? undefined,
827
+ };
828
+ }
829
+ export const getActionablePullRequests = GitProviderUtils.getActionablePullRequests;
830
+ export function isGitHubDotCom(domain) {
831
+ return equalsIgnoreCase(domain, 'github.com');
832
+ }
833
+ export function isGitLabDotCom(domain) {
834
+ return equalsIgnoreCase(domain, 'gitlab.com');
835
+ }
836
+ // Anchor the `visualstudio.com` alternative on a label boundary (`^` or `.`) rather than `\b`: `\b` treats a
837
+ // hyphen as a word boundary, so `\bvisualstudio\.com$` matched attacker-controlled hosts like
838
+ // `evil-visualstudio.com` and classified them as Azure cloud, changing their auth/URL handling.
839
+ const azureCloudDomainRegex = /^dev\.azure\.com$|(?:^|\.)visualstudio\.com$/i;
840
+ export function isAzureCloudDomain(domain) {
841
+ return domain != null && azureCloudDomainRegex.test(domain);
842
+ }
843
+ const bitbucketCloudDomainRegex = /^bitbucket\.org$/i;
844
+ export function isBitbucketCloudDomain(domain) {
845
+ return domain != null && bitbucketCloudDomainRegex.test(domain);
846
+ }
847
+ export function supportsCodeSuggest(provider) {
848
+ return isGitHubDotCom(provider.domain);
849
+ }
850
+ //# sourceMappingURL=models.js.map