@gitkraken/core-gitlens 0.4.0 → 0.4.101

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 (1051) hide show
  1. package/CHANGELOG.md +74 -1
  2. package/README.md +9 -2
  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.map +1 -1
  8. package/dist/git/errors.d.ts +31 -1
  9. package/dist/git/errors.d.ts.map +1 -1
  10. package/dist/git/errors.js +29 -0
  11. package/dist/git/errors.js.map +1 -1
  12. package/dist/git/models/author.d.ts.map +1 -1
  13. package/dist/git/models/author.js.map +1 -1
  14. package/dist/git/models/autolink.d.ts.map +1 -1
  15. package/dist/git/models/autolink.js.map +1 -1
  16. package/dist/git/models/blame.d.ts.map +1 -1
  17. package/dist/git/models/blame.js.map +1 -1
  18. package/dist/git/models/branch.d.ts.map +1 -1
  19. package/dist/git/models/branch.js.map +1 -1
  20. package/dist/git/models/commit.d.ts.map +1 -1
  21. package/dist/git/models/commit.js +1 -1
  22. package/dist/git/models/commit.js.map +1 -1
  23. package/dist/git/models/contributor.d.ts.map +1 -1
  24. package/dist/git/models/contributor.js.map +1 -1
  25. package/dist/git/models/defaultBranch.d.ts.map +1 -1
  26. package/dist/git/models/defaultBranch.js.map +1 -1
  27. package/dist/git/models/diff.d.ts.map +1 -1
  28. package/dist/git/models/diff.js.map +1 -1
  29. package/dist/git/models/file.d.ts.map +1 -1
  30. package/dist/git/models/file.js.map +1 -1
  31. package/dist/git/models/fileChange.d.ts.map +1 -1
  32. package/dist/git/models/fileChange.js.map +1 -1
  33. package/dist/git/models/fileStatus.d.ts +22 -22
  34. package/dist/git/models/fileStatus.d.ts.map +1 -1
  35. package/dist/git/models/fileStatus.js.map +1 -1
  36. package/dist/git/models/graph.d.ts +122 -1
  37. package/dist/git/models/graph.d.ts.map +1 -1
  38. package/dist/git/models/graph.js +4 -0
  39. package/dist/git/models/graph.js.map +1 -1
  40. package/dist/git/models/graphSearch.d.ts.map +1 -1
  41. package/dist/git/models/graphSearch.js.map +1 -1
  42. package/dist/git/models/graphSession.d.ts +177 -0
  43. package/dist/git/models/graphSession.d.ts.map +1 -0
  44. package/dist/git/models/graphSession.js +7 -0
  45. package/dist/git/models/graphSession.js.map +1 -0
  46. package/dist/git/models/issue.d.ts +12 -2
  47. package/dist/git/models/issue.d.ts.map +1 -1
  48. package/dist/git/models/issue.js +3 -1
  49. package/dist/git/models/issue.js.map +1 -1
  50. package/dist/git/models/issueOrPullRequest.d.ts.map +1 -1
  51. package/dist/git/models/issueOrPullRequest.js.map +1 -1
  52. package/dist/git/models/lineRange.d.ts.map +1 -1
  53. package/dist/git/models/lineRange.js.map +1 -1
  54. package/dist/git/models/log.d.ts.map +1 -1
  55. package/dist/git/models/log.js.map +1 -1
  56. package/dist/git/models/mergeConflicts.d.ts.map +1 -1
  57. package/dist/git/models/mergeConflicts.js.map +1 -1
  58. package/dist/git/models/patch.d.ts.map +1 -1
  59. package/dist/git/models/patch.js.map +1 -1
  60. package/dist/git/models/pausedOperationStatus.d.ts.map +1 -1
  61. package/dist/git/models/pausedOperationStatus.js.map +1 -1
  62. package/dist/git/models/pullRequest.d.ts +27 -2
  63. package/dist/git/models/pullRequest.d.ts.map +1 -1
  64. package/dist/git/models/pullRequest.js +7 -1
  65. package/dist/git/models/pullRequest.js.map +1 -1
  66. package/dist/git/models/rebase.d.ts.map +1 -1
  67. package/dist/git/models/rebase.js.map +1 -1
  68. package/dist/git/models/reference.d.ts.map +1 -1
  69. package/dist/git/models/reference.js.map +1 -1
  70. package/dist/git/models/reflog.d.ts.map +1 -1
  71. package/dist/git/models/reflog.js.map +1 -1
  72. package/dist/git/models/remote.d.ts.map +1 -1
  73. package/dist/git/models/remote.js.map +1 -1
  74. package/dist/git/models/remoteProvider.d.ts.map +1 -1
  75. package/dist/git/models/remoteProvider.js.map +1 -1
  76. package/dist/git/models/remoteResource.d.ts.map +1 -1
  77. package/dist/git/models/remoteResource.js.map +1 -1
  78. package/dist/git/models/repository.d.ts +20 -2
  79. package/dist/git/models/repository.d.ts.map +1 -1
  80. package/dist/git/models/repository.js +19 -0
  81. package/dist/git/models/repository.js.map +1 -1
  82. package/dist/git/models/repositoryChangeEvent.d.ts.map +1 -1
  83. package/dist/git/models/repositoryChangeEvent.js.map +1 -1
  84. package/dist/git/models/repositoryIdentities.d.ts.map +1 -1
  85. package/dist/git/models/repositoryIdentities.js.map +1 -1
  86. package/dist/git/models/repositoryMetadata.d.ts.map +1 -1
  87. package/dist/git/models/repositoryMetadata.js.map +1 -1
  88. package/dist/git/models/resourceDescriptor.d.ts +16 -0
  89. package/dist/git/models/resourceDescriptor.d.ts.map +1 -1
  90. package/dist/git/models/resourceDescriptor.js.map +1 -1
  91. package/dist/git/models/revision.d.ts.map +1 -1
  92. package/dist/git/models/revision.js.map +1 -1
  93. package/dist/git/models/search.d.ts.map +1 -1
  94. package/dist/git/models/search.js.map +1 -1
  95. package/dist/git/models/shortlog.d.ts.map +1 -1
  96. package/dist/git/models/shortlog.js.map +1 -1
  97. package/dist/git/models/signature.d.ts +14 -0
  98. package/dist/git/models/signature.d.ts.map +1 -1
  99. package/dist/git/models/signature.js.map +1 -1
  100. package/dist/git/models/staging.d.ts.map +1 -1
  101. package/dist/git/models/staging.js.map +1 -1
  102. package/dist/git/models/stash.d.ts.map +1 -1
  103. package/dist/git/models/stash.js.map +1 -1
  104. package/dist/git/models/status.d.ts.map +1 -1
  105. package/dist/git/models/status.js.map +1 -1
  106. package/dist/git/models/statusFile.d.ts.map +1 -1
  107. package/dist/git/models/statusFile.js.map +1 -1
  108. package/dist/git/models/tag.d.ts +11 -1
  109. package/dist/git/models/tag.d.ts.map +1 -1
  110. package/dist/git/models/tag.js +9 -2
  111. package/dist/git/models/tag.js.map +1 -1
  112. package/dist/git/models/tree.d.ts.map +1 -1
  113. package/dist/git/models/tree.js.map +1 -1
  114. package/dist/git/models/user.d.ts.map +1 -1
  115. package/dist/git/models/user.js.map +1 -1
  116. package/dist/git/models/worktree.d.ts.map +1 -1
  117. package/dist/git/models/worktree.js.map +1 -1
  118. package/dist/git/parsers/diffParser.d.ts.map +1 -1
  119. package/dist/git/parsers/diffParser.js +1 -1
  120. package/dist/git/parsers/diffParser.js.map +1 -1
  121. package/dist/git/parsers/rebaseTodoParser.d.ts.map +1 -1
  122. package/dist/git/parsers/rebaseTodoParser.js.map +1 -1
  123. package/dist/git/providers/blame.d.ts.map +1 -1
  124. package/dist/git/providers/blame.js.map +1 -1
  125. package/dist/git/providers/branches.d.ts +8 -1
  126. package/dist/git/providers/branches.d.ts.map +1 -1
  127. package/dist/git/providers/branches.js.map +1 -1
  128. package/dist/git/providers/commits.d.ts +6 -1
  129. package/dist/git/providers/commits.d.ts.map +1 -1
  130. package/dist/git/providers/commits.js.map +1 -1
  131. package/dist/git/providers/config.d.ts +6 -2
  132. package/dist/git/providers/config.d.ts.map +1 -1
  133. package/dist/git/providers/config.js.map +1 -1
  134. package/dist/git/providers/contributors.d.ts.map +1 -1
  135. package/dist/git/providers/contributors.js.map +1 -1
  136. package/dist/git/providers/diff.d.ts.map +1 -1
  137. package/dist/git/providers/diff.js.map +1 -1
  138. package/dist/git/providers/graph.d.ts +55 -1
  139. package/dist/git/providers/graph.d.ts.map +1 -1
  140. package/dist/git/providers/graph.js.map +1 -1
  141. package/dist/git/providers/operations.d.ts.map +1 -1
  142. package/dist/git/providers/operations.js.map +1 -1
  143. package/dist/git/providers/patch.d.ts.map +1 -1
  144. package/dist/git/providers/patch.js.map +1 -1
  145. package/dist/git/providers/pausedOperations.d.ts.map +1 -1
  146. package/dist/git/providers/pausedOperations.js.map +1 -1
  147. package/dist/git/providers/provider.d.ts.map +1 -1
  148. package/dist/git/providers/provider.js.map +1 -1
  149. package/dist/git/providers/refs.d.ts.map +1 -1
  150. package/dist/git/providers/refs.js.map +1 -1
  151. package/dist/git/providers/remotes.d.ts.map +1 -1
  152. package/dist/git/providers/remotes.js.map +1 -1
  153. package/dist/git/providers/revision.d.ts.map +1 -1
  154. package/dist/git/providers/revision.js.map +1 -1
  155. package/dist/git/providers/shared/remotes.d.ts.map +1 -1
  156. package/dist/git/providers/shared/remotes.js.map +1 -1
  157. package/dist/git/providers/staging.d.ts.map +1 -1
  158. package/dist/git/providers/staging.js.map +1 -1
  159. package/dist/git/providers/stash.d.ts.map +1 -1
  160. package/dist/git/providers/stash.js.map +1 -1
  161. package/dist/git/providers/status.d.ts +1 -0
  162. package/dist/git/providers/status.d.ts.map +1 -1
  163. package/dist/git/providers/status.js.map +1 -1
  164. package/dist/git/providers/tags.d.ts.map +1 -1
  165. package/dist/git/providers/tags.js.map +1 -1
  166. package/dist/git/providers/types.d.ts.map +1 -1
  167. package/dist/git/providers/types.js.map +1 -1
  168. package/dist/git/providers/worktrees.d.ts +3 -1
  169. package/dist/git/providers/worktrees.d.ts.map +1 -1
  170. package/dist/git/providers/worktrees.js.map +1 -1
  171. package/dist/git/remotes/azure-devops.d.ts.map +1 -1
  172. package/dist/git/remotes/azure-devops.js +27 -31
  173. package/dist/git/remotes/azure-devops.js.map +1 -1
  174. package/dist/git/remotes/bitbucket-server.d.ts.map +1 -1
  175. package/dist/git/remotes/bitbucket-server.js +21 -23
  176. package/dist/git/remotes/bitbucket-server.js.map +1 -1
  177. package/dist/git/remotes/bitbucket.d.ts.map +1 -1
  178. package/dist/git/remotes/bitbucket.js +21 -23
  179. package/dist/git/remotes/bitbucket.js.map +1 -1
  180. package/dist/git/remotes/custom.d.ts.map +1 -1
  181. package/dist/git/remotes/custom.js.map +1 -1
  182. package/dist/git/remotes/gerrit.d.ts.map +1 -1
  183. package/dist/git/remotes/gerrit.js +11 -13
  184. package/dist/git/remotes/gerrit.js.map +1 -1
  185. package/dist/git/remotes/gitea.d.ts.map +1 -1
  186. package/dist/git/remotes/gitea.js +12 -14
  187. package/dist/git/remotes/gitea.js.map +1 -1
  188. package/dist/git/remotes/github.d.ts.map +1 -1
  189. package/dist/git/remotes/github.js +54 -56
  190. package/dist/git/remotes/github.js.map +1 -1
  191. package/dist/git/remotes/gitlab.d.ts.map +1 -1
  192. package/dist/git/remotes/gitlab.js +93 -95
  193. package/dist/git/remotes/gitlab.js.map +1 -1
  194. package/dist/git/remotes/google-source.d.ts.map +1 -1
  195. package/dist/git/remotes/google-source.js.map +1 -1
  196. package/dist/git/remotes/matcher.d.ts.map +1 -1
  197. package/dist/git/remotes/matcher.js.map +1 -1
  198. package/dist/git/run.types.d.ts +62 -3
  199. package/dist/git/run.types.d.ts.map +1 -1
  200. package/dist/git/service.d.ts.map +1 -1
  201. package/dist/git/utils/autolink.utils.d.ts.map +1 -1
  202. package/dist/git/utils/autolink.utils.js.map +1 -1
  203. package/dist/git/utils/blame.utils.d.ts.map +1 -1
  204. package/dist/git/utils/blame.utils.js.map +1 -1
  205. package/dist/git/utils/branch.utils.d.ts.map +1 -1
  206. package/dist/git/utils/branch.utils.js +12 -1
  207. package/dist/git/utils/branch.utils.js.map +1 -1
  208. package/dist/git/utils/commit.utils.d.ts.map +1 -1
  209. package/dist/git/utils/commit.utils.js.map +1 -1
  210. package/dist/git/utils/conflictResolution.utils.d.ts.map +1 -1
  211. package/dist/git/utils/conflictResolution.utils.js.map +1 -1
  212. package/dist/git/utils/contributor.utils.d.ts +1 -1
  213. package/dist/git/utils/contributor.utils.d.ts.map +1 -1
  214. package/dist/git/utils/contributor.utils.js +1 -2
  215. package/dist/git/utils/contributor.utils.js.map +1 -1
  216. package/dist/git/utils/fetch.utils.d.ts.map +1 -1
  217. package/dist/git/utils/fetch.utils.js.map +1 -1
  218. package/dist/git/utils/fileStatus.utils.d.ts +7 -0
  219. package/dist/git/utils/fileStatus.utils.d.ts.map +1 -1
  220. package/dist/git/utils/fileStatus.utils.js +6 -0
  221. package/dist/git/utils/fileStatus.utils.js.map +1 -1
  222. package/dist/git/utils/graph.utils.d.ts +20 -0
  223. package/dist/git/utils/graph.utils.d.ts.map +1 -0
  224. package/dist/git/utils/graph.utils.js +40 -0
  225. package/dist/git/utils/graph.utils.js.map +1 -0
  226. package/dist/git/utils/issue.utils.d.ts.map +1 -1
  227. package/dist/git/utils/issue.utils.js +1 -0
  228. package/dist/git/utils/issue.utils.js.map +1 -1
  229. package/dist/git/utils/issueOrPullRequest.utils.d.ts.map +1 -1
  230. package/dist/git/utils/issueOrPullRequest.utils.js.map +1 -1
  231. package/dist/git/utils/mergeConflicts.utils.d.ts.map +1 -1
  232. package/dist/git/utils/mergeConflicts.utils.js.map +1 -1
  233. package/dist/git/utils/pausedOperationStatus.utils.d.ts +13 -13
  234. package/dist/git/utils/pausedOperationStatus.utils.d.ts.map +1 -1
  235. package/dist/git/utils/pausedOperationStatus.utils.js.map +1 -1
  236. package/dist/git/utils/pullRequest.utils.d.ts.map +1 -1
  237. package/dist/git/utils/pullRequest.utils.js +9 -0
  238. package/dist/git/utils/pullRequest.utils.js.map +1 -1
  239. package/dist/git/utils/reachability.utils.d.ts +20 -2
  240. package/dist/git/utils/reachability.utils.d.ts.map +1 -1
  241. package/dist/git/utils/reachability.utils.js +68 -7
  242. package/dist/git/utils/reachability.utils.js.map +1 -1
  243. package/dist/git/utils/rebase.utils.d.ts.map +1 -1
  244. package/dist/git/utils/rebase.utils.js.map +1 -1
  245. package/dist/git/utils/reference.utils.d.ts.map +1 -1
  246. package/dist/git/utils/reference.utils.js.map +1 -1
  247. package/dist/git/utils/remote.utils.d.ts.map +1 -1
  248. package/dist/git/utils/remote.utils.js.map +1 -1
  249. package/dist/git/utils/repository.utils.d.ts.map +1 -1
  250. package/dist/git/utils/repository.utils.js.map +1 -1
  251. package/dist/git/utils/resourceDescriptor.utils.d.ts.map +1 -1
  252. package/dist/git/utils/resourceDescriptor.utils.js.map +1 -1
  253. package/dist/git/utils/revision.utils.d.ts.map +1 -1
  254. package/dist/git/utils/revision.utils.js.map +1 -1
  255. package/dist/git/utils/search.utils.d.ts.map +1 -1
  256. package/dist/git/utils/search.utils.js.map +1 -1
  257. package/dist/git/utils/sorting.d.ts.map +1 -1
  258. package/dist/git/utils/sorting.js.map +1 -1
  259. package/dist/git/utils/sshKey.utils.d.ts +7 -0
  260. package/dist/git/utils/sshKey.utils.d.ts.map +1 -0
  261. package/dist/git/utils/sshKey.utils.js +25 -0
  262. package/dist/git/utils/sshKey.utils.js.map +1 -0
  263. package/dist/git/utils/status.utils.d.ts.map +1 -1
  264. package/dist/git/utils/status.utils.js.map +1 -1
  265. package/dist/git/utils/statusFile.utils.d.ts.map +1 -1
  266. package/dist/git/utils/statusFile.utils.js.map +1 -1
  267. package/dist/git/utils/tag.utils.d.ts.map +1 -1
  268. package/dist/git/utils/tag.utils.js.map +1 -1
  269. package/dist/git/utils/tooltip.utils.d.ts.map +1 -1
  270. package/dist/git/utils/tooltip.utils.js.map +1 -1
  271. package/dist/git/utils/uriAuthority.d.ts.map +1 -1
  272. package/dist/git/utils/uriAuthority.js.map +1 -1
  273. package/dist/git/utils/user.utils.d.ts.map +1 -1
  274. package/dist/git/utils/user.utils.js.map +1 -1
  275. package/dist/git/utils/worktree.utils.d.ts.map +1 -1
  276. package/dist/git/utils/worktree.utils.js.map +1 -1
  277. package/dist/git/watching/changeEvent.d.ts.map +1 -1
  278. package/dist/git/watching/changeEvent.js.map +1 -1
  279. package/dist/git/watching/classifyChange.d.ts.map +1 -1
  280. package/dist/git/watching/classifyChange.js.map +1 -1
  281. package/dist/git/watching/gitIgnoreFilter.d.ts.map +1 -1
  282. package/dist/git/watching/gitIgnoreFilter.js.map +1 -1
  283. package/dist/git/watching/initWatcher.d.ts.map +1 -1
  284. package/dist/git/watching/initWatcher.js.map +1 -1
  285. package/dist/git/watching/provider.d.ts.map +1 -1
  286. package/dist/git/watching/provider.js.map +1 -1
  287. package/dist/git/watching/watchGroup.d.ts.map +1 -1
  288. package/dist/git/watching/watchGroup.js.map +1 -1
  289. package/dist/git/watching/watchService.d.ts +4 -0
  290. package/dist/git/watching/watchService.d.ts.map +1 -1
  291. package/dist/git/watching/watchService.js +15 -1
  292. package/dist/git/watching/watchService.js.map +1 -1
  293. package/dist/git/watching/watchSession.d.ts +7 -0
  294. package/dist/git/watching/watchSession.d.ts.map +1 -1
  295. package/dist/git/watching/watchSession.js +14 -2
  296. package/dist/git/watching/watchSession.js.map +1 -1
  297. package/dist/git/watching/watcherPatterns.d.ts.map +1 -1
  298. package/dist/git/watching/watcherPatterns.js.map +1 -1
  299. package/dist/git-cli/cliGitProvider.d.ts.map +1 -1
  300. package/dist/git-cli/exec/exec.d.ts.map +1 -1
  301. package/dist/git-cli/exec/exec.errors.d.ts.map +1 -1
  302. package/dist/git-cli/exec/exec.errors.js.map +1 -1
  303. package/dist/git-cli/exec/exec.js.map +1 -1
  304. package/dist/git-cli/exec/exec.types.d.ts.map +1 -1
  305. package/dist/git-cli/exec/exec.types.js.map +1 -1
  306. package/dist/git-cli/exec/features.d.ts.map +1 -1
  307. package/dist/git-cli/exec/features.js.map +1 -1
  308. package/dist/git-cli/exec/git.d.ts +19 -27
  309. package/dist/git-cli/exec/git.d.ts.map +1 -1
  310. package/dist/git-cli/exec/git.js +126 -34
  311. package/dist/git-cli/exec/git.js.map +1 -1
  312. package/dist/git-cli/exec/gitQueue.d.ts.map +1 -1
  313. package/dist/git-cli/exec/gitQueue.js.map +1 -1
  314. package/dist/git-cli/exec/locator.d.ts.map +1 -1
  315. package/dist/git-cli/exec/locator.js.map +1 -1
  316. package/dist/git-cli/parsers/blameParser.d.ts.map +1 -1
  317. package/dist/git-cli/parsers/blameParser.js.map +1 -1
  318. package/dist/git-cli/parsers/indexParser.d.ts.map +1 -1
  319. package/dist/git-cli/parsers/indexParser.js.map +1 -1
  320. package/dist/git-cli/parsers/logParser.d.ts +9 -1
  321. package/dist/git-cli/parsers/logParser.d.ts.map +1 -1
  322. package/dist/git-cli/parsers/logParser.js +141 -60
  323. package/dist/git-cli/parsers/logParser.js.map +1 -1
  324. package/dist/git-cli/parsers/mergeTreeParser.d.ts.map +1 -1
  325. package/dist/git-cli/parsers/mergeTreeParser.js.map +1 -1
  326. package/dist/git-cli/parsers/refParser.d.ts.map +1 -1
  327. package/dist/git-cli/parsers/refParser.js.map +1 -1
  328. package/dist/git-cli/parsers/reflogParser.d.ts.map +1 -1
  329. package/dist/git-cli/parsers/reflogParser.js.map +1 -1
  330. package/dist/git-cli/parsers/remoteParser.d.ts.map +1 -1
  331. package/dist/git-cli/parsers/remoteParser.js.map +1 -1
  332. package/dist/git-cli/parsers/shortlogParser.d.ts.map +1 -1
  333. package/dist/git-cli/parsers/shortlogParser.js.map +1 -1
  334. package/dist/git-cli/parsers/signatureParser.d.ts.map +1 -1
  335. package/dist/git-cli/parsers/signatureParser.js.map +1 -1
  336. package/dist/git-cli/parsers/sshSignatureParser.d.ts +21 -0
  337. package/dist/git-cli/parsers/sshSignatureParser.d.ts.map +1 -0
  338. package/dist/git-cli/parsers/sshSignatureParser.js +78 -0
  339. package/dist/git-cli/parsers/sshSignatureParser.js.map +1 -0
  340. package/dist/git-cli/parsers/statusParser.d.ts.map +1 -1
  341. package/dist/git-cli/parsers/statusParser.js.map +1 -1
  342. package/dist/git-cli/parsers/treeParser.d.ts.map +1 -1
  343. package/dist/git-cli/parsers/treeParser.js.map +1 -1
  344. package/dist/git-cli/parsers/worktreeParser.d.ts.map +1 -1
  345. package/dist/git-cli/parsers/worktreeParser.js +5 -7
  346. package/dist/git-cli/parsers/worktreeParser.js.map +1 -1
  347. package/dist/git-cli/providers/blame.d.ts.map +1 -1
  348. package/dist/git-cli/providers/blame.js.map +1 -1
  349. package/dist/git-cli/providers/branches.d.ts +1 -0
  350. package/dist/git-cli/providers/branches.d.ts.map +1 -1
  351. package/dist/git-cli/providers/branches.js +51 -32
  352. package/dist/git-cli/providers/branches.js.map +1 -1
  353. package/dist/git-cli/providers/commitFilesetUtils.d.ts.map +1 -1
  354. package/dist/git-cli/providers/commitFilesetUtils.js.map +1 -1
  355. package/dist/git-cli/providers/commits.d.ts +12 -1
  356. package/dist/git-cli/providers/commits.d.ts.map +1 -1
  357. package/dist/git-cli/providers/commits.js +89 -8
  358. package/dist/git-cli/providers/commits.js.map +1 -1
  359. package/dist/git-cli/providers/config.d.ts.map +1 -1
  360. package/dist/git-cli/providers/config.js.map +1 -1
  361. package/dist/git-cli/providers/contributors.d.ts.map +1 -1
  362. package/dist/git-cli/providers/contributors.js.map +1 -1
  363. package/dist/git-cli/providers/diff.d.ts.map +1 -1
  364. package/dist/git-cli/providers/diff.js.map +1 -1
  365. package/dist/git-cli/providers/graph.d.ts +35 -1
  366. package/dist/git-cli/providers/graph.d.ts.map +1 -1
  367. package/dist/git-cli/providers/graph.js +1434 -330
  368. package/dist/git-cli/providers/graph.js.map +1 -1
  369. package/dist/git-cli/providers/operations.d.ts.map +1 -1
  370. package/dist/git-cli/providers/operations.js.map +1 -1
  371. package/dist/git-cli/providers/patch.d.ts.map +1 -1
  372. package/dist/git-cli/providers/patch.js.map +1 -1
  373. package/dist/git-cli/providers/pausedOperations.d.ts.map +1 -1
  374. package/dist/git-cli/providers/pausedOperations.js +3 -3
  375. package/dist/git-cli/providers/pausedOperations.js.map +1 -1
  376. package/dist/git-cli/providers/refs.d.ts.map +1 -1
  377. package/dist/git-cli/providers/refs.js.map +1 -1
  378. package/dist/git-cli/providers/remotes.d.ts.map +1 -1
  379. package/dist/git-cli/providers/remotes.js.map +1 -1
  380. package/dist/git-cli/providers/revision.d.ts +1 -0
  381. package/dist/git-cli/providers/revision.d.ts.map +1 -1
  382. package/dist/git-cli/providers/revision.js +33 -0
  383. package/dist/git-cli/providers/revision.js.map +1 -1
  384. package/dist/git-cli/providers/staging.d.ts.map +1 -1
  385. package/dist/git-cli/providers/staging.js.map +1 -1
  386. package/dist/git-cli/providers/stash.d.ts.map +1 -1
  387. package/dist/git-cli/providers/stash.js.map +1 -1
  388. package/dist/git-cli/providers/status.d.ts +28 -0
  389. package/dist/git-cli/providers/status.d.ts.map +1 -1
  390. package/dist/git-cli/providers/status.js +240 -154
  391. package/dist/git-cli/providers/status.js.map +1 -1
  392. package/dist/git-cli/providers/tags.d.ts.map +1 -1
  393. package/dist/git-cli/providers/tags.js +2 -1
  394. package/dist/git-cli/providers/tags.js.map +1 -1
  395. package/dist/git-cli/providers/worktrees.d.ts +2 -1
  396. package/dist/git-cli/providers/worktrees.d.ts.map +1 -1
  397. package/dist/git-cli/providers/worktrees.js +28 -3
  398. package/dist/git-cli/providers/worktrees.js.map +1 -1
  399. package/dist/git-cli/service.d.ts.map +1 -1
  400. package/dist/git-cli/service.js +8 -0
  401. package/dist/git-cli/service.js.map +1 -1
  402. package/dist/ipc/ipcServer.d.ts.map +1 -1
  403. package/dist/ipc/ipcServer.js +1 -1
  404. package/dist/ipc/ipcServer.js.map +1 -1
  405. package/dist/plus/agents/providers/claudeCodeProvider.d.ts +6 -1
  406. package/dist/plus/agents/providers/claudeCodeProvider.d.ts.map +1 -1
  407. package/dist/plus/agents/providers/claudeCodeProvider.js +19 -0
  408. package/dist/plus/agents/providers/claudeCodeProvider.js.map +1 -1
  409. package/dist/plus/agents/providers/claudeCodeTranscript.d.ts +68 -0
  410. package/dist/plus/agents/providers/claudeCodeTranscript.d.ts.map +1 -1
  411. package/dist/plus/agents/providers/claudeCodeTranscript.js +262 -8
  412. package/dist/plus/agents/providers/claudeCodeTranscript.js.map +1 -1
  413. package/dist/plus/agents/types.d.ts +36 -2
  414. package/dist/plus/agents/types.d.ts.map +1 -1
  415. package/dist/plus/ai/constants.d.ts +1 -2
  416. package/dist/plus/ai/constants.d.ts.map +1 -1
  417. package/dist/plus/ai/constants.js +1 -8
  418. package/dist/plus/ai/constants.js.map +1 -1
  419. package/dist/plus/ai/errors.d.ts.map +1 -1
  420. package/dist/plus/ai/errors.js.map +1 -1
  421. package/dist/plus/ai/models/conversation.d.ts.map +1 -1
  422. package/dist/plus/ai/models/conversation.js.map +1 -1
  423. package/dist/plus/ai/models/model.d.ts +2 -1
  424. package/dist/plus/ai/models/model.d.ts.map +1 -1
  425. package/dist/plus/ai/models/model.js +50 -1
  426. package/dist/plus/ai/models/model.js.map +1 -1
  427. package/dist/plus/ai/models/promptTemplates.d.ts +5 -2
  428. package/dist/plus/ai/models/promptTemplates.d.ts.map +1 -1
  429. package/dist/plus/ai/models/promptTemplates.js.map +1 -1
  430. package/dist/plus/ai/models/provider.d.ts.map +1 -1
  431. package/dist/plus/ai/models/provider.js.map +1 -1
  432. package/dist/plus/ai/models/results.d.ts.map +1 -1
  433. package/dist/plus/ai/models/results.js.map +1 -1
  434. package/dist/plus/ai/prompts.d.ts +1 -1
  435. package/dist/plus/ai/prompts.d.ts.map +1 -1
  436. package/dist/plus/ai/prompts.js +15 -47
  437. package/dist/plus/ai/prompts.js.map +1 -1
  438. package/dist/plus/ai/providers/anthropicProvider.d.ts +5 -0
  439. package/dist/plus/ai/providers/anthropicProvider.d.ts.map +1 -1
  440. package/dist/plus/ai/providers/anthropicProvider.js +40 -3
  441. package/dist/plus/ai/providers/anthropicProvider.js.map +1 -1
  442. package/dist/plus/ai/providers/azureProvider.d.ts.map +1 -1
  443. package/dist/plus/ai/providers/azureProvider.js.map +1 -1
  444. package/dist/plus/ai/providers/context.d.ts.map +1 -1
  445. package/dist/plus/ai/providers/context.js.map +1 -1
  446. package/dist/plus/ai/providers/deepSeekProvider.d.ts.map +1 -1
  447. package/dist/plus/ai/providers/deepSeekProvider.js +17 -1
  448. package/dist/plus/ai/providers/deepSeekProvider.js.map +1 -1
  449. package/dist/plus/ai/providers/geminiProvider.d.ts.map +1 -1
  450. package/dist/plus/ai/providers/geminiProvider.js +25 -6
  451. package/dist/plus/ai/providers/geminiProvider.js.map +1 -1
  452. package/dist/plus/ai/providers/gitkrakenProvider.d.ts.map +1 -1
  453. package/dist/plus/ai/providers/gitkrakenProvider.js +1 -0
  454. package/dist/plus/ai/providers/gitkrakenProvider.js.map +1 -1
  455. package/dist/plus/ai/providers/huggingFaceProvider.d.ts +1 -1
  456. package/dist/plus/ai/providers/huggingFaceProvider.d.ts.map +1 -1
  457. package/dist/plus/ai/providers/huggingFaceProvider.js +21 -18
  458. package/dist/plus/ai/providers/huggingFaceProvider.js.map +1 -1
  459. package/dist/plus/ai/providers/mistralProvider.d.ts.map +1 -1
  460. package/dist/plus/ai/providers/mistralProvider.js.map +1 -1
  461. package/dist/plus/ai/providers/ollamaProvider.d.ts.map +1 -1
  462. package/dist/plus/ai/providers/ollamaProvider.js.map +1 -1
  463. package/dist/plus/ai/providers/openAICompatibleProvider.d.ts.map +1 -1
  464. package/dist/plus/ai/providers/openAICompatibleProvider.js.map +1 -1
  465. package/dist/plus/ai/providers/openAICompatibleProviderBase.d.ts +10 -1
  466. package/dist/plus/ai/providers/openAICompatibleProviderBase.d.ts.map +1 -1
  467. package/dist/plus/ai/providers/openAICompatibleProviderBase.js +9 -1
  468. package/dist/plus/ai/providers/openAICompatibleProviderBase.js.map +1 -1
  469. package/dist/plus/ai/providers/openRouterProvider.d.ts.map +1 -1
  470. package/dist/plus/ai/providers/openRouterProvider.js.map +1 -1
  471. package/dist/plus/ai/providers/openaiProvider.d.ts.map +1 -1
  472. package/dist/plus/ai/providers/openaiProvider.js.map +1 -1
  473. package/dist/plus/ai/providers/xaiProvider.d.ts.map +1 -1
  474. package/dist/plus/ai/providers/xaiProvider.js +14 -1
  475. package/dist/plus/ai/providers/xaiProvider.js.map +1 -1
  476. package/dist/plus/ai/utils/ai.utils.d.ts.map +1 -1
  477. package/dist/plus/ai/utils/ai.utils.js +0 -2
  478. package/dist/plus/ai/utils/ai.utils.js.map +1 -1
  479. package/dist/plus/ai/utils/results.utils.d.ts +3 -0
  480. package/dist/plus/ai/utils/results.utils.d.ts.map +1 -1
  481. package/dist/plus/ai/utils/results.utils.js +26 -0
  482. package/dist/plus/ai/utils/results.utils.js.map +1 -1
  483. package/dist/plus/ai/utils/truncation.utils.d.ts +1 -1
  484. package/dist/plus/ai/utils/truncation.utils.d.ts.map +1 -1
  485. package/dist/plus/ai/utils/truncation.utils.js.map +1 -1
  486. package/dist/plus/git-github/api/config.d.ts.map +1 -1
  487. package/dist/plus/git-github/api/config.js.map +1 -1
  488. package/dist/plus/git-github/api/github.d.ts +66 -3
  489. package/dist/plus/git-github/api/github.d.ts.map +1 -1
  490. package/dist/plus/git-github/api/github.js +345 -74
  491. package/dist/plus/git-github/api/github.js.map +1 -1
  492. package/dist/plus/git-github/api/github.utils.d.ts.map +1 -1
  493. package/dist/plus/git-github/api/github.utils.js.map +1 -1
  494. package/dist/plus/git-github/api/token.d.ts.map +1 -1
  495. package/dist/plus/git-github/api/token.js.map +1 -1
  496. package/dist/plus/git-github/api/tokenUtils.d.ts.map +1 -1
  497. package/dist/plus/git-github/api/tokenUtils.js.map +1 -1
  498. package/dist/plus/git-github/api/types.d.ts.map +1 -1
  499. package/dist/plus/git-github/api/types.js.map +1 -1
  500. package/dist/plus/git-github/context.d.ts.map +1 -1
  501. package/dist/plus/git-github/models.d.ts +5 -0
  502. package/dist/plus/git-github/models.d.ts.map +1 -1
  503. package/dist/plus/git-github/models.js +27 -2
  504. package/dist/plus/git-github/models.js.map +1 -1
  505. package/dist/plus/git-github/providers/github/blame.d.ts.map +1 -1
  506. package/dist/plus/git-github/providers/github/blame.js.map +1 -1
  507. package/dist/plus/git-github/providers/github/branches.d.ts +2 -1
  508. package/dist/plus/git-github/providers/github/branches.d.ts.map +1 -1
  509. package/dist/plus/git-github/providers/github/branches.js +7 -3
  510. package/dist/plus/git-github/providers/github/branches.js.map +1 -1
  511. package/dist/plus/git-github/providers/github/commits.d.ts.map +1 -1
  512. package/dist/plus/git-github/providers/github/commits.js.map +1 -1
  513. package/dist/plus/git-github/providers/github/config.d.ts.map +1 -1
  514. package/dist/plus/git-github/providers/github/config.js.map +1 -1
  515. package/dist/plus/git-github/providers/github/contributors.d.ts.map +1 -1
  516. package/dist/plus/git-github/providers/github/contributors.js.map +1 -1
  517. package/dist/plus/git-github/providers/github/diff.d.ts.map +1 -1
  518. package/dist/plus/git-github/providers/github/diff.js +2 -2
  519. package/dist/plus/git-github/providers/github/diff.js.map +1 -1
  520. package/dist/plus/git-github/providers/github/graph.d.ts +12 -1
  521. package/dist/plus/git-github/providers/github/graph.d.ts.map +1 -1
  522. package/dist/plus/git-github/providers/github/graph.js +85 -0
  523. package/dist/plus/git-github/providers/github/graph.js.map +1 -1
  524. package/dist/plus/git-github/providers/github/refs.d.ts.map +1 -1
  525. package/dist/plus/git-github/providers/github/refs.js.map +1 -1
  526. package/dist/plus/git-github/providers/github/remotes.d.ts.map +1 -1
  527. package/dist/plus/git-github/providers/github/remotes.js.map +1 -1
  528. package/dist/plus/git-github/providers/github/revision.d.ts.map +1 -1
  529. package/dist/plus/git-github/providers/github/revision.js.map +1 -1
  530. package/dist/plus/git-github/providers/github/status.d.ts.map +1 -1
  531. package/dist/plus/git-github/providers/github/status.js.map +1 -1
  532. package/dist/plus/git-github/providers/github/tags.d.ts.map +1 -1
  533. package/dist/plus/git-github/providers/github/tags.js +3 -1
  534. package/dist/plus/git-github/providers/github/tags.js.map +1 -1
  535. package/dist/plus/git-github/providers/githubGitProvider.d.ts.map +1 -1
  536. package/dist/plus/git-github/providers/githubGitProvider.js.map +1 -1
  537. package/dist/plus/git-github/providers/githubProvider.d.ts.map +1 -1
  538. package/dist/plus/git-github/providers/githubProvider.js.map +1 -1
  539. package/dist/plus/integrations/authentication/cloudIntegrationService.d.ts +20 -1
  540. package/dist/plus/integrations/authentication/cloudIntegrationService.d.ts.map +1 -1
  541. package/dist/plus/integrations/authentication/cloudIntegrationService.js +134 -10
  542. package/dist/plus/integrations/authentication/cloudIntegrationService.js.map +1 -1
  543. package/dist/plus/integrations/authentication/configuredIntegrationService.d.ts +52 -5
  544. package/dist/plus/integrations/authentication/configuredIntegrationService.d.ts.map +1 -1
  545. package/dist/plus/integrations/authentication/configuredIntegrationService.js +248 -46
  546. package/dist/plus/integrations/authentication/configuredIntegrationService.js.map +1 -1
  547. package/dist/plus/integrations/authentication/integrationAuthenticationProvider.d.ts +24 -4
  548. package/dist/plus/integrations/authentication/integrationAuthenticationProvider.d.ts.map +1 -1
  549. package/dist/plus/integrations/authentication/integrationAuthenticationProvider.js +58 -26
  550. package/dist/plus/integrations/authentication/integrationAuthenticationProvider.js.map +1 -1
  551. package/dist/plus/integrations/authentication/integrationAuthenticationService.d.ts.map +1 -1
  552. package/dist/plus/integrations/authentication/integrationAuthenticationService.js +7 -3
  553. package/dist/plus/integrations/authentication/integrationAuthenticationService.js.map +1 -1
  554. package/dist/plus/integrations/authentication/manualTokenProvider.d.ts +1 -0
  555. package/dist/plus/integrations/authentication/manualTokenProvider.d.ts.map +1 -1
  556. package/dist/plus/integrations/authentication/manualTokenProvider.js +9 -5
  557. package/dist/plus/integrations/authentication/manualTokenProvider.js.map +1 -1
  558. package/dist/plus/integrations/authentication/models.d.ts +33 -0
  559. package/dist/plus/integrations/authentication/models.d.ts.map +1 -1
  560. package/dist/plus/integrations/authentication/models.js.map +1 -1
  561. package/dist/plus/integrations/collectionMetadata.d.ts +21 -0
  562. package/dist/plus/integrations/collectionMetadata.d.ts.map +1 -0
  563. package/dist/plus/integrations/collectionMetadata.js +121 -0
  564. package/dist/plus/integrations/collectionMetadata.js.map +1 -0
  565. package/dist/plus/integrations/constants.d.ts +12 -2
  566. package/dist/plus/integrations/constants.d.ts.map +1 -1
  567. package/dist/plus/integrations/constants.js +10 -0
  568. package/dist/plus/integrations/constants.js.map +1 -1
  569. package/dist/plus/integrations/context.d.ts +10 -6
  570. package/dist/plus/integrations/context.d.ts.map +1 -1
  571. package/dist/plus/integrations/errors.d.ts +65 -0
  572. package/dist/plus/integrations/errors.d.ts.map +1 -1
  573. package/dist/plus/integrations/errors.js +135 -0
  574. package/dist/plus/integrations/errors.js.map +1 -1
  575. package/dist/plus/integrations/index.d.ts +57 -12
  576. package/dist/plus/integrations/index.d.ts.map +1 -1
  577. package/dist/plus/integrations/index.js +39 -37
  578. package/dist/plus/integrations/index.js.map +1 -1
  579. package/dist/plus/integrations/integrationService.d.ts +297 -13
  580. package/dist/plus/integrations/integrationService.d.ts.map +1 -1
  581. package/dist/plus/integrations/integrationService.js +672 -36
  582. package/dist/plus/integrations/integrationService.js.map +1 -1
  583. package/dist/plus/integrations/lite.d.ts +47 -0
  584. package/dist/plus/integrations/lite.d.ts.map +1 -0
  585. package/dist/plus/integrations/lite.js +141 -0
  586. package/dist/plus/integrations/lite.js.map +1 -0
  587. package/dist/plus/integrations/manager.d.ts +332 -0
  588. package/dist/plus/integrations/manager.d.ts.map +1 -0
  589. package/dist/plus/integrations/manager.js +2 -0
  590. package/dist/plus/integrations/manager.js.map +1 -0
  591. package/dist/plus/integrations/models/gitHostIntegration.d.ts +262 -10
  592. package/dist/plus/integrations/models/gitHostIntegration.d.ts.map +1 -1
  593. package/dist/plus/integrations/models/gitHostIntegration.js +675 -101
  594. package/dist/plus/integrations/models/gitHostIntegration.js.map +1 -1
  595. package/dist/plus/integrations/models/integration.d.ts +88 -3
  596. package/dist/plus/integrations/models/integration.d.ts.map +1 -1
  597. package/dist/plus/integrations/models/integration.js +192 -21
  598. package/dist/plus/integrations/models/integration.js.map +1 -1
  599. package/dist/plus/integrations/models/issuesIntegration.d.ts +70 -7
  600. package/dist/plus/integrations/models/issuesIntegration.d.ts.map +1 -1
  601. package/dist/plus/integrations/models/issuesIntegration.js +108 -35
  602. package/dist/plus/integrations/models/issuesIntegration.js.map +1 -1
  603. package/dist/plus/integrations/providerFilters.d.ts +12 -0
  604. package/dist/plus/integrations/providerFilters.d.ts.map +1 -0
  605. package/dist/plus/integrations/providerFilters.js +14 -0
  606. package/dist/plus/integrations/providerFilters.js.map +1 -0
  607. package/dist/plus/integrations/providers/apiClients.d.ts.map +1 -1
  608. package/dist/plus/integrations/providers/apiClients.js +3 -3
  609. package/dist/plus/integrations/providers/apiClients.js.map +1 -1
  610. package/dist/plus/integrations/providers/apiConfig.d.ts +52 -0
  611. package/dist/plus/integrations/providers/apiConfig.d.ts.map +1 -0
  612. package/dist/plus/integrations/providers/apiConfig.js +19 -0
  613. package/dist/plus/integrations/providers/apiConfig.js.map +1 -0
  614. package/dist/plus/integrations/providers/azure/azure.d.ts +14 -2
  615. package/dist/plus/integrations/providers/azure/azure.d.ts.map +1 -1
  616. package/dist/plus/integrations/providers/azure/azure.js +107 -32
  617. package/dist/plus/integrations/providers/azure/azure.js.map +1 -1
  618. package/dist/plus/integrations/providers/azure/models.d.ts +16 -0
  619. package/dist/plus/integrations/providers/azure/models.d.ts.map +1 -1
  620. package/dist/plus/integrations/providers/azure/models.js +6 -6
  621. package/dist/plus/integrations/providers/azure/models.js.map +1 -1
  622. package/dist/plus/integrations/providers/azureDevOps.d.ts +55 -9
  623. package/dist/plus/integrations/providers/azureDevOps.d.ts.map +1 -1
  624. package/dist/plus/integrations/providers/azureDevOps.js +572 -79
  625. package/dist/plus/integrations/providers/azureDevOps.js.map +1 -1
  626. package/dist/plus/integrations/providers/bitbucket/bitbucket.d.ts +13 -2
  627. package/dist/plus/integrations/providers/bitbucket/bitbucket.d.ts.map +1 -1
  628. package/dist/plus/integrations/providers/bitbucket/bitbucket.js +108 -32
  629. package/dist/plus/integrations/providers/bitbucket/bitbucket.js.map +1 -1
  630. package/dist/plus/integrations/providers/bitbucket/models.d.ts.map +1 -1
  631. package/dist/plus/integrations/providers/bitbucket/models.js.map +1 -1
  632. package/dist/plus/integrations/providers/bitbucket-server/models.d.ts +19 -1
  633. package/dist/plus/integrations/providers/bitbucket-server/models.d.ts.map +1 -1
  634. package/dist/plus/integrations/providers/bitbucket-server/models.js +20 -1
  635. package/dist/plus/integrations/providers/bitbucket-server/models.js.map +1 -1
  636. package/dist/plus/integrations/providers/bitbucket-server.d.ts +28 -4
  637. package/dist/plus/integrations/providers/bitbucket-server.d.ts.map +1 -1
  638. package/dist/plus/integrations/providers/bitbucket-server.js +110 -6
  639. package/dist/plus/integrations/providers/bitbucket-server.js.map +1 -1
  640. package/dist/plus/integrations/providers/bitbucket.d.ts +38 -4
  641. package/dist/plus/integrations/providers/bitbucket.d.ts.map +1 -1
  642. package/dist/plus/integrations/providers/bitbucket.js +330 -34
  643. package/dist/plus/integrations/providers/bitbucket.js.map +1 -1
  644. package/dist/plus/integrations/providers/github/github.d.ts.map +1 -1
  645. package/dist/plus/integrations/providers/github/github.js +1 -1
  646. package/dist/plus/integrations/providers/github/github.js.map +1 -1
  647. package/dist/plus/integrations/providers/github/github.utils.d.ts.map +1 -1
  648. package/dist/plus/integrations/providers/github/github.utils.js.map +1 -1
  649. package/dist/plus/integrations/providers/github/models.d.ts.map +1 -1
  650. package/dist/plus/integrations/providers/github/models.js.map +1 -1
  651. package/dist/plus/integrations/providers/github.d.ts +49 -6
  652. package/dist/plus/integrations/providers/github.d.ts.map +1 -1
  653. package/dist/plus/integrations/providers/github.js +289 -4
  654. package/dist/plus/integrations/providers/github.js.map +1 -1
  655. package/dist/plus/integrations/providers/gitlab/gitlab.d.ts +11 -3
  656. package/dist/plus/integrations/providers/gitlab/gitlab.d.ts.map +1 -1
  657. package/dist/plus/integrations/providers/gitlab/gitlab.js +121 -47
  658. package/dist/plus/integrations/providers/gitlab/gitlab.js.map +1 -1
  659. package/dist/plus/integrations/providers/gitlab/gitlab.utils.d.ts +6 -0
  660. package/dist/plus/integrations/providers/gitlab/gitlab.utils.d.ts.map +1 -1
  661. package/dist/plus/integrations/providers/gitlab/gitlab.utils.js +8 -0
  662. package/dist/plus/integrations/providers/gitlab/gitlab.utils.js.map +1 -1
  663. package/dist/plus/integrations/providers/gitlab/models.d.ts +10 -0
  664. package/dist/plus/integrations/providers/gitlab/models.d.ts.map +1 -1
  665. package/dist/plus/integrations/providers/gitlab/models.js +8 -5
  666. package/dist/plus/integrations/providers/gitlab/models.js.map +1 -1
  667. package/dist/plus/integrations/providers/gitlab.d.ts +50 -5
  668. package/dist/plus/integrations/providers/gitlab.d.ts.map +1 -1
  669. package/dist/plus/integrations/providers/gitlab.js +274 -8
  670. package/dist/plus/integrations/providers/gitlab.js.map +1 -1
  671. package/dist/plus/integrations/providers/jira.d.ts +13 -2
  672. package/dist/plus/integrations/providers/jira.d.ts.map +1 -1
  673. package/dist/plus/integrations/providers/jira.js +200 -30
  674. package/dist/plus/integrations/providers/jira.js.map +1 -1
  675. package/dist/plus/integrations/providers/linear.d.ts +16 -5
  676. package/dist/plus/integrations/providers/linear.d.ts.map +1 -1
  677. package/dist/plus/integrations/providers/linear.js +127 -21
  678. package/dist/plus/integrations/providers/linear.js.map +1 -1
  679. package/dist/plus/integrations/providers/models.d.ts +339 -60
  680. package/dist/plus/integrations/providers/models.d.ts.map +1 -1
  681. package/dist/plus/integrations/providers/models.js +307 -59
  682. package/dist/plus/integrations/providers/models.js.map +1 -1
  683. package/dist/plus/integrations/providers/providersApi.d.ts +144 -11
  684. package/dist/plus/integrations/providers/providersApi.d.ts.map +1 -1
  685. package/dist/plus/integrations/providers/providersApi.js +486 -55
  686. package/dist/plus/integrations/providers/providersApi.js.map +1 -1
  687. package/dist/plus/integrations/providers/trello.d.ts +47 -0
  688. package/dist/plus/integrations/providers/trello.d.ts.map +1 -0
  689. package/dist/plus/integrations/providers/trello.js +141 -0
  690. package/dist/plus/integrations/providers/trello.js.map +1 -0
  691. package/dist/plus/integrations/providers/utils/providerPaging.d.ts +29 -0
  692. package/dist/plus/integrations/providers/utils/providerPaging.d.ts.map +1 -0
  693. package/dist/plus/integrations/providers/utils/providerPaging.js +154 -0
  694. package/dist/plus/integrations/providers/utils/providerPaging.js.map +1 -0
  695. package/dist/plus/integrations/providers/utils.d.ts +21 -0
  696. package/dist/plus/integrations/providers/utils.d.ts.map +1 -1
  697. package/dist/plus/integrations/providers/utils.js +57 -6
  698. package/dist/plus/integrations/providers/utils.js.map +1 -1
  699. package/dist/plus/integrations/reads/broaden.d.ts +20 -0
  700. package/dist/plus/integrations/reads/broaden.d.ts.map +1 -0
  701. package/dist/plus/integrations/reads/broaden.js +326 -0
  702. package/dist/plus/integrations/reads/broaden.js.map +1 -0
  703. package/dist/plus/integrations/reads/context.d.ts +74 -0
  704. package/dist/plus/integrations/reads/context.d.ts.map +1 -0
  705. package/dist/plus/integrations/reads/context.js +2 -0
  706. package/dist/plus/integrations/reads/context.js.map +1 -0
  707. package/dist/plus/integrations/reads/cursors.d.ts +66 -0
  708. package/dist/plus/integrations/reads/cursors.d.ts.map +1 -0
  709. package/dist/plus/integrations/reads/cursors.js +133 -0
  710. package/dist/plus/integrations/reads/cursors.js.map +1 -0
  711. package/dist/plus/integrations/reads/drains.d.ts +60 -0
  712. package/dist/plus/integrations/reads/drains.d.ts.map +1 -0
  713. package/dist/plus/integrations/reads/drains.js +255 -0
  714. package/dist/plus/integrations/reads/drains.js.map +1 -0
  715. package/dist/plus/integrations/reads/filters.d.ts +81 -0
  716. package/dist/plus/integrations/reads/filters.d.ts.map +1 -0
  717. package/dist/plus/integrations/reads/filters.js +87 -0
  718. package/dist/plus/integrations/reads/filters.js.map +1 -0
  719. package/dist/plus/integrations/reads/hierarchy.d.ts +17 -0
  720. package/dist/plus/integrations/reads/hierarchy.d.ts.map +1 -0
  721. package/dist/plus/integrations/reads/hierarchy.js +320 -0
  722. package/dist/plus/integrations/reads/hierarchy.js.map +1 -0
  723. package/dist/plus/integrations/reads/hierarchy.utils.d.ts +77 -0
  724. package/dist/plus/integrations/reads/hierarchy.utils.d.ts.map +1 -0
  725. package/dist/plus/integrations/reads/hierarchy.utils.js +128 -0
  726. package/dist/plus/integrations/reads/hierarchy.utils.js.map +1 -0
  727. package/dist/plus/integrations/reads/issueTracker.d.ts +19 -0
  728. package/dist/plus/integrations/reads/issueTracker.d.ts.map +1 -0
  729. package/dist/plus/integrations/reads/issueTracker.js +334 -0
  730. package/dist/plus/integrations/reads/issueTracker.js.map +1 -0
  731. package/dist/plus/integrations/reads/issues.d.ts +34 -0
  732. package/dist/plus/integrations/reads/issues.d.ts.map +1 -0
  733. package/dist/plus/integrations/reads/issues.js +244 -0
  734. package/dist/plus/integrations/reads/issues.js.map +1 -0
  735. package/dist/plus/integrations/reads/paging.d.ts +136 -0
  736. package/dist/plus/integrations/reads/paging.d.ts.map +1 -0
  737. package/dist/plus/integrations/reads/paging.js +221 -0
  738. package/dist/plus/integrations/reads/paging.js.map +1 -0
  739. package/dist/plus/integrations/reads/pullRequests.d.ts +32 -0
  740. package/dist/plus/integrations/reads/pullRequests.d.ts.map +1 -0
  741. package/dist/plus/integrations/reads/pullRequests.js +151 -0
  742. package/dist/plus/integrations/reads/pullRequests.js.map +1 -0
  743. package/dist/plus/integrations/reads/resolveRepository.d.ts +25 -0
  744. package/dist/plus/integrations/reads/resolveRepository.d.ts.map +1 -0
  745. package/dist/plus/integrations/reads/resolveRepository.js +235 -0
  746. package/dist/plus/integrations/reads/resolveRepository.js.map +1 -0
  747. package/dist/plus/integrations/reads/sweeps.d.ts +11 -0
  748. package/dist/plus/integrations/reads/sweeps.d.ts.map +1 -0
  749. package/dist/plus/integrations/reads/sweeps.js +125 -0
  750. package/dist/plus/integrations/reads/sweeps.js.map +1 -0
  751. package/dist/plus/integrations/reads/warnings.d.ts +47 -0
  752. package/dist/plus/integrations/reads/warnings.d.ts.map +1 -0
  753. package/dist/plus/integrations/reads/warnings.js +81 -0
  754. package/dist/plus/integrations/reads/warnings.js.map +1 -0
  755. package/dist/plus/integrations/results.d.ts +189 -0
  756. package/dist/plus/integrations/results.d.ts.map +1 -0
  757. package/dist/plus/integrations/results.js +62 -0
  758. package/dist/plus/integrations/results.js.map +1 -0
  759. package/dist/plus/integrations/utils/domain.utils.d.ts +5 -0
  760. package/dist/plus/integrations/utils/domain.utils.d.ts.map +1 -0
  761. package/dist/plus/integrations/utils/domain.utils.js +27 -0
  762. package/dist/plus/integrations/utils/domain.utils.js.map +1 -0
  763. package/dist/plus/integrations/utils/integration.utils.d.ts +27 -1
  764. package/dist/plus/integrations/utils/integration.utils.d.ts.map +1 -1
  765. package/dist/plus/integrations/utils/integration.utils.js +86 -15
  766. package/dist/plus/integrations/utils/integration.utils.js.map +1 -1
  767. package/dist/utils/array.d.ts.map +1 -1
  768. package/dist/utils/array.js.map +1 -1
  769. package/dist/utils/brand.d.ts.map +1 -1
  770. package/dist/utils/cancellation.d.ts +13 -0
  771. package/dist/utils/cancellation.d.ts.map +1 -1
  772. package/dist/utils/cancellation.js +52 -7
  773. package/dist/utils/cancellation.js.map +1 -1
  774. package/dist/utils/charCode.d.ts.map +1 -1
  775. package/dist/utils/coalescedRun.d.ts +16 -0
  776. package/dist/utils/coalescedRun.d.ts.map +1 -0
  777. package/dist/utils/coalescedRun.js +43 -0
  778. package/dist/utils/coalescedRun.js.map +1 -0
  779. package/dist/utils/color.d.ts.map +1 -1
  780. package/dist/utils/color.js +3 -3
  781. package/dist/utils/color.js.map +1 -1
  782. package/dist/utils/date.d.ts +24 -0
  783. package/dist/utils/date.d.ts.map +1 -1
  784. package/dist/utils/date.js +62 -0
  785. package/dist/utils/date.js.map +1 -1
  786. package/dist/utils/debounce.js +1 -1
  787. package/dist/utils/debounce.js.map +1 -1
  788. package/dist/utils/decorators/debounce.d.ts.map +1 -1
  789. package/dist/utils/decorators/debounce.js.map +1 -1
  790. package/dist/utils/decorators/gate.d.ts.map +1 -1
  791. package/dist/utils/decorators/gate.js +2 -2
  792. package/dist/utils/decorators/gate.js.map +1 -1
  793. package/dist/utils/decorators/log.d.ts.map +1 -1
  794. package/dist/utils/decorators/log.js +5 -5
  795. package/dist/utils/decorators/log.js.map +1 -1
  796. package/dist/utils/decorators/memoize.d.ts.map +1 -1
  797. package/dist/utils/decorators/memoize.js +2 -2
  798. package/dist/utils/decorators/memoize.js.map +1 -1
  799. package/dist/utils/decorators/resolver.d.ts.map +1 -1
  800. package/dist/utils/decorators/resolver.js.map +1 -1
  801. package/dist/utils/decorators/sequentialize.d.ts.map +1 -1
  802. package/dist/utils/decorators/sequentialize.js +2 -2
  803. package/dist/utils/decorators/sequentialize.js.map +1 -1
  804. package/dist/utils/decorators/serializable.d.ts.map +1 -1
  805. package/dist/utils/decorators/serializable.js +1 -1
  806. package/dist/utils/decorators/serializable.js.map +1 -1
  807. package/dist/utils/dedupedAsyncCache.d.ts.map +1 -1
  808. package/dist/utils/env/browser/base64.d.ts.map +1 -1
  809. package/dist/utils/env/browser/base64.js.map +1 -1
  810. package/dist/utils/env/browser/crypto.d.ts.map +1 -1
  811. package/dist/utils/env/browser/crypto.js.map +1 -1
  812. package/dist/utils/env/browser/fs.d.ts.map +1 -1
  813. package/dist/utils/env/browser/fs.js.map +1 -1
  814. package/dist/utils/env/browser/hex.d.ts.map +1 -1
  815. package/dist/utils/env/browser/hex.js.map +1 -1
  816. package/dist/utils/env/browser/hrtime.d.ts.map +1 -1
  817. package/dist/utils/env/browser/hrtime.js.map +1 -1
  818. package/dist/utils/env/browser/logScope.d.ts.map +1 -1
  819. package/dist/utils/env/browser/logScope.js.map +1 -1
  820. package/dist/utils/env/browser/md5.d.ts.map +1 -1
  821. package/dist/utils/env/browser/md5.js.map +1 -1
  822. package/dist/utils/env/browser/platform.d.ts.map +1 -1
  823. package/dist/utils/env/browser/platform.js.map +1 -1
  824. package/dist/utils/env/node/base64.d.ts.map +1 -1
  825. package/dist/utils/env/node/base64.js.map +1 -1
  826. package/dist/utils/env/node/crypto.d.ts.map +1 -1
  827. package/dist/utils/env/node/crypto.js.map +1 -1
  828. package/dist/utils/env/node/exec.d.ts +9 -1
  829. package/dist/utils/env/node/exec.d.ts.map +1 -1
  830. package/dist/utils/env/node/exec.js +11 -4
  831. package/dist/utils/env/node/exec.js.map +1 -1
  832. package/dist/utils/env/node/fs.d.ts.map +1 -1
  833. package/dist/utils/env/node/fs.js.map +1 -1
  834. package/dist/utils/env/node/hex.d.ts.map +1 -1
  835. package/dist/utils/env/node/hex.js.map +1 -1
  836. package/dist/utils/env/node/hrtime.d.ts.map +1 -1
  837. package/dist/utils/env/node/hrtime.js.map +1 -1
  838. package/dist/utils/env/node/logScope.d.ts.map +1 -1
  839. package/dist/utils/env/node/logScope.js.map +1 -1
  840. package/dist/utils/env/node/platform.d.ts.map +1 -1
  841. package/dist/utils/env/node/platform.js.map +1 -1
  842. package/dist/utils/event.d.ts.map +1 -1
  843. package/dist/utils/event.js +18 -22
  844. package/dist/utils/event.js.map +1 -1
  845. package/dist/utils/formatter.d.ts.map +1 -1
  846. package/dist/utils/formatter.js.map +1 -1
  847. package/dist/utils/function.d.ts.map +1 -1
  848. package/dist/utils/function.js +3 -3
  849. package/dist/utils/function.js.map +1 -1
  850. package/dist/utils/hash.js.map +1 -1
  851. package/dist/utils/iterable.d.ts.map +1 -1
  852. package/dist/utils/iterable.js +2 -6
  853. package/dist/utils/iterable.js.map +1 -1
  854. package/dist/utils/lazy.d.ts.map +1 -1
  855. package/dist/utils/lazy.js.map +1 -1
  856. package/dist/utils/logger.d.ts.map +1 -1
  857. package/dist/utils/logger.js +1 -1
  858. package/dist/utils/logger.js.map +1 -1
  859. package/dist/utils/logger.scoped.js +1 -1
  860. package/dist/utils/logger.scoped.js.map +1 -1
  861. package/dist/utils/lruMap.d.ts.map +1 -1
  862. package/dist/utils/lruMap.js.map +1 -1
  863. package/dist/utils/mru.d.ts.map +1 -1
  864. package/dist/utils/mru.js.map +1 -1
  865. package/dist/utils/object.js.map +1 -1
  866. package/dist/utils/paging.d.ts +29 -0
  867. package/dist/utils/paging.d.ts.map +1 -1
  868. package/dist/utils/paging.js +18 -0
  869. package/dist/utils/paging.js.map +1 -1
  870. package/dist/utils/path.js.map +1 -1
  871. package/dist/utils/promise.d.ts +10 -0
  872. package/dist/utils/promise.d.ts.map +1 -1
  873. package/dist/utils/promise.js +26 -3
  874. package/dist/utils/promise.js.map +1 -1
  875. package/dist/utils/promiseCache.d.ts +12 -2
  876. package/dist/utils/promiseCache.d.ts.map +1 -1
  877. package/dist/utils/promiseCache.js +80 -50
  878. package/dist/utils/promiseCache.js.map +1 -1
  879. package/dist/utils/searchTree.d.ts.map +1 -1
  880. package/dist/utils/searchTree.js +4 -1
  881. package/dist/utils/searchTree.js.map +1 -1
  882. package/dist/utils/stopwatch.d.ts.map +1 -1
  883. package/dist/utils/string.js +1 -1
  884. package/dist/utils/string.js.map +1 -1
  885. package/dist/utils/subscriptionManager.d.ts.map +1 -1
  886. package/dist/utils/subscriptionManager.js.map +1 -1
  887. package/dist/utils/trie.d.ts.map +1 -1
  888. package/dist/utils/trie.js +1 -0
  889. package/dist/utils/trie.js.map +1 -1
  890. package/docs/integrations.md +372 -0
  891. package/docs/kepler-read-api-parity.md +112 -0
  892. package/package.json +238 -213
  893. package/src/git/cache.ts +75 -8
  894. package/src/git/errors.ts +36 -1
  895. package/src/git/models/commit.ts +1 -1
  896. package/src/git/models/graph.ts +147 -0
  897. package/src/git/models/graphSession.ts +205 -0
  898. package/src/git/models/issue.ts +12 -1
  899. package/src/git/models/pullRequest.ts +27 -1
  900. package/src/git/models/repository.ts +24 -1
  901. package/src/git/models/resourceDescriptor.ts +17 -0
  902. package/src/git/models/signature.ts +16 -0
  903. package/src/git/models/tag.ts +6 -1
  904. package/src/git/parsers/diffParser.ts +1 -1
  905. package/src/git/providers/branches.ts +6 -1
  906. package/src/git/providers/commits.ts +6 -1
  907. package/src/git/providers/config.ts +5 -1
  908. package/src/git/providers/graph.ts +69 -2
  909. package/src/git/providers/status.ts +1 -1
  910. package/src/git/providers/worktrees.ts +3 -1
  911. package/src/git/remotes/azure-devops.ts +29 -33
  912. package/src/git/remotes/bitbucket-server.ts +23 -25
  913. package/src/git/remotes/bitbucket.ts +23 -25
  914. package/src/git/remotes/gerrit.ts +12 -14
  915. package/src/git/remotes/gitea.ts +13 -15
  916. package/src/git/remotes/github.ts +56 -58
  917. package/src/git/remotes/gitlab.ts +102 -104
  918. package/src/git/run.types.ts +54 -4
  919. package/src/git/utils/branch.utils.ts +12 -1
  920. package/src/git/utils/contributor.utils.ts +1 -1
  921. package/src/git/utils/fileStatus.utils.ts +7 -0
  922. package/src/git/utils/graph.utils.ts +46 -0
  923. package/src/git/utils/issue.utils.ts +1 -0
  924. package/src/git/utils/pullRequest.utils.ts +9 -0
  925. package/src/git/utils/reachability.utils.ts +79 -8
  926. package/src/git/utils/sshKey.utils.ts +30 -0
  927. package/src/git/watching/watchService.ts +16 -1
  928. package/src/git/watching/watchSession.ts +20 -2
  929. package/src/git-cli/exec/git.ts +144 -42
  930. package/src/git-cli/parsers/logParser.ts +83 -1
  931. package/src/git-cli/parsers/sshSignatureParser.ts +85 -0
  932. package/src/git-cli/parsers/worktreeParser.ts +5 -7
  933. package/src/git-cli/providers/branches.ts +60 -38
  934. package/src/git-cli/providers/commits.ts +102 -9
  935. package/src/git-cli/providers/graph.ts +1771 -393
  936. package/src/git-cli/providers/pausedOperations.ts +3 -3
  937. package/src/git-cli/providers/revision.ts +42 -0
  938. package/src/git-cli/providers/status.ts +333 -178
  939. package/src/git-cli/providers/tags.ts +2 -0
  940. package/src/git-cli/providers/worktrees.ts +40 -4
  941. package/src/git-cli/service.ts +9 -0
  942. package/src/ipc/ipcServer.ts +1 -1
  943. package/src/plus/agents/providers/claudeCodeProvider.ts +25 -0
  944. package/src/plus/agents/providers/claudeCodeTranscript.ts +320 -8
  945. package/src/plus/agents/types.ts +34 -0
  946. package/src/plus/ai/constants.ts +1 -9
  947. package/src/plus/ai/models/model.ts +53 -2
  948. package/src/plus/ai/models/promptTemplates.ts +9 -2
  949. package/src/plus/ai/prompts.ts +16 -48
  950. package/src/plus/ai/providers/anthropicProvider.ts +45 -3
  951. package/src/plus/ai/providers/deepSeekProvider.ts +17 -1
  952. package/src/plus/ai/providers/geminiProvider.ts +25 -6
  953. package/src/plus/ai/providers/gitkrakenProvider.ts +2 -0
  954. package/src/plus/ai/providers/huggingFaceProvider.ts +28 -21
  955. package/src/plus/ai/providers/openAICompatibleProviderBase.ts +16 -1
  956. package/src/plus/ai/providers/xaiProvider.ts +14 -1
  957. package/src/plus/ai/utils/ai.utils.ts +0 -2
  958. package/src/plus/ai/utils/results.utils.ts +32 -0
  959. package/src/plus/ai/utils/truncation.utils.ts +0 -1
  960. package/src/plus/git-github/api/github.ts +484 -104
  961. package/src/plus/git-github/models.ts +33 -0
  962. package/src/plus/git-github/providers/github/branches.ts +6 -3
  963. package/src/plus/git-github/providers/github/diff.ts +1 -1
  964. package/src/plus/git-github/providers/github/graph.ts +131 -0
  965. package/src/plus/git-github/providers/github/tags.ts +2 -0
  966. package/src/plus/integrations/authentication/cloudIntegrationService.ts +189 -17
  967. package/src/plus/integrations/authentication/configuredIntegrationService.ts +287 -50
  968. package/src/plus/integrations/authentication/integrationAuthenticationProvider.ts +105 -31
  969. package/src/plus/integrations/authentication/integrationAuthenticationService.ts +7 -3
  970. package/src/plus/integrations/authentication/manualTokenProvider.ts +12 -5
  971. package/src/plus/integrations/authentication/models.ts +35 -1
  972. package/src/plus/integrations/collectionMetadata.ts +143 -0
  973. package/src/plus/integrations/constants.ts +21 -0
  974. package/src/plus/integrations/context.ts +8 -9
  975. package/src/plus/integrations/errors.ts +153 -0
  976. package/src/plus/integrations/index.ts +148 -51
  977. package/src/plus/integrations/integrationService.ts +940 -49
  978. package/src/plus/integrations/lite.ts +233 -0
  979. package/src/plus/integrations/manager.ts +359 -0
  980. package/src/plus/integrations/models/gitHostIntegration.ts +1005 -134
  981. package/src/plus/integrations/models/integration.ts +293 -24
  982. package/src/plus/integrations/models/issuesIntegration.ts +132 -39
  983. package/src/plus/integrations/providerFilters.ts +12 -0
  984. package/src/plus/integrations/providers/apiClients.ts +8 -11
  985. package/src/plus/integrations/providers/apiConfig.ts +71 -0
  986. package/src/plus/integrations/providers/azure/azure.ts +164 -33
  987. package/src/plus/integrations/providers/azure/models.ts +19 -6
  988. package/src/plus/integrations/providers/azureDevOps.ts +766 -101
  989. package/src/plus/integrations/providers/bitbucket/bitbucket.ts +164 -34
  990. package/src/plus/integrations/providers/bitbucket-server/models.ts +32 -1
  991. package/src/plus/integrations/providers/bitbucket-server.ts +173 -8
  992. package/src/plus/integrations/providers/bitbucket.ts +489 -45
  993. package/src/plus/integrations/providers/github/github.ts +2 -2
  994. package/src/plus/integrations/providers/github/github.utils.ts +1 -1
  995. package/src/plus/integrations/providers/github.ts +390 -6
  996. package/src/plus/integrations/providers/gitlab/gitlab.ts +170 -60
  997. package/src/plus/integrations/providers/gitlab/gitlab.utils.ts +9 -0
  998. package/src/plus/integrations/providers/gitlab/models.ts +19 -5
  999. package/src/plus/integrations/providers/gitlab.ts +369 -10
  1000. package/src/plus/integrations/providers/jira.ts +247 -42
  1001. package/src/plus/integrations/providers/linear.ts +154 -27
  1002. package/src/plus/integrations/providers/models.ts +583 -75
  1003. package/src/plus/integrations/providers/providersApi.ts +849 -86
  1004. package/src/plus/integrations/providers/trello.ts +205 -0
  1005. package/src/plus/integrations/providers/utils/providerPaging.ts +177 -0
  1006. package/src/plus/integrations/providers/utils.ts +68 -8
  1007. package/src/plus/integrations/reads/broaden.ts +452 -0
  1008. package/src/plus/integrations/reads/context.ts +99 -0
  1009. package/src/plus/integrations/reads/cursors.ts +224 -0
  1010. package/src/plus/integrations/reads/drains.ts +343 -0
  1011. package/src/plus/integrations/reads/filters.ts +124 -0
  1012. package/src/plus/integrations/reads/hierarchy.ts +473 -0
  1013. package/src/plus/integrations/reads/hierarchy.utils.ts +155 -0
  1014. package/src/plus/integrations/reads/issueTracker.ts +468 -0
  1015. package/src/plus/integrations/reads/issues.ts +409 -0
  1016. package/src/plus/integrations/reads/paging.ts +277 -0
  1017. package/src/plus/integrations/reads/pullRequests.ts +260 -0
  1018. package/src/plus/integrations/reads/resolveRepository.ts +272 -0
  1019. package/src/plus/integrations/reads/sweeps.ts +185 -0
  1020. package/src/plus/integrations/reads/warnings.ts +170 -0
  1021. package/src/plus/integrations/results.ts +275 -0
  1022. package/src/plus/integrations/utils/domain.utils.ts +26 -0
  1023. package/src/plus/integrations/utils/integration.utils.ts +93 -16
  1024. package/src/utils/brand.ts +0 -2
  1025. package/src/utils/cancellation.ts +56 -7
  1026. package/src/utils/coalescedRun.ts +45 -0
  1027. package/src/utils/color.ts +3 -3
  1028. package/src/utils/date.ts +72 -0
  1029. package/src/utils/debounce.ts +1 -1
  1030. package/src/utils/decorators/gate.ts +2 -2
  1031. package/src/utils/decorators/log.ts +5 -5
  1032. package/src/utils/decorators/memoize.ts +2 -2
  1033. package/src/utils/decorators/sequentialize.ts +2 -2
  1034. package/src/utils/decorators/serializable.ts +1 -1
  1035. package/src/utils/env/node/exec.ts +20 -5
  1036. package/src/utils/event.ts +19 -25
  1037. package/src/utils/function.ts +3 -3
  1038. package/src/utils/iterable.ts +2 -6
  1039. package/src/utils/logger.scoped.ts +1 -1
  1040. package/src/utils/logger.ts +1 -1
  1041. package/src/utils/paging.ts +46 -0
  1042. package/src/utils/promise.ts +33 -3
  1043. package/src/utils/promiseCache.ts +81 -51
  1044. package/src/utils/searchTree.ts +4 -2
  1045. package/src/utils/string.ts +1 -1
  1046. package/src/utils/trie.ts +1 -0
  1047. package/dist/plus/ai/providers/githubModelsProvider.d.ts +0 -19
  1048. package/dist/plus/ai/providers/githubModelsProvider.d.ts.map +0 -1
  1049. package/dist/plus/ai/providers/githubModelsProvider.js +0 -51
  1050. package/dist/plus/ai/providers/githubModelsProvider.js.map +0 -1
  1051. package/src/plus/ai/providers/githubModelsProvider.ts +0 -92
@@ -0,0 +1,87 @@
1
+ import { providersMetadata } from '../providers/models.js';
2
+ /**
3
+ * Validates a repo-scoped PR filter set, so an unsupported filter never trips the read core's "Unsupported
4
+ * filters" guard. `unsupported: true` when the caller DID request filters and the provider can't express even
5
+ * ONE of them — the exact negation of the read core's `providerSupportsPullRequestFilters` (`every`), so this
6
+ * can only ever pre-empt that guard, never disagree with it.
7
+ *
8
+ * Returns `{ filters }` (possibly undefined when none were requested — an unfiltered read is intended). Genuine
9
+ * "my pull requests" self-scoping is delivered by the account-wide path
10
+ * (`GitHostIntegration.getMyPullRequestsForUserResult`); this only governs the optional repo-scoped narrowing.
11
+ */
12
+ export function resolvePullRequestFilters(id, filters) {
13
+ if (filters == null || filters.length === 0)
14
+ return { unsupported: false };
15
+ const supported = providersMetadata[id]?.supportedPullRequestFilters;
16
+ if (supported == null || filters.some(f => !supported.includes(f)))
17
+ return { unsupported: true };
18
+ return { filters: filters, unsupported: false };
19
+ }
20
+ /**
21
+ * Validates an account-wide PR relationship union independently from the repo-scoped capability. Dropping an
22
+ * unsupported member would change the requested OR set, so validation is all-or-nothing.
23
+ */
24
+ export function resolveAccountWidePullRequestFilters(id, filters) {
25
+ if (filters == null || filters.length === 0)
26
+ return { unsupported: false };
27
+ const supported = providersMetadata[id]?.supportedAccountWidePullRequestFilters;
28
+ if (supported == null || filters.some(f => !supported.includes(f)))
29
+ return { unsupported: true };
30
+ return { filters: [...new Set(filters)], unsupported: false };
31
+ }
32
+ /**
33
+ * Validates a caller-provided issue filter set against what the provider's ACCOUNT-WIDE issue read can express
34
+ * server-side (`ProviderMetadata.supportedAccountWideIssueFilters`), which is a different — usually narrower —
35
+ * set than the repo-scoped `ProviderMetadata.supportedIssueFilters`.
36
+ *
37
+ * Dropping the unexpressible members would silently widen the read back toward the provider's own union
38
+ * (authored ∪ assigned ∪ mentioned for GitHub), which is the opposite of what a caller narrowing to
39
+ * `[Assignee]` asked for.
40
+ */
41
+ export function resolveAccountWideIssueFilters(id, filters) {
42
+ if (filters == null || filters.length === 0)
43
+ return { unsupported: false };
44
+ const supported = providersMetadata[id]?.supportedAccountWideIssueFilters;
45
+ if (supported == null || filters.some(f => !supported.includes(f)))
46
+ return { unsupported: true };
47
+ return { filters: filters, unsupported: false };
48
+ }
49
+ /**
50
+ * The filters `listPullRequestsPage`/`listIssuesPage` (and the sweeps) accept for a provider, so a caller can
51
+ * narrow to what the provider can express BEFORE issuing the read.
52
+ *
53
+ * This matters because the filter contract is all-or-nothing: a set containing even one unsupported filter is
54
+ * refused outright ({@link resolvePullRequestFilters}) rather than silently narrowed, since falling through to
55
+ * an unfiltered fetch would return every PR instead of the user's. Without this accessor a consumer had to
56
+ * hardcode its own copy of the table — reachable only by importing the internal `providers/models.js`
57
+ * subpath — and a copy that drifts turns a supported read into an empty page with `fetchFailed`.
58
+ *
59
+ * Empty means "no filter of that kind is expressible": either the provider has no such surface (issue trackers
60
+ * have no pull requests; Bitbucket exposes no issues) or its metadata declares none. Callers should treat it as
61
+ * "don't pass filters", not as an error. Returns copies, so mutating the result can't corrupt the metadata.
62
+ *
63
+ * `issues` and `issuesAccountWide` are separate because the repo-scoped and account-wide issue reads are
64
+ * different provider queries with different filter surfaces, and the same `filters` input is validated against
65
+ * whichever one the read uses (`repos` present or not). `issuesAccountWide` is generally the narrower of the
66
+ * two: GitLab, for instance, can express `Assignee` and `Author` account-wide, but not `Mention`.
67
+ *
68
+ * That split describes the GIT-HOST reads only. An issue tracker (Jira/Linear/Trello) has neither — its issues
69
+ * live under resource → project — so it reports its filters under `issues`, which is what
70
+ * {@link IntegrationService.listIssueTrackerIssuesPage} validates against, and leaves `issuesAccountWide`
71
+ * empty. Reading a tracker's capability off `issuesAccountWide` therefore under-reports it.
72
+ *
73
+ * Note this is a CAPABILITY table — "what the provider can express" — not a recommendation. A consumer
74
+ * matching another tool's behavior may deliberately pass fewer filters than are listed here (or none, where an
75
+ * already-scoped read would only be narrowed by them). Intersecting against this table is what keeps a
76
+ * filtered read from being refused; it isn't a directive to use every filter in it.
77
+ */
78
+ export function getSupportedFilters(providerId) {
79
+ const metadata = providersMetadata[providerId];
80
+ return {
81
+ pullRequests: [...(metadata?.supportedPullRequestFilters ?? [])],
82
+ pullRequestsAccountWide: [...(metadata?.supportedAccountWidePullRequestFilters ?? [])],
83
+ issues: [...(metadata?.supportedIssueFilters ?? [])],
84
+ issuesAccountWide: [...(metadata?.supportedAccountWideIssueFilters ?? [])],
85
+ };
86
+ }
87
+ //# sourceMappingURL=filters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filters.js","sourceRoot":"","sources":["../../../../src/plus/integrations/reads/filters.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAoB3D;;;;;;;;;GASG;AACH,MAAM,UAAU,yBAAyB,CACxC,EAAkB,EAClB,OAAwC;IAExC,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IAE3E,MAAM,SAAS,GAAG,iBAAiB,CAAC,EAAE,CAAC,EAAE,2BAA2B,CAAC;IACrE,IAAI,SAAS,IAAI,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAEjG,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AACjD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oCAAoC,CACnD,EAAkB,EAClB,OAAwC;IAExC,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IAE3E,MAAM,SAAS,GAAG,iBAAiB,CAAC,EAAE,CAAC,EAAE,sCAAsC,CAAC;IAChF,IAAI,SAAS,IAAI,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAEjG,OAAO,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AAC/D,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,8BAA8B,CAC7C,EAAkB,EAClB,OAAkC;IAElC,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IAE3E,MAAM,SAAS,GAAG,iBAAiB,CAAC,EAAE,CAAC,EAAE,gCAAgC,CAAC;IAC1E,IAAI,SAAS,IAAI,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAEjG,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AACjD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAA0B;IAM7D,MAAM,QAAQ,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAC/C,OAAO;QACN,YAAY,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,2BAA2B,IAAI,EAAE,CAAC,CAAC;QAChE,uBAAuB,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,sCAAsC,IAAI,EAAE,CAAC,CAAC;QACtF,MAAM,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,qBAAqB,IAAI,EAAE,CAAC,CAAC;QACpD,iBAAiB,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,gCAAgC,IAAI,EAAE,CAAC,CAAC;KAC1E,CAAC;AACH,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { IntegrationIds } from '../constants.js';
2
+ import type { ListOrgsOptions, ListProjectsOptions } from '../manager.js';
3
+ import type { ProviderOrganization, ProviderPagedResult, ProviderRepositoryShape, ProviderResult } from '../results.js';
4
+ import type { ProviderReadContext } from './context.js';
5
+ export declare function listOrgs(ctx: ProviderReadContext, options?: ListOrgsOptions): Promise<ProviderResult<ProviderOrganization>>;
6
+ export declare function listProjects(ctx: ProviderReadContext, options?: ListProjectsOptions): Promise<ProviderResult<ProviderOrganization>>;
7
+ export declare function listRepos(ctx: ProviderReadContext, options: {
8
+ providerId: IntegrationIds;
9
+ org?: string;
10
+ project?: string;
11
+ page?: number;
12
+ cursor?: string;
13
+ itemsPerPage?: number;
14
+ connectionId?: string;
15
+ domain?: string;
16
+ }): Promise<ProviderPagedResult<ProviderRepositoryShape>>;
17
+ //# sourceMappingURL=hierarchy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hierarchy.d.ts","sourceRoot":"","sources":["../../../../src/plus/integrations/reads/hierarchy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAQtD,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAG1E,OAAO,KAAK,EACX,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,EACvB,cAAc,EAEd,MAAM,eAAe,CAAC;AAOvB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAaxD,wBAAsB,QAAQ,CAC7B,GAAG,EAAE,mBAAmB,EACxB,OAAO,CAAC,EAAE,eAAe,GACvB,OAAO,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,CA8F/C;AAED,wBAAsB,YAAY,CACjC,GAAG,EAAE,mBAAmB,EACxB,OAAO,CAAC,EAAE,mBAAmB,GAC3B,OAAO,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,CA8H/C;AAED,wBAAsB,SAAS,CAC9B,GAAG,EAAE,mBAAmB,EACxB,OAAO,EAAE;IACR,UAAU,EAAE,cAAc,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB,GACC,OAAO,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,CAAC,CA+LvD"}
@@ -0,0 +1,320 @@
1
+ import { mapBounded } from '../../../utils/promise.js';
2
+ import { mergeAssessmentInto } from '../collectionMetadata.js';
3
+ import { GitCloudHostIntegrationId, GitSelfManagedHostIntegrationId, providerFanOutConcurrency, supportedOrderedCloudIntegrationIds, supportedOrderedCloudIssuesIntegrationIds, } from '../constants.js';
4
+ import { isIssuesIntegration } from '../models/issuesIntegration.js';
5
+ import { toProviderRepositoryShape } from '../providers/models.js';
6
+ import { appendDedupedWarning } from '../results.js';
7
+ import { isGitHostIntegration, isIssuesHostIntegrationId, warnOnMissingSessionForDomain, } from '../utils/integration.utils.js';
8
+ import { runCaptured } from './drains.js';
9
+ import { assertHierarchyReadTarget, mergeHierarchyResults, orgForProject, resourceMatchesOrg, resourceToOrg, withProviderContext, } from './hierarchy.utils.js';
10
+ import { pageToCursor, refusedPage, resolveContinuation, resolveCurrentPage, toProviderPageInfo } from './paging.js';
11
+ import { gitHostOnlySurfaceWarning, otherWarning } from './warnings.js';
12
+ export async function listOrgs(ctx, options) {
13
+ assertHierarchyReadTarget('listOrgs', options);
14
+ const ids = options?.providerId != null ? [options.providerId] : supportedOrderedCloudIntegrationIds;
15
+ const singleProvider = ids.length === 1;
16
+ const connectionId = singleProvider ? options?.connectionId : undefined;
17
+ const requestedDomain = singleProvider ? options?.domain : undefined;
18
+ const results = await mapBounded(ids, providerFanOutConcurrency, async (id) => {
19
+ const integration = await ctx.getIntegrationForRead(id, connectionId, requestedDomain);
20
+ if (integration == null) {
21
+ // A specifically requested connection that can't be resolved is a broken connection, not a
22
+ // provider with no orgs — surface it (warning + fetchFailed) instead of dropping the id
23
+ // silently, so a caller can tell it apart from an account that genuinely has no orgs.
24
+ const early = ctx.earlyReturnConnectionWarnings(id, connectionId, requestedDomain);
25
+ return {
26
+ items: [],
27
+ warnings: early.warnings,
28
+ fetchFailed: early.fetchFailed,
29
+ };
30
+ }
31
+ const items = [];
32
+ const warnings = [];
33
+ let fetchFailed = false;
34
+ const domain = ctx.domainForRead(integration, id, connectionId, requestedDomain);
35
+ const warnOnMissingSession = warnOnMissingSessionForDomain(id, requestedDomain);
36
+ if (isIssuesIntegration(integration)) {
37
+ // Issue trackers expose "resources" (Jira sites, Linear orgs, …) as their org analogue.
38
+ const { value: resources, warning } = await runCaptured(id, domain, connectionId, () => integration.getResourcesForUserResult(connectionId), { warnOnMissingSession: warnOnMissingSession });
39
+ if (resources != null) {
40
+ items.push(...resources.map(r => resourceToOrg(id, r)));
41
+ }
42
+ if (warning != null) {
43
+ warnings.push(warning);
44
+ // A warning with no value is a hard read failure, not an empty account.
45
+ if (resources == null) {
46
+ fetchFailed = true;
47
+ }
48
+ }
49
+ }
50
+ else if (!integration.supportsOrganizationDiscovery) {
51
+ // The provider registers no org-discovery hook (e.g. Bitbucket Data Center). Report it as
52
+ // explicitly unsupported rather than contributing a silent empty list that a caller can't
53
+ // tell apart from "this account has no orgs".
54
+ fetchFailed = true;
55
+ warnings.push(otherWarning(id, domain, connectionId, `Organization discovery is not supported by '${id}'.`));
56
+ }
57
+ else {
58
+ const { value, warning } = await runCaptured(id, domain, connectionId, () => integration.getOrganizationsForUserResult(connectionId), { warnOnMissingSession: warnOnMissingSession });
59
+ if (value != null) {
60
+ items.push(...value.values.map(org => withProviderContext(id, org)));
61
+ if (value.truncated) {
62
+ warnings.push(otherWarning(id, domain, connectionId, 'Organization listing was truncated before the upstream results were exhausted.'));
63
+ // `ProviderResult` has no page object on which to carry truncation. Mark the flat
64
+ // hierarchy result incomplete so consumers don't treat omitted orgs as authoritative.
65
+ fetchFailed = true;
66
+ }
67
+ const assessment = mergeAssessmentInto(warnings, id, domain, connectionId, value.metadata);
68
+ if (assessment.fetchFailed || assessment.truncated) {
69
+ fetchFailed = true;
70
+ }
71
+ }
72
+ if (warning != null) {
73
+ warnings.push(warning);
74
+ if (value == null) {
75
+ fetchFailed = true;
76
+ }
77
+ }
78
+ }
79
+ return { items: items, warnings: warnings, fetchFailed: fetchFailed };
80
+ });
81
+ return mergeHierarchyResults(results);
82
+ }
83
+ export async function listProjects(ctx, options) {
84
+ assertHierarchyReadTarget('listProjects', options);
85
+ const ids = options?.providerId != null
86
+ ? [options.providerId]
87
+ : [
88
+ ...supportedOrderedCloudIssuesIntegrationIds,
89
+ GitCloudHostIntegrationId.AzureDevOps,
90
+ GitSelfManagedHostIntegrationId.AzureDevOpsServer,
91
+ ];
92
+ const singleProvider = ids.length === 1;
93
+ const connectionId = singleProvider ? options?.connectionId : undefined;
94
+ const requestedDomain = singleProvider ? options?.domain : undefined;
95
+ const results = await mapBounded(ids, providerFanOutConcurrency, async (id) => {
96
+ const integration = await ctx.getIntegrationForRead(id, connectionId, requestedDomain);
97
+ if (integration == null) {
98
+ // A requested connection that can't be resolved is a broken connection, not a provider with
99
+ // no projects — surface it (warning + fetchFailed) instead of dropping the id silently.
100
+ const early = ctx.earlyReturnConnectionWarnings(id, connectionId, requestedDomain);
101
+ return {
102
+ items: [],
103
+ warnings: early.warnings,
104
+ fetchFailed: early.fetchFailed,
105
+ };
106
+ }
107
+ const items = [];
108
+ const warnings = [];
109
+ let fetchFailed = false;
110
+ const domain = ctx.domainForRead(integration, id, connectionId, requestedDomain);
111
+ const org = options?.org;
112
+ const warnOnMissingSession = warnOnMissingSessionForDomain(id, requestedDomain);
113
+ // Git hosts with a project tier (Azure DevOps) read projects through their own hierarchy hook,
114
+ // scoped to `org` when given. Non-Azure git hosts have no project tier and return undefined.
115
+ if (!isIssuesIntegration(integration)) {
116
+ // Check the capability first, like listOrgs/listRepos/listIssuesPage do. Without it, a host
117
+ // with no project tier returns `undefined` from a successful read, which `runCaptured` can't
118
+ // tell apart from an unresolvable session — turning a healthy provider into a `no-connection`
119
+ // warning + `fetchFailed` (and, in Kepler, a spurious reconnect prompt).
120
+ if (!integration.supportsProjectDiscovery) {
121
+ return { items: items, warnings: warnings, fetchFailed: false };
122
+ }
123
+ const { value: projects, warning } = await runCaptured(id, domain, connectionId, () => integration.getProjectsForOrgResult(org, connectionId), { warnOnMissingSession: warnOnMissingSession });
124
+ if (warning != null) {
125
+ warnings.push(warning);
126
+ if (projects == null) {
127
+ fetchFailed = true;
128
+ }
129
+ }
130
+ if (projects != null) {
131
+ items.push(...projects.values.map(project => withProviderContext(id, project)));
132
+ if (projects.truncated) {
133
+ warnings.push(otherWarning(id, domain, connectionId, 'Project listing was truncated before the upstream results were exhausted.'));
134
+ // Unlike paged repository reads, this flattened hierarchy result has no continuation
135
+ // or page metadata. `fetchFailed` is its structural non-authoritative signal.
136
+ fetchFailed = true;
137
+ }
138
+ const assessment = mergeAssessmentInto(warnings, id, domain, connectionId, projects.metadata);
139
+ if (assessment.fetchFailed || assessment.truncated) {
140
+ fetchFailed = true;
141
+ }
142
+ }
143
+ return { items: items, warnings: warnings, fetchFailed: fetchFailed };
144
+ }
145
+ const { value: resources, warning: resourcesWarning } = await runCaptured(id, domain, connectionId, () => integration.getResourcesForUserResult(connectionId), { warnOnMissingSession: warnOnMissingSession });
146
+ if (resourcesWarning != null) {
147
+ warnings.push(resourcesWarning);
148
+ if (resources == null) {
149
+ fetchFailed = true;
150
+ }
151
+ }
152
+ const scopedResources = org != null ? resources?.filter(resource => resourceMatchesOrg(resource, org)) : resources;
153
+ if (scopedResources != null && scopedResources.length !== 0) {
154
+ const { value: projects, warning: projectsWarning } = await runCaptured(id, domain, connectionId, () => integration.getProjectsForResourcesWithMetadataResult(scopedResources, connectionId));
155
+ if (projectsWarning != null) {
156
+ warnings.push(projectsWarning);
157
+ if (projects == null) {
158
+ fetchFailed = true;
159
+ }
160
+ }
161
+ if (projects != null) {
162
+ items.push(...projects.values.map(project => resourceToOrg(id, project, orgForProject(id, project, scopedResources))));
163
+ }
164
+ const assessment = mergeAssessmentInto(warnings, id, domain, connectionId, projects?.metadata);
165
+ if (assessment.fetchFailed || assessment.truncated) {
166
+ fetchFailed = true;
167
+ }
168
+ }
169
+ return { items: items, warnings: warnings, fetchFailed: fetchFailed };
170
+ });
171
+ return mergeHierarchyResults(results);
172
+ }
173
+ export async function listRepos(ctx, options) {
174
+ const page = Math.max(1, options.page ?? 1);
175
+ if (isIssuesHostIntegrationId(options.providerId)) {
176
+ return refusedPage(page, [gitHostOnlySurfaceWarning(options.providerId, undefined, options.connectionId, 'repository discovery')], true);
177
+ }
178
+ const integration = await ctx.getIntegrationForRead(options.providerId, options.connectionId, options.domain);
179
+ if (integration == null) {
180
+ // A supplied connection or domain that no longer resolves is a broken target, not an empty account —
181
+ // surface a no-connection warning + fetchFailed rather than a silent empty page.
182
+ const early = ctx.earlyReturnConnectionWarnings(options.providerId, options.connectionId, options.domain);
183
+ return refusedPage(page, early.warnings, early.fetchFailed);
184
+ }
185
+ if (!isGitHostIntegration(integration)) {
186
+ return refusedPage(page, [gitHostOnlySurfaceWarning(options.providerId, undefined, options.connectionId, 'repository discovery')], true);
187
+ }
188
+ const domain = ctx.domainForRead(integration, options.providerId, options.connectionId, options.domain);
189
+ const accountWide = options.org == null;
190
+ const supported = accountWide
191
+ ? integration.supportsUserRepositoryDiscovery
192
+ : integration.supportsRepositoryDiscovery;
193
+ if (!supported) {
194
+ // No matching repo-discovery hook — org-scoped (e.g. Bitbucket Data Center) or account-wide (e.g.
195
+ // Bitbucket/Azure, whose repos can only be walked per workspace/org). Report unsupported rather than
196
+ // a silent empty page indistinguishable from "no repos"; for the account-wide case the caller should
197
+ // fan out per org from listOrgs instead.
198
+ return refusedPage(page, [
199
+ otherWarning(options.providerId, domain, options.connectionId, accountWide
200
+ ? `Account-wide repository discovery is not supported by '${options.providerId}'; list repositories per org instead.`
201
+ : `Repository discovery is not supported by '${options.providerId}'.`),
202
+ ], true);
203
+ }
204
+ const org = options.org;
205
+ const warnOnMissingSession = warnOnMissingSessionForDomain(options.providerId, options.domain);
206
+ const readPage = (cursor) => runCaptured(options.providerId, domain, options.connectionId, () => org == null
207
+ ? integration.getRepositoriesForUserResult({ cursor: cursor, connectionId: options.connectionId })
208
+ : integration.getRepositoriesForOrgResult(org, {
209
+ project: options.project,
210
+ cursor: cursor,
211
+ connectionId: options.connectionId,
212
+ }), { warnOnMissingSession: warnOnMissingSession });
213
+ /**
214
+ * Builds one page's result from what the provider returned. Shared by the initial read and by every round of
215
+ * the cursor walk below, so a walked page N is described by exactly the same rules as a directly-requested one
216
+ * (position, continuation, truncation) rather than by a second copy of them.
217
+ */
218
+ const toResult = ({ value, warning }, requestedPage, suppliedCursor) => {
219
+ const items = value?.values ?? [];
220
+ const warnings = warning != null ? [warning] : [];
221
+ // The repos read core is cursor-only and can't accept a page size, so don't echo the requested
222
+ // `itemsPerPage` as if it were applied — report what the provider returned (its own pageSize when
223
+ // available, else the actual item count).
224
+ const paged = toProviderPageInfo(items.length, value?.paging);
225
+ // Convert the SDK collection metadata into scope-aware warnings + failure/truncation flags, appending
226
+ // them to any captured thrown-error warning without discarding the partial result's items.
227
+ const assessment = mergeAssessmentInto(warnings, options.providerId, domain, options.connectionId, value?.metadata);
228
+ // Whether this read honors a page NUMBER, decided from what the provider actually reported rather than
229
+ // guessed from the absence of a cursor. A numbered-page repos host reports its position (`paging.page`)
230
+ // and/or its successor (`paging.nextPage`) — Bitbucket's workspace walk consumes `page` as a real 1-based
231
+ // page and reports `nextPage` without echoing `currentPage`, so both signals have to count. Every wired
232
+ // cursor-based repos read (GitHub's org/user walks, GitLab's user walk, Bitbucket's cursor read) reports
233
+ // neither. Keying off `paged.cursor == null` instead read the paging layer's "reported another page,
234
+ // handed back no continuation" sentinel as evidence of a numbered host, which is exactly backwards.
235
+ const pageAdvanceable = value?.paging?.page != null || value?.paging?.nextPage != null;
236
+ // Numbered-page hosts that don't echo `currentPage` may still be advanced by the requested `page` (initial
237
+ // read) or by the cursor the caller threaded back. A cursor-only host ignores an UNTHREADED `page`
238
+ // request, so its page-less first page is page 1.
239
+ const currentPage = resolveCurrentPage({
240
+ providerPage: paged.page.currentPage,
241
+ requestedPage: requestedPage,
242
+ suppliedCursor: suppliedCursor,
243
+ pageAdvanceable: pageAdvanceable,
244
+ });
245
+ // Never advertise `hasMore` without a continuation the caller can act on — the same contract
246
+ // `listPullRequestsPage`, `listIssuesPage` and `broadenIssues` hold, via the same helper. A provider that
247
+ // reports another page but hands back neither `endCursor` nor `nextPage` (surfaced as the `'{}'` sentinel,
248
+ // which `toProviderPageInfo` drops) is terminal-but-incomplete: `hasMore: false` + `page.truncated`.
249
+ // Synthesizing a page-number cursor for a cursor-only host instead — which is what this read used to do
250
+ // unconditionally — handed back a continuation the provider ignores, so it answered with its FIRST page
251
+ // again while still reporting `hasMore: true`. A consumer draining until `hasMore` clears (Kepler's repo
252
+ // drain does exactly that) then looped to its own page cap, accumulating a duplicate copy of every repo
253
+ // per round, and never saw a truncation signal.
254
+ const continuation = resolveContinuation(paged, pageAdvanceable ? currentPage + 1 : undefined);
255
+ // The org-hierarchy read can also stop at a defensive backstop with more repos unlisted and no cursor to
256
+ // resume (top-level `truncated`, or `paging.truncated` on a single-page read). Metadata incompleteness and
257
+ // a demoted continuation are two further, independent sources of the same signal.
258
+ const truncated = (value?.truncated ?? false) ||
259
+ (value?.paging?.truncated ?? false) ||
260
+ assessment.truncated ||
261
+ continuation.truncated;
262
+ return {
263
+ // Normalize the raw provider-apis repos to the GitLens-owned shape at the surface boundary.
264
+ items: items.map(toProviderRepositoryShape),
265
+ warnings: warnings,
266
+ page: { ...paged.page, currentPage: currentPage, truncated: truncated || undefined },
267
+ hasMore: continuation.hasMore,
268
+ cursor: continuation.cursor,
269
+ fetchFailed: assessment.fetchFailed || (warning != null && value == null) || undefined,
270
+ };
271
+ };
272
+ const first = await readPage(options.cursor ?? pageToCursor(page));
273
+ const result = toResult(first, page, options.cursor);
274
+ // A numbered-page host honored the synthesized cursor, so this IS page N; a cursor-only host ignored it and
275
+ // answered with page 1, which the walk below advances. Decided from the provider's own paging metadata rather
276
+ // than assumed, hence after the read.
277
+ const pageAdvanceable = first.value?.paging?.page != null || first.value?.paging?.nextPage != null;
278
+ if (options.cursor != null || page === 1 || pageAdvanceable)
279
+ return result;
280
+ // Walk the provider's real continuations to the requested page. Only the last page's items are kept — pages
281
+ // 1..N returned as "page N" would duplicate items for a normal paged consumer — while warnings, truncation,
282
+ // and failure accumulate across the whole walked prefix, since an earlier round's problem still means this
283
+ // result isn't authoritative. The provider read is re-issued per round, but the integration is resolved once:
284
+ // re-entering this function per page would repeat its auth resolution N times for page N.
285
+ const walkedWarnings = [...result.warnings];
286
+ let walkedFetchFailed = result.fetchFailed === true;
287
+ let walkedTruncated = result.page.truncated === true;
288
+ let previous = result;
289
+ for (let currentPage = 2; currentPage <= page; currentPage++) {
290
+ if (!previous.hasMore || previous.cursor == null) {
291
+ // The requested page lies past the provider's terminal cursor: an EMPTY page N, never the last
292
+ // available page relabeled (see ProviderPageInfo.currentPage).
293
+ return {
294
+ items: [],
295
+ warnings: walkedWarnings,
296
+ page: { currentPage: page, itemsPerPage: 0, truncated: walkedTruncated || undefined },
297
+ hasMore: false,
298
+ fetchFailed: walkedFetchFailed || undefined,
299
+ };
300
+ }
301
+ const suppliedCursor = previous.cursor;
302
+ const requested = toResult(await readPage(suppliedCursor), currentPage, suppliedCursor);
303
+ for (const warning of requested.warnings) {
304
+ appendDedupedWarning(walkedWarnings, warning);
305
+ }
306
+ walkedFetchFailed ||= requested.fetchFailed === true;
307
+ walkedTruncated ||= requested.page.truncated === true;
308
+ if (currentPage === page) {
309
+ return {
310
+ ...requested,
311
+ warnings: walkedWarnings,
312
+ page: { ...requested.page, truncated: walkedTruncated || undefined },
313
+ fetchFailed: walkedFetchFailed || undefined,
314
+ };
315
+ }
316
+ previous = requested;
317
+ }
318
+ return result;
319
+ }
320
+ //# sourceMappingURL=hierarchy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hierarchy.js","sourceRoot":"","sources":["../../../../src/plus/integrations/reads/hierarchy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ import type { ResourceDescriptor } from '../../../git/models/resourceDescriptor.js';
2
+ import type { IntegrationIds } from '../constants.js';
3
+ import type { ProviderOrganization, ProviderResult, ProviderWarning } from '../results.js';
4
+ /**
5
+ * Mapping of a provider's own hierarchy vocabulary onto the single {@link ProviderOrganization} shape the facade
6
+ * publishes.
7
+ *
8
+ * Providers disagree about what sits above a repo or an issue: git hosts have orgs (and Azure DevOps a project
9
+ * tier below that), while issue trackers have "resources" (Jira sites, Linear orgs, Trello workspaces) with
10
+ * projects beneath them. `listOrgs`/`listProjects` unify all of it, so these helpers exist to keep the
11
+ * per-provider shape-guessing — which field is the id, which is the display label, which resource is a
12
+ * project's parent — in one place instead of inline in those reads.
13
+ *
14
+ * Everything here reads through the base {@link ResourceDescriptor} (which only guarantees `key`) and casts to
15
+ * the concrete {@link IssueResourceDescriptor} for the optional `id`/`name`. That cast is why the fallbacks are
16
+ * spelled out rather than assumed.
17
+ */
18
+ /** The label to show for a resource: its name, else its id, else the key that is always present. */
19
+ export declare function resourceLabel(resource: ResourceDescriptor): string;
20
+ /** Whether `org` addresses this resource by any of the identifiers a caller could reasonably have. */
21
+ export declare function resourceMatchesOrg(resource: ResourceDescriptor, org: string): boolean;
22
+ /**
23
+ * The id of the RESOURCE a project belongs to, used to look up which account (and therefore which user) that
24
+ * project's issues should be scoped to. Falls back through the project's own identifiers because some providers
25
+ * (and test doubles) return project descriptors without naming their parent.
26
+ */
27
+ export declare function resourceIdForProject(project: ResourceDescriptor): string | undefined;
28
+ /**
29
+ * A stable identity for one project across facade pages, for the retry/completed bookkeeping an issue-tracker
30
+ * cursor carries. All three identifiers are included rather than one preferred value: two trackers can reuse the
31
+ * same project id, so keying on a single field would collapse them into one entry.
32
+ */
33
+ export declare function projectKey(project: ResourceDescriptor): string;
34
+ /**
35
+ * Maps an issue-tracker resource descriptor to the unified {@link ProviderOrganization} org shape. `url` is
36
+ * synthesized when the descriptor carries none, rather than widening the shared `ProviderOrganization.url` to
37
+ * optional for the one provider family that may omit it.
38
+ */
39
+ export declare function resourceToOrg(providerId: IntegrationIds, resource: ResourceDescriptor, org?: string): ProviderOrganization;
40
+ /**
41
+ * The resource a project belongs under, as a display label — the `org` of the project's unified org shape.
42
+ *
43
+ * A project doesn't reliably name its parent, so try each identifier it does carry against the resources that
44
+ * were read alongside it. When none matches but only ONE resource was in scope, that resource is the parent by
45
+ * construction. Trello is excluded: its boards have no enclosing resource to name.
46
+ */
47
+ export declare function orgForProject(providerId: IntegrationIds, project: ResourceDescriptor, resources: ResourceDescriptor[]): string | undefined;
48
+ /**
49
+ * Stamps the provider onto an org the provider's own client produced. A git host's client fills the rest of the
50
+ * shape but doesn't know which integration id it was reached through — and on a self-managed host the same
51
+ * client serves several — so the fan-out attributes it here.
52
+ */
53
+ export declare function withProviderContext(providerId: IntegrationIds, item: ProviderOrganization): ProviderOrganization;
54
+ /**
55
+ * Merges the per-provider slices of a hierarchy fan-out into one flat result.
56
+ *
57
+ * `ProviderResult` has no page object, so `fetchFailed` is its only non-authoritative signal — any slice that
58
+ * failed or came back incomplete has to set it, or a caller would treat a short list as the whole account.
59
+ * Warnings are deduped because the same account can surface under two ids in one fan-out.
60
+ */
61
+ export declare function mergeHierarchyResults<T>(results: readonly ({
62
+ items: T[];
63
+ warnings: ProviderWarning[];
64
+ fetchFailed: boolean;
65
+ } | undefined)[]): ProviderResult<T>;
66
+ /**
67
+ * Rejects a hierarchy read whose scoped selectors have no provider to apply to. `connectionId` and `domain`
68
+ * both select among the connections OF a provider, so either one without `providerId` is ambiguous rather than
69
+ * merely redundant — the fan-out would have to guess which provider the caller meant, and silently picking one
70
+ * would read that connection's data under another provider's name.
71
+ */
72
+ export declare function assertHierarchyReadTarget(method: 'listOrgs' | 'listProjects', options: {
73
+ providerId?: IntegrationIds;
74
+ connectionId?: string;
75
+ domain?: string;
76
+ } | undefined): void;
77
+ //# sourceMappingURL=hierarchy.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hierarchy.utils.d.ts","sourceRoot":"","sources":["../../../../src/plus/integrations/reads/hierarchy.utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA2B,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAE7G,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAG3F;;;;;;;;;;;;;GAaG;AAEH,oGAAoG;AACpG,wBAAgB,aAAa,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,CAGlE;AAED,sGAAsG;AACtG,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAGrF;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,GAAG,SAAS,CAGpF;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAG9D;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC5B,UAAU,EAAE,cAAc,EAC1B,QAAQ,EAAE,kBAAkB,EAC5B,GAAG,CAAC,EAAE,MAAM,GACV,oBAAoB,CAStB;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC5B,UAAU,EAAE,cAAc,EAC1B,OAAO,EAAE,kBAAkB,EAC3B,SAAS,EAAE,kBAAkB,EAAE,GAC7B,MAAM,GAAG,SAAS,CAcpB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,oBAAoB,GAAG,oBAAoB,CAMhH;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EACtC,OAAO,EAAE,SAAS,CAAC;IAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IAAC,QAAQ,EAAE,eAAe,EAAE,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,CAAC,EAAE,GACjG,cAAc,CAAC,CAAC,CAAC,CAiBnB;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACxC,MAAM,EAAE,UAAU,GAAG,cAAc,EACnC,OAAO,EAAE;IAAE,UAAU,CAAC,EAAE,cAAc,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,GAC1F,IAAI,CAIN"}