@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.
Files changed (63) hide show
  1. package/dist/index.d.ts +2 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +2 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/modules/github/GitHubSyncService.d.ts +11 -1
  6. package/dist/modules/github/GitHubSyncService.d.ts.map +1 -1
  7. package/dist/modules/github/GitHubSyncService.js +23 -1
  8. package/dist/modules/github/GitHubSyncService.js.map +1 -1
  9. package/dist/modules/github/WebhookService.d.ts +10 -1
  10. package/dist/modules/github/WebhookService.d.ts.map +1 -1
  11. package/dist/modules/github/WebhookService.js +1 -0
  12. package/dist/modules/github/WebhookService.js.map +1 -1
  13. package/dist/modules/runners/HttpRunnerPoolProvider.js +16 -0
  14. package/dist/modules/runners/HttpRunnerPoolProvider.js.map +1 -1
  15. package/dist/modules/tasks/BugIntakeService.d.ts +50 -0
  16. package/dist/modules/tasks/BugIntakeService.d.ts.map +1 -0
  17. package/dist/modules/tasks/BugIntakeService.js +108 -0
  18. package/dist/modules/tasks/BugIntakeService.js.map +1 -0
  19. package/dist/modules/tasks/GitHubIssuesProvider.d.ts +11 -1
  20. package/dist/modules/tasks/GitHubIssuesProvider.d.ts.map +1 -1
  21. package/dist/modules/tasks/GitHubIssuesProvider.js +49 -0
  22. package/dist/modules/tasks/GitHubIssuesProvider.js.map +1 -1
  23. package/dist/modules/tasks/JiraProvider.d.ts +10 -1
  24. package/dist/modules/tasks/JiraProvider.d.ts.map +1 -1
  25. package/dist/modules/tasks/JiraProvider.js +15 -2
  26. package/dist/modules/tasks/JiraProvider.js.map +1 -1
  27. package/dist/modules/tasks/LinearTaskProvider.d.ts +13 -1
  28. package/dist/modules/tasks/LinearTaskProvider.d.ts.map +1 -1
  29. package/dist/modules/tasks/LinearTaskProvider.js +35 -1
  30. package/dist/modules/tasks/LinearTaskProvider.js.map +1 -1
  31. package/dist/modules/tasks/TaskConnectionService.d.ts +9 -0
  32. package/dist/modules/tasks/TaskConnectionService.d.ts.map +1 -1
  33. package/dist/modules/tasks/TaskConnectionService.js +12 -0
  34. package/dist/modules/tasks/TaskConnectionService.js.map +1 -1
  35. package/dist/modules/tasks/TaskLinkService.d.ts +22 -0
  36. package/dist/modules/tasks/TaskLinkService.d.ts.map +1 -1
  37. package/dist/modules/tasks/TaskLinkService.js +0 -0
  38. package/dist/modules/tasks/TaskLinkService.js.map +1 -1
  39. package/dist/modules/tasks/github-issues.logic.d.ts +14 -1
  40. package/dist/modules/tasks/github-issues.logic.d.ts.map +1 -1
  41. package/dist/modules/tasks/github-issues.logic.js +32 -0
  42. package/dist/modules/tasks/github-issues.logic.js.map +1 -1
  43. package/dist/modules/tasks/jira.logic.d.ts +11 -1
  44. package/dist/modules/tasks/jira.logic.d.ts.map +1 -1
  45. package/dist/modules/tasks/jira.logic.js +27 -0
  46. package/dist/modules/tasks/jira.logic.js.map +1 -1
  47. package/dist/modules/tasks/linear.logic.d.ts +46 -1
  48. package/dist/modules/tasks/linear.logic.d.ts.map +1 -1
  49. package/dist/modules/tasks/linear.logic.js +60 -0
  50. package/dist/modules/tasks/linear.logic.js.map +1 -1
  51. package/dist/modules/tracker/jira.writeback.logic.d.ts +6 -5
  52. package/dist/modules/tracker/jira.writeback.logic.d.ts.map +1 -1
  53. package/dist/modules/tracker/jira.writeback.logic.js +7 -6
  54. package/dist/modules/tracker/jira.writeback.logic.js.map +1 -1
  55. package/dist/modules/tracker/linear.writeback.logic.d.ts +6 -4
  56. package/dist/modules/tracker/linear.writeback.logic.d.ts.map +1 -1
  57. package/dist/modules/tracker/linear.writeback.logic.js +7 -5
  58. package/dist/modules/tracker/linear.writeback.logic.js.map +1 -1
  59. package/dist/modules/writeback/IssueWritebackService.d.ts +30 -3
  60. package/dist/modules/writeback/IssueWritebackService.d.ts.map +1 -1
  61. package/dist/modules/writeback/IssueWritebackService.js +70 -9
  62. package/dist/modules/writeback/IssueWritebackService.js.map +1 -1
  63. package/package.json +3 -3
@@ -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":"AACA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAKhE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AA6BrD,MAAM,OAAO,eAAe;IACG,IAAI;IAAjC,YAA6B,IAAiC;oBAAjC,IAAI;IAAgC,CAAC;IAElE,wEAAwE;IACxE,KAAK,CAAC,WAAW,CACf,WAAmB,EACnB,OAAe,EACf,MAAsB,EACtB,UAAkB;QAElB,MAAM,KAAK,GAAU,WAAW,CAC9B,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,EACzD,OAAO,EACP,OAAO,CACR,CAAA;QACD,MAAM,IAAI,GAAG,WAAW,CACtB,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,EACnE,MAAM,EACN,UAAU,CACX,CAAA;QACD,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;QACnF,OAAO,YAAY,CAAC,EAAE,GAAG,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;IAC3D,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,eAAe,CACnB,WAAmB,EACnB,OAAe,EACf,MAAsB,EACtB,UAAkB;QAElB,MAAM,KAAK,GAAU,WAAW,CAC9B,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,EACzD,OAAO,EACP,OAAO,CACR,CAAA;QACD,MAAM,IAAI,GAAG,WAAW,CACtB,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,EACnE,MAAM,EACN,UAAU,CACX,CAAA;QACD,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;QACxE,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;QACnF,OAAO,YAAY,CAAC,EAAE,GAAG,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;IAC3D,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,mBAAmB,CACvB,WAAmB,EACnB,WAAmB,EACnB,MAAsB,EACtB,UAAkB,EAClB,SAAyB;QAEzB,MAAM,KAAK,GAAG,WAAW,CACvB,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,EACnE,MAAM,EACN,UAAU,CACX,CAAA;QACD,+EAA+E;QAC/E,8EAA8E;QAC9E,gFAAgF;QAChF,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,aAAa,CACrB,SAAS,UAAU,8BAA8B,KAAK,CAAC,aAAa,mBAAmB,CACxF,CAAA;QACH,CAAC;QACD,+EAA+E;QAC/E,kFAAkF;QAClF,iFAAiF;QACjF,mFAAmF;QACnF,WAAW,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,CAAA;QAChG,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAChD,WAAW,EACX,WAAW,EACX;YACE,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC;YAC5B,WAAW,EAAE,oBAAoB,CAAC,KAAK,CAAC;SACzC,EACD,SAAS,IAAI,IAAI,CAClB,CAAA;QACD,4EAA4E;QAC5E,4EAA4E;QAC5E,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;QACnF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,EAAE,GAAG,KAAK,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,CAAA;IAC7E,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,SAAS,CACb,WAAmB,EACnB,MAAsB,EACtB,OAAe,EACf,WAAmB,EACnB,SAAyB,EACzB,QAAmB;QAEnB,4FAA4F;QAC5F,WAAW,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,CAAA;QAEhG,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAC3E,WAAW,EACX,MAAM,EACN,OAAO,CACR,CAAA;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE;YAC7D,KAAK,EAAE,SAAS,CAAC,WAAW,CAAC;YAC7B,WAAW,EAAE,eAAe,CAAC,WAAW,CAAC;YACzC,QAAQ,EAAE,QAAQ,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;SACvC,CAAC,CAAA;QACF,6EAA6E;QAC7E,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;QAE9F,8EAA8E;QAC9E,MAAM,OAAO,GAAG,IAAI,GAAG,CAAiB,CAAC,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAC5E,oFAAoF;QACpF,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAsB,CAAC,CAAC,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,CAAA;QACtF,MAAM,KAAK,GAAY,EAAE,CAAA;QAEzB,KAAK,MAAM,OAAO,IAAI,WAAW,CAAC,gBAAgB,IAAI,EAAE,EAAE,CAAC;YACzD,wFAAwF;YACxF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;YACjF,IAAI,QAAQ,EAAE,aAAa,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAA;gBAC5C,SAAQ;YACV,CAAC;YACD,IAAI,OAAoB,CAAA;YACxB,IAAI,CAAC;gBACH,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;qBACnF,OAAO,CAAA;YACZ,CAAC;YAAC,MAAM,CAAC;gBACP,SAAQ,CAAC,4DAA4D;YACvE,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAChD,WAAW,EACX,WAAW,EACX;gBACE,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC;gBAC9B,WAAW,EAAE,oBAAoB,CAAC,OAAO,CAAC;gBAC1C,MAAM,EAAE,IAAI,CAAC,EAAE;aAChB,EACD,SAAS,IAAI,IAAI,CAClB,CAAA;YACD,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;YAC3F,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;YACzC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;YACzC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC;QAED,wFAAwF;QACxF,wFAAwF;QACxF,uFAAuF;QACvF,yFAAyF;QACzF,wFAAwF;QACxF,wFAAwF;QACxF,MAAM,KAAK,GAAG,IAAI,GAAG,EAA8C,CAAA;QACnE,KAAK,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,QAAQ,EAAE,CAAC;YAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;YACpC,IAAI,CAAC,IAAI;gBAAE,SAAQ;YACnB,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;gBACvC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;oBAAE,SAAQ;gBACrC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBAC1C,IAAI,CAAC,KAAK;oBAAE,SAAQ,CAAC,6CAA6C;gBAClE,mFAAmF;gBACnF,sEAAsE;gBACtE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;gBAC/E,IAAI,MAAM,KAAK,MAAM;oBAAE,SAAQ;gBAC/B,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;YACtD,CAAC;QACH,CAAC;QACD,KAAK,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YAChD,sFAAsF;YACtF,yFAAyF;YACzF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;YAC5E,IAAI,WAAW,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,SAAQ;YACrD,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;YAC5E,CAAC;YAAC,MAAM,CAAC;gBACP,6EAA6E;YAC/E,CAAC;QACH,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;IACxB,CAAC;CACF;AAED,+EAA+E;AAC/E,SAAS,SAAS,CAAC,IAAiB;IAClC,OAAO,GAAG,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,KAAK,EAAE,CAAA;AAC5C,CAAC;AAED,kFAAkF;AAClF,SAAS,eAAe,CAAC,IAAiB;IACxC,MAAM,SAAS,GAAG,iBAAiB,IAAI,CAAC,GAAG,EAAE,CAAA;IAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA;IACpC,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;AACrD,CAAC;AAWD,yEAAyE;AACzE,MAAM,UAAU,cAAc,CAAC,KAAgB;IAC7C,OAAO,GAAG,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,KAAK,EAAE,CAAA;AAC9C,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,oBAAoB,CAAC,KAAgB;IACnD,MAAM,SAAS,GAAG,iBAAiB,KAAK,CAAC,GAAG,EAAE,CAAA;IAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IACrE,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;AACrD,CAAC"}
@@ -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":"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"}
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":"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"}
1
+ {"version":3,"file":"jira.logic.js","sourceRoot":"","sources":["../../../src/modules/tasks/jira.logic.ts"],"names":[],"mappings":"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"}
@@ -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":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,qBAAqB,CAAA;AAQ5B,6EAA6E;AAC7E,eAAO,MAAM,sBAAsB,EAAE,oBAmBpC,CAAA;AAOD;;;;GAIG;AACH,eAAO,MAAM,eAAe,KAAK,CAAA;AAEjC;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,4kBAgB7B,CAAA;AAEF,oFAAoF;AACpF,eAAO,MAAM,2BAA2B,6MAOtC,CAAA;AAEF,2EAA2E;AAC3E,eAAO,MAAM,2BAA2B,+NAOtC,CAAA;AAEF,mEAAmE;AACnE,eAAO,MAAM,0BAA0B,8IAIrC,CAAA;AAEF,uEAAuE;AACvE,eAAO,MAAM,kBAAkB,gEAAgE,CAAA;AAE/F,qEAAqE;AACrE,eAAO,MAAM,mBAAmB,qCAAqC,CAAA;AAIrE,0FAA0F;AAC1F,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC1B;AAED,gDAAgD;AAChD,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACjC,QAAQ,CAAC,EAAE,cAAc,GAAG,IAAI,CAAA;CACjC;AAED,uCAAuC;AACvC,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,iBAAiB,EAAE,CAAA;IAC3B,QAAQ,CAAC,EAAE,cAAc,GAAG,IAAI,CAAA;CACjC;AAED,UAAU,eAAe;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IAC/C,QAAQ,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IACnC,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;KAAE,CAAA;IACxC,MAAM,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IACvC,QAAQ,CAAC,EAAE,kBAAkB,CAAA;IAC7B,QAAQ,CAAC,EAAE,kBAAkB,CAAA;IAC7B,SAAS,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,YAAY,CAAC,EAAE;gBAAE,UAAU,CAAC,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,EAAE,CAAA;KAAE,CAAA;IACnF,gBAAgB,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE;gBAAE,UAAU,CAAC,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,EAAE,CAAA;KAAE,CAAA;CACpF;AAED,UAAU,iBAAiB;IACzB,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB;AAED,qFAAqF;AACrF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,EAAE,CAEvF;AAED,oFAAoF;AACpF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI,GAAG,SAAS,GAAG,WAAW,EAAE,CAM5F;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAe3D;AAUD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,eAAe,GAAG,kBAAkB,EAAE,CAqB/E;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,eAAe,GAAG,IAAI,CAAA;CAAE,GAAG,WAAW,CAuBpF;AAED,UAAU,gBAAgB;IACxB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;CACjC;AAED,4EAA4E;AAC5E,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,YAAY,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,gBAAgB,EAAE,CAAA;KAAE,CAAA;CAC9C,GAAG,gBAAgB,EAAE,CAerB;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,WAAW,GAAG,gBAAgB,CAS3E;AAED,kEAAkE;AAClE,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,IAAI,EAAE;IACnC,KAAK,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE;YAAE,EAAE,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,GAAG,CAAC,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;KAAE,CAAA;CACnE,GAAG,UAAU,EAAE,CAOf"}
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":"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"}
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 **Done** status
15
- * category (`to.statusCategory.key === 'done'`), or null if none is available.
16
- * Auto-detection onlyno per-project mapping. Returns the first matching
17
- * transition, which is the conventional resolve action in a standard workflow.
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" categorythe 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 pickDoneTransition(transitions: JiraTransition[]): JiraTransition | null;
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;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,cAAc,EAAE,GAAG,cAAc,GAAG,IAAI,CAEvF"}
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 **Done** status
11
- * category (`to.statusCategory.key === 'done'`), or null if none is available.
12
- * Auto-detection onlyno per-project mapping. Returns the first matching
13
- * transition, which is the conventional resolve action in a standard workflow.
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" categorythe 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 pickDoneTransition(transitions) {
16
- return transitions.find((t) => t.to?.statusCategory?.key === 'done' && t.id) ?? null;
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;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,WAA6B;IAC9D,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,cAAc,EAAE,GAAG,KAAK,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAA;AACtF,CAAC"}
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 **completed**-type workflow state (Linear's standard
25
- * resolved category), or null if none exists. Returns the first match, the
26
- * conventional resolve target in a default workflow.
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 pickCompletedStateId(states: LinearWorkflowState[]): string | null;
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;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,GAAG,IAAI,CAEjF"}
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 **completed**-type workflow state (Linear's standard
41
- * resolved category), or null if none exists. Returns the first match, the
42
- * conventional resolve target in a default workflow.
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 pickCompletedStateId(states) {
45
- return states.find((s) => s.type === 'completed' && s.id)?.id ?? null;
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;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAA6B;IAChE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,IAAI,CAAA;AACvE,CAAC"}
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
- /** Resolve a Linear issue: look up its UUID + team states, then transition to completed. */
49
- private resolveLinear;
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
- private resolveJira;
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;AAW5B,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;;;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,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;IAED,2FAA2F;YAC7E,YAAY;YAOZ,OAAO;YAiBP,OAAO;IAcrB;;;;;;;OAOG;YACW,aAAa;IAiB3B,4FAA4F;YAC9E,aAAa;IAgB3B;;;;OAIG;YACW,aAAa;YAiBb,WAAW;IAazB;;;;OAIG;YACW,WAAW;CA+B1B"}
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"}