@gitkraken/core-gitlens 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1375) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/LICENSE +30 -0
  3. package/LICENSE.plus +40 -0
  4. package/README.md +54 -0
  5. package/dist/git/cache.d.ts +140 -0
  6. package/dist/git/cache.d.ts.map +1 -0
  7. package/dist/git/cache.js +765 -0
  8. package/dist/git/cache.js.map +1 -0
  9. package/dist/git/context.d.ts +238 -0
  10. package/dist/git/context.d.ts.map +1 -0
  11. package/dist/git/context.js +11 -0
  12. package/dist/git/context.js.map +1 -0
  13. package/dist/git/errors.d.ts +419 -0
  14. package/dist/git/errors.d.ts.map +1 -0
  15. package/dist/git/errors.js +681 -0
  16. package/dist/git/errors.js.map +1 -0
  17. package/dist/git/exec.types.d.ts +66 -0
  18. package/dist/git/exec.types.d.ts.map +1 -0
  19. package/dist/git/exec.types.js +2 -0
  20. package/dist/git/exec.types.js.map +1 -0
  21. package/dist/git/features.d.ts +8 -0
  22. package/dist/git/features.d.ts.map +1 -0
  23. package/dist/git/features.js +18 -0
  24. package/dist/git/features.js.map +1 -0
  25. package/dist/git/models/author.d.ts +17 -0
  26. package/dist/git/models/author.d.ts.map +1 -0
  27. package/dist/git/models/author.js +2 -0
  28. package/dist/git/models/author.js.map +1 -0
  29. package/dist/git/models/autolink.d.ts +51 -0
  30. package/dist/git/models/autolink.d.ts.map +1 -0
  31. package/dist/git/models/autolink.js +2 -0
  32. package/dist/git/models/autolink.js.map +1 -0
  33. package/dist/git/models/blame.d.ts +41 -0
  34. package/dist/git/models/blame.d.ts.map +1 -0
  35. package/dist/git/models/blame.js +2 -0
  36. package/dist/git/models/blame.js.map +1 -0
  37. package/dist/git/models/branch.d.ts +85 -0
  38. package/dist/git/models/branch.d.ts.map +1 -0
  39. package/dist/git/models/branch.js +174 -0
  40. package/dist/git/models/branch.js.map +1 -0
  41. package/dist/git/models/commit.d.ts +163 -0
  42. package/dist/git/models/commit.d.ts.map +1 -0
  43. package/dist/git/models/commit.js +496 -0
  44. package/dist/git/models/commit.js.map +1 -0
  45. package/dist/git/models/contributor.d.ts +40 -0
  46. package/dist/git/models/contributor.d.ts.map +1 -0
  47. package/dist/git/models/contributor.js +67 -0
  48. package/dist/git/models/contributor.js.map +1 -0
  49. package/dist/git/models/defaultBranch.d.ts +6 -0
  50. package/dist/git/models/defaultBranch.d.ts.map +1 -0
  51. package/dist/git/models/defaultBranch.js +2 -0
  52. package/dist/git/models/defaultBranch.js.map +1 -0
  53. package/dist/git/models/diff.d.ts +73 -0
  54. package/dist/git/models/diff.d.ts.map +1 -0
  55. package/dist/git/models/diff.js +2 -0
  56. package/dist/git/models/diff.js.map +1 -0
  57. package/dist/git/models/file.d.ts +23 -0
  58. package/dist/git/models/file.d.ts.map +1 -0
  59. package/dist/git/models/file.js +2 -0
  60. package/dist/git/models/file.js.map +1 -0
  61. package/dist/git/models/fileChange.d.ts +50 -0
  62. package/dist/git/models/fileChange.d.ts.map +1 -0
  63. package/dist/git/models/fileChange.js +69 -0
  64. package/dist/git/models/fileChange.js.map +1 -0
  65. package/dist/git/models/fileStatus.d.ts +33 -0
  66. package/dist/git/models/fileStatus.d.ts.map +1 -0
  67. package/dist/git/models/fileStatus.js +29 -0
  68. package/dist/git/models/fileStatus.js.map +1 -0
  69. package/dist/git/models/graph.d.ts +171 -0
  70. package/dist/git/models/graph.d.ts.map +1 -0
  71. package/dist/git/models/graph.js +2 -0
  72. package/dist/git/models/graph.js.map +1 -0
  73. package/dist/git/models/graphSearch.d.ts +48 -0
  74. package/dist/git/models/graphSearch.d.ts.map +1 -0
  75. package/dist/git/models/graphSearch.js +2 -0
  76. package/dist/git/models/graphSearch.js.map +1 -0
  77. package/dist/git/models/issue.d.ts +69 -0
  78. package/dist/git/models/issue.d.ts.map +1 -0
  79. package/dist/git/models/issue.js +68 -0
  80. package/dist/git/models/issue.js.map +1 -0
  81. package/dist/git/models/issueOrPullRequest.d.ts +19 -0
  82. package/dist/git/models/issueOrPullRequest.d.ts.map +1 -0
  83. package/dist/git/models/issueOrPullRequest.js +2 -0
  84. package/dist/git/models/issueOrPullRequest.js.map +1 -0
  85. package/dist/git/models/lineRange.d.ts +8 -0
  86. package/dist/git/models/lineRange.d.ts.map +1 -0
  87. package/dist/git/models/lineRange.js +2 -0
  88. package/dist/git/models/lineRange.js.map +1 -0
  89. package/dist/git/models/log.d.ts +19 -0
  90. package/dist/git/models/log.d.ts.map +1 -0
  91. package/dist/git/models/log.js +2 -0
  92. package/dist/git/models/log.js.map +1 -0
  93. package/dist/git/models/mergeConflicts.d.ts +23 -0
  94. package/dist/git/models/mergeConflicts.d.ts.map +1 -0
  95. package/dist/git/models/mergeConflicts.js +2 -0
  96. package/dist/git/models/mergeConflicts.js.map +1 -0
  97. package/dist/git/models/patch.d.ts +22 -0
  98. package/dist/git/models/patch.d.ts.map +1 -0
  99. package/dist/git/models/patch.js +2 -0
  100. package/dist/git/models/patch.js.map +1 -0
  101. package/dist/git/models/pausedOperationStatus.d.ts +52 -0
  102. package/dist/git/models/pausedOperationStatus.d.ts.map +1 -0
  103. package/dist/git/models/pausedOperationStatus.js +2 -0
  104. package/dist/git/models/pausedOperationStatus.js.map +1 -0
  105. package/dist/git/models/pullRequest.d.ts +125 -0
  106. package/dist/git/models/pullRequest.d.ts.map +1 -0
  107. package/dist/git/models/pullRequest.js +127 -0
  108. package/dist/git/models/pullRequest.js.map +1 -0
  109. package/dist/git/models/rebase.d.ts +51 -0
  110. package/dist/git/models/rebase.d.ts.map +1 -0
  111. package/dist/git/models/rebase.js +2 -0
  112. package/dist/git/models/rebase.js.map +1 -0
  113. package/dist/git/models/reference.d.ts +48 -0
  114. package/dist/git/models/reference.d.ts.map +1 -0
  115. package/dist/git/models/reference.js +2 -0
  116. package/dist/git/models/reference.js.map +1 -0
  117. package/dist/git/models/reflog.d.ts +33 -0
  118. package/dist/git/models/reflog.d.ts.map +1 -0
  119. package/dist/git/models/reflog.js +85 -0
  120. package/dist/git/models/reflog.js.map +1 -0
  121. package/dist/git/models/remote.d.ts +37 -0
  122. package/dist/git/models/remote.d.ts.map +1 -0
  123. package/dist/git/models/remote.js +98 -0
  124. package/dist/git/models/remote.js.map +1 -0
  125. package/dist/git/models/remoteProvider.d.ts +112 -0
  126. package/dist/git/models/remoteProvider.d.ts.map +1 -0
  127. package/dist/git/models/remoteProvider.js +154 -0
  128. package/dist/git/models/remoteProvider.js.map +1 -0
  129. package/dist/git/models/remoteResource.d.ts +78 -0
  130. package/dist/git/models/remoteResource.d.ts.map +1 -0
  131. package/dist/git/models/remoteResource.js +13 -0
  132. package/dist/git/models/remoteResource.js.map +1 -0
  133. package/dist/git/models/repository.d.ts +106 -0
  134. package/dist/git/models/repository.d.ts.map +1 -0
  135. package/dist/git/models/repository.js +324 -0
  136. package/dist/git/models/repository.js.map +1 -0
  137. package/dist/git/models/repositoryChangeEvent.d.ts +17 -0
  138. package/dist/git/models/repositoryChangeEvent.d.ts.map +1 -0
  139. package/dist/git/models/repositoryChangeEvent.js +26 -0
  140. package/dist/git/models/repositoryChangeEvent.js.map +1 -0
  141. package/dist/git/models/repositoryIdentities.d.ts +72 -0
  142. package/dist/git/models/repositoryIdentities.d.ts.map +1 -0
  143. package/dist/git/models/repositoryIdentities.js +7 -0
  144. package/dist/git/models/repositoryIdentities.js.map +1 -0
  145. package/dist/git/models/repositoryMetadata.d.ts +12 -0
  146. package/dist/git/models/repositoryMetadata.d.ts.map +1 -0
  147. package/dist/git/models/repositoryMetadata.js +2 -0
  148. package/dist/git/models/repositoryMetadata.js.map +1 -0
  149. package/dist/git/models/resourceDescriptor.d.ts +12 -0
  150. package/dist/git/models/resourceDescriptor.d.ts.map +1 -0
  151. package/dist/git/models/resourceDescriptor.js +2 -0
  152. package/dist/git/models/resourceDescriptor.js.map +1 -0
  153. package/dist/git/models/revision.d.ts +7 -0
  154. package/dist/git/models/revision.d.ts.map +1 -0
  155. package/dist/git/models/revision.js +6 -0
  156. package/dist/git/models/revision.js.map +1 -0
  157. package/dist/git/models/search.d.ts +66 -0
  158. package/dist/git/models/search.d.ts.map +1 -0
  159. package/dist/git/models/search.js +48 -0
  160. package/dist/git/models/search.js.map +1 -0
  161. package/dist/git/models/shortlog.d.ts +6 -0
  162. package/dist/git/models/shortlog.d.ts.map +1 -0
  163. package/dist/git/models/shortlog.js +2 -0
  164. package/dist/git/models/shortlog.js.map +1 -0
  165. package/dist/git/models/signature.d.ts +26 -0
  166. package/dist/git/models/signature.d.ts.map +1 -0
  167. package/dist/git/models/signature.js +2 -0
  168. package/dist/git/models/signature.js.map +1 -0
  169. package/dist/git/models/staging.d.ts +24 -0
  170. package/dist/git/models/staging.d.ts.map +1 -0
  171. package/dist/git/models/staging.js +2 -0
  172. package/dist/git/models/staging.js.map +1 -0
  173. package/dist/git/models/stash.d.ts +6 -0
  174. package/dist/git/models/stash.d.ts.map +1 -0
  175. package/dist/git/models/stash.js +2 -0
  176. package/dist/git/models/stash.js.map +1 -0
  177. package/dist/git/models/status.d.ts +55 -0
  178. package/dist/git/models/status.d.ts.map +1 -0
  179. package/dist/git/models/status.js +208 -0
  180. package/dist/git/models/status.js.map +1 -0
  181. package/dist/git/models/statusFile.d.ts +28 -0
  182. package/dist/git/models/statusFile.d.ts.map +1 -0
  183. package/dist/git/models/statusFile.js +114 -0
  184. package/dist/git/models/statusFile.js.map +1 -0
  185. package/dist/git/models/tag.d.ts +26 -0
  186. package/dist/git/models/tag.d.ts.map +1 -0
  187. package/dist/git/models/tag.js +73 -0
  188. package/dist/git/models/tag.js.map +1 -0
  189. package/dist/git/models/tree.d.ts +10 -0
  190. package/dist/git/models/tree.d.ts.map +1 -0
  191. package/dist/git/models/tree.js +2 -0
  192. package/dist/git/models/tree.js.map +1 -0
  193. package/dist/git/models/user.d.ts +7 -0
  194. package/dist/git/models/user.d.ts.map +1 -0
  195. package/dist/git/models/user.js +2 -0
  196. package/dist/git/models/user.js.map +1 -0
  197. package/dist/git/models/worktree.d.ts +51 -0
  198. package/dist/git/models/worktree.d.ts.map +1 -0
  199. package/dist/git/models/worktree.js +136 -0
  200. package/dist/git/models/worktree.js.map +1 -0
  201. package/dist/git/parsers/diffParser.d.ts +45 -0
  202. package/dist/git/parsers/diffParser.d.ts.map +1 -0
  203. package/dist/git/parsers/diffParser.js +628 -0
  204. package/dist/git/parsers/diffParser.js.map +1 -0
  205. package/dist/git/parsers/rebaseTodoParser.d.ts +15 -0
  206. package/dist/git/parsers/rebaseTodoParser.d.ts.map +1 -0
  207. package/dist/git/parsers/rebaseTodoParser.js +215 -0
  208. package/dist/git/parsers/rebaseTodoParser.js.map +1 -0
  209. package/dist/git/providers/blame.d.ts +15 -0
  210. package/dist/git/providers/blame.d.ts.map +1 -0
  211. package/dist/git/providers/blame.js +2 -0
  212. package/dist/git/providers/blame.js.map +1 -0
  213. package/dist/git/providers/branches.d.ts +80 -0
  214. package/dist/git/providers/branches.d.ts.map +1 -0
  215. package/dist/git/providers/branches.js +2 -0
  216. package/dist/git/providers/branches.js.map +1 -0
  217. package/dist/git/providers/commits.d.ts +102 -0
  218. package/dist/git/providers/commits.d.ts.map +1 -0
  219. package/dist/git/providers/commits.js +2 -0
  220. package/dist/git/providers/commits.js.map +1 -0
  221. package/dist/git/providers/config.d.ts +64 -0
  222. package/dist/git/providers/config.d.ts.map +1 -0
  223. package/dist/git/providers/config.js +2 -0
  224. package/dist/git/providers/config.js.map +1 -0
  225. package/dist/git/providers/contributors.d.ts +26 -0
  226. package/dist/git/providers/contributors.d.ts.map +1 -0
  227. package/dist/git/providers/contributors.js +2 -0
  228. package/dist/git/providers/contributors.js.map +1 -0
  229. package/dist/git/providers/diff.d.ts +73 -0
  230. package/dist/git/providers/diff.d.ts.map +1 -0
  231. package/dist/git/providers/diff.js +2 -0
  232. package/dist/git/providers/diff.js.map +1 -0
  233. package/dist/git/providers/graph.d.ts +20 -0
  234. package/dist/git/providers/graph.d.ts.map +1 -0
  235. package/dist/git/providers/graph.js +2 -0
  236. package/dist/git/providers/graph.js.map +1 -0
  237. package/dist/git/providers/operations.d.ts +65 -0
  238. package/dist/git/providers/operations.d.ts.map +1 -0
  239. package/dist/git/providers/operations.js +2 -0
  240. package/dist/git/providers/operations.js.map +1 -0
  241. package/dist/git/providers/patch.d.ts +27 -0
  242. package/dist/git/providers/patch.d.ts.map +1 -0
  243. package/dist/git/providers/patch.js +2 -0
  244. package/dist/git/providers/patch.js.map +1 -0
  245. package/dist/git/providers/pausedOperations.d.ts +11 -0
  246. package/dist/git/providers/pausedOperations.d.ts.map +1 -0
  247. package/dist/git/providers/pausedOperations.js +2 -0
  248. package/dist/git/providers/pausedOperations.js.map +1 -0
  249. package/dist/git/providers/provider.d.ts +57 -0
  250. package/dist/git/providers/provider.d.ts.map +1 -0
  251. package/dist/git/providers/provider.js +2 -0
  252. package/dist/git/providers/provider.js.map +1 -0
  253. package/dist/git/providers/refs.d.ts +22 -0
  254. package/dist/git/providers/refs.d.ts.map +1 -0
  255. package/dist/git/providers/refs.js +2 -0
  256. package/dist/git/providers/refs.js.map +1 -0
  257. package/dist/git/providers/remotes.d.ts +25 -0
  258. package/dist/git/providers/remotes.d.ts.map +1 -0
  259. package/dist/git/providers/remotes.js +2 -0
  260. package/dist/git/providers/remotes.js.map +1 -0
  261. package/dist/git/providers/revision.d.ts +28 -0
  262. package/dist/git/providers/revision.d.ts.map +1 -0
  263. package/dist/git/providers/revision.js +2 -0
  264. package/dist/git/providers/revision.js.map +1 -0
  265. package/dist/git/providers/shared/remotes.d.ts +25 -0
  266. package/dist/git/providers/shared/remotes.d.ts.map +1 -0
  267. package/dist/git/providers/shared/remotes.js +79 -0
  268. package/dist/git/providers/shared/remotes.js.map +1 -0
  269. package/dist/git/providers/staging.d.ts +22 -0
  270. package/dist/git/providers/staging.d.ts.map +1 -0
  271. package/dist/git/providers/staging.js +2 -0
  272. package/dist/git/providers/staging.js.map +1 -0
  273. package/dist/git/providers/stash.d.ts +41 -0
  274. package/dist/git/providers/stash.d.ts.map +1 -0
  275. package/dist/git/providers/stash.js +2 -0
  276. package/dist/git/providers/stash.js.map +1 -0
  277. package/dist/git/providers/status.d.ts +30 -0
  278. package/dist/git/providers/status.d.ts.map +1 -0
  279. package/dist/git/providers/status.js +2 -0
  280. package/dist/git/providers/status.js.map +1 -0
  281. package/dist/git/providers/tags.d.ts +18 -0
  282. package/dist/git/providers/tags.d.ts.map +1 -0
  283. package/dist/git/providers/tags.js +2 -0
  284. package/dist/git/providers/tags.js.map +1 -0
  285. package/dist/git/providers/types.d.ts +28 -0
  286. package/dist/git/providers/types.d.ts.map +1 -0
  287. package/dist/git/providers/types.js +2 -0
  288. package/dist/git/providers/types.js.map +1 -0
  289. package/dist/git/providers/worktrees.d.ts +23 -0
  290. package/dist/git/providers/worktrees.d.ts.map +1 -0
  291. package/dist/git/providers/worktrees.js +2 -0
  292. package/dist/git/providers/worktrees.js.map +1 -0
  293. package/dist/git/remotes/azure-devops.d.ts +43 -0
  294. package/dist/git/remotes/azure-devops.d.ts.map +1 -0
  295. package/dist/git/remotes/azure-devops.js +248 -0
  296. package/dist/git/remotes/azure-devops.js.map +1 -0
  297. package/dist/git/remotes/bitbucket-server.d.ts +32 -0
  298. package/dist/git/remotes/bitbucket-server.d.ts.map +1 -0
  299. package/dist/git/remotes/bitbucket-server.js +145 -0
  300. package/dist/git/remotes/bitbucket-server.js.map +1 -0
  301. package/dist/git/remotes/bitbucket.d.ts +29 -0
  302. package/dist/git/remotes/bitbucket.d.ts.map +1 -0
  303. package/dist/git/remotes/bitbucket.js +114 -0
  304. package/dist/git/remotes/bitbucket.js.map +1 -0
  305. package/dist/git/remotes/custom.d.ts +26 -0
  306. package/dist/git/remotes/custom.d.ts.map +1 -0
  307. package/dist/git/remotes/custom.js +111 -0
  308. package/dist/git/remotes/custom.js.map +1 -0
  309. package/dist/git/remotes/gerrit.d.ts +31 -0
  310. package/dist/git/remotes/gerrit.d.ts.map +1 -0
  311. package/dist/git/remotes/gerrit.js +146 -0
  312. package/dist/git/remotes/gerrit.js.map +1 -0
  313. package/dist/git/remotes/gitea.d.ts +30 -0
  314. package/dist/git/remotes/gitea.d.ts.map +1 -0
  315. package/dist/git/remotes/gitea.js +148 -0
  316. package/dist/git/remotes/gitea.js.map +1 -0
  317. package/dist/git/remotes/github.d.ts +41 -0
  318. package/dist/git/remotes/github.d.ts.map +1 -0
  319. package/dist/git/remotes/github.js +198 -0
  320. package/dist/git/remotes/github.js.map +1 -0
  321. package/dist/git/remotes/gitlab.d.ts +35 -0
  322. package/dist/git/remotes/gitlab.d.ts.map +1 -0
  323. package/dist/git/remotes/gitlab.js +232 -0
  324. package/dist/git/remotes/gitlab.js.map +1 -0
  325. package/dist/git/remotes/google-source.d.ts +17 -0
  326. package/dist/git/remotes/google-source.d.ts.map +1 -0
  327. package/dist/git/remotes/google-source.js +32 -0
  328. package/dist/git/remotes/google-source.js.map +1 -0
  329. package/dist/git/remotes/matcher.d.ts +35 -0
  330. package/dist/git/remotes/matcher.d.ts.map +1 -0
  331. package/dist/git/remotes/matcher.js +140 -0
  332. package/dist/git/remotes/matcher.js.map +1 -0
  333. package/dist/git/repositoryService.d.ts +127 -0
  334. package/dist/git/repositoryService.d.ts.map +1 -0
  335. package/dist/git/repositoryService.js +54 -0
  336. package/dist/git/repositoryService.js.map +1 -0
  337. package/dist/git/service.d.ts +112 -0
  338. package/dist/git/service.d.ts.map +1 -0
  339. package/dist/git/service.js +303 -0
  340. package/dist/git/service.js.map +1 -0
  341. package/dist/git/utils/autolink.utils.d.ts +13 -0
  342. package/dist/git/utils/autolink.utils.d.ts.map +1 -0
  343. package/dist/git/utils/autolink.utils.js +147 -0
  344. package/dist/git/utils/autolink.utils.js.map +1 -0
  345. package/dist/git/utils/blame.utils.d.ts +47 -0
  346. package/dist/git/utils/blame.utils.d.ts.map +1 -0
  347. package/dist/git/utils/blame.utils.js +239 -0
  348. package/dist/git/utils/blame.utils.js.map +1 -0
  349. package/dist/git/utils/branch.utils.d.ts +22 -0
  350. package/dist/git/utils/branch.utils.d.ts.map +1 -0
  351. package/dist/git/utils/branch.utils.js +122 -0
  352. package/dist/git/utils/branch.utils.js.map +1 -0
  353. package/dist/git/utils/commit.utils.d.ts +26 -0
  354. package/dist/git/utils/commit.utils.d.ts.map +1 -0
  355. package/dist/git/utils/commit.utils.js +54 -0
  356. package/dist/git/utils/commit.utils.js.map +1 -0
  357. package/dist/git/utils/contributor.utils.d.ts +15 -0
  358. package/dist/git/utils/contributor.utils.d.ts.map +1 -0
  359. package/dist/git/utils/contributor.utils.js +55 -0
  360. package/dist/git/utils/contributor.utils.js.map +1 -0
  361. package/dist/git/utils/fetch.utils.d.ts +20 -0
  362. package/dist/git/utils/fetch.utils.d.ts.map +1 -0
  363. package/dist/git/utils/fetch.utils.js +47 -0
  364. package/dist/git/utils/fetch.utils.js.map +1 -0
  365. package/dist/git/utils/fileStatus.utils.d.ts +24 -0
  366. package/dist/git/utils/fileStatus.utils.d.ts.map +1 -0
  367. package/dist/git/utils/fileStatus.utils.js +45 -0
  368. package/dist/git/utils/fileStatus.utils.js.map +1 -0
  369. package/dist/git/utils/issue.utils.d.ts +4 -0
  370. package/dist/git/utils/issue.utils.d.ts.map +1 -0
  371. package/dist/git/utils/issue.utils.js +76 -0
  372. package/dist/git/utils/issue.utils.js.map +1 -0
  373. package/dist/git/utils/issueOrPullRequest.utils.d.ts +3 -0
  374. package/dist/git/utils/issueOrPullRequest.utils.d.ts.map +1 -0
  375. package/dist/git/utils/issueOrPullRequest.utils.js +22 -0
  376. package/dist/git/utils/issueOrPullRequest.utils.js.map +1 -0
  377. package/dist/git/utils/mergeConflicts.utils.d.ts +3 -0
  378. package/dist/git/utils/mergeConflicts.utils.d.ts.map +1 -0
  379. package/dist/git/utils/mergeConflicts.utils.js +19 -0
  380. package/dist/git/utils/mergeConflicts.utils.js.map +1 -0
  381. package/dist/git/utils/pausedOperationStatus.utils.d.ts +58 -0
  382. package/dist/git/utils/pausedOperationStatus.utils.d.ts.map +1 -0
  383. package/dist/git/utils/pausedOperationStatus.utils.js +133 -0
  384. package/dist/git/utils/pausedOperationStatus.utils.js.map +1 -0
  385. package/dist/git/utils/pullRequest.utils.d.ts +12 -0
  386. package/dist/git/utils/pullRequest.utils.d.ts.map +1 -0
  387. package/dist/git/utils/pullRequest.utils.js +124 -0
  388. package/dist/git/utils/pullRequest.utils.js.map +1 -0
  389. package/dist/git/utils/rebase.utils.d.ts +19 -0
  390. package/dist/git/utils/rebase.utils.d.ts.map +1 -0
  391. package/dist/git/utils/rebase.utils.js +93 -0
  392. package/dist/git/utils/rebase.utils.js.map +1 -0
  393. package/dist/git/utils/reference.utils.d.ts +56 -0
  394. package/dist/git/utils/reference.utils.d.ts.map +1 -0
  395. package/dist/git/utils/reference.utils.js +191 -0
  396. package/dist/git/utils/reference.utils.js.map +1 -0
  397. package/dist/git/utils/remote.utils.d.ts +17 -0
  398. package/dist/git/utils/remote.utils.d.ts.map +1 -0
  399. package/dist/git/utils/remote.utils.js +124 -0
  400. package/dist/git/utils/remote.utils.js.map +1 -0
  401. package/dist/git/utils/repository.utils.d.ts +5 -0
  402. package/dist/git/utils/repository.utils.d.ts.map +1 -0
  403. package/dist/git/utils/repository.utils.js +15 -0
  404. package/dist/git/utils/repository.utils.js.map +1 -0
  405. package/dist/git/utils/resourceDescriptor.utils.d.ts +4 -0
  406. package/dist/git/utils/resourceDescriptor.utils.d.ts.map +1 -0
  407. package/dist/git/utils/resourceDescriptor.utils.js +17 -0
  408. package/dist/git/utils/resourceDescriptor.utils.js.map +1 -0
  409. package/dist/git/utils/revision.utils.d.ts +36 -0
  410. package/dist/git/utils/revision.utils.d.ts.map +1 -0
  411. package/dist/git/utils/revision.utils.js +114 -0
  412. package/dist/git/utils/revision.utils.js.map +1 -0
  413. package/dist/git/utils/search.utils.d.ts +15 -0
  414. package/dist/git/utils/search.utils.d.ts.map +1 -0
  415. package/dist/git/utils/search.utils.js +422 -0
  416. package/dist/git/utils/search.utils.js.map +1 -0
  417. package/dist/git/utils/sorting.d.ts +34 -0
  418. package/dist/git/utils/sorting.d.ts.map +1 -0
  419. package/dist/git/utils/sorting.js +203 -0
  420. package/dist/git/utils/sorting.js.map +1 -0
  421. package/dist/git/utils/status.utils.d.ts +20 -0
  422. package/dist/git/utils/status.utils.d.ts.map +1 -0
  423. package/dist/git/utils/status.utils.js +82 -0
  424. package/dist/git/utils/status.utils.js.map +1 -0
  425. package/dist/git/utils/statusFile.utils.d.ts +8 -0
  426. package/dist/git/utils/statusFile.utils.d.ts.map +1 -0
  427. package/dist/git/utils/statusFile.utils.js +76 -0
  428. package/dist/git/utils/statusFile.utils.js.map +1 -0
  429. package/dist/git/utils/tag.utils.d.ts +7 -0
  430. package/dist/git/utils/tag.utils.d.ts.map +1 -0
  431. package/dist/git/utils/tag.utils.js +13 -0
  432. package/dist/git/utils/tag.utils.js.map +1 -0
  433. package/dist/git/utils/tooltip.utils.d.ts +14 -0
  434. package/dist/git/utils/tooltip.utils.d.ts.map +1 -0
  435. package/dist/git/utils/tooltip.utils.js +29 -0
  436. package/dist/git/utils/tooltip.utils.js.map +1 -0
  437. package/dist/git/utils/uriAuthority.d.ts +16 -0
  438. package/dist/git/utils/uriAuthority.d.ts.map +1 -0
  439. package/dist/git/utils/uriAuthority.js +20 -0
  440. package/dist/git/utils/uriAuthority.js.map +1 -0
  441. package/dist/git/utils/user.utils.d.ts +3 -0
  442. package/dist/git/utils/user.utils.d.ts.map +1 -0
  443. package/dist/git/utils/user.utils.js +12 -0
  444. package/dist/git/utils/user.utils.js.map +1 -0
  445. package/dist/git/utils/worktree.utils.d.ts +7 -0
  446. package/dist/git/utils/worktree.utils.d.ts.map +1 -0
  447. package/dist/git/utils/worktree.utils.js +15 -0
  448. package/dist/git/utils/worktree.utils.js.map +1 -0
  449. package/dist/git/watching/changeEvent.d.ts +47 -0
  450. package/dist/git/watching/changeEvent.d.ts.map +1 -0
  451. package/dist/git/watching/changeEvent.js +69 -0
  452. package/dist/git/watching/changeEvent.js.map +1 -0
  453. package/dist/git/watching/classifyChange.d.ts +16 -0
  454. package/dist/git/watching/classifyChange.d.ts.map +1 -0
  455. package/dist/git/watching/classifyChange.js +61 -0
  456. package/dist/git/watching/classifyChange.js.map +1 -0
  457. package/dist/git/watching/gitIgnoreFilter.d.ts +58 -0
  458. package/dist/git/watching/gitIgnoreFilter.d.ts.map +1 -0
  459. package/dist/git/watching/gitIgnoreFilter.js +109 -0
  460. package/dist/git/watching/gitIgnoreFilter.js.map +1 -0
  461. package/dist/git/watching/initWatcher.d.ts +33 -0
  462. package/dist/git/watching/initWatcher.d.ts.map +1 -0
  463. package/dist/git/watching/initWatcher.js +59 -0
  464. package/dist/git/watching/initWatcher.js.map +1 -0
  465. package/dist/git/watching/provider.d.ts +23 -0
  466. package/dist/git/watching/provider.d.ts.map +1 -0
  467. package/dist/git/watching/provider.js +2 -0
  468. package/dist/git/watching/provider.js.map +1 -0
  469. package/dist/git/watching/watchGroup.d.ts +54 -0
  470. package/dist/git/watching/watchGroup.d.ts.map +1 -0
  471. package/dist/git/watching/watchGroup.js +139 -0
  472. package/dist/git/watching/watchGroup.js.map +1 -0
  473. package/dist/git/watching/watchService.d.ts +79 -0
  474. package/dist/git/watching/watchService.d.ts.map +1 -0
  475. package/dist/git/watching/watchService.js +282 -0
  476. package/dist/git/watching/watchService.js.map +1 -0
  477. package/dist/git/watching/watchSession.d.ts +118 -0
  478. package/dist/git/watching/watchSession.d.ts.map +1 -0
  479. package/dist/git/watching/watchSession.js +274 -0
  480. package/dist/git/watching/watchSession.js.map +1 -0
  481. package/dist/git/watching/watcherPatterns.d.ts +21 -0
  482. package/dist/git/watching/watcherPatterns.d.ts.map +1 -0
  483. package/dist/git/watching/watcherPatterns.js +36 -0
  484. package/dist/git/watching/watcherPatterns.js.map +1 -0
  485. package/dist/git-cli/cliGitProvider.d.ts +133 -0
  486. package/dist/git-cli/cliGitProvider.d.ts.map +1 -0
  487. package/dist/git-cli/cliGitProvider.js +273 -0
  488. package/dist/git-cli/cliGitProvider.js.map +1 -0
  489. package/dist/git-cli/exec/exec.d.ts +4 -0
  490. package/dist/git-cli/exec/exec.d.ts.map +1 -0
  491. package/dist/git-cli/exec/exec.errors.d.ts +2 -0
  492. package/dist/git-cli/exec/exec.errors.d.ts.map +1 -0
  493. package/dist/git-cli/exec/exec.errors.js +2 -0
  494. package/dist/git-cli/exec/exec.errors.js.map +1 -0
  495. package/dist/git-cli/exec/exec.js +3 -0
  496. package/dist/git-cli/exec/exec.js.map +1 -0
  497. package/dist/git-cli/exec/exec.types.d.ts +2 -0
  498. package/dist/git-cli/exec/exec.types.d.ts.map +1 -0
  499. package/dist/git-cli/exec/exec.types.js +2 -0
  500. package/dist/git-cli/exec/exec.types.js.map +1 -0
  501. package/dist/git-cli/exec/features.d.ts +3 -0
  502. package/dist/git-cli/exec/features.d.ts.map +1 -0
  503. package/dist/git-cli/exec/features.js +2 -0
  504. package/dist/git-cli/exec/features.js.map +1 -0
  505. package/dist/git-cli/exec/git.d.ts +228 -0
  506. package/dist/git-cli/exec/git.d.ts.map +1 -0
  507. package/dist/git-cli/exec/git.js +823 -0
  508. package/dist/git-cli/exec/git.js.map +1 -0
  509. package/dist/git-cli/exec/gitQueue.d.ts +68 -0
  510. package/dist/git-cli/exec/gitQueue.d.ts.map +1 -0
  511. package/dist/git-cli/exec/gitQueue.js +207 -0
  512. package/dist/git-cli/exec/gitQueue.js.map +1 -0
  513. package/dist/git-cli/exec/locator.d.ts +14 -0
  514. package/dist/git-cli/exec/locator.d.ts.map +1 -0
  515. package/dist/git-cli/exec/locator.js +133 -0
  516. package/dist/git-cli/exec/locator.js.map +1 -0
  517. package/dist/git-cli/parsers/blameParser.d.ts +30 -0
  518. package/dist/git-cli/parsers/blameParser.d.ts.map +1 -0
  519. package/dist/git-cli/parsers/blameParser.js +339 -0
  520. package/dist/git-cli/parsers/blameParser.js.map +1 -0
  521. package/dist/git-cli/parsers/indexParser.d.ts +4 -0
  522. package/dist/git-cli/parsers/indexParser.d.ts.map +1 -0
  523. package/dist/git-cli/parsers/indexParser.js +226 -0
  524. package/dist/git-cli/parsers/indexParser.js.map +1 -0
  525. package/dist/git-cli/parsers/logParser.d.ts +178 -0
  526. package/dist/git-cli/parsers/logParser.d.ts.map +1 -0
  527. package/dist/git-cli/parsers/logParser.js +1166 -0
  528. package/dist/git-cli/parsers/logParser.js.map +1 -0
  529. package/dist/git-cli/parsers/mergeTreeParser.d.ts +7 -0
  530. package/dist/git-cli/parsers/mergeTreeParser.d.ts.map +1 -0
  531. package/dist/git-cli/parsers/mergeTreeParser.js +74 -0
  532. package/dist/git-cli/parsers/mergeTreeParser.js.map +1 -0
  533. package/dist/git-cli/parsers/refParser.d.ts +34 -0
  534. package/dist/git-cli/parsers/refParser.d.ts.map +1 -0
  535. package/dist/git-cli/parsers/refParser.js +148 -0
  536. package/dist/git-cli/parsers/refParser.js.map +1 -0
  537. package/dist/git-cli/parsers/reflogParser.d.ts +12 -0
  538. package/dist/git-cli/parsers/reflogParser.d.ts.map +1 -0
  539. package/dist/git-cli/parsers/reflogParser.js +181 -0
  540. package/dist/git-cli/parsers/reflogParser.js.map +1 -0
  541. package/dist/git-cli/parsers/remoteParser.d.ts +4 -0
  542. package/dist/git-cli/parsers/remoteParser.d.ts.map +1 -0
  543. package/dist/git-cli/parsers/remoteParser.js +128 -0
  544. package/dist/git-cli/parsers/remoteParser.js.map +1 -0
  545. package/dist/git-cli/parsers/shortlogParser.d.ts +4 -0
  546. package/dist/git-cli/parsers/shortlogParser.d.ts.map +1 -0
  547. package/dist/git-cli/parsers/shortlogParser.js +51 -0
  548. package/dist/git-cli/parsers/shortlogParser.js.map +1 -0
  549. package/dist/git-cli/parsers/signatureParser.d.ts +21 -0
  550. package/dist/git-cli/parsers/signatureParser.d.ts.map +1 -0
  551. package/dist/git-cli/parsers/signatureParser.js +139 -0
  552. package/dist/git-cli/parsers/signatureParser.js.map +1 -0
  553. package/dist/git-cli/parsers/statusParser.d.ts +4 -0
  554. package/dist/git-cli/parsers/statusParser.d.ts.map +1 -0
  555. package/dist/git-cli/parsers/statusParser.js +216 -0
  556. package/dist/git-cli/parsers/statusParser.js.map +1 -0
  557. package/dist/git-cli/parsers/treeParser.d.ts +3 -0
  558. package/dist/git-cli/parsers/treeParser.d.ts.map +1 -0
  559. package/dist/git-cli/parsers/treeParser.js +110 -0
  560. package/dist/git-cli/parsers/treeParser.js.map +1 -0
  561. package/dist/git-cli/parsers/worktreeParser.d.ts +5 -0
  562. package/dist/git-cli/parsers/worktreeParser.d.ts.map +1 -0
  563. package/dist/git-cli/parsers/worktreeParser.js +136 -0
  564. package/dist/git-cli/parsers/worktreeParser.js.map +1 -0
  565. package/dist/git-cli/providers/blame.d.ts +26 -0
  566. package/dist/git-cli/providers/blame.d.ts.map +1 -0
  567. package/dist/git-cli/providers/blame.js +426 -0
  568. package/dist/git-cli/providers/blame.js.map +1 -0
  569. package/dist/git-cli/providers/branches.d.ts +87 -0
  570. package/dist/git-cli/providers/branches.d.ts.map +1 -0
  571. package/dist/git-cli/providers/branches.js +1153 -0
  572. package/dist/git-cli/providers/branches.js.map +1 -0
  573. package/dist/git-cli/providers/commitFilesetUtils.d.ts +4 -0
  574. package/dist/git-cli/providers/commitFilesetUtils.d.ts.map +1 -0
  575. package/dist/git-cli/providers/commitFilesetUtils.js +20 -0
  576. package/dist/git-cli/providers/commitFilesetUtils.js.map +1 -0
  577. package/dist/git-cli/providers/commits.d.ts +49 -0
  578. package/dist/git-cli/providers/commits.d.ts.map +1 -0
  579. package/dist/git-cli/providers/commits.js +1151 -0
  580. package/dist/git-cli/providers/commits.js.map +1 -0
  581. package/dist/git-cli/providers/config.d.ts +74 -0
  582. package/dist/git-cli/providers/config.d.ts.map +1 -0
  583. package/dist/git-cli/providers/config.js +588 -0
  584. package/dist/git-cli/providers/config.js.map +1 -0
  585. package/dist/git-cli/providers/contributors.d.ts +31 -0
  586. package/dist/git-cli/providers/contributors.d.ts.map +1 -0
  587. package/dist/git-cli/providers/contributors.js +350 -0
  588. package/dist/git-cli/providers/contributors.js.map +1 -0
  589. package/dist/git-cli/providers/diff.d.ts +99 -0
  590. package/dist/git-cli/providers/diff.d.ts.map +1 -0
  591. package/dist/git-cli/providers/diff.js +786 -0
  592. package/dist/git-cli/providers/diff.js.map +1 -0
  593. package/dist/git-cli/providers/graph.d.ts +31 -0
  594. package/dist/git-cli/providers/graph.d.ts.map +1 -0
  595. package/dist/git-cli/providers/graph.js +703 -0
  596. package/dist/git-cli/providers/graph.js.map +1 -0
  597. package/dist/git-cli/providers/operations.d.ts +75 -0
  598. package/dist/git-cli/providers/operations.d.ts.map +1 -0
  599. package/dist/git-cli/providers/operations.js +564 -0
  600. package/dist/git-cli/providers/operations.js.map +1 -0
  601. package/dist/git-cli/providers/patch.d.ts +38 -0
  602. package/dist/git-cli/providers/patch.d.ts.map +1 -0
  603. package/dist/git-cli/providers/patch.js +324 -0
  604. package/dist/git-cli/providers/patch.js.map +1 -0
  605. package/dist/git-cli/providers/pausedOperations.d.ts +22 -0
  606. package/dist/git-cli/providers/pausedOperations.d.ts.map +1 -0
  607. package/dist/git-cli/providers/pausedOperations.js +411 -0
  608. package/dist/git-cli/providers/pausedOperations.js.map +1 -0
  609. package/dist/git-cli/providers/refs.d.ts +32 -0
  610. package/dist/git-cli/providers/refs.d.ts.map +1 -0
  611. package/dist/git-cli/providers/refs.js +149 -0
  612. package/dist/git-cli/providers/refs.js.map +1 -0
  613. package/dist/git-cli/providers/remotes.d.ts +24 -0
  614. package/dist/git-cli/providers/remotes.d.ts.map +1 -0
  615. package/dist/git-cli/providers/remotes.js +94 -0
  616. package/dist/git-cli/providers/remotes.js.map +1 -0
  617. package/dist/git-cli/providers/revision.d.ts +27 -0
  618. package/dist/git-cli/providers/revision.d.ts.map +1 -0
  619. package/dist/git-cli/providers/revision.js +269 -0
  620. package/dist/git-cli/providers/revision.js.map +1 -0
  621. package/dist/git-cli/providers/staging.d.ts +24 -0
  622. package/dist/git-cli/providers/staging.d.ts.map +1 -0
  623. package/dist/git-cli/providers/staging.js +138 -0
  624. package/dist/git-cli/providers/staging.js.map +1 -0
  625. package/dist/git-cli/providers/stash.d.ts +55 -0
  626. package/dist/git-cli/providers/stash.d.ts.map +1 -0
  627. package/dist/git-cli/providers/stash.js +430 -0
  628. package/dist/git-cli/providers/stash.js.map +1 -0
  629. package/dist/git-cli/providers/status.d.ts +38 -0
  630. package/dist/git-cli/providers/status.d.ts.map +1 -0
  631. package/dist/git-cli/providers/status.js +352 -0
  632. package/dist/git-cli/providers/status.js.map +1 -0
  633. package/dist/git-cli/providers/tags.d.ts +29 -0
  634. package/dist/git-cli/providers/tags.d.ts.map +1 -0
  635. package/dist/git-cli/providers/tags.js +190 -0
  636. package/dist/git-cli/providers/tags.js.map +1 -0
  637. package/dist/git-cli/providers/worktrees.d.ts +33 -0
  638. package/dist/git-cli/providers/worktrees.d.ts.map +1 -0
  639. package/dist/git-cli/providers/worktrees.js +175 -0
  640. package/dist/git-cli/providers/worktrees.js.map +1 -0
  641. package/dist/git-cli/service.d.ts +52 -0
  642. package/dist/git-cli/service.d.ts.map +1 -0
  643. package/dist/git-cli/service.js +35 -0
  644. package/dist/git-cli/service.js.map +1 -0
  645. package/dist/plus/ai/constants.d.ts +21 -0
  646. package/dist/plus/ai/constants.d.ts.map +1 -0
  647. package/dist/plus/ai/constants.js +99 -0
  648. package/dist/plus/ai/constants.js.map +1 -0
  649. package/dist/plus/ai/errors.d.ts +25 -0
  650. package/dist/plus/ai/errors.d.ts.map +1 -0
  651. package/dist/plus/ai/errors.js +76 -0
  652. package/dist/plus/ai/errors.js.map +1 -0
  653. package/dist/plus/ai/models/conversation.d.ts +12 -0
  654. package/dist/plus/ai/models/conversation.d.ts.map +1 -0
  655. package/dist/plus/ai/models/conversation.js +27 -0
  656. package/dist/plus/ai/models/conversation.js.map +1 -0
  657. package/dist/plus/ai/models/model.d.ts +34 -0
  658. package/dist/plus/ai/models/model.d.ts.map +1 -0
  659. package/dist/plus/ai/models/model.js +379 -0
  660. package/dist/plus/ai/models/model.js.map +1 -0
  661. package/dist/plus/ai/models/promptTemplates.d.ts +74 -0
  662. package/dist/plus/ai/models/promptTemplates.d.ts.map +1 -0
  663. package/dist/plus/ai/models/promptTemplates.js +2 -0
  664. package/dist/plus/ai/models/promptTemplates.js.map +1 -0
  665. package/dist/plus/ai/models/provider.d.ts +46 -0
  666. package/dist/plus/ai/models/provider.d.ts.map +1 -0
  667. package/dist/plus/ai/models/provider.js +2 -0
  668. package/dist/plus/ai/models/provider.js.map +1 -0
  669. package/dist/plus/ai/models/results.d.ts +5 -0
  670. package/dist/plus/ai/models/results.d.ts.map +1 -0
  671. package/dist/plus/ai/models/results.js +2 -0
  672. package/dist/plus/ai/models/results.js.map +1 -0
  673. package/dist/plus/ai/prompts.d.ts +13 -0
  674. package/dist/plus/ai/prompts.d.ts.map +1 -0
  675. package/dist/plus/ai/prompts.js +517 -0
  676. package/dist/plus/ai/prompts.js.map +1 -0
  677. package/dist/plus/ai/providers/anthropicProvider.d.ts +21 -0
  678. package/dist/plus/ai/providers/anthropicProvider.d.ts.map +1 -0
  679. package/dist/plus/ai/providers/anthropicProvider.js +257 -0
  680. package/dist/plus/ai/providers/anthropicProvider.js.map +1 -0
  681. package/dist/plus/ai/providers/azureProvider.d.ts +18 -0
  682. package/dist/plus/ai/providers/azureProvider.d.ts.map +1 -0
  683. package/dist/plus/ai/providers/azureProvider.js +54 -0
  684. package/dist/plus/ai/providers/azureProvider.js.map +1 -0
  685. package/dist/plus/ai/providers/context.d.ts +23 -0
  686. package/dist/plus/ai/providers/context.d.ts.map +1 -0
  687. package/dist/plus/ai/providers/context.js +2 -0
  688. package/dist/plus/ai/providers/context.js.map +1 -0
  689. package/dist/plus/ai/providers/deepSeekProvider.d.ts +15 -0
  690. package/dist/plus/ai/providers/deepSeekProvider.d.ts.map +1 -0
  691. package/dist/plus/ai/providers/deepSeekProvider.js +35 -0
  692. package/dist/plus/ai/providers/deepSeekProvider.js.map +1 -0
  693. package/dist/plus/ai/providers/geminiProvider.d.ts +15 -0
  694. package/dist/plus/ai/providers/geminiProvider.d.ts.map +1 -0
  695. package/dist/plus/ai/providers/geminiProvider.js +195 -0
  696. package/dist/plus/ai/providers/geminiProvider.js.map +1 -0
  697. package/dist/plus/ai/providers/githubModelsProvider.d.ts +19 -0
  698. package/dist/plus/ai/providers/githubModelsProvider.d.ts.map +1 -0
  699. package/dist/plus/ai/providers/githubModelsProvider.js +51 -0
  700. package/dist/plus/ai/providers/githubModelsProvider.js.map +1 -0
  701. package/dist/plus/ai/providers/gitkrakenProvider.d.ts +18 -0
  702. package/dist/plus/ai/providers/gitkrakenProvider.d.ts.map +1 -0
  703. package/dist/plus/ai/providers/gitkrakenProvider.js +151 -0
  704. package/dist/plus/ai/providers/gitkrakenProvider.js.map +1 -0
  705. package/dist/plus/ai/providers/huggingFaceProvider.d.ts +15 -0
  706. package/dist/plus/ai/providers/huggingFaceProvider.d.ts.map +1 -0
  707. package/dist/plus/ai/providers/huggingFaceProvider.js +39 -0
  708. package/dist/plus/ai/providers/huggingFaceProvider.js.map +1 -0
  709. package/dist/plus/ai/providers/mistralProvider.d.ts +20 -0
  710. package/dist/plus/ai/providers/mistralProvider.d.ts.map +1 -0
  711. package/dist/plus/ai/providers/mistralProvider.js +118 -0
  712. package/dist/plus/ai/providers/mistralProvider.js.map +1 -0
  713. package/dist/plus/ai/providers/ollamaProvider.d.ts +25 -0
  714. package/dist/plus/ai/providers/ollamaProvider.d.ts.map +1 -0
  715. package/dist/plus/ai/providers/ollamaProvider.js +155 -0
  716. package/dist/plus/ai/providers/ollamaProvider.js.map +1 -0
  717. package/dist/plus/ai/providers/openAICompatibleProvider.d.ts +17 -0
  718. package/dist/plus/ai/providers/openAICompatibleProvider.d.ts.map +1 -0
  719. package/dist/plus/ai/providers/openAICompatibleProvider.js +47 -0
  720. package/dist/plus/ai/providers/openAICompatibleProvider.js.map +1 -0
  721. package/dist/plus/ai/providers/openAICompatibleProviderBase.d.ts +39 -0
  722. package/dist/plus/ai/providers/openAICompatibleProviderBase.d.ts.map +1 -0
  723. package/dist/plus/ai/providers/openAICompatibleProviderBase.js +218 -0
  724. package/dist/plus/ai/providers/openAICompatibleProviderBase.js.map +1 -0
  725. package/dist/plus/ai/providers/openRouterProvider.d.ts +17 -0
  726. package/dist/plus/ai/providers/openRouterProvider.d.ts.map +1 -0
  727. package/dist/plus/ai/providers/openRouterProvider.js +57 -0
  728. package/dist/plus/ai/providers/openRouterProvider.js.map +1 -0
  729. package/dist/plus/ai/providers/openaiProvider.d.ts +16 -0
  730. package/dist/plus/ai/providers/openaiProvider.d.ts.map +1 -0
  731. package/dist/plus/ai/providers/openaiProvider.js +34 -0
  732. package/dist/plus/ai/providers/openaiProvider.js.map +1 -0
  733. package/dist/plus/ai/providers/xaiProvider.d.ts +15 -0
  734. package/dist/plus/ai/providers/xaiProvider.d.ts.map +1 -0
  735. package/dist/plus/ai/providers/xaiProvider.js +27 -0
  736. package/dist/plus/ai/providers/xaiProvider.js.map +1 -0
  737. package/dist/plus/ai/utils/ai.utils.d.ts +18 -0
  738. package/dist/plus/ai/utils/ai.utils.d.ts.map +1 -0
  739. package/dist/plus/ai/utils/ai.utils.js +70 -0
  740. package/dist/plus/ai/utils/ai.utils.js.map +1 -0
  741. package/dist/plus/ai/utils/results.utils.d.ts +9 -0
  742. package/dist/plus/ai/utils/results.utils.d.ts.map +1 -0
  743. package/dist/plus/ai/utils/results.utils.js +44 -0
  744. package/dist/plus/ai/utils/results.utils.js.map +1 -0
  745. package/dist/plus/ai/utils/truncation.utils.d.ts +13 -0
  746. package/dist/plus/ai/utils/truncation.utils.d.ts.map +1 -0
  747. package/dist/plus/ai/utils/truncation.utils.js +228 -0
  748. package/dist/plus/ai/utils/truncation.utils.js.map +1 -0
  749. package/dist/plus/git-github/api/config.d.ts +66 -0
  750. package/dist/plus/git-github/api/config.d.ts.map +1 -0
  751. package/dist/plus/git-github/api/config.js +2 -0
  752. package/dist/plus/git-github/api/config.js.map +1 -0
  753. package/dist/plus/git-github/api/github.d.ts +178 -0
  754. package/dist/plus/git-github/api/github.d.ts.map +1 -0
  755. package/dist/plus/git-github/api/github.js +2360 -0
  756. package/dist/plus/git-github/api/github.js.map +1 -0
  757. package/dist/plus/git-github/api/github.utils.d.ts +9 -0
  758. package/dist/plus/git-github/api/github.utils.d.ts.map +1 -0
  759. package/dist/plus/git-github/api/github.utils.js +22 -0
  760. package/dist/plus/git-github/api/github.utils.js.map +1 -0
  761. package/dist/plus/git-github/api/token.d.ts +16 -0
  762. package/dist/plus/git-github/api/token.d.ts.map +1 -0
  763. package/dist/plus/git-github/api/token.js +2 -0
  764. package/dist/plus/git-github/api/token.js.map +1 -0
  765. package/dist/plus/git-github/api/tokenUtils.d.ts +7 -0
  766. package/dist/plus/git-github/api/tokenUtils.d.ts.map +1 -0
  767. package/dist/plus/git-github/api/tokenUtils.js +13 -0
  768. package/dist/plus/git-github/api/tokenUtils.js.map +1 -0
  769. package/dist/plus/git-github/api/types.d.ts +100 -0
  770. package/dist/plus/git-github/api/types.d.ts.map +1 -0
  771. package/dist/plus/git-github/api/types.js +2 -0
  772. package/dist/plus/git-github/api/types.js.map +1 -0
  773. package/dist/plus/git-github/context.d.ts +102 -0
  774. package/dist/plus/git-github/context.d.ts.map +1 -0
  775. package/dist/plus/git-github/context.js +12 -0
  776. package/dist/plus/git-github/context.js.map +1 -0
  777. package/dist/plus/git-github/models.d.ts +204 -0
  778. package/dist/plus/git-github/models.d.ts.map +1 -0
  779. package/dist/plus/git-github/models.js +229 -0
  780. package/dist/plus/git-github/models.js.map +1 -0
  781. package/dist/plus/git-github/providers/github/blame.d.ts +34 -0
  782. package/dist/plus/git-github/providers/github/blame.d.ts.map +1 -0
  783. package/dist/plus/git-github/providers/github/blame.js +155 -0
  784. package/dist/plus/git-github/providers/github/blame.js.map +1 -0
  785. package/dist/plus/git-github/providers/github/branches.d.ts +38 -0
  786. package/dist/plus/git-github/providers/github/branches.d.ts.map +1 -0
  787. package/dist/plus/git-github/providers/github/branches.js +234 -0
  788. package/dist/plus/git-github/providers/github/branches.js.map +1 -0
  789. package/dist/plus/git-github/providers/github/commits.d.ts +36 -0
  790. package/dist/plus/git-github/providers/github/commits.d.ts.map +1 -0
  791. package/dist/plus/git-github/providers/github/commits.js +560 -0
  792. package/dist/plus/git-github/providers/github/commits.js.map +1 -0
  793. package/dist/plus/git-github/providers/github/config.d.ts +11 -0
  794. package/dist/plus/git-github/providers/github/config.d.ts.map +1 -0
  795. package/dist/plus/git-github/providers/github/config.js +47 -0
  796. package/dist/plus/git-github/providers/github/config.js.map +1 -0
  797. package/dist/plus/git-github/providers/github/contributors.d.ts +27 -0
  798. package/dist/plus/git-github/providers/github/contributors.d.ts.map +1 -0
  799. package/dist/plus/git-github/providers/github/contributors.js +218 -0
  800. package/dist/plus/git-github/providers/github/contributors.js.map +1 -0
  801. package/dist/plus/git-github/providers/github/diff.d.ts +33 -0
  802. package/dist/plus/git-github/providers/github/diff.d.ts.map +1 -0
  803. package/dist/plus/git-github/providers/github/diff.js +184 -0
  804. package/dist/plus/git-github/providers/github/diff.js.map +1 -0
  805. package/dist/plus/git-github/providers/github/graph.d.ts +25 -0
  806. package/dist/plus/git-github/providers/github/graph.d.ts.map +1 -0
  807. package/dist/plus/git-github/providers/github/graph.js +372 -0
  808. package/dist/plus/git-github/providers/github/graph.js.map +1 -0
  809. package/dist/plus/git-github/providers/github/refs.d.ts +26 -0
  810. package/dist/plus/git-github/providers/github/refs.d.ts.map +1 -0
  811. package/dist/plus/git-github/providers/github/refs.js +108 -0
  812. package/dist/plus/git-github/providers/github/refs.js.map +1 -0
  813. package/dist/plus/git-github/providers/github/remotes.d.ts +9 -0
  814. package/dist/plus/git-github/providers/github/remotes.d.ts.map +1 -0
  815. package/dist/plus/git-github/providers/github/remotes.js +37 -0
  816. package/dist/plus/git-github/providers/github/remotes.js.map +1 -0
  817. package/dist/plus/git-github/providers/github/revision.d.ts +14 -0
  818. package/dist/plus/git-github/providers/github/revision.d.ts.map +1 -0
  819. package/dist/plus/git-github/providers/github/revision.js +132 -0
  820. package/dist/plus/git-github/providers/github/revision.js.map +1 -0
  821. package/dist/plus/git-github/providers/github/status.d.ts +21 -0
  822. package/dist/plus/git-github/providers/github/status.d.ts.map +1 -0
  823. package/dist/plus/git-github/providers/github/status.js +49 -0
  824. package/dist/plus/git-github/providers/github/status.js.map +1 -0
  825. package/dist/plus/git-github/providers/github/tags.d.ts +22 -0
  826. package/dist/plus/git-github/providers/github/tags.d.ts.map +1 -0
  827. package/dist/plus/git-github/providers/github/tags.js +104 -0
  828. package/dist/plus/git-github/providers/github/tags.js.map +1 -0
  829. package/dist/plus/git-github/providers/githubGitProvider.d.ts +85 -0
  830. package/dist/plus/git-github/providers/githubGitProvider.d.ts.map +1 -0
  831. package/dist/plus/git-github/providers/githubGitProvider.js +130 -0
  832. package/dist/plus/git-github/providers/githubGitProvider.js.map +1 -0
  833. package/dist/plus/git-github/providers/githubProvider.d.ts +55 -0
  834. package/dist/plus/git-github/providers/githubProvider.d.ts.map +1 -0
  835. package/dist/plus/git-github/providers/githubProvider.js +2 -0
  836. package/dist/plus/git-github/providers/githubProvider.js.map +1 -0
  837. package/dist/utils/array.d.ts +27 -0
  838. package/dist/utils/array.d.ts.map +1 -0
  839. package/dist/utils/array.js +142 -0
  840. package/dist/utils/array.js.map +1 -0
  841. package/dist/utils/base64.d.ts +2 -0
  842. package/dist/utils/base64.d.ts.map +1 -0
  843. package/dist/utils/base64.js +2 -0
  844. package/dist/utils/base64.js.map +1 -0
  845. package/dist/utils/brand.d.ts +11 -0
  846. package/dist/utils/brand.d.ts.map +1 -0
  847. package/dist/utils/brand.js +2 -0
  848. package/dist/utils/brand.js.map +1 -0
  849. package/dist/utils/cancellation.d.ts +54 -0
  850. package/dist/utils/cancellation.d.ts.map +1 -0
  851. package/dist/utils/cancellation.js +133 -0
  852. package/dist/utils/cancellation.js.map +1 -0
  853. package/dist/utils/charCode.d.ts +39 -0
  854. package/dist/utils/charCode.d.ts.map +1 -0
  855. package/dist/utils/charCode.js +39 -0
  856. package/dist/utils/charCode.js.map +1 -0
  857. package/dist/utils/color.d.ts +177 -0
  858. package/dist/utils/color.d.ts.map +1 -0
  859. package/dist/utils/color.js +693 -0
  860. package/dist/utils/color.js.map +1 -0
  861. package/dist/utils/counter.d.ts +7 -0
  862. package/dist/utils/counter.d.ts.map +1 -0
  863. package/dist/utils/counter.js +19 -0
  864. package/dist/utils/counter.js.map +1 -0
  865. package/dist/utils/crypto.d.ts +2 -0
  866. package/dist/utils/crypto.d.ts.map +1 -0
  867. package/dist/utils/crypto.js +2 -0
  868. package/dist/utils/crypto.js.map +1 -0
  869. package/dist/utils/date.d.ts +20 -0
  870. package/dist/utils/date.d.ts.map +1 -0
  871. package/dist/utils/date.js +313 -0
  872. package/dist/utils/date.js.map +1 -0
  873. package/dist/utils/debounce.d.ts +108 -0
  874. package/dist/utils/debounce.d.ts.map +1 -0
  875. package/dist/utils/debounce.js +209 -0
  876. package/dist/utils/debounce.js.map +1 -0
  877. package/dist/utils/decorators/debounce.d.ts +3 -0
  878. package/dist/utils/decorators/debounce.d.ts.map +1 -0
  879. package/dist/utils/decorators/debounce.js +21 -0
  880. package/dist/utils/decorators/debounce.js.map +1 -0
  881. package/dist/utils/decorators/gate.d.ts +15 -0
  882. package/dist/utils/decorators/gate.d.ts.map +1 -0
  883. package/dist/utils/decorators/gate.js +129 -0
  884. package/dist/utils/decorators/gate.js.map +1 -0
  885. package/dist/utils/decorators/log.d.ts +46 -0
  886. package/dist/utils/decorators/log.d.ts.map +1 -0
  887. package/dist/utils/decorators/log.js +238 -0
  888. package/dist/utils/decorators/log.js.map +1 -0
  889. package/dist/utils/decorators/memoize.d.ts +17 -0
  890. package/dist/utils/decorators/memoize.d.ts.map +1 -0
  891. package/dist/utils/decorators/memoize.js +63 -0
  892. package/dist/utils/decorators/memoize.js.map +1 -0
  893. package/dist/utils/decorators/resolver.d.ts +12 -0
  894. package/dist/utils/decorators/resolver.d.ts.map +1 -0
  895. package/dist/utils/decorators/resolver.js +85 -0
  896. package/dist/utils/decorators/resolver.js.map +1 -0
  897. package/dist/utils/decorators/sequentialize.d.ts +29 -0
  898. package/dist/utils/decorators/sequentialize.d.ts.map +1 -0
  899. package/dist/utils/decorators/sequentialize.js +81 -0
  900. package/dist/utils/decorators/sequentialize.js.map +1 -0
  901. package/dist/utils/decorators/serializable.d.ts +13 -0
  902. package/dist/utils/decorators/serializable.d.ts.map +1 -0
  903. package/dist/utils/decorators/serializable.js +42 -0
  904. package/dist/utils/decorators/serializable.js.map +1 -0
  905. package/dist/utils/disposable.d.ts +40 -0
  906. package/dist/utils/disposable.d.ts.map +1 -0
  907. package/dist/utils/disposable.js +87 -0
  908. package/dist/utils/disposable.js.map +1 -0
  909. package/dist/utils/encoding.d.ts +3 -0
  910. package/dist/utils/encoding.d.ts.map +1 -0
  911. package/dist/utils/encoding.js +7 -0
  912. package/dist/utils/encoding.js.map +1 -0
  913. package/dist/utils/env/browser/base64.d.ts +9 -0
  914. package/dist/utils/env/browser/base64.d.ts.map +1 -0
  915. package/dist/utils/env/browser/base64.js +42 -0
  916. package/dist/utils/env/browser/base64.js.map +1 -0
  917. package/dist/utils/env/browser/crypto.d.ts +5 -0
  918. package/dist/utils/env/browser/crypto.d.ts.map +1 -0
  919. package/dist/utils/env/browser/crypto.js +18 -0
  920. package/dist/utils/env/browser/crypto.js.map +1 -0
  921. package/dist/utils/env/browser/fs.d.ts +2 -0
  922. package/dist/utils/env/browser/fs.d.ts.map +1 -0
  923. package/dist/utils/env/browser/fs.js +4 -0
  924. package/dist/utils/env/browser/fs.js.map +1 -0
  925. package/dist/utils/env/browser/hex.d.ts +4 -0
  926. package/dist/utils/env/browser/hex.d.ts.map +1 -0
  927. package/dist/utils/env/browser/hex.js +38 -0
  928. package/dist/utils/env/browser/hex.js.map +1 -0
  929. package/dist/utils/env/browser/hrtime.d.ts +2 -0
  930. package/dist/utils/env/browser/hrtime.d.ts.map +1 -0
  931. package/dist/utils/env/browser/hrtime.js +15 -0
  932. package/dist/utils/env/browser/hrtime.js.map +1 -0
  933. package/dist/utils/env/browser/logScope.d.ts +25 -0
  934. package/dist/utils/env/browser/logScope.d.ts.map +1 -0
  935. package/dist/utils/env/browser/logScope.js +53 -0
  936. package/dist/utils/env/browser/logScope.js.map +1 -0
  937. package/dist/utils/env/browser/md5.d.ts +2 -0
  938. package/dist/utils/env/browser/md5.d.ts.map +1 -0
  939. package/dist/utils/env/browser/md5.js +199 -0
  940. package/dist/utils/env/browser/md5.js.map +1 -0
  941. package/dist/utils/env/browser/platform.d.ts +4 -0
  942. package/dist/utils/env/browser/platform.d.ts.map +1 -0
  943. package/dist/utils/env/browser/platform.js +6 -0
  944. package/dist/utils/env/browser/platform.js.map +1 -0
  945. package/dist/utils/env/node/base64.d.ts +9 -0
  946. package/dist/utils/env/node/base64.d.ts.map +1 -0
  947. package/dist/utils/env/node/base64.js +14 -0
  948. package/dist/utils/env/node/base64.js.map +1 -0
  949. package/dist/utils/env/node/crypto.d.ts +5 -0
  950. package/dist/utils/env/node/crypto.d.ts.map +1 -0
  951. package/dist/utils/env/node/crypto.js +14 -0
  952. package/dist/utils/env/node/crypto.js.map +1 -0
  953. package/dist/utils/env/node/exec.d.ts +89 -0
  954. package/dist/utils/env/node/exec.d.ts.map +1 -0
  955. package/dist/utils/env/node/exec.js +277 -0
  956. package/dist/utils/env/node/exec.js.map +1 -0
  957. package/dist/utils/env/node/fs.d.ts +2 -0
  958. package/dist/utils/env/node/fs.d.ts.map +1 -0
  959. package/dist/utils/env/node/fs.js +5 -0
  960. package/dist/utils/env/node/fs.js.map +1 -0
  961. package/dist/utils/env/node/hex.d.ts +4 -0
  962. package/dist/utils/env/node/hex.d.ts.map +1 -0
  963. package/dist/utils/env/node/hex.js +10 -0
  964. package/dist/utils/env/node/hex.js.map +1 -0
  965. package/dist/utils/env/node/hrtime.d.ts +2 -0
  966. package/dist/utils/env/node/hrtime.d.ts.map +1 -0
  967. package/dist/utils/env/node/hrtime.js +2 -0
  968. package/dist/utils/env/node/hrtime.js.map +1 -0
  969. package/dist/utils/env/node/logScope.d.ts +34 -0
  970. package/dist/utils/env/node/logScope.d.ts.map +1 -0
  971. package/dist/utils/env/node/logScope.js +52 -0
  972. package/dist/utils/env/node/logScope.js.map +1 -0
  973. package/dist/utils/env/node/platform.d.ts +4 -0
  974. package/dist/utils/env/node/platform.d.ts.map +1 -0
  975. package/dist/utils/env/node/platform.js +5 -0
  976. package/dist/utils/env/node/platform.js.map +1 -0
  977. package/dist/utils/error.d.ts +18 -0
  978. package/dist/utils/error.d.ts.map +1 -0
  979. package/dist/utils/error.js +19 -0
  980. package/dist/utils/error.js.map +1 -0
  981. package/dist/utils/event.d.ts +59 -0
  982. package/dist/utils/event.d.ts.map +1 -0
  983. package/dist/utils/event.js +183 -0
  984. package/dist/utils/event.js.map +1 -0
  985. package/dist/utils/formatter.d.ts +21 -0
  986. package/dist/utils/formatter.d.ts.map +1 -0
  987. package/dist/utils/formatter.js +139 -0
  988. package/dist/utils/formatter.js.map +1 -0
  989. package/dist/utils/fs.d.ts +2 -0
  990. package/dist/utils/fs.d.ts.map +1 -0
  991. package/dist/utils/fs.js +2 -0
  992. package/dist/utils/fs.js.map +1 -0
  993. package/dist/utils/function.d.ts +24 -0
  994. package/dist/utils/function.d.ts.map +1 -0
  995. package/dist/utils/function.js +103 -0
  996. package/dist/utils/function.js.map +1 -0
  997. package/dist/utils/fuzzy.d.ts +68 -0
  998. package/dist/utils/fuzzy.d.ts.map +1 -0
  999. package/dist/utils/fuzzy.js +134 -0
  1000. package/dist/utils/fuzzy.js.map +1 -0
  1001. package/dist/utils/hash.d.ts +32 -0
  1002. package/dist/utils/hash.d.ts.map +1 -0
  1003. package/dist/utils/hash.js +53 -0
  1004. package/dist/utils/hash.js.map +1 -0
  1005. package/dist/utils/hex.d.ts +2 -0
  1006. package/dist/utils/hex.d.ts.map +1 -0
  1007. package/dist/utils/hex.js +2 -0
  1008. package/dist/utils/hex.js.map +1 -0
  1009. package/dist/utils/hrtime.d.ts +4 -0
  1010. package/dist/utils/hrtime.d.ts.map +1 -0
  1011. package/dist/utils/hrtime.js +7 -0
  1012. package/dist/utils/hrtime.js.map +1 -0
  1013. package/dist/utils/iterable.d.ts +65 -0
  1014. package/dist/utils/iterable.d.ts.map +1 -0
  1015. package/dist/utils/iterable.js +635 -0
  1016. package/dist/utils/iterable.js.map +1 -0
  1017. package/dist/utils/lazy.d.ts +18 -0
  1018. package/dist/utils/lazy.d.ts.map +1 -0
  1019. package/dist/utils/lazy.js +40 -0
  1020. package/dist/utils/lazy.js.map +1 -0
  1021. package/dist/utils/loggable.d.ts +5 -0
  1022. package/dist/utils/loggable.d.ts.map +1 -0
  1023. package/dist/utils/loggable.js +4 -0
  1024. package/dist/utils/loggable.js.map +1 -0
  1025. package/dist/utils/logger.d.ts +63 -0
  1026. package/dist/utils/logger.d.ts.map +1 -0
  1027. package/dist/utils/logger.js +316 -0
  1028. package/dist/utils/logger.js.map +1 -0
  1029. package/dist/utils/logger.scoped.d.ts +56 -0
  1030. package/dist/utils/logger.scoped.d.ts.map +1 -0
  1031. package/dist/utils/logger.scoped.js +166 -0
  1032. package/dist/utils/logger.scoped.js.map +1 -0
  1033. package/dist/utils/markdown.d.ts +9 -0
  1034. package/dist/utils/markdown.d.ts.map +1 -0
  1035. package/dist/utils/markdown.js +100 -0
  1036. package/dist/utils/markdown.js.map +1 -0
  1037. package/dist/utils/mru.d.ts +14 -0
  1038. package/dist/utils/mru.d.ts.map +1 -0
  1039. package/dist/utils/mru.js +63 -0
  1040. package/dist/utils/mru.js.map +1 -0
  1041. package/dist/utils/object.d.ts +62 -0
  1042. package/dist/utils/object.d.ts.map +1 -0
  1043. package/dist/utils/object.js +151 -0
  1044. package/dist/utils/object.js.map +1 -0
  1045. package/dist/utils/paging.d.ts +19 -0
  1046. package/dist/utils/paging.d.ts.map +1 -0
  1047. package/dist/utils/paging.js +32 -0
  1048. package/dist/utils/paging.js.map +1 -0
  1049. package/dist/utils/path.d.ts +17 -0
  1050. package/dist/utils/path.d.ts.map +1 -0
  1051. package/dist/utils/path.js +156 -0
  1052. package/dist/utils/path.js.map +1 -0
  1053. package/dist/utils/platform.d.ts +2 -0
  1054. package/dist/utils/platform.d.ts.map +1 -0
  1055. package/dist/utils/platform.js +2 -0
  1056. package/dist/utils/platform.js.map +1 -0
  1057. package/dist/utils/promise.d.ts +61 -0
  1058. package/dist/utils/promise.d.ts.map +1 -0
  1059. package/dist/utils/promise.js +337 -0
  1060. package/dist/utils/promise.js.map +1 -0
  1061. package/dist/utils/promiseCache.d.ts +337 -0
  1062. package/dist/utils/promiseCache.d.ts.map +1 -0
  1063. package/dist/utils/promiseCache.js +634 -0
  1064. package/dist/utils/promiseCache.js.map +1 -0
  1065. package/dist/utils/searchTree.d.ts +58 -0
  1066. package/dist/utils/searchTree.d.ts.map +1 -0
  1067. package/dist/utils/searchTree.js +394 -0
  1068. package/dist/utils/searchTree.js.map +1 -0
  1069. package/dist/utils/stopwatch.d.ts +41 -0
  1070. package/dist/utils/stopwatch.d.ts.map +1 -0
  1071. package/dist/utils/stopwatch.js +83 -0
  1072. package/dist/utils/stopwatch.js.map +1 -0
  1073. package/dist/utils/string.d.ts +91 -0
  1074. package/dist/utils/string.d.ts.map +1 -0
  1075. package/dist/utils/string.js +803 -0
  1076. package/dist/utils/string.js.map +1 -0
  1077. package/dist/utils/subscriptionManager.d.ts +18 -0
  1078. package/dist/utils/subscriptionManager.d.ts.map +1 -0
  1079. package/dist/utils/subscriptionManager.js +34 -0
  1080. package/dist/utils/subscriptionManager.js.map +1 -0
  1081. package/dist/utils/trie.d.ts +76 -0
  1082. package/dist/utils/trie.d.ts.map +1 -0
  1083. package/dist/utils/trie.js +584 -0
  1084. package/dist/utils/trie.js.map +1 -0
  1085. package/dist/utils/types.d.ts +21 -0
  1086. package/dist/utils/types.d.ts.map +1 -0
  1087. package/dist/utils/types.js +2 -0
  1088. package/dist/utils/types.js.map +1 -0
  1089. package/dist/utils/uri.d.ts +69 -0
  1090. package/dist/utils/uri.d.ts.map +1 -0
  1091. package/dist/utils/uri.js +66 -0
  1092. package/dist/utils/uri.js.map +1 -0
  1093. package/dist/utils/validation.d.ts +14 -0
  1094. package/dist/utils/validation.d.ts.map +1 -0
  1095. package/dist/utils/validation.js +26 -0
  1096. package/dist/utils/validation.js.map +1 -0
  1097. package/dist/utils/version.d.ts +15 -0
  1098. package/dist/utils/version.d.ts.map +1 -0
  1099. package/dist/utils/version.js +66 -0
  1100. package/dist/utils/version.js.map +1 -0
  1101. package/package.json +161 -0
  1102. package/src/git/cache.ts +1152 -0
  1103. package/src/git/context.ts +248 -0
  1104. package/src/git/errors.ts +1121 -0
  1105. package/src/git/exec.types.ts +78 -0
  1106. package/src/git/features.ts +45 -0
  1107. package/src/git/models/author.ts +19 -0
  1108. package/src/git/models/autolink.ts +59 -0
  1109. package/src/git/models/blame.ts +46 -0
  1110. package/src/git/models/branch.ts +236 -0
  1111. package/src/git/models/commit.ts +688 -0
  1112. package/src/git/models/contributor.ts +84 -0
  1113. package/src/git/models/defaultBranch.ts +6 -0
  1114. package/src/git/models/diff.ts +74 -0
  1115. package/src/git/models/file.ts +29 -0
  1116. package/src/git/models/fileChange.ts +82 -0
  1117. package/src/git/models/fileStatus.ts +35 -0
  1118. package/src/git/models/graph.ts +184 -0
  1119. package/src/git/models/graphSearch.ts +53 -0
  1120. package/src/git/models/issue.ts +88 -0
  1121. package/src/git/models/issueOrPullRequest.ts +20 -0
  1122. package/src/git/models/lineRange.ts +7 -0
  1123. package/src/git/models/log.ts +21 -0
  1124. package/src/git/models/mergeConflicts.ts +18 -0
  1125. package/src/git/models/patch.ts +25 -0
  1126. package/src/git/models/pausedOperationStatus.ts +63 -0
  1127. package/src/git/models/pullRequest.ts +161 -0
  1128. package/src/git/models/rebase.ts +60 -0
  1129. package/src/git/models/reference.ts +47 -0
  1130. package/src/git/models/reflog.ts +88 -0
  1131. package/src/git/models/remote.ts +99 -0
  1132. package/src/git/models/remoteProvider.ts +290 -0
  1133. package/src/git/models/remoteResource.ts +87 -0
  1134. package/src/git/models/repository.ts +417 -0
  1135. package/src/git/models/repositoryChangeEvent.ts +30 -0
  1136. package/src/git/models/repositoryIdentities.ts +99 -0
  1137. package/src/git/models/repositoryMetadata.ts +12 -0
  1138. package/src/git/models/resourceDescriptor.ts +11 -0
  1139. package/src/git/models/revision.ts +12 -0
  1140. package/src/git/models/search.ts +123 -0
  1141. package/src/git/models/shortlog.ts +6 -0
  1142. package/src/git/models/signature.ts +29 -0
  1143. package/src/git/models/staging.ts +27 -0
  1144. package/src/git/models/stash.ts +6 -0
  1145. package/src/git/models/status.ts +246 -0
  1146. package/src/git/models/statusFile.ts +116 -0
  1147. package/src/git/models/tag.ts +71 -0
  1148. package/src/git/models/tree.ts +10 -0
  1149. package/src/git/models/user.ts +7 -0
  1150. package/src/git/models/worktree.ts +152 -0
  1151. package/src/git/parsers/diffParser.ts +660 -0
  1152. package/src/git/parsers/rebaseTodoParser.ts +169 -0
  1153. package/src/git/providers/blame.ts +40 -0
  1154. package/src/git/providers/branches.ts +111 -0
  1155. package/src/git/providers/commits.ts +147 -0
  1156. package/src/git/providers/config.ts +104 -0
  1157. package/src/git/providers/contributors.ts +34 -0
  1158. package/src/git/providers/diff.ts +127 -0
  1159. package/src/git/providers/graph.ts +30 -0
  1160. package/src/git/providers/operations.ts +82 -0
  1161. package/src/git/providers/patch.ts +31 -0
  1162. package/src/git/providers/pausedOperations.ts +10 -0
  1163. package/src/git/providers/provider.ts +62 -0
  1164. package/src/git/providers/refs.ts +39 -0
  1165. package/src/git/providers/remotes.ts +33 -0
  1166. package/src/git/providers/revision.ts +28 -0
  1167. package/src/git/providers/shared/remotes.ts +95 -0
  1168. package/src/git/providers/staging.ts +22 -0
  1169. package/src/git/providers/stash.ts +51 -0
  1170. package/src/git/providers/status.ts +42 -0
  1171. package/src/git/providers/tags.ts +28 -0
  1172. package/src/git/providers/types.ts +33 -0
  1173. package/src/git/providers/worktrees.ts +23 -0
  1174. package/src/git/remotes/azure-devops.ts +309 -0
  1175. package/src/git/remotes/bitbucket-server.ts +191 -0
  1176. package/src/git/remotes/bitbucket.ts +144 -0
  1177. package/src/git/remotes/custom.ts +139 -0
  1178. package/src/git/remotes/gerrit.ts +188 -0
  1179. package/src/git/remotes/gitea.ts +186 -0
  1180. package/src/git/remotes/github.ts +238 -0
  1181. package/src/git/remotes/gitlab.ts +272 -0
  1182. package/src/git/remotes/google-source.ts +51 -0
  1183. package/src/git/remotes/matcher.ts +215 -0
  1184. package/src/git/repositoryService.ts +179 -0
  1185. package/src/git/service.ts +365 -0
  1186. package/src/git/utils/autolink.utils.ts +201 -0
  1187. package/src/git/utils/blame.utils.ts +296 -0
  1188. package/src/git/utils/branch.utils.ts +154 -0
  1189. package/src/git/utils/commit.utils.ts +89 -0
  1190. package/src/git/utils/contributor.utils.ts +81 -0
  1191. package/src/git/utils/fetch.utils.ts +48 -0
  1192. package/src/git/utils/fileStatus.utils.ts +49 -0
  1193. package/src/git/utils/issue.utils.ts +81 -0
  1194. package/src/git/utils/issueOrPullRequest.utils.ts +23 -0
  1195. package/src/git/utils/mergeConflicts.utils.ts +21 -0
  1196. package/src/git/utils/pausedOperationStatus.utils.ts +156 -0
  1197. package/src/git/utils/pullRequest.utils.ts +149 -0
  1198. package/src/git/utils/rebase.utils.ts +128 -0
  1199. package/src/git/utils/reference.utils.ts +267 -0
  1200. package/src/git/utils/remote.utils.ts +140 -0
  1201. package/src/git/utils/repository.utils.ts +18 -0
  1202. package/src/git/utils/resourceDescriptor.utils.ts +26 -0
  1203. package/src/git/utils/revision.utils.ts +149 -0
  1204. package/src/git/utils/search.utils.ts +498 -0
  1205. package/src/git/utils/sorting.ts +291 -0
  1206. package/src/git/utils/status.utils.ts +114 -0
  1207. package/src/git/utils/statusFile.utils.ts +182 -0
  1208. package/src/git/utils/tag.utils.ts +17 -0
  1209. package/src/git/utils/tooltip.utils.ts +37 -0
  1210. package/src/git/utils/uriAuthority.ts +34 -0
  1211. package/src/git/utils/user.utils.ts +20 -0
  1212. package/src/git/utils/worktree.utils.ts +21 -0
  1213. package/src/git/watching/changeEvent.ts +90 -0
  1214. package/src/git/watching/classifyChange.ts +81 -0
  1215. package/src/git/watching/gitIgnoreFilter.ts +134 -0
  1216. package/src/git/watching/initWatcher.ts +79 -0
  1217. package/src/git/watching/provider.ts +24 -0
  1218. package/src/git/watching/watchGroup.ts +182 -0
  1219. package/src/git/watching/watchService.ts +350 -0
  1220. package/src/git/watching/watchSession.ts +370 -0
  1221. package/src/git/watching/watcherPatterns.ts +51 -0
  1222. package/src/git-cli/cliGitProvider.ts +436 -0
  1223. package/src/git-cli/exec/exec.errors.ts +1 -0
  1224. package/src/git-cli/exec/exec.ts +11 -0
  1225. package/src/git-cli/exec/exec.types.ts +8 -0
  1226. package/src/git-cli/exec/features.ts +2 -0
  1227. package/src/git-cli/exec/git.ts +1092 -0
  1228. package/src/git-cli/exec/gitQueue.ts +251 -0
  1229. package/src/git-cli/exec/locator.ts +157 -0
  1230. package/src/git-cli/parsers/blameParser.ts +373 -0
  1231. package/src/git-cli/parsers/indexParser.ts +192 -0
  1232. package/src/git-cli/parsers/logParser.ts +1275 -0
  1233. package/src/git-cli/parsers/mergeTreeParser.ts +22 -0
  1234. package/src/git-cli/parsers/refParser.ts +111 -0
  1235. package/src/git-cli/parsers/reflogParser.ts +153 -0
  1236. package/src/git-cli/parsers/remoteParser.ts +95 -0
  1237. package/src/git-cli/parsers/shortlogParser.ts +59 -0
  1238. package/src/git-cli/parsers/signatureParser.ts +162 -0
  1239. package/src/git-cli/parsers/statusParser.ts +209 -0
  1240. package/src/git-cli/parsers/treeParser.ts +61 -0
  1241. package/src/git-cli/parsers/worktreeParser.ts +113 -0
  1242. package/src/git-cli/providers/blame.ts +602 -0
  1243. package/src/git-cli/providers/branches.ts +1491 -0
  1244. package/src/git-cli/providers/commitFilesetUtils.ts +45 -0
  1245. package/src/git-cli/providers/commits.ts +1517 -0
  1246. package/src/git-cli/providers/config.ts +724 -0
  1247. package/src/git-cli/providers/contributors.ts +361 -0
  1248. package/src/git-cli/providers/diff.ts +1084 -0
  1249. package/src/git-cli/providers/graph.ts +799 -0
  1250. package/src/git-cli/providers/operations.ts +776 -0
  1251. package/src/git-cli/providers/patch.ts +326 -0
  1252. package/src/git-cli/providers/pausedOperations.ts +538 -0
  1253. package/src/git-cli/providers/refs.ts +193 -0
  1254. package/src/git-cli/providers/remotes.ts +115 -0
  1255. package/src/git-cli/providers/revision.ts +334 -0
  1256. package/src/git-cli/providers/staging.ts +160 -0
  1257. package/src/git-cli/providers/stash.ts +626 -0
  1258. package/src/git-cli/providers/status.ts +373 -0
  1259. package/src/git-cli/providers/tags.ts +188 -0
  1260. package/src/git-cli/providers/worktrees.ts +229 -0
  1261. package/src/git-cli/service.ts +74 -0
  1262. package/src/plus/ai/constants.ts +121 -0
  1263. package/src/plus/ai/errors.ts +82 -0
  1264. package/src/plus/ai/models/conversation.ts +35 -0
  1265. package/src/plus/ai/models/model.ts +425 -0
  1266. package/src/plus/ai/models/promptTemplates.ts +122 -0
  1267. package/src/plus/ai/models/provider.ts +52 -0
  1268. package/src/plus/ai/models/results.ts +1 -0
  1269. package/src/plus/ai/prompts.ts +528 -0
  1270. package/src/plus/ai/providers/anthropicProvider.ts +308 -0
  1271. package/src/plus/ai/providers/azureProvider.ts +74 -0
  1272. package/src/plus/ai/providers/context.ts +29 -0
  1273. package/src/plus/ai/providers/deepSeekProvider.ts +40 -0
  1274. package/src/plus/ai/providers/geminiProvider.ts +207 -0
  1275. package/src/plus/ai/providers/githubModelsProvider.ts +92 -0
  1276. package/src/plus/ai/providers/gitkrakenProvider.ts +218 -0
  1277. package/src/plus/ai/providers/huggingFaceProvider.ts +51 -0
  1278. package/src/plus/ai/providers/mistralProvider.ts +160 -0
  1279. package/src/plus/ai/providers/ollamaProvider.ts +241 -0
  1280. package/src/plus/ai/providers/openAICompatibleProvider.ts +59 -0
  1281. package/src/plus/ai/providers/openAICompatibleProviderBase.ts +279 -0
  1282. package/src/plus/ai/providers/openRouterProvider.ts +84 -0
  1283. package/src/plus/ai/providers/openaiProvider.ts +46 -0
  1284. package/src/plus/ai/providers/xaiProvider.ts +32 -0
  1285. package/src/plus/ai/utils/ai.utils.ts +79 -0
  1286. package/src/plus/ai/utils/results.utils.ts +50 -0
  1287. package/src/plus/ai/utils/truncation.utils.ts +295 -0
  1288. package/src/plus/git-github/api/config.ts +78 -0
  1289. package/src/plus/git-github/api/github.ts +3424 -0
  1290. package/src/plus/git-github/api/github.utils.ts +36 -0
  1291. package/src/plus/git-github/api/token.ts +15 -0
  1292. package/src/plus/git-github/api/tokenUtils.ts +15 -0
  1293. package/src/plus/git-github/api/types.ts +182 -0
  1294. package/src/plus/git-github/context.ts +107 -0
  1295. package/src/plus/git-github/models.ts +524 -0
  1296. package/src/plus/git-github/providers/github/blame.ts +222 -0
  1297. package/src/plus/git-github/providers/github/branches.ts +356 -0
  1298. package/src/plus/git-github/providers/github/commits.ts +858 -0
  1299. package/src/plus/git-github/providers/github/config.ts +47 -0
  1300. package/src/plus/git-github/providers/github/contributors.ts +313 -0
  1301. package/src/plus/git-github/providers/github/diff.ts +267 -0
  1302. package/src/plus/git-github/providers/github/graph.ts +511 -0
  1303. package/src/plus/git-github/providers/github/refs.ts +137 -0
  1304. package/src/plus/git-github/providers/github/remotes.ts +44 -0
  1305. package/src/plus/git-github/providers/github/revision.ts +141 -0
  1306. package/src/plus/git-github/providers/github/status.ts +63 -0
  1307. package/src/plus/git-github/providers/github/tags.ts +147 -0
  1308. package/src/plus/git-github/providers/githubGitProvider.ts +167 -0
  1309. package/src/plus/git-github/providers/githubProvider.ts +65 -0
  1310. package/src/utils/array.ts +194 -0
  1311. package/src/utils/base64.ts +1 -0
  1312. package/src/utils/brand.ts +9 -0
  1313. package/src/utils/cancellation.ts +150 -0
  1314. package/src/utils/charCode.ts +38 -0
  1315. package/src/utils/color.ts +815 -0
  1316. package/src/utils/counter.ts +21 -0
  1317. package/src/utils/crypto.ts +1 -0
  1318. package/src/utils/date.ts +394 -0
  1319. package/src/utils/debounce.ts +303 -0
  1320. package/src/utils/decorators/debounce.ts +31 -0
  1321. package/src/utils/decorators/gate.ts +167 -0
  1322. package/src/utils/decorators/log.ts +320 -0
  1323. package/src/utils/decorators/memoize.ts +98 -0
  1324. package/src/utils/decorators/resolver.ts +95 -0
  1325. package/src/utils/decorators/sequentialize.ts +116 -0
  1326. package/src/utils/decorators/serializable.ts +42 -0
  1327. package/src/utils/disposable.ts +141 -0
  1328. package/src/utils/encoding.ts +8 -0
  1329. package/src/utils/env/browser/base64.ts +50 -0
  1330. package/src/utils/env/browser/crypto.ts +21 -0
  1331. package/src/utils/env/browser/fs.ts +3 -0
  1332. package/src/utils/env/browser/hex.ts +41 -0
  1333. package/src/utils/env/browser/hrtime.ts +14 -0
  1334. package/src/utils/env/browser/logScope.ts +57 -0
  1335. package/src/utils/env/browser/md5.ts +217 -0
  1336. package/src/utils/env/browser/platform.ts +10 -0
  1337. package/src/utils/env/node/base64.ts +17 -0
  1338. package/src/utils/env/node/crypto.ts +17 -0
  1339. package/src/utils/env/node/exec.ts +471 -0
  1340. package/src/utils/env/node/fs.ts +5 -0
  1341. package/src/utils/env/node/hex.ts +11 -0
  1342. package/src/utils/env/node/hrtime.ts +1 -0
  1343. package/src/utils/env/node/logScope.ts +63 -0
  1344. package/src/utils/env/node/platform.ts +5 -0
  1345. package/src/utils/error.ts +17 -0
  1346. package/src/utils/event.ts +236 -0
  1347. package/src/utils/formatter.ts +205 -0
  1348. package/src/utils/fs.ts +1 -0
  1349. package/src/utils/function.ts +141 -0
  1350. package/src/utils/fuzzy.ts +185 -0
  1351. package/src/utils/hash.ts +60 -0
  1352. package/src/utils/hex.ts +1 -0
  1353. package/src/utils/hrtime.ts +8 -0
  1354. package/src/utils/iterable.ts +787 -0
  1355. package/src/utils/lazy.ts +39 -0
  1356. package/src/utils/loggable.ts +7 -0
  1357. package/src/utils/logger.scoped.ts +237 -0
  1358. package/src/utils/logger.ts +402 -0
  1359. package/src/utils/markdown.ts +114 -0
  1360. package/src/utils/mru.ts +66 -0
  1361. package/src/utils/object.ts +227 -0
  1362. package/src/utils/paging.ts +51 -0
  1363. package/src/utils/path.ts +189 -0
  1364. package/src/utils/platform.ts +1 -0
  1365. package/src/utils/promise.ts +590 -0
  1366. package/src/utils/promiseCache.ts +803 -0
  1367. package/src/utils/searchTree.ts +442 -0
  1368. package/src/utils/stopwatch.ts +125 -0
  1369. package/src/utils/string.ts +964 -0
  1370. package/src/utils/subscriptionManager.ts +40 -0
  1371. package/src/utils/trie.ts +739 -0
  1372. package/src/utils/types.ts +31 -0
  1373. package/src/utils/uri.ts +117 -0
  1374. package/src/utils/validation.ts +38 -0
  1375. package/src/utils/version.ts +79 -0
@@ -0,0 +1,803 @@
1
+ import { AbortAggregate, CancellationError, raceWithSignal } from './cancellation.js';
2
+
3
+ interface CacheEntry<V> {
4
+ promise: Promise<V>;
5
+ accessed: number;
6
+ created: number;
7
+
8
+ createTTL: number | undefined;
9
+ accessTTL: number | undefined;
10
+ }
11
+
12
+ export class CacheController {
13
+ #invalidated = false;
14
+ get invalidated(): boolean {
15
+ return this.#invalidated;
16
+ }
17
+
18
+ invalidate(): void {
19
+ this.#invalidated = true;
20
+ }
21
+ }
22
+
23
+ interface PromiseCacheOptions {
24
+ /** TTL (time-to-live) in milliseconds since creation */
25
+ createTTL?: number;
26
+ /** TTL (time-to-live) in milliseconds since last access */
27
+ accessTTL?: number;
28
+ /** Whether to expire the entry if the promise fails (default: true) */
29
+ expireOnError?: boolean;
30
+ /**
31
+ * TTL (time-to-live) in milliseconds for caching errors. When the factory rejects and `errorTTL` is set,
32
+ * the cache entry is replaced with `Promise.resolve(undefined)` for subsequent callers, and the error
33
+ * is re-thrown to the first caller. After `errorTTL` expires, the next call retries.
34
+ * Only used when `onError` is not provided. Mutually exclusive with `expireOnError`.
35
+ */
36
+ errorTTL?: number;
37
+ /** Maximum number of entries in the cache (LRU eviction when exceeded) */
38
+ capacity?: number;
39
+ }
40
+
41
+ export class PromiseCache<K, V> {
42
+ private readonly cache = new Map<K, CacheEntry<V>>();
43
+ private readonly aborts = new Map<K, AbortAggregate>();
44
+ private readonly controllers = new Map<K, CacheController>();
45
+ private readonly options: PromiseCacheOptions;
46
+
47
+ constructor(options?: PromiseCacheOptions) {
48
+ this.options = { expireOnError: true, ...options };
49
+ }
50
+
51
+ clear(): void {
52
+ for (const a of this.aborts.values()) {
53
+ a.dispose();
54
+ }
55
+ this.aborts.clear();
56
+ this.controllers.clear();
57
+ this.cache.clear();
58
+ }
59
+
60
+ delete(key: K): void {
61
+ this.aborts.get(key)?.dispose();
62
+ this.aborts.delete(key);
63
+ this.controllers.delete(key);
64
+ this.cache.delete(key);
65
+ }
66
+
67
+ /**
68
+ * Marks a cached entry as invalidated.
69
+ * - If the entry has a `CacheController` (created via `getOrCreate`), it is soft-invalidated:
70
+ * existing waiters complete normally, new callers joining during the remainder of the
71
+ * in-flight operation share the same promise, and the entry self-evicts on settle.
72
+ * - If the entry was set via plain `.set()` (no controller), it is hard-deleted — there is
73
+ * no in-flight factory to ride along with.
74
+ *
75
+ * No-op if the key is not cached.
76
+ */
77
+ invalidate(key: K): void {
78
+ if (this.controllers.has(key)) {
79
+ this.controllers.get(key)!.invalidate();
80
+ } else {
81
+ this.delete(key);
82
+ }
83
+ }
84
+
85
+ keys(): IterableIterator<K> {
86
+ return this.cache.keys();
87
+ }
88
+
89
+ /**
90
+ * Gets a promise from the cache without creating it and updates accessed time
91
+ * @param key - The cache key
92
+ * @returns The cached promise, or undefined if not cached or expired
93
+ */
94
+ get(key: K): Promise<V> | undefined {
95
+ const now = Date.now();
96
+ const entry = this.cache.get(key);
97
+ if (entry == null || this.expired(entry, now)) {
98
+ return undefined;
99
+ }
100
+ // Update accessed time
101
+ entry.accessed = now;
102
+ return entry.promise;
103
+ }
104
+
105
+ /**
106
+ * Gets a promise from the cache or creates a new one using the factory function.
107
+ *
108
+ * When `cancellation` is provided:
109
+ * - The factory receives an aggregate `AbortSignal` that only fires when **all** callers cancel
110
+ * - The returned promise rejects with `CancellationError` if this caller's signal fires
111
+ * - Other callers sharing the same cached promise are unaffected
112
+ *
113
+ * @param key - The cache key
114
+ * @param factory - Factory function to create the value if not cached
115
+ * @param cancellation - Optional per-caller AbortSignal
116
+ * @param options - Optional TTL and error handling options that override the defaults
117
+ */
118
+ async getOrCreate(
119
+ key: K,
120
+ factory: (cacheable: CacheController, cancellation?: AbortSignal) => Promise<V>,
121
+ options?: {
122
+ /** Per-caller AbortSignal — the factory receives an aggregate signal that only fires when all callers cancel */
123
+ cancellation?: AbortSignal;
124
+ /** TTL (time-to-live) in milliseconds since creation */
125
+ createTTL?: number;
126
+ /** TTL (time-to-live) in milliseconds since last access */
127
+ accessTTL?: number;
128
+ /** Whether to expire the entry if the promise fails */
129
+ expireOnError?: boolean;
130
+ /**
131
+ * TTL (time-to-live) in milliseconds for caching errors. When the factory rejects and `errorTTL` is set,
132
+ * the cache entry is replaced with `Promise.resolve(undefined)` for subsequent callers, and the error
133
+ * is re-thrown to the first caller. After `errorTTL` expires, the next call retries.
134
+ * Only used when `onError` is not provided.
135
+ */
136
+ errorTTL?: number;
137
+ /**
138
+ * Called when the factory promise rejects. Return a fallback result to cache
139
+ * instead of expiring. The fallback value is cached with the specified `createTTL`
140
+ * (defaults to the cache's `createTTL`). By default, the error is re-thrown to the
141
+ * first caller after caching the fallback. Set `suppress: true` to return the fallback
142
+ * value to the first caller instead. Return `undefined` to expire normally and re-throw.
143
+ */
144
+ onError?: (error: unknown) => { value: V; createTTL?: number; suppress?: boolean } | undefined;
145
+ },
146
+ ): Promise<V> {
147
+ const cancellation = options?.cancellation;
148
+ if (cancellation?.aborted) return Promise.reject(new CancellationError());
149
+
150
+ const now = Date.now();
151
+
152
+ options = { ...this.options, ...options };
153
+
154
+ let entry = this.cache.get(key);
155
+ if (entry != null && !this.expired(entry, now)) {
156
+ // Update accessed time
157
+ entry.accessed = now;
158
+
159
+ // Cache hit — register this caller on the existing aggregate
160
+ const existingAborts = this.aborts.get(key);
161
+ const cleanup = existingAborts != null ? existingAborts.add(cancellation) : undefined;
162
+ return this.attachCallerLifecycle(entry.promise, cancellation, cleanup);
163
+ }
164
+
165
+ const cacheable = new CacheController();
166
+ // Always create the aggregate so subsequent callers (with or without signals) can contribute,
167
+ // and so delete/invalidate has a controller to interact with
168
+ const abortAgg = new AbortAggregate();
169
+ const cleanup = abortAgg.add(cancellation);
170
+ this.aborts.set(key, abortAgg);
171
+ this.controllers.set(key, cacheable);
172
+
173
+ const promise = factory(cacheable, abortAgg.signal);
174
+ void promise.finally(() => {
175
+ if (cacheable.invalidated) {
176
+ this.cache.delete(key);
177
+ }
178
+ abortAgg.dispose();
179
+ this.aborts.delete(key);
180
+ this.controllers.delete(key);
181
+ });
182
+
183
+ if (options?.onError != null) {
184
+ // Wrap the promise to handle errors with the onError callback
185
+ const errorHandled = promise.catch((ex: unknown) => {
186
+ const result = options.onError!(ex);
187
+ if (result != null) {
188
+ // Replace the entry with a resolved fallback value for subsequent callers
189
+ const errorNow = Date.now();
190
+ this.cache.set(key, {
191
+ promise: Promise.resolve(result.value),
192
+ created: errorNow,
193
+ accessed: errorNow,
194
+ createTTL: result.createTTL ?? options.createTTL,
195
+ accessTTL: options.accessTTL,
196
+ });
197
+ // suppress: return fallback to first caller; otherwise re-throw
198
+ if (result.suppress) return result.value;
199
+ } else {
200
+ this.cache.delete(key);
201
+ }
202
+ throw ex;
203
+ });
204
+
205
+ entry = {
206
+ promise: errorHandled,
207
+ created: now,
208
+ accessed: now,
209
+ createTTL: options.createTTL,
210
+ accessTTL: options.accessTTL,
211
+ };
212
+ this.cache.set(key, entry);
213
+ } else if (options?.errorTTL != null) {
214
+ // Cache resolved undefined for subsequent callers, re-throw to first caller
215
+ const errorTTL = options.errorTTL;
216
+ const errorHandled = promise.catch((ex: unknown) => {
217
+ const errorNow = Date.now();
218
+ this.cache.set(key, {
219
+ promise: Promise.resolve(undefined as V),
220
+ created: errorNow,
221
+ accessed: errorNow,
222
+ createTTL: errorTTL,
223
+ accessTTL: options.accessTTL,
224
+ });
225
+ throw ex;
226
+ });
227
+
228
+ entry = {
229
+ promise: errorHandled,
230
+ created: now,
231
+ accessed: now,
232
+ createTTL: options.createTTL,
233
+ accessTTL: options.accessTTL,
234
+ };
235
+ this.cache.set(key, entry);
236
+ } else {
237
+ entry = {
238
+ promise: promise,
239
+ created: now,
240
+ accessed: now,
241
+ createTTL: options.createTTL,
242
+ accessTTL: options.accessTTL,
243
+ };
244
+ this.cache.set(key, entry);
245
+
246
+ if (options?.expireOnError ?? true) {
247
+ promise.catch(() => this.cache.delete(key));
248
+ }
249
+ }
250
+
251
+ // Clean up expired entries and enforce capacity limit in one pass
252
+ if (this.cache.size > 1) {
253
+ queueMicrotask(() => this.cleanup());
254
+ }
255
+
256
+ return this.attachCallerLifecycle(entry.promise, cancellation, cleanup);
257
+ }
258
+
259
+ private attachCallerLifecycle(
260
+ promise: Promise<V>,
261
+ cancellation: AbortSignal | undefined,
262
+ cleanup: (() => void) | undefined,
263
+ ): Promise<V> {
264
+ const returned = cancellation != null ? raceWithSignal(promise, cancellation) : promise;
265
+ if (cleanup != null) {
266
+ // Release this caller's aggregate slot when their wait ends.
267
+ // Attach .catch to swallow any rejection in the cleanup chain so it doesn't surface
268
+ // as an unhandled rejection separate from the caller's own handling of `returned`.
269
+ void returned.finally(cleanup).catch(() => {});
270
+ }
271
+ return returned;
272
+ }
273
+
274
+ private cleanup(): void {
275
+ const now = Date.now();
276
+ const capacity = this.options.capacity;
277
+
278
+ // If no capacity limit, just remove expired entries
279
+ if (capacity == null) {
280
+ for (const [key, entry] of this.cache.entries()) {
281
+ if (this.expired(entry, now)) {
282
+ this.cache.delete(key);
283
+ }
284
+ }
285
+ return;
286
+ }
287
+
288
+ // Single pass: collect non-expired entries and find LRU candidates
289
+ const entries: Array<[K, CacheEntry<V>]> = [];
290
+ for (const [key, entry] of this.cache.entries()) {
291
+ if (!this.expired(entry, now)) {
292
+ entries.push([key, entry]);
293
+ } else {
294
+ this.cache.delete(key);
295
+ }
296
+ }
297
+
298
+ // If still over capacity, remove LRU entries
299
+ const excess = entries.length - capacity;
300
+ if (excess > 0) {
301
+ // Sort by accessed time (oldest first) and remove the excess
302
+ // Note: O(N log N) sort — acceptable at current cache sizes; replace with a linked-list LRU if capacity grows
303
+ entries.sort((a, b) => a[1].accessed - b[1].accessed);
304
+ for (let i = 0; i < excess; i++) {
305
+ this.cache.delete(entries[i][0]);
306
+ }
307
+ }
308
+ }
309
+
310
+ private expired(entry: CacheEntry<V>, now: number): boolean {
311
+ return (
312
+ (entry.createTTL != null && now - entry.created >= entry.createTTL) ||
313
+ (entry.accessTTL != null && now - entry.accessed >= entry.accessTTL)
314
+ );
315
+ }
316
+
317
+ /**
318
+ * Sets a promise in the cache.
319
+ * The promise will use the default options from the cache constructor, unless overridden.
320
+ *
321
+ * @param key - The cache key
322
+ * @param promise - The promise to cache
323
+ * @param options - Optional TTL options that override the defaults
324
+ */
325
+ set(key: K, promise: Promise<V>, options?: { accessTTL?: number; createTTL?: number }): void {
326
+ const now = Date.now();
327
+ const entry: CacheEntry<V> = {
328
+ promise: promise,
329
+ created: now,
330
+ accessed: now,
331
+ createTTL: options?.createTTL ?? this.options.createTTL,
332
+ accessTTL: options?.accessTTL ?? this.options.accessTTL,
333
+ };
334
+ this.cache.set(key, entry);
335
+
336
+ if (this.options.expireOnError ?? true) {
337
+ promise.catch(() => this.cache.delete(key));
338
+ }
339
+ }
340
+ }
341
+
342
+ /**
343
+ * A Map-like wrapper for promises that automatically removes failed promises from the cache.
344
+ * This provides a drop-in replacement for Map<K, Promise<V>> with automatic error cleanup.
345
+ */
346
+ export class PromiseMap<K, V> {
347
+ private readonly cache = new Map<K, Promise<V>>();
348
+ private readonly aborts = new Map<K, AbortAggregate>();
349
+ private readonly controllers = new Map<K, CacheController>();
350
+
351
+ get [Symbol.toStringTag](): string {
352
+ return 'PromiseMap';
353
+ }
354
+
355
+ /**
356
+ * Gets a promise from the cache or creates a new one using the factory function.
357
+ * Failed promises are automatically removed from the cache.
358
+ *
359
+ * When `cancellation` is provided:
360
+ * - The factory receives an aggregate `AbortSignal` that only fires when **all** callers cancel
361
+ * - The returned promise rejects with `CancellationError` if this caller's signal fires
362
+ * - Other callers sharing the same cached promise are unaffected
363
+ *
364
+ * Callers without a `cancellation` signal count as "permanent" subscribers — the aggregate
365
+ * cannot fire while at least one is active. The slot is released when the caller's returned
366
+ * promise settles.
367
+ */
368
+ getOrCreate(
369
+ key: K,
370
+ factory: (cacheable: CacheController, cancellation?: AbortSignal) => Promise<V>,
371
+ cancellation?: AbortSignal,
372
+ ): Promise<V> {
373
+ if (cancellation?.aborted) return Promise.reject(new CancellationError());
374
+
375
+ const cached = this.cache.get(key);
376
+ if (cached != null) {
377
+ // Cache hit — register this caller on the existing aggregate
378
+ const aborts = this.aborts.get(key);
379
+ const cleanup = aborts != null ? aborts.add(cancellation) : undefined;
380
+ return this.attachCallerLifecycle(cached, cancellation, cleanup);
381
+ }
382
+
383
+ // Cache miss — always create the aggregate so subsequent callers (with or without signals)
384
+ // can contribute, and so delete/invalidate has a controller to interact with
385
+ const cacheable = new CacheController();
386
+ const aborts = new AbortAggregate();
387
+ const cleanup = aborts.add(cancellation);
388
+ this.aborts.set(key, aborts);
389
+ this.controllers.set(key, cacheable);
390
+
391
+ const promise = factory(cacheable, aborts.signal);
392
+
393
+ // Automatically remove failed promises from the cache
394
+ promise.catch(() => this.cache.delete(key));
395
+ void promise.finally(() => {
396
+ if (cacheable.invalidated) {
397
+ this.cache.delete(key);
398
+ }
399
+ aborts.dispose();
400
+ this.aborts.delete(key);
401
+ this.controllers.delete(key);
402
+ });
403
+
404
+ this.cache.set(key, promise);
405
+
406
+ return this.attachCallerLifecycle(promise, cancellation, cleanup);
407
+ }
408
+
409
+ private attachCallerLifecycle(
410
+ promise: Promise<V>,
411
+ cancellation: AbortSignal | undefined,
412
+ cleanup: (() => void) | undefined,
413
+ ): Promise<V> {
414
+ const returned = cancellation != null ? raceWithSignal(promise, cancellation) : promise;
415
+ if (cleanup != null) {
416
+ // Release this caller's aggregate slot when their wait ends.
417
+ // Attach .catch to swallow any rejection in the cleanup chain so it doesn't surface
418
+ // as an unhandled rejection separate from the caller's own handling of `returned`.
419
+ void returned.finally(cleanup).catch(() => {});
420
+ }
421
+ return returned;
422
+ }
423
+
424
+ /**
425
+ * Marks a cached entry as invalidated.
426
+ * - If the entry has a `CacheController` (created via `getOrCreate`), it is soft-invalidated:
427
+ * existing waiters complete normally, new callers joining during the remainder of the
428
+ * in-flight operation share the same promise, and the entry self-evicts on settle.
429
+ * - If the entry was set via plain `.set()` (no controller), it is hard-deleted — there is
430
+ * no in-flight factory to ride along with.
431
+ *
432
+ * No-op if the key is not cached.
433
+ */
434
+ invalidate(key: K): void {
435
+ if (this.controllers.has(key)) {
436
+ this.controllers.get(key)!.invalidate();
437
+ } else {
438
+ this.delete(key);
439
+ }
440
+ }
441
+
442
+ /**
443
+ * Gets a promise from the cache, or undefined if not found.
444
+ */
445
+ get(key: K): Promise<V> | undefined {
446
+ return this.cache.get(key);
447
+ }
448
+
449
+ /**
450
+ * Sets a promise in the cache. The promise will be automatically removed if it fails.
451
+ */
452
+ set(key: K, promise: Promise<V>): this {
453
+ this.cache.set(key, promise);
454
+
455
+ // Automatically remove failed promises from the cache
456
+ promise.catch(() => {
457
+ this.cache.delete(key);
458
+ });
459
+
460
+ return this;
461
+ }
462
+
463
+ /**
464
+ * Checks if a key exists in the cache.
465
+ */
466
+ has(key: K): boolean {
467
+ return this.cache.has(key);
468
+ }
469
+
470
+ /**
471
+ * Removes a key from the cache.
472
+ */
473
+ delete(key: K): boolean {
474
+ this.aborts.get(key)?.dispose();
475
+ this.aborts.delete(key);
476
+ this.controllers.delete(key);
477
+ return this.cache.delete(key);
478
+ }
479
+
480
+ /**
481
+ * Clears all entries from the cache.
482
+ */
483
+ clear(): void {
484
+ for (const a of this.aborts.values()) {
485
+ a.dispose();
486
+ }
487
+ this.aborts.clear();
488
+ this.controllers.clear();
489
+ this.cache.clear();
490
+ }
491
+
492
+ /**
493
+ * Returns the number of entries in the cache.
494
+ */
495
+ get size(): number {
496
+ return this.cache.size;
497
+ }
498
+
499
+ /**
500
+ * Returns an iterator for the cache keys.
501
+ */
502
+ keys(): IterableIterator<K> {
503
+ return this.cache.keys();
504
+ }
505
+
506
+ /**
507
+ * Returns an iterator for the cache values.
508
+ */
509
+ values(): IterableIterator<Promise<V>> {
510
+ return this.cache.values();
511
+ }
512
+
513
+ /**
514
+ * Returns an iterator for the cache entries.
515
+ */
516
+ entries(): IterableIterator<[K, Promise<V>]> {
517
+ return this.cache.entries();
518
+ }
519
+
520
+ /**
521
+ * Executes a provided function once for each cache entry.
522
+ */
523
+ forEach(callbackfn: (value: Promise<V>, key: K, map: Map<K, Promise<V>>) => void, thisArg?: any): void {
524
+ this.cache.forEach(callbackfn, thisArg);
525
+ }
526
+
527
+ [Symbol.iterator](): IterableIterator<[K, Promise<V>]> {
528
+ return this.cache[Symbol.iterator]();
529
+ }
530
+ }
531
+
532
+ /**
533
+ * A two-level cache that organizes PromiseCaches by repository path.
534
+ * Automatically creates and manages inner PromiseCaches per repository.
535
+ *
536
+ * This is useful for caching data that varies by both repository and some other key,
537
+ * with TTL and capacity management provided by PromiseCache.
538
+ */
539
+ export class RepoPromiseCacheMap<K, V> {
540
+ private readonly cache = new Map<string, PromiseCache<K, V>>();
541
+ private readonly options: PromiseCacheOptions;
542
+
543
+ constructor(options?: PromiseCacheOptions) {
544
+ this.options = { expireOnError: true, ...options };
545
+ }
546
+
547
+ get [Symbol.toStringTag](): string {
548
+ return 'RepoPromiseCacheMap';
549
+ }
550
+
551
+ /**
552
+ * Gets a promise from the cache or creates a new one using the factory function.
553
+ * Automatically creates the inner PromiseCache for the repository if it doesn't exist.
554
+ *
555
+ * @param repoPath - The repository path (outer key)
556
+ * @param key - The cache key within the repository (inner key)
557
+ * @param factory - Factory function to create the value if not cached
558
+ * @param options - Optional TTL and error handling options that override the defaults
559
+ */
560
+ getOrCreate(
561
+ repoPath: string,
562
+ key: K,
563
+ factory: (cacheable: CacheController, cancellation?: AbortSignal) => Promise<V>,
564
+ options?: {
565
+ /** Per-caller AbortSignal — the factory receives an aggregate signal that only fires when all callers cancel */
566
+ cancellation?: AbortSignal;
567
+ /** TTL (time-to-live) in milliseconds since creation */
568
+ createTTL?: number;
569
+ /** TTL (time-to-live) in milliseconds since last access */
570
+ accessTTL?: number;
571
+ /** Whether to expire the entry if the promise fails */
572
+ expireOnError?: boolean;
573
+ /**
574
+ * TTL (time-to-live) in milliseconds for caching errors. When the factory rejects and `errorTTL` is set,
575
+ * the cache entry is replaced with `Promise.resolve(undefined)` for subsequent callers, and the error
576
+ * is re-thrown to the first caller. After `errorTTL` expires, the next call retries.
577
+ * Only used when `onError` is not provided.
578
+ */
579
+ errorTTL?: number;
580
+ /**
581
+ * Called when the factory promise rejects. Return a fallback result to cache
582
+ * instead of expiring. The fallback value is cached with the specified `createTTL`
583
+ * (defaults to the cache's `createTTL`). By default, the error is re-thrown to the
584
+ * first caller after caching the fallback. Set `suppress: true` to return the fallback
585
+ * value to the first caller instead. Return `undefined` to expire normally and re-throw.
586
+ */
587
+ onError?: (error: unknown) => { value: V; createTTL?: number; suppress?: boolean } | undefined;
588
+ },
589
+ ): Promise<V> {
590
+ let repoCache = this.cache.get(repoPath);
591
+ if (repoCache == null) {
592
+ repoCache = new PromiseCache<K, V>(this.options);
593
+ this.cache.set(repoPath, repoCache);
594
+ }
595
+
596
+ return repoCache.getOrCreate(key, factory, options);
597
+ }
598
+
599
+ /**
600
+ * Gets a promise from the cache without creating it.
601
+ *
602
+ * @param repoPath - The repository path (outer key)
603
+ * @param key - The cache key within the repository (inner key)
604
+ * @returns The cached promise, or undefined if not cached
605
+ */
606
+ get(repoPath: string, key: K): Promise<V> | undefined {
607
+ const repoCache = this.cache.get(repoPath);
608
+ if (repoCache == null) return undefined;
609
+
610
+ return repoCache.get(key);
611
+ }
612
+
613
+ /**
614
+ * Sets a promise in the cache.
615
+ *
616
+ * @param repoPath - The repository path (outer key)
617
+ * @param key - The cache key within the repository (inner key)
618
+ * @param promise - The promise to cache
619
+ * @param options - Optional TTL options that override the defaults
620
+ */
621
+ set(repoPath: string, key: K, promise: Promise<V>, options?: { accessTTL?: number; createTTL?: number }): void {
622
+ let repoCache = this.cache.get(repoPath);
623
+ if (repoCache == null) {
624
+ repoCache = new PromiseCache<K, V>(this.options);
625
+ this.cache.set(repoPath, repoCache);
626
+ }
627
+
628
+ repoCache.set(key, promise, options);
629
+ }
630
+
631
+ /**
632
+ * Deletes a specific key from a repository's cache, or all keys for a repository.
633
+ *
634
+ * @param repoPath - The repository path
635
+ * @param key - Optional specific key to delete. If omitted, deletes the entire repository cache.
636
+ * @returns true if something was deleted, false otherwise
637
+ */
638
+ delete(repoPath: string, key?: K): boolean {
639
+ if (key === undefined) {
640
+ return this.cache.delete(repoPath);
641
+ }
642
+
643
+ const repoCache = this.cache.get(repoPath);
644
+ if (repoCache == null) return false;
645
+
646
+ repoCache.delete(key);
647
+ return true;
648
+ }
649
+
650
+ /**
651
+ * Marks a cached entry as invalidated. See `PromiseCache.invalidate` for semantics.
652
+ *
653
+ * @param repoPath - The repository path
654
+ * @param key - Optional specific key to invalidate. If omitted, invalidates every entry for the repository.
655
+ */
656
+ invalidate(repoPath: string, key?: K): void {
657
+ const repoCache = this.cache.get(repoPath);
658
+ if (repoCache == null) return;
659
+
660
+ if (key === undefined) {
661
+ for (const k of repoCache.keys()) {
662
+ repoCache.invalidate(k);
663
+ }
664
+ } else {
665
+ repoCache.invalidate(key);
666
+ }
667
+ }
668
+
669
+ /**
670
+ * Deletes all keys matching a prefix from a repository's cache.
671
+ * @param repoPath - The repository path
672
+ * @param prefix - Key prefix to match
673
+ * @returns true if something was deleted
674
+ */
675
+ deleteByKeyPrefix(this: RepoPromiseCacheMap<string, V>, repoPath: string, prefix: string): boolean {
676
+ const repoCache = this.cache.get(repoPath);
677
+ if (repoCache == null) return false;
678
+
679
+ let deleted = false;
680
+ for (const key of repoCache.keys()) {
681
+ if (key.startsWith(prefix)) {
682
+ repoCache.delete(key);
683
+ deleted = true;
684
+ }
685
+ }
686
+ return deleted;
687
+ }
688
+
689
+ /**
690
+ * Clears all caches for all repositories.
691
+ */
692
+ clear(): void {
693
+ this.cache.clear();
694
+ }
695
+
696
+ /**
697
+ * Returns the number of repositories in the cache.
698
+ */
699
+ get size(): number {
700
+ return this.cache.size;
701
+ }
702
+ }
703
+
704
+ /**
705
+ * A two-level cache that organizes PromiseMaps by repository path.
706
+ * Automatically creates and manages inner PromiseMaps per repository.
707
+ *
708
+ * This is useful for caching data that varies by both repository and some other key,
709
+ * with simple promise deduplication and automatic error cleanup.
710
+ */
711
+ export class RepoPromiseMap<K, V> {
712
+ private readonly cache = new Map<string, PromiseMap<K, V>>();
713
+
714
+ get [Symbol.toStringTag](): string {
715
+ return 'RepoPromiseMap';
716
+ }
717
+
718
+ /**
719
+ * Gets a promise from the cache or creates a new one using the factory function.
720
+ * Automatically creates the inner PromiseMap for the repository if it doesn't exist.
721
+ *
722
+ * @param repoPath - The repository path (outer key)
723
+ * @param key - The cache key within the repository (inner key)
724
+ * @param factory - Factory function to create the value if not cached
725
+ */
726
+ getOrCreate(
727
+ repoPath: string,
728
+ key: K,
729
+ factory: (cacheable: CacheController, cancellation?: AbortSignal) => Promise<V>,
730
+ cancellation?: AbortSignal,
731
+ ): Promise<V> {
732
+ let repoCache = this.cache.get(repoPath);
733
+ if (repoCache == null) {
734
+ repoCache = new PromiseMap<K, V>();
735
+ this.cache.set(repoPath, repoCache);
736
+ }
737
+
738
+ return repoCache.getOrCreate(key, factory, cancellation);
739
+ }
740
+
741
+ /**
742
+ * Gets a promise from the cache without creating it.
743
+ *
744
+ * @param repoPath - The repository path (outer key)
745
+ * @param key - The cache key within the repository (inner key)
746
+ * @returns The cached promise, or undefined if not found
747
+ */
748
+ get(repoPath: string, key: K): Promise<V> | undefined {
749
+ const repoCache = this.cache.get(repoPath);
750
+ return repoCache?.get(key);
751
+ }
752
+
753
+ /**
754
+ * Deletes a specific key from a repository's cache, or all keys for a repository.
755
+ *
756
+ * @param repoPath - The repository path
757
+ * @param key - Optional specific key to delete. If omitted, deletes the entire repository cache.
758
+ * @returns true if something was deleted, false otherwise
759
+ */
760
+ delete(repoPath: string, key?: K): boolean {
761
+ if (key === undefined) {
762
+ return this.cache.delete(repoPath);
763
+ }
764
+
765
+ const repoCache = this.cache.get(repoPath);
766
+ if (repoCache == null) return false;
767
+
768
+ return repoCache.delete(key);
769
+ }
770
+
771
+ /**
772
+ * Marks a cached entry as invalidated. See `PromiseMap.invalidate` for semantics.
773
+ *
774
+ * @param repoPath - The repository path
775
+ * @param key - Optional specific key to invalidate. If omitted, invalidates every entry for the repository.
776
+ */
777
+ invalidate(repoPath: string, key?: K): void {
778
+ const repoCache = this.cache.get(repoPath);
779
+ if (repoCache == null) return;
780
+
781
+ if (key === undefined) {
782
+ for (const k of repoCache.keys()) {
783
+ repoCache.invalidate(k);
784
+ }
785
+ } else {
786
+ repoCache.invalidate(key);
787
+ }
788
+ }
789
+
790
+ /**
791
+ * Clears all caches for all repositories.
792
+ */
793
+ clear(): void {
794
+ this.cache.clear();
795
+ }
796
+
797
+ /**
798
+ * Returns the number of repositories in the cache.
799
+ */
800
+ get size(): number {
801
+ return this.cache.size;
802
+ }
803
+ }