@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,358 @@
1
+ import type { Account } from '../../git/models/author.js';
2
+ import type { DefaultBranch } from '../../git/models/defaultBranch.js';
3
+ import type { Issue } from '../../git/models/issue.js';
4
+ import type { IssueOrPullRequest, IssueOrPullRequestType } from '../../git/models/issueOrPullRequest.js';
5
+ import type { PullRequest } from '../../git/models/pullRequest.js';
6
+ import type { GitRemote } from '../../git/models/remote.js';
7
+ import type { RepositoryMetadata } from '../../git/models/repositoryMetadata.js';
8
+ import type { ResourceDescriptor } from '../../git/models/resourceDescriptor.js';
9
+ import type { Event } from '../../utils/event.js';
10
+ import type { CacheController } from '../../utils/promiseCache.js';
11
+ import type { IntegrationAuthenticationProvider } from './authentication/integrationAuthenticationProvider.js';
12
+ import type { IntegrationIds } from './constants.js';
13
+ import type { GitHostIntegration } from './models/gitHostIntegration.js';
14
+ import type { IntegrationBase } from './models/integration.js';
15
+ import type { Source } from './telemetry.js';
16
+ /**
17
+ * Context provided to {@link IntegrationService} at construction time.
18
+ *
19
+ * Replaces all extension-host coupling that integrations would otherwise reach
20
+ * for: storage, subscription, cloud connection, host-side authentication,
21
+ * configuration, commands, UI surfaces, etc. The package boundary at
22
+ * `@gitkraken/core-gitlens/plus/integrations` cannot import `vscode` or reach into the extension
23
+ * host directly — every cross-boundary concern is named here so the host can
24
+ * adapt its own services to satisfy it.
25
+ *
26
+ * Mirrors the {@link import('../../git/context.js').GitServiceContext} pattern.
27
+ */
28
+ export interface IntegrationServiceContext {
29
+ readonly storage: IntegrationStorageProvider;
30
+ readonly account: AccountProvider;
31
+ readonly config: ConfigProvider;
32
+ readonly http: HttpProvider;
33
+ readonly cache: IntegrationCacheProvider;
34
+ readonly repositories: RepositoriesProvider;
35
+ readonly hooks?: IntegrationServiceHooks;
36
+ }
37
+ /**
38
+ * The GitKraken account + the GK-cloud connect/manage flows. Unifies the former
39
+ * subscription/cloudConnection/authentication/uris ports: the host owns the GK-Dev OAuth round-trips
40
+ * end-to-end (URL shape, exchange token, redirect, callback, redeem), so the package stays out of the
41
+ * GK-cloud UI and only orchestrates (state, sync, hooks) around `connect`/`openManagement`.
42
+ */
43
+ export interface AccountProvider {
44
+ /**
45
+ * The signed-in GK account, or `undefined` when signed out. `createIfNeeded` triggers the host's
46
+ * sign-in/sign-up flow (folds the former `loginOrSignUp`/`isSignedIn`/`hasAccountSession`).
47
+ */
48
+ getAccount(options?: {
49
+ createIfNeeded?: boolean;
50
+ source?: Source;
51
+ }): Promise<{
52
+ id: string;
53
+ name?: string;
54
+ email?: string;
55
+ } | undefined>;
56
+ /** Fires when account/subscription state changes (login, logout, plan change). */
57
+ readonly onDidChange: Event<void>;
58
+ /**
59
+ * Fires on a host account check-in; `force` requests a force-refresh of cloud integration sessions
60
+ * (explicit re-validation: login, trial activation, manual validate).
61
+ */
62
+ readonly onDidCheckIn: Event<{
63
+ force?: boolean;
64
+ }>;
65
+ /** Fires when a host auth session changes (carries the changed provider id the package matches). */
66
+ readonly onDidChangeSessions: Event<AuthenticationSessionsChangeEvent>;
67
+ /**
68
+ * Whether the account is in a trial-or-paid state. Read by {@link IntegrationBase.access} to decide
69
+ * whether a connected integration's rich features are usable.
70
+ */
71
+ isTrialOrPaid(): Promise<boolean>;
72
+ /**
73
+ * Authenticated request against the GK cloud API (the connections/tokens endpoints used by
74
+ * `CloudIntegrationService`). Routes through the host's shared `ServerConnection` (circuit-breaker).
75
+ */
76
+ fetchGkApi(path: string, init?: RequestInit): Promise<Response>;
77
+ /**
78
+ * Run the GK-Dev connect flow for the given integrations: the host builds the connect URL (query,
79
+ * provider, exchange-token vs redirect), opens it, awaits its own OAuth callback, and signs in +
80
+ * connects in one round-trip. Returns `true` on success; the package syncs + fires hooks around it.
81
+ */
82
+ connect(options: {
83
+ integrationIds?: IntegrationIds[];
84
+ source?: Source;
85
+ }): Promise<boolean>;
86
+ /**
87
+ * Open the GK-Dev integrations-management page (signing in first if needed) and resolve when the user
88
+ * returns to the window — `true` if they returned (so the package re-syncs), `false` otherwise.
89
+ */
90
+ openManagement(source?: Source): Promise<boolean>;
91
+ }
92
+ /** A cached value, possibly still resolving. Mirrors the host `CacheProvider`'s result shape. */
93
+ type CacheResult<T> = Promise<T | undefined> | T | undefined;
94
+ /** Produces the value (and optional expiry) to cache on a miss; the controller allows invalidation. */
95
+ type Cacheable<T> = (cacheable: CacheController) => {
96
+ value: CacheResult<T>;
97
+ expiresAt?: number;
98
+ };
99
+ /** Cache expiry controls. */
100
+ interface CacheExpiryOptions {
101
+ expiryOverride?: boolean | number;
102
+ expireOnError?: boolean;
103
+ }
104
+ /**
105
+ * Cross-call cache for expensive provider lookups. Wraps the host's cache
106
+ * service, which deduplicates concurrent loads for the same logical key.
107
+ *
108
+ * Method names + shapes mirror the host's `CacheProvider` so the package routes
109
+ * every cache call through this provider without adapting call sites — and the
110
+ * host adapter can assign its real `CacheProvider` directly (no cast).
111
+ */
112
+ export interface IntegrationCacheProvider {
113
+ getRepositoryMetadata(repo: ResourceDescriptor, integration: GitHostIntegration | undefined, cacheable: Cacheable<RepositoryMetadata>, options?: CacheExpiryOptions): CacheResult<RepositoryMetadata>;
114
+ getRepositoryDefaultBranch(repo: ResourceDescriptor, integration: GitHostIntegration | undefined, cacheable: Cacheable<DefaultBranch>, options?: CacheExpiryOptions): CacheResult<DefaultBranch>;
115
+ getPullRequestForSha(sha: string, repo: ResourceDescriptor, integration: GitHostIntegration | undefined, cacheable: Cacheable<PullRequest>, options?: CacheExpiryOptions): CacheResult<PullRequest>;
116
+ getPullRequestForBranch(branch: string, repo: ResourceDescriptor, integration: GitHostIntegration | undefined, cacheable: Cacheable<PullRequest>, options?: CacheExpiryOptions): CacheResult<PullRequest>;
117
+ getPullRequest(id: string, resource: ResourceDescriptor, integration: IntegrationBase | undefined, cacheable: Cacheable<PullRequest>, options?: CacheExpiryOptions): CacheResult<PullRequest>;
118
+ getIssueOrPullRequest(id: string, type: IssueOrPullRequestType | undefined, resource: ResourceDescriptor, integration: IntegrationBase | undefined, cacheable: Cacheable<IssueOrPullRequest>, options?: CacheExpiryOptions): CacheResult<IssueOrPullRequest>;
119
+ getIssue(id: string, resource: ResourceDescriptor, integration: IntegrationBase | undefined, cacheable: Cacheable<Issue>, options?: CacheExpiryOptions): CacheResult<Issue>;
120
+ getCurrentAccount(integration: IntegrationBase, cacheable: Cacheable<Account>, options?: CacheExpiryOptions & {
121
+ connectionId?: string;
122
+ etag?: string;
123
+ }): CacheResult<Account>;
124
+ }
125
+ /**
126
+ * The remotes across all currently-open repositories. The package only ever needs the *remotes* (to map
127
+ * them to integrations) — never the repositories themselves — so the host flattens to a remote list
128
+ * rather than leaking a repository shape across the boundary. Used for "across all open repos" queries:
129
+ * issue aggregation by remote ({@link IntegrationService.getMyIssues}) and bitbucket's reviewing-PRs search.
130
+ */
131
+ export interface RepositoriesProvider {
132
+ getOpenRemotes(): Promise<readonly GitRemote[]>;
133
+ }
134
+ /**
135
+ * HTTP primitives the package uses to call out to provider APIs. Wraps the
136
+ * host's `@env/fetch` (which differs between Node and browser builds) so the
137
+ * package itself stays environment-agnostic.
138
+ */
139
+ export interface HttpProvider {
140
+ /** Whether the package is running in a webworker/browser environment. */
141
+ readonly isWeb: boolean;
142
+ /** Pre-assembled User-Agent string for provider API requests (host builds it from its env facts). */
143
+ readonly userAgent: string;
144
+ /** Host-supplied fetch implementation. */
145
+ fetch(input: string | URL, init?: RequestInit): Promise<Response>;
146
+ /**
147
+ * Wrap a fetch in the host's "ignore SSL errors" toggle. On Node, this
148
+ * disables TLS verification while the wrapped fetch is in flight; on the
149
+ * browser, it's a no-op.
150
+ */
151
+ wrapForForcedInsecureSSL<T>(ignoreSSLErrors: boolean | 'force', fn: () => Promise<T> | PromiseLike<T>): Promise<T>;
152
+ }
153
+ /**
154
+ * Persists integration token/session/configured-integration state.
155
+ * Wraps the host's `Container.storage` (global + workspace + secret stores).
156
+ *
157
+ * Two non-secret namespaces:
158
+ * - **Global** (`get`/`store`/`delete`/`deleteWithPrefix`) — values shared
159
+ * across all workspaces (e.g., the `integrations:configured` descriptor
160
+ * map, per-account caches keyed by access token).
161
+ * - **Workspace** (`getWorkspace`/`storeWorkspace`/`deleteWorkspace`) —
162
+ * values scoped to the active workspace (e.g., `connected:<id>` flags).
163
+ *
164
+ * Plus a **Secret** namespace (`getSecret`/`storeSecret`/`deleteSecret`)
165
+ * for OAuth tokens and other credentials.
166
+ *
167
+ * Method names mirror the host's `Storage` API so the package can route
168
+ * every storage access through this provider without renaming call sites.
169
+ */
170
+ export interface IntegrationStorageProvider {
171
+ /** Read a global (cross-workspace) value (non-secret). */
172
+ get<T = any>(key: string): T | undefined;
173
+ /** Write a global (cross-workspace) value (non-secret). */
174
+ store<T = any>(key: string, value: T): Promise<void>;
175
+ /** Delete a global value. */
176
+ delete(key: string): Promise<void>;
177
+ /** Delete every global key with the given prefix. */
178
+ deleteWithPrefix(prefix: string): Promise<void>;
179
+ /** Read a workspace-scoped value (non-secret). */
180
+ getWorkspace<T = any>(key: string): T | undefined;
181
+ /** Write a workspace-scoped value (non-secret). */
182
+ storeWorkspace<T = any>(key: string, value: T): Promise<void>;
183
+ /** Delete a workspace-scoped value (non-secret). */
184
+ deleteWorkspace(key: string): Promise<void>;
185
+ /** Read a secret (e.g., access token). */
186
+ getSecret(key: string): Promise<string | undefined>;
187
+ /** Store a secret. */
188
+ storeSecret(key: string, value: string): Promise<void>;
189
+ /** Delete a secret. */
190
+ deleteSecret(key: string): Promise<void>;
191
+ }
192
+ export interface AuthenticationSessionsChangeEvent {
193
+ readonly provider: {
194
+ readonly id: string;
195
+ };
196
+ }
197
+ /**
198
+ * Per-remote-host configuration entry (subset of the host's `RemotesConfig`).
199
+ * Used by `IntegrationService.ignoreSSLErrors` to look up self-managed remote
200
+ * settings.
201
+ */
202
+ export interface IntegrationsRemoteConfig {
203
+ readonly type: string;
204
+ /** Exact-match domain (mutually exclusive with `regex`) */
205
+ readonly domain?: string;
206
+ /** Regex pattern for flexible host matching (mutually exclusive with `domain`) */
207
+ readonly regex?: string;
208
+ /** URL protocol override (e.g., `'https'`) */
209
+ readonly protocol?: string;
210
+ readonly ignoreSSLErrors?: boolean | 'force';
211
+ }
212
+ /**
213
+ * Snapshot of integration-relevant config values + reactive change detection.
214
+ *
215
+ * Only the keys integrations actually read are surfaced; everything else is
216
+ * the host's concern. Host adapter wraps the `system/-webview/configuration`
217
+ * helper to satisfy this.
218
+ */
219
+ export interface ConfigProvider {
220
+ /** `integrations.enabled`. Optional — omit (or omit a `false` return) and integrations are enabled. */
221
+ isIntegrationsEnabled?(): boolean;
222
+ /**
223
+ * `launchpad.*` knobs surfaced to the GitHub provider.
224
+ */
225
+ getLaunchpadOptions(): {
226
+ queryLimit?: number;
227
+ ignoredRepositories?: readonly string[];
228
+ includedOrganizations?: readonly string[];
229
+ ignoredOrganizations?: readonly string[];
230
+ };
231
+ /** Per-remote-host configurations from `remotes`. */
232
+ getRemoteConfigs(): readonly IntegrationsRemoteConfig[];
233
+ /** Fires when any integration-relevant config changes. */
234
+ readonly onDidChange: Event<ConfigChangeEvent>;
235
+ }
236
+ /** Typed change descriptor returned by {@link ConfigProvider.onDidChange}. */
237
+ export interface ConfigChangeEvent {
238
+ /** Whether `remotes` configuration changed. */
239
+ readonly remotes: boolean;
240
+ /** Whether `integrations.enabled` changed. */
241
+ readonly integrationsEnabled: boolean;
242
+ /** Whether one of the `launchpad.*` keys changed. */
243
+ readonly launchpad: boolean;
244
+ /** Whether `http.proxy` or `http.proxyStrictSSL` (VS Code core) changed. */
245
+ readonly httpProxy: boolean;
246
+ }
247
+ /**
248
+ * Outbound hooks: the package raises domain events the host wants to observe
249
+ * and exposes host-owned composition hooks (e.g., `createAuthenticationProvider`).
250
+ *
251
+ * Hooks are optional; the package omits the call when unset. They follow the
252
+ * pattern used by `@gitkraken/core-gitlens/plus/agents` (`AgentProviderCallbacks`) and the
253
+ * existing `GitServiceHooks` — the package surfaces named events; the host
254
+ * decides what to do (send telemetry, log, update UI, etc.).
255
+ *
256
+ * Replaces the direct `Container.telemetry.sendEvent` calls scattered through
257
+ * integration source today. Each hook below is named after the domain event,
258
+ * not its current telemetry event name; the host adapter forwards each one to
259
+ * the corresponding `telemetry.sendEvent('cloudIntegrations/...')` call to
260
+ * preserve existing analytics.
261
+ */
262
+ export interface IntegrationServiceHooks {
263
+ /**
264
+ * Ask the host to confirm reauthentication after an integration auth/permission failure. The host
265
+ * owns the prompt (and its "Reauthenticate" affordance) and resolves to the user's choice; the
266
+ * package performs the actual reauth when this resolves truthy. Omit to never prompt.
267
+ */
268
+ onReauthenticationRequired?(message: string): Promise<boolean | undefined>;
269
+ /**
270
+ * Confirm disabling a connected integration. The host renders the dialog (offering a "sign out"
271
+ * choice when `offerSignOut`); resolves to the user's decision, or `undefined` to cancel. Omit to
272
+ * make interactive `disconnect()` a no-op (callers should pass `silent`/`currentSessionOnly` then).
273
+ */
274
+ onConfirmDisconnect?(e: {
275
+ integrationName: string;
276
+ offerSignOut: boolean;
277
+ }): Promise<{
278
+ signOut: boolean;
279
+ } | undefined>;
280
+ /**
281
+ * Optional consumer override: construct a custom authentication provider for `id` (e.g. a manual-token
282
+ * provider via {@link createManualTokenAuthProvider}). Return `undefined` to defer to the package's own
283
+ * cloud-OAuth provider. GitLens omits this — the package builds its cloud providers internally; an
284
+ * external consumer can plug in any auth strategy here.
285
+ */
286
+ createAuthenticationProvider?(args: {
287
+ id: IntegrationIds;
288
+ }): Promise<IntegrationAuthenticationProvider | undefined>;
289
+ /**
290
+ * Outbound behavioral events, nested by domain — mirroring `@gitkraken/core-gitlens/git`'s `GitServiceHooks`. The
291
+ * package raises typed domain events; the host decides what to do (GitLens maps each to its telemetry
292
+ * schema, but a consumer could log or ignore them — they're behavioral, not telemetry-specific).
293
+ * Optional throughout — omit to opt out entirely (no stub functions needed).
294
+ */
295
+ connection?: {
296
+ /** A connect flow was initiated. */
297
+ onStarted?(e: {
298
+ integrationIds: IntegrationIds[] | undefined;
299
+ }, source: Source | undefined): void;
300
+ /** A connect flow finished syncing. */
301
+ onCompleted?(e: {
302
+ integrationIds: IntegrationIds[] | undefined;
303
+ connectedIntegrationIds: IntegrationIds[] | undefined;
304
+ }, source: Source | undefined): void;
305
+ /** The user opened the integrations management surface. */
306
+ onManaged?(source: Source | undefined): void;
307
+ /** A hosting/remote/issue integration's connection state changed. */
308
+ onStateChanged?(e: {
309
+ id: IntegrationIds;
310
+ key: string;
311
+ connected: boolean;
312
+ kind: 'hosting' | 'remote' | 'issue';
313
+ }): void;
314
+ /** The set of connected integrations changed (e.g. for connected-count attributes). */
315
+ onConnectedChanged?(e: {
316
+ integrationIds: IntegrationIds[];
317
+ }): void;
318
+ /** Fetching the set of connected providers failed. */
319
+ onConnectionsFetchFailed?(e: {
320
+ code: number | undefined;
321
+ }): void;
322
+ /** Fetching/refreshing a single provider's token failed. */
323
+ onConnectionFetchFailed?(e: {
324
+ id: IntegrationIds;
325
+ code: number | undefined;
326
+ refreshing: boolean;
327
+ }): void;
328
+ /** Disconnecting a provider's token failed. */
329
+ onDisconnectFailed?(e: {
330
+ id: IntegrationIds;
331
+ code: number | undefined;
332
+ }): void;
333
+ };
334
+ /** Outbound session events (behavioral; the host maps to telemetry). */
335
+ session?: {
336
+ /** A session refresh was skipped (reported once per reason). */
337
+ onRefreshSkipped?(e: {
338
+ id: IntegrationIds;
339
+ reason: 'skip-non-cloud' | 'missing-expiry';
340
+ cloud: boolean | undefined;
341
+ }): void;
342
+ };
343
+ /** Outbound user-facing notifications (fire-and-forget). The host renders them; a consumer may log/ignore. */
344
+ ui?: {
345
+ /** A non-fatal error to surface. */
346
+ onError?(message: string): void;
347
+ /** The integration's API returned a 500-level error. */
348
+ onRequestFailed?(message: string): void;
349
+ /** The integration's API request timed out. */
350
+ onRequestTimedOut?(integrationName: string): void;
351
+ /** An integration was disconnected after too many consecutive failed requests. */
352
+ onDisconnectedAfterTooManyFailures?(integrationName: string): void;
353
+ /** Bitbucket's "Pull Requests for Commit" app isn't installed; `revLink` opens the install page. */
354
+ onBitbucketCommitLinksAppMissing?(revLink: string): void;
355
+ };
356
+ }
357
+ export {};
358
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/plus/integrations/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AAC5G,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,uDAAuD,CAAC;AAC/G,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,yBAAyB;IACzC,QAAQ,CAAC,OAAO,EAAE,0BAA0B,CAAC;IAC7C,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,wBAAwB,CAAC;IACzC,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAC;IAC5C,QAAQ,CAAC,KAAK,CAAC,EAAE,uBAAuB,CAAC;CACzC;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC/B;;;OAGG;IACH,UAAU,CAAC,OAAO,CAAC,EAAE;QACpB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,MAAM,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC,CAAC;IACvE,kFAAkF;IAClF,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAClD,oGAAoG;IACpG,QAAQ,CAAC,mBAAmB,EAAE,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACvE;;;OAGG;IACH,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC;;;OAGG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChE;;;;OAIG;IACH,OAAO,CAAC,OAAO,EAAE;QAAE,cAAc,CAAC,EAAE,cAAc,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3F;;;OAGG;IACH,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAClD;AAED,iGAAiG;AACjG,KAAK,WAAW,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;AAC7D,uGAAuG;AACvG,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,KAAK;IAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAClG,6BAA6B;AAC7B,UAAU,kBAAkB;IAC3B,cAAc,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAClC,aAAa,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,wBAAwB;IACxC,qBAAqB,CACpB,IAAI,EAAE,kBAAkB,EACxB,WAAW,EAAE,kBAAkB,GAAG,SAAS,EAC3C,SAAS,EAAE,SAAS,CAAC,kBAAkB,CAAC,EACxC,OAAO,CAAC,EAAE,kBAAkB,GAC1B,WAAW,CAAC,kBAAkB,CAAC,CAAC;IACnC,0BAA0B,CACzB,IAAI,EAAE,kBAAkB,EACxB,WAAW,EAAE,kBAAkB,GAAG,SAAS,EAC3C,SAAS,EAAE,SAAS,CAAC,aAAa,CAAC,EACnC,OAAO,CAAC,EAAE,kBAAkB,GAC1B,WAAW,CAAC,aAAa,CAAC,CAAC;IAC9B,oBAAoB,CACnB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,kBAAkB,EACxB,WAAW,EAAE,kBAAkB,GAAG,SAAS,EAC3C,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC,EACjC,OAAO,CAAC,EAAE,kBAAkB,GAC1B,WAAW,CAAC,WAAW,CAAC,CAAC;IAC5B,uBAAuB,CACtB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,kBAAkB,EACxB,WAAW,EAAE,kBAAkB,GAAG,SAAS,EAC3C,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC,EACjC,OAAO,CAAC,EAAE,kBAAkB,GAC1B,WAAW,CAAC,WAAW,CAAC,CAAC;IAC5B,cAAc,CACb,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,kBAAkB,EAC5B,WAAW,EAAE,eAAe,GAAG,SAAS,EACxC,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC,EACjC,OAAO,CAAC,EAAE,kBAAkB,GAC1B,WAAW,CAAC,WAAW,CAAC,CAAC;IAC5B,qBAAqB,CACpB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,sBAAsB,GAAG,SAAS,EACxC,QAAQ,EAAE,kBAAkB,EAC5B,WAAW,EAAE,eAAe,GAAG,SAAS,EACxC,SAAS,EAAE,SAAS,CAAC,kBAAkB,CAAC,EACxC,OAAO,CAAC,EAAE,kBAAkB,GAC1B,WAAW,CAAC,kBAAkB,CAAC,CAAC;IACnC,QAAQ,CACP,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,kBAAkB,EAC5B,WAAW,EAAE,eAAe,GAAG,SAAS,EACxC,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,EAC3B,OAAO,CAAC,EAAE,kBAAkB,GAC1B,WAAW,CAAC,KAAK,CAAC,CAAC;IACtB,iBAAiB,CAChB,WAAW,EAAE,eAAe,EAC5B,SAAS,EAAE,SAAS,CAAC,OAAO,CAAC,EAC7B,OAAO,CAAC,EAAE,kBAAkB,GAAG;QAAE,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACrE,WAAW,CAAC,OAAO,CAAC,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACpC,cAAc,IAAI,OAAO,CAAC,SAAS,SAAS,EAAE,CAAC,CAAC;CAChD;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC5B,yEAAyE;IACzE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,qGAAqG;IACrG,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,0CAA0C;IAC1C,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClE;;;;OAIG;IACH,wBAAwB,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,GAAG,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACnH;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,0BAA0B;IAC1C,0DAA0D;IAC1D,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;IACzC,2DAA2D;IAC3D,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,6BAA6B;IAC7B,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,qDAAqD;IACrD,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,kDAAkD;IAClD,YAAY,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;IAClD,mDAAmD;IACnD,cAAc,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,oDAAoD;IACpD,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,0CAA0C;IAC1C,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACpD,sBAAsB;IACtB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,uBAAuB;IACvB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,iCAAiC;IACjD,QAAQ,CAAC,QAAQ,EAAE;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3C;AAED;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,2DAA2D;IAC3D,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,kFAAkF;IAClF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,8CAA8C;IAC9C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;CAC7C;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC9B,uGAAuG;IACvG,qBAAqB,CAAC,IAAI,OAAO,CAAC;IAClC;;OAEG;IACH,mBAAmB,IAAI;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,mBAAmB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QACxC,qBAAqB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QAC1C,oBAAoB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;KACzC,CAAC;IACF,qDAAqD;IACrD,gBAAgB,IAAI,SAAS,wBAAwB,EAAE,CAAC;IACxD,0DAA0D;IAC1D,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;CAC/C;AAED,8EAA8E;AAC9E,MAAM,WAAW,iBAAiB;IACjC,+CAA+C;IAC/C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,8CAA8C;IAC9C,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;IACtC,qDAAqD;IACrD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,4EAA4E;IAC5E,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,uBAAuB;IACvC;;;;OAIG;IACH,0BAA0B,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IAE3E;;;;OAIG;IACH,mBAAmB,CAAC,CAAC,CAAC,EAAE;QACvB,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,OAAO,CAAC;KACtB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS,CAAC,CAAC;IAE9C;;;;;OAKG;IACH,4BAA4B,CAAC,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,cAAc,CAAA;KAAE,GAAG,OAAO,CAAC,iCAAiC,GAAG,SAAS,CAAC,CAAC;IAEpH;;;;;OAKG;IACH,UAAU,CAAC,EAAE;QACZ,oCAAoC;QACpC,SAAS,CAAC,CAAC,CAAC,EAAE;YAAE,cAAc,EAAE,cAAc,EAAE,GAAG,SAAS,CAAA;SAAE,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;QAClG,uCAAuC;QACvC,WAAW,CAAC,CACX,CAAC,EAAE;YAAE,cAAc,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;YAAC,uBAAuB,EAAE,cAAc,EAAE,GAAG,SAAS,CAAA;SAAE,EAC1G,MAAM,EAAE,MAAM,GAAG,SAAS,GACxB,IAAI,CAAC;QACR,2DAA2D;QAC3D,SAAS,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;QAC7C,qEAAqE;QACrE,cAAc,CAAC,CAAC,CAAC,EAAE;YAClB,EAAE,EAAE,cAAc,CAAC;YACnB,GAAG,EAAE,MAAM,CAAC;YACZ,SAAS,EAAE,OAAO,CAAC;YACnB,IAAI,EAAE,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;SACrC,GAAG,IAAI,CAAC;QACT,uFAAuF;QACvF,kBAAkB,CAAC,CAAC,CAAC,EAAE;YAAE,cAAc,EAAE,cAAc,EAAE,CAAA;SAAE,GAAG,IAAI,CAAC;QACnE,sDAAsD;QACtD,wBAAwB,CAAC,CAAC,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;SAAE,GAAG,IAAI,CAAC;QACjE,4DAA4D;QAC5D,uBAAuB,CAAC,CAAC,CAAC,EAAE;YAAE,EAAE,EAAE,cAAc,CAAC;YAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;YAAC,UAAU,EAAE,OAAO,CAAA;SAAE,GAAG,IAAI,CAAC;QACzG,+CAA+C;QAC/C,kBAAkB,CAAC,CAAC,CAAC,EAAE;YAAE,EAAE,EAAE,cAAc,CAAC;YAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;SAAE,GAAG,IAAI,CAAC;KAC/E,CAAC;IACF,wEAAwE;IACxE,OAAO,CAAC,EAAE;QACT,gEAAgE;QAChE,gBAAgB,CAAC,CAAC,CAAC,EAAE;YACpB,EAAE,EAAE,cAAc,CAAC;YACnB,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CAAC;YAC5C,KAAK,EAAE,OAAO,GAAG,SAAS,CAAC;SAC3B,GAAG,IAAI,CAAC;KACT,CAAC;IACF,8GAA8G;IAC9G,EAAE,CAAC,EAAE;QACJ,oCAAoC;QACpC,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAChC,wDAAwD;QACxD,eAAe,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACxC,+CAA+C;QAC/C,iBAAiB,CAAC,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;QAClD,kFAAkF;QAClF,kCAAkC,CAAC,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;QACnE,oGAAoG;QACpG,gCAAgC,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;KACzD,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/plus/integrations/context.ts"],"names":[],"mappings":""}
@@ -0,0 +1,79 @@
1
+ export type { AuthTokenInfo } from '../../git/errors.js';
2
+ export { AuthenticationError, AuthenticationErrorReason, RequestClientError, RequestNotFoundError, RequestRateLimitError, } from '../../git/errors.js';
3
+ import { RequestRateLimitError } from '../../git/errors.js';
4
+ /**
5
+ * Thrown by a provider read when it can't produce a result for a reason that is NOT "the account is empty":
6
+ * a prerequisite is missing (e.g. Trello has no app key) or a required scope can't be resolved (e.g. the
7
+ * Linear viewer id, needed to scope "my issues"). Returning an empty/undefined result in these cases would be
8
+ * indistinguishable from a genuinely empty account; throwing this lets the result cores recover it into an
9
+ * `{ error }` the facade surfaces as a warning + `fetchFailed`.
10
+ */
11
+ export declare class IntegrationReadUnavailableError extends Error {
12
+ constructor(provider: string, reason: string);
13
+ }
14
+ /**
15
+ * Thrown by integration provider HTTP clients when an upstream request fails.
16
+ */
17
+ export declare class ProviderFetchError extends Error {
18
+ readonly response: Response;
19
+ get status(): number;
20
+ get statusText(): string;
21
+ /**
22
+ * Builds the error with the upstream body folded into the message, for clients that hold a `Response` whose
23
+ * body has not been read (i.e. every non-`ok` path). Use this rather than the constructor whenever the body is
24
+ * still available: the status line alone cannot distinguish a throttled request from a permission failure on
25
+ * the statuses hosts overload (see {@link isRateLimitResponse}), and only the body says which one it is.
26
+ *
27
+ * Never throws: the body is best-effort, so an unreadable, empty, or already-consumed one simply yields the
28
+ * status-line-only message the constructor would have produced.
29
+ */
30
+ static fromResponse(provider: string, response: Response): Promise<ProviderFetchError>;
31
+ constructor(provider: string, response: Response, errors?: {
32
+ message: string;
33
+ }[]);
34
+ }
35
+ /**
36
+ * Whether a provider's error response denotes a rate limit rather than a permission failure. Kept here, in one
37
+ * place, because the distinction is consequential: a rate limit is retryable, while a permission failure is
38
+ * surfaced as `auth` and drives a reconnect prompt — misclassifying one as the other asks the user to
39
+ * re-authenticate a perfectly healthy connection.
40
+ *
41
+ * Which status a throttled request arrives on varies by host, which is why this takes both:
42
+ * - Azure DevOps and Bitbucket Cloud document 429 (learn.microsoft.com .../integrate/concepts/rate-limits).
43
+ * - GitHub documents "a `403` or `429` response" for both its primary and secondary limits
44
+ * (docs.github.com/en/rest/using-the-rest-api/rate-limits-for-the-rest-api).
45
+ * - GitLab uses 403 for some throttles.
46
+ * So 429 alone is decisive, and on 403 the message decides.
47
+ *
48
+ * NOTE the message must actually carry the host's body for the 403 path to work — see
49
+ * {@link ProviderFetchError.fromResponse}. A `ProviderFetchError` built from the status line alone reads
50
+ * "(403) Forbidden." and can never match, which is what made this check dead code on the direct-fetch clients.
51
+ */
52
+ export declare function isRateLimitResponse(ex: {
53
+ status: number;
54
+ message?: string;
55
+ }): boolean;
56
+ /**
57
+ * A response's headers as either a `fetch` `Headers` instance or the plain object an SDK error carries. Read via
58
+ * duck-typing on `get` rather than `instanceof Headers`, so this works in both the Node and webworker builds
59
+ * without depending on the global being present.
60
+ */
61
+ type ResponseHeaders = Pick<Headers, 'get'> | Record<string, unknown>;
62
+ /**
63
+ * Builds a {@link RequestRateLimitError} from a provider error response, reading the reset epoch from the
64
+ * standard `x-ratelimit-reset` header when present. Accepts both header shapes in use: the `fetch` `Headers`
65
+ * instance the direct clients get, and the plain object the SDK attaches to its errors.
66
+ */
67
+ export declare function toRateLimitError(ex: Error & {
68
+ response?: {
69
+ headers?: ResponseHeaders;
70
+ };
71
+ }, token: string | undefined): RequestRateLimitError;
72
+ /**
73
+ * Normalizes a caught `unknown` into an `Error`. Result cores type their failure channel as `error: Error`,
74
+ * but a `catch` binding is `unknown` and a provider (or a third-party SDK) can throw a non-Error value;
75
+ * returning it raw would leak a non-Error through the public result surface and break downstream `instanceof`
76
+ * classification. Passes an existing `Error` through unchanged and wraps anything else with `String(ex)`.
77
+ */
78
+ export declare function toError(ex: unknown): Error;
79
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/plus/integrations/errors.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EACN,mBAAmB,EACnB,yBAAyB,EACzB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,GACrB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D;;;;;;GAMG;AACH,qBAAa,+BAAgC,SAAQ,KAAK;IACzD,YAAY,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAG3C;CACD;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;aAwB3B,QAAQ,EAAE,QAAQ;IAvBnC,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED;;;;;;;;OAQG;IACH,OAAa,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAE3F;IAED,YACC,QAAQ,EAAE,MAAM,EACA,QAAQ,EAAE,QAAQ,EAClC,MAAM,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,EAS9B;CACD;AAgDD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAQrF;AAED;;;;GAIG;AACH,KAAK,eAAe,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEtE;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC/B,EAAE,EAAE,KAAK,GAAG;IAAE,QAAQ,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,eAAe,CAAA;KAAE,CAAA;CAAE,EACxD,KAAK,EAAE,MAAM,GAAG,SAAS,GACvB,qBAAqB,CAoBvB;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,OAAO,GAAG,KAAK,CAE1C"}
@@ -0,0 +1,150 @@
1
+ export { AuthenticationError, AuthenticationErrorReason, RequestClientError, RequestNotFoundError, RequestRateLimitError, } from '../../git/errors.js';
2
+ import { RequestRateLimitError } from '../../git/errors.js';
3
+ /**
4
+ * Thrown by a provider read when it can't produce a result for a reason that is NOT "the account is empty":
5
+ * a prerequisite is missing (e.g. Trello has no app key) or a required scope can't be resolved (e.g. the
6
+ * Linear viewer id, needed to scope "my issues"). Returning an empty/undefined result in these cases would be
7
+ * indistinguishable from a genuinely empty account; throwing this lets the result cores recover it into an
8
+ * `{ error }` the facade surfaces as a warning + `fetchFailed`.
9
+ */
10
+ export class IntegrationReadUnavailableError extends Error {
11
+ constructor(provider, reason) {
12
+ super(`${provider} read unavailable: ${reason}`);
13
+ Error.captureStackTrace?.(this, new.target);
14
+ }
15
+ }
16
+ /**
17
+ * Thrown by integration provider HTTP clients when an upstream request fails.
18
+ */
19
+ export class ProviderFetchError extends Error {
20
+ response;
21
+ get status() {
22
+ return this.response.status;
23
+ }
24
+ get statusText() {
25
+ return this.response.statusText;
26
+ }
27
+ /**
28
+ * Builds the error with the upstream body folded into the message, for clients that hold a `Response` whose
29
+ * body has not been read (i.e. every non-`ok` path). Use this rather than the constructor whenever the body is
30
+ * still available: the status line alone cannot distinguish a throttled request from a permission failure on
31
+ * the statuses hosts overload (see {@link isRateLimitResponse}), and only the body says which one it is.
32
+ *
33
+ * Never throws: the body is best-effort, so an unreadable, empty, or already-consumed one simply yields the
34
+ * status-line-only message the constructor would have produced.
35
+ */
36
+ static async fromResponse(provider, response) {
37
+ return new ProviderFetchError(provider, response, await readErrorBodyMessage(response));
38
+ }
39
+ constructor(provider, response, errors) {
40
+ super(`${provider} request failed: ${!response.ok ? `(${response.status}) ${response.statusText}. ` : ''}${errors?.length ? errors[0].message : ''}`);
41
+ this.response = response;
42
+ Error.captureStackTrace?.(this, new.target);
43
+ }
44
+ }
45
+ /** Cap on the body text folded into an error message, so an HTML error page can't become the message. */
46
+ const maxErrorBodyLength = 500;
47
+ /**
48
+ * Best-effort human-readable message from an error response body, in the `errors` shape the
49
+ * {@link ProviderFetchError} constructor takes. Tolerant by design — every host in use words its errors
50
+ * differently and some do not send JSON at all:
51
+ * - Azure DevOps — `{ message: "TF400733: ..." }`
52
+ * - Bitbucket — `{ error: { message: "..." } }`, and bare text for a throttled request
53
+ * - GitLab — `{ message: "..." }` or `{ error: "..." }`
54
+ * Anything unrecognized falls back to the raw text, which is what the substring check wants anyway.
55
+ */
56
+ async function readErrorBodyMessage(response) {
57
+ let text;
58
+ try {
59
+ // `bodyUsed` is not a guarantee (a stream can fail mid-read), hence the catch — but it avoids the throw
60
+ // entirely on the common path where something upstream already consumed the body.
61
+ if (response.bodyUsed)
62
+ return undefined;
63
+ text = (await response.text())?.trim();
64
+ }
65
+ catch {
66
+ return undefined;
67
+ }
68
+ if (!text)
69
+ return undefined;
70
+ let message;
71
+ try {
72
+ const body = JSON.parse(text);
73
+ if (body != null && typeof body === 'object') {
74
+ const { message: m, error } = body;
75
+ if (typeof m === 'string') {
76
+ message = m;
77
+ }
78
+ else if (typeof error === 'string') {
79
+ message = error;
80
+ }
81
+ else if (error != null && typeof error === 'object' && typeof error.message === 'string') {
82
+ message = error.message;
83
+ }
84
+ }
85
+ }
86
+ catch {
87
+ // Not JSON — Bitbucket sends bare text for a throttled request, and any host can send an HTML error page.
88
+ }
89
+ message = (message ?? text).trim();
90
+ return message ? [{ message: message.slice(0, maxErrorBodyLength) }] : undefined;
91
+ }
92
+ /**
93
+ * Whether a provider's error response denotes a rate limit rather than a permission failure. Kept here, in one
94
+ * place, because the distinction is consequential: a rate limit is retryable, while a permission failure is
95
+ * surfaced as `auth` and drives a reconnect prompt — misclassifying one as the other asks the user to
96
+ * re-authenticate a perfectly healthy connection.
97
+ *
98
+ * Which status a throttled request arrives on varies by host, which is why this takes both:
99
+ * - Azure DevOps and Bitbucket Cloud document 429 (learn.microsoft.com .../integrate/concepts/rate-limits).
100
+ * - GitHub documents "a `403` or `429` response" for both its primary and secondary limits
101
+ * (docs.github.com/en/rest/using-the-rest-api/rate-limits-for-the-rest-api).
102
+ * - GitLab uses 403 for some throttles.
103
+ * So 429 alone is decisive, and on 403 the message decides.
104
+ *
105
+ * NOTE the message must actually carry the host's body for the 403 path to work — see
106
+ * {@link ProviderFetchError.fromResponse}. A `ProviderFetchError` built from the status line alone reads
107
+ * "(403) Forbidden." and can never match, which is what made this check dead code on the direct-fetch clients.
108
+ */
109
+ export function isRateLimitResponse(ex) {
110
+ // Matches the phrasing hosts actually use: GitHub/Bitbucket "API rate limit exceeded", GitLab "rate limit
111
+ // exceeded", Azure "Request was blocked due to exceeding usage of resource 'RateLimit'" / "TF400733: The
112
+ // request has been canceled: Request was blocked due to exceeding usage".
113
+ if (ex.status === 429)
114
+ return true;
115
+ const message = ex.message?.toLowerCase();
116
+ return message != null && (message.includes('rate limit') || message.includes('ratelimit'));
117
+ }
118
+ /**
119
+ * Builds a {@link RequestRateLimitError} from a provider error response, reading the reset epoch from the
120
+ * standard `x-ratelimit-reset` header when present. Accepts both header shapes in use: the `fetch` `Headers`
121
+ * instance the direct clients get, and the plain object the SDK attaches to its errors.
122
+ */
123
+ export function toRateLimitError(ex, token) {
124
+ const headers = ex.response?.headers;
125
+ const raw = headers == null
126
+ ? undefined
127
+ : typeof headers.get === 'function'
128
+ ? headers.get('x-ratelimit-reset')
129
+ : headers['x-ratelimit-reset'];
130
+ // Only a header that actually came back as a string/number can be a reset epoch; anything else (a nested SDK
131
+ // object, an array of values) would stringify to garbage and parse to NaN anyway.
132
+ let resetAt;
133
+ if (typeof raw === 'string' || typeof raw === 'number') {
134
+ resetAt = parseInt(String(raw), 10);
135
+ if (Number.isNaN(resetAt)) {
136
+ resetAt = undefined;
137
+ }
138
+ }
139
+ return new RequestRateLimitError(ex, token, resetAt);
140
+ }
141
+ /**
142
+ * Normalizes a caught `unknown` into an `Error`. Result cores type their failure channel as `error: Error`,
143
+ * but a `catch` binding is `unknown` and a provider (or a third-party SDK) can throw a non-Error value;
144
+ * returning it raw would leak a non-Error through the public result surface and break downstream `instanceof`
145
+ * classification. Passes an existing `Error` through unchanged and wraps anything else with `String(ex)`.
146
+ */
147
+ export function toError(ex) {
148
+ return ex instanceof Error ? ex : new Error(String(ex));
149
+ }
150
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/plus/integrations/errors.ts"],"names":[],"mappings":"AACA,OAAO,EACN,mBAAmB,EACnB,yBAAyB,EACzB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,GACrB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D;;;;;;GAMG;AACH,MAAM,OAAO,+BAAgC,SAAQ,KAAK;IACzD,YAAY,QAAgB,EAAE,MAAc;QAC3C,KAAK,CAAC,GAAG,QAAQ,sBAAsB,MAAM,EAAE,CAAC,CAAC;QACjD,KAAK,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,CAAC;IAC7C,CAAC;CACD;AAED;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAwB3B,QAAQ;IAvBzB,IAAI,MAAM;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;IACjC,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,QAAgB,EAAE,QAAkB;QAC7D,OAAO,IAAI,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzF,CAAC;IAED,YACC,QAAgB,EACA,QAAkB,EAClC,MAA8B;QAE9B,KAAK,CACJ,GAAG,QAAQ,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,EAAE,GACjG,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EACtC,EAAE,CACF,CAAC;wBAPc,QAAQ;QASxB,KAAK,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,CAAC;IAC7C,CAAC;CACD;AAED,yGAAyG;AACzG,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAE/B;;;;;;;;GAQG;AACH,KAAK,UAAU,oBAAoB,CAAC,QAAkB;IACrD,IAAI,IAAI,CAAC;IACT,IAAI,CAAC;QACJ,wGAAwG;QACxG,kFAAkF;QAClF,IAAI,QAAQ,CAAC,QAAQ;YAAE,OAAO,SAAS,CAAC;QAExC,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAE5B,IAAI,OAA2B,CAAC;IAChC,IAAI,CAAC;QACJ,MAAM,IAAI,GAAY,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9C,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,IAA8C,CAAC;YAC7E,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC3B,OAAO,GAAG,CAAC,CAAC;YACb,CAAC;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACtC,OAAO,GAAG,KAAK,CAAC;YACjB,CAAC;iBAAM,IAAI,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAQ,KAAa,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACrG,OAAO,GAAI,KAA6B,CAAC,OAAO,CAAC;YAClD,CAAC;QACF,CAAC;IACF,CAAC;IAAC,MAAM,CAAC;QACR,0GAA0G;IAC3G,CAAC;IAED,OAAO,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IACnC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAClF,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAAwC;IAC3E,0GAA0G;IAC1G,yGAAyG;IACzG,0EAA0E;IAC1E,IAAI,EAAE,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IAEnC,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC;IAC1C,OAAO,OAAO,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;AAC7F,CAAC;AASD;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC/B,EAAwD,EACxD,KAAyB;IAEzB,MAAM,OAAO,GAAG,EAAE,CAAC,QAAQ,EAAE,OAAsD,CAAC;IACpF,MAAM,GAAG,GACR,OAAO,IAAI,IAAI;QACd,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,OAAO,OAAO,CAAC,GAAG,KAAK,UAAU;YAClC,CAAC,CAAE,OAAO,CAAC,GAAuC,CAAC,mBAAmB,CAAC;YACvE,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAElC,6GAA6G;IAC7G,kFAAkF;IAClF,IAAI,OAA2B,CAAC;IAChC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACxD,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QACpC,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,OAAO,GAAG,SAAS,CAAC;QACrB,CAAC;IACF,CAAC;IAED,OAAO,IAAI,qBAAqB,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AACtD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CAAC,EAAW;IAClC,OAAO,EAAE,YAAY,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AACzD,CAAC"}