github-issue-tower-defence-management 1.64.0 → 1.66.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 (23) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +2 -2
  3. package/bin/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.js +1 -1
  4. package/bin/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.js.map +1 -1
  5. package/bin/domain/entities/WorkflowStatus.js +2 -6
  6. package/bin/domain/entities/WorkflowStatus.js.map +1 -1
  7. package/bin/domain/usecases/SetupTowerDefenceProjectUseCase.js +14 -1
  8. package/bin/domain/usecases/SetupTowerDefenceProjectUseCase.js.map +1 -1
  9. package/bin/domain/usecases/StartPreparationUseCase.js +6 -0
  10. package/bin/domain/usecases/StartPreparationUseCase.js.map +1 -1
  11. package/package.json +1 -1
  12. package/src/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.ts +1 -0
  13. package/src/domain/entities/WorkflowStatus.ts +2 -5
  14. package/src/domain/usecases/SetupTowerDefenceProjectUseCase.test.ts +432 -36
  15. package/src/domain/usecases/SetupTowerDefenceProjectUseCase.ts +31 -0
  16. package/src/domain/usecases/StartPreparationUseCase.test.ts +21 -0
  17. package/src/domain/usecases/StartPreparationUseCase.ts +9 -0
  18. package/types/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.d.ts.map +1 -1
  19. package/types/domain/entities/WorkflowStatus.d.ts +1 -1
  20. package/types/domain/entities/WorkflowStatus.d.ts.map +1 -1
  21. package/types/domain/usecases/SetupTowerDefenceProjectUseCase.d.ts +3 -1
  22. package/types/domain/usecases/SetupTowerDefenceProjectUseCase.d.ts.map +1 -1
  23. package/types/domain/usecases/StartPreparationUseCase.d.ts.map +1 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ # [1.66.0](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.65.0...v1.66.0) (2026-05-26)
2
+
3
+
4
+ ### Features
5
+
6
+ * **core:** remove Awaiting Task Breakdown status and migrate items to Todo by human ([cc38380](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/commit/cc38380bf5ea322c347ed3c3731d4a91eda1fb69)), closes [#642](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/issues/642)
7
+
8
+ # [1.65.0](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.64.0...v1.65.0) (2026-05-26)
9
+
10
+
11
+ ### Features
12
+
13
+ * **core:** log skipped issues when allowedIssueAuthors filter is active ([8ab1a29](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/commit/8ab1a29b88b6d0f37fbac596ce4166c1f8d87b5a)), closes [#620](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/issues/620)
14
+
1
15
  # [1.64.0](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.63.1...v1.64.0) (2026-05-26)
2
16
 
3
17
 
package/README.md CHANGED
@@ -73,7 +73,7 @@ npx github-issue-tower-defence-management notifyFinishedIssuePreparation --confi
73
73
 
74
74
  The `config.yaml` for the `schedule` command must match the input type of `HandleScheduledEventUseCase.run()`. Below is the structure:
75
75
 
76
- Workflow status names (`Unread`, `Awaiting Task Breakdown`, `Awaiting Workspace`, `Preparation`, `Failed Preparation`, `Awaiting Quality Check`, `Todo by human`, `In Tmux by human`, `Done`, `Icebox`) are fixed code constants and cannot be overridden from CLI options, config files, or project README. The `schedule` command automatically creates any missing required statuses on the target project on each run via `SetupTowerDefenceProjectUseCase`. Projects with the legacy `Todo` and `In Tmux` status names are automatically migrated to `Todo by human` and `In Tmux by human` respectively by reusing the existing option IDs so that task associations are preserved. The legacy `PC Todo` status is removed from the required list and excluded from the project status list on the next setup run.
76
+ Workflow status names (`Unread`, `Awaiting Workspace`, `Preparation`, `Failed Preparation`, `Awaiting Quality Check`, `Todo by human`, `In Tmux by human`, `Done`, `Icebox`) are fixed code constants and cannot be overridden from CLI options, config files, or project README. The `schedule` command automatically creates any missing required statuses on the target project on each run via `SetupTowerDefenceProjectUseCase`. Projects with the legacy `Todo` and `In Tmux` status names are automatically migrated to `Todo by human` and `In Tmux by human` respectively by reusing the existing option IDs so that task associations are preserved. The legacy `PC Todo` status is removed from the required list and excluded from the project status list on the next setup run. The legacy `Awaiting Task Breakdown` status is removed from the required list; any project items in that status are automatically moved to `Todo by human` and the status option is removed on the next setup run.
77
77
 
78
78
  ```yaml
79
79
  disabled: boolean # When true, skip all processing and return null
@@ -170,7 +170,7 @@ awLogDirectoryPath?: string # Optional: Directory path where aw log files named
170
170
  awLogStaleThresholdMinutes?: number # Optional: Minutes since last aw log mtime after which a Preparation issue is considered orphaned even when pgrep still returns 0. Requires awLogDirectoryPath
171
171
  ```
172
172
 
173
- Workflow status names (`Unread`, `Awaiting Task Breakdown`, `Awaiting Workspace`, `Preparation`, `Failed Preparation`, `Awaiting Quality Check`, `Todo by human`, `In Tmux by human`, `Done`, `Icebox`) are hardcoded constants and are not accepted via this config, the CLI, or the project README. To ensure they exist on the target project, run the `schedule` command — it invokes `SetupTowerDefenceProjectUseCase` automatically. Projects with the legacy `Todo` and `In Tmux` status names are automatically migrated; `PC Todo` is removed on the next setup run.
173
+ Workflow status names (`Unread`, `Awaiting Workspace`, `Preparation`, `Failed Preparation`, `Awaiting Quality Check`, `Todo by human`, `In Tmux by human`, `Done`, `Icebox`) are hardcoded constants and are not accepted via this config, the CLI, or the project README. To ensure they exist on the target project, run the `schedule` command — it invokes `SetupTowerDefenceProjectUseCase` automatically. Projects with the legacy `Todo` and `In Tmux` status names are automatically migrated; `PC Todo` and `Awaiting Task Breakdown` are removed on the next setup run (items in `Awaiting Task Breakdown` are moved to `Todo by human` before the option is deleted).
174
174
 
175
175
  Example:
176
176
 
@@ -376,7 +376,7 @@ class HandleScheduledEventUseCaseHandler {
376
376
  const restIssueRepository = new RestIssueRepository_1.RestIssueRepository(...githubRepositoryParams);
377
377
  const graphqlProjectItemRepository = new GraphqlProjectItemRepository_1.GraphqlProjectItemRepository(...githubRepositoryParams);
378
378
  const issueRepository = new ApiV3CheerioRestIssueRepository_1.ApiV3CheerioRestIssueRepository(apiV3IssueRepository, restIssueRepository, graphqlProjectItemRepository, localStorageCacheRepository, ...githubRepositoryParams);
379
- const setupTowerDefenceProjectUseCase = new SetupTowerDefenceProjectUseCase_1.SetupTowerDefenceProjectUseCase(projectRepository);
379
+ const setupTowerDefenceProjectUseCase = new SetupTowerDefenceProjectUseCase_1.SetupTowerDefenceProjectUseCase(projectRepository, issueRepository);
380
380
  const actionAnnouncement = new ActionAnnouncementUseCase_1.ActionAnnouncementUseCase(issueRepository);
381
381
  const setWorkflowManagementIssueToStoryUseCase = new SetWorkflowManagementIssueToStoryUseCase_1.SetWorkflowManagementIssueToStoryUseCase(issueRepository);
382
382
  const clearPastNextActionUseCase = new ClearPastNextActionDateHourUseCase_1.ClearPastNextActionDateHourUseCase(issueRepository);
@@ -1 +1 @@
1
- {"version":3,"file":"HandleScheduledEventUseCaseHandler.js","sourceRoot":"","sources":["../../../../src/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAwB;AACxB,kDAA0B;AAC1B,4CAAoB;AACpB,+DAA2D;AAC3D,uEAAmE;AACnE,wDAG8B;AAC9B,kFAA+E;AAC/E,sFAAmF;AACnF,gGAA6F;AAC7F,0FAAuF;AACvF,wFAAqF;AACrF,sFAAmF;AACnF,wGAAqG;AACrG,8GAA2G;AAC3G,sGAAmG;AACnG,gGAA6F;AAC7F,kGAA+F;AAC/F,gIAA6H;AAC7H,oHAAiH;AACjH,wGAAqG;AAIrG,0FAAuF;AACvF,wGAAqG;AACrG,wGAAqG;AACrG,kIAA+H;AAC/H,8GAA2G;AAC3G,0GAAuG;AACvG,wGAAqG;AACrG,0HAAuH;AACvH,8GAA2G;AAC3G,8FAA2F;AAC3F,sFAAmF;AACnF,wGAAqG;AACrG,oGAAiG;AACjG,sGAAmG;AACnG,gHAA6G;AAC7G,kIAA+H;AAC/H,kGAA+F;AAC/F,8GAA2G;AAC3G,4EAKiD;AAEjD,MAAa,kCAAkC;IAA/C;QACE,WAAM,GAAG,KAAK,EACZ,cAAsB,EACtB,QAAiB,EAMT,EAAE;YACV,MAAM,iBAAiB,GAAG,YAAE,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;YAClE,MAAM,KAAK,GAAY,cAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAuBrD,IAAI,+xHAAqB,KAAK,CAAC,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CACb,kBAAkB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAA2B,KAAK,EAAE,EAAE,CACjG,CAAC;YACJ,CAAC;YACD,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACnB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;YAC5D,MAAM,MAAM,GAAG,MAAM,IAAA,kCAAkB,EAAC,KAAK,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YACxE,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,IAAA,wCAAwB,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAEpE,MAAM,WAAW,GAAG;gBAClB,GAAG,KAAK;gBACR,sBAAsB,EACpB,YAAY,CAAC,sBAAsB,IAAI,KAAK,CAAC,sBAAsB;gBACrE,gCAAgC,EAC9B,YAAY,CAAC,gCAAgC;oBAC7C,KAAK,CAAC,gCAAgC;gBACxC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;oBACtC,CAAC,CAAC;wBACE,GAAG,KAAK,CAAC,gBAAgB;wBACzB,gBAAgB,EACd,YAAY,CAAC,gBAAgB;4BAC7B,KAAK,CAAC,gBAAgB,CAAC,gBAAgB;wBACzC,mBAAmB,EACjB,YAAY,CAAC,mBAAmB;4BAChC,KAAK,CAAC,gBAAgB,CAAC,mBAAmB;wBAC5C,mBAAmB,EACjB,YAAY,CAAC,mBAAmB;4BAChC,KAAK,CAAC,gBAAgB,CAAC,mBAAmB;wBAC5C,2BAA2B,EACzB,YAAY,CAAC,2BAA2B;4BACxC,KAAK,CAAC,gBAAgB,CAAC,2BAA2B;wBACpD,8BAA8B,EAC5B,YAAY,CAAC,8BAA8B;4BAC3C,KAAK,CAAC,gBAAgB,CAAC,8BAA8B;wBACvD,mBAAmB,EAAE,YAAY,CAAC,mBAAmB;4BACnD,CAAC,CAAC,YAAY,CAAC,mBAAmB;iCAC7B,KAAK,CAAC,GAAG,CAAC;iCACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;iCACpB,MAAM,CAAC,OAAO,CAAC;4BACpB,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,mBAAmB;wBAC9C,8BAA8B,EAC5B,YAAY,CAAC,8BAA8B;4BAC3C,KAAK,CAAC,gBAAgB,CAAC,8BAA8B;wBACvD,mBAAmB,EACjB,YAAY,CAAC,mBAAmB;4BAChC,KAAK,CAAC,gBAAgB,CAAC,mBAAmB;qBAC7C;oBACH,CAAC,CAAC,KAAK,CAAC,gBAAgB;aAC3B,CAAC;YAEF,MAAM,oBAAoB,GAAG,IAAI,2CAAoB,EAAE,CAAC;YACxD,MAAM,sBAAsB,GAAG,IAAI,+CAAsB,EAAE,CAAC;YAC5D,MAAM,2BAA2B,GAAG,IAAI,yDAA2B,CACjE,sBAAsB,EACtB,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,oBAAoB,CAAC,iBAAiB,CACjE,CAAC;YACF,MAAM,SAAS,GAAG,eAAe,KAAK,CAAC,WAAW,EAAE,CAAC;YACrD,MAAM,2BAA2B,GAAG,IAAI,yDAA2B,CACjE,sBAAsB,EACtB,SAAS,CACV,CAAC;YACF,MAAM,sBAAsB,GAExB,CAAC,sBAAsB,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACjE,MAAM,iBAAiB,GAAG,IAAI,mDAAwB,CACpD,GAAG,sBAAsB,CAC1B,CAAC;YACF,MAAM,oBAAoB,GAAG,IAAI,2CAAoB,CACnD,GAAG,sBAAsB,CAC1B,CAAC;YACF,MAAM,mBAAmB,GAAG,IAAI,yCAAmB,CACjD,GAAG,sBAAsB,CAC1B,CAAC;YACF,MAAM,4BAA4B,GAAG,IAAI,2DAA4B,CACnE,GAAG,sBAAsB,CAC1B,CAAC;YACF,MAAM,eAAe,GAAG,IAAI,iEAA+B,CACzD,oBAAoB,EACpB,mBAAmB,EACnB,4BAA4B,EAC5B,2BAA2B,EAC3B,GAAG,sBAAsB,CAC1B,CAAC;YACF,MAAM,+BAA+B,GAAG,IAAI,iEAA+B,CACzE,iBAAiB,CAClB,CAAC;YACF,MAAM,kBAAkB,GAAG,IAAI,qDAAyB,CAAC,eAAe,CAAC,CAAC;YAC1E,MAAM,wCAAwC,GAC5C,IAAI,mFAAwC,CAAC,eAAe,CAAC,CAAC;YAChE,MAAM,0BAA0B,GAAG,IAAI,uEAAkC,CACvE,eAAe,CAChB,CAAC;YACF,MAAM,4BAA4B,GAAG,IAAI,2DAA4B,CACnE,eAAe,EACf,oBAAoB,CACrB,CAAC;YACF,MAAM,qBAAqB,GAAG,IAAI,6CAAqB,CACrD,eAAe,EACf,oBAAoB,CACrB,CAAC;YACF,MAAM,4BAA4B,GAAG,IAAI,2DAA4B,CACnE,eAAe,CAChB,CAAC;YACF,MAAM,4BAA4B,GAAG,IAAI,2DAA4B,CACnE,eAAe,EACf,oBAAoB,CACrB,CAAC;YACF,MAAM,yCAAyC,GAC7C,IAAI,qFAAyC,CAAC,eAAe,CAAC,CAAC;YACjE,MAAM,+BAA+B,GAAG,IAAI,iEAA+B,CACzE,oBAAoB,EACpB,eAAe,CAChB,CAAC;YAEF,MAAM,6BAA6B,GAAG,IAAI,6DAA6B,CACrE,eAAe,CAChB,CAAC;YACF,MAAM,qBAAqB,GAAG,IAAI,2DAA4B,CAC5D,iBAAiB,EACjB,eAAe,CAChB,CAAC;YACF,MAAM,qCAAqC,GACzC,IAAI,6EAAqC,CAAC,eAAe,CAAC,CAAC;YAC7D,MAAM,+BAA+B,GAAG,IAAI,iEAA+B,CACzE,eAAe,CAChB,CAAC;YACF,MAAM,sBAAsB,GAAG,IAAI,+CAAsB,EAAE,CAAC;YAC5D,MAAM,0BAA0B,GAAG,IAAI,iEAA+B,CACpE,WAAW,CAAC,gCAAgC,IAAI,IAAI,CACrD,CAAC;YACF,MAAM,uBAAuB,GAAG,IAAI,iDAAuB,CACzD,iBAAiB,EACjB,eAAe,EACf,sBAAsB,EACtB,0BAA0B,CAC3B,CAAC;YACF,MAAM,6BAA6B,GAAG,IAAI,6DAA6B,CACrE,WAAW,CAAC,gCAAgC,IAAI,IAAI,CACrD,CAAC;YACF,MAAM,2BAA2B,GAAG,WAAW,CAAC,gBAAgB;gBAC9D,CAAC,CAAC,IAAI,yDAA2B,CAAC,6BAA6B,CAAC;gBAChE,CAAC,CAAC,IAAI,CAAC;YACT,MAAM,sBAAsB,GAAG,IAAI,2DAA4B,CAC7D,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CACnC,CAAC;YACF,MAAM,gCAAgC,GACpC,IAAI,mEAAgC,CAClC,iBAAiB,EACjB,eAAe,EACf,sBAAsB,EACtB,sBAAsB,CACvB,CAAC;YACJ,MAAM,yCAAyC,GAC7C,IAAI,qFAAyC,CAC3C,iBAAiB,EACjB,eAAe,EACf,sBAAsB,CACvB,CAAC;YAEJ,MAAM,2BAA2B,GAAG,IAAI,yDAA2B,CACjE,+BAA+B,EAC/B,kBAAkB,EAClB,wCAAwC,EACxC,0BAA0B,EAC1B,4BAA4B,EAC5B,qBAAqB,EACrB,4BAA4B,EAC5B,4BAA4B,EAC5B,yCAAyC,EACzC,+BAA+B,EAC/B,6BAA6B,EAC7B,qBAAqB,EACrB,qCAAqC,EACrC,+BAA+B,EAC/B,uBAAuB,EACvB,gCAAgC,EAChC,yCAAyC,EACzC,2BAA2B,EAC3B,oBAAoB,EACpB,2BAA2B,EAC3B,iBAAiB,EACjB,eAAe,CAChB,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,2BAA2B,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAClE,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,MAAM,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;oBAClC,IAAA,gDAAsB,EAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC/C,CAAC;gBACD,MAAM,IAAA,wCAAkB,EAAC;oBACvB,SAAS;oBACT,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE;oBAC5B,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,WAAW,EAAE;wBACX,0BAA0B,EAAE,mDAAkC;wBAC9D,iBAAiB,EAAE,wCAAuB;wBAC1C,uBAAuB,EAAE,+CAA8B;wBACvD,uBAAuB,EAAE,+CAA8B;qBACxD;oBACD,MAAM,EAAE;wBACN,2BAA2B,EACzB,WAAW,CAAC,gBAAgB,EAAE,2BAA2B,IAAI,IAAI;wBACnE,8BAA8B,EAC5B,WAAW,CAAC,gBAAgB,EAAE,8BAA8B,IAAI,EAAE;wBACpE,sBAAsB,EAAE,WAAW,CAAC,sBAAsB;wBAC1D,sBAAsB,EAAE,CAAC;qBAC1B;oBACD,8BAA8B,EAC5B,WAAW,CAAC,gBAAgB,EAAE,8BAA8B,IAAI,IAAI;oBACtE,kBAAkB,EAAE,sBAAsB;iBAC3C,CAAC,CAAC;YACL,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;IACJ,CAAC;CAAA;AA5PD,gFA4PC"}
1
+ {"version":3,"file":"HandleScheduledEventUseCaseHandler.js","sourceRoot":"","sources":["../../../../src/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.REQUIRED_WORKFLOW_STATUSES = exports.LEGACY_IN_TMUX_STATUS_NAME = exports.LEGACY_TODO_STATUS_NAME = exports.ICEBOX_STATUS_NAME = exports.DONE_STATUS_NAME = exports.IN_TMUX_STATUS_NAME = exports.PC_TODO_STATUS_NAME = exports.TODO_STATUS_NAME = exports.AWAITING_QUALITY_CHECK_STATUS_NAME = exports.FAILED_PREPARATION_STATUS_NAME = exports.PREPARATION_STATUS_NAME = exports.AWAITING_WORKSPACE_STATUS_NAME = exports.AWAITING_TASK_BREAKDOWN_STATUS_NAME = exports.DEFAULT_STATUS_NAME = void 0;
3
+ exports.REQUIRED_WORKFLOW_STATUSES = exports.LEGACY_AWAITING_TASK_BREAKDOWN_STATUS_NAME = exports.LEGACY_IN_TMUX_STATUS_NAME = exports.LEGACY_TODO_STATUS_NAME = exports.ICEBOX_STATUS_NAME = exports.DONE_STATUS_NAME = exports.IN_TMUX_STATUS_NAME = exports.PC_TODO_STATUS_NAME = exports.TODO_STATUS_NAME = exports.AWAITING_QUALITY_CHECK_STATUS_NAME = exports.FAILED_PREPARATION_STATUS_NAME = exports.PREPARATION_STATUS_NAME = exports.AWAITING_WORKSPACE_STATUS_NAME = exports.DEFAULT_STATUS_NAME = void 0;
4
4
  exports.DEFAULT_STATUS_NAME = 'Unread';
5
- exports.AWAITING_TASK_BREAKDOWN_STATUS_NAME = 'Awaiting Task Breakdown';
6
5
  exports.AWAITING_WORKSPACE_STATUS_NAME = 'Awaiting Workspace';
7
6
  exports.PREPARATION_STATUS_NAME = 'Preparation';
8
7
  exports.FAILED_PREPARATION_STATUS_NAME = 'Failed Preparation';
@@ -14,15 +13,12 @@ exports.DONE_STATUS_NAME = 'Done';
14
13
  exports.ICEBOX_STATUS_NAME = 'Icebox';
15
14
  exports.LEGACY_TODO_STATUS_NAME = 'Todo';
16
15
  exports.LEGACY_IN_TMUX_STATUS_NAME = 'In Tmux';
16
+ exports.LEGACY_AWAITING_TASK_BREAKDOWN_STATUS_NAME = 'Awaiting Task Breakdown';
17
17
  exports.REQUIRED_WORKFLOW_STATUSES = [
18
18
  {
19
19
  name: exports.DEFAULT_STATUS_NAME,
20
20
  color: 'ORANGE',
21
21
  },
22
- {
23
- name: exports.AWAITING_TASK_BREAKDOWN_STATUS_NAME,
24
- color: 'ORANGE',
25
- },
26
22
  {
27
23
  name: exports.AWAITING_WORKSPACE_STATUS_NAME,
28
24
  color: 'BLUE',
@@ -1 +1 @@
1
- {"version":3,"file":"WorkflowStatus.js","sourceRoot":"","sources":["../../../src/domain/entities/WorkflowStatus.ts"],"names":[],"mappings":";;;AAEa,QAAA,mBAAmB,GAAG,QAAQ,CAAC;AAC/B,QAAA,mCAAmC,GAAG,yBAAyB,CAAC;AAChE,QAAA,8BAA8B,GAAG,oBAAoB,CAAC;AACtD,QAAA,uBAAuB,GAAG,aAAa,CAAC;AACxC,QAAA,8BAA8B,GAAG,oBAAoB,CAAC;AACtD,QAAA,kCAAkC,GAAG,wBAAwB,CAAC;AAC9D,QAAA,gBAAgB,GAAG,eAAe,CAAC;AACnC,QAAA,mBAAmB,GAAG,SAAS,CAAC;AAChC,QAAA,mBAAmB,GAAG,kBAAkB,CAAC;AACzC,QAAA,gBAAgB,GAAG,MAAM,CAAC;AAC1B,QAAA,kBAAkB,GAAG,QAAQ,CAAC;AAE9B,QAAA,uBAAuB,GAAG,MAAM,CAAC;AACjC,QAAA,0BAA0B,GAAG,SAAS,CAAC;AAOvC,QAAA,0BAA0B,GAA+B;IACpE;QACE,IAAI,EAAE,2BAAmB;QACzB,KAAK,EAAE,QAAQ;KAChB;IACD;QACE,IAAI,EAAE,2CAAmC;QACzC,KAAK,EAAE,QAAQ;KAChB;IACD;QACE,IAAI,EAAE,sCAA8B;QACpC,KAAK,EAAE,MAAM;KACd;IACD;QACE,IAAI,EAAE,+BAAuB;QAC7B,KAAK,EAAE,QAAQ;KAChB;IACD;QACE,IAAI,EAAE,sCAA8B;QACpC,KAAK,EAAE,KAAK;KACb;IACD;QACE,IAAI,EAAE,0CAAkC;QACxC,KAAK,EAAE,OAAO;KACf;IACD;QACE,IAAI,EAAE,wBAAgB;QACtB,KAAK,EAAE,MAAM;KACd;IACD;QACE,IAAI,EAAE,2BAAmB;QACzB,KAAK,EAAE,KAAK;KACb;IACD;QACE,IAAI,EAAE,wBAAgB;QACtB,KAAK,EAAE,QAAQ;KAChB;IACD;QACE,IAAI,EAAE,0BAAkB;QACxB,KAAK,EAAE,MAAM;KACd;CACF,CAAC"}
1
+ {"version":3,"file":"WorkflowStatus.js","sourceRoot":"","sources":["../../../src/domain/entities/WorkflowStatus.ts"],"names":[],"mappings":";;;AAEa,QAAA,mBAAmB,GAAG,QAAQ,CAAC;AAC/B,QAAA,8BAA8B,GAAG,oBAAoB,CAAC;AACtD,QAAA,uBAAuB,GAAG,aAAa,CAAC;AACxC,QAAA,8BAA8B,GAAG,oBAAoB,CAAC;AACtD,QAAA,kCAAkC,GAAG,wBAAwB,CAAC;AAC9D,QAAA,gBAAgB,GAAG,eAAe,CAAC;AACnC,QAAA,mBAAmB,GAAG,SAAS,CAAC;AAChC,QAAA,mBAAmB,GAAG,kBAAkB,CAAC;AACzC,QAAA,gBAAgB,GAAG,MAAM,CAAC;AAC1B,QAAA,kBAAkB,GAAG,QAAQ,CAAC;AAE9B,QAAA,uBAAuB,GAAG,MAAM,CAAC;AACjC,QAAA,0BAA0B,GAAG,SAAS,CAAC;AACvC,QAAA,0CAA0C,GACrD,yBAAyB,CAAC;AAOf,QAAA,0BAA0B,GAA+B;IACpE;QACE,IAAI,EAAE,2BAAmB;QACzB,KAAK,EAAE,QAAQ;KAChB;IACD;QACE,IAAI,EAAE,sCAA8B;QACpC,KAAK,EAAE,MAAM;KACd;IACD;QACE,IAAI,EAAE,+BAAuB;QAC7B,KAAK,EAAE,QAAQ;KAChB;IACD;QACE,IAAI,EAAE,sCAA8B;QACpC,KAAK,EAAE,KAAK;KACb;IACD;QACE,IAAI,EAAE,0CAAkC;QACxC,KAAK,EAAE,OAAO;KACf;IACD;QACE,IAAI,EAAE,wBAAgB;QACtB,KAAK,EAAE,MAAM;KACd;IACD;QACE,IAAI,EAAE,2BAAmB;QACzB,KAAK,EAAE,KAAK;KACb;IACD;QACE,IAAI,EAAE,wBAAgB;QACtB,KAAK,EAAE,QAAQ;KAChB;IACD;QACE,IAAI,EAAE,0BAAkB;QACxB,KAAK,EAAE,MAAM;KACd;CACF,CAAC"}
@@ -3,11 +3,23 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SetupTowerDefenceProjectUseCase = void 0;
4
4
  const WorkflowStatus_1 = require("../entities/WorkflowStatus");
5
5
  class SetupTowerDefenceProjectUseCase {
6
- constructor(projectRepository) {
6
+ constructor(projectRepository, issueRepository) {
7
7
  this.projectRepository = projectRepository;
8
+ this.issueRepository = issueRepository;
8
9
  this.run = async (params) => {
9
10
  const project = await this.projectRepository.getByUrl(params.projectUrl);
10
11
  const existing = project.status.statuses;
12
+ const awaitingTaskBreakdownStatus = existing.find((s) => s.name === WorkflowStatus_1.LEGACY_AWAITING_TASK_BREAKDOWN_STATUS_NAME);
13
+ if (awaitingTaskBreakdownStatus) {
14
+ const todoStatus = existing.find((s) => s.name === WorkflowStatus_1.TODO_STATUS_NAME);
15
+ if (todoStatus) {
16
+ const { issues } = await this.issueRepository.getAllIssues(project.id, 0);
17
+ const awaitingTaskBreakdownIssues = issues.filter((issue) => issue.status === WorkflowStatus_1.LEGACY_AWAITING_TASK_BREAKDOWN_STATUS_NAME);
18
+ for (const issue of awaitingTaskBreakdownIssues) {
19
+ await this.issueRepository.updateStatus(project, issue, todoStatus.id);
20
+ }
21
+ }
22
+ }
11
23
  const hasMigratedFromName = existing.some((s) => SetupTowerDefenceProjectUseCase.MIGRATED_FROM_NAMES.has(s.name));
12
24
  if (!hasMigratedFromName &&
13
25
  SetupTowerDefenceProjectUseCase.hasRequiredStatusesInCanonicalOrder(existing)) {
@@ -50,6 +62,7 @@ SetupTowerDefenceProjectUseCase.MIGRATED_FROM_NAMES = new Set([
50
62
  WorkflowStatus_1.LEGACY_TODO_STATUS_NAME,
51
63
  WorkflowStatus_1.LEGACY_IN_TMUX_STATUS_NAME,
52
64
  WorkflowStatus_1.PC_TODO_STATUS_NAME,
65
+ WorkflowStatus_1.LEGACY_AWAITING_TASK_BREAKDOWN_STATUS_NAME,
53
66
  ]);
54
67
  SetupTowerDefenceProjectUseCase.hasRequiredStatusesInCanonicalOrder = (existing) => {
55
68
  if (existing.length < WorkflowStatus_1.REQUIRED_WORKFLOW_STATUSES.length) {
@@ -1 +1 @@
1
- {"version":3,"file":"SetupTowerDefenceProjectUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/SetupTowerDefenceProjectUseCase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SetupTowerDefenceProjectUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/SetupTowerDefenceProjectUseCase.ts"],"names":[],"mappings":"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"}
@@ -197,6 +197,12 @@ class StartPreparationUseCase {
197
197
  }
198
198
  if (params.allowedIssueAuthors !== null &&
199
199
  !params.allowedIssueAuthors.includes(issue.author)) {
200
+ if (issue.author === '') {
201
+ console.warn(`Skipping issue ${issue.url}: author is unknown (empty string); deny-by-default when allowedIssueAuthors is configured.`);
202
+ }
203
+ else {
204
+ console.warn(`Skipping issue ${issue.url}: author '${issue.author}' is not in the allowedIssueAuthors list.`);
205
+ }
200
206
  continue;
201
207
  }
202
208
  const agent = issue.labels
@@ -1 +1 @@
1
- {"version":3,"file":"StartPreparationUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/StartPreparationUseCase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StartPreparationUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/StartPreparationUseCase.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "github-issue-tower-defence-management",
3
- "version": "1.64.0",
3
+ "version": "1.66.0",
4
4
  "description": "",
5
5
  "main": "bin/index.js",
6
6
  "scripts": {
@@ -172,6 +172,7 @@ export class HandleScheduledEventUseCaseHandler {
172
172
  );
173
173
  const setupTowerDefenceProjectUseCase = new SetupTowerDefenceProjectUseCase(
174
174
  projectRepository,
175
+ issueRepository,
175
176
  );
176
177
  const actionAnnouncement = new ActionAnnouncementUseCase(issueRepository);
177
178
  const setWorkflowManagementIssueToStoryUseCase =
@@ -1,7 +1,6 @@
1
1
  import { FieldOption } from './Project';
2
2
 
3
3
  export const DEFAULT_STATUS_NAME = 'Unread';
4
- export const AWAITING_TASK_BREAKDOWN_STATUS_NAME = 'Awaiting Task Breakdown';
5
4
  export const AWAITING_WORKSPACE_STATUS_NAME = 'Awaiting Workspace';
6
5
  export const PREPARATION_STATUS_NAME = 'Preparation';
7
6
  export const FAILED_PREPARATION_STATUS_NAME = 'Failed Preparation';
@@ -14,6 +13,8 @@ export const ICEBOX_STATUS_NAME = 'Icebox';
14
13
 
15
14
  export const LEGACY_TODO_STATUS_NAME = 'Todo';
16
15
  export const LEGACY_IN_TMUX_STATUS_NAME = 'In Tmux';
16
+ export const LEGACY_AWAITING_TASK_BREAKDOWN_STATUS_NAME =
17
+ 'Awaiting Task Breakdown';
17
18
 
18
19
  export type WorkflowStatusDefinition = {
19
20
  name: string;
@@ -25,10 +26,6 @@ export const REQUIRED_WORKFLOW_STATUSES: WorkflowStatusDefinition[] = [
25
26
  name: DEFAULT_STATUS_NAME,
26
27
  color: 'ORANGE',
27
28
  },
28
- {
29
- name: AWAITING_TASK_BREAKDOWN_STATUS_NAME,
30
- color: 'ORANGE',
31
- },
32
29
  {
33
30
  name: AWAITING_WORKSPACE_STATUS_NAME,
34
31
  color: 'BLUE',
@@ -1,16 +1,18 @@
1
1
  import { mock } from 'jest-mock-extended';
2
2
  import { SetupTowerDefenceProjectUseCase } from './SetupTowerDefenceProjectUseCase';
3
3
  import { ProjectRepository } from './adapter-interfaces/ProjectRepository';
4
+ import { IssueRepository } from './adapter-interfaces/IssueRepository';
4
5
  import { FieldOption, Project } from '../entities/Project';
6
+ import { Issue } from '../entities/Issue';
5
7
  import {
6
8
  AWAITING_QUALITY_CHECK_STATUS_NAME,
7
- AWAITING_TASK_BREAKDOWN_STATUS_NAME,
8
9
  AWAITING_WORKSPACE_STATUS_NAME,
9
10
  DEFAULT_STATUS_NAME,
10
11
  DONE_STATUS_NAME,
11
12
  FAILED_PREPARATION_STATUS_NAME,
12
13
  ICEBOX_STATUS_NAME,
13
14
  IN_TMUX_STATUS_NAME,
15
+ LEGACY_AWAITING_TASK_BREAKDOWN_STATUS_NAME,
14
16
  LEGACY_IN_TMUX_STATUS_NAME,
15
17
  LEGACY_TODO_STATUS_NAME,
16
18
  PC_TODO_STATUS_NAME,
@@ -45,11 +47,37 @@ const buildCanonicalStatuses = (): FieldOption[] =>
45
47
  description: '',
46
48
  }));
47
49
 
50
+ const buildIssue = (overrides: Partial<Issue>): Issue => ({
51
+ nameWithOwner: 'test-org/test-repo',
52
+ number: 1,
53
+ title: 'Test issue',
54
+ state: 'OPEN',
55
+ status: null,
56
+ story: null,
57
+ nextActionDate: null,
58
+ nextActionHour: null,
59
+ estimationMinutes: null,
60
+ dependedIssueUrls: [],
61
+ completionDate50PercentConfidence: null,
62
+ url: 'https://github.com/test-org/test-repo/issues/1',
63
+ assignees: [],
64
+ labels: [],
65
+ org: 'test-org',
66
+ repo: 'test-repo',
67
+ body: '',
68
+ itemId: 'item-1',
69
+ isPr: false,
70
+ isInProgress: false,
71
+ isClosed: false,
72
+ createdAt: new Date('2024-01-01'),
73
+ author: 'user',
74
+ ...overrides,
75
+ });
76
+
48
77
  describe('SetupTowerDefenceProjectUseCase', () => {
49
- it('should define exactly the 10 required statuses in the documented order with the documented colors and no descriptions', () => {
78
+ it('should define exactly the 9 required statuses in the documented order with the documented colors and no descriptions', () => {
50
79
  expect(REQUIRED_WORKFLOW_STATUSES).toEqual([
51
80
  { name: DEFAULT_STATUS_NAME, color: 'ORANGE' },
52
- { name: AWAITING_TASK_BREAKDOWN_STATUS_NAME, color: 'ORANGE' },
53
81
  { name: AWAITING_WORKSPACE_STATUS_NAME, color: 'BLUE' },
54
82
  { name: PREPARATION_STATUS_NAME, color: 'YELLOW' },
55
83
  { name: FAILED_PREPARATION_STATUS_NAME, color: 'RED' },
@@ -67,10 +95,19 @@ describe('SetupTowerDefenceProjectUseCase', () => {
67
95
  it('should skip update when project already has required statuses in canonical order with no descriptions', async () => {
68
96
  const mockProjectRepository =
69
97
  mock<Pick<ProjectRepository, 'getByUrl' | 'updateStatusList'>>();
98
+ const mockIssueRepository =
99
+ mock<Pick<IssueRepository, 'getAllIssues' | 'updateStatus'>>();
70
100
  const project = buildProject(buildCanonicalStatuses());
71
101
  mockProjectRepository.getByUrl.mockResolvedValue(project);
72
-
73
- const useCase = new SetupTowerDefenceProjectUseCase(mockProjectRepository);
102
+ mockIssueRepository.getAllIssues.mockResolvedValue({
103
+ issues: [],
104
+ cacheUsed: false,
105
+ });
106
+
107
+ const useCase = new SetupTowerDefenceProjectUseCase(
108
+ mockProjectRepository,
109
+ mockIssueRepository,
110
+ );
74
111
  await useCase.run({ projectUrl: project.url });
75
112
 
76
113
  expect(mockProjectRepository.updateStatusList).not.toHaveBeenCalled();
@@ -79,6 +116,8 @@ describe('SetupTowerDefenceProjectUseCase', () => {
79
116
  it('should skip update when project already has required statuses plus extras after them', async () => {
80
117
  const mockProjectRepository =
81
118
  mock<Pick<ProjectRepository, 'getByUrl' | 'updateStatusList'>>();
119
+ const mockIssueRepository =
120
+ mock<Pick<IssueRepository, 'getAllIssues' | 'updateStatus'>>();
82
121
  const statuses = [
83
122
  ...buildCanonicalStatuses(),
84
123
  {
@@ -90,8 +129,15 @@ describe('SetupTowerDefenceProjectUseCase', () => {
90
129
  ];
91
130
  const project = buildProject(statuses);
92
131
  mockProjectRepository.getByUrl.mockResolvedValue(project);
93
-
94
- const useCase = new SetupTowerDefenceProjectUseCase(mockProjectRepository);
132
+ mockIssueRepository.getAllIssues.mockResolvedValue({
133
+ issues: [],
134
+ cacheUsed: false,
135
+ });
136
+
137
+ const useCase = new SetupTowerDefenceProjectUseCase(
138
+ mockProjectRepository,
139
+ mockIssueRepository,
140
+ );
95
141
  await useCase.run({ projectUrl: project.url });
96
142
 
97
143
  expect(mockProjectRepository.updateStatusList).not.toHaveBeenCalled();
@@ -100,13 +146,22 @@ describe('SetupTowerDefenceProjectUseCase', () => {
100
146
  it('should rewrite required statuses with empty descriptions when an existing status carries a description', async () => {
101
147
  const mockProjectRepository =
102
148
  mock<Pick<ProjectRepository, 'getByUrl' | 'updateStatusList'>>();
149
+ const mockIssueRepository =
150
+ mock<Pick<IssueRepository, 'getAllIssues' | 'updateStatus'>>();
103
151
  const statuses = buildCanonicalStatuses();
104
152
  statuses[0] = { ...statuses[0], description: 'stale description' };
105
153
  const project = buildProject(statuses);
106
154
  mockProjectRepository.getByUrl.mockResolvedValue(project);
107
155
  mockProjectRepository.updateStatusList.mockResolvedValue([]);
108
-
109
- const useCase = new SetupTowerDefenceProjectUseCase(mockProjectRepository);
156
+ mockIssueRepository.getAllIssues.mockResolvedValue({
157
+ issues: [],
158
+ cacheUsed: false,
159
+ });
160
+
161
+ const useCase = new SetupTowerDefenceProjectUseCase(
162
+ mockProjectRepository,
163
+ mockIssueRepository,
164
+ );
110
165
  await useCase.run({ projectUrl: project.url });
111
166
 
112
167
  expect(mockProjectRepository.updateStatusList).toHaveBeenCalledTimes(1);
@@ -121,6 +176,8 @@ describe('SetupTowerDefenceProjectUseCase', () => {
121
176
  it('should add missing required statuses while preserving existing custom statuses', async () => {
122
177
  const mockProjectRepository =
123
178
  mock<Pick<ProjectRepository, 'getByUrl' | 'updateStatusList'>>();
179
+ const mockIssueRepository =
180
+ mock<Pick<IssueRepository, 'getAllIssues' | 'updateStatus'>>();
124
181
  const statuses: FieldOption[] = [
125
182
  {
126
183
  id: 'unread-id',
@@ -138,8 +195,15 @@ describe('SetupTowerDefenceProjectUseCase', () => {
138
195
  const project = buildProject(statuses);
139
196
  mockProjectRepository.getByUrl.mockResolvedValue(project);
140
197
  mockProjectRepository.updateStatusList.mockResolvedValue([]);
141
-
142
- const useCase = new SetupTowerDefenceProjectUseCase(mockProjectRepository);
198
+ mockIssueRepository.getAllIssues.mockResolvedValue({
199
+ issues: [],
200
+ cacheUsed: false,
201
+ });
202
+
203
+ const useCase = new SetupTowerDefenceProjectUseCase(
204
+ mockProjectRepository,
205
+ mockIssueRepository,
206
+ );
143
207
  await useCase.run({ projectUrl: project.url });
144
208
 
145
209
  expect(mockProjectRepository.updateStatusList).toHaveBeenCalledTimes(1);
@@ -152,12 +216,6 @@ describe('SetupTowerDefenceProjectUseCase', () => {
152
216
  color: 'ORANGE',
153
217
  description: '',
154
218
  },
155
- {
156
- id: null,
157
- name: AWAITING_TASK_BREAKDOWN_STATUS_NAME,
158
- color: 'ORANGE',
159
- description: '',
160
- },
161
219
  {
162
220
  id: null,
163
221
  name: AWAITING_WORKSPACE_STATUS_NAME,
@@ -219,6 +277,8 @@ describe('SetupTowerDefenceProjectUseCase', () => {
219
277
  it('should reorder existing required statuses into canonical order when out of order', async () => {
220
278
  const mockProjectRepository =
221
279
  mock<Pick<ProjectRepository, 'getByUrl' | 'updateStatusList'>>();
280
+ const mockIssueRepository =
281
+ mock<Pick<IssueRepository, 'getAllIssues' | 'updateStatus'>>();
222
282
  const reversedStatuses: FieldOption[] = REQUIRED_WORKFLOW_STATUSES.slice()
223
283
  .reverse()
224
284
  .map((required, index) => ({
@@ -230,15 +290,21 @@ describe('SetupTowerDefenceProjectUseCase', () => {
230
290
  const project = buildProject(reversedStatuses);
231
291
  mockProjectRepository.getByUrl.mockResolvedValue(project);
232
292
  mockProjectRepository.updateStatusList.mockResolvedValue([]);
233
-
234
- const useCase = new SetupTowerDefenceProjectUseCase(mockProjectRepository);
293
+ mockIssueRepository.getAllIssues.mockResolvedValue({
294
+ issues: [],
295
+ cacheUsed: false,
296
+ });
297
+
298
+ const useCase = new SetupTowerDefenceProjectUseCase(
299
+ mockProjectRepository,
300
+ mockIssueRepository,
301
+ );
235
302
  await useCase.run({ projectUrl: project.url });
236
303
 
237
304
  expect(mockProjectRepository.updateStatusList).toHaveBeenCalledTimes(1);
238
305
  const [, payload] = mockProjectRepository.updateStatusList.mock.calls[0];
239
306
  expect(payload.map((status) => status.name)).toEqual([
240
307
  DEFAULT_STATUS_NAME,
241
- AWAITING_TASK_BREAKDOWN_STATUS_NAME,
242
308
  AWAITING_WORKSPACE_STATUS_NAME,
243
309
  PREPARATION_STATUS_NAME,
244
310
  FAILED_PREPARATION_STATUS_NAME,
@@ -253,23 +319,34 @@ describe('SetupTowerDefenceProjectUseCase', () => {
253
319
  it('should fix color when an existing required status has wrong color', async () => {
254
320
  const mockProjectRepository =
255
321
  mock<Pick<ProjectRepository, 'getByUrl' | 'updateStatusList'>>();
322
+ const mockIssueRepository =
323
+ mock<Pick<IssueRepository, 'getAllIssues' | 'updateStatus'>>();
256
324
  const statuses = buildCanonicalStatuses();
257
- statuses[2] = { ...statuses[2], color: 'RED' };
325
+ statuses[1] = { ...statuses[1], color: 'RED' };
258
326
  const project = buildProject(statuses);
259
327
  mockProjectRepository.getByUrl.mockResolvedValue(project);
260
328
  mockProjectRepository.updateStatusList.mockResolvedValue([]);
261
-
262
- const useCase = new SetupTowerDefenceProjectUseCase(mockProjectRepository);
329
+ mockIssueRepository.getAllIssues.mockResolvedValue({
330
+ issues: [],
331
+ cacheUsed: false,
332
+ });
333
+
334
+ const useCase = new SetupTowerDefenceProjectUseCase(
335
+ mockProjectRepository,
336
+ mockIssueRepository,
337
+ );
263
338
  await useCase.run({ projectUrl: project.url });
264
339
 
265
340
  expect(mockProjectRepository.updateStatusList).toHaveBeenCalledTimes(1);
266
341
  const [, payload] = mockProjectRepository.updateStatusList.mock.calls[0];
267
- expect(payload[2].color).toBe(REQUIRED_WORKFLOW_STATUSES[2].color);
342
+ expect(payload[1].color).toBe(REQUIRED_WORKFLOW_STATUSES[1].color);
268
343
  });
269
344
 
270
345
  it('should rename legacy "Todo" to "Todo by human" by reusing the existing option ID', async () => {
271
346
  const mockProjectRepository =
272
347
  mock<Pick<ProjectRepository, 'getByUrl' | 'updateStatusList'>>();
348
+ const mockIssueRepository =
349
+ mock<Pick<IssueRepository, 'getAllIssues' | 'updateStatus'>>();
273
350
  const statuses: FieldOption[] = REQUIRED_WORKFLOW_STATUSES.map(
274
351
  (required, index) => ({
275
352
  id: `id-${index}`,
@@ -284,21 +361,30 @@ describe('SetupTowerDefenceProjectUseCase', () => {
284
361
  const project = buildProject(statuses);
285
362
  mockProjectRepository.getByUrl.mockResolvedValue(project);
286
363
  mockProjectRepository.updateStatusList.mockResolvedValue([]);
287
-
288
- const useCase = new SetupTowerDefenceProjectUseCase(mockProjectRepository);
364
+ mockIssueRepository.getAllIssues.mockResolvedValue({
365
+ issues: [],
366
+ cacheUsed: false,
367
+ });
368
+
369
+ const useCase = new SetupTowerDefenceProjectUseCase(
370
+ mockProjectRepository,
371
+ mockIssueRepository,
372
+ );
289
373
  await useCase.run({ projectUrl: project.url });
290
374
 
291
375
  expect(mockProjectRepository.updateStatusList).toHaveBeenCalledTimes(1);
292
376
  const [, payload] = mockProjectRepository.updateStatusList.mock.calls[0];
293
377
  const todoEntry = payload.find((s) => s.name === TODO_STATUS_NAME);
294
378
  expect(todoEntry).toBeDefined();
295
- expect(todoEntry?.id).toBe('id-6');
379
+ expect(todoEntry?.id).toBe('id-5');
296
380
  expect(payload.some((s) => s.name === LEGACY_TODO_STATUS_NAME)).toBe(false);
297
381
  });
298
382
 
299
383
  it('should rename legacy "In Tmux" to "In Tmux by human" by reusing the existing option ID', async () => {
300
384
  const mockProjectRepository =
301
385
  mock<Pick<ProjectRepository, 'getByUrl' | 'updateStatusList'>>();
386
+ const mockIssueRepository =
387
+ mock<Pick<IssueRepository, 'getAllIssues' | 'updateStatus'>>();
302
388
  const statuses: FieldOption[] = REQUIRED_WORKFLOW_STATUSES.map(
303
389
  (required, index) => ({
304
390
  id: `id-${index}`,
@@ -313,15 +399,22 @@ describe('SetupTowerDefenceProjectUseCase', () => {
313
399
  const project = buildProject(statuses);
314
400
  mockProjectRepository.getByUrl.mockResolvedValue(project);
315
401
  mockProjectRepository.updateStatusList.mockResolvedValue([]);
316
-
317
- const useCase = new SetupTowerDefenceProjectUseCase(mockProjectRepository);
402
+ mockIssueRepository.getAllIssues.mockResolvedValue({
403
+ issues: [],
404
+ cacheUsed: false,
405
+ });
406
+
407
+ const useCase = new SetupTowerDefenceProjectUseCase(
408
+ mockProjectRepository,
409
+ mockIssueRepository,
410
+ );
318
411
  await useCase.run({ projectUrl: project.url });
319
412
 
320
413
  expect(mockProjectRepository.updateStatusList).toHaveBeenCalledTimes(1);
321
414
  const [, payload] = mockProjectRepository.updateStatusList.mock.calls[0];
322
415
  const inTmuxEntry = payload.find((s) => s.name === IN_TMUX_STATUS_NAME);
323
416
  expect(inTmuxEntry).toBeDefined();
324
- expect(inTmuxEntry?.id).toBe('id-7');
417
+ expect(inTmuxEntry?.id).toBe('id-6');
325
418
  expect(payload.some((s) => s.name === LEGACY_IN_TMUX_STATUS_NAME)).toBe(
326
419
  false,
327
420
  );
@@ -330,6 +423,8 @@ describe('SetupTowerDefenceProjectUseCase', () => {
330
423
  it('should remove "PC Todo" from the status list and not include it in others', async () => {
331
424
  const mockProjectRepository =
332
425
  mock<Pick<ProjectRepository, 'getByUrl' | 'updateStatusList'>>();
426
+ const mockIssueRepository =
427
+ mock<Pick<IssueRepository, 'getAllIssues' | 'updateStatus'>>();
333
428
  const statuses: FieldOption[] = [
334
429
  ...buildCanonicalStatuses(),
335
430
  {
@@ -342,8 +437,15 @@ describe('SetupTowerDefenceProjectUseCase', () => {
342
437
  const project = buildProject(statuses);
343
438
  mockProjectRepository.getByUrl.mockResolvedValue(project);
344
439
  mockProjectRepository.updateStatusList.mockResolvedValue([]);
345
-
346
- const useCase = new SetupTowerDefenceProjectUseCase(mockProjectRepository);
440
+ mockIssueRepository.getAllIssues.mockResolvedValue({
441
+ issues: [],
442
+ cacheUsed: false,
443
+ });
444
+
445
+ const useCase = new SetupTowerDefenceProjectUseCase(
446
+ mockProjectRepository,
447
+ mockIssueRepository,
448
+ );
347
449
  await useCase.run({ projectUrl: project.url });
348
450
 
349
451
  expect(mockProjectRepository.updateStatusList).toHaveBeenCalledTimes(1);
@@ -354,6 +456,8 @@ describe('SetupTowerDefenceProjectUseCase', () => {
354
456
  it('should migrate a project with legacy statuses: rename Todo and In Tmux by ID, remove PC Todo', async () => {
355
457
  const mockProjectRepository =
356
458
  mock<Pick<ProjectRepository, 'getByUrl' | 'updateStatusList'>>();
459
+ const mockIssueRepository =
460
+ mock<Pick<IssueRepository, 'getAllIssues' | 'updateStatus'>>();
357
461
  const statuses: FieldOption[] = [
358
462
  {
359
463
  id: 'id-0',
@@ -363,7 +467,287 @@ describe('SetupTowerDefenceProjectUseCase', () => {
363
467
  },
364
468
  {
365
469
  id: 'id-1',
366
- name: AWAITING_TASK_BREAKDOWN_STATUS_NAME,
470
+ name: AWAITING_WORKSPACE_STATUS_NAME,
471
+ color: 'BLUE',
472
+ description: '',
473
+ },
474
+ {
475
+ id: 'id-2',
476
+ name: PREPARATION_STATUS_NAME,
477
+ color: 'YELLOW',
478
+ description: '',
479
+ },
480
+ {
481
+ id: 'id-3',
482
+ name: FAILED_PREPARATION_STATUS_NAME,
483
+ color: 'RED',
484
+ description: '',
485
+ },
486
+ {
487
+ id: 'id-4',
488
+ name: AWAITING_QUALITY_CHECK_STATUS_NAME,
489
+ color: 'GREEN',
490
+ description: '',
491
+ },
492
+ {
493
+ id: 'id-5',
494
+ name: LEGACY_TODO_STATUS_NAME,
495
+ color: 'PINK',
496
+ description: '',
497
+ },
498
+ { id: 'id-6', name: PC_TODO_STATUS_NAME, color: 'PINK', description: '' },
499
+ {
500
+ id: 'id-7',
501
+ name: LEGACY_IN_TMUX_STATUS_NAME,
502
+ color: 'RED',
503
+ description: '',
504
+ },
505
+ { id: 'id-8', name: DONE_STATUS_NAME, color: 'PURPLE', description: '' },
506
+ { id: 'id-9', name: ICEBOX_STATUS_NAME, color: 'GRAY', description: '' },
507
+ ];
508
+ const project = buildProject(statuses);
509
+ mockProjectRepository.getByUrl.mockResolvedValue(project);
510
+ mockProjectRepository.updateStatusList.mockResolvedValue([]);
511
+ mockIssueRepository.getAllIssues.mockResolvedValue({
512
+ issues: [],
513
+ cacheUsed: false,
514
+ });
515
+
516
+ const useCase = new SetupTowerDefenceProjectUseCase(
517
+ mockProjectRepository,
518
+ mockIssueRepository,
519
+ );
520
+ await useCase.run({ projectUrl: project.url });
521
+
522
+ expect(mockProjectRepository.updateStatusList).toHaveBeenCalledTimes(1);
523
+ const [, payload] = mockProjectRepository.updateStatusList.mock.calls[0];
524
+
525
+ expect(payload.map((s) => s.name)).toEqual([
526
+ DEFAULT_STATUS_NAME,
527
+ AWAITING_WORKSPACE_STATUS_NAME,
528
+ PREPARATION_STATUS_NAME,
529
+ FAILED_PREPARATION_STATUS_NAME,
530
+ AWAITING_QUALITY_CHECK_STATUS_NAME,
531
+ TODO_STATUS_NAME,
532
+ IN_TMUX_STATUS_NAME,
533
+ DONE_STATUS_NAME,
534
+ ICEBOX_STATUS_NAME,
535
+ ]);
536
+
537
+ expect(payload.find((s) => s.name === TODO_STATUS_NAME)?.id).toBe('id-5');
538
+ expect(payload.find((s) => s.name === IN_TMUX_STATUS_NAME)?.id).toBe(
539
+ 'id-7',
540
+ );
541
+ expect(payload.some((s) => s.name === PC_TODO_STATUS_NAME)).toBe(false);
542
+ expect(payload.some((s) => s.name === LEGACY_TODO_STATUS_NAME)).toBe(false);
543
+ expect(payload.some((s) => s.name === LEGACY_IN_TMUX_STATUS_NAME)).toBe(
544
+ false,
545
+ );
546
+ });
547
+
548
+ it('should migrate issues from "Awaiting Task Breakdown" to "Todo by human" when that status exists', async () => {
549
+ const mockProjectRepository =
550
+ mock<Pick<ProjectRepository, 'getByUrl' | 'updateStatusList'>>();
551
+ const mockIssueRepository =
552
+ mock<Pick<IssueRepository, 'getAllIssues' | 'updateStatus'>>();
553
+ const todoStatusId = 'todo-status-id';
554
+ const statuses: FieldOption[] = [
555
+ {
556
+ id: 'id-0',
557
+ name: DEFAULT_STATUS_NAME,
558
+ color: 'ORANGE',
559
+ description: '',
560
+ },
561
+ {
562
+ id: 'atb-id',
563
+ name: LEGACY_AWAITING_TASK_BREAKDOWN_STATUS_NAME,
564
+ color: 'ORANGE',
565
+ description: '',
566
+ },
567
+ {
568
+ id: 'id-1',
569
+ name: AWAITING_WORKSPACE_STATUS_NAME,
570
+ color: 'BLUE',
571
+ description: '',
572
+ },
573
+ {
574
+ id: 'id-2',
575
+ name: PREPARATION_STATUS_NAME,
576
+ color: 'YELLOW',
577
+ description: '',
578
+ },
579
+ {
580
+ id: 'id-3',
581
+ name: FAILED_PREPARATION_STATUS_NAME,
582
+ color: 'RED',
583
+ description: '',
584
+ },
585
+ {
586
+ id: 'id-4',
587
+ name: AWAITING_QUALITY_CHECK_STATUS_NAME,
588
+ color: 'GREEN',
589
+ description: '',
590
+ },
591
+ {
592
+ id: todoStatusId,
593
+ name: TODO_STATUS_NAME,
594
+ color: 'PINK',
595
+ description: '',
596
+ },
597
+ {
598
+ id: 'id-6',
599
+ name: IN_TMUX_STATUS_NAME,
600
+ color: 'RED',
601
+ description: '',
602
+ },
603
+ { id: 'id-7', name: DONE_STATUS_NAME, color: 'PURPLE', description: '' },
604
+ { id: 'id-8', name: ICEBOX_STATUS_NAME, color: 'GRAY', description: '' },
605
+ ];
606
+ const project = buildProject(statuses);
607
+ mockProjectRepository.getByUrl.mockResolvedValue(project);
608
+ mockProjectRepository.updateStatusList.mockResolvedValue([]);
609
+
610
+ const atbIssue1 = buildIssue({
611
+ number: 10,
612
+ url: 'https://github.com/test-org/test-repo/issues/10',
613
+ itemId: 'item-10',
614
+ status: LEGACY_AWAITING_TASK_BREAKDOWN_STATUS_NAME,
615
+ });
616
+ const atbIssue2 = buildIssue({
617
+ number: 11,
618
+ url: 'https://github.com/test-org/test-repo/issues/11',
619
+ itemId: 'item-11',
620
+ status: LEGACY_AWAITING_TASK_BREAKDOWN_STATUS_NAME,
621
+ });
622
+ const otherIssue = buildIssue({
623
+ number: 12,
624
+ url: 'https://github.com/test-org/test-repo/issues/12',
625
+ itemId: 'item-12',
626
+ status: AWAITING_WORKSPACE_STATUS_NAME,
627
+ });
628
+ mockIssueRepository.getAllIssues.mockResolvedValue({
629
+ issues: [atbIssue1, atbIssue2, otherIssue],
630
+ cacheUsed: false,
631
+ });
632
+ mockIssueRepository.updateStatus.mockResolvedValue(undefined);
633
+
634
+ const useCase = new SetupTowerDefenceProjectUseCase(
635
+ mockProjectRepository,
636
+ mockIssueRepository,
637
+ );
638
+ await useCase.run({ projectUrl: project.url });
639
+
640
+ expect(mockIssueRepository.getAllIssues).toHaveBeenCalledWith(
641
+ project.id,
642
+ 0,
643
+ );
644
+ expect(mockIssueRepository.updateStatus).toHaveBeenCalledTimes(2);
645
+ expect(mockIssueRepository.updateStatus).toHaveBeenCalledWith(
646
+ project,
647
+ atbIssue1,
648
+ todoStatusId,
649
+ );
650
+ expect(mockIssueRepository.updateStatus).toHaveBeenCalledWith(
651
+ project,
652
+ atbIssue2,
653
+ todoStatusId,
654
+ );
655
+
656
+ expect(mockProjectRepository.updateStatusList).toHaveBeenCalledTimes(1);
657
+ const [, payload] = mockProjectRepository.updateStatusList.mock.calls[0];
658
+ expect(
659
+ payload.some(
660
+ (s) => s.name === LEGACY_AWAITING_TASK_BREAKDOWN_STATUS_NAME,
661
+ ),
662
+ ).toBe(false);
663
+ expect(payload.map((s) => s.name)).toEqual([
664
+ DEFAULT_STATUS_NAME,
665
+ AWAITING_WORKSPACE_STATUS_NAME,
666
+ PREPARATION_STATUS_NAME,
667
+ FAILED_PREPARATION_STATUS_NAME,
668
+ AWAITING_QUALITY_CHECK_STATUS_NAME,
669
+ TODO_STATUS_NAME,
670
+ IN_TMUX_STATUS_NAME,
671
+ DONE_STATUS_NAME,
672
+ ICEBOX_STATUS_NAME,
673
+ ]);
674
+ });
675
+
676
+ it('should skip issue migration when "Awaiting Task Breakdown" status does not exist', async () => {
677
+ const mockProjectRepository =
678
+ mock<Pick<ProjectRepository, 'getByUrl' | 'updateStatusList'>>();
679
+ const mockIssueRepository =
680
+ mock<Pick<IssueRepository, 'getAllIssues' | 'updateStatus'>>();
681
+ const project = buildProject(buildCanonicalStatuses());
682
+ mockProjectRepository.getByUrl.mockResolvedValue(project);
683
+ mockIssueRepository.getAllIssues.mockResolvedValue({
684
+ issues: [],
685
+ cacheUsed: false,
686
+ });
687
+
688
+ const useCase = new SetupTowerDefenceProjectUseCase(
689
+ mockProjectRepository,
690
+ mockIssueRepository,
691
+ );
692
+ await useCase.run({ projectUrl: project.url });
693
+
694
+ expect(mockIssueRepository.updateStatus).not.toHaveBeenCalled();
695
+ expect(mockProjectRepository.updateStatusList).not.toHaveBeenCalled();
696
+ });
697
+
698
+ it('should remove "Awaiting Task Breakdown" from the status list after migrating all affected issues', async () => {
699
+ const mockProjectRepository =
700
+ mock<Pick<ProjectRepository, 'getByUrl' | 'updateStatusList'>>();
701
+ const mockIssueRepository =
702
+ mock<Pick<IssueRepository, 'getAllIssues' | 'updateStatus'>>();
703
+ const statuses: FieldOption[] = [
704
+ ...buildCanonicalStatuses(),
705
+ {
706
+ id: 'atb-id',
707
+ name: LEGACY_AWAITING_TASK_BREAKDOWN_STATUS_NAME,
708
+ color: 'ORANGE',
709
+ description: '',
710
+ },
711
+ ];
712
+ const project = buildProject(statuses);
713
+ mockProjectRepository.getByUrl.mockResolvedValue(project);
714
+ mockProjectRepository.updateStatusList.mockResolvedValue([]);
715
+ mockIssueRepository.getAllIssues.mockResolvedValue({
716
+ issues: [],
717
+ cacheUsed: false,
718
+ });
719
+ mockIssueRepository.updateStatus.mockResolvedValue(undefined);
720
+
721
+ const useCase = new SetupTowerDefenceProjectUseCase(
722
+ mockProjectRepository,
723
+ mockIssueRepository,
724
+ );
725
+ await useCase.run({ projectUrl: project.url });
726
+
727
+ expect(mockProjectRepository.updateStatusList).toHaveBeenCalledTimes(1);
728
+ const [, payload] = mockProjectRepository.updateStatusList.mock.calls[0];
729
+ expect(
730
+ payload.some(
731
+ (s) => s.name === LEGACY_AWAITING_TASK_BREAKDOWN_STATUS_NAME,
732
+ ),
733
+ ).toBe(false);
734
+ });
735
+
736
+ it('should migrate a project with all legacy statuses including Awaiting Task Breakdown', async () => {
737
+ const mockProjectRepository =
738
+ mock<Pick<ProjectRepository, 'getByUrl' | 'updateStatusList'>>();
739
+ const mockIssueRepository =
740
+ mock<Pick<IssueRepository, 'getAllIssues' | 'updateStatus'>>();
741
+ const statuses: FieldOption[] = [
742
+ {
743
+ id: 'id-0',
744
+ name: DEFAULT_STATUS_NAME,
745
+ color: 'ORANGE',
746
+ description: '',
747
+ },
748
+ {
749
+ id: 'id-1',
750
+ name: LEGACY_AWAITING_TASK_BREAKDOWN_STATUS_NAME,
367
751
  color: 'ORANGE',
368
752
  description: '',
369
753
  },
@@ -410,8 +794,16 @@ describe('SetupTowerDefenceProjectUseCase', () => {
410
794
  const project = buildProject(statuses);
411
795
  mockProjectRepository.getByUrl.mockResolvedValue(project);
412
796
  mockProjectRepository.updateStatusList.mockResolvedValue([]);
413
-
414
- const useCase = new SetupTowerDefenceProjectUseCase(mockProjectRepository);
797
+ mockIssueRepository.getAllIssues.mockResolvedValue({
798
+ issues: [],
799
+ cacheUsed: false,
800
+ });
801
+ mockIssueRepository.updateStatus.mockResolvedValue(undefined);
802
+
803
+ const useCase = new SetupTowerDefenceProjectUseCase(
804
+ mockProjectRepository,
805
+ mockIssueRepository,
806
+ );
415
807
  await useCase.run({ projectUrl: project.url });
416
808
 
417
809
  expect(mockProjectRepository.updateStatusList).toHaveBeenCalledTimes(1);
@@ -419,7 +811,6 @@ describe('SetupTowerDefenceProjectUseCase', () => {
419
811
 
420
812
  expect(payload.map((s) => s.name)).toEqual([
421
813
  DEFAULT_STATUS_NAME,
422
- AWAITING_TASK_BREAKDOWN_STATUS_NAME,
423
814
  AWAITING_WORKSPACE_STATUS_NAME,
424
815
  PREPARATION_STATUS_NAME,
425
816
  FAILED_PREPARATION_STATUS_NAME,
@@ -439,5 +830,10 @@ describe('SetupTowerDefenceProjectUseCase', () => {
439
830
  expect(payload.some((s) => s.name === LEGACY_IN_TMUX_STATUS_NAME)).toBe(
440
831
  false,
441
832
  );
833
+ expect(
834
+ payload.some(
835
+ (s) => s.name === LEGACY_AWAITING_TASK_BREAKDOWN_STATUS_NAME,
836
+ ),
837
+ ).toBe(false);
442
838
  });
443
839
  });
@@ -1,7 +1,9 @@
1
1
  import { FieldOption } from '../entities/Project';
2
2
  import { ProjectRepository } from './adapter-interfaces/ProjectRepository';
3
+ import { IssueRepository } from './adapter-interfaces/IssueRepository';
3
4
  import {
4
5
  IN_TMUX_STATUS_NAME,
6
+ LEGACY_AWAITING_TASK_BREAKDOWN_STATUS_NAME,
5
7
  LEGACY_IN_TMUX_STATUS_NAME,
6
8
  LEGACY_TODO_STATUS_NAME,
7
9
  PC_TODO_STATUS_NAME,
@@ -16,6 +18,10 @@ export class SetupTowerDefenceProjectUseCase {
16
18
  ProjectRepository,
17
19
  'getByUrl' | 'updateStatusList'
18
20
  >,
21
+ private readonly issueRepository: Pick<
22
+ IssueRepository,
23
+ 'getAllIssues' | 'updateStatus'
24
+ >,
19
25
  ) {}
20
26
 
21
27
  private static readonly LEGACY_STATUS_NAMES: Readonly<
@@ -29,12 +35,37 @@ export class SetupTowerDefenceProjectUseCase {
29
35
  LEGACY_TODO_STATUS_NAME,
30
36
  LEGACY_IN_TMUX_STATUS_NAME,
31
37
  PC_TODO_STATUS_NAME,
38
+ LEGACY_AWAITING_TASK_BREAKDOWN_STATUS_NAME,
32
39
  ]);
33
40
 
34
41
  run = async (params: { projectUrl: string }): Promise<void> => {
35
42
  const project = await this.projectRepository.getByUrl(params.projectUrl);
36
43
  const existing = project.status.statuses;
37
44
 
45
+ const awaitingTaskBreakdownStatus = existing.find(
46
+ (s) => s.name === LEGACY_AWAITING_TASK_BREAKDOWN_STATUS_NAME,
47
+ );
48
+ if (awaitingTaskBreakdownStatus) {
49
+ const todoStatus = existing.find((s) => s.name === TODO_STATUS_NAME);
50
+ if (todoStatus) {
51
+ const { issues } = await this.issueRepository.getAllIssues(
52
+ project.id,
53
+ 0,
54
+ );
55
+ const awaitingTaskBreakdownIssues = issues.filter(
56
+ (issue) =>
57
+ issue.status === LEGACY_AWAITING_TASK_BREAKDOWN_STATUS_NAME,
58
+ );
59
+ for (const issue of awaitingTaskBreakdownIssues) {
60
+ await this.issueRepository.updateStatus(
61
+ project,
62
+ issue,
63
+ todoStatus.id,
64
+ );
65
+ }
66
+ }
67
+ }
68
+
38
69
  const hasMigratedFromName = existing.some((s) =>
39
70
  SetupTowerDefenceProjectUseCase.MIGRATED_FROM_NAMES.has(s.name),
40
71
  );
@@ -1712,6 +1712,9 @@ describe('StartPreparationUseCase', () => {
1712
1712
  stderr: '',
1713
1713
  exitCode: 0,
1714
1714
  });
1715
+ const consoleWarnSpy = jest
1716
+ .spyOn(console, 'warn')
1717
+ .mockImplementation(() => {});
1715
1718
 
1716
1719
  await useCase.run({
1717
1720
  projectUrl: 'https://github.com/user/repo',
@@ -1732,6 +1735,10 @@ describe('StartPreparationUseCase', () => {
1732
1735
  status: 'Preparation',
1733
1736
  });
1734
1737
  expect(mockLocalCommandRunner.runCommand.mock.calls).toHaveLength(1);
1738
+ expect(consoleWarnSpy).toHaveBeenCalledWith(
1739
+ `Skipping issue https://github.com/user/repo/issues/2: author 'user3' is not in the allowedIssueAuthors list.`,
1740
+ );
1741
+ consoleWarnSpy.mockRestore();
1735
1742
  });
1736
1743
 
1737
1744
  it('should process all issues when allowedIssueAuthors is null', async () => {
@@ -1804,6 +1811,9 @@ describe('StartPreparationUseCase', () => {
1804
1811
  stderr: '',
1805
1812
  exitCode: 0,
1806
1813
  });
1814
+ const consoleWarnSpy = jest
1815
+ .spyOn(console, 'warn')
1816
+ .mockImplementation(() => {});
1807
1817
 
1808
1818
  await useCase.run({
1809
1819
  projectUrl: 'https://github.com/user/repo',
@@ -1823,6 +1833,10 @@ describe('StartPreparationUseCase', () => {
1823
1833
  url: 'https://github.com/user/repo/issues/2',
1824
1834
  });
1825
1835
  expect(mockLocalCommandRunner.runCommand.mock.calls).toHaveLength(1);
1836
+ expect(consoleWarnSpy).toHaveBeenCalledWith(
1837
+ 'Skipping issue https://github.com/user/repo/issues/1: author is unknown (empty string); deny-by-default when allowedIssueAuthors is configured.',
1838
+ );
1839
+ consoleWarnSpy.mockRestore();
1826
1840
  });
1827
1841
 
1828
1842
  it('should skip issue with empty author when allowedIssueAuthors is set', async () => {
@@ -1843,6 +1857,9 @@ describe('StartPreparationUseCase', () => {
1843
1857
  stderr: '',
1844
1858
  exitCode: 0,
1845
1859
  });
1860
+ const consoleWarnSpy = jest
1861
+ .spyOn(console, 'warn')
1862
+ .mockImplementation(() => {});
1846
1863
 
1847
1864
  await useCase.run({
1848
1865
  projectUrl: 'https://github.com/user/repo',
@@ -1859,6 +1876,10 @@ describe('StartPreparationUseCase', () => {
1859
1876
 
1860
1877
  expect(mockIssueRepository.updateStatus.mock.calls).toHaveLength(0);
1861
1878
  expect(mockLocalCommandRunner.runCommand.mock.calls).toHaveLength(0);
1879
+ expect(consoleWarnSpy).toHaveBeenCalledWith(
1880
+ 'Skipping issue https://github.com/user/repo/issues/1: author is unknown (empty string); deny-by-default when allowedIssueAuthors is configured.',
1881
+ );
1882
+ consoleWarnSpy.mockRestore();
1862
1883
  });
1863
1884
 
1864
1885
  it('should not pass --codexHome when codexHomeCandidates is null', async () => {
@@ -348,6 +348,15 @@ export class StartPreparationUseCase {
348
348
  params.allowedIssueAuthors !== null &&
349
349
  !params.allowedIssueAuthors.includes(issue.author)
350
350
  ) {
351
+ if (issue.author === '') {
352
+ console.warn(
353
+ `Skipping issue ${issue.url}: author is unknown (empty string); deny-by-default when allowedIssueAuthors is configured.`,
354
+ );
355
+ } else {
356
+ console.warn(
357
+ `Skipping issue ${issue.url}: author '${issue.author}' is not in the allowedIssueAuthors list.`,
358
+ );
359
+ }
351
360
  continue;
352
361
  }
353
362
  const agent =
@@ -1 +1 @@
1
- {"version":3,"file":"HandleScheduledEventUseCaseHandler.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AA2B3D,qBAAa,kCAAkC;IAC7C,MAAM,GACJ,gBAAgB,MAAM,EACtB,UAAU,OAAO,KAChB,OAAO,CAAC;QACT,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,KAAK,EAAE,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;QACnB,eAAe,EAAE,IAAI,EAAE,CAAC;KACzB,GAAG,IAAI,CAAC,CAkPP;CACH"}
1
+ {"version":3,"file":"HandleScheduledEventUseCaseHandler.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AA2B3D,qBAAa,kCAAkC;IAC7C,MAAM,GACJ,gBAAgB,MAAM,EACtB,UAAU,OAAO,KAChB,OAAO,CAAC;QACT,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,KAAK,EAAE,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;QACnB,eAAe,EAAE,IAAI,EAAE,CAAC;KACzB,GAAG,IAAI,CAAC,CAmPP;CACH"}
@@ -1,6 +1,5 @@
1
1
  import { FieldOption } from './Project';
2
2
  export declare const DEFAULT_STATUS_NAME = "Unread";
3
- export declare const AWAITING_TASK_BREAKDOWN_STATUS_NAME = "Awaiting Task Breakdown";
4
3
  export declare const AWAITING_WORKSPACE_STATUS_NAME = "Awaiting Workspace";
5
4
  export declare const PREPARATION_STATUS_NAME = "Preparation";
6
5
  export declare const FAILED_PREPARATION_STATUS_NAME = "Failed Preparation";
@@ -12,6 +11,7 @@ export declare const DONE_STATUS_NAME = "Done";
12
11
  export declare const ICEBOX_STATUS_NAME = "Icebox";
13
12
  export declare const LEGACY_TODO_STATUS_NAME = "Todo";
14
13
  export declare const LEGACY_IN_TMUX_STATUS_NAME = "In Tmux";
14
+ export declare const LEGACY_AWAITING_TASK_BREAKDOWN_STATUS_NAME = "Awaiting Task Breakdown";
15
15
  export type WorkflowStatusDefinition = {
16
16
  name: string;
17
17
  color: FieldOption['color'];
@@ -1 +1 @@
1
- {"version":3,"file":"WorkflowStatus.d.ts","sourceRoot":"","sources":["../../../src/domain/entities/WorkflowStatus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,eAAO,MAAM,mBAAmB,WAAW,CAAC;AAC5C,eAAO,MAAM,mCAAmC,4BAA4B,CAAC;AAC7E,eAAO,MAAM,8BAA8B,uBAAuB,CAAC;AACnE,eAAO,MAAM,uBAAuB,gBAAgB,CAAC;AACrD,eAAO,MAAM,8BAA8B,uBAAuB,CAAC;AACnE,eAAO,MAAM,kCAAkC,2BAA2B,CAAC;AAC3E,eAAO,MAAM,gBAAgB,kBAAkB,CAAC;AAChD,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAC7C,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AACtD,eAAO,MAAM,gBAAgB,SAAS,CAAC;AACvC,eAAO,MAAM,kBAAkB,WAAW,CAAC;AAE3C,eAAO,MAAM,uBAAuB,SAAS,CAAC;AAC9C,eAAO,MAAM,0BAA0B,YAAY,CAAC;AAEpD,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,wBAAwB,EAyChE,CAAC"}
1
+ {"version":3,"file":"WorkflowStatus.d.ts","sourceRoot":"","sources":["../../../src/domain/entities/WorkflowStatus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,eAAO,MAAM,mBAAmB,WAAW,CAAC;AAC5C,eAAO,MAAM,8BAA8B,uBAAuB,CAAC;AACnE,eAAO,MAAM,uBAAuB,gBAAgB,CAAC;AACrD,eAAO,MAAM,8BAA8B,uBAAuB,CAAC;AACnE,eAAO,MAAM,kCAAkC,2BAA2B,CAAC;AAC3E,eAAO,MAAM,gBAAgB,kBAAkB,CAAC;AAChD,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAC7C,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AACtD,eAAO,MAAM,gBAAgB,SAAS,CAAC;AACvC,eAAO,MAAM,kBAAkB,WAAW,CAAC;AAE3C,eAAO,MAAM,uBAAuB,SAAS,CAAC;AAC9C,eAAO,MAAM,0BAA0B,YAAY,CAAC;AACpD,eAAO,MAAM,0CAA0C,4BAC5B,CAAC;AAE5B,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,wBAAwB,EAqChE,CAAC"}
@@ -1,7 +1,9 @@
1
1
  import { ProjectRepository } from './adapter-interfaces/ProjectRepository';
2
+ import { IssueRepository } from './adapter-interfaces/IssueRepository';
2
3
  export declare class SetupTowerDefenceProjectUseCase {
3
4
  private readonly projectRepository;
4
- constructor(projectRepository: Pick<ProjectRepository, 'getByUrl' | 'updateStatusList'>);
5
+ private readonly issueRepository;
6
+ constructor(projectRepository: Pick<ProjectRepository, 'getByUrl' | 'updateStatusList'>, issueRepository: Pick<IssueRepository, 'getAllIssues' | 'updateStatus'>);
5
7
  private static readonly LEGACY_STATUS_NAMES;
6
8
  private static readonly MIGRATED_FROM_NAMES;
7
9
  run: (params: {
@@ -1 +1 @@
1
- {"version":3,"file":"SetupTowerDefenceProjectUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/SetupTowerDefenceProjectUseCase.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAW3E,qBAAa,+BAA+B;IAExC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAAjB,iBAAiB,EAAE,IAAI,CACtC,iBAAiB,EACjB,UAAU,GAAG,kBAAkB,CAChC;IAGH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAKzC;IAEF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAIxC;IAEH,GAAG,GAAU,QAAQ;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,KAAG,OAAO,CAAC,IAAI,CAAC,CAoDzD;IAEF,OAAO,CAAC,MAAM,CAAC,mCAAmC,CAgBhD;CACH"}
1
+ {"version":3,"file":"SetupTowerDefenceProjectUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/SetupTowerDefenceProjectUseCase.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAYvE,qBAAa,+BAA+B;IAExC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAIlC,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAJf,iBAAiB,EAAE,IAAI,CACtC,iBAAiB,EACjB,UAAU,GAAG,kBAAkB,CAChC,EACgB,eAAe,EAAE,IAAI,CACpC,eAAe,EACf,cAAc,GAAG,cAAc,CAChC;IAGH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAKzC;IAEF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAKxC;IAEH,GAAG,GAAU,QAAQ;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,KAAG,OAAO,CAAC,IAAI,CAAC,CA4EzD;IAEF,OAAO,CAAC,MAAM,CAAC,mCAAmC,CAgBhD;CACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"StartPreparationUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/StartPreparationUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAiBhE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,qBAAa,uBAAuB;IAEhC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAUhC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,0BAA0B;gBAZ1B,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,EACtD,eAAe,EAAE,IAAI,CACpC,eAAe,EACb,mBAAmB,GACnB,cAAc,GACd,oBAAoB,GACpB,oBAAoB,GACpB,kBAAkB,GAClB,yBAAyB,GACzB,oBAAoB,CACvB,EACgB,kBAAkB,EAAE,kBAAkB,EACtC,0BAA0B,EAAE,0BAA0B;IAGzE,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAG/C;IAEF,OAAO,CAAC,uBAAuB,CAK7B;IAEF,OAAO,CAAC,uBAAuB,CAoB7B;IAEF,OAAO,CAAC,mBAAmB,CAyBzB;IAEF,OAAO,CAAC,oCAAoC,CAqB1C;IAEF,OAAO,CAAC,oBAAoB,CA6B1B;IAEF,OAAO,CAAC,wBAAwB,CAe9B;IAEF,OAAO,CAAC,kCAAkC,CAWxC;IAEF,kBAAkB,GAChB,aAAa,gBAAgB,EAAE,EAC/B,gCAAgC,MAAM,EACtC,WAAW,MAAM,GAAG,IAAI,KACvB,kBAAkB,EAAE,CAyCrB;IAEF,GAAG,GAAU,QAAQ;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,gBAAgB,EAAE,MAAM,CAAC;QACzB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;QACnC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;QACnC,cAAc,EAAE,MAAM,CAAC;QACvB,2BAA2B,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3C,8BAA8B,EAAE,MAAM,CAAC;QACvC,mBAAmB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACrC,mBAAmB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACrC,sBAAsB,EAAE,MAAM,CAAC;KAChC,KAAG,OAAO,CAAC;QAAE,aAAa,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAA;KAAE,CAAC,CAqPzD;CACH"}
1
+ {"version":3,"file":"StartPreparationUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/StartPreparationUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAiBhE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,qBAAa,uBAAuB;IAEhC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAUhC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,0BAA0B;gBAZ1B,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,EACtD,eAAe,EAAE,IAAI,CACpC,eAAe,EACb,mBAAmB,GACnB,cAAc,GACd,oBAAoB,GACpB,oBAAoB,GACpB,kBAAkB,GAClB,yBAAyB,GACzB,oBAAoB,CACvB,EACgB,kBAAkB,EAAE,kBAAkB,EACtC,0BAA0B,EAAE,0BAA0B;IAGzE,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAG/C;IAEF,OAAO,CAAC,uBAAuB,CAK7B;IAEF,OAAO,CAAC,uBAAuB,CAoB7B;IAEF,OAAO,CAAC,mBAAmB,CAyBzB;IAEF,OAAO,CAAC,oCAAoC,CAqB1C;IAEF,OAAO,CAAC,oBAAoB,CA6B1B;IAEF,OAAO,CAAC,wBAAwB,CAe9B;IAEF,OAAO,CAAC,kCAAkC,CAWxC;IAEF,kBAAkB,GAChB,aAAa,gBAAgB,EAAE,EAC/B,gCAAgC,MAAM,EACtC,WAAW,MAAM,GAAG,IAAI,KACvB,kBAAkB,EAAE,CAyCrB;IAEF,GAAG,GAAU,QAAQ;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,gBAAgB,EAAE,MAAM,CAAC;QACzB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;QACnC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;QACnC,cAAc,EAAE,MAAM,CAAC;QACvB,2BAA2B,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3C,8BAA8B,EAAE,MAAM,CAAC;QACvC,mBAAmB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACrC,mBAAmB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACrC,sBAAsB,EAAE,MAAM,CAAC;KAChC,KAAG,OAAO,CAAC;QAAE,aAAa,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAA;KAAE,CAAC,CA8PzD;CACH"}