@cat-factory/integrations 0.63.0 → 0.65.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.
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/modules/github/GitHubSyncService.d.ts +11 -1
- package/dist/modules/github/GitHubSyncService.d.ts.map +1 -1
- package/dist/modules/github/GitHubSyncService.js +23 -1
- package/dist/modules/github/GitHubSyncService.js.map +1 -1
- package/dist/modules/github/WebhookService.d.ts +10 -1
- package/dist/modules/github/WebhookService.d.ts.map +1 -1
- package/dist/modules/github/WebhookService.js +1 -0
- package/dist/modules/github/WebhookService.js.map +1 -1
- package/dist/modules/runners/HttpRunnerPoolProvider.js +16 -0
- package/dist/modules/runners/HttpRunnerPoolProvider.js.map +1 -1
- package/dist/modules/tasks/BugIntakeService.d.ts +50 -0
- package/dist/modules/tasks/BugIntakeService.d.ts.map +1 -0
- package/dist/modules/tasks/BugIntakeService.js +108 -0
- package/dist/modules/tasks/BugIntakeService.js.map +1 -0
- package/dist/modules/tasks/GitHubIssuesProvider.d.ts +11 -1
- package/dist/modules/tasks/GitHubIssuesProvider.d.ts.map +1 -1
- package/dist/modules/tasks/GitHubIssuesProvider.js +49 -0
- package/dist/modules/tasks/GitHubIssuesProvider.js.map +1 -1
- package/dist/modules/tasks/JiraProvider.d.ts +10 -1
- package/dist/modules/tasks/JiraProvider.d.ts.map +1 -1
- package/dist/modules/tasks/JiraProvider.js +15 -2
- package/dist/modules/tasks/JiraProvider.js.map +1 -1
- package/dist/modules/tasks/LinearTaskProvider.d.ts +13 -1
- package/dist/modules/tasks/LinearTaskProvider.d.ts.map +1 -1
- package/dist/modules/tasks/LinearTaskProvider.js +35 -1
- package/dist/modules/tasks/LinearTaskProvider.js.map +1 -1
- package/dist/modules/tasks/TaskConnectionService.d.ts +9 -0
- package/dist/modules/tasks/TaskConnectionService.d.ts.map +1 -1
- package/dist/modules/tasks/TaskConnectionService.js +12 -0
- package/dist/modules/tasks/TaskConnectionService.js.map +1 -1
- package/dist/modules/tasks/TaskLinkService.d.ts +22 -0
- package/dist/modules/tasks/TaskLinkService.d.ts.map +1 -1
- package/dist/modules/tasks/TaskLinkService.js +0 -0
- package/dist/modules/tasks/TaskLinkService.js.map +1 -1
- package/dist/modules/tasks/github-issues.logic.d.ts +14 -1
- package/dist/modules/tasks/github-issues.logic.d.ts.map +1 -1
- package/dist/modules/tasks/github-issues.logic.js +32 -0
- package/dist/modules/tasks/github-issues.logic.js.map +1 -1
- package/dist/modules/tasks/jira.logic.d.ts +11 -1
- package/dist/modules/tasks/jira.logic.d.ts.map +1 -1
- package/dist/modules/tasks/jira.logic.js +27 -0
- package/dist/modules/tasks/jira.logic.js.map +1 -1
- package/dist/modules/tasks/linear.logic.d.ts +46 -1
- package/dist/modules/tasks/linear.logic.d.ts.map +1 -1
- package/dist/modules/tasks/linear.logic.js +60 -0
- package/dist/modules/tasks/linear.logic.js.map +1 -1
- package/dist/modules/tracker/jira.writeback.logic.d.ts +6 -5
- package/dist/modules/tracker/jira.writeback.logic.d.ts.map +1 -1
- package/dist/modules/tracker/jira.writeback.logic.js +7 -6
- package/dist/modules/tracker/jira.writeback.logic.js.map +1 -1
- package/dist/modules/tracker/linear.writeback.logic.d.ts +6 -4
- package/dist/modules/tracker/linear.writeback.logic.d.ts.map +1 -1
- package/dist/modules/tracker/linear.writeback.logic.js +7 -5
- package/dist/modules/tracker/linear.writeback.logic.js.map +1 -1
- package/dist/modules/writeback/IssueWritebackService.d.ts +30 -3
- package/dist/modules/writeback/IssueWritebackService.d.ts.map +1 -1
- package/dist/modules/writeback/IssueWritebackService.js +70 -9
- package/dist/modules/writeback/IssueWritebackService.js.map +1 -1
- package/package.json +3 -3
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskLinkService.js","sourceRoot":"","sources":["../../../src/modules/tasks/TaskLinkService.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"TaskLinkService.js","sourceRoot":"","sources":["../../../src/modules/tasks/TaskLinkService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { TaskDependencyLink, TaskSearchRepoScope, TaskSourceDescriptor } from '@cat-factory/kernel';
|
|
1
|
+
import type { IssueIntakeQuery, TaskDependencyLink, TaskSearchRepoScope, TaskSourceDescriptor } from '@cat-factory/kernel';
|
|
2
2
|
/**
|
|
3
3
|
* What the connect UI renders. GitHub issues piggyback on the workspace's
|
|
4
4
|
* existing GitHub App installation, so there are NO credential fields — the
|
|
@@ -50,6 +50,19 @@ export declare function parseIssueDependencyLinks(body: string, contextOwner: st
|
|
|
50
50
|
* `is:issue`, so this returns only the user's text plus the optional scope.
|
|
51
51
|
*/
|
|
52
52
|
export declare function buildGitHubIssueSearchQuery(query: string, scope?: TaskSearchRepoScope): string;
|
|
53
|
+
/**
|
|
54
|
+
* Build the GitHub search text for an issue-intake predicate search: open issues
|
|
55
|
+
* in the configured repo matching every present predicate. Labels become
|
|
56
|
+
* `label:"…"` qualifiers (each must be present), the issue type the org-level
|
|
57
|
+
* `type:"…"` qualifier (repos without issue types simply match nothing for it —
|
|
58
|
+
* the conventional fallback is labelling bugs, which the `labels` predicate
|
|
59
|
+
* covers), and the title fragment `in:title` text. The adapter appends
|
|
60
|
+
* `is:issue`; oldest-first ordering is NOT in-query — the caller passes the
|
|
61
|
+
* search API's `created-asc` order (see `GitHubClient.searchIssues`). The
|
|
62
|
+
* already-worked exclusion list is not expressible in GitHub search; the
|
|
63
|
+
* provider filters it from a bounded overscan.
|
|
64
|
+
*/
|
|
65
|
+
export declare function buildGitHubIntakeQuery(query: IssueIntakeQuery): string;
|
|
53
66
|
/**
|
|
54
67
|
* Resolve raw search input that names ONE specific issue (rather than free text)
|
|
55
68
|
* into its canonical `owner/repo#number` external id, so the caller can fetch it
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-issues.logic.d.ts","sourceRoot":"","sources":["../../../src/modules/tasks/github-issues.logic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,qBAAqB,CAAA;AAU5B;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,EAAE,oBAQtC,CAAA;AAED,0EAA0E;AAC1E,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,qBAAqB,GAAG,MAAM,CAEvE;AAMD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAShE;AAED,qEAAqE;AACrE,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI,CAI3F;AAED,sDAAsD;AACtD,wBAAgB,cAAc,CAAC,EAAE,EAAE,qBAAqB,GAAG,MAAM,CAEhE;AAWD;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,GAClB,kBAAkB,EAAE,CA0CtB;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,mBAAmB,GAAG,MAAM,CAK9F;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,mBAAmB,GAC1B,MAAM,GAAG,IAAI,CAQf"}
|
|
1
|
+
{"version":3,"file":"github-issues.logic.d.ts","sourceRoot":"","sources":["../../../src/modules/tasks/github-issues.logic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,qBAAqB,CAAA;AAU5B;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,EAAE,oBAQtC,CAAA;AAED,0EAA0E;AAC1E,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,qBAAqB,GAAG,MAAM,CAEvE;AAMD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAShE;AAED,qEAAqE;AACrE,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI,CAI3F;AAED,sDAAsD;AACtD,wBAAgB,cAAc,CAAC,EAAE,EAAE,qBAAqB,GAAG,MAAM,CAEhE;AAWD;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,GAClB,kBAAkB,EAAE,CA0CtB;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,mBAAmB,GAAG,MAAM,CAK9F;AAOD;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAWtE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,mBAAmB,GAC1B,MAAM,GAAG,IAAI,CAQf"}
|
|
@@ -146,6 +146,38 @@ export function buildGitHubIssueSearchQuery(query, scope) {
|
|
|
146
146
|
const repoQualifier = `repo:${scope.owner}/${scope.repo}`;
|
|
147
147
|
return text ? `${repoQualifier} ${text}` : repoQualifier;
|
|
148
148
|
}
|
|
149
|
+
/** Quote a user value for a GitHub search qualifier (`label:"needs triage"`); embedded quotes are dropped. */
|
|
150
|
+
function quoteQualifierValue(value) {
|
|
151
|
+
return `"${value.replace(/"/g, '').trim()}"`;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Build the GitHub search text for an issue-intake predicate search: open issues
|
|
155
|
+
* in the configured repo matching every present predicate. Labels become
|
|
156
|
+
* `label:"…"` qualifiers (each must be present), the issue type the org-level
|
|
157
|
+
* `type:"…"` qualifier (repos without issue types simply match nothing for it —
|
|
158
|
+
* the conventional fallback is labelling bugs, which the `labels` predicate
|
|
159
|
+
* covers), and the title fragment `in:title` text. The adapter appends
|
|
160
|
+
* `is:issue`; oldest-first ordering is NOT in-query — the caller passes the
|
|
161
|
+
* search API's `created-asc` order (see `GitHubClient.searchIssues`). The
|
|
162
|
+
* already-worked exclusion list is not expressible in GitHub search; the
|
|
163
|
+
* provider filters it from a bounded overscan.
|
|
164
|
+
*/
|
|
165
|
+
export function buildGitHubIntakeQuery(query) {
|
|
166
|
+
const parts = [];
|
|
167
|
+
if (query.board.githubRepo)
|
|
168
|
+
parts.push(`repo:${query.board.githubRepo.trim()}`);
|
|
169
|
+
parts.push('is:open');
|
|
170
|
+
if (query.issueType)
|
|
171
|
+
parts.push(`type:${quoteQualifierValue(query.issueType)}`);
|
|
172
|
+
for (const label of query.labels ?? [])
|
|
173
|
+
parts.push(`label:${quoteQualifierValue(label)}`);
|
|
174
|
+
// Quote the fragment as a literal phrase so a value that happens to contain a search
|
|
175
|
+
// qualifier (e.g. `crash state:closed`) is matched as title text, not parsed as an
|
|
176
|
+
// extra qualifier that would silently contradict `is:open` or widen the repo scope.
|
|
177
|
+
if (query.titleFragment)
|
|
178
|
+
parts.push(`in:title ${quoteQualifierValue(query.titleFragment)}`);
|
|
179
|
+
return parts.join(' ');
|
|
180
|
+
}
|
|
149
181
|
/**
|
|
150
182
|
* Resolve raw search input that names ONE specific issue (rather than free text)
|
|
151
183
|
* into its canonical `owner/repo#number` external id, so the caller can fetch it
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-issues.logic.js","sourceRoot":"","sources":["../../../src/modules/tasks/github-issues.logic.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"github-issues.logic.js","sourceRoot":"","sources":["../../../src/modules/tasks/github-issues.logic.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { TaskDependencyLink, TaskSearchResult, TaskSourceDescriptor } from '@cat-factory/kernel';
|
|
1
|
+
import type { IssueIntakeQuery, TaskDependencyLink, TaskSearchResult, TaskSourceDescriptor } from '@cat-factory/kernel';
|
|
2
2
|
/** What the connect UI renders, and which credentials the provider needs. */
|
|
3
3
|
export declare const JIRA_DESCRIPTOR: TaskSourceDescriptor;
|
|
4
4
|
/**
|
|
@@ -7,6 +7,16 @@ export declare const JIRA_DESCRIPTOR: TaskSourceDescriptor;
|
|
|
7
7
|
* `text ~`, so the search box doubles as a quick "jump to issue".
|
|
8
8
|
*/
|
|
9
9
|
export declare function buildJiraSearchJql(query: string): string;
|
|
10
|
+
/**
|
|
11
|
+
* Build the JQL for an issue-intake predicate search: open issues
|
|
12
|
+
* (`statusCategory != Done`) in the configured project matching every present
|
|
13
|
+
* predicate, oldest first. All predicates are pushed into the query (including
|
|
14
|
+
* the already-worked exclusion list, as `issuekey NOT IN`) so Jira does the
|
|
15
|
+
* filtering — never fetch-all-then-filter. Excluded ids are validated against
|
|
16
|
+
* the issue-key shape (and embedded unquoted, as JQL requires for keys), so a
|
|
17
|
+
* malformed stored id can't break — or inject into — the query.
|
|
18
|
+
*/
|
|
19
|
+
export declare function buildJiraIntakeJql(query: IssueIntakeQuery): string;
|
|
10
20
|
/** Map a Jira search response into lean hits; URLs are the canonical `/browse/KEY`. */
|
|
11
21
|
export declare function parseJiraSearchResults(json: unknown, base: string): TaskSearchResult[];
|
|
12
22
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jira.logic.d.ts","sourceRoot":"","sources":["../../../src/modules/tasks/jira.logic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,qBAAqB,CAAA;AAS5B,6EAA6E;AAC7E,eAAO,MAAM,eAAe,EAAE,oBAuB7B,CAAA;AAOD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAExD;AASD,uFAAuF;AACvF,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAgBtF;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAWzD;AAED,mFAAmF;AACnF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKxD;AAED,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAEzE;AAED,0EAA0E;AAC1E,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC3D,WAAW,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC9B,YAAY,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAChC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,EAAE,CAgCtE;AAcD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAUnD"}
|
|
1
|
+
{"version":3,"file":"jira.logic.d.ts","sourceRoot":"","sources":["../../../src/modules/tasks/jira.logic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,qBAAqB,CAAA;AAS5B,6EAA6E;AAC7E,eAAO,MAAM,eAAe,EAAE,oBAuB7B,CAAA;AAOD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAExD;AAKD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAWlE;AASD,uFAAuF;AACvF,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAgBtF;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAWzD;AAED,mFAAmF;AACnF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKxD;AAED,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAEzE;AAED,0EAA0E;AAC1E,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC3D,WAAW,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC9B,YAAY,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAChC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,EAAE,CAgCtE;AAcD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAUnD"}
|
|
@@ -41,6 +41,33 @@ function escapeJql(query) {
|
|
|
41
41
|
export function buildJiraSearchJql(query) {
|
|
42
42
|
return `text ~ "${escapeJql(query.trim())}" ORDER BY updated DESC`;
|
|
43
43
|
}
|
|
44
|
+
/** A well-formed Jira issue key (`PROJ-123`) — the only shape allowed into a JQL `IN` list. */
|
|
45
|
+
const JIRA_KEY = /^[A-Za-z][A-Za-z0-9]+-\d+$/;
|
|
46
|
+
/**
|
|
47
|
+
* Build the JQL for an issue-intake predicate search: open issues
|
|
48
|
+
* (`statusCategory != Done`) in the configured project matching every present
|
|
49
|
+
* predicate, oldest first. All predicates are pushed into the query (including
|
|
50
|
+
* the already-worked exclusion list, as `issuekey NOT IN`) so Jira does the
|
|
51
|
+
* filtering — never fetch-all-then-filter. Excluded ids are validated against
|
|
52
|
+
* the issue-key shape (and embedded unquoted, as JQL requires for keys), so a
|
|
53
|
+
* malformed stored id can't break — or inject into — the query.
|
|
54
|
+
*/
|
|
55
|
+
export function buildJiraIntakeJql(query) {
|
|
56
|
+
const clauses = [];
|
|
57
|
+
if (query.board.jiraProjectKey)
|
|
58
|
+
clauses.push(`project = "${escapeJql(query.board.jiraProjectKey)}"`);
|
|
59
|
+
clauses.push('statusCategory != Done');
|
|
60
|
+
if (query.issueType)
|
|
61
|
+
clauses.push(`issuetype = "${escapeJql(query.issueType)}"`);
|
|
62
|
+
for (const label of query.labels ?? [])
|
|
63
|
+
clauses.push(`labels = "${escapeJql(label)}"`);
|
|
64
|
+
if (query.titleFragment)
|
|
65
|
+
clauses.push(`summary ~ "${escapeJql(query.titleFragment)}"`);
|
|
66
|
+
const excluded = (query.excludeExternalIds ?? []).filter((id) => JIRA_KEY.test(id));
|
|
67
|
+
if (excluded.length > 0)
|
|
68
|
+
clauses.push(`issuekey NOT IN (${excluded.join(', ')})`);
|
|
69
|
+
return `${clauses.join(' AND ')} ORDER BY created ASC`;
|
|
70
|
+
}
|
|
44
71
|
/** Map a Jira search response into lean hits; URLs are the canonical `/browse/KEY`. */
|
|
45
72
|
export function parseJiraSearchResults(json, base) {
|
|
46
73
|
const body = (json ?? {});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jira.logic.js","sourceRoot":"","sources":["../../../src/modules/tasks/jira.logic.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"jira.logic.js","sourceRoot":"","sources":["../../../src/modules/tasks/jira.logic.ts"],"names":[],"mappings":"AAOA,0EAA0E;AAC1E,gFAAgF;AAChF,iFAAiF;AACjF,2EAA2E;AAC3E,+EAA+E;AAC/E,yBAAyB;AAEzB,6EAA6E;AAC7E,MAAM,CAAC,MAAM,eAAe,GAAyB;IACnD,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,uBAAuB;IAC7B,gBAAgB,EAAE;QAChB;YACE,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,iCAAiC;YAC9C,IAAI,EAAE,sCAAsC;SAC7C;QACD,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,iBAAiB,EAAE;QAC/E;YACE,GAAG,EAAE,UAAU;YACf,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,wBAAwB;YACrC,IAAI,EAAE,wDAAwD;SAC/D;KACF;IACD,QAAQ,EAAE,kBAAkB;IAC5B,cAAc,EAAE,yCAAyC;IACzD,UAAU,EAAE,IAAI;CACjB,CAAA;AAED,6EAA6E;AAC7E,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AAC1D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,OAAO,WAAW,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,yBAAyB,CAAA;AACpE,CAAC;AAED,+FAA+F;AAC/F,MAAM,QAAQ,GAAG,4BAA4B,CAAA;AAE7C;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAuB;IACxD,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,IAAI,KAAK,CAAC,KAAK,CAAC,cAAc;QAC5B,OAAO,CAAC,IAAI,CAAC,cAAc,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;IACtE,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;IACtC,IAAI,KAAK,CAAC,SAAS;QAAE,OAAO,CAAC,IAAI,CAAC,gBAAgB,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;IAChF,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE;QAAE,OAAO,CAAC,IAAI,CAAC,aAAa,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACtF,IAAI,KAAK,CAAC,aAAa;QAAE,OAAO,CAAC,IAAI,CAAC,cAAc,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;IACtF,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;IACnF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,oBAAoB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACjF,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAA;AACxD,CAAC;AASD,uFAAuF;AACvF,MAAM,UAAU,sBAAsB,CAAC,IAAa,EAAE,IAAY;IAChE,MAAM,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,CAAuB,CAAA;IAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IAC1C,MAAM,GAAG,GAAuB,EAAE,CAAA;IAClC,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAClE,IAAI,CAAC,KAAK,CAAC,GAAG;YAAE,SAAQ;QACxB,GAAG,CAAC,IAAI,CAAC;YACP,MAAM,EAAE,MAAM;YACd,UAAU,EAAE,KAAK,CAAC,GAAG;YACrB,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,IAAI,YAAY;YAC5C,GAAG,EAAE,GAAG,SAAS,WAAW,KAAK,CAAC,GAAG,EAAE;YACvC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,IAAI,EAAE;YACxC,OAAO,EAAE,EAAE;SACZ,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IAC5B,MAAM,GAAG,GAAG,0BAA0B,CAAA;IACtC,IAAI,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC,WAAW,EAAE,CAAA;IAC7E,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,YAAY,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACnE,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,CAAA;IAC3C,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,sBAAsB,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC/E,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,CAAA;IAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,YAAY,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACnE,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,CAAA;IAC3C,OAAO,IAAI,CAAA;AACb,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,uFAAuF;IACvF,oFAAoF;IACpF,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;IAC/B,OAAO,cAAc,CAAC,uBAAuB,CAAC,yBAAyB,CAAA;AACzE,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,cAAc,CAAC,aAAiC;IAC9D,OAAO,CAAC,CAAC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;AACvD,CAAC;AASD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IACpC,MAAM,GAAG,GAAyB,EAAE,CAAA;IACpC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAC9B,KAAK,MAAM,GAAG,IAAI,KAAwB,EAAE,CAAC;QAC3C,MAAM,SAAS,GAAG,GAAG,EAAE,WAAW,EAAE,GAAG,CAAA;QACvC,MAAM,UAAU,GAAG,GAAG,EAAE,YAAY,EAAE,GAAG,CAAA;QACzC,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;QAC5D,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;QAC9D,6FAA6F;QAC7F,yFAAyF;QACzF,yEAAyE;QACzE,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,IAAI,GAA+B,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;gBACjE,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC;oBAC3B,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAC,SAAS,CAAA;YACf,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;QACtC,CAAC;QACD,iFAAiF;QACjF,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,IAAI,GAA+B,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;gBAClE,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC;oBAC5B,CAAC,CAAC,oEAAoE;wBACpE,WAAW;oBACb,CAAC,CAAC,SAAS,CAAA;YACf,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAAA;QACvC,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,QAAQ,CACf,GAAyB,EACzB,IAAiB,EACjB,IAAgC,EAChC,UAAkB;IAElB,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,UAAU,EAAE,CAAA;IACnC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAM;IACzB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACb,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAA;AAChC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,IAAa;IACzC,IAAI,IAAI,IAAI,IAAI;QAAE,OAAO,EAAE,CAAA;IAC3B,kEAAkE;IAClE,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,CAAA;IAChD,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAA;IACvC,MAAM,GAAG,GAAG,UAAU,CAAC,IAAe,CAAC,CAAA;IACvC,OAAO,GAAG;SACP,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC;SAC1B,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC;SAC1B,IAAI,EAAE,CAAA;AACX,CAAC;AASD,8CAA8C;AAC9C,SAAS,cAAc,CAAC,IAAa;IACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAA;IAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,KAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAC3E,CAAC;AAED,oFAAoF;AACpF,SAAS,YAAY,CAAC,IAAa;IACjC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC,IAAI,IAAI,EAAE,CAAA;IAChD,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,GAAG,CAAA;IACzC,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;QAChC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QACtE,CAAC,CAAC,EAAE,CAAA;AACR,CAAC;AAED,SAAS,UAAU,CAAC,IAAa;IAC/B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,EAAE,CAAA;IACxD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,IAAI,CAAC,IAAI,IAAI,EAAE,CAAA;QACxB,KAAK,WAAW;YACd,OAAO,IAAI,CAAA;QACb,KAAK,WAAW;YACd,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAA;QACtC,KAAK,SAAS,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YAC3E,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,CAAA;QAChE,CAAC;QACD,KAAK,YAAY,CAAC;QAClB,KAAK,aAAa;YAChB,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAA;QACpC,KAAK,UAAU;YACb,OAAO,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAA;QAC3C,KAAK,WAAW;YACd,OAAO,WAAW,YAAY,CAAC,IAAI,CAAC,cAAc,CAAA;QACpD,KAAK,YAAY;YACf,OAAO,cAAc,CAAC,IAAI,CAAC,CAAA;QAC7B;YACE,4EAA4E;YAC5E,OAAO,cAAc,CAAC,IAAI,CAAC,CAAA;IAC/B,CAAC;AACH,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { TaskComment, TaskContent, TaskDependencyLink, TaskSearchResult, TaskSourceDescriptor } from '@cat-factory/kernel';
|
|
1
|
+
import type { IssueIntakeQuery, TaskComment, TaskContent, TaskDependencyLink, TaskSearchResult, TaskSourceDescriptor } from '@cat-factory/kernel';
|
|
2
2
|
/** What the connect UI renders, and which credentials the provider needs. */
|
|
3
3
|
export declare const LINEAR_TASK_DESCRIPTOR: TaskSourceDescriptor;
|
|
4
4
|
/**
|
|
@@ -21,6 +21,51 @@ export declare const LINEAR_ISSUE_CHILDREN_QUERY = "query IssueChildren($id: Str
|
|
|
21
21
|
export declare const LINEAR_ISSUE_COMMENTS_QUERY = "query IssueComments($id: String!, $after: String!) {\n issue(id: $id) {\n comments(first: 100, after: $after) {\n nodes { user { name } createdAt body }\n pageInfo { hasNextPage endCursor }\n }\n }\n}";
|
|
22
22
|
/** Free-text issue search (used to populate the import picker). */
|
|
23
23
|
export declare const LINEAR_SEARCH_ISSUES_QUERY = "query SearchIssues($term: String!) {\n searchIssues(term: $term, first: 20) {\n nodes { identifier title url state { name } }\n }\n}";
|
|
24
|
+
/**
|
|
25
|
+
* Issue-intake predicate search. The predicates travel as an `IssueFilter`
|
|
26
|
+
* variable (see {@link buildLinearIntakeFilter}); `sort` asks Linear for
|
|
27
|
+
* oldest-created-first so the page window IS the oldest matching issues (a
|
|
28
|
+
* client-side sort of a newest-first page would pick the oldest of the newest —
|
|
29
|
+
* wrong for a backlog larger than one page). Nodes carry `createdAt` so the
|
|
30
|
+
* mapper can enforce the ordering deterministically regardless.
|
|
31
|
+
*/
|
|
32
|
+
export declare const LINEAR_INTAKE_ISSUES_QUERY = "query IntakeIssues($filter: IssueFilter, $first: Int!, $after: String) {\n issues(filter: $filter, first: $first, after: $after, sort: [{ createdAt: { order: Ascending } }]) {\n nodes { identifier title url createdAt state { name } }\n pageInfo { hasNextPage endCursor }\n }\n}";
|
|
33
|
+
/**
|
|
34
|
+
* Bounded page walk for issue-intake overscan: the already-worked (excluded) issues
|
|
35
|
+
* cluster at the front of the oldest-first results, so page through (bounded) rather
|
|
36
|
+
* than let a first page full of them starve the pickup.
|
|
37
|
+
*/
|
|
38
|
+
export declare const LINEAR_INTAKE_PAGE_CAP = 5;
|
|
39
|
+
/**
|
|
40
|
+
* Compile an intake query's predicates onto a Linear `IssueFilter`: the team
|
|
41
|
+
* scope, open-only (state type not completed/canceled), every label present
|
|
42
|
+
* (one `labels.some` clause per label, AND-ed), and the title fragment as
|
|
43
|
+
* `containsIgnoreCase`. Linear has no issue-type notion, so `issueType` is
|
|
44
|
+
* ignored (teams label their bugs — the `labels` predicate covers it). The
|
|
45
|
+
* already-worked exclusion list is not expressible on the human identifier;
|
|
46
|
+
* the provider filters it from a bounded overscan (see the mapper).
|
|
47
|
+
*/
|
|
48
|
+
export declare function buildLinearIntakeFilter(query: IssueIntakeQuery): Record<string, unknown>;
|
|
49
|
+
/** One node of the intake `issues` connection (the slice we read). */
|
|
50
|
+
export interface LinearIntakeNode extends LinearSearchNode {
|
|
51
|
+
createdAt?: string;
|
|
52
|
+
}
|
|
53
|
+
/** One page of the intake `issues` connection (nodes + the cursor for the overscan walk). */
|
|
54
|
+
export interface LinearIntakePage {
|
|
55
|
+
issues?: {
|
|
56
|
+
nodes?: LinearIntakeNode[];
|
|
57
|
+
pageInfo?: LinearPageInfo | null;
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Map an intake `issues` payload onto lean hits: drop the excluded (already
|
|
62
|
+
* worked) identifiers, order oldest-created-first, and cap at `limit`.
|
|
63
|
+
*/
|
|
64
|
+
export declare function mapLinearIntakeResults(data: {
|
|
65
|
+
issues?: {
|
|
66
|
+
nodes?: LinearIntakeNode[];
|
|
67
|
+
};
|
|
68
|
+
}, limit: number, excludeExternalIds?: string[]): TaskSearchResult[];
|
|
24
69
|
/** List the connection's teams (for the ticket-filing team picker). */
|
|
25
70
|
export declare const LINEAR_TEAMS_QUERY = "query Teams { teams(first: 250) { nodes { id name key } } }";
|
|
26
71
|
/** Cheapest authenticated read, for the live "check setup" probe. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linear.logic.d.ts","sourceRoot":"","sources":["../../../src/modules/tasks/linear.logic.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"linear.logic.d.ts","sourceRoot":"","sources":["../../../src/modules/tasks/linear.logic.ts"],"names":[],"mappings":"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"}
|
|
@@ -81,6 +81,66 @@ export const LINEAR_SEARCH_ISSUES_QUERY = `query SearchIssues($term: String!) {
|
|
|
81
81
|
nodes { identifier title url state { name } }
|
|
82
82
|
}
|
|
83
83
|
}`;
|
|
84
|
+
/**
|
|
85
|
+
* Issue-intake predicate search. The predicates travel as an `IssueFilter`
|
|
86
|
+
* variable (see {@link buildLinearIntakeFilter}); `sort` asks Linear for
|
|
87
|
+
* oldest-created-first so the page window IS the oldest matching issues (a
|
|
88
|
+
* client-side sort of a newest-first page would pick the oldest of the newest —
|
|
89
|
+
* wrong for a backlog larger than one page). Nodes carry `createdAt` so the
|
|
90
|
+
* mapper can enforce the ordering deterministically regardless.
|
|
91
|
+
*/
|
|
92
|
+
export const LINEAR_INTAKE_ISSUES_QUERY = `query IntakeIssues($filter: IssueFilter, $first: Int!, $after: String) {
|
|
93
|
+
issues(filter: $filter, first: $first, after: $after, sort: [{ createdAt: { order: Ascending } }]) {
|
|
94
|
+
nodes { identifier title url createdAt state { name } }
|
|
95
|
+
pageInfo { hasNextPage endCursor }
|
|
96
|
+
}
|
|
97
|
+
}`;
|
|
98
|
+
/**
|
|
99
|
+
* Bounded page walk for issue-intake overscan: the already-worked (excluded) issues
|
|
100
|
+
* cluster at the front of the oldest-first results, so page through (bounded) rather
|
|
101
|
+
* than let a first page full of them starve the pickup.
|
|
102
|
+
*/
|
|
103
|
+
export const LINEAR_INTAKE_PAGE_CAP = 5;
|
|
104
|
+
/**
|
|
105
|
+
* Compile an intake query's predicates onto a Linear `IssueFilter`: the team
|
|
106
|
+
* scope, open-only (state type not completed/canceled), every label present
|
|
107
|
+
* (one `labels.some` clause per label, AND-ed), and the title fragment as
|
|
108
|
+
* `containsIgnoreCase`. Linear has no issue-type notion, so `issueType` is
|
|
109
|
+
* ignored (teams label their bugs — the `labels` predicate covers it). The
|
|
110
|
+
* already-worked exclusion list is not expressible on the human identifier;
|
|
111
|
+
* the provider filters it from a bounded overscan (see the mapper).
|
|
112
|
+
*/
|
|
113
|
+
export function buildLinearIntakeFilter(query) {
|
|
114
|
+
const filter = {
|
|
115
|
+
state: { type: { nin: ['completed', 'canceled'] } },
|
|
116
|
+
};
|
|
117
|
+
if (query.board.linearTeamId)
|
|
118
|
+
filter.team = { id: { eq: query.board.linearTeamId } };
|
|
119
|
+
if (query.titleFragment)
|
|
120
|
+
filter.title = { containsIgnoreCase: query.titleFragment };
|
|
121
|
+
const labels = query.labels ?? [];
|
|
122
|
+
if (labels.length > 0) {
|
|
123
|
+
filter.and = labels.map((label) => ({ labels: { some: { name: { eq: label } } } }));
|
|
124
|
+
}
|
|
125
|
+
return filter;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Map an intake `issues` payload onto lean hits: drop the excluded (already
|
|
129
|
+
* worked) identifiers, order oldest-created-first, and cap at `limit`.
|
|
130
|
+
*/
|
|
131
|
+
export function mapLinearIntakeResults(data, limit, excludeExternalIds = []) {
|
|
132
|
+
const excluded = new Set(excludeExternalIds.map((id) => id.toUpperCase()));
|
|
133
|
+
const nodes = (data.issues?.nodes ?? []).filter((node) => !!node.identifier && !excluded.has(node.identifier.toUpperCase()));
|
|
134
|
+
nodes.sort((a, b) => (a.createdAt ?? '').localeCompare(b.createdAt ?? ''));
|
|
135
|
+
return nodes.slice(0, limit).map((node) => ({
|
|
136
|
+
source: 'linear',
|
|
137
|
+
externalId: node.identifier,
|
|
138
|
+
title: node.title ?? '(untitled)',
|
|
139
|
+
url: node.url ?? `https://linear.app/issue/${node.identifier}`,
|
|
140
|
+
status: node.state?.name ?? '',
|
|
141
|
+
excerpt: '',
|
|
142
|
+
}));
|
|
143
|
+
}
|
|
84
144
|
/** List the connection's teams (for the ticket-filing team picker). */
|
|
85
145
|
export const LINEAR_TEAMS_QUERY = `query Teams { teams(first: 250) { nodes { id name key } } }`;
|
|
86
146
|
/** Cheapest authenticated read, for the live "check setup" probe. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linear.logic.js","sourceRoot":"","sources":["../../../src/modules/tasks/linear.logic.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"linear.logic.js","sourceRoot":"","sources":["../../../src/modules/tasks/linear.logic.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,10 +11,11 @@ export interface JiraTransition {
|
|
|
11
11
|
};
|
|
12
12
|
}
|
|
13
13
|
/**
|
|
14
|
-
* Pick the transition that moves an issue into Jira's standard
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
14
|
+
* Pick the transition that moves an issue into one of Jira's standard status
|
|
15
|
+
* categories: `done` (resolve on merge) or `indeterminate` (Jira's "In
|
|
16
|
+
* Progress" category — the intake pickup mark). Auto-detection only — no
|
|
17
|
+
* per-project mapping. Returns the first matching transition, the conventional
|
|
18
|
+
* action in a standard workflow, or null if none is available.
|
|
18
19
|
*/
|
|
19
|
-
export declare function
|
|
20
|
+
export declare function pickTransitionByCategory(transitions: JiraTransition[], category: 'indeterminate' | 'done'): JiraTransition | null;
|
|
20
21
|
//# sourceMappingURL=jira.writeback.logic.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jira.writeback.logic.d.ts","sourceRoot":"","sources":["../../../src/modules/tracker/jira.writeback.logic.ts"],"names":[],"mappings":"AAMA,2FAA2F;AAC3F,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAE7E;AAED,6EAA6E;AAC7E,MAAM,WAAW,cAAc;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,EAAE,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE;YAAE,GAAG,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;CAC3C;AAED
|
|
1
|
+
{"version":3,"file":"jira.writeback.logic.d.ts","sourceRoot":"","sources":["../../../src/modules/tracker/jira.writeback.logic.ts"],"names":[],"mappings":"AAMA,2FAA2F;AAC3F,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAE7E;AAED,6EAA6E;AAC7E,MAAM,WAAW,cAAc;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,EAAE,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE;YAAE,GAAG,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;CAC3C;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,cAAc,EAAE,EAC7B,QAAQ,EAAE,eAAe,GAAG,MAAM,GACjC,cAAc,GAAG,IAAI,CAEvB"}
|
|
@@ -7,12 +7,13 @@ export function buildJiraCommentPayload(body) {
|
|
|
7
7
|
return { body: markdownToAdf(body) };
|
|
8
8
|
}
|
|
9
9
|
/**
|
|
10
|
-
* Pick the transition that moves an issue into Jira's standard
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
10
|
+
* Pick the transition that moves an issue into one of Jira's standard status
|
|
11
|
+
* categories: `done` (resolve on merge) or `indeterminate` (Jira's "In
|
|
12
|
+
* Progress" category — the intake pickup mark). Auto-detection only — no
|
|
13
|
+
* per-project mapping. Returns the first matching transition, the conventional
|
|
14
|
+
* action in a standard workflow, or null if none is available.
|
|
14
15
|
*/
|
|
15
|
-
export function
|
|
16
|
-
return transitions.find((t) => t.to?.statusCategory?.key ===
|
|
16
|
+
export function pickTransitionByCategory(transitions, category) {
|
|
17
|
+
return transitions.find((t) => t.to?.statusCategory?.key === category && t.id) ?? null;
|
|
17
18
|
}
|
|
18
19
|
//# sourceMappingURL=jira.writeback.logic.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jira.writeback.logic.js","sourceRoot":"","sources":["../../../src/modules/tracker/jira.writeback.logic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAEtD,kFAAkF;AAClF,kFAAkF;AAClF,mFAAmF;AAEnF,2FAA2F;AAC3F,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,OAAO,EAAE,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,CAAA;AACtC,CAAC;AASD
|
|
1
|
+
{"version":3,"file":"jira.writeback.logic.js","sourceRoot":"","sources":["../../../src/modules/tracker/jira.writeback.logic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAEtD,kFAAkF;AAClF,kFAAkF;AAClF,mFAAmF;AAEnF,2FAA2F;AAC3F,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,OAAO,EAAE,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,CAAA;AACtC,CAAC;AASD;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACtC,WAA6B,EAC7B,QAAkC;IAElC,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,cAAc,EAAE,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAA;AACxF,CAAC"}
|
|
@@ -21,9 +21,11 @@ export interface LinearWorkflowState {
|
|
|
21
21
|
type?: string;
|
|
22
22
|
}
|
|
23
23
|
/**
|
|
24
|
-
* Pick the id of the team's
|
|
25
|
-
* resolved category
|
|
26
|
-
*
|
|
24
|
+
* Pick the id of the team's workflow state of a given standard type — `completed`
|
|
25
|
+
* (Linear's resolved category, the merge-resolve target) or `started` (its "In
|
|
26
|
+
* Progress" category, the intake pickup mark) — or null if none exists. Returns
|
|
27
|
+
* the first match, the conventional target in a default workflow. The Linear
|
|
28
|
+
* analogue of Jira's {@link pickTransitionByCategory}.
|
|
27
29
|
*/
|
|
28
|
-
export declare function
|
|
30
|
+
export declare function pickStateIdByType(states: LinearWorkflowState[], type: 'completed' | 'started'): string | null;
|
|
29
31
|
//# sourceMappingURL=linear.writeback.logic.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linear.writeback.logic.d.ts","sourceRoot":"","sources":["../../../src/modules/tracker/linear.writeback.logic.ts"],"names":[],"mappings":"AAYA,4EAA4E;AAC5E,eAAO,MAAM,qBAAqB,8DAEhC,CAAA;AAEF,6EAA6E;AAC7E,eAAO,MAAM,iCAAiC,4HAK5C,CAAA;AAEF,oCAAoC;AACpC,eAAO,MAAM,8BAA8B,yGAEzC,CAAA;AAEF,mEAAmE;AACnE,eAAO,MAAM,4BAA4B,0HAEvC,CAAA;AAEF,wEAAwE;AACxE,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GACX;IAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAEpC;AAED,gFAAgF;AAChF,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAEhD;AAED,gEAAgE;AAChE,MAAM,WAAW,mBAAmB;IAClC,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED
|
|
1
|
+
{"version":3,"file":"linear.writeback.logic.d.ts","sourceRoot":"","sources":["../../../src/modules/tracker/linear.writeback.logic.ts"],"names":[],"mappings":"AAYA,4EAA4E;AAC5E,eAAO,MAAM,qBAAqB,8DAEhC,CAAA;AAEF,6EAA6E;AAC7E,eAAO,MAAM,iCAAiC,4HAK5C,CAAA;AAEF,oCAAoC;AACpC,eAAO,MAAM,8BAA8B,yGAEzC,CAAA;AAEF,mEAAmE;AACnE,eAAO,MAAM,4BAA4B,0HAEvC,CAAA;AAEF,wEAAwE;AACxE,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GACX;IAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAEpC;AAED,gFAAgF;AAChF,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAEhD;AAED,gEAAgE;AAChE,MAAM,WAAW,mBAAmB;IAClC,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,mBAAmB,EAAE,EAC7B,IAAI,EAAE,WAAW,GAAG,SAAS,GAC5B,MAAM,GAAG,IAAI,CAEf"}
|
|
@@ -37,11 +37,13 @@ export function buildLinearStateUpdateVariables(issueId, stateId) {
|
|
|
37
37
|
return { id: issueId, input: { stateId } };
|
|
38
38
|
}
|
|
39
39
|
/**
|
|
40
|
-
* Pick the id of the team's
|
|
41
|
-
* resolved category
|
|
42
|
-
*
|
|
40
|
+
* Pick the id of the team's workflow state of a given standard type — `completed`
|
|
41
|
+
* (Linear's resolved category, the merge-resolve target) or `started` (its "In
|
|
42
|
+
* Progress" category, the intake pickup mark) — or null if none exists. Returns
|
|
43
|
+
* the first match, the conventional target in a default workflow. The Linear
|
|
44
|
+
* analogue of Jira's {@link pickTransitionByCategory}.
|
|
43
45
|
*/
|
|
44
|
-
export function
|
|
45
|
-
return states.find((s) => s.type ===
|
|
46
|
+
export function pickStateIdByType(states, type) {
|
|
47
|
+
return states.find((s) => s.type === type && s.id)?.id ?? null;
|
|
46
48
|
}
|
|
47
49
|
//# sourceMappingURL=linear.writeback.logic.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linear.writeback.logic.js","sourceRoot":"","sources":["../../../src/modules/tracker/linear.writeback.logic.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,mFAAmF;AACnF,+EAA+E;AAC/E,oCAAoC;AACpC,EAAE;AACF,iFAAiF;AACjF,2EAA2E;AAC3E,kFAAkF;AAClF,8EAA8E;AAC9E,+EAA+E;AAC/E,oCAAoC;AAEpC,4EAA4E;AAC5E,MAAM,CAAC,MAAM,qBAAqB,GAAG;;EAEnC,CAAA;AAEF,6EAA6E;AAC7E,MAAM,CAAC,MAAM,iCAAiC,GAAG;;;;;EAK/C,CAAA;AAEF,oCAAoC;AACpC,MAAM,CAAC,MAAM,8BAA8B,GAAG;;EAE5C,CAAA;AAEF,mEAAmE;AACnE,MAAM,CAAC,MAAM,4BAA4B,GAAG;;EAE1C,CAAA;AAEF,wEAAwE;AACxE,MAAM,UAAU,2BAA2B,CACzC,OAAe,EACf,IAAY;IAEZ,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAA;AACrC,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,+BAA+B,CAC7C,OAAe,EACf,OAAe;IAEf,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,CAAA;AAC5C,CAAC;AAQD
|
|
1
|
+
{"version":3,"file":"linear.writeback.logic.js","sourceRoot":"","sources":["../../../src/modules/tracker/linear.writeback.logic.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,mFAAmF;AACnF,+EAA+E;AAC/E,oCAAoC;AACpC,EAAE;AACF,iFAAiF;AACjF,2EAA2E;AAC3E,kFAAkF;AAClF,8EAA8E;AAC9E,+EAA+E;AAC/E,oCAAoC;AAEpC,4EAA4E;AAC5E,MAAM,CAAC,MAAM,qBAAqB,GAAG;;EAEnC,CAAA;AAEF,6EAA6E;AAC7E,MAAM,CAAC,MAAM,iCAAiC,GAAG;;;;;EAK/C,CAAA;AAEF,oCAAoC;AACpC,MAAM,CAAC,MAAM,8BAA8B,GAAG;;EAE5C,CAAA;AAEF,mEAAmE;AACnE,MAAM,CAAC,MAAM,4BAA4B,GAAG;;EAE1C,CAAA;AAEF,wEAAwE;AACxE,MAAM,UAAU,2BAA2B,CACzC,OAAe,EACf,IAAY;IAEZ,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAA;AACrC,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,+BAA+B,CAC7C,OAAe,EACf,OAAe;IAEf,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,CAAA;AAC5C,CAAC;AAQD;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAA6B,EAC7B,IAA6B;IAE7B,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,IAAI,CAAA;AAChE,CAAC"}
|
|
@@ -14,6 +14,12 @@ export interface IssueWritebackServiceDependencies {
|
|
|
14
14
|
* external id. Absent → GitHub close passes through.
|
|
15
15
|
*/
|
|
16
16
|
closeGitHubIssue?: (workspaceId: string, externalId: string) => Promise<void>;
|
|
17
|
+
/**
|
|
18
|
+
* Apply a label to a GitHub issue (creating the label if absent) identified by
|
|
19
|
+
* its `owner/repo#number` external id — the intake pickup's in-progress mark
|
|
20
|
+
* (GitHub has no native workflow status). Absent → the mark passes through.
|
|
21
|
+
*/
|
|
22
|
+
labelGitHubIssue?: (workspaceId: string, externalId: string, label: string) => Promise<void>;
|
|
17
23
|
/**
|
|
18
24
|
* Resolve the workspace's Jira credentials, or null when Jira isn't configured.
|
|
19
25
|
* Reuses the same seam as `TicketTrackerService`. Absent → Jira writeback passes through.
|
|
@@ -27,15 +33,28 @@ export interface IssueWritebackServiceDependencies {
|
|
|
27
33
|
/** HTTP transport for the Jira/Linear calls (each runtime exposes a global `fetch`). */
|
|
28
34
|
fetchImpl?: FetchLike;
|
|
29
35
|
}
|
|
36
|
+
/** The GitHub in-progress label applied on pickup when the schedule doesn't name one. */
|
|
37
|
+
export declare const DEFAULT_IN_PROGRESS_LABEL = "in-progress";
|
|
30
38
|
export declare class IssueWritebackService implements IssueWritebackProvider {
|
|
31
39
|
private readonly deps;
|
|
32
40
|
constructor(deps: IssueWritebackServiceDependencies);
|
|
33
41
|
onPullRequestOpened(workspaceId: string, block: Block, pr: PullRequestRef): Promise<void>;
|
|
34
42
|
onPullRequestMerged(workspaceId: string, block: Block, pr: PullRequestRef): Promise<void>;
|
|
43
|
+
onIssuePickedUp(workspaceId: string, blockId: string, info: {
|
|
44
|
+
runUrl?: string;
|
|
45
|
+
inProgressLabel?: string;
|
|
46
|
+
}): Promise<void>;
|
|
47
|
+
postQuestions(workspaceId: string, blockId: string, questions: string[]): Promise<void>;
|
|
35
48
|
/** Run a writeback per issue, isolating failures so one bad issue can't block the rest. */
|
|
36
49
|
private forEachIssue;
|
|
37
50
|
private comment;
|
|
38
51
|
private resolve;
|
|
52
|
+
/**
|
|
53
|
+
* Mark a picked-up issue in-progress: the vendor's in-progress workflow
|
|
54
|
+
* transition (Jira's `indeterminate` status category / Linear's `started`
|
|
55
|
+
* state), or the in-progress label for GitHub, which has no native status.
|
|
56
|
+
*/
|
|
57
|
+
private markInProgress;
|
|
39
58
|
/**
|
|
40
59
|
* Comment on a Linear issue: resolve its UUID by identifier, then `commentCreate`.
|
|
41
60
|
* On merge this runs before {@link resolveLinear}, so the issue is looked up twice
|
|
@@ -45,15 +64,23 @@ export declare class IssueWritebackService implements IssueWritebackProvider {
|
|
|
45
64
|
* kept uniform with the GitHub/Jira comment/resolve split rather than special-cased.
|
|
46
65
|
*/
|
|
47
66
|
private commentLinear;
|
|
48
|
-
/**
|
|
49
|
-
|
|
67
|
+
/**
|
|
68
|
+
* Transition a Linear issue: look up its UUID + team states, pick the target
|
|
69
|
+
* state (`completed` on resolve, `started` on pickup), then `issueUpdate`.
|
|
70
|
+
*/
|
|
71
|
+
private transitionLinear;
|
|
50
72
|
/**
|
|
51
73
|
* Issue a Linear GraphQL request for the workspace's connection. Returns the
|
|
52
74
|
* validated `data` (or null when Linear isn't configured). Throws on a GraphQL /
|
|
53
75
|
* HTTP error so the per-issue `.catch` in {@link forEachIssue} swallows it.
|
|
54
76
|
*/
|
|
55
77
|
private linearRequest;
|
|
56
|
-
|
|
78
|
+
/**
|
|
79
|
+
* Transition a Jira issue into a standard status category: `done` on resolve,
|
|
80
|
+
* `indeterminate` (In Progress) on pickup. Lists the issue's available
|
|
81
|
+
* transitions and fires the first one landing in the category.
|
|
82
|
+
*/
|
|
83
|
+
private transitionJira;
|
|
57
84
|
/**
|
|
58
85
|
* Issue a Jira REST v3 request for the workspace's connection. Returns the parsed
|
|
59
86
|
* JSON body (or null on an empty/204 response). Throws on a non-OK status so the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IssueWritebackService.d.ts","sourceRoot":"","sources":["../../../src/modules/writeback/IssueWritebackService.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,KAAK,EACV,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EAEnB,KAAK,cAAc,EACnB,KAAK,yBAAyB,EAC/B,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"IssueWritebackService.d.ts","sourceRoot":"","sources":["../../../src/modules/writeback/IssueWritebackService.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,KAAK,EACV,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EAEnB,KAAK,cAAc,EACnB,KAAK,yBAAyB,EAC/B,MAAM,qBAAqB,CAAA;AAc5B,OAAO,KAAK,EACV,SAAS,EACT,cAAc,EACd,gBAAgB,EACjB,MAAM,oCAAoC,CAAA;AAkB3C,MAAM,WAAW,iCAAiC;IAChD,yBAAyB,EAAE,yBAAyB,CAAA;IACpD,cAAc,EAAE,cAAc,CAAA;IAC9B;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/F;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7E;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5F;;;OAGG;IACH,qBAAqB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;IAC/E;;;OAGG;IACH,uBAAuB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAA;IACnF,wFAAwF;IACxF,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB;AAED,yFAAyF;AACzF,eAAO,MAAM,yBAAyB,gBAAgB,CAAA;AAEtD,qBAAa,qBAAsB,YAAW,sBAAsB;IACtD,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,iCAAiC,EAAI;IAElE,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAW9F;IAEK,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAc9F;IAEK,eAAe,CACnB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,GAClD,OAAO,CAAC,IAAI,CAAC,CAaf;IAEK,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAe5F;IAED,2FAA2F;YAC7E,YAAY;YAOZ,OAAO;YAiBP,OAAO;IAcrB;;;;OAIG;YACW,cAAc;IAsB5B;;;;;;;OAOG;YACW,aAAa;IAiB3B;;;OAGG;YACW,gBAAgB;IAqB9B;;;;OAIG;YACW,aAAa;IAiB3B;;;;OAIG;YACW,cAAc;IAiB5B;;;;OAIG;YACW,WAAW;CA+B1B"}
|