@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,627 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { isCancellationError } from '../../../utils/cancellation.js';
8
+ import { gate } from '../../../utils/decorators/gate.js';
9
+ import { debug, trace } from '../../../utils/decorators/log.js';
10
+ import { Emitter } from '../../../utils/event.js';
11
+ import { fnv1aHash64 } from '../../../utils/hash.js';
12
+ import { getScopedLogger } from '../../../utils/logger.scoped.js';
13
+ import { GitCloudHostIntegrationId } from '../constants.js';
14
+ import { AuthenticationError, RequestClientError, toError } from '../errors.js';
15
+ import { areDomainsOnSameHost } from '../utils/domain.utils.js';
16
+ import { isGitSelfManagedHostIntegrationId } from '../utils/integration.utils.js';
17
+ export class IntegrationBase {
18
+ ctx;
19
+ authenticationService;
20
+ getProvidersApi;
21
+ didChangeConnection;
22
+ _onDidChange = new Emitter();
23
+ get onDidChange() {
24
+ return this._onDidChange.event;
25
+ }
26
+ constructor(ctx, authenticationService, getProvidersApi, didChangeConnection) {
27
+ this.ctx = ctx;
28
+ this.authenticationService = authenticationService;
29
+ this.getProvidersApi = getProvidersApi;
30
+ this.didChangeConnection = didChangeConnection;
31
+ }
32
+ dispose() {
33
+ this._onDidChange.dispose();
34
+ }
35
+ get authProviderDescriptor() {
36
+ return { domain: this.domain, scopes: this.authProvider.scopes };
37
+ }
38
+ get icon() {
39
+ return this.id;
40
+ }
41
+ access() {
42
+ return this.ctx.account.isTrialOrPaid();
43
+ }
44
+ autolinks() {
45
+ return [];
46
+ }
47
+ get connectedKey() {
48
+ return `connected:${this.key}`;
49
+ }
50
+ get maybeConnected() {
51
+ return this._session === undefined ? undefined : this._session !== null;
52
+ }
53
+ /** Hash of the current session's access token. Changes on any token change (account switch or refresh). */
54
+ _sessionFingerprint;
55
+ get sessionFingerprint() {
56
+ if (this._session == null)
57
+ return undefined;
58
+ if (this._sessionFingerprint?.session !== this._session) {
59
+ this._sessionFingerprint = { session: this._session, hash: this.getSessionFingerprint(this._session) };
60
+ }
61
+ return this._sessionFingerprint.hash;
62
+ }
63
+ getSessionFingerprint(session) {
64
+ return fnv1aHash64(session.accessToken);
65
+ }
66
+ get connectionExpired() {
67
+ if (this._session?.expiresAt == null)
68
+ return undefined;
69
+ return new Date(this._session.expiresAt) < new Date();
70
+ }
71
+ _session;
72
+ getSession(source) {
73
+ if (this._session === undefined) {
74
+ return this.ensureSession({ createIfNeeded: false, source: source });
75
+ }
76
+ return this._session != null && this.isSessionForIntegrationHost(this._session) ? this._session : undefined;
77
+ }
78
+ isSessionForIntegrationHost(session) {
79
+ if (!isGitSelfManagedHostIntegrationId(this.id))
80
+ return true;
81
+ return areDomainsOnSameHost(this.domain, session.domain);
82
+ }
83
+ /**
84
+ * Resolves the session to read as, for a per-connection (multi-account) read. When `connectionId` is
85
+ * omitted this is the integration's primary session, resolved exactly like the existing read flow
86
+ * (ensure-connected + refresh-if-expired). When set, it resolves THAT connection's session directly
87
+ * from the auth provider — refreshing it if expired — WITHOUT disturbing the cached primary
88
+ * `_session`. Returns undefined when the requested session can't be resolved (e.g. the connection is
89
+ * gone or the provider isn't connected), so callers degrade to "no results".
90
+ */
91
+ async resolveReadSession(connectionId, scope, source) {
92
+ if (this.ctx.config.isIntegrationsEnabled?.() === false ||
93
+ this.ctx.storage.getWorkspace(this.connectedKey) === false) {
94
+ return undefined;
95
+ }
96
+ // A truthy connectionId targets a specific account; an empty string is not a real target, so it falls
97
+ // through to the primary path below.
98
+ if (connectionId) {
99
+ // Degrade to "no results" on failure, matching the primary path (whose ensureSession/
100
+ // refreshSessionIfExpired swallow errors) so read methods keep their never-throws contract.
101
+ try {
102
+ const authProvider = await this.authenticationService.get(this.authProvider.id);
103
+ const session = await authProvider.getSession({ ...this.authProviderDescriptor, connectionId: connectionId, cloud: true }, { source: source });
104
+ return session != null && this.isSessionForIntegrationHost(session) ? session : undefined;
105
+ }
106
+ catch (ex) {
107
+ scope?.error(ex);
108
+ return undefined;
109
+ }
110
+ }
111
+ const connected = this.maybeConnected ?? (await this.isConnected());
112
+ if (!connected)
113
+ return undefined;
114
+ await this.refreshSessionIfExpired(scope);
115
+ return this._session != null && this.isSessionForIntegrationHost(this._session) ? this._session : undefined;
116
+ }
117
+ async connect(source) {
118
+ try {
119
+ return Boolean(await this.ensureSession({ createIfNeeded: true, source: source }));
120
+ }
121
+ catch (_ex) {
122
+ return false;
123
+ }
124
+ }
125
+ async disconnect(options) {
126
+ if (options?.currentSessionOnly && this._session === null)
127
+ return;
128
+ const connected = this._session != null;
129
+ let signOut = !options?.currentSessionOnly;
130
+ if (connected && !options?.currentSessionOnly && !options?.silent) {
131
+ const decision = await this.ctx.hooks?.onConfirmDisconnect?.({
132
+ integrationName: this.name,
133
+ offerSignOut: this.authenticationService.supports(this.authProvider.id),
134
+ });
135
+ if (decision == null)
136
+ return;
137
+ signOut = decision.signOut;
138
+ }
139
+ if (signOut) {
140
+ // Disconnecting a provider signs out of ALL its connected accounts (multi-account), not just the
141
+ // primary — otherwise secondary connections' secrets/config would be orphaned. Removing a single
142
+ // account is done via IntegrationService.deleteConnection instead. Pass this instance's descriptor
143
+ // so self-managed disconnects stay scoped to this host: those group every host under one provider
144
+ // id, so an unscoped clear would sign the user out of unrelated hosts. deleteAllSessions derives an
145
+ // undefined domain for cloud providers, so they still clear every account as intended.
146
+ const authProvider = await this.authenticationService.get(this.authProvider.id);
147
+ void authProvider.deleteAllSessions(this.authProviderDescriptor);
148
+ }
149
+ this.resetRequestExceptionCount('all');
150
+ this._session = null;
151
+ if (connected) {
152
+ // Don't store the disconnected flag if silently disconnecting or disconnecting this only for
153
+ // this current VS Code session (will be re-connected on next restart)
154
+ if (!options?.currentSessionOnly && !options?.silent) {
155
+ void this.ctx.storage.storeWorkspace(this.connectedKey, false).catch();
156
+ }
157
+ this._onDidChange.fire();
158
+ if (!options?.currentSessionOnly) {
159
+ this.didChangeConnection?.fire({ integration: this, key: this.key, reason: 'disconnected' });
160
+ }
161
+ }
162
+ await this.providerOnDisconnect?.();
163
+ }
164
+ async reauthenticate() {
165
+ if (this._session === undefined)
166
+ return;
167
+ this._session = undefined;
168
+ void (await this.ensureSession({ createIfNeeded: true, forceNewSession: true }));
169
+ }
170
+ refresh() {
171
+ void this.ensureSession({ createIfNeeded: false });
172
+ }
173
+ _syncRequestsPerFailedUsecase = new Set();
174
+ hasSessionSyncRequests() {
175
+ return this._syncRequestsPerFailedUsecase.size > 0;
176
+ }
177
+ requestSessionSyncForUsecase(syncReqUsecase) {
178
+ this._syncRequestsPerFailedUsecase.add(syncReqUsecase);
179
+ }
180
+ static requestExceptionLimit = 5;
181
+ requestExceptionCount = 0;
182
+ resetRequestExceptionCount(syncReqUsecase) {
183
+ this.requestExceptionCount = 0;
184
+ if (syncReqUsecase === 'all') {
185
+ this._syncRequestsPerFailedUsecase.clear();
186
+ }
187
+ else {
188
+ this._syncRequestsPerFailedUsecase.delete(syncReqUsecase);
189
+ }
190
+ }
191
+ /**
192
+ * Resets request exceptions without resetting the amount of syncs
193
+ */
194
+ smoothifyRequestExceptionCount() {
195
+ // On resync we reset exception count only to avoid infinitive syncs on failure
196
+ this.requestExceptionCount = 0;
197
+ }
198
+ async reset() {
199
+ await this.disconnect({ silent: true });
200
+ await this.ctx.storage.deleteWorkspace(this.connectedKey);
201
+ }
202
+ /**
203
+ * Drops the in-memory session so the next access re-resolves it from storage. Used when the primary
204
+ * connection changed underneath a warm integration (e.g. after `setPrimaryConnection`/
205
+ * `deleteConnection`). Unlike {@link reset}/{@link disconnect}, it deletes nothing from storage.
206
+ */
207
+ switchConnection() {
208
+ if (this._session === undefined)
209
+ return;
210
+ const wasConnected = this._session != null;
211
+ this._session = undefined;
212
+ this._onDidChange.fire();
213
+ void this.refreshAfterSwitch(wasConnected);
214
+ }
215
+ async refreshAfterSwitch(wasConnected) {
216
+ const session = await this.ensureSession({ createIfNeeded: false });
217
+ if (session != null || !wasConnected)
218
+ return;
219
+ this._onDidChange.fire();
220
+ this.didChangeConnection?.fire({ integration: this, key: this.key, reason: 'disconnected' });
221
+ await this.providerOnDisconnect?.();
222
+ }
223
+ skippedNonCloudReported = false;
224
+ async syncCloudConnection(state, forceSync) {
225
+ const scope = getScopedLogger();
226
+ // Initially the condition on `this._session.cloud` has been added here: https://github.com/gitkraken/vscode-gitlens/commit/e95e70c430bd162924cc3bd5c1e8ab90e6293449#diff-4213141a45cccaab7aa2e40028b155a87eb913b07388485831403e60ce5555e4R237
227
+ // I'm not sure about reasons, but it seems we want to replace it with the cloud session if it's connected.
228
+ // Gradually we'll stop having non-cloud sessions.
229
+ // However this is needed to be tested with PATs, e.g. with a GitLab PAT.
230
+ if (this._session?.cloud === false && state !== 'connected') {
231
+ if (this.id !== GitCloudHostIntegrationId.GitHub && !this.skippedNonCloudReported) {
232
+ this.ctx.hooks?.session?.onRefreshSkipped?.({
233
+ id: this.id,
234
+ reason: 'skip-non-cloud',
235
+ cloud: false,
236
+ });
237
+ this.skippedNonCloudReported = true;
238
+ }
239
+ return;
240
+ }
241
+ switch (state) {
242
+ case 'connected': {
243
+ const oldSession = this._session;
244
+ let resyncing = false;
245
+ if (forceSync) {
246
+ // Reset our stored session so that we get a new one from the cloud
247
+ const authProvider = await this.authenticationService.get(this.authProvider.id);
248
+ await authProvider.deleteSession(this.authProviderDescriptor);
249
+ // Reset the session and clear our "stay disconnected" flag
250
+ this._session = undefined;
251
+ await this.ctx.storage.deleteWorkspace(this.connectedKey);
252
+ resyncing = true;
253
+ }
254
+ else {
255
+ // Only sync if we're not connected and not disabled and don't have pending errors
256
+ if (this._session != null ||
257
+ this.requestExceptionCount > 0 ||
258
+ this.ctx.storage.getWorkspace(this.connectedKey) === false) {
259
+ return;
260
+ }
261
+ forceSync = true;
262
+ }
263
+ // sync option, rather than createIfNeeded, makes sure we don't call connectCloudIntegrations and open a gkdev window
264
+ // if there was no session or some problem fetching/refreshing the existing session from the cloud api
265
+ let newSession;
266
+ let refetchFailed = false;
267
+ try {
268
+ newSession = await this.ensureSession({ sync: forceSync });
269
+ }
270
+ catch (ex) {
271
+ // Not evidence the connection is gone (#5569). Also leaves `_session` as-is rather than
272
+ // latching null, so the next access can re-resolve it.
273
+ if (!isCancellationError(ex)) {
274
+ scope?.error(ex);
275
+ }
276
+ refetchFailed = true;
277
+ }
278
+ if (oldSession && newSession && newSession.accessToken !== oldSession.accessToken) {
279
+ this.resetRequestExceptionCount('all');
280
+ }
281
+ // The forced re-sync above deleted the cloud secret but kept the descriptor to avoid UI churn.
282
+ // Drop it only when the replacement fetch came back definitively empty, so a connection whose
283
+ // token is really gone is cleanly disconnected (#5497) while a healthy one survives a blip (#5569).
284
+ if (resyncing && newSession == null && !refetchFailed) {
285
+ const authProvider = await this.authenticationService.get(this.authProvider.id);
286
+ await authProvider.deleteSession(this.authProviderDescriptor, { preserveConfigured: false });
287
+ }
288
+ break;
289
+ }
290
+ case 'disconnected':
291
+ await this.disconnect({ silent: true });
292
+ break;
293
+ }
294
+ }
295
+ handleProviderException(syncReqUsecase, ex, options) {
296
+ if (isCancellationError(ex))
297
+ return;
298
+ options?.scope?.error(ex);
299
+ if (ex instanceof AuthenticationError && this._session?.cloud) {
300
+ if (!this.hasSessionSyncRequests()) {
301
+ this.requestSessionSyncForUsecase(syncReqUsecase);
302
+ this._session = {
303
+ ...this._session,
304
+ expiresAt: new Date(Date.now() - 1),
305
+ };
306
+ }
307
+ else {
308
+ this.trackRequestException(options);
309
+ }
310
+ }
311
+ else if (ex instanceof AuthenticationError || ex instanceof RequestClientError) {
312
+ this.trackRequestException(options);
313
+ }
314
+ }
315
+ missingExpirityReported = false;
316
+ async refreshSessionIfExpired(scope) {
317
+ if (this._session?.expiresAt != null && this._session.expiresAt < new Date()) {
318
+ // The current session is expired, so get the latest from the cloud and refresh if needed
319
+ try {
320
+ await this.syncCloudConnection('connected', true);
321
+ }
322
+ catch (ex) {
323
+ scope?.error(ex);
324
+ }
325
+ }
326
+ else if (this._session?.expiresAt == null &&
327
+ this.id !== GitCloudHostIntegrationId.GitHub &&
328
+ !this.missingExpirityReported) {
329
+ this.ctx.hooks?.session?.onRefreshSkipped?.({
330
+ id: this.id,
331
+ reason: 'missing-expiry',
332
+ cloud: this._session?.cloud,
333
+ });
334
+ this.missingExpirityReported = true;
335
+ }
336
+ }
337
+ trackRequestException(options) {
338
+ this.requestExceptionCount++;
339
+ if (this.requestExceptionCount >= IntegrationBase.requestExceptionLimit && this._session !== null) {
340
+ if (!options?.silent) {
341
+ this.ctx.hooks?.ui?.onDisconnectedAfterTooManyFailures?.(this.name);
342
+ }
343
+ void this.disconnect({ currentSessionOnly: true });
344
+ }
345
+ }
346
+ async isConnected() {
347
+ return (await this.getSession('integrations')) != null;
348
+ }
349
+ async ensureSession(options) {
350
+ const scope = getScopedLogger();
351
+ const { createIfNeeded, forceNewSession, source, sync } = options;
352
+ if (this._session != null) {
353
+ if (this.isSessionForIntegrationHost(this._session))
354
+ return this._session;
355
+ this._session = null;
356
+ }
357
+ if (this.ctx.config.isIntegrationsEnabled?.() === false)
358
+ return undefined;
359
+ if (createIfNeeded || sync) {
360
+ await this.ctx.storage.deleteWorkspace(this.connectedKey);
361
+ }
362
+ else if (this.ctx.storage.getWorkspace(this.connectedKey) === false) {
363
+ return undefined;
364
+ }
365
+ let session;
366
+ try {
367
+ const authProvider = await this.authenticationService.get(this.authProvider.id);
368
+ session = await authProvider.getSession(this.authProviderDescriptor, sync
369
+ ? { sync: sync, source: source }
370
+ : {
371
+ createIfNeeded: createIfNeeded,
372
+ forceNewSession: forceNewSession,
373
+ source: source,
374
+ });
375
+ if (session?.expiresAt != null && session.expiresAt < new Date()) {
376
+ session = null;
377
+ }
378
+ if (session != null && !this.isSessionForIntegrationHost(session)) {
379
+ session = undefined;
380
+ }
381
+ }
382
+ catch (ex) {
383
+ await this.ctx.storage.deleteWorkspace(this.connectedKey);
384
+ // Only interactive paths can prompt for consent, so a sync failure must reach the rethrow below.
385
+ if (!sync && ex instanceof Error && ex.message.includes('User did not consent')) {
386
+ return undefined;
387
+ }
388
+ // On a forced re-sync, propagate so syncCloudConnection can tell a failure from a definitive empty
389
+ // result (#5569); other callers keep swallowing to null so reads never throw.
390
+ if (sync) {
391
+ // Throwing skips the reset below, and a lingering count blocks the next non-forced sync.
392
+ this.smoothifyRequestExceptionCount();
393
+ throw ex;
394
+ }
395
+ session = null;
396
+ }
397
+ if (session === undefined && !createIfNeeded && !sync) {
398
+ await this.ctx.storage.deleteWorkspace(this.connectedKey);
399
+ }
400
+ this._session = session ?? null;
401
+ this.smoothifyRequestExceptionCount();
402
+ if (session != null) {
403
+ await this.ctx.storage.storeWorkspace(this.connectedKey, true);
404
+ queueMicrotask(() => {
405
+ this._onDidChange.fire();
406
+ this.didChangeConnection?.fire({ integration: this, key: this.key, reason: 'connected' });
407
+ // Fired detached, so there is no caller left to catch anything: every implementor is async, and
408
+ // a rejection would surface as a process-level unhandled rejection in the host. It is a
409
+ // best-effort warm-up, so swallow the failure with a warning instead.
410
+ void (async () => {
411
+ try {
412
+ await this.providerOnConnect?.();
413
+ }
414
+ catch (ex) {
415
+ scope?.warn(`Failed to run providerOnConnect for ${this.key}: ${ex instanceof Error ? ex.message : String(ex)}`);
416
+ }
417
+ })();
418
+ });
419
+ }
420
+ return session ?? undefined;
421
+ }
422
+ getIgnoreSSLErrors() {
423
+ return this.authenticationService.ignoreSSLErrors(this);
424
+ }
425
+ async searchMyIssues(resources, cancellation, connectionId) {
426
+ return (await this.searchMyIssuesResult(resources, cancellation, connectionId))?.value;
427
+ }
428
+ /**
429
+ * Result-returning core of {@link searchMyIssues}. Recovers thrown errors into `{ error }` so callers
430
+ * (e.g. the ProviderBackend account-wide issues read) can surface a per-provider warning instead of a
431
+ * silent empty result. Returns the normalized {@link IssueShape} (there is no raw account-wide issue read).
432
+ */
433
+ async searchMyIssuesResult(resources, cancellation, connectionId) {
434
+ const scope = getScopedLogger();
435
+ // `connectionId` targets a specific account (multi-account); omitted reads the primary.
436
+ const session = await this.resolveReadSession(connectionId, scope);
437
+ if (session == null)
438
+ return undefined;
439
+ try {
440
+ const issues = await this.searchProviderMyIssues(session, resources != null ? (Array.isArray(resources) ? resources : [resources]) : undefined, cancellation);
441
+ this.resetRequestExceptionCount('searchMyIssues');
442
+ return { value: issues };
443
+ }
444
+ catch (ex) {
445
+ this.handleProviderException('searchMyIssues', ex, { scope: scope });
446
+ return { error: toError(ex) };
447
+ }
448
+ }
449
+ /**
450
+ * Paging/truncation-aware variant of {@link searchProviderMyIssues}. The default wraps the normalized read
451
+ * as a complete single page; providers with native cursors or fan-out metadata override it.
452
+ */
453
+ async searchProviderMyIssuesWithTruncation(session, resources, cancellation, _options) {
454
+ // The default read has no assignee scoping to broaden, so `_options` is inert here; a provider whose
455
+ // account-wide read is user-scoped (GitHub/GitLab/Azure) overrides this and honors `includeAllAssignees`.
456
+ const values = await this.searchProviderMyIssues(session, resources, cancellation);
457
+ if (values == null)
458
+ return undefined;
459
+ return { values: values, truncated: false };
460
+ }
461
+ /**
462
+ * Result-returning, truncation-aware account-wide issue read. Recovers thrown errors into `{ error }` and
463
+ * carries the `truncated` flag so the ProviderBackend facade can report an incomplete read honestly.
464
+ */
465
+ async searchMyIssuesWithTruncationResult(resources, cancellation, connectionId, options) {
466
+ const scope = getScopedLogger();
467
+ const session = await this.resolveReadSession(connectionId, scope);
468
+ if (session == null)
469
+ return undefined;
470
+ try {
471
+ const result = await this.searchProviderMyIssuesWithTruncation(session, resources != null ? (Array.isArray(resources) ? resources : [resources]) : undefined, cancellation, options);
472
+ this.resetRequestExceptionCount('searchMyIssues');
473
+ return { value: result };
474
+ }
475
+ catch (ex) {
476
+ this.handleProviderException('searchMyIssues', ex, { scope: scope });
477
+ return { error: toError(ex) };
478
+ }
479
+ }
480
+ async getLinkedIssueOrPullRequest(resource, link, options) {
481
+ const scope = getScopedLogger();
482
+ const connected = this.maybeConnected ?? (await this.isConnected());
483
+ if (!connected)
484
+ return undefined;
485
+ await this.refreshSessionIfExpired(scope);
486
+ const issueOrPR = this.ctx.cache.getIssueOrPullRequest(link.key, options?.type, resource, this, () => ({
487
+ value: (async () => {
488
+ try {
489
+ const result = await this.getProviderLinkedIssueOrPullRequest(this._session, resource, link, options?.type);
490
+ this.resetRequestExceptionCount('getIssueOrPullRequest');
491
+ return result;
492
+ }
493
+ catch (ex) {
494
+ this.handleProviderException('getIssueOrPullRequest', ex, { scope: scope });
495
+ return undefined;
496
+ }
497
+ })(),
498
+ }), options);
499
+ return issueOrPR;
500
+ }
501
+ async getIssue(resource, id, options) {
502
+ const scope = getScopedLogger();
503
+ const connected = this.maybeConnected ?? (await this.isConnected());
504
+ if (!connected)
505
+ return undefined;
506
+ await this.refreshSessionIfExpired(scope);
507
+ const issue = this.ctx.cache.getIssue(id, resource, this, () => ({
508
+ value: (async () => {
509
+ try {
510
+ const result = await this.getProviderIssue(this._session, resource, id);
511
+ this.resetRequestExceptionCount('getIssue');
512
+ return result;
513
+ }
514
+ catch (ex) {
515
+ this.handleProviderException('getIssue', ex, { scope: scope });
516
+ return undefined;
517
+ }
518
+ })(),
519
+ }), options);
520
+ return issue;
521
+ }
522
+ async getCurrentAccount(options) {
523
+ const scope = getScopedLogger();
524
+ const { connectionId: requestedConnectionId, expiryOverride, ...opts } = options ?? {};
525
+ const connectionId = requestedConnectionId || undefined;
526
+ const session = await this.resolveReadSession(connectionId, scope);
527
+ if (session == null)
528
+ return undefined;
529
+ const sessionFingerprint = this.getSessionFingerprint(session);
530
+ const currentAccount = await this.ctx.cache.getCurrentAccount(this, (cacheable) => ({
531
+ value: (async () => {
532
+ try {
533
+ const account = await this.getProviderCurrentAccount?.(session, opts);
534
+ this.resetRequestExceptionCount('getCurrentAccount');
535
+ return account;
536
+ }
537
+ catch (ex) {
538
+ if (isCancellationError(ex)) {
539
+ cacheable.invalidate();
540
+ return undefined;
541
+ }
542
+ this.handleProviderException('getCurrentAccount', ex, { scope: scope });
543
+ // Invalidate the cache on error, except for auth errors
544
+ if (!(ex instanceof AuthenticationError)) {
545
+ cacheable.invalidate();
546
+ }
547
+ // Re-throw to the caller
548
+ throw ex;
549
+ }
550
+ })(),
551
+ }), {
552
+ connectionId: connectionId,
553
+ expiryOverride: expiryOverride,
554
+ expireOnError: false,
555
+ etag: `${this.id}:${this.maybeConnected ?? false}:${sessionFingerprint}`,
556
+ });
557
+ return currentAccount;
558
+ }
559
+ /**
560
+ * Resolves the account for a specific session/token — including connections other than the current
561
+ * primary (multi-account) — using this integration's provider API base URL and auth type. Returns
562
+ * undefined when the provider doesn't support account lookup. Uncached (callers cache per connection).
563
+ */
564
+ getProviderAccountForSession(session) {
565
+ return this.getProviderCurrentAccount?.(session) ?? Promise.resolve(undefined);
566
+ }
567
+ async getPullRequest(resource, id) {
568
+ const scope = getScopedLogger();
569
+ const connected = this.maybeConnected ?? (await this.isConnected());
570
+ if (!connected)
571
+ return undefined;
572
+ await this.refreshSessionIfExpired(scope);
573
+ const pr = await this.ctx.cache.getPullRequest(id, resource, this, () => ({
574
+ value: (async () => {
575
+ try {
576
+ const result = await this.getProviderPullRequest?.(this._session, resource, id);
577
+ this.resetRequestExceptionCount('getPullRequest');
578
+ return result;
579
+ }
580
+ catch (ex) {
581
+ this.handleProviderException('getPullRequest', ex, { scope: scope });
582
+ return undefined;
583
+ }
584
+ })(),
585
+ }));
586
+ return pr;
587
+ }
588
+ }
589
+ __decorate([
590
+ debug()
591
+ ], IntegrationBase.prototype, "connect", null);
592
+ __decorate([
593
+ gate(),
594
+ debug()
595
+ ], IntegrationBase.prototype, "disconnect", null);
596
+ __decorate([
597
+ debug()
598
+ ], IntegrationBase.prototype, "reauthenticate", null);
599
+ __decorate([
600
+ debug()
601
+ ], IntegrationBase.prototype, "syncCloudConnection", null);
602
+ __decorate([
603
+ gate()
604
+ ], IntegrationBase.prototype, "refreshSessionIfExpired", null);
605
+ __decorate([
606
+ trace()
607
+ ], IntegrationBase.prototype, "trackRequestException", null);
608
+ __decorate([
609
+ gate(),
610
+ trace({ exit: true })
611
+ ], IntegrationBase.prototype, "isConnected", null);
612
+ __decorate([
613
+ gate()
614
+ ], IntegrationBase.prototype, "ensureSession", null);
615
+ __decorate([
616
+ trace()
617
+ ], IntegrationBase.prototype, "searchMyIssues", null);
618
+ __decorate([
619
+ trace()
620
+ ], IntegrationBase.prototype, "getLinkedIssueOrPullRequest", null);
621
+ __decorate([
622
+ trace()
623
+ ], IntegrationBase.prototype, "getIssue", null);
624
+ __decorate([
625
+ trace()
626
+ ], IntegrationBase.prototype, "getPullRequest", null);
627
+ //# sourceMappingURL=integration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration.js","sourceRoot":"","sources":["../../../../src/plus/integrations/models/integration.ts"],"names":[],"mappings":"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"}