@gitkraken/core-gitlens 0.5.113 → 0.5.114

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 (241) hide show
  1. package/CHANGELOG.md +17 -1
  2. package/dist/git/cache.d.ts +4 -0
  3. package/dist/git/cache.d.ts.map +1 -1
  4. package/dist/git/cache.js +33 -0
  5. package/dist/git/cache.js.map +1 -1
  6. package/dist/git/context.d.ts +10 -0
  7. package/dist/git/context.d.ts.map +1 -1
  8. package/dist/git/context.js.map +1 -1
  9. package/dist/git/errors.d.ts +6 -3
  10. package/dist/git/errors.d.ts.map +1 -1
  11. package/dist/git/errors.js +9 -1
  12. package/dist/git/errors.js.map +1 -1
  13. package/dist/git/features.d.ts +1 -1
  14. package/dist/git/features.d.ts.map +1 -1
  15. package/dist/git/features.js +38 -0
  16. package/dist/git/features.js.map +1 -1
  17. package/dist/git/gitHealth.d.ts +153 -0
  18. package/dist/git/gitHealth.d.ts.map +1 -0
  19. package/dist/git/gitHealth.js +353 -0
  20. package/dist/git/gitHealth.js.map +1 -0
  21. package/dist/git/models/search.d.ts +6 -3
  22. package/dist/git/models/search.d.ts.map +1 -1
  23. package/dist/git/models/search.js +5 -1
  24. package/dist/git/models/search.js.map +1 -1
  25. package/dist/git/parsers/diffParser.d.ts +8 -2
  26. package/dist/git/parsers/diffParser.d.ts.map +1 -1
  27. package/dist/git/parsers/diffParser.js +27 -4
  28. package/dist/git/parsers/diffParser.js.map +1 -1
  29. package/dist/git/providers/config.d.ts +36 -3
  30. package/dist/git/providers/config.d.ts.map +1 -1
  31. package/dist/git/providers/graph.d.ts +9 -0
  32. package/dist/git/providers/graph.d.ts.map +1 -1
  33. package/dist/git/providers/maintenance.d.ts +222 -0
  34. package/dist/git/providers/maintenance.d.ts.map +1 -0
  35. package/dist/git/providers/maintenance.js +20 -0
  36. package/dist/git/providers/maintenance.js.map +1 -0
  37. package/dist/git/providers/operations.d.ts +10 -0
  38. package/dist/git/providers/operations.d.ts.map +1 -1
  39. package/dist/git/providers/pausedOperations.d.ts +3 -0
  40. package/dist/git/providers/pausedOperations.d.ts.map +1 -1
  41. package/dist/git/providers/provider.d.ts +2 -0
  42. package/dist/git/providers/provider.d.ts.map +1 -1
  43. package/dist/git/providers/tags.d.ts +3 -0
  44. package/dist/git/providers/tags.d.ts.map +1 -1
  45. package/dist/git/repositoryService.d.ts +1 -0
  46. package/dist/git/repositoryService.d.ts.map +1 -1
  47. package/dist/git/repositoryService.js.map +1 -1
  48. package/dist/git/run.types.d.ts +8 -0
  49. package/dist/git/run.types.d.ts.map +1 -1
  50. package/dist/git/service.js +3 -0
  51. package/dist/git/service.js.map +1 -1
  52. package/dist/git/utils/search.utils.d.ts.map +1 -1
  53. package/dist/git/utils/search.utils.js +112 -5
  54. package/dist/git/utils/search.utils.js.map +1 -1
  55. package/dist/git/watching/watchService.d.ts +3 -0
  56. package/dist/git/watching/watchService.d.ts.map +1 -1
  57. package/dist/git/watching/watchService.js +8 -0
  58. package/dist/git/watching/watchService.js.map +1 -1
  59. package/dist/git-cli/cliGitProvider.d.ts +11 -0
  60. package/dist/git-cli/cliGitProvider.d.ts.map +1 -1
  61. package/dist/git-cli/cliGitProvider.js +12 -0
  62. package/dist/git-cli/cliGitProvider.js.map +1 -1
  63. package/dist/git-cli/exec/git.d.ts +23 -1
  64. package/dist/git-cli/exec/git.d.ts.map +1 -1
  65. package/dist/git-cli/exec/git.js +83 -8
  66. package/dist/git-cli/exec/git.js.map +1 -1
  67. package/dist/git-cli/exec/gitQueue.d.ts +2 -0
  68. package/dist/git-cli/exec/gitQueue.d.ts.map +1 -1
  69. package/dist/git-cli/exec/gitQueue.js +19 -17
  70. package/dist/git-cli/exec/gitQueue.js.map +1 -1
  71. package/dist/git-cli/parsers/logParser.d.ts.map +1 -1
  72. package/dist/git-cli/parsers/logParser.js +4 -1
  73. package/dist/git-cli/parsers/logParser.js.map +1 -1
  74. package/dist/git-cli/providers/blame.d.ts.map +1 -1
  75. package/dist/git-cli/providers/blame.js +4 -7
  76. package/dist/git-cli/providers/blame.js.map +1 -1
  77. package/dist/git-cli/providers/branches.d.ts.map +1 -1
  78. package/dist/git-cli/providers/branches.js +13 -3
  79. package/dist/git-cli/providers/branches.js.map +1 -1
  80. package/dist/git-cli/providers/commits.d.ts.map +1 -1
  81. package/dist/git-cli/providers/commits.js +34 -3
  82. package/dist/git-cli/providers/commits.js.map +1 -1
  83. package/dist/git-cli/providers/config.d.ts +27 -0
  84. package/dist/git-cli/providers/config.d.ts.map +1 -1
  85. package/dist/git-cli/providers/config.js +31 -6
  86. package/dist/git-cli/providers/config.js.map +1 -1
  87. package/dist/git-cli/providers/graph.d.ts +8 -0
  88. package/dist/git-cli/providers/graph.d.ts.map +1 -1
  89. package/dist/git-cli/providers/graph.js +85 -6
  90. package/dist/git-cli/providers/graph.js.map +1 -1
  91. package/dist/git-cli/providers/maintenance.d.ts +306 -0
  92. package/dist/git-cli/providers/maintenance.d.ts.map +1 -0
  93. package/dist/git-cli/providers/maintenance.js +2129 -0
  94. package/dist/git-cli/providers/maintenance.js.map +1 -0
  95. package/dist/git-cli/providers/operations.d.ts +1 -0
  96. package/dist/git-cli/providers/operations.d.ts.map +1 -1
  97. package/dist/git-cli/providers/operations.js +8 -0
  98. package/dist/git-cli/providers/operations.js.map +1 -1
  99. package/dist/git-cli/providers/pausedOperations.d.ts +1 -0
  100. package/dist/git-cli/providers/pausedOperations.d.ts.map +1 -1
  101. package/dist/git-cli/providers/pausedOperations.js +1 -1
  102. package/dist/git-cli/providers/pausedOperations.js.map +1 -1
  103. package/dist/git-cli/providers/tags.d.ts +3 -0
  104. package/dist/git-cli/providers/tags.d.ts.map +1 -1
  105. package/dist/git-cli/providers/tags.js +23 -1
  106. package/dist/git-cli/providers/tags.js.map +1 -1
  107. package/dist/plus/agents/agentCapabilities.d.ts +77 -0
  108. package/dist/plus/agents/agentCapabilities.d.ts.map +1 -0
  109. package/dist/plus/agents/agentCapabilities.js +197 -0
  110. package/dist/plus/agents/agentCapabilities.js.map +1 -0
  111. package/dist/plus/agents/providers/claudeCodeTranscript.d.ts +77 -13
  112. package/dist/plus/agents/providers/claudeCodeTranscript.d.ts.map +1 -1
  113. package/dist/plus/agents/providers/claudeCodeTranscript.js +263 -55
  114. package/dist/plus/agents/providers/claudeCodeTranscript.js.map +1 -1
  115. package/dist/plus/agents/providers/{claudeCodeProvider.d.ts → gkAgentProvider.d.ts} +52 -19
  116. package/dist/plus/agents/providers/gkAgentProvider.d.ts.map +1 -0
  117. package/dist/plus/agents/providers/{claudeCodeProvider.js → gkAgentProvider.js} +935 -262
  118. package/dist/plus/agents/providers/gkAgentProvider.js.map +1 -0
  119. package/dist/plus/agents/types.d.ts +113 -35
  120. package/dist/plus/agents/types.d.ts.map +1 -1
  121. package/dist/plus/agents/types.js +7 -4
  122. package/dist/plus/agents/types.js.map +1 -1
  123. package/dist/plus/ai/models/promptTemplates.d.ts +1 -1
  124. package/dist/plus/ai/models/promptTemplates.d.ts.map +1 -1
  125. package/dist/plus/ai/prompts.d.ts +4 -0
  126. package/dist/plus/ai/prompts.d.ts.map +1 -1
  127. package/dist/plus/ai/prompts.js +59 -4
  128. package/dist/plus/ai/prompts.js.map +1 -1
  129. package/dist/plus/git-github/api/github.d.ts +44 -1
  130. package/dist/plus/git-github/api/github.d.ts.map +1 -1
  131. package/dist/plus/git-github/api/github.js +318 -25
  132. package/dist/plus/git-github/api/github.js.map +1 -1
  133. package/dist/plus/git-github/api/issueSearchQuery.d.ts +13 -0
  134. package/dist/plus/git-github/api/issueSearchQuery.d.ts.map +1 -1
  135. package/dist/plus/git-github/api/issueSearchQuery.js +41 -0
  136. package/dist/plus/git-github/api/issueSearchQuery.js.map +1 -1
  137. package/dist/plus/git-github/providers/github/blame.d.ts.map +1 -1
  138. package/dist/plus/git-github/providers/github/blame.js +2 -1
  139. package/dist/plus/git-github/providers/github/blame.js.map +1 -1
  140. package/dist/plus/integrations/integrationService.d.ts +11 -0
  141. package/dist/plus/integrations/integrationService.d.ts.map +1 -1
  142. package/dist/plus/integrations/integrationService.js +4 -0
  143. package/dist/plus/integrations/integrationService.js.map +1 -1
  144. package/dist/plus/integrations/manager.d.ts +26 -0
  145. package/dist/plus/integrations/manager.d.ts.map +1 -1
  146. package/dist/plus/integrations/models/gitHostIntegration.d.ts +31 -0
  147. package/dist/plus/integrations/models/gitHostIntegration.d.ts.map +1 -1
  148. package/dist/plus/integrations/models/gitHostIntegration.js +31 -0
  149. package/dist/plus/integrations/models/gitHostIntegration.js.map +1 -1
  150. package/dist/plus/integrations/models/integration.d.ts +1 -1
  151. package/dist/plus/integrations/models/integration.d.ts.map +1 -1
  152. package/dist/plus/integrations/models/integration.js.map +1 -1
  153. package/dist/plus/integrations/providers/github.d.ts +9 -0
  154. package/dist/plus/integrations/providers/github.d.ts.map +1 -1
  155. package/dist/plus/integrations/providers/github.js +7 -0
  156. package/dist/plus/integrations/providers/github.js.map +1 -1
  157. package/dist/plus/integrations/reads/broaden.d.ts +47 -10
  158. package/dist/plus/integrations/reads/broaden.d.ts.map +1 -1
  159. package/dist/plus/integrations/reads/broaden.js +144 -33
  160. package/dist/plus/integrations/reads/broaden.js.map +1 -1
  161. package/dist/plus/integrations/reads/filters.d.ts +18 -0
  162. package/dist/plus/integrations/reads/filters.d.ts.map +1 -1
  163. package/dist/plus/integrations/reads/filters.js +37 -1
  164. package/dist/plus/integrations/reads/filters.js.map +1 -1
  165. package/dist/plus/integrations/reads/issueBatch.d.ts +51 -0
  166. package/dist/plus/integrations/reads/issueBatch.d.ts.map +1 -0
  167. package/dist/plus/integrations/reads/issueBatch.js +91 -0
  168. package/dist/plus/integrations/reads/issueBatch.js.map +1 -0
  169. package/dist/plus/integrations/reads/sweeps.d.ts.map +1 -1
  170. package/dist/plus/integrations/reads/sweeps.js +5 -3
  171. package/dist/plus/integrations/reads/sweeps.js.map +1 -1
  172. package/dist/utils/promiseCache.d.ts +19 -0
  173. package/dist/utils/promiseCache.d.ts.map +1 -1
  174. package/dist/utils/promiseCache.js +30 -0
  175. package/dist/utils/promiseCache.js.map +1 -1
  176. package/dist/utils/resourceUsage.d.ts +5 -0
  177. package/dist/utils/resourceUsage.d.ts.map +1 -0
  178. package/dist/utils/resourceUsage.js +2 -0
  179. package/dist/utils/resourceUsage.js.map +1 -0
  180. package/dist/utils/string.d.ts +12 -0
  181. package/dist/utils/string.d.ts.map +1 -1
  182. package/dist/utils/string.js +36 -1
  183. package/dist/utils/string.js.map +1 -1
  184. package/docs/integrations.md +29 -25
  185. package/docs/kepler-read-api-parity.md +12 -4
  186. package/package.json +11 -3
  187. package/src/git/cache.ts +36 -0
  188. package/src/git/context.ts +11 -0
  189. package/src/git/errors.ts +13 -1
  190. package/src/git/features.ts +51 -0
  191. package/src/git/gitHealth.ts +522 -0
  192. package/src/git/models/search.ts +19 -4
  193. package/src/git/parsers/diffParser.ts +27 -4
  194. package/src/git/providers/config.ts +42 -1
  195. package/src/git/providers/graph.ts +12 -0
  196. package/src/git/providers/maintenance.ts +224 -0
  197. package/src/git/providers/operations.ts +10 -0
  198. package/src/git/providers/pausedOperations.ts +3 -0
  199. package/src/git/providers/provider.ts +2 -0
  200. package/src/git/providers/tags.ts +1 -0
  201. package/src/git/repositoryService.ts +1 -0
  202. package/src/git/run.types.ts +8 -0
  203. package/src/git/service.ts +3 -0
  204. package/src/git/utils/search.utils.ts +129 -5
  205. package/src/git/watching/watchService.ts +10 -0
  206. package/src/git-cli/cliGitProvider.ts +25 -0
  207. package/src/git-cli/exec/git.ts +120 -6
  208. package/src/git-cli/exec/gitQueue.ts +19 -17
  209. package/src/git-cli/parsers/logParser.ts +4 -1
  210. package/src/git-cli/providers/blame.ts +3 -8
  211. package/src/git-cli/providers/branches.ts +28 -8
  212. package/src/git-cli/providers/commits.ts +34 -2
  213. package/src/git-cli/providers/config.ts +38 -6
  214. package/src/git-cli/providers/graph.ts +107 -7
  215. package/src/git-cli/providers/maintenance.ts +2599 -0
  216. package/src/git-cli/providers/operations.ts +11 -0
  217. package/src/git-cli/providers/pausedOperations.ts +7 -2
  218. package/src/git-cli/providers/tags.ts +36 -1
  219. package/src/plus/agents/agentCapabilities.ts +286 -0
  220. package/src/plus/agents/providers/claudeCodeTranscript.ts +313 -58
  221. package/src/plus/agents/providers/{claudeCodeProvider.ts → gkAgentProvider.ts} +1123 -277
  222. package/src/plus/agents/types.ts +137 -40
  223. package/src/plus/ai/models/promptTemplates.ts +1 -1
  224. package/src/plus/ai/prompts.ts +62 -4
  225. package/src/plus/git-github/api/github.ts +353 -24
  226. package/src/plus/git-github/api/issueSearchQuery.ts +49 -1
  227. package/src/plus/git-github/providers/github/blame.ts +2 -1
  228. package/src/plus/integrations/integrationService.ts +15 -0
  229. package/src/plus/integrations/manager.ts +26 -0
  230. package/src/plus/integrations/models/gitHostIntegration.ts +48 -0
  231. package/src/plus/integrations/models/integration.ts +1 -0
  232. package/src/plus/integrations/providers/github.ts +18 -0
  233. package/src/plus/integrations/reads/broaden.ts +282 -70
  234. package/src/plus/integrations/reads/filters.ts +39 -1
  235. package/src/plus/integrations/reads/issueBatch.ts +197 -0
  236. package/src/plus/integrations/reads/sweeps.ts +19 -12
  237. package/src/utils/promiseCache.ts +43 -0
  238. package/src/utils/resourceUsage.ts +5 -0
  239. package/src/utils/string.ts +38 -1
  240. package/dist/plus/agents/providers/claudeCodeProvider.d.ts.map +0 -1
  241. package/dist/plus/agents/providers/claudeCodeProvider.js.map +0 -1
@@ -3,28 +3,65 @@ import type { ProviderBroadenOrg } from '../manager.js';
3
3
  import type { ProviderBroadenResult } from '../results.js';
4
4
  import type { ProviderReadContext } from './context.js';
5
5
  /**
6
- * The issue-broadening fan-out: per org, drain that org's repositories, then read every visible issue in them.
6
+ * The issue-broadening fan-out: every visible issue across a set of orgs, one page at a time.
7
7
  *
8
8
  * What makes this its own read rather than a variant of `listIssuesPage` is that one logical page spans several
9
9
  * provider positions — one per org — so its continuation is a per-org cursor BUNDLE (see `cursors.ts`) and its
10
10
  * failure attribution is per provider across those orgs. Both are the reason a page number alone can't address a
11
11
  * later page, and why {@link broadenIssues} walks prior pages itself when given only `page`.
12
12
  *
13
- * SUPERSEDED for a caller that already knows its repositories: `searchIssuesPage({ repos, criteria })` answers
14
- * the same question in one request per page, with no repository drain and no route through the SDK read whose
15
- * over-limit recovery walk can spend up to 128 requests. This read stays for "fan out across these orgs,
16
- * whatever repos they contain", whose per-provider attribution the single-provider search doesn't produce.
13
+ * Each org slice runs on ONE OF TWO ENGINES, chosen by what the provider declares (#5804):
14
+ * - the org-scoped FILTERED SEARCH where the provider has one (GitHub/GHE): one request per page, no repositories
15
+ * needed at all, since the search reaches the scope by naming the org;
16
+ * - the REPOSITORY DRAIN plus the SDK's repo-scoped read where it doesn't (Azure DevOps, GitLab): up to 100
17
+ * requests to enumerate the org, and a read whose over-limit recovery walk can spend 128 more per repository
18
+ * and still return an incomplete set.
17
19
  *
18
- * If you migrate a caller, note the semantics carefully: broadening means ALL VISIBLE it passes
19
- * `includeAllAssignees: true`, which resolves to no assignee constraint at all, so unassigned issues ARE
20
- * included. The equivalent is an OMITTED `relationships`, not `['any-assignee']`: `assignee:*` means "has some
20
+ * Measured by running this read against the live API, three times per engine per org (median shown; each
21
+ * engine returned a byte-identical result set on all three, so the sets below are not sampling noise):
22
+ *
23
+ * | | repo drain + SDK read | org-scoped search |
24
+ * | --- | --- | --- |
25
+ * | BELOW the ceiling (146 issues) | 9.3s, 11 requests, 146 issues | 6.2s, 2 requests, 146 issues |
26
+ * | ABOVE it (1.475 issues, 217 repos) | 111s, 133 requests, 1.118 issues | 40s, 10 requests, 1.000 issues |
27
+ * | ...of the 1.000 most recently updated | 644 | 1.000 |
28
+ * | ...omissions reported | 99 × `recovery-budget`, no count | 1, carrying `totalCount: 1474` |
29
+ *
30
+ * BELOW the ceiling the two return the IDENTICAL SET (verified as set equality), so there the swap is a straight
31
+ * saving and nothing else. ABOVE it they return DIFFERENT SETS — overlapping on 644 items, so the divergence is
32
+ * not confined to the edge.
33
+ *
34
+ * Above the ceiling the search returns FEWER items and is nonetheless the more useful of the two, which is the
35
+ * whole reason to prefer it: its 1.000 are exactly the 1.000 most recently updated (again set equality against a
36
+ * ceiling-free enumeration, not a count), whereas the SDK read's 1.118 are an arbitrary subset — 474 of them from
37
+ * beyond that window, at the cost of omitting 356 issues that ARE in it. Its recovery walk does not close the gap
38
+ * it spends the budget on: all 99 of its omissions were exhausted budget.
39
+ *
40
+ * The second difference is what a consumer can SAY about the gap. At the ceiling the search succeeds and reports
41
+ * one quantified omission (`issueSearchCapResultWarning` carries `totalCount`, `limit` and the order the window
42
+ * was selected under), so a consumer can render "1.474 matched, showing the 1.000 most recently updated". The
43
+ * SDK read reports one `recovery-budget` omission per exhausted repository, none of which carries how many issues
44
+ * were missed — incompleteness that can be announced but not quantified.
45
+ *
46
+ * Note the time saving is the SMALLER half of this: 1.5× below the ceiling and 2.8× above it, against 5.5× and
47
+ * 13.3× fewer requests. The request count is what matters for a rate limit shared with every other read.
48
+ *
49
+ * The public surface is the SAME on both: the options, the per-org cursor bundle, the `ProviderAttribution`
50
+ * split, the warning dedupe and the return type. A consumer needs to know which engine ran only insofar as the
51
+ * warnings say so.
52
+ *
53
+ * Broadening means ALL VISIBLE, and each engine expresses that differently — `includeAllAssignees: true` on the
54
+ * SDK read, an OMITTED `relationships` on the search. Both resolve to no assignee constraint at all, so
55
+ * unassigned issues ARE included. The search's equivalent is NOT `['any-assignee']`: `assignee:*` means "has some
21
56
  * assignee" and would silently exclude every unassigned issue, which is the opposite of broadening.
22
57
  *
23
58
  * Takes no `sort`, unlike `listIssuesPage` and `searchIssuesPage`. One logical page here spans several orgs, each
24
59
  * at its own provider position in a cursor bundle, so honoring an order across them would need a k-way merge with
25
60
  * a buffer per org rather than a sort of what arrived — the page is a slice of several independent walks, not a
26
- * union of one round's results. `searchIssuesPage({ repos, criteria: { sort } })` answers the ordered version of
27
- * this question for a caller that knows its repositories, and is already the recommended migration above.
61
+ * union of one round's results. The search engine still orders each org's OWN query (it must: a ceiling policy of
62
+ * "the N most recent" is only correct under a guaranteed order), so a slice is ordered where the merged page is
63
+ * not. `searchIssuesPage({ repos, criteria: { sort } })` answers the ordered version of this question for a
64
+ * caller that knows its repositories.
28
65
  */
29
66
  export interface BroadenIssuesOptions {
30
67
  orgs: ProviderBroadenOrg[];
@@ -1 +1 @@
1
- {"version":3,"file":"broaden.d.ts","sourceRoot":"","sources":["../../../../src/plus/integrations/reads/broaden.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAK/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExD,OAAO,KAAK,EAAE,qBAAqB,EAAmB,MAAM,eAAe,CAAC;AAI5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAOxD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,MAAM,WAAW,oBAAoB;IACpC,IAAI,EAAE,kBAAkB,EAAE,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB;AA8DD,wBAAsB,aAAa,CAClC,GAAG,EAAE,mBAAmB,EACxB,OAAO,EAAE,oBAAoB,GAC3B,OAAO,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,CAoG5C"}
1
+ {"version":3,"file":"broaden.d.ts","sourceRoot":"","sources":["../../../../src/plus/integrations/reads/broaden.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAM/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGxD,OAAO,KAAK,EAAE,qBAAqB,EAAmB,MAAM,eAAe,CAAC;AAI5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAgBxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AAEH,MAAM,WAAW,oBAAoB;IACpC,IAAI,EAAE,kBAAkB,EAAE,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB;AA8DD,wBAAsB,aAAa,CAClC,GAAG,EAAE,mBAAmB,EACxB,OAAO,EAAE,oBAAoB,GAC3B,OAAO,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,CAoG5C"}
@@ -1,3 +1,4 @@
1
+ import { effectiveIssueSort } from '../../../git/utils/issue.utils.js';
1
2
  import { mapBounded } from '../../../utils/promise.js';
2
3
  import { mergeAssessmentInto } from '../collectionMetadata.js';
3
4
  import { providerFanOutConcurrency } from '../constants.js';
@@ -6,8 +7,9 @@ import { hostFromDomain } from '../utils/domain.utils.js';
6
7
  import { isGitHostIntegration, isIssuesHostIntegrationId } from '../utils/integration.utils.js';
7
8
  import { getBroadenIssuesCursor, isBroadenIssuesOrgExhausted, toBroadenIssuesCursor } from './cursors.js';
8
9
  import { drainRepositories, runCaptured } from './drains.js';
9
- import { resolveContinuation, toProviderPageInfo } from './paging.js';
10
- import { gitHostOnlySurfaceWarning, issuesUnsupportedWarning, noConnectionWarning, otherWarning } from './warnings.js';
10
+ import { resolveIssueSearchScope, supportsFilteredIssueSearch } from './filters.js';
11
+ import { resolveContinuation, toProviderPageInfo, usableCursor } from './paging.js';
12
+ import { gitHostOnlySurfaceWarning, issueSearchCapResultWarning, issuesUnsupportedWarning, noConnectionWarning, otherWarning, truncationWarning, unsupportedIssueSearchCriteriaWarning, } from './warnings.js';
11
13
  /**
12
14
  * Accumulates provider attribution across the rounds of a page-number traversal.
13
15
  *
@@ -196,7 +198,129 @@ async function traverseToRequestedPage(ctx, options, page) {
196
198
  ...attribution.toResultFields(),
197
199
  };
198
200
  }
199
- /** Reads one org's visible issues: drain the org's repos, then read the issues across them. */
201
+ /**
202
+ * Whether this org can be read through the FILTERED issue search instead of the repository drain.
203
+ *
204
+ * Two conditions, and the second is not a formality: an empty org name is dropped by the provider's scope
205
+ * translation rather than rejected, which would leave a search of the WHOLE HOST — so the scope is validated
206
+ * through {@link resolveIssueSearchScope}, the same rule `searchIssuesPage` refuses on, rather than by an
207
+ * `org.name.length > 0` written here and free to drift from it.
208
+ */
209
+ function canSearchOrgIssues(org) {
210
+ return (supportsFilteredIssueSearch(org.providerId) &&
211
+ resolveIssueSearchScope(undefined, org.name, undefined).rejection == null);
212
+ }
213
+ /**
214
+ * The org-scoped filtered search: ONE request per page, whatever the org contains.
215
+ *
216
+ * Replaces the drain + SDK read for every provider that declares a filtered issue search — the repository drain
217
+ * costs up to 100 requests per org, and the SDK's repo-scoped read past GitHub's result ceiling enters a
218
+ * per-repository recovery walk that can spend 128 more and still return an incomplete set. Measured on an org
219
+ * past that ceiling: 133 requests and 111s, against this read's 10 and 40s. The search reaches the same scope by
220
+ * NAMING the org, so it needs no repositories at all.
221
+ *
222
+ * It is also the more COMPLETE of the two over the window a consumer reads first, despite returning fewer items —
223
+ * see the module docstring's table for the measurement and why that is not a contradiction.
224
+ *
225
+ * `criteria` is omitted entirely, and each half of that is deliberate:
226
+ * - `relationships` OMITTED is what drops the assignee constraint, which is the substitution `includeAllAssignees:
227
+ * true` performs on the read this replaces. NOT `['any-assignee']`, which means "assigned to somebody" and would
228
+ * exclude every unassigned issue — the opposite of broadening.
229
+ * - every other criterion left unset resolves to the provider's own default, which is the state this read already
230
+ * served (open issues only, archived repositories excluded).
231
+ *
232
+ * At the result ceiling this SUCCEEDS and reports how many matched instead of walking for the rest — see the
233
+ * ceiling warning below.
234
+ */
235
+ async function readOrgIssuesViaSearch(integration, org, domain, cursor) {
236
+ const connectionId = org.connectionId;
237
+ const captured = await runCaptured(org.providerId, domain, connectionId, () => integration.searchIssuesPageResult({ org: org.name, cursor: cursor }, undefined, connectionId), { warnOnMissingSession: true });
238
+ // A provider that declares the capability but implements no search hook answers `undefined` with no error.
239
+ // Reported as the explicit unsupported failure rather than left as a silent empty page, so it can't be mistaken
240
+ // for an org with no issues — and as the read's `warning`, so the slice treats it as the read failure it is.
241
+ const warning = captured.warning ??
242
+ (captured.value == null
243
+ ? unsupportedIssueSearchCriteriaWarning(org.providerId, domain, connectionId, {
244
+ reason: 'unsupported-search',
245
+ })
246
+ : undefined);
247
+ const warnings = warning != null ? [warning] : [];
248
+ let value;
249
+ if (captured.value != null) {
250
+ const page = captured.value;
251
+ value = {
252
+ items: page.values,
253
+ hasMore: page.hasMore,
254
+ cursor: usableCursor(page.cursor),
255
+ truncated: page.truncated,
256
+ };
257
+ // The result ceiling is the one incompleteness this read can QUANTIFY, so it carries the total rather than
258
+ // a bare "may be incomplete" — which is what lets a consumer say "1.474 matched, showing the 1.000 most
259
+ // recently updated" instead of silently serving a truncated list. Only when nothing else already explained
260
+ // the incompleteness, and only the ceiling gets the number: any other cause falls back to the generic
261
+ // wording rather than reporting a limit it didn't hit. `exhausted`: nothing this read exposes would return
262
+ // the withheld items.
263
+ if (page.truncated && warnings.length === 0) {
264
+ warnings.push(issueSearchCapResultWarning(org.providerId, domain, connectionId, page.totalCount, effectiveIssueSort(undefined)) ?? truncationWarning(org.providerId, domain, connectionId, 'Issue search', 'exhausted'));
265
+ }
266
+ }
267
+ return { value: value, warning: warning, warnings: warnings, fetchFailed: false, truncated: false };
268
+ }
269
+ /**
270
+ * The original engine: drain the org's repositories, then read the issues across them.
271
+ *
272
+ * Kept for a provider that declares NO filtered issue search (Azure DevOps, GitLab), where refusing the org would
273
+ * be a regression rather than a saving. Its cost, and the arbitrary subset it serves past the result ceiling, are
274
+ * what {@link readOrgIssuesViaSearch} exists to avoid — see the module docstring's measurement. Those providers
275
+ * keep both, because on them there is nothing better to switch to.
276
+ */
277
+ async function readOrgIssuesViaRepoDrain(integration, org, domain, cursor) {
278
+ const connectionId = org.connectionId;
279
+ const reposDrain = await drainRepositories(integration, org.providerId, domain, org.name, undefined, connectionId, 100);
280
+ const warnings = [...reposDrain.warnings];
281
+ const repos = reposDrain.repos.map(r => ({ ...r }));
282
+ if (repos.length === 0) {
283
+ return {
284
+ warnings: warnings,
285
+ fetchFailed: reposDrain.fetchFailed,
286
+ truncated: reposDrain.truncated,
287
+ nothingToRead: true,
288
+ };
289
+ }
290
+ // Broaden = "all visible": drop the assigned-to-me filter so unassigned issues are included.
291
+ const captured = await runCaptured(org.providerId, domain, connectionId, () =>
292
+ // Normalized shapes seam, uniform with listIssuesPage.
293
+ integration.getMyIssuesForReposAsShapesResult(repos, { includeAllAssignees: true, cursor: cursor }, connectionId), { warnOnMissingSession: true });
294
+ if (captured.warning != null) {
295
+ warnings.push(captured.warning);
296
+ }
297
+ const assessment = mergeAssessmentInto(warnings, org.providerId, domain, connectionId, captured.value?.metadata);
298
+ let value;
299
+ if (captured.value != null) {
300
+ const paged = toProviderPageInfo(captured.value.values.length, captured.value.paging);
301
+ value = {
302
+ items: captured.value.values,
303
+ hasMore: paged.hasMore,
304
+ cursor: paged.cursor,
305
+ // Carry a truncation signal from the issue read too: a provider that couldn't confirm it drained a
306
+ // repo (`paging.truncated`) means this org's issues may be incomplete, on top of any repo-drain
307
+ // truncation already captured above.
308
+ truncated: paged.truncated || assessment.truncated,
309
+ };
310
+ }
311
+ return {
312
+ value: value,
313
+ warning: captured.warning,
314
+ warnings: warnings,
315
+ fetchFailed: reposDrain.fetchFailed || assessment.fetchFailed,
316
+ truncated: reposDrain.truncated,
317
+ };
318
+ }
319
+ /**
320
+ * Reads one org's visible issues, through the org-scoped filtered search where the provider has one and through
321
+ * the repository drain where it doesn't. Everything below the engine — the position, the retry slot, the
322
+ * attribution and the exhaustion mark — is the same on both paths.
323
+ */
200
324
  async function readOrgSlice(ctx, options, org, page) {
201
325
  const connectionId = org.connectionId;
202
326
  const requestedDomain = org.domain;
@@ -253,45 +377,32 @@ async function readOrgSlice(ctx, options, org, page) {
253
377
  }
254
378
  await ctx.forceRefreshIfRequested(integration, options.forceSync, connectionId);
255
379
  const domain = ctx.domainForRead(integration, org.providerId, connectionId, requestedDomain);
256
- const reposDrain = await drainRepositories(integration, org.providerId, domain, org.name, undefined, connectionId, 100);
257
- const warnings = [...reposDrain.warnings];
258
- const fetchFailed = reposDrain.fetchFailed;
259
- const truncated = reposDrain.truncated;
260
- const repos = reposDrain.repos.map(r => ({ ...r }));
261
- if (repos.length === 0) {
262
- return barrenSlice(warnings, { fetchFailed: fetchFailed, truncated: truncated });
263
- }
264
- // Broaden = "all visible": drop the assigned-to-me filter so unassigned issues are included.
265
380
  const cursor = getBroadenIssuesCursor(options.cursor, org, page, options.orgs.length);
266
- const issuesCaptured = await runCaptured(org.providerId, domain, connectionId, () =>
267
- // Normalized shapes seam, uniform with listIssuesPage.
268
- integration.getMyIssuesForReposAsShapesResult(repos, { includeAllAssignees: true, cursor: cursor }, connectionId), { warnOnMissingSession: true });
269
- if (issuesCaptured.warning != null) {
270
- warnings.push(issuesCaptured.warning);
381
+ const read = canSearchOrgIssues(org)
382
+ ? await readOrgIssuesViaSearch(integration, org, domain, cursor)
383
+ : await readOrgIssuesViaRepoDrain(integration, org, domain, cursor);
384
+ if (read.nothingToRead === true) {
385
+ return barrenSlice(read.warnings, { fetchFailed: read.fetchFailed, truncated: read.truncated });
271
386
  }
272
- const issuesAssessment = mergeAssessmentInto(warnings, org.providerId, domain, connectionId, issuesCaptured.value?.metadata);
273
- let issuesFetchFailed = issuesAssessment.fetchFailed || (issuesCaptured.warning != null && issuesCaptured.value == null);
387
+ const warnings = read.warnings;
388
+ let issuesFetchFailed = read.fetchFailed || (read.warning != null && read.value == null);
274
389
  const items = [];
275
390
  let hasMore = false;
276
391
  let nextCursor;
277
392
  let retryPage;
278
- // Carry a truncation signal from the issue read too: a provider that couldn't confirm it drained
279
- // a repo (`paging.truncated`) means this org's issues may be incomplete, on top of any repo-drain
280
- // truncation already captured above.
281
393
  let issuesTruncated = false;
282
- if (issuesCaptured.value != null) {
283
- items.push(...issuesCaptured.value.values);
284
- const paged = toProviderPageInfo(issuesCaptured.value.values.length, issuesCaptured.value.paging);
394
+ if (read.value != null) {
395
+ items.push(...read.value.items);
285
396
  // An org that reports another page but no usable cursor can't be resumed: it would neither be
286
397
  // recorded in the composite cursor nor marked exhausted, so the next round would re-read its
287
398
  // page 1 and repeat every issue. Treat it as terminal-but-incomplete (which also marks the org
288
399
  // exhausted below, since `exhausted` keys off `!hasMore`).
289
- const continuation = resolveContinuation(paged, undefined);
400
+ const continuation = resolveContinuation(read.value, undefined);
290
401
  hasMore = continuation.hasMore;
291
402
  nextCursor = continuation.cursor;
292
- issuesTruncated = continuation.truncated || issuesAssessment.truncated;
403
+ issuesTruncated = continuation.truncated;
293
404
  }
294
- else if (issuesCaptured.warning != null || cursor != null) {
405
+ else if (read.warning != null || cursor != null) {
295
406
  // Keep the exact position that failed. Without this retry cursor a multi-org continuation would
296
407
  // omit this org from the bundle, then synthesize the next numbered page and silently skip the
297
408
  // failed page. The synthesized page cursor is also actionable for a first-page cursor-only read:
@@ -300,7 +411,7 @@ async function readOrgSlice(ctx, options, org, page) {
300
411
  // query request it forever. Healthy sibling continuations set `hasMore` independently.
301
412
  if (cursor != null) {
302
413
  nextCursor = cursor;
303
- if (issuesCaptured.warning == null) {
414
+ if (read.warning == null) {
304
415
  appendDedupedWarning(warnings, otherWarning(org.providerId, domain, connectionId, 'Issue continuation returned no result and must be retried'));
305
416
  issuesFetchFailed = true;
306
417
  issuesTruncated = true;
@@ -313,7 +424,7 @@ async function readOrgSlice(ctx, options, org, page) {
313
424
  return {
314
425
  items: items,
315
426
  warnings: warnings,
316
- broadenedProviderIds: issuesCaptured.value != null ? [org.providerId] : [],
427
+ broadenedProviderIds: read.value != null ? [org.providerId] : [],
317
428
  providerId: org.providerId,
318
429
  org: org.name,
319
430
  connectionId: connectionId,
@@ -323,9 +434,9 @@ async function readOrgSlice(ctx, options, org, page) {
323
434
  hasMore: hasMore,
324
435
  // Exhausted once a successful read reports no more pages — recorded in the cursor so later
325
436
  // rounds skip it while other orgs keep paging.
326
- exhausted: issuesCaptured.value != null && !hasMore,
327
- fetchFailed: fetchFailed || issuesFetchFailed,
328
- truncated: truncated || issuesTruncated,
437
+ exhausted: read.value != null && !hasMore,
438
+ fetchFailed: issuesFetchFailed,
439
+ truncated: read.truncated || issuesTruncated,
329
440
  };
330
441
  }
331
442
  //# sourceMappingURL=broaden.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"broaden.js","sourceRoot":"","sources":["../../../../src/plus/integrations/reads/broaden.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"broaden.js","sourceRoot":"","sources":["../../../../src/plus/integrations/reads/broaden.ts"],"names":[],"mappings":"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"}
@@ -88,6 +88,17 @@ export type IssueSearchCriteriaRejection =
88
88
  | {
89
89
  reason: 'contradictory-relationships';
90
90
  };
91
+ /**
92
+ * Whether a provider exposes the FILTERED issue search at all — the one predicate a caller can check BEFORE
93
+ * building criteria, so a read that would only be refused is never issued.
94
+ *
95
+ * The same test {@link resolveIssueSearchCriteria} makes for its `unsupported-search` rejection, named rather
96
+ * than re-derived at each call site: a caller writing `supportedIssueSearch != null` itself is a copy free to
97
+ * disagree with the validator about what "has a search" means. `broadenIssues` reads it to pick its engine —
98
+ * the org-scoped search where there is one, the repository drain where there isn't — which is a CHOICE rather
99
+ * than a refusal, so it needs the predicate without the rejection.
100
+ */
101
+ export declare function supportsFilteredIssueSearch(id: IntegrationIds): boolean;
91
102
  /**
92
103
  * Validates a filtered issue search's criteria against {@link ProviderMetadata.supportedIssueSearch}.
93
104
  *
@@ -123,6 +134,13 @@ export type IssueSearchScopeRejection =
123
134
  *
124
135
  * The two rejections are mutually exclusive — `repo-ids` requires repositories and `unscoped` requires none — so
125
136
  * the order they're checked in cannot change the outcome.
137
+ *
138
+ * An org is checked for what SURVIVES SANITIZING, not merely for being non-empty, and that distinction is a
139
+ * SECURITY one rather than a nicety: the provider query drops a value that sanitizes away rather than rejecting
140
+ * it (`toGitHubIssueSearchScopeQualifiers` emits no bare `org:`, which GitHub would reject), so an org of `' '`
141
+ * or `'"'` would pass a length check, emit NO scope qualifier at all, and leave a search of the entire host —
142
+ * measured at 52 million issues across unrelated accounts. Whitespace and quotes are exactly what a name pasted
143
+ * from a config or a URL degrades to, so this is reachable without anything adversarial.
126
144
  */
127
145
  export declare function resolveIssueSearchScope(repos: ProviderReposInput | undefined, org: string | undefined, criteria: IssueSearchCriteria | undefined): {
128
146
  rejection?: IssueSearchScopeRejection;
@@ -1 +1 @@
1
- {"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../../../src/plus/integrations/reads/filters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../../../src/plus/integrations/reads/filters.ts"],"names":[],"mappings":"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"}
@@ -116,6 +116,19 @@ export function resolveAccountWideIssueFilters(id, filters) {
116
116
  return { unsupported: true };
117
117
  return { filters: filters, unsupported: false };
118
118
  }
119
+ /**
120
+ * Whether a provider exposes the FILTERED issue search at all — the one predicate a caller can check BEFORE
121
+ * building criteria, so a read that would only be refused is never issued.
122
+ *
123
+ * The same test {@link resolveIssueSearchCriteria} makes for its `unsupported-search` rejection, named rather
124
+ * than re-derived at each call site: a caller writing `supportedIssueSearch != null` itself is a copy free to
125
+ * disagree with the validator about what "has a search" means. `broadenIssues` reads it to pick its engine —
126
+ * the org-scoped search where there is one, the repository drain where there isn't — which is a CHOICE rather
127
+ * than a refusal, so it needs the predicate without the rejection.
128
+ */
129
+ export function supportsFilteredIssueSearch(id) {
130
+ return providersMetadata[id]?.supportedIssueSearch != null;
131
+ }
119
132
  /**
120
133
  * Validates a filtered issue search's criteria against {@link ProviderMetadata.supportedIssueSearch}.
121
134
  *
@@ -216,6 +229,22 @@ const unsupportedPullRequestSearchCapabilities = {
216
229
  organizationScope: false,
217
230
  sorts: [],
218
231
  };
232
+ /**
233
+ * Whether a scope name survives the provider's sanitizing, i.e. whether it will actually constrain the query.
234
+ *
235
+ * Provider-NEUTRAL by design, and deliberately not an import of GitHub's `sanitizeGitHubQualifierValue`: this
236
+ * module validates for every provider, and a GitHub-specific rule reaching in here would be wrong for the next
237
+ * one that declares a search. What is common to any query language is the part that matters: a value made only of
238
+ * whitespace, quotes and control characters carries no name, and every sanitizer strips exactly those (quotes
239
+ * because they would close their own qualifier, control characters because they cannot appear in a query at all).
240
+ *
241
+ * Strictly weaker than any provider's own sanitizing, which is the safe direction: this can only pass a name the
242
+ * provider would then narrow further, never reject one the provider would have accepted.
243
+ */
244
+ function isUsableSearchScopeName(name) {
245
+ // eslint-disable-next-line no-control-regex
246
+ return name.replace(/["\u0000-\u001f\u007f\s]/g, '').length > 0;
247
+ }
219
248
  /**
220
249
  * Validates that a filtered issue search is scoped at all, and narrows `repos` to the descriptor form the
221
250
  * provider query needs.
@@ -227,6 +256,13 @@ const unsupportedPullRequestSearchCapabilities = {
227
256
  *
228
257
  * The two rejections are mutually exclusive — `repo-ids` requires repositories and `unscoped` requires none — so
229
258
  * the order they're checked in cannot change the outcome.
259
+ *
260
+ * An org is checked for what SURVIVES SANITIZING, not merely for being non-empty, and that distinction is a
261
+ * SECURITY one rather than a nicety: the provider query drops a value that sanitizes away rather than rejecting
262
+ * it (`toGitHubIssueSearchScopeQualifiers` emits no bare `org:`, which GitHub would reject), so an org of `' '`
263
+ * or `'"'` would pass a length check, emit NO scope qualifier at all, and leave a search of the entire host —
264
+ * measured at 52 million issues across unrelated accounts. Whitespace and quotes are exactly what a name pasted
265
+ * from a config or a URL degrades to, so this is reachable without anything adversarial.
230
266
  */
231
267
  export function resolveIssueSearchScope(repos, org, criteria) {
232
268
  if (repos?.length) {
@@ -235,7 +271,7 @@ export function resolveIssueSearchScope(repos, org, criteria) {
235
271
  return { rejection: 'repo-ids' };
236
272
  return { repos: repos };
237
273
  }
238
- if (org != null && org.length > 0)
274
+ if (org != null && isUsableSearchScopeName(org))
239
275
  return {};
240
276
  if (criteria?.relationships?.some(r => userScopingIssueSearchRelationships.includes(r)) === true)
241
277
  return {};
@@ -1 +1 @@
1
- {"version":3,"file":"filters.js","sourceRoot":"","sources":["../../../../src/plus/integrations/reads/filters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filters.js","sourceRoot":"","sources":["../../../../src/plus/integrations/reads/filters.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import type { IssueShape } from '../../../git/models/issue.js';
2
+ import type { IntegrationIds } from '../constants.js';
3
+ import type { ProviderResult } from '../results.js';
4
+ import type { ProviderReadContext } from './context.js';
5
+ /**
6
+ * The BATCH issue read: resolve N `(owner, repo, number)` coordinates in one request.
7
+ *
8
+ * A sibling of the issue searches rather than a mode of one, because it answers a different question. A search
9
+ * asks "what matches"; this asks "does this exact issue exist", which is what a caller correlating a branch name
10
+ * to the issue it references is actually asking. Three consequences follow, and they are the reason this exists:
11
+ *
12
+ * - It resolves by EXACT NUMBER, so relevance never enters into it.
13
+ * - No result ceiling applies, so there is no partial window to reason about and no omission to report.
14
+ * - An absent slot is a PROVEN ABSENCE, not "not found within a page budget". That is the property that matters
15
+ * most: a caller can CACHE a miss. Emulating this with a paged list cannot prove absence without walking the
16
+ * whole scope, so a miss stays unproven and the walk repeats on every pass, forever.
17
+ *
18
+ * Modeled on `countIssues` for its shape — caller-owned `key` echoed back, per-target isolation, chunked into as
19
+ * few requests as possible — because both take a set of independent questions and answer them together.
20
+ */
21
+ /** One issue to resolve, identified by coordinate and echoed back under the caller's own `key`. */
22
+ export interface IssueBatchTarget {
23
+ /** Caller-owned identifier, echoed on the result so no positional matching is needed. Must be unique. */
24
+ key: string;
25
+ owner: string;
26
+ repo: string;
27
+ number: number;
28
+ }
29
+ /** The answer for one {@link IssueBatchTarget}. */
30
+ export interface IssueBatchResult {
31
+ key: string;
32
+ /**
33
+ * The resolved issue, or `undefined` when it PROVABLY does not exist (or is not visible to this connection).
34
+ *
35
+ * Absent is an answer here, unlike every paged read on this facade: a target whose chunk FAILED is not
36
+ * returned at all and sets `fetchFailed`, so a caller can tell "proven absent" from "unknown" and cache the
37
+ * first without ever caching the second.
38
+ */
39
+ issue?: IssueShape;
40
+ }
41
+ export declare function getIssuesBatch(ctx: ProviderReadContext, options: {
42
+ providerId: IntegrationIds;
43
+ targets: readonly IssueBatchTarget[];
44
+ connectionId?: string;
45
+ /**
46
+ * Explicit self-managed host domain. Used only when the requested connection has no configured domain;
47
+ * it must come from the trusted authentication configuration, not repository or remote data.
48
+ */
49
+ domain?: string;
50
+ }): Promise<ProviderResult<IssueBatchResult>>;
51
+ //# sourceMappingURL=issueBatch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"issueBatch.d.ts","sourceRoot":"","sources":["../../../../src/plus/integrations/reads/issueBatch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAG/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,KAAK,EAAE,cAAc,EAAmB,MAAM,eAAe,CAAC;AAOrE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAIxD;;;;;;;;;;;;;;;GAeG;AAEH,mGAAmG;AACnG,MAAM,WAAW,gBAAgB;IAChC,yGAAyG;IACzG,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CACf;AAED,mDAAmD;AACnD,MAAM,WAAW,gBAAgB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC;CACnB;AAeD,wBAAsB,cAAc,CACnC,GAAG,EAAE,mBAAmB,EACxB,OAAO,EAAE;IACR,UAAU,EAAE,cAAc,CAAC;IAC3B,OAAO,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB,GACC,OAAO,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CA0G3C"}