@gitkraken/core-gitlens 0.5.102 → 0.5.104

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 (103) hide show
  1. package/CHANGELOG.md +26 -1
  2. package/dist/git/models/issue.d.ts +78 -0
  3. package/dist/git/models/issue.d.ts.map +1 -1
  4. package/dist/git/models/issue.js.map +1 -1
  5. package/dist/plus/git-github/api/config.d.ts +12 -0
  6. package/dist/plus/git-github/api/config.d.ts.map +1 -1
  7. package/dist/plus/git-github/api/config.js +12 -1
  8. package/dist/plus/git-github/api/config.js.map +1 -1
  9. package/dist/plus/git-github/api/github.d.ts +77 -7
  10. package/dist/plus/git-github/api/github.d.ts.map +1 -1
  11. package/dist/plus/git-github/api/github.js +241 -120
  12. package/dist/plus/git-github/api/github.js.map +1 -1
  13. package/dist/plus/git-github/api/issueSearchQuery.d.ts +70 -0
  14. package/dist/plus/git-github/api/issueSearchQuery.d.ts.map +1 -0
  15. package/dist/plus/git-github/api/issueSearchQuery.js +143 -0
  16. package/dist/plus/git-github/api/issueSearchQuery.js.map +1 -0
  17. package/dist/plus/integrations/collectionMetadata.d.ts +15 -1
  18. package/dist/plus/integrations/collectionMetadata.d.ts.map +1 -1
  19. package/dist/plus/integrations/collectionMetadata.js +21 -2
  20. package/dist/plus/integrations/collectionMetadata.js.map +1 -1
  21. package/dist/plus/integrations/index.d.ts +2 -0
  22. package/dist/plus/integrations/index.d.ts.map +1 -1
  23. package/dist/plus/integrations/integrationService.d.ts +39 -2
  24. package/dist/plus/integrations/integrationService.d.ts.map +1 -1
  25. package/dist/plus/integrations/integrationService.js +17 -0
  26. package/dist/plus/integrations/integrationService.js.map +1 -1
  27. package/dist/plus/integrations/manager.d.ts +88 -2
  28. package/dist/plus/integrations/manager.d.ts.map +1 -1
  29. package/dist/plus/integrations/models/gitHostIntegration.d.ts +61 -3
  30. package/dist/plus/integrations/models/gitHostIntegration.d.ts.map +1 -1
  31. package/dist/plus/integrations/models/gitHostIntegration.js +51 -0
  32. package/dist/plus/integrations/models/gitHostIntegration.js.map +1 -1
  33. package/dist/plus/integrations/models/integration.d.ts +3 -46
  34. package/dist/plus/integrations/models/integration.d.ts.map +1 -1
  35. package/dist/plus/integrations/models/integration.js.map +1 -1
  36. package/dist/plus/integrations/models/issueReads.d.ts +70 -0
  37. package/dist/plus/integrations/models/issueReads.d.ts.map +1 -0
  38. package/dist/plus/integrations/models/issueReads.js +2 -0
  39. package/dist/plus/integrations/models/issueReads.js.map +1 -0
  40. package/dist/plus/integrations/providerFilters.d.ts +10 -0
  41. package/dist/plus/integrations/providerFilters.d.ts.map +1 -1
  42. package/dist/plus/integrations/providers/github.d.ts +26 -3
  43. package/dist/plus/integrations/providers/github.d.ts.map +1 -1
  44. package/dist/plus/integrations/providers/github.js +34 -0
  45. package/dist/plus/integrations/providers/github.js.map +1 -1
  46. package/dist/plus/integrations/providers/models.d.ts +22 -0
  47. package/dist/plus/integrations/providers/models.d.ts.map +1 -1
  48. package/dist/plus/integrations/providers/models.js +26 -0
  49. package/dist/plus/integrations/providers/models.js.map +1 -1
  50. package/dist/plus/integrations/reads/broaden.d.ts +10 -0
  51. package/dist/plus/integrations/reads/broaden.d.ts.map +1 -1
  52. package/dist/plus/integrations/reads/broaden.js.map +1 -1
  53. package/dist/plus/integrations/reads/counts.d.ts +64 -0
  54. package/dist/plus/integrations/reads/counts.d.ts.map +1 -0
  55. package/dist/plus/integrations/reads/counts.js +164 -0
  56. package/dist/plus/integrations/reads/counts.js.map +1 -0
  57. package/dist/plus/integrations/reads/filters.d.ts +63 -1
  58. package/dist/plus/integrations/reads/filters.d.ts.map +1 -1
  59. package/dist/plus/integrations/reads/filters.js +125 -0
  60. package/dist/plus/integrations/reads/filters.js.map +1 -1
  61. package/dist/plus/integrations/reads/hierarchy.d.ts.map +1 -1
  62. package/dist/plus/integrations/reads/hierarchy.js +34 -17
  63. package/dist/plus/integrations/reads/hierarchy.js.map +1 -1
  64. package/dist/plus/integrations/reads/issues.d.ts.map +1 -1
  65. package/dist/plus/integrations/reads/issues.js +22 -41
  66. package/dist/plus/integrations/reads/issues.js.map +1 -1
  67. package/dist/plus/integrations/reads/paging.d.ts +59 -0
  68. package/dist/plus/integrations/reads/paging.d.ts.map +1 -1
  69. package/dist/plus/integrations/reads/paging.js +60 -0
  70. package/dist/plus/integrations/reads/paging.js.map +1 -1
  71. package/dist/plus/integrations/reads/searchIssues.d.ts +55 -0
  72. package/dist/plus/integrations/reads/searchIssues.d.ts.map +1 -0
  73. package/dist/plus/integrations/reads/searchIssues.js +144 -0
  74. package/dist/plus/integrations/reads/searchIssues.js.map +1 -0
  75. package/dist/plus/integrations/reads/warnings.d.ts +33 -3
  76. package/dist/plus/integrations/reads/warnings.d.ts.map +1 -1
  77. package/dist/plus/integrations/reads/warnings.js +87 -6
  78. package/dist/plus/integrations/reads/warnings.js.map +1 -1
  79. package/docs/integrations.md +110 -2
  80. package/docs/kepler-read-api-parity.md +57 -0
  81. package/package.json +1 -1
  82. package/src/git/models/issue.ts +81 -0
  83. package/src/plus/git-github/api/config.ts +13 -0
  84. package/src/plus/git-github/api/github.ts +332 -148
  85. package/src/plus/git-github/api/issueSearchQuery.ts +165 -0
  86. package/src/plus/integrations/collectionMetadata.ts +22 -3
  87. package/src/plus/integrations/index.ts +5 -0
  88. package/src/plus/integrations/integrationService.ts +47 -1
  89. package/src/plus/integrations/manager.ts +88 -2
  90. package/src/plus/integrations/models/gitHostIntegration.ts +102 -2
  91. package/src/plus/integrations/models/integration.ts +7 -46
  92. package/src/plus/integrations/models/issueReads.ts +73 -0
  93. package/src/plus/integrations/providerFilters.ts +15 -0
  94. package/src/plus/integrations/providers/github.ts +64 -2
  95. package/src/plus/integrations/providers/models.ts +49 -0
  96. package/src/plus/integrations/reads/broaden.ts +10 -0
  97. package/src/plus/integrations/reads/counts.ts +285 -0
  98. package/src/plus/integrations/reads/filters.ts +162 -1
  99. package/src/plus/integrations/reads/hierarchy.ts +43 -32
  100. package/src/plus/integrations/reads/issues.ts +22 -45
  101. package/src/plus/integrations/reads/paging.ts +102 -0
  102. package/src/plus/integrations/reads/searchIssues.ts +252 -0
  103. package/src/plus/integrations/reads/warnings.ts +129 -11
@@ -1 +1 @@
1
- {"version":3,"file":"paging.js","sourceRoot":"","sources":["../../../../src/plus/integrations/reads/paging.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paging.js","sourceRoot":"","sources":["../../../../src/plus/integrations/reads/paging.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ import type { IssueSearchCriteria, IssueShape } from '../../../git/models/issue.js';
2
+ import type { IntegrationIds } from '../constants.js';
3
+ import type { ProviderReposInput } from '../providers/models.js';
4
+ import type { ProviderPagedResult } from '../results.js';
5
+ import type { ProviderReadContext } from './context.js';
6
+ /**
7
+ * The FILTERED issue search: issues matching structured criteria over a repository/org scope, with no forced
8
+ * relationship to the current user.
9
+ *
10
+ * A sibling of `listIssuesPage` rather than a mode of it, deliberately. That read is already two divergent
11
+ * branches (a cursor-composite account-wide path and a page-draining repo-scoped one) around a documented
12
+ * contract where `filters` REPLACES the provider's definition of "my issues". This search answers a different
13
+ * question — its relationships include two that are not about the user at all — and routes around the SDK's
14
+ * repo-scoped read entirely, whose over-limit recovery walk can spend up to 128 requests and still return an
15
+ * incomplete set. Folding the two together would multiply that branch matrix and put every existing consumer of
16
+ * `listIssuesPage` at risk; keeping them siblings shares the primitives below without sharing the branch space,
17
+ * for the same reason `broaden.ts`, `sweeps.ts` and `issueTracker.ts` are separate files.
18
+ *
19
+ * Contract details worth knowing before calling:
20
+ * - Ordering is ALWAYS most-recently-updated-first. Not an option: a "show the N most recent" policy at the
21
+ * provider's result ceiling is only correct under a guaranteed order.
22
+ * - Paging is cursor-only. `page` alone walks 1..N internally (O(N) requests); a page past the last one is an
23
+ * empty page N, never page N−1 relabeled.
24
+ * - At the provider's result ceiling the read SUCCEEDS and reports an omission carrying the total match count,
25
+ * so a consumer can say how many were withheld. It never falls back to a per-repository recovery walk.
26
+ */
27
+ export declare function searchIssuesPage(ctx: ProviderReadContext, options: {
28
+ providerId: IntegrationIds;
29
+ /** Repositories to search. Combines with `org`; both become scope constraints on the same query. */
30
+ repos?: ProviderReposInput;
31
+ /** Organization/account to search. Combines with `repos`. */
32
+ org?: string;
33
+ /**
34
+ * What to narrow on, validated against `getSupportedFilters().issueSearch` before the read runs. A
35
+ * criterion the provider can't express server-side refuses the whole read (warning + `fetchFailed`)
36
+ * rather than serving a list that was never narrowed.
37
+ */
38
+ criteria?: IssueSearchCriteria;
39
+ page?: number;
40
+ cursor?: string;
41
+ /**
42
+ * Page size PER RELATIONSHIP: each one is its own provider query, so a page of an N-relationship search
43
+ * returns up to `N × itemsPerPage` items before the url dedupe, and fewer where they overlap.
44
+ * `page.itemsPerPage` reports what actually came back.
45
+ */
46
+ itemsPerPage?: number;
47
+ forceSync?: boolean;
48
+ connectionId?: string;
49
+ /**
50
+ * Explicit self-managed host domain. Used only when the requested connection has no configured domain;
51
+ * it must come from the trusted authentication configuration, not repository or remote data.
52
+ */
53
+ domain?: string;
54
+ }): Promise<ProviderPagedResult<IssueShape>>;
55
+ //# sourceMappingURL=searchIssues.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"searchIssues.d.ts","sourceRoot":"","sources":["../../../../src/plus/integrations/reads/searchIssues.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AACpF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAmB,MAAM,eAAe,CAAC;AAM1E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAmBxD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,gBAAgB,CACrC,GAAG,EAAE,mBAAmB,EACxB,OAAO,EAAE;IACR,UAAU,EAAE,cAAc,CAAC;IAC3B,oGAAoG;IACpG,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,6DAA6D;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB,GACC,OAAO,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CA4K1C"}
@@ -0,0 +1,144 @@
1
+ import { isGitHostIntegration, isIssuesHostIntegrationId, warnOnMissingSessionForDomain, } from '../utils/integration.utils.js';
2
+ import { runCaptured } from './drains.js';
3
+ import { resolveIssueSearchCriteria, resolveIssueSearchScope } from './filters.js';
4
+ import { drainFlatPagesToRequestedPage, refusedPage, resolveContinuation, resolveCurrentPage, usableCursor, } from './paging.js';
5
+ import { gitHostOnlySurfaceWarning, issueSearchCapResultWarning, issuesUnsupportedWarning, otherWarning, truncationWarning, unsupportedIssueSearchCriteriaWarning, } from './warnings.js';
6
+ /**
7
+ * The FILTERED issue search: issues matching structured criteria over a repository/org scope, with no forced
8
+ * relationship to the current user.
9
+ *
10
+ * A sibling of `listIssuesPage` rather than a mode of it, deliberately. That read is already two divergent
11
+ * branches (a cursor-composite account-wide path and a page-draining repo-scoped one) around a documented
12
+ * contract where `filters` REPLACES the provider's definition of "my issues". This search answers a different
13
+ * question — its relationships include two that are not about the user at all — and routes around the SDK's
14
+ * repo-scoped read entirely, whose over-limit recovery walk can spend up to 128 requests and still return an
15
+ * incomplete set. Folding the two together would multiply that branch matrix and put every existing consumer of
16
+ * `listIssuesPage` at risk; keeping them siblings shares the primitives below without sharing the branch space,
17
+ * for the same reason `broaden.ts`, `sweeps.ts` and `issueTracker.ts` are separate files.
18
+ *
19
+ * Contract details worth knowing before calling:
20
+ * - Ordering is ALWAYS most-recently-updated-first. Not an option: a "show the N most recent" policy at the
21
+ * provider's result ceiling is only correct under a guaranteed order.
22
+ * - Paging is cursor-only. `page` alone walks 1..N internally (O(N) requests); a page past the last one is an
23
+ * empty page N, never page N−1 relabeled.
24
+ * - At the provider's result ceiling the read SUCCEEDS and reports an omission carrying the total match count,
25
+ * so a consumer can say how many were withheld. It never falls back to a per-repository recovery walk.
26
+ */
27
+ export async function searchIssuesPage(ctx, options) {
28
+ const page = Math.max(1, Math.trunc(options.page ?? 1));
29
+ // Cursor-only, so a refusal can't claim the requested position — it reports page 1, per
30
+ // ProviderPageInfo.currentPage.
31
+ const refused = (warning) => refusedPage(1, [warning], true);
32
+ if (isIssuesHostIntegrationId(options.providerId)) {
33
+ return refused(gitHostOnlySurfaceWarning(options.providerId, undefined, options.connectionId, 'Filtered issue search'));
34
+ }
35
+ const integration = await ctx.getIntegrationForRead(options.providerId, options.connectionId, options.domain);
36
+ if (integration == null) {
37
+ // A supplied connection or domain that no longer resolves is a broken target, not an empty account —
38
+ // surface a no-connection warning + fetchFailed rather than a silent empty page.
39
+ const early = ctx.earlyReturnConnectionWarnings(options.providerId, options.connectionId, options.domain);
40
+ return refusedPage(1, early.warnings, early.fetchFailed);
41
+ }
42
+ if (!isGitHostIntegration(integration)) {
43
+ return refused(gitHostOnlySurfaceWarning(options.providerId, undefined, options.connectionId, 'Filtered issue search'));
44
+ }
45
+ await ctx.forceRefreshIfRequested(integration, options.forceSync, options.connectionId);
46
+ const domain = ctx.domainForRead(integration, options.providerId, options.connectionId, options.domain);
47
+ const warnOnMissingSession = warnOnMissingSessionForDomain(options.providerId, options.domain);
48
+ if (!integration.supportsIssues) {
49
+ return refused(issuesUnsupportedWarning(options.providerId, domain, options.connectionId));
50
+ }
51
+ const scope = resolveIssueSearchScope(options.repos, options.org, options.criteria);
52
+ switch (scope.rejection) {
53
+ case 'unscoped':
54
+ return refused(otherWarning(options.providerId, domain, options.connectionId, 'A filtered issue search must be scoped: pass `repos`, `org`, or a relationship to the current user (`authored`/`assigned`/`mentioned`). `any-assignee` and `unassigned` are not scopes — either one alone matches every such issue on the host.'));
55
+ case 'repo-ids':
56
+ // A search query names repositories by PATH, so repository ids can't be expressed as a scope. Refusing
57
+ // is the only honest answer: dropping them would search the whole org (or the whole host) as if the
58
+ // caller had asked for that.
59
+ return refused(otherWarning(options.providerId, domain, options.connectionId, 'A filtered issue search cannot be scoped by repository id; pass repository descriptors (namespace + name) instead.'));
60
+ }
61
+ const resolved = resolveIssueSearchCriteria(options.providerId, options.criteria);
62
+ if (resolved.rejection != null) {
63
+ return refused(unsupportedIssueSearchCriteriaWarning(options.providerId, domain, options.connectionId, resolved.rejection));
64
+ }
65
+ const readPage = (cursor) => runCaptured(options.providerId, domain, options.connectionId, () => integration.searchIssuesPageResult({
66
+ repos: scope.repos,
67
+ org: options.org,
68
+ criteria: options.criteria,
69
+ cursor: cursor,
70
+ pageSize: options.itemsPerPage,
71
+ }, undefined, options.connectionId), { warnOnMissingSession: warnOnMissingSession });
72
+ const first = await readPage(options.cursor);
73
+ const warnings = first.warning != null ? [first.warning] : [];
74
+ // The largest total any page reported. Folded across the walk so a cap detected on page 1 is still reportable
75
+ // after paging on to page N — the one thing this read accumulates that its sibling doesn't.
76
+ let totalCount = first.value?.totalCount;
77
+ const drained = await drainFlatPagesToRequestedPage(first, {
78
+ requestedPage: page,
79
+ suppliedCursor: options.cursor,
80
+ warnings: warnings,
81
+ readPage: readPage,
82
+ fold: p => {
83
+ if (p.totalCount != null) {
84
+ totalCount = Math.max(totalCount ?? 0, p.totalCount);
85
+ }
86
+ },
87
+ });
88
+ const { value, currentPage, requestedPageMissing } = drained;
89
+ const pageFetchFailed = drained.fetchFailed;
90
+ // A provider that doesn't implement the search hook returns `undefined` with no error. Surface that as an
91
+ // explicit unsupported warning + fetchFailed rather than a silent empty success, so a caller isn't left
92
+ // unable to tell it apart from an account with no matching issues. `getSupportedFilters().issueSearch`
93
+ // declares this ahead of the read, so a consumer that checks it never reaches here.
94
+ if (value == null && warnings.length === 0) {
95
+ return refused(unsupportedIssueSearchCriteriaWarning(options.providerId, domain, options.connectionId, {
96
+ reason: 'unsupported-search',
97
+ }));
98
+ }
99
+ const items = requestedPageMissing ? [] : (value?.values ?? []);
100
+ // Cursor-only: `hasMore` without a real cursor is a dead end, so report it as terminal-but-incomplete rather
101
+ // than inviting the caller to page forever.
102
+ const continuation = resolveContinuation({
103
+ hasMore: requestedPageMissing ? false : (value?.hasMore ?? false),
104
+ cursor: requestedPageMissing ? undefined : usableCursor(value?.cursor),
105
+ truncated: drained.truncated,
106
+ }, undefined);
107
+ const truncated = continuation.truncated;
108
+ // Only reachable when nothing else already explained the incompleteness — and a failed page always warns
109
+ // first, so a read that gets here SUCCEEDED. That is why the cause below is unconditionally `exhausted` and
110
+ // `fetchFailed` is never set from here.
111
+ if (truncated && warnings.length === 0) {
112
+ // The result ceiling is the one truncation cause this read can EXPLAIN with a number, so it gets its own
113
+ // warning carrying the total. Anything else truncated (an unusable continuation, a provider that stopped
114
+ // advancing) falls back to the generic wording.
115
+ warnings.push(issueSearchCapResultWarning(options.providerId, domain, options.connectionId, totalCount) ??
116
+ truncationWarning(options.providerId, domain, options.connectionId, 'Issue search',
117
+ // `exhausted`: this read exposes no budget the caller could raise, so nothing it could call
118
+ // would return the withheld items.
119
+ 'exhausted'));
120
+ }
121
+ return {
122
+ items: items,
123
+ warnings: warnings,
124
+ page: {
125
+ // Positional, per ProviderPageInfo.currentPage. A requested page past the terminal cursor is reported
126
+ // as that empty page N; otherwise this read is cursor-only, so a `page` the caller didn't pair with a
127
+ // cursor is never echoed.
128
+ currentPage: requestedPageMissing
129
+ ? page
130
+ : resolveCurrentPage({
131
+ providerPage: currentPage,
132
+ requestedPage: page,
133
+ suppliedCursor: options.cursor,
134
+ pageAdvanceable: false,
135
+ }),
136
+ itemsPerPage: items.length,
137
+ truncated: truncated || undefined,
138
+ },
139
+ hasMore: continuation.hasMore,
140
+ cursor: continuation.cursor,
141
+ fetchFailed: pageFetchFailed || undefined,
142
+ };
143
+ }
144
+ //# sourceMappingURL=searchIssues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"searchIssues.js","sourceRoot":"","sources":["../../../../src/plus/integrations/reads/searchIssues.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { IntegrationIds } from '../constants.js';
2
2
  import type { IssueFilter, PullRequestFilter } from '../providerFilters.js';
3
3
  import type { ProviderWarning } from '../results.js';
4
+ import type { IssueSearchCriteriaRejection } from './filters.js';
4
5
  /**
5
6
  * The warnings the provider facade raises on its OWN terms, as opposed to the ones derived from a caught
6
7
  * provider error ({@link toProviderWarning}) or from SDK collection metadata (`collectionMetadata.ts`).
@@ -61,10 +62,15 @@ export type IncompleteReadCause = 'interrupted' | 'page-budget' | 'exhausted';
61
62
  */
62
63
  export declare function incompleteReadWarning(id: IntegrationIds, domain: string | undefined, connectionId: string | undefined, message: string, cause: IncompleteReadCause): ProviderWarning;
63
64
  /**
64
- * {@link incompleteReadWarning} for a paged or drained read, phrased per surface. `'Account-wide issue search'`
65
- * names the composite read that spans several provider searches rather than one surface.
65
+ * The read surfaces {@link truncationWarning} phrases for. `'Account-wide issue search'` names the composite
66
+ * read that spans several provider searches rather than one surface.
67
+ *
68
+ * Deliberately not exported: every caller passes a literal, and publishing it would invite a consumer to switch
69
+ * on a set that exists only to word a message.
66
70
  */
67
- export declare function truncationWarning(id: IntegrationIds, domain: string | undefined, connectionId: string | undefined, readKind: 'Pull request' | 'Issue' | 'Repository' | 'Account-wide issue search',
71
+ type TruncatedReadKind = 'Pull request' | 'Issue' | 'Repository' | 'Organization' | 'Project' | 'Account-wide issue search' | 'Issue search';
72
+ /** {@link incompleteReadWarning} for a paged or drained read, phrased per surface. */
73
+ export declare function truncationWarning(id: IntegrationIds, domain: string | undefined, connectionId: string | undefined, readKind: TruncatedReadKind,
68
74
  /**
69
75
  * Deliberately REQUIRED and not defaulted: a default would make one of these the silent fallback at any
70
76
  * call site that forgot it, and both of the claims it carries — "the request succeeded" and "more can be
@@ -77,6 +83,30 @@ export declare function unsupportedAccountWideIssueFiltersWarning(id: Integratio
77
83
  export declare function unsupportedAccountWidePullRequestFiltersWarning(id: IntegrationIds, domain: string | undefined, connectionId: string | undefined, filters: PullRequestFilter[]): ProviderWarning;
78
84
  /** Warning for a repo-scoped PR read whose requested filters the provider supports none of. */
79
85
  export declare function unsupportedFiltersWarning(id: IntegrationIds, domain: string | undefined, connectionId: string | undefined): ProviderWarning;
86
+ /**
87
+ * Warning for a filtered issue search whose criteria the provider can't serve — either it has no such search at
88
+ * all, or it can't express what was asked for, or the set contradicts itself.
89
+ *
90
+ * One builder for all three because they are one decision from the caller's side ("this search can't be run as
91
+ * asked") and the remedy differs only in what the message says. The rejection shape carries which case it is, so
92
+ * the wording can't drift from the check that produced it (see {@link resolveIssueSearchCriteria}).
93
+ */
94
+ export declare function unsupportedIssueSearchCriteriaWarning(id: IntegrationIds, domain: string | undefined, connectionId: string | undefined, rejection: IssueSearchCriteriaRejection): ProviderWarning;
95
+ /**
96
+ * The omission for a filtered issue search that hit the provider's RESULT CEILING: more issues matched than the
97
+ * provider will ever serve for one query, however it is paged.
98
+ *
99
+ * Distinct from {@link truncationWarning} because this is the one incompleteness this read can quantify —
100
+ * `totalCount` is how many matched, `limit` how many are reachable — which is what lets a consumer say "19.240
101
+ * matched, showing the 1.000 most recently updated" instead of a bare "results may be incomplete". `recovery:
102
+ * 'none'` because the items past the ceiling are UNREACHABLE, not merely unfetched: no budget, no retry, and no
103
+ * cursor would return them. Narrowing the criteria is the only way through, which is a decision for the caller.
104
+ *
105
+ * Returns `undefined` when the provider declares no ceiling, so the caller falls back to the generic wording
106
+ * rather than reporting a limit it invented.
107
+ */
108
+ export declare function issueSearchCapResultWarning(id: IntegrationIds, domain: string | undefined, connectionId: string | undefined, totalCount: number | undefined): ProviderWarning | undefined;
80
109
  /** Warning for a git host that doesn't expose issues on this surface (e.g. Bitbucket, deprecated in favor of Jira). */
81
110
  export declare function issuesUnsupportedWarning(id: IntegrationIds, domain: string | undefined, connectionId: string | undefined): ProviderWarning;
111
+ export {};
82
112
  //# sourceMappingURL=warnings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"warnings.d.ts","sourceRoot":"","sources":["../../../../src/plus/integrations/reads/warnings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD;;;;;;;GAOG;AAEH;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAC3B,EAAE,EAAE,cAAc,EAClB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,OAAO,EAAE,MAAM,GACb,eAAe,CASjB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAClC,EAAE,EAAE,cAAc,EAClB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,YAAY,CAAC,EAAE,MAAM,GACnB,eAAe,CAYjB;AAED,6GAA6G;AAC7G,wBAAgB,yBAAyB,CACxC,EAAE,EAAE,cAAc,EAClB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,OAAO,EAAE,MAAM,GACb,eAAe,CAOjB;AAED,gHAAgH;AAChH,wBAAgB,8BAA8B,CAC7C,EAAE,EAAE,cAAc,EAClB,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,OAAO,EAAE,MAAM,GACb,eAAe,CAOjB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG,aAAa,GAAG,WAAW,CAAC;AAE9E;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACpC,EAAE,EAAE,cAAc,EAClB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,mBAAmB,GACxB,eAAe,CAWjB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAChC,EAAE,EAAE,cAAc,EAClB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,QAAQ,EAAE,cAAc,GAAG,OAAO,GAAG,YAAY,GAAG,2BAA2B;AAC/E;;;;GAIG;AACH,KAAK,EAAE,mBAAmB,GACxB,eAAe,CAEjB;AAuBD,6GAA6G;AAC7G,wBAAgB,yCAAyC,CACxD,EAAE,EAAE,cAAc,EAClB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,OAAO,EAAE,WAAW,EAAE,GACpB,eAAe,CAQjB;AAED,0GAA0G;AAC1G,wBAAgB,+CAA+C,CAC9D,EAAE,EAAE,cAAc,EAClB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,OAAO,EAAE,iBAAiB,EAAE,GAC1B,eAAe,CAQjB;AAED,+FAA+F;AAC/F,wBAAgB,yBAAyB,CACxC,EAAE,EAAE,cAAc,EAClB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,YAAY,EAAE,MAAM,GAAG,SAAS,GAC9B,eAAe,CAOjB;AAED,uHAAuH;AACvH,wBAAgB,wBAAwB,CACvC,EAAE,EAAE,cAAc,EAClB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,YAAY,EAAE,MAAM,GAAG,SAAS,GAC9B,eAAe,CAOjB"}
1
+ {"version":3,"file":"warnings.d.ts","sourceRoot":"","sources":["../../../../src/plus/integrations/reads/warnings.ts"],"names":[],"mappings":"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"}
@@ -78,10 +78,7 @@ export function incompleteReadWarning(id, domain, connectionId, message, cause)
78
78
  },
79
79
  };
80
80
  }
81
- /**
82
- * {@link incompleteReadWarning} for a paged or drained read, phrased per surface. `'Account-wide issue search'`
83
- * names the composite read that spans several provider searches rather than one surface.
84
- */
81
+ /** {@link incompleteReadWarning} for a paged or drained read, phrased per surface. */
85
82
  export function truncationWarning(id, domain, connectionId, readKind,
86
83
  /**
87
84
  * Deliberately REQUIRED and not defaulted: a default would make one of these the silent fallback at any
@@ -107,20 +104,104 @@ function truncationMessage(id, readKind, cause) {
107
104
  // build here if a cause is added without its own wording. (`collectionOmissionMessage`'s `satisfies never`
108
105
  // is not the same case — that union is the SDK's, and can widen under a dependency bump.)
109
106
  }
107
+ /**
108
+ * The one sentence every "you asked for a narrowing this provider can't express" refusal uses.
109
+ *
110
+ * Shared because the three callers below differ only in a noun: the wording is consumer-visible, and three
111
+ * hand-written copies drift three ways — including the `(supported: …)` clause, which exists to avoid emitting an
112
+ * empty parenthetical and has to be the same guard in all of them.
113
+ */
114
+ function unsupportedNarrowingMessage(id, noun, requested, supported) {
115
+ return `The requested ${noun} (${requested}) are not supported by '${id}'${supported.length > 0 ? ` (supported: ${supported})` : ''}; skipped to avoid returning a wider result than requested.`;
116
+ }
110
117
  /** Warning for an account-wide issue read whose requested filters the provider can't express server-side. */
111
118
  export function unsupportedAccountWideIssueFiltersWarning(id, domain, connectionId, filters) {
112
119
  const supported = providersMetadata[id]?.supportedAccountWideIssueFilters ?? [];
113
- return otherWarning(id, domain, connectionId, `The requested account-wide issue filters (${filters.join(', ')}) are not supported by '${id}'${supported.length ? ` (supported: ${supported.join(', ')})` : ''}; skipped to avoid returning a wider result than requested.`);
120
+ return otherWarning(id, domain, connectionId, unsupportedNarrowingMessage(id, 'account-wide issue filters', filters.join(', '), supported.join(', ')));
114
121
  }
115
122
  /** Warning for an account-wide PR read whose requested relationship union cannot be expressed exactly. */
116
123
  export function unsupportedAccountWidePullRequestFiltersWarning(id, domain, connectionId, filters) {
117
124
  const supported = providersMetadata[id]?.supportedAccountWidePullRequestFilters ?? [];
118
- return otherWarning(id, domain, connectionId, `The requested account-wide pull request filters (${filters.join(', ')}) are not supported by '${id}'${supported.length ? ` (supported: ${supported.join(', ')})` : ''}; skipped to avoid returning a wider result than requested.`);
125
+ return otherWarning(id, domain, connectionId, unsupportedNarrowingMessage(id, 'account-wide pull request filters', filters.join(', '), supported.join(', ')));
119
126
  }
120
127
  /** Warning for a repo-scoped PR read whose requested filters the provider supports none of. */
121
128
  export function unsupportedFiltersWarning(id, domain, connectionId) {
122
129
  return otherWarning(id, domain, connectionId, `The requested pull request filters are not supported by '${id}'; skipped to avoid returning unfiltered results.`);
123
130
  }
131
+ /**
132
+ * Warning for a filtered issue search whose criteria the provider can't serve — either it has no such search at
133
+ * all, or it can't express what was asked for, or the set contradicts itself.
134
+ *
135
+ * One builder for all three because they are one decision from the caller's side ("this search can't be run as
136
+ * asked") and the remedy differs only in what the message says. The rejection shape carries which case it is, so
137
+ * the wording can't drift from the check that produced it (see {@link resolveIssueSearchCriteria}).
138
+ */
139
+ export function unsupportedIssueSearchCriteriaWarning(id, domain, connectionId, rejection) {
140
+ let message;
141
+ switch (rejection.reason) {
142
+ case 'unsupported-search':
143
+ message = `Filtered issue search is not supported by '${id}'; use \`listIssuesPage\` for its own issue reads.`;
144
+ break;
145
+ case 'unsupported-criteria': {
146
+ const supported = providersMetadata[id]?.supportedIssueSearch;
147
+ message = unsupportedNarrowingMessage(id, 'issue search criteria', rejection.criteria.join(', '), supported != null ? describeIssueSearchCapabilities(supported) : '');
148
+ break;
149
+ }
150
+ case 'contradictory-relationships':
151
+ message = `The relationships \`any-assignee\` and \`unassigned\` are contradictory — they partition the scope between them, so no issue satisfies both; pass only one.`;
152
+ break;
153
+ }
154
+ // No `default`: the union is declared alongside the validator, so `noImplicitReturns` fails the build here if
155
+ // a rejection reason is added without its own wording.
156
+ return otherWarning(id, domain, connectionId, message);
157
+ }
158
+ /** The criteria a provider CAN express, for the "supported: …" half of a refusal message. */
159
+ function describeIssueSearchCapabilities(capabilities) {
160
+ const flags = [
161
+ ['text', capabilities.text],
162
+ ['labels', capabilities.labels],
163
+ ['milestone', capabilities.milestone],
164
+ ['updatedAfter', capabilities.updatedAfter],
165
+ ['createdAfter', capabilities.createdAfter],
166
+ ['withoutLinkedPullRequest', capabilities.withoutLinkedPullRequest],
167
+ ['state', capabilities.states],
168
+ ];
169
+ return [
170
+ ...capabilities.relationships.map(r => `relationships:${r}`),
171
+ ...flags.filter(([, supported]) => supported).map(([name]) => name),
172
+ ].join(', ');
173
+ }
174
+ /**
175
+ * The omission for a filtered issue search that hit the provider's RESULT CEILING: more issues matched than the
176
+ * provider will ever serve for one query, however it is paged.
177
+ *
178
+ * Distinct from {@link truncationWarning} because this is the one incompleteness this read can quantify —
179
+ * `totalCount` is how many matched, `limit` how many are reachable — which is what lets a consumer say "19.240
180
+ * matched, showing the 1.000 most recently updated" instead of a bare "results may be incomplete". `recovery:
181
+ * 'none'` because the items past the ceiling are UNREACHABLE, not merely unfetched: no budget, no retry, and no
182
+ * cursor would return them. Narrowing the criteria is the only way through, which is a decision for the caller.
183
+ *
184
+ * Returns `undefined` when the provider declares no ceiling, so the caller falls back to the generic wording
185
+ * rather than reporting a limit it invented.
186
+ */
187
+ export function issueSearchCapResultWarning(id, domain, connectionId, totalCount) {
188
+ const limit = providersMetadata[id]?.issueSearchResultLimit;
189
+ if (limit == null)
190
+ return undefined;
191
+ // Below the ceiling this warning would be a false claim; the caller's truncation had another cause.
192
+ if (totalCount == null || totalCount <= limit)
193
+ return undefined;
194
+ return {
195
+ ...otherWarning(id, domain, connectionId, `Issue search matched ${totalCount} results, but '${id}' serves at most ${limit}; narrow the search to read the rest.`),
196
+ omission: {
197
+ kind: 'provider-limit',
198
+ // The items past the ceiling can't be fetched by anything, so never offer a "load more".
199
+ recovery: 'none',
200
+ limit: limit,
201
+ totalCount: totalCount,
202
+ },
203
+ };
204
+ }
124
205
  /** Warning for a git host that doesn't expose issues on this surface (e.g. Bitbucket, deprecated in favor of Jira). */
125
206
  export function issuesUnsupportedWarning(id, domain, connectionId) {
126
207
  return otherWarning(id, domain, connectionId, `Issues are not supported by '${id}'; use a dedicated issue integration (e.g. Jira) instead.`);
@@ -1 +1 @@
1
- {"version":3,"file":"warnings.js","sourceRoot":"","sources":["../../../../src/plus/integrations/reads/warnings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"warnings.js","sourceRoot":"","sources":["../../../../src/plus/integrations/reads/warnings.ts"],"names":[],"mappings":"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"}