github-issue-tower-defence-management 1.162.1 → 1.162.3
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/CHANGELOG.md +14 -0
- package/README.md +1 -1
- package/bin/domain/usecases/console/GenerateConsoleListsUseCase.js +6 -3
- package/bin/domain/usecases/console/GenerateConsoleListsUseCase.js.map +1 -1
- package/package.json +1 -1
- package/src/domain/usecases/console/GenerateConsoleListsUseCase.test.ts +53 -5
- package/src/domain/usecases/console/GenerateConsoleListsUseCase.ts +8 -6
- package/types/domain/usecases/console/GenerateConsoleListsUseCase.d.ts +1 -0
- package/types/domain/usecases/console/GenerateConsoleListsUseCase.d.ts.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
## [1.162.3](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.162.2...v1.162.3) (2026-08-19)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **console:** list an issue whose story field is empty on the triage tab ([#1637](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/issues/1637)) ([91203c3](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/commit/91203c30415f346261447caead5e7ab558eea063))
|
|
7
|
+
|
|
8
|
+
## [1.162.2](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.162.1...v1.162.2) (2026-08-19)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* **console:** list every item still needing a story on the triage tab ([#1633](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/issues/1633)) ([94b49b0](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/commit/94b49b0d6aa21dd7e98c6b39761d3068307fe809))
|
|
14
|
+
|
|
1
15
|
## [1.162.1](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.162.0...v1.162.1) (2026-08-19)
|
|
2
16
|
|
|
3
17
|
|
package/README.md
CHANGED
|
@@ -524,7 +524,7 @@ Most tabs apply a common actionable filter to the project's issues: the issue is
|
|
|
524
524
|
- `failed-preparation`: status equals `Failed Preparation` (exact case)
|
|
525
525
|
- `todo-by-human`: status equals `Todo by human` or the legacy value `Todo` (exact case)
|
|
526
526
|
- `todo-by-agent`: status equals `Todo by agent` (exact case)
|
|
527
|
-
- `triage`: story name contains `no story` (case-insensitive),
|
|
527
|
+
- `triage`: every open issue assigned to the console owner whose story field is empty or whose story name contains `no story` (case-insensitive), the two being the same operational state because the `NO STORY` option is what this tool assigns to an issue that has none, whatever status it carries, whatever it depends on and whatever next action date or hour it holds, because the `NO STORY` story option is assigned by this tool rather than chosen by a person, so the triage decision stays open however far the status has advanced and however the issue is blocked or scheduled. Pull requests are excluded, because a pull request's story is written by this tool from its task issue. This tab is the one tab built from the full issue list rather than from the shared actionable set, so `In Tmux by agent` is listed here while every other tab drops it
|
|
528
528
|
|
|
529
529
|
The `workflow-blocker` tab is the one exception to the common actionable filter: it lists every issue whose story name equals the configured `workflowBlockerStoryName` (case-insensitive) and whose issue state is not closed, regardless of its status, next action date, next action hour, or depended issue URLs. When `workflowBlockerStoryName` is unset, the `workflow-blocker` list is always empty.
|
|
530
530
|
|
|
@@ -49,13 +49,16 @@ class GenerateConsoleListsUseCase {
|
|
|
49
49
|
storyOptions: this.buildFieldOptions(storyOptions, []),
|
|
50
50
|
storyOrder,
|
|
51
51
|
storyColors: this.buildStoryColorsString(storyOptions),
|
|
52
|
-
items: this.sortByStoryOrder(
|
|
53
|
-
.filter((issue) => issue
|
|
54
|
-
issue.story.toLowerCase().includes('no story'))
|
|
52
|
+
items: this.sortByStoryOrder(issues
|
|
53
|
+
.filter((issue) => this.needsStory(issue, assigneeLogin))
|
|
55
54
|
.map((issue) => this.projectItem(issue, relatedOpenPullRequestUrlsByIssueUrl.get(issue.url) ?? [])), storyOrder),
|
|
56
55
|
},
|
|
57
56
|
};
|
|
58
57
|
};
|
|
58
|
+
this.needsStory = (issue, assigneeLogin) => issue.isClosed === false &&
|
|
59
|
+
issue.isPr === false &&
|
|
60
|
+
issue.assignees.includes(assigneeLogin) &&
|
|
61
|
+
(issue.story === null || issue.story.toLowerCase().includes('no story'));
|
|
59
62
|
this.isActionable = (issue, assigneeLogin) => issue.isClosed === false &&
|
|
60
63
|
issue.assignees.includes(assigneeLogin) &&
|
|
61
64
|
issue.dependedIssueUrls.length === 0 &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenerateConsoleListsUseCase.js","sourceRoot":"","sources":["../../../../src/domain/usecases/console/GenerateConsoleListsUseCase.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"GenerateConsoleListsUseCase.js","sourceRoot":"","sources":["../../../../src/domain/usecases/console/GenerateConsoleListsUseCase.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -227,17 +227,64 @@ describe('GenerateConsoleListsUseCase', () => {
|
|
|
227
227
|
makeIssue({ story: 'Story Alpha' }),
|
|
228
228
|
makeIssue({ story: null }),
|
|
229
229
|
]);
|
|
230
|
-
expect(result.triage.items).toHaveLength(
|
|
230
|
+
expect(result.triage.items).toHaveLength(3);
|
|
231
231
|
});
|
|
232
232
|
|
|
233
|
-
it('
|
|
233
|
+
it('keeps no-story items whose status is In Tmux by agent', () => {
|
|
234
234
|
const result = run([
|
|
235
235
|
makeIssue({ story: 'no story', status: 'In Tmux by agent' }),
|
|
236
236
|
makeIssue({ story: 'no story', status: 'in tmux by agent' }),
|
|
237
237
|
makeIssue({ story: 'no story', status: 'Unread' }),
|
|
238
238
|
]);
|
|
239
239
|
const statuses = result.triage.items.map((item) => item.status);
|
|
240
|
-
expect(statuses).toEqual([
|
|
240
|
+
expect(statuses).toEqual([
|
|
241
|
+
'In Tmux by agent',
|
|
242
|
+
'in tmux by agent',
|
|
243
|
+
'Unread',
|
|
244
|
+
]);
|
|
245
|
+
});
|
|
246
|
+
|
|
247
|
+
it('keeps a no-story item that is blocked or scheduled to resume later', () => {
|
|
248
|
+
const result = run([
|
|
249
|
+
makeIssue({
|
|
250
|
+
story: 'no story',
|
|
251
|
+
dependedIssueUrls: ['https://github.com/demo/repo/issues/99'],
|
|
252
|
+
}),
|
|
253
|
+
makeIssue({
|
|
254
|
+
story: 'no story',
|
|
255
|
+
nextActionDate: new Date('2026-08-20T00:00:00.000Z'),
|
|
256
|
+
}),
|
|
257
|
+
makeIssue({ story: 'no story', nextActionHour: 9 }),
|
|
258
|
+
]);
|
|
259
|
+
expect(result.triage.items).toHaveLength(3);
|
|
260
|
+
});
|
|
261
|
+
|
|
262
|
+
it('keeps a pull request and another person’s item off the triage tab', () => {
|
|
263
|
+
const result = run([
|
|
264
|
+
makeIssue({ story: 'no story', isPr: true }),
|
|
265
|
+
makeIssue({ story: 'no story', assignees: ['someone-else'] }),
|
|
266
|
+
makeIssue({ story: 'no story', isClosed: true }),
|
|
267
|
+
]);
|
|
268
|
+
expect(result.triage.items).toHaveLength(0);
|
|
269
|
+
});
|
|
270
|
+
|
|
271
|
+
it('keeps an item whose story field is empty on the triage tab', () => {
|
|
272
|
+
const result = run([
|
|
273
|
+
makeIssue({ story: null, status: 'Awaiting Workspace' }),
|
|
274
|
+
makeIssue({ story: null, status: null }),
|
|
275
|
+
makeIssue({ story: 'regular / NO STORY' }),
|
|
276
|
+
makeIssue({ story: 'Story Alpha' }),
|
|
277
|
+
]);
|
|
278
|
+
expect(result.triage.items).toHaveLength(3);
|
|
279
|
+
});
|
|
280
|
+
|
|
281
|
+
it('keeps a pull request, another person’s item and a closed item off the triage tab when the story field is empty', () => {
|
|
282
|
+
const result = run([
|
|
283
|
+
makeIssue({ story: null, isPr: true }),
|
|
284
|
+
makeIssue({ story: null, assignees: ['someone-else'] }),
|
|
285
|
+
makeIssue({ story: null, isClosed: true }),
|
|
286
|
+
]);
|
|
287
|
+
expect(result.triage.items).toHaveLength(0);
|
|
241
288
|
});
|
|
242
289
|
|
|
243
290
|
it('keeps every no-story item whatever status it carries', () => {
|
|
@@ -397,14 +444,15 @@ describe('GenerateConsoleListsUseCase', () => {
|
|
|
397
444
|
expect(allTabItems(result)).toHaveLength(1);
|
|
398
445
|
});
|
|
399
446
|
|
|
400
|
-
it('
|
|
447
|
+
it('shows a no-story In Tmux by agent issue on the triage tab and nowhere else', () => {
|
|
401
448
|
const result = run([
|
|
402
449
|
makeIssue({
|
|
403
450
|
story: 'no story',
|
|
404
451
|
status: 'In Tmux by agent',
|
|
405
452
|
}),
|
|
406
453
|
]);
|
|
407
|
-
expect(
|
|
454
|
+
expect(result.triage.items).toHaveLength(1);
|
|
455
|
+
expect(allTabItems(result)).toHaveLength(1);
|
|
408
456
|
});
|
|
409
457
|
|
|
410
458
|
it('hides In Tmux by agent case-insensitively from every tab other than the workflow blocker tab', () => {
|
|
@@ -186,12 +186,8 @@ export class GenerateConsoleListsUseCase {
|
|
|
186
186
|
storyOrder,
|
|
187
187
|
storyColors: this.buildStoryColorsString(storyOptions),
|
|
188
188
|
items: this.sortByStoryOrder(
|
|
189
|
-
|
|
190
|
-
.filter(
|
|
191
|
-
(issue) =>
|
|
192
|
-
issue.story !== null &&
|
|
193
|
-
issue.story.toLowerCase().includes('no story'),
|
|
194
|
-
)
|
|
189
|
+
issues
|
|
190
|
+
.filter((issue) => this.needsStory(issue, assigneeLogin))
|
|
195
191
|
.map((issue) =>
|
|
196
192
|
this.projectItem(
|
|
197
193
|
issue,
|
|
@@ -204,6 +200,12 @@ export class GenerateConsoleListsUseCase {
|
|
|
204
200
|
};
|
|
205
201
|
};
|
|
206
202
|
|
|
203
|
+
private needsStory = (issue: Issue, assigneeLogin: string): boolean =>
|
|
204
|
+
issue.isClosed === false &&
|
|
205
|
+
issue.isPr === false &&
|
|
206
|
+
issue.assignees.includes(assigneeLogin) &&
|
|
207
|
+
(issue.story === null || issue.story.toLowerCase().includes('no story'));
|
|
208
|
+
|
|
207
209
|
private isActionable = (issue: Issue, assigneeLogin: string): boolean =>
|
|
208
210
|
issue.isClosed === false &&
|
|
209
211
|
issue.assignees.includes(assigneeLogin) &&
|
|
@@ -62,6 +62,7 @@ export type GenerateConsoleListsInput = {
|
|
|
62
62
|
};
|
|
63
63
|
export declare class GenerateConsoleListsUseCase {
|
|
64
64
|
run: (input: GenerateConsoleListsInput) => ConsoleLists;
|
|
65
|
+
private needsStory;
|
|
65
66
|
private isActionable;
|
|
66
67
|
private workflowBlockerSelector;
|
|
67
68
|
private buildRelatedOpenPullRequestUrlsByIssueUrl;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenerateConsoleListsUseCase.d.ts","sourceRoot":"","sources":["../../../../src/domain/usecases/console/GenerateConsoleListsUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAQ9D,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;AAEhD,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,0BAA0B,EAAE,MAAM,EAAE,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,YAAY,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,kBAAkB,EAAE,CAAC;IACpC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,YAAY,CAAA;KAAE,CAAC,CAAC;IACrD,KAAK,EAAE,eAAe,EAAE,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,kBAAkB,EAAE,CAAC;IACnC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC1C,KAAK,EAAE,eAAe,EAAE,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,cAAc,GACtB,kBAAkB,GAClB,KAAK,GACL,QAAQ,GACR,QAAQ,GACR,oBAAoB,GACpB,eAAe,GACf,eAAe,CAAC;AAEpB,MAAM,MAAM,YAAY,GAAG;IACzB,kBAAkB,EAAE,gBAAgB,CAAC;IACrC,GAAG,EAAE,gBAAgB,CAAC;IACtB,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,EAAE,gBAAgB,CAAC;IACzB,oBAAoB,EAAE,gBAAgB,CAAC;IACvC,eAAe,EAAE,gBAAgB,CAAC;IAClC,eAAe,EAAE,gBAAgB,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAC;CACzC,CAAC;AAIF,qBAAa,2BAA2B;IACtC,GAAG,GAAI,OAAO,yBAAyB,KAAG,YAAY,
|
|
1
|
+
{"version":3,"file":"GenerateConsoleListsUseCase.d.ts","sourceRoot":"","sources":["../../../../src/domain/usecases/console/GenerateConsoleListsUseCase.ts"],"names":[],"mappings":"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"}
|