@bluewombat/manager-github 0.7.0 → 0.9.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 (92) hide show
  1. package/README.md +120 -31
  2. package/SPECS.md +45 -20
  3. package/dist/adapter/normalize/intent.d.ts +3 -3
  4. package/dist/adapter/normalize/intent.d.ts.map +1 -1
  5. package/dist/adapter/normalize/intent.js +4 -4
  6. package/dist/adapter/normalize/intent.js.map +1 -1
  7. package/dist/adapter/normalize/normalize.d.ts +4 -1
  8. package/dist/adapter/normalize/normalize.d.ts.map +1 -1
  9. package/dist/adapter/normalize/normalize.js +3 -1
  10. package/dist/adapter/normalize/normalize.js.map +1 -1
  11. package/dist/adapter/run/run-adapter.d.ts +1 -1
  12. package/dist/adapter/run/run-adapter.d.ts.map +1 -1
  13. package/dist/adapter/run/run-adapter.js +28 -2
  14. package/dist/adapter/run/run-adapter.js.map +1 -1
  15. package/dist/adapter/types.d.ts +9 -3
  16. package/dist/adapter/types.d.ts.map +1 -1
  17. package/dist/adapter/types.js +1 -1
  18. package/dist/adapter/types.js.map +1 -1
  19. package/dist/emitter/event/field-matrix.d.ts +1 -1
  20. package/dist/emitter/event/field-matrix.d.ts.map +1 -1
  21. package/dist/emitter/event/field-matrix.js +5 -9
  22. package/dist/emitter/event/field-matrix.js.map +1 -1
  23. package/dist/emitter/github/labels.d.ts +3 -4
  24. package/dist/emitter/github/labels.d.ts.map +1 -1
  25. package/dist/emitter/github/labels.js +9 -9
  26. package/dist/emitter/github/labels.js.map +1 -1
  27. package/dist/emitter/render/render-event.d.ts.map +1 -1
  28. package/dist/emitter/render/render-event.js +13 -42
  29. package/dist/emitter/render/render-event.js.map +1 -1
  30. package/dist/emitter/run/run-emitter.d.ts +1 -1
  31. package/dist/emitter/run/run-emitter.js +3 -3
  32. package/dist/emitter/thread/marker.d.ts +1 -1
  33. package/dist/emitter/thread/marker.d.ts.map +1 -1
  34. package/dist/emitter/thread/marker.js +1 -1
  35. package/dist/emitter/thread/marker.js.map +1 -1
  36. package/dist/emitter/types.d.ts +8 -10
  37. package/dist/emitter/types.d.ts.map +1 -1
  38. package/dist/emitter/types.js +1 -1
  39. package/dist/emitter/types.js.map +1 -1
  40. package/dist/github/blockers.d.ts +24 -0
  41. package/dist/github/blockers.d.ts.map +1 -0
  42. package/dist/github/blockers.js +50 -0
  43. package/dist/github/blockers.js.map +1 -0
  44. package/dist/index.d.ts +1 -1
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +118 -45
  47. package/dist/index.js.map +1 -1
  48. package/dist/listener/delivery/process-tree.d.ts +1 -1
  49. package/dist/listener/delivery/process-tree.js +1 -1
  50. package/dist/listener/run/run-listener.d.ts +1 -1
  51. package/dist/listener/run/run-listener.js +1 -1
  52. package/dist/listener/source/select-events.d.ts +6 -1
  53. package/dist/listener/source/select-events.d.ts.map +1 -1
  54. package/dist/listener/source/select-events.js +9 -2
  55. package/dist/listener/source/select-events.js.map +1 -1
  56. package/dist/listener/types.d.ts +1 -1
  57. package/dist/listener/types.d.ts.map +1 -1
  58. package/dist/listener/types.js +1 -1
  59. package/dist/listener/types.js.map +1 -1
  60. package/dist/manager.d.ts +19 -8
  61. package/dist/manager.d.ts.map +1 -1
  62. package/dist/manager.js +139 -94
  63. package/dist/manager.js.map +1 -1
  64. package/dist/settled.d.ts +5 -4
  65. package/dist/settled.d.ts.map +1 -1
  66. package/dist/settled.js +7 -7
  67. package/dist/settled.js.map +1 -1
  68. package/dist/setup.d.ts +21 -8
  69. package/dist/setup.d.ts.map +1 -1
  70. package/dist/setup.js +44 -11
  71. package/dist/setup.js.map +1 -1
  72. package/dist/state-labels.d.ts +23 -0
  73. package/dist/state-labels.d.ts.map +1 -0
  74. package/dist/state-labels.js +55 -0
  75. package/dist/state-labels.js.map +1 -0
  76. package/dist/submission/lines.d.ts +19 -0
  77. package/dist/submission/lines.d.ts.map +1 -0
  78. package/dist/submission/lines.js +91 -0
  79. package/dist/submission/lines.js.map +1 -0
  80. package/dist/submission/submission.d.ts +5 -5
  81. package/dist/submission/submission.d.ts.map +1 -1
  82. package/dist/submission/submission.js +4 -7
  83. package/dist/submission/submission.js.map +1 -1
  84. package/dist/tickets/list-tickets.d.ts +27 -0
  85. package/dist/tickets/list-tickets.d.ts.map +1 -0
  86. package/dist/tickets/list-tickets.js +95 -0
  87. package/dist/tickets/list-tickets.js.map +1 -0
  88. package/dist/written-fingerprint.d.ts +2 -1
  89. package/dist/written-fingerprint.d.ts.map +1 -1
  90. package/dist/written-fingerprint.js +3 -3
  91. package/dist/written-fingerprint.js.map +1 -1
  92. package/package.json +3 -3
@@ -0,0 +1,50 @@
1
+ import { callSignal, readFailure } from "./client.js";
2
+ const PER_PAGE = 100;
3
+ const MAX_PAGES = 10;
4
+ /** The issues that block this one, as GitHub holds the dependency. */
5
+ export async function listBlockers(request) {
6
+ return await listPages(request, "GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by");
7
+ }
8
+ /** The sub-issues of this one: the Tickets of a Feature. */
9
+ export async function listSubIssues(request) {
10
+ return await listPages(request, "GET /repos/{owner}/{repo}/issues/{issue_number}/sub_issues");
11
+ }
12
+ async function listPages(request, route) {
13
+ const issues = [];
14
+ for (let page = 1; page <= MAX_PAGES; page += 1) {
15
+ const call = callSignal(request.deadlineMs, request.now, request.shouldInterrupt);
16
+ try {
17
+ const response = await request.github.request(route, {
18
+ owner: request.repo.owner,
19
+ repo: request.repo.name,
20
+ issue_number: request.number,
21
+ per_page: PER_PAGE,
22
+ page,
23
+ request: { signal: call.signal },
24
+ });
25
+ const data = response.data;
26
+ if (!Array.isArray(data)) {
27
+ return { kind: "unavailable", detail: "GitHub answered a list with something else." };
28
+ }
29
+ for (const item of data) {
30
+ if (item !== null && typeof item === "object" && !Array.isArray(item)) {
31
+ issues.push(item);
32
+ }
33
+ }
34
+ if (data.length < PER_PAGE) {
35
+ return { kind: "listed", issues };
36
+ }
37
+ }
38
+ catch (error) {
39
+ if (request.shouldInterrupt()) {
40
+ return { kind: "interrupted" };
41
+ }
42
+ return { kind: "unavailable", detail: readFailure(error).detail };
43
+ }
44
+ finally {
45
+ call.release();
46
+ }
47
+ }
48
+ return { kind: "listed", issues };
49
+ }
50
+ //# sourceMappingURL=blockers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blockers.js","sourceRoot":"","sources":["../../src/github/blockers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAqB,WAAW,EAAE,MAAM,aAAa,CAAC;AAEzE,MAAM,QAAQ,GAAG,GAAG,CAAC;AACrB,MAAM,SAAS,GAAG,EAAE,CAAC;AAgBrB,sEAAsE;AACtE,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAoB;IACrD,OAAO,MAAM,SAAS,CACpB,OAAO,EACP,yEAAyE,CAC1E,CAAC;AACJ,CAAC;AAED,4DAA4D;AAC5D,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAoB;IACtD,OAAO,MAAM,SAAS,CAAC,OAAO,EAAE,4DAA4D,CAAC,CAAC;AAChG,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,OAAoB,EAAE,KAAa;IAC1D,MAAM,MAAM,GAA8B,EAAE,CAAC;IAC7C,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,SAAS,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QAClF,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE;gBACnD,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK;gBACzB,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;gBACvB,YAAY,EAAE,OAAO,CAAC,MAAM;gBAC5B,QAAQ,EAAE,QAAQ;gBAClB,IAAI;gBACJ,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;aACjC,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAe,CAAC;YACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,6CAA6C,EAAE,CAAC;YACxF,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBACxB,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;oBACtE,MAAM,CAAC,IAAI,CAAC,IAA+B,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;gBAC3B,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;YACpC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;gBAC9B,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;YACjC,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;QACpE,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AACpC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -2,7 +2,7 @@ import { type CreateManagerResult, type Finding, type ManagerContext, type Manag
2
2
  export { issueNumberFromExternalId, issueNumberFromPayload } from "./issue-number.js";
3
3
  export { payloadHasLabel } from "./labels.js";
4
4
  export type { GithubManagerOptions } from "./manager.js";
5
- export { createGithubManager, DEFAULT_API_BASE, DEFAULT_PRIORITY, DEFAULT_READY_LABEL, DEFAULT_TOKEN_ENV, } from "./manager.js";
5
+ export { createGithubManager, DEFAULT_API_BASE, DEFAULT_FEATURE_READY_LABEL, DEFAULT_MERGE_WHEN_READY_LABEL, DEFAULT_PRIORITY, DEFAULT_RESUME_LABEL, DEFAULT_TICKET_READY_LABEL, DEFAULT_TOKEN_ENV, } from "./manager.js";
6
6
  export { parseRepo, type Repository } from "./repo.js";
7
7
  export { type SetupSettings, wantedLabels } from "./setup.js";
8
8
  /** What `mason init` asks when it runs at a terminal. */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,OAAO,EAEZ,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,eAAe,EAGpB,KAAK,WAAW,EAGjB,MAAM,yBAAyB,CAAC;AAWjC,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,KAAK,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE9D,yDAAyD;AACzD,wBAAgB,gBAAgB,IAAI,eAAe,EAAE,CA4BpD;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GACxB,OAAO,CAAC,WAAW,CAAC,CA0CtB;AAmBD,eAAO,MAAM,cAAc,SAAS,CAAC;AACrC,eAAO,MAAM,gBAAgB,eAAe,CAAC;AAuB7C;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,mBAAmB,CA0C1E;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,cAAc,GAAG,eAAe,CA0BxE;AAED,6EAA6E;AAC7E,wBAAgB,YAAY,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,EAAE,CAwD/D;AA+FD,iDAAiD;AACjD,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,GACX;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAStF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAY7F"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,mBAAmB,EAExB,KAAK,OAAO,EAEZ,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,eAAe,EAIpB,KAAK,WAAW,EAEjB,MAAM,yBAAyB,CAAC;AAejC,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,2BAA2B,EAC3B,8BAA8B,EAC9B,gBAAgB,EAChB,oBAAoB,EACpB,0BAA0B,EAC1B,iBAAiB,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,KAAK,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE9D,yDAAyD;AACzD,wBAAgB,gBAAgB,IAAI,eAAe,EAAE,CAsBpD;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GACxB,OAAO,CAAC,WAAW,CAAC,CA6CtB;AAoDD,eAAO,MAAM,cAAc,SAAS,CAAC;AACrC,eAAO,MAAM,gBAAgB,eAAe,CAAC;AA4B7C;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,mBAAmB,CA0C1E;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,cAAc,GAAG,eAAe,CAyBxE;AAED,6EAA6E;AAC7E,wBAAgB,YAAY,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,EAAE,CAgE/D;AA+ID,iDAAiD;AACjD,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,GACX;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAStF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAY7F"}
package/dist/index.js CHANGED
@@ -1,10 +1,11 @@
1
- import { booleanOption, intOption, PRODUCT, rejectUnknownOptions, stringArrayOption, stringOption, } from "@bluewombat/manager-kit";
2
- import { createGithubManager, DEFAULT_API_BASE, DEFAULT_READY_LABEL, DEFAULT_TOKEN_ENV, } from "./manager.js";
1
+ import { booleanOption, EVENT_NAMES, intOption, PRODUCT, rejectUnknownOptions, stringOption, } from "@bluewombat/manager-kit";
2
+ import { createGithubManager, DEFAULT_API_BASE, DEFAULT_FEATURE_READY_LABEL, DEFAULT_MERGE_WHEN_READY_LABEL, DEFAULT_RESUME_LABEL, DEFAULT_TICKET_READY_LABEL, DEFAULT_TOKEN_ENV, } from "./manager.js";
3
3
  import { parseRepo } from "./repo.js";
4
4
  import { runSetup } from "./setup.js";
5
+ import { resolveStateLabels } from "./state-labels.js";
5
6
  export { issueNumberFromExternalId, issueNumberFromPayload } from "./issue-number.js";
6
7
  export { payloadHasLabel } from "./labels.js";
7
- export { createGithubManager, DEFAULT_API_BASE, DEFAULT_PRIORITY, DEFAULT_READY_LABEL, DEFAULT_TOKEN_ENV, } from "./manager.js";
8
+ export { createGithubManager, DEFAULT_API_BASE, DEFAULT_FEATURE_READY_LABEL, DEFAULT_MERGE_WHEN_READY_LABEL, DEFAULT_PRIORITY, DEFAULT_RESUME_LABEL, DEFAULT_TICKET_READY_LABEL, DEFAULT_TOKEN_ENV, } from "./manager.js";
8
9
  export { parseRepo } from "./repo.js";
9
10
  export { wantedLabels } from "./setup.js";
10
11
  /** What `mason init` asks when it runs at a terminal. */
@@ -18,12 +19,6 @@ export function questionsManager() {
18
19
  ? { ok: false, reason: `"${answer}" is not owner/name.` }
19
20
  : { ok: true, value: answer },
20
21
  },
21
- {
22
- key: "labels",
23
- prompt: "Label an issue must carry to be picked up",
24
- fallback: PRODUCT,
25
- parse: (answer) => ({ ok: true, value: [answer] }),
26
- },
27
22
  {
28
23
  key: "defaultProject",
29
24
  prompt: "Project name for issues with no project: label",
@@ -70,10 +65,13 @@ export async function setupManager(context, input) {
70
65
  repo: settings.repo,
71
66
  token,
72
67
  apiBase: settings.apiBase,
73
- readyLabel: settings.readyLabel,
74
- labels: settings.labels,
68
+ resumeLabel: settings.resumeLabel,
69
+ featureReadyLabel: settings.featureReadyLabel,
70
+ ticketReadyLabel: settings.ticketReadyLabel,
71
+ mergeWhenReadyLabel: settings.mergeWhenReadyLabel,
72
+ sides: settings.sides,
75
73
  defaultProject: settings.defaultProject,
76
- stateLabelPrefix: settings.stateLabelPrefix,
74
+ stateLabels: settings.stateLabels,
77
75
  branch: settings.branch,
78
76
  branchConfigured: typeof context.options.branch === "string",
79
77
  durationMs: context.durationMs,
@@ -86,17 +84,44 @@ const KNOWN_OPTIONS = [
86
84
  "token",
87
85
  "tokenEnv",
88
86
  "apiBase",
89
- "labels",
90
87
  "defaultProject",
91
- "readyLabel",
88
+ "resumeLabel",
89
+ "featureReadyLabel",
90
+ "ticketReadyLabel",
91
+ "mergeWhenReadyLabel",
92
92
  "defaultPriority",
93
- "stateLabelPrefix",
93
+ "stateLabels",
94
94
  "branch",
95
95
  "remote",
96
96
  "commitAuthor",
97
97
  "keepBranch",
98
98
  "fetch",
99
99
  ];
100
+ /**
101
+ * The label options that belong to one side. `featureReadyLabel` and
102
+ * `mergeWhenReadyLabel` are read only for Features, `ticketReadyLabel` only for
103
+ * Tickets, so each is written under the side it belongs to; the others
104
+ * (`resumeLabel`, `stateLabels`, `defaultProject`, ...) serve both.
105
+ */
106
+ const SIDE_OPTIONS = {
107
+ featureTracker: ["featureReadyLabel", "mergeWhenReadyLabel"],
108
+ ticketTracker: ["ticketReadyLabel"],
109
+ };
110
+ const BOTH_SIDES = ["featureTracker", "ticketTracker"];
111
+ /** The first option written under a side that does not use it. */
112
+ function misplacedOption(options, sides) {
113
+ for (const side of BOTH_SIDES) {
114
+ if (sides.includes(side)) {
115
+ continue;
116
+ }
117
+ for (const name of SIDE_OPTIONS[side]) {
118
+ if (options[name] !== undefined) {
119
+ return { name, belongsTo: side };
120
+ }
121
+ }
122
+ }
123
+ return undefined;
124
+ }
100
125
  export const DEFAULT_BRANCH = "main";
101
126
  export const DEFAULT_GIT_HOST = "github.com";
102
127
  /**
@@ -123,19 +148,19 @@ export function createManager(context) {
123
148
  durationMs: context.durationMs,
124
149
  interruptFlag: context.interruptFlag,
125
150
  apiBase: settings.apiBase,
126
- readyLabel: settings.readyLabel,
151
+ resumeLabel: settings.resumeLabel,
152
+ featureReadyLabel: settings.featureReadyLabel,
153
+ ticketReadyLabel: settings.ticketReadyLabel,
154
+ mergeWhenReadyLabel: settings.mergeWhenReadyLabel,
127
155
  };
128
- if (settings.labels !== undefined) {
129
- options.labels = settings.labels;
130
- }
131
156
  if (settings.defaultProject !== undefined) {
132
157
  options.defaultProject = settings.defaultProject;
133
158
  }
134
159
  if (settings.defaultPriority !== undefined) {
135
160
  options.defaultPriority = settings.defaultPriority;
136
161
  }
137
- if (settings.stateLabelPrefix !== undefined) {
138
- options.stateLabelPrefix = settings.stateLabelPrefix;
162
+ if (settings.stateLabels !== undefined) {
163
+ options.stateLabels = settings.stateLabels;
139
164
  }
140
165
  if (settings.keepBranch !== undefined) {
141
166
  options.keepBranch = settings.keepBranch;
@@ -166,8 +191,7 @@ export function scaffoldManager(context) {
166
191
  options: {
167
192
  repo,
168
193
  tokenEnv,
169
- labels: [PRODUCT],
170
- readyLabel: "ready",
194
+ resumeLabel: DEFAULT_RESUME_LABEL,
171
195
  defaultProject: "app",
172
196
  },
173
197
  nextSteps,
@@ -191,16 +215,21 @@ export function checkManager(context) {
191
215
  ? { level: "fail", label: "token", detail: `${settings.tokenEnv} is not set` }
192
216
  : { level: "ok", label: "token", detail: `${settings.tokenEnv} is set` },
193
217
  ];
194
- if (settings.labels === undefined || settings.labels.length === 0) {
195
- findings.push({
196
- level: "warn",
197
- label: "labels",
198
- detail: "every open issue is admitted; set labels to narrow the Source",
218
+ const served = [
219
+ ...(settings.sides.includes("featureTracker")
220
+ ? [`${settings.featureReadyLabel} (Feature)`, `${settings.mergeWhenReadyLabel} (Feature)`]
221
+ : []),
222
+ ...(settings.sides.includes("ticketTracker") ? [`${settings.ticketReadyLabel} (Ticket)`] : []),
223
+ `${settings.resumeLabel} (resume)`,
224
+ ];
225
+ findings.push({ level: "ok", label: "labels", detail: served.join(", ") });
226
+ findings.push(settings.stateLabels === undefined
227
+ ? { level: "ok", label: "state labels", detail: "off: no stateLabels" }
228
+ : {
229
+ level: "ok",
230
+ label: "state labels",
231
+ detail: EVENT_NAMES.map((event) => settings.stateLabels?.[event]).join(", "),
199
232
  });
200
- }
201
- else {
202
- findings.push({ level: "ok", label: "labels", detail: settings.labels.join(", ") });
203
- }
204
233
  findings.push(settings.commitAuthor === undefined
205
234
  ? {
206
235
  level: "warn",
@@ -232,6 +261,14 @@ function readOptions(context) {
232
261
  if (!known.ok) {
233
262
  return known;
234
263
  }
264
+ const sides = context.sides ?? BOTH_SIDES;
265
+ const misplaced = misplacedOption(context.options, sides);
266
+ if (misplaced !== undefined) {
267
+ return {
268
+ ok: false,
269
+ reason: `"${misplaced.name}" belongs under ${misplaced.belongsTo}, not under ${sides.join(" and ")}.`,
270
+ };
271
+ }
235
272
  const repoRaw = stringOption(context.options, "repo");
236
273
  if (!repoRaw.ok) {
237
274
  return repoRaw;
@@ -255,25 +292,37 @@ function readOptions(context) {
255
292
  if (!apiBase.ok) {
256
293
  return apiBase;
257
294
  }
258
- const labels = stringArrayOption(context.options, "labels");
259
- if (!labels.ok) {
260
- return labels;
261
- }
262
295
  const defaultProject = stringOption(context.options, "defaultProject");
263
296
  if (!defaultProject.ok) {
264
297
  return defaultProject;
265
298
  }
266
- const readyLabel = stringOption(context.options, "readyLabel");
267
- if (!readyLabel.ok) {
268
- return readyLabel;
299
+ const resumeLabel = stringOption(context.options, "resumeLabel");
300
+ if (!resumeLabel.ok) {
301
+ return resumeLabel;
302
+ }
303
+ const featureReadyLabel = stringOption(context.options, "featureReadyLabel");
304
+ if (!featureReadyLabel.ok) {
305
+ return featureReadyLabel;
306
+ }
307
+ const ticketReadyLabel = stringOption(context.options, "ticketReadyLabel");
308
+ if (!ticketReadyLabel.ok) {
309
+ return ticketReadyLabel;
310
+ }
311
+ const mergeWhenReadyLabel = stringOption(context.options, "mergeWhenReadyLabel");
312
+ if (!mergeWhenReadyLabel.ok) {
313
+ return mergeWhenReadyLabel;
269
314
  }
270
315
  const defaultPriority = intOption(context.options, "defaultPriority", 0, 100);
271
316
  if (!defaultPriority.ok) {
272
317
  return defaultPriority;
273
318
  }
274
- const stateLabelPrefix = stringOption(context.options, "stateLabelPrefix");
275
- if (!stateLabelPrefix.ok) {
276
- return stateLabelPrefix;
319
+ const named = namesOption(context.options, "stateLabels");
320
+ if (!named.ok) {
321
+ return named;
322
+ }
323
+ const stateLabels = resolveStateLabels(named.value);
324
+ if (!stateLabels.ok) {
325
+ return stateLabels;
277
326
  }
278
327
  const branch = stringOption(context.options, "branch");
279
328
  if (!branch.ok) {
@@ -306,11 +355,14 @@ function readOptions(context) {
306
355
  token: token.value,
307
356
  tokenEnv: tokenEnv.value ?? DEFAULT_TOKEN_ENV,
308
357
  apiBase: apiBase.value ?? DEFAULT_API_BASE,
309
- readyLabel: readyLabel.value ?? DEFAULT_READY_LABEL,
310
- labels: labels.value,
358
+ resumeLabel: resumeLabel.value ?? DEFAULT_RESUME_LABEL,
359
+ featureReadyLabel: featureReadyLabel.value ?? DEFAULT_FEATURE_READY_LABEL,
360
+ ticketReadyLabel: ticketReadyLabel.value ?? DEFAULT_TICKET_READY_LABEL,
361
+ mergeWhenReadyLabel: mergeWhenReadyLabel.value ?? DEFAULT_MERGE_WHEN_READY_LABEL,
362
+ sides,
311
363
  defaultProject: defaultProject.value,
312
364
  defaultPriority: defaultPriority.value,
313
- stateLabelPrefix: stateLabelPrefix.value,
365
+ stateLabels: stateLabels.labels,
314
366
  branch: branch.value ?? DEFAULT_BRANCH,
315
367
  remote: remote.value ?? `https://${DEFAULT_GIT_HOST}/${repo.owner}/${repo.name}.git`,
316
368
  commitAuthor: author?.value,
@@ -319,6 +371,27 @@ function readOptions(context) {
319
371
  },
320
372
  };
321
373
  }
374
+ /** An option that is a mapping of names to non-empty strings: `{ done: "mason:done" }`. */
375
+ function namesOption(options, name) {
376
+ const raw = options[name];
377
+ if (raw === undefined) {
378
+ return { ok: true, value: undefined };
379
+ }
380
+ if (raw === null || typeof raw !== "object" || Array.isArray(raw)) {
381
+ return { ok: false, reason: `managerOptions "${name}" must be a mapping of names to labels.` };
382
+ }
383
+ const value = {};
384
+ for (const [key, label] of Object.entries(raw)) {
385
+ if (typeof label !== "string" || label.trim().length === 0) {
386
+ return {
387
+ ok: false,
388
+ reason: `managerOptions "${name}.${key}" must be a non-empty string.`,
389
+ };
390
+ }
391
+ value[key] = label;
392
+ }
393
+ return { ok: true, value };
394
+ }
322
395
  /** `Name <email>`, the form `git log` prints. */
323
396
  export function parseAuthor(text) {
324
397
  const match = /^\s*(.+?)\s*<([^<>\s]+@[^<>\s]+)>\s*$/.exec(text);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ export declare function ownGroup(): {
5
5
  };
6
6
  /**
7
7
  * Remember a running child so it does not outlive this process: a group of its
8
- * own no longer shares the terminal's Ctrl-C, nor dies by accident with us.
8
+ * own does not share the terminal's Ctrl-C, nor die by accident with us.
9
9
  * Forgotten on its own once it closes.
10
10
  */
11
11
  export declare function track(child: ChildProcess): void;
@@ -35,7 +35,7 @@ export function ownGroup() {
35
35
  }
36
36
  /**
37
37
  * Remember a running child so it does not outlive this process: a group of its
38
- * own no longer shares the terminal's Ctrl-C, nor dies by accident with us.
38
+ * own does not share the terminal's Ctrl-C, nor die by accident with us.
39
39
  * Forgotten on its own once it closes.
40
40
  */
41
41
  export function track(child) {
@@ -29,7 +29,7 @@ export type RunOptions = {
29
29
  };
30
30
  export declare function invalidInvocationResult(write: ProgressWriter, reason: string): RunResult;
31
31
  /**
32
- * Run one FeatureListener invocation to a run outcome.
32
+ * Run one Listener invocation to a run outcome.
33
33
  */
34
34
  export declare function runListener(options: RunOptions): Promise<RunResult>;
35
35
  //# sourceMappingURL=run-listener.d.ts.map
@@ -44,7 +44,7 @@ async function waitPoll(input) {
44
44
  }
45
45
  }
46
46
  /**
47
- * Run one FeatureListener invocation to a run outcome.
47
+ * Run one Listener invocation to a run outcome.
48
48
  */
49
49
  export async function runListener(options) {
50
50
  const write = options.write ?? (() => { });
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Cursor arithmetic over what the Source listed. Pure: no request is made here,
3
- * so ordering, cursor filtering, and the pull-request filter are testable from
3
+ * so ordering, cursor filtering, and the pull-request and sub-issue filters are testable from
4
4
  * a list of objects.
5
5
  */
6
6
  import type { Cursor, SkipReason } from "../types.js";
@@ -19,6 +19,11 @@ export declare function compareCursors(left: Cursor, right: Cursor): number;
19
19
  * `/issues`, and only the tracker half is what this Block subscribes to.
20
20
  */
21
21
  export declare function isPullRequest(entry: Record<string, unknown>): boolean;
22
+ /**
23
+ * A sub-issue is a Ticket, read through its Feature. Only a top-level issue is
24
+ * a Feature, which is what lets a Feature and its Tickets carry the same label.
25
+ */
26
+ export declare function isSubIssue(entry: Record<string, unknown>): boolean;
22
27
  export type CursorOfResult = {
23
28
  ok: true;
24
29
  cursor: Cursor;
@@ -1 +1 @@
1
- {"version":3,"file":"select-events.d.ts","sourceRoot":"","sources":["../../../src/listener/source/select-events.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEtD,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAEpC,kFAAkF;AAClF,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAWvD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAQlE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAErE;AAED,MAAM,MAAM,cAAc,GACtB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC5B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtD,oEAAoE;AACpE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,cAAc,CAUvE;AAED,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GACnE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,EAAE,CAoCvF"}
1
+ {"version":3,"file":"select-events.d.ts","sourceRoot":"","sources":["../../../src/listener/source/select-events.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEtD,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAEpC,kFAAkF;AAClF,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAWvD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAQlE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAErE;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAElE;AAED,MAAM,MAAM,cAAc,GACtB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC5B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtD,oEAAoE;AACpE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,cAAc,CAUvE;AAED,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GACnE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,EAAE,CAoCvF"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Cursor arithmetic over what the Source listed. Pure: no request is made here,
3
- * so ordering, cursor filtering, and the pull-request filter are testable from
3
+ * so ordering, cursor filtering, and the pull-request and sub-issue filters are testable from
4
4
  * a list of objects.
5
5
  */
6
6
  export const CURSOR_SEPARATOR = "#";
@@ -41,6 +41,13 @@ export function compareCursors(left, right) {
41
41
  export function isPullRequest(entry) {
42
42
  return entry.pull_request !== undefined;
43
43
  }
44
+ /**
45
+ * A sub-issue is a Ticket, read through its Feature. Only a top-level issue is
46
+ * a Feature, which is what lets a Feature and its Tickets carry the same label.
47
+ */
48
+ export function isSubIssue(entry) {
49
+ return typeof entry.parent_issue_url === "string";
50
+ }
44
51
  /** The two fields an Event must carry to be placed in the order. */
45
52
  export function cursorOf(entry) {
46
53
  const number = entry.number;
@@ -71,7 +78,7 @@ export function selectEvents(entries, since) {
71
78
  continue;
72
79
  }
73
80
  const issue = entry;
74
- if (isPullRequest(issue)) {
81
+ if (isPullRequest(issue) || isSubIssue(issue)) {
75
82
  continue;
76
83
  }
77
84
  const cursor = cursorOf(issue);
@@ -1 +1 @@
1
- {"version":3,"file":"select-events.js","sourceRoot":"","sources":["../../../src/listener/source/select-events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"select-events.js","sourceRoot":"","sources":["../../../src/listener/source/select-events.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /** Domain types owned by FeatureListener. Names match the Block perimeter only. */
1
+ /** Domain types owned by Listener. Names match the Block perimeter only. */
2
2
  export type RunOutcome = "completed" | "source-lost" | "invalid-invocation" | "interrupted";
3
3
  export type StopReason = "drained" | "max-events" | "duration" | "source-lost" | "signal";
4
4
  export type SkipReason = "not-object" | "no-cursor";
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/listener/types.ts"],"names":[],"mappings":"AAAA,mFAAmF;AAEnF,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,oBAAoB,GAAG,aAAa,CAAC;AAE5F,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,YAAY,GAAG,UAAU,GAAG,aAAa,GAAG,QAAQ,CAAC;AAE1F,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG,WAAW,CAAC;AAEpD,2CAA2C;AAC3C,MAAM,MAAM,UAAU,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzD,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEnD,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,UAAU,CAAC;IACjB,8EAA8E;IAC9E,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,UAAU,CAAC;IAClB,oEAAoE;IACpE,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,sFAAsF;IACtF,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,WAAW;AACrB,mGAAmG;AACnG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,UAAU,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtF,kFAAkF;AAClF,MAAM,MAAM,MAAM,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3D,qEAAqE;AACrE,MAAM,MAAM,QAAQ,GAAG;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,0EAA0E;AAC1E,MAAM,MAAM,IAAI,GAAG;IACjB,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/listener/types.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAE5E,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,oBAAoB,GAAG,aAAa,CAAC;AAE5F,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,YAAY,GAAG,UAAU,GAAG,aAAa,GAAG,QAAQ,CAAC;AAE1F,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG,WAAW,CAAC;AAEpD,2CAA2C;AAC3C,MAAM,MAAM,UAAU,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzD,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEnD,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,UAAU,CAAC;IACjB,8EAA8E;IAC9E,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,UAAU,CAAC;IAClB,oEAAoE;IACpE,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,sFAAsF;IACtF,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,WAAW;AACrB,mGAAmG;AACnG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,UAAU,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtF,kFAAkF;AAClF,MAAM,MAAM,MAAM,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3D,qEAAqE;AACrE,MAAM,MAAM,QAAQ,GAAG;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,0EAA0E;AAC1E,MAAM,MAAM,IAAI,GAAG;IACjB,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC"}
@@ -1,3 +1,3 @@
1
- /** Domain types owned by FeatureListener. Names match the Block perimeter only. */
1
+ /** Domain types owned by Listener. Names match the Block perimeter only. */
2
2
  export {};
3
3
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/listener/types.ts"],"names":[],"mappings":"AAAA,mFAAmF"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/listener/types.ts"],"names":[],"mappings":"AAAA,4EAA4E"}
package/dist/manager.d.ts CHANGED
@@ -1,8 +1,12 @@
1
- import type { ManagerPort } from "@bluewombat/manager-kit";
1
+ import type { Manager } from "@bluewombat/manager-kit";
2
2
  import type { Repository } from "./repo.js";
3
+ import type { StateLabels } from "./state-labels.js";
3
4
  export declare const DEFAULT_API_BASE = "https://api.github.com";
4
5
  export declare const DEFAULT_TOKEN_ENV = "GITHUB_TOKEN";
5
- export declare const DEFAULT_READY_LABEL = "ready";
6
+ export declare const DEFAULT_RESUME_LABEL = "to-resume";
7
+ export declare const DEFAULT_FEATURE_READY_LABEL = "feature-ready";
8
+ export declare const DEFAULT_TICKET_READY_LABEL = "task-ready";
9
+ export declare const DEFAULT_MERGE_WHEN_READY_LABEL = "merge-when-ready";
6
10
  export declare const DEFAULT_PRIORITY = 50;
7
11
  export type GithubManagerOptions = {
8
12
  repo: Repository;
@@ -12,18 +16,25 @@ export type GithubManagerOptions = {
12
16
  interrupted: boolean;
13
17
  };
14
18
  apiBase?: string;
15
- labels?: string[];
16
19
  defaultProject?: string;
17
- readyLabel?: string;
20
+ resumeLabel?: string;
21
+ /** On a Feature: its content is final, so its Tickets may be made. */
22
+ featureReadyLabel?: string;
23
+ /** On a Ticket: its specification is final. */
24
+ ticketReadyLabel?: string;
25
+ /** On a Feature: its line may be folded without a human. */
26
+ mergeWhenReadyLabel?: string;
18
27
  defaultPriority?: number;
19
- stateLabelPrefix?: string;
20
- /** Leave the feature branch on the remote after a fold. Default: delete it. */
28
+ /** When set, each Event also lands on the issue as its label. */
29
+ stateLabels?: StateLabels;
30
+ /** Leave the ticket branch on the remote after a fold. Default: delete it. */
21
31
  keepBranch?: boolean;
22
32
  /** Replaces the REST API. Tests only. */
23
33
  githubFetch?: typeof fetch;
24
34
  };
25
35
  /**
26
- * One repository's issues in, comments (and optional state labels) out.
36
+ * One repository: its issues are the Features and, as sub-issues, their
37
+ * Tickets; its branches are the lines; its pull requests are the Submissions.
27
38
  */
28
- export declare function createGithubManager(options: GithubManagerOptions): ManagerPort;
39
+ export declare function createGithubManager(options: GithubManagerOptions): Manager;
29
40
  //# sourceMappingURL=manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,WAAW,EAKZ,MAAM,yBAAyB,CAAC;AAUjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAoB5C,eAAO,MAAM,gBAAgB,2BAA2B,CAAC;AACzD,eAAO,MAAM,iBAAiB,iBAAiB,CAAC;AAChD,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAC3C,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE;QAAE,WAAW,EAAE,OAAO,CAAA;KAAE,CAAC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,+EAA+E;IAC/E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,yCAAyC;IACzC,WAAW,CAAC,EAAE,OAAO,KAAK,CAAC;CAC5B,CAAC;AAEF;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,WAAW,CA8M9E"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAMV,OAAO,EAQR,MAAM,yBAAyB,CAAC;AAUjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAqBrD,eAAO,MAAM,gBAAgB,2BAA2B,CAAC;AACzD,eAAO,MAAM,iBAAiB,iBAAiB,CAAC;AAChD,eAAO,MAAM,oBAAoB,cAAc,CAAC;AAChD,eAAO,MAAM,2BAA2B,kBAAkB,CAAC;AAC3D,eAAO,MAAM,0BAA0B,eAAe,CAAC;AACvD,eAAO,MAAM,8BAA8B,qBAAqB,CAAC;AACjE,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE;QAAE,WAAW,EAAE,OAAO,CAAA;KAAE,CAAC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,+CAA+C;IAC/C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,4DAA4D;IAC5D,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iEAAiE;IACjE,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,8EAA8E;IAC9E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,yCAAyC;IACzC,WAAW,CAAC,EAAE,OAAO,KAAK,CAAC;CAC5B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CA6P1E"}