github-issue-tower-defence-management 1.69.6 → 1.69.7

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 CHANGED
@@ -1,3 +1,10 @@
1
+ ## [1.69.7](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.69.6...v1.69.7) (2026-06-04)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **core:** restore story-priority ordering in StartPreparationUseCase candidate set ([3547f47](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/commit/3547f478bd6b7ef083f282b4105d2e4f37599ddc)), closes [#739](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/issues/739)
7
+
1
8
  ## [1.69.6](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.69.5...v1.69.6) (2026-06-03)
2
9
 
3
10
 
@@ -132,7 +132,8 @@ class StartPreparationUseCase {
132
132
  proxyBaseUrl = this.claudeTokenUsageRepository.proxyBaseUrl();
133
133
  }
134
134
  const project = await this.projectRepository.getByUrl(params.projectUrl);
135
- const allOpenedIssues = await this.issueRepository.getAllOpened(project, params.allowIssueCacheMinutes);
135
+ const storyObjectMap = await this.issueRepository.getStoryObjectMap(project, params.allowIssueCacheMinutes);
136
+ const allOpenedIssues = Array.from(storyObjectMap.values()).flatMap((storyObject) => storyObject.issues);
136
137
  const preparationStatusOption = project.status.statuses.find((s) => s.name === WorkflowStatus_1.PREPARATION_STATUS_NAME);
137
138
  if (!preparationStatusOption) {
138
139
  console.error(`Preparation status option '${WorkflowStatus_1.PREPARATION_STATUS_NAME}' not found in project.`);
@@ -1 +1 @@
1
- {"version":3,"file":"StartPreparationUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/StartPreparationUseCase.ts"],"names":[],"mappings":";;;AAKA,+DAGoC;AAEpC,MAAM,iCAAiC,GAAG,CAAC,CAAC;AAC5C,MAAM,kCAAkC,GAAG,GAAG,CAAC;AAU/C,MAAa,uBAAuB;IAClC,YACmB,iBAAsD,EACtD,eAShB,EACgB,kBAAsC,EACtC,0BAAsD;QAZtD,sBAAiB,GAAjB,iBAAiB,CAAqC;QACtD,oBAAe,GAAf,eAAe,CAS/B;QACgB,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,+BAA0B,GAA1B,0BAA0B,CAA4B;QAGjE,4BAAuB,GAAG,CAAC,SAAwB,EAAU,EAAE;YACrE,MAAM,UAAU,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YACnD,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,OAAO,kBAAkB,CAAC;YAC7D,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,OAAO,gBAAgB,CAAC;YACzD,OAAO,WAAW,CAAC;QACrB,CAAC,CAAC;QAEM,+BAA0B,GAAG,CACnC,KAAuB,EACvB,eAAuB,EACd,EAAE;YACX,MAAM,QAAQ,GAAG,KAAK,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;YAC1D,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,QAAQ;gBAAE,OAAO,IAAI,CAAC;YAC7D,MAAM,OAAO,GAAG,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YACrD,OAAO,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,CAAC;QACnD,CAAC,CAAC;QAEM,8BAAyB,GAAG,CAClC,KAAuB,EACvB,eAAuB,EACvB,eAAuB,EACf,EAAE;YACV,MAAM,QAAQ,GAAG,KAAK,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;YAC1D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,OAAO,QAAQ,CAAC,QAAQ,GAAG,eAAe,CAAC;YAC7C,CAAC;YACD,MAAM,OAAO,GAAG,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YACrD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,OAAO,CAAC,QAAQ,GAAG,eAAe,CAAC;YAC5C,CAAC;YACD,OAAO,MAAM,CAAC,iBAAiB,CAAC;QAClC,CAAC,CAAC;QAEM,6CAAwC,GAAG,CACjD,CAAmB,EACnB,CAAmB,EACnB,eAAuB,EACvB,eAAuB,EACf,EAAE;YACV,MAAM,kBAAkB,GAAG,IAAI,CAAC,yBAAyB,CACvD,CAAC,EACD,eAAe,EACf,eAAe,CAChB,CAAC;YACF,MAAM,kBAAkB,GAAG,IAAI,CAAC,yBAAyB,CACvD,CAAC,EACD,eAAe,EACf,eAAe,CAChB,CAAC;YACF,IAAI,kBAAkB,KAAK,kBAAkB,EAAE,CAAC;gBAC9C,OAAO,kBAAkB,GAAG,kBAAkB,CAAC;YACjD,CAAC;YACD,OAAO,CAAC,CAAC,mBAAmB,GAAG,CAAC,CAAC,mBAAmB,CAAC;QACvD,CAAC,CAAC;QAEM,4BAAuB,GAAG,CAAC,mBAA2B,EAAU,EAAE;YACxE,IAAI,mBAAmB,GAAG,kCAAkC,EAAE,CAAC;gBAC7D,OAAO,iCAAiC,CAAC;YAC3C,CAAC;YACD,MAAM,SAAS,GACb,CAAC,CAAC,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,GAAG,kCAAkC,CAAC,CAAC;YACvE,OAAO,IAAI,CAAC,GAAG,CACb,CAAC,EACD,IAAI,CAAC,IAAI,CAAC,iCAAiC,GAAG,SAAS,CAAC,CACzD,CAAC;QACJ,CAAC,CAAC;QAEM,yBAAoB,GAAG,CAC7B,WAA+B,EAC/B,8BAAsC,EACtC,SAAwB,EACxB,aAAqB,EACuB,EAAE;YAC9C,MAAM,eAAe,GAAG,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;YAChE,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;YAC1C,MAAM,cAAc,GAAG,WAAW;iBAC/B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;iBACjC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;iBAClC,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,eAAe,CAAC,CACpE;iBACA,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,mBAAmB,GAAG,GAAG,GAAG,8BAA8B,CACnE;iBACA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACb,IAAI,CAAC,wCAAwC,CAC3C,CAAC,EACD,CAAC,EACD,eAAe,EACf,eAAe,CAChB,CACF,CAAC;YAEJ,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;YACzC,CAAC;YAED,MAAM,gBAAgB,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACtD,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,KAAK,EAAE,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,mBAAmB,CAAC;aAC/D,CAAC,CAAC,CAAC;YAEJ,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC5E,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;YAE5D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACnE,MAAM,YAAY,GAAa,EAAE,CAAC;YAClC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC;gBAC9C,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,CAAC;oBACjC,IAAI,CAAC,CAAC,KAAK,GAAG,KAAK,EAAE,CAAC;wBACpB,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBAC7B,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;QAChD,CAAC,CAAC;QAEF,uBAAkB,GAAG,CACnB,WAA+B,EAC/B,8BAAsC,EACtC,SAAwB,EACF,EAAE;YACxB,MAAM,eAAe,GAAG,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;YAChE,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;YAC1C,MAAM,cAAc,GAAG,WAAW;iBAC/B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;iBACjC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;iBAClC,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,eAAe,CAAC,CACpE;iBACA,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,mBAAmB,GAAG,GAAG,GAAG,8BAA8B,CACnE;iBACA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACb,IAAI,CAAC,wCAAwC,CAC3C,CAAC,EACD,CAAC,EACD,eAAe,EACf,eAAe,CAChB,CACF,CAAC;YACJ,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACxE,MAAM,QAAQ,GAAyB,WAAW;iBAC/C,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;iBACxD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACf,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;gBACtB,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;gBAC9C,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,iBAAiB,EACf,CAAC,KAAK,CAAC,OAAO;oBACd,CAAC,KAAK,CAAC,QAAQ;oBACf,CAAC,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,eAAe,CAAC;oBACxD,KAAK,CAAC,mBAAmB,GAAG,GAAG,IAAI,8BAA8B;aACpE,CAAC,CAAC,CAAC;YACN,MAAM,eAAe,GAAyB,cAAc,CAAC,GAAG,CAC9D,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACV,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;gBACtB,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;gBAC9C,OAAO,EAAE,KAAK;gBACd,QAAQ,EAAE,KAAK;gBACf,iBAAiB,EAAE,KAAK;aACzB,CAAC,CACH,CAAC;YACF,OAAO,CAAC,GAAG,eAAe,EAAE,GAAG,QAAQ,CAAC,CAAC;QAC3C,CAAC,CAAC;QAEF,QAAG,GAAG,KAAK,EAAE,MAYZ,EAA2D,EAAE;YAC5D,MAAM,WAAW,GACf,MAAM,IAAI,CAAC,0BAA0B,CAAC,uBAAuB,EAAE,CAAC;YAClE,IAAI,cAAc,GAAoB,IAAI,CAAC;YAC3C,IAAI,YAAY,GAAkB,IAAI,CAAC;YACvC,MAAM,aAAa,GACjB,WAAW,CAAC,MAAM,GAAG,CAAC;gBACpB,CAAC,CAAC,IAAI,CAAC,kBAAkB,CACrB,WAAW,EACX,MAAM,CAAC,8BAA8B,EACrC,MAAM,CAAC,mBAAmB,CAC3B;gBACH,CAAC,CAAC,IAAI,CAAC;YACX,MAAM,2BAA2B,GAC/B,MAAM,CAAC,2BAA2B,IAAI,iCAAiC,CAAC;YAC1E,IAAI,gCAAgC,GAAG,2BAA2B,CAAC;YACnE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAChE,WAAW,EACX,MAAM,CAAC,8BAA8B,EACrC,MAAM,CAAC,mBAAmB,EAC1B,2BAA2B,CAC5B,CAAC;gBACF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACxB,OAAO,CAAC,IAAI,CACV,OAAO,WAAW,CAAC,MAAM,0FAA0F,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,mBAAmB,CAAC,oCAAoC,MAAM,CAAC,8BAA8B,oCAAoC,CACzR,CAAC;oBACF,OAAO,EAAE,aAAa,EAAE,CAAC;gBAC3B,CAAC;gBACD,MAAM,IAAI,CAAC,0BAA0B,CAAC,gBAAgB,EAAE,CAAC;gBACzD,cAAc,GAAG,MAAM,CAAC;gBACxB,gCAAgC,GAAG,YAAY,CAAC;gBAChD,YAAY,GAAG,IAAI,CAAC,0BAA0B,CAAC,YAAY,EAAE,CAAC;YAChE,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACzE,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAC7D,OAAO,EACP,MAAM,CAAC,sBAAsB,CAC9B,CAAC;YACF,MAAM,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAC1D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,wCAAuB,CAC1C,CAAC;YACF,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBAC7B,OAAO,CAAC,KAAK,CACX,8BAA8B,wCAAuB,yBAAyB,CAC/E,CAAC;gBACF,OAAO,EAAE,aAAa,EAAE,CAAC;YAC3B,CAAC;YAED,MAAM,uBAAuB,GAAG,eAAe;iBAC5C,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,MAAM,KAAK,+CAA8B,IAAI,CAAC,KAAK,CAAC,QAAQ,CACrE;iBACA,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;YAClC,MAAM,4BAA4B,GAAG,eAAe,CAAC,MAAM,CACzD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,wCAAuB,CACpD,CAAC,MAAM,CAAC;YACT,IAAI,mCAAmC,GAAG,4BAA4B,CAAC;YACvE,IAAI,qBAAqB,GAAG,CAAC,CAAC;YAE9B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;YACnC,MAAM,UAAU,GAAG,IAAI,IAAI,CACzB,GAAG,CAAC,WAAW,EAAE,EACjB,GAAG,CAAC,QAAQ,EAAE,EACd,GAAG,CAAC,OAAO,EAAE,CACd,CAAC;YACF,MAAM,aAAa,GAAG,IAAI,IAAI,CAC5B,UAAU,CAAC,WAAW,EAAE,EACxB,UAAU,CAAC,QAAQ,EAAE,EACrB,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CACzB,CAAC;YAEF,KACE,IAAI,CAAC,GAAG,CAAC,EACT,CAAC,GAAG,uBAAuB,CAAC,MAAM;gBAClC,mCAAmC,GAAG,gCAAgC,EACtE,CAAC,EAAE,EACH,CAAC;gBACD,MAAM,KAAK,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC;gBACzC,IAAI,KAAK,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvC,SAAS;gBACX,CAAC;gBACD,IACE,KAAK,CAAC,cAAc,KAAK,IAAI;oBAC7B,KAAK,CAAC,cAAc,IAAI,aAAa,EACrC,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,IAAI,KAAK,CAAC,cAAc,KAAK,IAAI,IAAI,WAAW,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;oBACxE,SAAS;gBACX,CAAC;gBACD,IACE,MAAM,CAAC,mBAAmB,KAAK,IAAI;oBACnC,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAClD,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,MAAM,oBAAoB,GACxB,MAAM,CAAC,oBAAoB,KAAK,IAAI;oBAClC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAa,EAAE,EAAE,CAClC,MAAM,CAAC,oBAAoB,KAAK,IAAI;wBAClC,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,QAAQ,CAAC,KAAK,CAAC;wBAC7C,CAAC,CAAC,KAAK,CACV;oBACH,CAAC,CAAC,SAAS,CAAC;gBAChB,MAAM,KAAK,GACT,KAAK,CAAC,MAAM;qBACT,IAAI,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;oBACxD,EAAE,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;qBAC1B,IAAI,EAAE;oBACT,oBAAoB;oBACpB,KAAK,CAAC,MAAM;yBACT,IAAI,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;wBACvD,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;yBACzB,IAAI,EAAE;oBACT,MAAM,CAAC,mBAAmB;oBAC1B,MAAM,CAAC,gBAAgB,CAAC;gBAC1B,MAAM,KAAK,GACT,KAAK,CAAC,MAAM;qBACT,IAAI,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;oBACxD,EAAE,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;qBAC1B,IAAI,EAAE,IAAI,MAAM,CAAC,mBAAmB,CAAC;gBAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,OAAO,CAAC,KAAK,CACX,qCAAqC,KAAK,CAAC,GAAG,6DAA6D,CAC5G,CAAC;oBACF,SAAS;gBACX,CAAC;gBACD,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAC7C,IAAI,UAAkB,CAAC;gBACvB,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACpE,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;wBAChB,OAAO,CAAC,IAAI,CACV,wBAAwB,KAAK,CAAC,GAAG,gCAAgC,CAClE,CAAC;wBACF,SAAS;oBACX,CAAC;oBACD,IAAI,EAAE,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;wBAC3B,OAAO,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,GAAG,+BAA+B,CAAC,CAAC;wBACtE,SAAS;oBACX,CAAC;oBACD,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC;gBAC7B,CAAC;qBAAM,CAAC;oBACN,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAC9D,KAAK,CAAC,GAAG,CACV,CAAC;oBACF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC1B,MAAM,SAAS,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CACpC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CACxD,CAAC;wBACF,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;wBACjC,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBACxC,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;4BACvC,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;4BAC7D,IAAI,WAAW,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;gCACpC,MAAM,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAChD,WAAW,CAAC,GAAG,EACf,WAAW,CAAC,UAAU,CACvB,CAAC;4BACJ,CAAC;4BACD,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAC3C,WAAW,CAAC,GAAG,EACf,oFAAoF,KAAK,CAAC,GAAG,iCAAiC,WAAW,CAAC,GAAG,GAAG,CACjJ,CAAC;wBACJ,CAAC;wBACD,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAClE,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAC3C,KAAK,CAAC,GAAG,EACT,GAAG,YAAY,CAAC,MAAM,qGAAqG,aAAa,iBAAiB,WAAW,CAAC,GAAG,EAAE,CAC3K,CAAC;wBACF,IAAI,WAAW,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;4BACpC,OAAO,CAAC,IAAI,CACV,kBAAkB,KAAK,CAAC,GAAG,qDAAqD,CACjF,CAAC;4BACF,SAAS;wBACX,CAAC;wBACD,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;oBACtC,CAAC;yBAAM,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACnC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;4BACtC,OAAO,CAAC,IAAI,CACV,kBAAkB,KAAK,CAAC,GAAG,gDAAgD,CAC5E,CAAC;4BACF,SAAS;wBACX,CAAC;wBACD,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBACxC,CAAC;yBAAM,CAAC;wBACN,UAAU,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBAClC,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;oBACnC,OAAO,CAAC,KAAK,CACX,kBAAkB,KAAK,CAAC,GAAG,iDAAiD,UAAU,EAAE,CACzF,CAAC;oBACF,SAAS;gBACX,CAAC;gBAED,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CACrC,OAAO,EACP,KAAK,EACL,uBAAuB,CAAC,EAAE,CAC3B,CAAC;gBACF,KAAK,CAAC,MAAM,GAAG,wCAAuB,CAAC;gBAEvC,MAAM,MAAM,GAAa;oBACvB,KAAK,CAAC,GAAG;oBACT,KAAK;oBACL,KAAK;oBACL,kBAAkB;oBAClB,MAAM,CAAC,cAAc;oBACrB,UAAU;oBACV,UAAU;iBACX,CAAC;gBACF,IACE,MAAM,CAAC,mBAAmB,KAAK,IAAI;oBACnC,MAAM,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EACrC,CAAC;oBACD,MAAM,SAAS,GACb,MAAM,CAAC,mBAAmB,CACxB,qBAAqB,GAAG,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAC1D,CAAC;oBACJ,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;gBACxC,CAAC;gBACD,IAAI,QAA4C,CAAC;gBACjD,IAAI,cAAc,KAAK,IAAI,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;oBACrD,MAAM,QAAQ,GACZ,cAAc,CACZ,CAAC,4BAA4B,GAAG,qBAAqB,CAAC;wBACpD,cAAc,CAAC,MAAM,CACxB,CAAC;oBACJ,QAAQ,GAAG;wBACT,uBAAuB,EAAE,QAAQ;wBACjC,kBAAkB,EAAE,YAAY;qBACjC,CAAC;gBACJ,CAAC;gBACD,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,CACtC,IAAI,EACJ,MAAM,EACN,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CACzC,CAAC;gBACF,qBAAqB,EAAE,CAAC;gBACxB,mCAAmC,EAAE,CAAC;YACxC,CAAC;YACD,OAAO,EAAE,aAAa,EAAE,CAAC;QAC3B,CAAC,CAAC;IAhbC,CAAC;CAibL;AAhcD,0DAgcC"}
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.69.6",
3
+ "version": "1.69.7",
4
4
  "description": "",
5
5
  "main": "bin/index.js",
6
6
  "scripts": {
@@ -9,8 +9,24 @@ import { ClaudeTokenUsageRepository } from './adapter-interfaces/ClaudeTokenUsag
9
9
  import { ClaudeTokenUsage } from '../entities/ClaudeTokenUsage';
10
10
  import { Issue } from '../entities/Issue';
11
11
  import { Project } from '../entities/Project';
12
+ import { StoryObjectMap } from '../entities/StoryObjectMap';
12
13
  type Mocked<T> = jest.Mocked<T> & jest.MockedObject<T>;
13
14
 
15
+ const createMockStoryObjectMap = (issues: Issue[]): StoryObjectMap => {
16
+ const map: StoryObjectMap = new Map();
17
+ map.set('Default Story', {
18
+ story: {
19
+ id: 'story-1',
20
+ name: 'Default Story',
21
+ color: 'GRAY',
22
+ description: '',
23
+ },
24
+ storyIssue: null,
25
+ issues: issues,
26
+ });
27
+ return map;
28
+ };
29
+
14
30
  const createMockIssue = (overrides: Partial<Issue> = {}): Issue => ({
15
31
  nameWithOwner: 'user/repo',
16
32
  number: 1,
@@ -66,7 +82,7 @@ describe('StartPreparationUseCase', () => {
66
82
  let mockIssueRepository: Mocked<
67
83
  Pick<
68
84
  IssueRepository,
69
- | 'getAllOpened'
85
+ | 'getStoryObjectMap'
70
86
  | 'updateStatus'
71
87
  | 'findRelatedOpenPRs'
72
88
  | 'getOpenPullRequest'
@@ -85,7 +101,7 @@ describe('StartPreparationUseCase', () => {
85
101
  getByUrl: jest.fn(),
86
102
  };
87
103
  mockIssueRepository = {
88
- getAllOpened: jest.fn().mockResolvedValue([]),
104
+ getStoryObjectMap: jest.fn().mockResolvedValue(new Map()),
89
105
  updateStatus: jest.fn(),
90
106
  findRelatedOpenPRs: jest.fn().mockResolvedValue([]),
91
107
  getOpenPullRequest: jest.fn().mockResolvedValue(null),
@@ -118,7 +134,9 @@ describe('StartPreparationUseCase', () => {
118
134
  }),
119
135
  ];
120
136
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
121
- mockIssueRepository.getAllOpened.mockResolvedValue(awaitingIssues);
137
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
138
+ createMockStoryObjectMap(awaitingIssues),
139
+ );
122
140
  mockLocalCommandRunner.runCommand.mockResolvedValue({
123
141
  stdout: '',
124
142
  stderr: '',
@@ -158,56 +176,6 @@ describe('StartPreparationUseCase', () => {
158
176
  ],
159
177
  ]);
160
178
  });
161
- it('should move awaiting workspace issue with story=null to preparation', async () => {
162
- const issueWithoutStory = createMockIssue({
163
- url: 'https://github.com/user/repo/issues/55',
164
- number: 55,
165
- title: 'Issue without story',
166
- labels: ['category:impl'],
167
- status: 'Awaiting Workspace',
168
- story: null,
169
- });
170
- mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
171
- mockIssueRepository.getAllOpened.mockResolvedValue([issueWithoutStory]);
172
- mockLocalCommandRunner.runCommand.mockResolvedValue({
173
- stdout: '',
174
- stderr: '',
175
- exitCode: 0,
176
- });
177
- await useCase.run({
178
- projectUrl: 'https://github.com/user/repo',
179
- defaultAgentName: 'agent1',
180
- defaultLlmModelName: 'claude-opus',
181
- defaultLlmAgentName: null,
182
- configFilePath: '/path/to/config.yml',
183
- maximumPreparingIssuesCount: null,
184
- utilizationPercentageThreshold: 90,
185
- allowedIssueAuthors: null,
186
- codexHomeCandidates: null,
187
- allowIssueCacheMinutes: 0,
188
- labelsAsLlmAgentName: null,
189
- });
190
- expect(mockIssueRepository.updateStatus.mock.calls).toHaveLength(1);
191
- expect(mockIssueRepository.updateStatus.mock.calls[0][1]).toMatchObject({
192
- url: 'https://github.com/user/repo/issues/55',
193
- story: null,
194
- status: 'Preparation',
195
- });
196
- expect(mockIssueRepository.updateStatus.mock.calls[0][2]).toBe('2');
197
- expect(mockLocalCommandRunner.runCommand.mock.calls).toHaveLength(1);
198
- expect(mockLocalCommandRunner.runCommand.mock.calls[0]).toEqual([
199
- 'aw',
200
- [
201
- 'https://github.com/user/repo/issues/55',
202
- 'impl',
203
- 'claude-opus',
204
- '--configFilePath',
205
- '/path/to/config.yml',
206
- '--branch',
207
- 'i55',
208
- ],
209
- ]);
210
- });
211
179
  it('should pass --branch to aw command when issue has an existing linked PR', async () => {
212
180
  const awaitingIssues: Issue[] = [
213
181
  createMockIssue({
@@ -230,7 +198,9 @@ describe('StartPreparationUseCase', () => {
230
198
  missingRequiredCheckNames: [],
231
199
  };
232
200
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
233
- mockIssueRepository.getAllOpened.mockResolvedValue(awaitingIssues);
201
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
202
+ createMockStoryObjectMap(awaitingIssues),
203
+ );
234
204
  mockIssueRepository.findRelatedOpenPRs.mockResolvedValue([existingPR]);
235
205
  mockLocalCommandRunner.runCommand.mockResolvedValue({
236
206
  stdout: '',
@@ -274,7 +244,9 @@ describe('StartPreparationUseCase', () => {
274
244
  }),
275
245
  ];
276
246
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
277
- mockIssueRepository.getAllOpened.mockResolvedValue(awaitingIssues);
247
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
248
+ createMockStoryObjectMap(awaitingIssues),
249
+ );
278
250
  mockIssueRepository.getOpenPullRequest.mockResolvedValue({
279
251
  url: 'https://github.com/user/repo/pull/354',
280
252
  branchName: 'dependabot/npm_and_yarn/multi-cc382f683c',
@@ -333,7 +305,9 @@ describe('StartPreparationUseCase', () => {
333
305
  }),
334
306
  ];
335
307
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
336
- mockIssueRepository.getAllOpened.mockResolvedValue(awaitingIssues);
308
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
309
+ createMockStoryObjectMap(awaitingIssues),
310
+ );
337
311
  mockIssueRepository.getOpenPullRequest.mockResolvedValue(null);
338
312
  const consoleWarnSpy = jest
339
313
  .spyOn(console, 'warn')
@@ -369,7 +343,9 @@ describe('StartPreparationUseCase', () => {
369
343
  }),
370
344
  ];
371
345
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
372
- mockIssueRepository.getAllOpened.mockResolvedValue(awaitingIssues);
346
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
347
+ createMockStoryObjectMap(awaitingIssues),
348
+ );
373
349
  mockIssueRepository.getOpenPullRequest.mockResolvedValue({
374
350
  url: 'https://github.com/user/repo/pull/999',
375
351
  branchName: null,
@@ -415,7 +391,9 @@ describe('StartPreparationUseCase', () => {
415
391
  }),
416
392
  ];
417
393
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
418
- mockIssueRepository.getAllOpened.mockResolvedValue(awaitingIssues);
394
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
395
+ createMockStoryObjectMap(awaitingIssues),
396
+ );
419
397
  mockIssueRepository.getOpenPullRequest.mockResolvedValue({
420
398
  url: 'https://github.com/user/repo/pull/999',
421
399
  branchName: 'evil$(rm -rf /)',
@@ -485,7 +463,9 @@ describe('StartPreparationUseCase', () => {
485
463
  missingRequiredCheckNames: [],
486
464
  };
487
465
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
488
- mockIssueRepository.getAllOpened.mockResolvedValue(awaitingIssues);
466
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
467
+ createMockStoryObjectMap(awaitingIssues),
468
+ );
489
469
  mockIssueRepository.findRelatedOpenPRs.mockResolvedValue([
490
470
  olderPR,
491
471
  newerPR,
@@ -574,7 +554,9 @@ describe('StartPreparationUseCase', () => {
574
554
  missingRequiredCheckNames: [],
575
555
  };
576
556
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
577
- mockIssueRepository.getAllOpened.mockResolvedValue(awaitingIssues);
557
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
558
+ createMockStoryObjectMap(awaitingIssues),
559
+ );
578
560
  mockIssueRepository.findRelatedOpenPRs.mockResolvedValue([
579
561
  olderPRNullBranch,
580
562
  newerPR,
@@ -636,7 +618,9 @@ describe('StartPreparationUseCase', () => {
636
618
  missingRequiredCheckNames: [],
637
619
  };
638
620
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
639
- mockIssueRepository.getAllOpened.mockResolvedValue(awaitingIssues);
621
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
622
+ createMockStoryObjectMap(awaitingIssues),
623
+ );
640
624
  mockIssueRepository.findRelatedOpenPRs.mockResolvedValue([
641
625
  prWithNullBranch,
642
626
  ]);
@@ -679,7 +663,9 @@ describe('StartPreparationUseCase', () => {
679
663
  }),
680
664
  ];
681
665
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
682
- mockIssueRepository.getAllOpened.mockResolvedValue(awaitingIssues);
666
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
667
+ createMockStoryObjectMap(awaitingIssues),
668
+ );
683
669
  mockLocalCommandRunner.runCommand.mockResolvedValue({
684
670
  stdout: '',
685
671
  stderr: '',
@@ -734,10 +720,9 @@ describe('StartPreparationUseCase', () => {
734
720
  }),
735
721
  ];
736
722
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
737
- mockIssueRepository.getAllOpened.mockResolvedValue([
738
- ...preparationIssues,
739
- ...awaitingIssues,
740
- ]);
723
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
724
+ createMockStoryObjectMap([...preparationIssues, ...awaitingIssues]),
725
+ );
741
726
  mockLocalCommandRunner.runCommand.mockResolvedValue({
742
727
  stdout: '',
743
728
  stderr: '',
@@ -770,7 +755,9 @@ describe('StartPreparationUseCase', () => {
770
755
  }),
771
756
  ];
772
757
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
773
- mockIssueRepository.getAllOpened.mockResolvedValue(awaitingIssues);
758
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
759
+ createMockStoryObjectMap(awaitingIssues),
760
+ );
774
761
  mockLocalCommandRunner.runCommand.mockResolvedValue({
775
762
  stdout: '',
776
763
  stderr: '',
@@ -813,7 +800,9 @@ describe('StartPreparationUseCase', () => {
813
800
  }),
814
801
  ];
815
802
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
816
- mockIssueRepository.getAllOpened.mockResolvedValue(awaitingIssues);
803
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
804
+ createMockStoryObjectMap(awaitingIssues),
805
+ );
817
806
  mockLocalCommandRunner.runCommand.mockResolvedValue({
818
807
  stdout: '',
819
808
  stderr: '',
@@ -856,7 +845,9 @@ describe('StartPreparationUseCase', () => {
856
845
  }),
857
846
  ];
858
847
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
859
- mockIssueRepository.getAllOpened.mockResolvedValue(awaitingIssues);
848
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
849
+ createMockStoryObjectMap(awaitingIssues),
850
+ );
860
851
  mockLocalCommandRunner.runCommand.mockResolvedValue({
861
852
  stdout: '',
862
853
  stderr: '',
@@ -899,7 +890,9 @@ describe('StartPreparationUseCase', () => {
899
890
  }),
900
891
  ];
901
892
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
902
- mockIssueRepository.getAllOpened.mockResolvedValue(awaitingIssues);
893
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
894
+ createMockStoryObjectMap(awaitingIssues),
895
+ );
903
896
  mockLocalCommandRunner.runCommand.mockResolvedValue({
904
897
  stdout: '',
905
898
  stderr: '',
@@ -942,7 +935,9 @@ describe('StartPreparationUseCase', () => {
942
935
  }),
943
936
  ];
944
937
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
945
- mockIssueRepository.getAllOpened.mockResolvedValue(awaitingIssues);
938
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
939
+ createMockStoryObjectMap(awaitingIssues),
940
+ );
946
941
  mockLocalCommandRunner.runCommand.mockResolvedValue({
947
942
  stdout: '',
948
943
  stderr: '',
@@ -985,7 +980,9 @@ describe('StartPreparationUseCase', () => {
985
980
  }),
986
981
  ];
987
982
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
988
- mockIssueRepository.getAllOpened.mockResolvedValue(awaitingIssues);
983
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
984
+ createMockStoryObjectMap(awaitingIssues),
985
+ );
989
986
  mockLocalCommandRunner.runCommand.mockResolvedValue({
990
987
  stdout: '',
991
988
  stderr: '',
@@ -1028,7 +1025,9 @@ describe('StartPreparationUseCase', () => {
1028
1025
  }),
1029
1026
  ];
1030
1027
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
1031
- mockIssueRepository.getAllOpened.mockResolvedValue(awaitingIssues);
1028
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
1029
+ createMockStoryObjectMap(awaitingIssues),
1030
+ );
1032
1031
  mockLocalCommandRunner.runCommand.mockResolvedValue({
1033
1032
  stdout: '',
1034
1033
  stderr: '',
@@ -1074,7 +1073,9 @@ describe('StartPreparationUseCase', () => {
1074
1073
  }),
1075
1074
  ];
1076
1075
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
1077
- mockIssueRepository.getAllOpened.mockResolvedValue(awaitingIssues);
1076
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
1077
+ createMockStoryObjectMap(awaitingIssues),
1078
+ );
1078
1079
  mockLocalCommandRunner.runCommand.mockResolvedValue({
1079
1080
  stdout: '',
1080
1081
  stderr: '',
@@ -1125,7 +1126,9 @@ describe('StartPreparationUseCase', () => {
1125
1126
  }),
1126
1127
  ];
1127
1128
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
1128
- mockIssueRepository.getAllOpened.mockResolvedValue(preparationIssues);
1129
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
1130
+ createMockStoryObjectMap(preparationIssues),
1131
+ );
1129
1132
  mockLocalCommandRunner.runCommand.mockResolvedValue({
1130
1133
  stdout: '',
1131
1134
  stderr: '',
@@ -1158,7 +1161,9 @@ describe('StartPreparationUseCase', () => {
1158
1161
  }),
1159
1162
  );
1160
1163
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
1161
- mockIssueRepository.getAllOpened.mockResolvedValue(awaitingIssues);
1164
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
1165
+ createMockStoryObjectMap(awaitingIssues),
1166
+ );
1162
1167
  mockLocalCommandRunner.runCommand.mockResolvedValue({
1163
1168
  stdout: '',
1164
1169
  stderr: '',
@@ -1190,7 +1195,9 @@ describe('StartPreparationUseCase', () => {
1190
1195
  }),
1191
1196
  );
1192
1197
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
1193
- mockIssueRepository.getAllOpened.mockResolvedValue(awaitingIssues);
1198
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
1199
+ createMockStoryObjectMap(awaitingIssues),
1200
+ );
1194
1201
  mockLocalCommandRunner.runCommand.mockResolvedValue({
1195
1202
  stdout: '',
1196
1203
  stderr: '',
@@ -1224,7 +1231,9 @@ describe('StartPreparationUseCase', () => {
1224
1231
  }),
1225
1232
  );
1226
1233
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
1227
- mockIssueRepository.getAllOpened.mockResolvedValue(awaitingIssues);
1234
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
1235
+ createMockStoryObjectMap(awaitingIssues),
1236
+ );
1228
1237
  mockLocalCommandRunner.runCommand.mockResolvedValue({
1229
1238
  stdout: '',
1230
1239
  stderr: '',
@@ -1288,7 +1297,9 @@ describe('StartPreparationUseCase', () => {
1288
1297
  }),
1289
1298
  );
1290
1299
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
1291
- mockIssueRepository.getAllOpened.mockResolvedValue(awaitingIssues);
1300
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
1301
+ createMockStoryObjectMap(awaitingIssues),
1302
+ );
1292
1303
  mockLocalCommandRunner.runCommand.mockResolvedValue({
1293
1304
  stdout: '',
1294
1305
  stderr: '',
@@ -1349,11 +1360,30 @@ describe('StartPreparationUseCase', () => {
1349
1360
  state: 'OPEN',
1350
1361
  });
1351
1362
 
1363
+ const workflowBlockerMap: StoryObjectMap = new Map();
1364
+ workflowBlockerMap.set('Workflow blocker', {
1365
+ story: {
1366
+ id: 'story-blocker',
1367
+ name: 'Workflow blocker',
1368
+ color: 'RED',
1369
+ description: '',
1370
+ },
1371
+ storyIssue: null,
1372
+ issues: [blockerIssue],
1373
+ });
1374
+ workflowBlockerMap.set('Default Story', {
1375
+ story: {
1376
+ id: 'story-1',
1377
+ name: 'Default Story',
1378
+ color: 'GRAY',
1379
+ description: '',
1380
+ },
1381
+ storyIssue: null,
1382
+ issues: [issueInBlockedRepo],
1383
+ });
1384
+
1352
1385
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
1353
- mockIssueRepository.getAllOpened.mockResolvedValue([
1354
- blockerIssue,
1355
- issueInBlockedRepo,
1356
- ]);
1386
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(workflowBlockerMap);
1357
1387
  mockLocalCommandRunner.runCommand.mockResolvedValue({
1358
1388
  stdout: '',
1359
1389
  stderr: '',
@@ -1399,10 +1429,9 @@ describe('StartPreparationUseCase', () => {
1399
1429
  });
1400
1430
 
1401
1431
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
1402
- mockIssueRepository.getAllOpened.mockResolvedValue([
1403
- issueWithDependency,
1404
- issueWithoutDependency,
1405
- ]);
1432
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
1433
+ createMockStoryObjectMap([issueWithDependency, issueWithoutDependency]),
1434
+ );
1406
1435
  mockLocalCommandRunner.runCommand.mockResolvedValue({
1407
1436
  stdout: '',
1408
1437
  stderr: '',
@@ -1452,10 +1481,12 @@ describe('StartPreparationUseCase', () => {
1452
1481
  });
1453
1482
 
1454
1483
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
1455
- mockIssueRepository.getAllOpened.mockResolvedValue([
1456
- issueWithFutureNextActionHour,
1457
- issueWithoutNextActionHour,
1458
- ]);
1484
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
1485
+ createMockStoryObjectMap([
1486
+ issueWithFutureNextActionHour,
1487
+ issueWithoutNextActionHour,
1488
+ ]),
1489
+ );
1459
1490
  mockLocalCommandRunner.runCommand.mockResolvedValue({
1460
1491
  stdout: '',
1461
1492
  stderr: '',
@@ -1508,10 +1539,12 @@ describe('StartPreparationUseCase', () => {
1508
1539
  });
1509
1540
 
1510
1541
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
1511
- mockIssueRepository.getAllOpened.mockResolvedValue([
1512
- issueWithFutureNextActionDate,
1513
- issueWithoutNextActionDate,
1514
- ]);
1542
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
1543
+ createMockStoryObjectMap([
1544
+ issueWithFutureNextActionDate,
1545
+ issueWithoutNextActionDate,
1546
+ ]),
1547
+ );
1515
1548
  mockLocalCommandRunner.runCommand.mockResolvedValue({
1516
1549
  stdout: '',
1517
1550
  stderr: '',
@@ -1557,9 +1590,9 @@ describe('StartPreparationUseCase', () => {
1557
1590
  });
1558
1591
 
1559
1592
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
1560
- mockIssueRepository.getAllOpened.mockResolvedValue([
1561
- issueWithTodayNextActionDate,
1562
- ]);
1593
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
1594
+ createMockStoryObjectMap([issueWithTodayNextActionDate]),
1595
+ );
1563
1596
  mockLocalCommandRunner.runCommand.mockResolvedValue({
1564
1597
  stdout: '',
1565
1598
  stderr: '',
@@ -1605,9 +1638,9 @@ describe('StartPreparationUseCase', () => {
1605
1638
  });
1606
1639
 
1607
1640
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
1608
- mockIssueRepository.getAllOpened.mockResolvedValue([
1609
- issueWithPastNextActionDate,
1610
- ]);
1641
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
1642
+ createMockStoryObjectMap([issueWithPastNextActionDate]),
1643
+ );
1611
1644
  mockLocalCommandRunner.runCommand.mockResolvedValue({
1612
1645
  stdout: '',
1613
1646
  stderr: '',
@@ -1653,9 +1686,9 @@ describe('StartPreparationUseCase', () => {
1653
1686
  });
1654
1687
 
1655
1688
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
1656
- mockIssueRepository.getAllOpened.mockResolvedValue([
1657
- issueWithPastNextActionHour,
1658
- ]);
1689
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
1690
+ createMockStoryObjectMap([issueWithPastNextActionHour]),
1691
+ );
1659
1692
  mockLocalCommandRunner.runCommand.mockResolvedValue({
1660
1693
  stdout: '',
1661
1694
  stderr: '',
@@ -1704,10 +1737,12 @@ describe('StartPreparationUseCase', () => {
1704
1737
  });
1705
1738
 
1706
1739
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
1707
- mockIssueRepository.getAllOpened.mockResolvedValue([
1708
- issueFromAllowedAuthor,
1709
- issueFromNonAllowedAuthor,
1710
- ]);
1740
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
1741
+ createMockStoryObjectMap([
1742
+ issueFromAllowedAuthor,
1743
+ issueFromNonAllowedAuthor,
1744
+ ]),
1745
+ );
1711
1746
  mockLocalCommandRunner.runCommand.mockResolvedValue({
1712
1747
  stdout: '',
1713
1748
  stderr: '',
@@ -1753,7 +1788,9 @@ describe('StartPreparationUseCase', () => {
1753
1788
  });
1754
1789
 
1755
1790
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
1756
- mockIssueRepository.getAllOpened.mockResolvedValue([issue1, issue2]);
1791
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
1792
+ createMockStoryObjectMap([issue1, issue2]),
1793
+ );
1757
1794
  mockLocalCommandRunner.runCommand.mockResolvedValue({
1758
1795
  stdout: '',
1759
1796
  stderr: '',
@@ -1797,10 +1834,9 @@ describe('StartPreparationUseCase', () => {
1797
1834
  });
1798
1835
 
1799
1836
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
1800
- mockIssueRepository.getAllOpened.mockResolvedValue([
1801
- issueWithEmptyAuthor,
1802
- issueWithKnownAuthor,
1803
- ]);
1837
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
1838
+ createMockStoryObjectMap([issueWithEmptyAuthor, issueWithKnownAuthor]),
1839
+ );
1804
1840
  mockLocalCommandRunner.runCommand.mockResolvedValue({
1805
1841
  stdout: '',
1806
1842
  stderr: '',
@@ -1838,7 +1874,9 @@ describe('StartPreparationUseCase', () => {
1838
1874
  });
1839
1875
 
1840
1876
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
1841
- mockIssueRepository.getAllOpened.mockResolvedValue([issueWithEmptyAuthor]);
1877
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
1878
+ createMockStoryObjectMap([issueWithEmptyAuthor]),
1879
+ );
1842
1880
  mockLocalCommandRunner.runCommand.mockResolvedValue({
1843
1881
  stdout: '',
1844
1882
  stderr: '',
@@ -1873,7 +1911,9 @@ describe('StartPreparationUseCase', () => {
1873
1911
  }),
1874
1912
  ];
1875
1913
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
1876
- mockIssueRepository.getAllOpened.mockResolvedValue(awaitingIssues);
1914
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
1915
+ createMockStoryObjectMap(awaitingIssues),
1916
+ );
1877
1917
  mockLocalCommandRunner.runCommand.mockResolvedValue({
1878
1918
  stdout: '',
1879
1919
  stderr: '',
@@ -1919,7 +1959,9 @@ describe('StartPreparationUseCase', () => {
1919
1959
  }),
1920
1960
  ];
1921
1961
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
1922
- mockIssueRepository.getAllOpened.mockResolvedValue(awaitingIssues);
1962
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
1963
+ createMockStoryObjectMap(awaitingIssues),
1964
+ );
1923
1965
  mockLocalCommandRunner.runCommand.mockResolvedValue({
1924
1966
  stdout: '',
1925
1967
  stderr: '',
@@ -1965,7 +2007,9 @@ describe('StartPreparationUseCase', () => {
1965
2007
  }),
1966
2008
  ];
1967
2009
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
1968
- mockIssueRepository.getAllOpened.mockResolvedValue(awaitingIssues);
2010
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
2011
+ createMockStoryObjectMap(awaitingIssues),
2012
+ );
1969
2013
  mockLocalCommandRunner.runCommand.mockResolvedValue({
1970
2014
  stdout: '',
1971
2015
  stderr: '',
@@ -2031,7 +2075,9 @@ describe('StartPreparationUseCase', () => {
2031
2075
  }),
2032
2076
  ];
2033
2077
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
2034
- mockIssueRepository.getAllOpened.mockResolvedValue(awaitingIssues);
2078
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
2079
+ createMockStoryObjectMap(awaitingIssues),
2080
+ );
2035
2081
  mockLocalCommandRunner.runCommand.mockResolvedValue({
2036
2082
  stdout: '',
2037
2083
  stderr: '',
@@ -2094,7 +2140,9 @@ describe('StartPreparationUseCase', () => {
2094
2140
  itemId: 'item-regression',
2095
2141
  });
2096
2142
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
2097
- mockIssueRepository.getAllOpened.mockResolvedValue([awaitingIssue]);
2143
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
2144
+ createMockStoryObjectMap([awaitingIssue]),
2145
+ );
2098
2146
  mockLocalCommandRunner.runCommand.mockResolvedValue({
2099
2147
  stdout: '',
2100
2148
  stderr: '',
@@ -2153,7 +2201,9 @@ describe('StartPreparationUseCase', () => {
2153
2201
  status: 'Awaiting Workspace',
2154
2202
  });
2155
2203
  mockProjectRepository.getByUrl.mockResolvedValue(projectWithoutPreparation);
2156
- mockIssueRepository.getAllOpened.mockResolvedValue([awaitingIssue]);
2204
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
2205
+ createMockStoryObjectMap([awaitingIssue]),
2206
+ );
2157
2207
  const consoleErrorSpy = jest
2158
2208
  .spyOn(console, 'error')
2159
2209
  .mockImplementation(() => {});
@@ -2180,9 +2230,11 @@ describe('StartPreparationUseCase', () => {
2180
2230
  consoleErrorSpy.mockRestore();
2181
2231
  });
2182
2232
 
2183
- it('should pass allowIssueCacheMinutes to getAllOpened', async () => {
2233
+ it('should pass allowIssueCacheMinutes to getStoryObjectMap', async () => {
2184
2234
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
2185
- mockIssueRepository.getAllOpened.mockResolvedValue([]);
2235
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
2236
+ createMockStoryObjectMap([]),
2237
+ );
2186
2238
 
2187
2239
  await useCase.run({
2188
2240
  projectUrl: 'https://github.com/user/repo',
@@ -2198,7 +2250,7 @@ describe('StartPreparationUseCase', () => {
2198
2250
  labelsAsLlmAgentName: null,
2199
2251
  });
2200
2252
 
2201
- expect(mockIssueRepository.getAllOpened).toHaveBeenCalledWith(
2253
+ expect(mockIssueRepository.getStoryObjectMap).toHaveBeenCalledWith(
2202
2254
  expect.objectContaining({ id: 'project-1' }),
2203
2255
  5,
2204
2256
  );
@@ -2222,10 +2274,9 @@ describe('StartPreparationUseCase', () => {
2222
2274
  });
2223
2275
 
2224
2276
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
2225
- mockIssueRepository.getAllOpened.mockResolvedValue([
2226
- closedIssue,
2227
- openIssue,
2228
- ]);
2277
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
2278
+ createMockStoryObjectMap([closedIssue, openIssue]),
2279
+ );
2229
2280
  mockLocalCommandRunner.runCommand.mockResolvedValue({
2230
2281
  stdout: '',
2231
2282
  stderr: '',
@@ -2262,7 +2313,9 @@ describe('StartPreparationUseCase', () => {
2262
2313
  itemId: 'item-1',
2263
2314
  });
2264
2315
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
2265
- mockIssueRepository.getAllOpened.mockResolvedValue([awaitingIssue]);
2316
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
2317
+ createMockStoryObjectMap([awaitingIssue]),
2318
+ );
2266
2319
  mockLocalCommandRunner.runCommand.mockResolvedValue({
2267
2320
  stdout: '',
2268
2321
  stderr: '',
@@ -2337,7 +2390,9 @@ describe('StartPreparationUseCase', () => {
2337
2390
  }),
2338
2391
  ];
2339
2392
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
2340
- mockIssueRepository.getAllOpened.mockResolvedValue(awaitingIssues);
2393
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
2394
+ createMockStoryObjectMap(awaitingIssues),
2395
+ );
2341
2396
  mockLocalCommandRunner.runCommand.mockResolvedValue({
2342
2397
  stdout: '',
2343
2398
  stderr: '',
@@ -2409,7 +2464,9 @@ describe('StartPreparationUseCase', () => {
2409
2464
  itemId: 'item-1',
2410
2465
  });
2411
2466
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
2412
- mockIssueRepository.getAllOpened.mockResolvedValue([awaitingIssue]);
2467
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
2468
+ createMockStoryObjectMap([awaitingIssue]),
2469
+ );
2413
2470
  mockLocalCommandRunner.runCommand.mockResolvedValue({
2414
2471
  stdout: '',
2415
2472
  stderr: '',
@@ -2450,7 +2507,9 @@ describe('StartPreparationUseCase', () => {
2450
2507
  itemId: 'item-1',
2451
2508
  });
2452
2509
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
2453
- mockIssueRepository.getAllOpened.mockResolvedValue([awaitingIssue]);
2510
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
2511
+ createMockStoryObjectMap([awaitingIssue]),
2512
+ );
2454
2513
  mockLocalCommandRunner.runCommand.mockResolvedValue({
2455
2514
  stdout: '',
2456
2515
  stderr: '',
@@ -2521,7 +2580,9 @@ describe('StartPreparationUseCase', () => {
2521
2580
  itemId: 'item-1',
2522
2581
  });
2523
2582
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
2524
- mockIssueRepository.getAllOpened.mockResolvedValue([awaitingIssue]);
2583
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
2584
+ createMockStoryObjectMap([awaitingIssue]),
2585
+ );
2525
2586
  mockLocalCommandRunner.runCommand.mockResolvedValue({
2526
2587
  stdout: '',
2527
2588
  stderr: '',
@@ -2581,7 +2642,9 @@ describe('StartPreparationUseCase', () => {
2581
2642
  itemId: 'item-1',
2582
2643
  });
2583
2644
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
2584
- mockIssueRepository.getAllOpened.mockResolvedValue([awaitingIssue]);
2645
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
2646
+ createMockStoryObjectMap([awaitingIssue]),
2647
+ );
2585
2648
  mockLocalCommandRunner.runCommand.mockResolvedValue({
2586
2649
  stdout: '',
2587
2650
  stderr: '',
@@ -2647,7 +2710,9 @@ describe('StartPreparationUseCase', () => {
2647
2710
  itemId: 'item-1',
2648
2711
  });
2649
2712
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
2650
- mockIssueRepository.getAllOpened.mockResolvedValue([awaitingIssue]);
2713
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
2714
+ createMockStoryObjectMap([awaitingIssue]),
2715
+ );
2651
2716
  mockLocalCommandRunner.runCommand.mockResolvedValue({
2652
2717
  stdout: '',
2653
2718
  stderr: '',
@@ -2731,7 +2796,9 @@ describe('StartPreparationUseCase', () => {
2731
2796
  }),
2732
2797
  ];
2733
2798
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
2734
- mockIssueRepository.getAllOpened.mockResolvedValue(awaitingIssues);
2799
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
2800
+ createMockStoryObjectMap(awaitingIssues),
2801
+ );
2735
2802
  mockLocalCommandRunner.runCommand.mockResolvedValue({
2736
2803
  stdout: '',
2737
2804
  stderr: '',
@@ -2821,7 +2888,9 @@ describe('StartPreparationUseCase', () => {
2821
2888
  }),
2822
2889
  );
2823
2890
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
2824
- mockIssueRepository.getAllOpened.mockResolvedValue(awaitingIssues);
2891
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
2892
+ createMockStoryObjectMap(awaitingIssues),
2893
+ );
2825
2894
  mockLocalCommandRunner.runCommand.mockResolvedValue({
2826
2895
  stdout: '',
2827
2896
  stderr: '',
@@ -2872,7 +2941,9 @@ describe('StartPreparationUseCase', () => {
2872
2941
  itemId: 'item-1',
2873
2942
  });
2874
2943
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
2875
- mockIssueRepository.getAllOpened.mockResolvedValue([awaitingIssue]);
2944
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
2945
+ createMockStoryObjectMap([awaitingIssue]),
2946
+ );
2876
2947
  mockLocalCommandRunner.runCommand.mockResolvedValue({
2877
2948
  stdout: '',
2878
2949
  stderr: '',
@@ -2932,7 +3003,9 @@ describe('StartPreparationUseCase', () => {
2932
3003
  itemId: 'item-1',
2933
3004
  });
2934
3005
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
2935
- mockIssueRepository.getAllOpened.mockResolvedValue([awaitingIssue]);
3006
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
3007
+ createMockStoryObjectMap([awaitingIssue]),
3008
+ );
2936
3009
  mockLocalCommandRunner.runCommand.mockResolvedValue({
2937
3010
  stdout: '',
2938
3011
  stderr: '',
@@ -2992,7 +3065,9 @@ describe('StartPreparationUseCase', () => {
2992
3065
  itemId: 'item-1',
2993
3066
  });
2994
3067
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
2995
- mockIssueRepository.getAllOpened.mockResolvedValue([awaitingIssue]);
3068
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
3069
+ createMockStoryObjectMap([awaitingIssue]),
3070
+ );
2996
3071
  mockLocalCommandRunner.runCommand.mockResolvedValue({
2997
3072
  stdout: '',
2998
3073
  stderr: '',
@@ -3052,7 +3127,9 @@ describe('StartPreparationUseCase', () => {
3052
3127
  itemId: 'item-1',
3053
3128
  });
3054
3129
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
3055
- mockIssueRepository.getAllOpened.mockResolvedValue([awaitingIssue]);
3130
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
3131
+ createMockStoryObjectMap([awaitingIssue]),
3132
+ );
3056
3133
  mockLocalCommandRunner.runCommand.mockResolvedValue({
3057
3134
  stdout: '',
3058
3135
  stderr: '',
@@ -3117,7 +3194,9 @@ describe('StartPreparationUseCase', () => {
3117
3194
  itemId: 'item-1',
3118
3195
  });
3119
3196
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
3120
- mockIssueRepository.getAllOpened.mockResolvedValue([awaitingIssue]);
3197
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
3198
+ createMockStoryObjectMap([awaitingIssue]),
3199
+ );
3121
3200
  mockLocalCommandRunner.runCommand.mockResolvedValue({
3122
3201
  stdout: '',
3123
3202
  stderr: '',
@@ -3160,7 +3239,9 @@ describe('StartPreparationUseCase', () => {
3160
3239
  itemId: 'item-1',
3161
3240
  });
3162
3241
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
3163
- mockIssueRepository.getAllOpened.mockResolvedValue([awaitingIssue]);
3242
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
3243
+ createMockStoryObjectMap([awaitingIssue]),
3244
+ );
3164
3245
  mockLocalCommandRunner.runCommand.mockResolvedValue({
3165
3246
  stdout: '',
3166
3247
  stderr: '',
@@ -3223,7 +3304,9 @@ describe('StartPreparationUseCase', () => {
3223
3304
  itemId: 'item-1',
3224
3305
  });
3225
3306
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
3226
- mockIssueRepository.getAllOpened.mockResolvedValue([awaitingIssue]);
3307
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
3308
+ createMockStoryObjectMap([awaitingIssue]),
3309
+ );
3227
3310
  mockLocalCommandRunner.runCommand.mockResolvedValue({
3228
3311
  stdout: '',
3229
3312
  stderr: '',
@@ -3286,7 +3369,9 @@ describe('StartPreparationUseCase', () => {
3286
3369
  itemId: 'item-1',
3287
3370
  });
3288
3371
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
3289
- mockIssueRepository.getAllOpened.mockResolvedValue([awaitingIssue]);
3372
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
3373
+ createMockStoryObjectMap([awaitingIssue]),
3374
+ );
3290
3375
  mockLocalCommandRunner.runCommand.mockResolvedValue({
3291
3376
  stdout: '',
3292
3377
  stderr: '',
@@ -3349,7 +3434,9 @@ describe('StartPreparationUseCase', () => {
3349
3434
  itemId: 'item-1',
3350
3435
  });
3351
3436
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
3352
- mockIssueRepository.getAllOpened.mockResolvedValue([awaitingIssue]);
3437
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
3438
+ createMockStoryObjectMap([awaitingIssue]),
3439
+ );
3353
3440
  mockLocalCommandRunner.runCommand.mockResolvedValue({
3354
3441
  stdout: '',
3355
3442
  stderr: '',
@@ -3412,7 +3499,9 @@ describe('StartPreparationUseCase', () => {
3412
3499
  itemId: 'item-1',
3413
3500
  });
3414
3501
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
3415
- mockIssueRepository.getAllOpened.mockResolvedValue([awaitingIssue]);
3502
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
3503
+ createMockStoryObjectMap([awaitingIssue]),
3504
+ );
3416
3505
  mockLocalCommandRunner.runCommand.mockResolvedValue({
3417
3506
  stdout: '',
3418
3507
  stderr: '',
@@ -3483,7 +3572,9 @@ describe('StartPreparationUseCase', () => {
3483
3572
  itemId: 'item-1',
3484
3573
  });
3485
3574
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
3486
- mockIssueRepository.getAllOpened.mockResolvedValue([awaitingIssue]);
3575
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
3576
+ createMockStoryObjectMap([awaitingIssue]),
3577
+ );
3487
3578
  mockLocalCommandRunner.runCommand.mockResolvedValue({
3488
3579
  stdout: '',
3489
3580
  stderr: '',
@@ -3564,7 +3655,9 @@ describe('StartPreparationUseCase', () => {
3564
3655
  }),
3565
3656
  ];
3566
3657
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
3567
- mockIssueRepository.getAllOpened.mockResolvedValue(awaitingIssues);
3658
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
3659
+ createMockStoryObjectMap(awaitingIssues),
3660
+ );
3568
3661
  mockLocalCommandRunner.runCommand.mockResolvedValue({
3569
3662
  stdout: '',
3570
3663
  stderr: '',
@@ -3630,7 +3723,9 @@ describe('StartPreparationUseCase', () => {
3630
3723
  itemId: 'item-1',
3631
3724
  });
3632
3725
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
3633
- mockIssueRepository.getAllOpened.mockResolvedValue([awaitingIssue]);
3726
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
3727
+ createMockStoryObjectMap([awaitingIssue]),
3728
+ );
3634
3729
  mockLocalCommandRunner.runCommand.mockResolvedValue({
3635
3730
  stdout: '',
3636
3731
  stderr: '',
@@ -3702,7 +3797,9 @@ describe('StartPreparationUseCase', () => {
3702
3797
  }),
3703
3798
  ];
3704
3799
  mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
3705
- mockIssueRepository.getAllOpened.mockResolvedValue(awaitingIssues);
3800
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
3801
+ createMockStoryObjectMap(awaitingIssues),
3802
+ );
3706
3803
  mockLocalCommandRunner.runCommand.mockResolvedValue({
3707
3804
  stdout: '',
3708
3805
  stderr: '',
@@ -3827,7 +3924,7 @@ describe('StartPreparationUseCase.buildRotationOrder', () => {
3827
3924
  const mockIssueRepositoryForRotation: Mocked<
3828
3925
  Pick<
3829
3926
  IssueRepository,
3830
- | 'getAllOpened'
3927
+ | 'getStoryObjectMap'
3831
3928
  | 'updateStatus'
3832
3929
  | 'findRelatedOpenPRs'
3833
3930
  | 'getOpenPullRequest'
@@ -3836,7 +3933,7 @@ describe('StartPreparationUseCase.buildRotationOrder', () => {
3836
3933
  | 'createCommentByUrl'
3837
3934
  >
3838
3935
  > = {
3839
- getAllOpened: jest.fn(),
3936
+ getStoryObjectMap: jest.fn(),
3840
3937
  updateStatus: jest.fn(),
3841
3938
  findRelatedOpenPRs: jest.fn(),
3842
3939
  getOpenPullRequest: jest.fn(),
@@ -24,7 +24,7 @@ export class StartPreparationUseCase {
24
24
  private readonly projectRepository: Pick<ProjectRepository, 'getByUrl'>,
25
25
  private readonly issueRepository: Pick<
26
26
  IssueRepository,
27
- | 'getAllOpened'
27
+ | 'getStoryObjectMap'
28
28
  | 'updateStatus'
29
29
  | 'findRelatedOpenPRs'
30
30
  | 'getOpenPullRequest'
@@ -254,10 +254,14 @@ export class StartPreparationUseCase {
254
254
  }
255
255
 
256
256
  const project = await this.projectRepository.getByUrl(params.projectUrl);
257
- const allOpenedIssues = await this.issueRepository.getAllOpened(
257
+ const storyObjectMap = await this.issueRepository.getStoryObjectMap(
258
258
  project,
259
259
  params.allowIssueCacheMinutes,
260
260
  );
261
+
262
+ const allOpenedIssues = Array.from(storyObjectMap.values()).flatMap(
263
+ (storyObject) => storyObject.issues,
264
+ );
261
265
  const preparationStatusOption = project.status.statuses.find(
262
266
  (s) => s.name === PREPARATION_STATUS_NAME,
263
267
  );
@@ -15,7 +15,7 @@ export declare class StartPreparationUseCase {
15
15
  private readonly issueRepository;
16
16
  private readonly localCommandRunner;
17
17
  private readonly claudeTokenUsageRepository;
18
- constructor(projectRepository: Pick<ProjectRepository, 'getByUrl'>, issueRepository: Pick<IssueRepository, 'getAllOpened' | 'updateStatus' | 'findRelatedOpenPRs' | 'getOpenPullRequest' | 'closePullRequest' | 'deletePullRequestBranch' | 'createCommentByUrl'>, localCommandRunner: LocalCommandRunner, claudeTokenUsageRepository: ClaudeTokenUsageRepository);
18
+ constructor(projectRepository: Pick<ProjectRepository, 'getByUrl'>, issueRepository: Pick<IssueRepository, 'getStoryObjectMap' | 'updateStatus' | 'findRelatedOpenPRs' | 'getOpenPullRequest' | 'closePullRequest' | 'deletePullRequestBranch' | 'createCommentByUrl'>, localCommandRunner: LocalCommandRunner, claudeTokenUsageRepository: ClaudeTokenUsageRepository);
19
19
  private weeklyLimitTypeForModel;
20
20
  private isModelWeeklyLimitRejected;
21
21
  private secondsUntilSevenDayReset;
@@ -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;AAShE,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,cAAc,GACd,cAAc,GACd,oBAAoB,GACpB,oBAAoB,GACpB,kBAAkB,GAClB,yBAAyB,GACzB,oBAAoB,CACvB,EACgB,kBAAkB,EAAE,kBAAkB,EACtC,0BAA0B,EAAE,0BAA0B;IAGzE,OAAO,CAAC,uBAAuB,CAK7B;IAEF,OAAO,CAAC,0BAA0B,CAQhC;IAEF,OAAO,CAAC,yBAAyB,CAc/B;IAEF,OAAO,CAAC,wCAAwC,CAoB9C;IAEF,OAAO,CAAC,uBAAuB,CAU7B;IAEF,OAAO,CAAC,oBAAoB,CAkD1B;IAEF,kBAAkB,GAChB,aAAa,gBAAgB,EAAE,EAC/B,gCAAgC,MAAM,EACtC,WAAW,MAAM,GAAG,IAAI,KACvB,kBAAkB,EAAE,CA6CrB;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;QAC/B,oBAAoB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;KACvC,KAAG,OAAO,CAAC;QAAE,aAAa,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAA;KAAE,CAAC,CAwPzD;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;AAShE,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,uBAAuB,CAK7B;IAEF,OAAO,CAAC,0BAA0B,CAQhC;IAEF,OAAO,CAAC,yBAAyB,CAc/B;IAEF,OAAO,CAAC,wCAAwC,CAoB9C;IAEF,OAAO,CAAC,uBAAuB,CAU7B;IAEF,OAAO,CAAC,oBAAoB,CAkD1B;IAEF,kBAAkB,GAChB,aAAa,gBAAgB,EAAE,EAC/B,gCAAgC,MAAM,EACtC,WAAW,MAAM,GAAG,IAAI,KACvB,kBAAkB,EAAE,CA6CrB;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;QAC/B,oBAAoB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;KACvC,KAAG,OAAO,CAAC;QAAE,aAAa,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAA;KAAE,CAAC,CA4PzD;CACH"}