github-issue-tower-defence-management 2.19.1 → 2.19.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (795) hide show
  1. package/bin/adapter/entry-points/cli/index.js +1 -3
  2. package/bin/adapter/entry-points/cli/index.js.map +1 -1
  3. package/bin/adapter/entry-points/console/consoleOperationApi.js +6 -12
  4. package/bin/adapter/entry-points/console/consoleOperationApi.js.map +1 -1
  5. package/bin/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.js +1 -1
  6. package/bin/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.js.map +1 -1
  7. package/bin/adapter/repositories/issue/RestIssueRepository.js +9 -2
  8. package/bin/adapter/repositories/issue/RestIssueRepository.js.map +1 -1
  9. package/package.json +5 -1
  10. package/types/adapter/entry-points/cli/index.d.ts.map +1 -1
  11. package/types/adapter/entry-points/console/consoleOperationApi.d.ts.map +1 -1
  12. package/types/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.d.ts +1 -1
  13. package/types/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.d.ts.map +1 -1
  14. package/types/adapter/repositories/issue/RestIssueRepository.d.ts +5 -1
  15. package/types/adapter/repositories/issue/RestIssueRepository.d.ts.map +1 -1
  16. package/types/domain/usecases/adapter-interfaces/IssueRepository.d.ts +1 -1
  17. package/types/domain/usecases/adapter-interfaces/IssueRepository.d.ts.map +1 -1
  18. package/.env.example +0 -7
  19. package/.gitattributes +0 -2
  20. package/.github/CODEOWNERS +0 -6
  21. package/.github/copilot-instructions.md +0 -6
  22. package/.github/dependabot.yml +0 -19
  23. package/.github/instructions/code-review.instructions.md +0 -50
  24. package/.github/workflows/api-created_issue_pr.yml +0 -97
  25. package/.github/workflows/ci-failure-issue-creator.yml +0 -48
  26. package/.github/workflows/close-manual-prs.yml +0 -80
  27. package/.github/workflows/codeql.yml +0 -107
  28. package/.github/workflows/commit-lint.yml +0 -85
  29. package/.github/workflows/configs/commitlint.config.cjs +0 -32
  30. package/.github/workflows/configs/commitlint.config.js +0 -32
  31. package/.github/workflows/console-ui.yml +0 -68
  32. package/.github/workflows/create-pr.yml +0 -116
  33. package/.github/workflows/empty-format-test-job.yml +0 -34
  34. package/.github/workflows/format.yml +0 -28
  35. package/.github/workflows/publish.yml +0 -111
  36. package/.github/workflows/secret-scan.yml +0 -51
  37. package/.github/workflows/test.yml +0 -58
  38. package/.github/workflows/umino-project.yml +0 -207
  39. package/.gitleaks.toml +0 -22
  40. package/.prettierignore +0 -31
  41. package/.prettierrc +0 -5
  42. package/CHANGELOG.md +0 -4162
  43. package/CONTRIBUTING.md +0 -60
  44. package/bin/adapter/entry-points/handlers/resolveUnansweredOwnerCalls.js +0 -12
  45. package/bin/adapter/entry-points/handlers/resolveUnansweredOwnerCalls.js.map +0 -1
  46. package/bin/adapter/repositories/FileSystemSilentSessionNotifiedStateRepository.js +0 -125
  47. package/bin/adapter/repositories/FileSystemSilentSessionNotifiedStateRepository.js.map +0 -1
  48. package/bin/adapter/repositories/issue/issueTimelineUtils.js +0 -38
  49. package/bin/adapter/repositories/issue/issueTimelineUtils.js.map +0 -1
  50. package/bin/domain/entities/UnansweredOwnerCall.js +0 -3
  51. package/bin/domain/entities/UnansweredOwnerCall.js.map +0 -1
  52. package/bin/domain/entities/WorkingTime.js +0 -3
  53. package/bin/domain/entities/WorkingTime.js.map +0 -1
  54. package/bin/domain/usecases/ChangeStatusLongInReviewIssueUseCase.js +0 -37
  55. package/bin/domain/usecases/ChangeStatusLongInReviewIssueUseCase.js.map +0 -1
  56. package/bin/domain/usecases/ConvertCheckboxToIssueInStoryIssueUseCase.js +0 -118
  57. package/bin/domain/usecases/ConvertCheckboxToIssueInStoryIssueUseCase.js.map +0 -1
  58. package/bin/domain/usecases/GenerateWorkingTimeReportUseCase.js +0 -180
  59. package/bin/domain/usecases/GenerateWorkingTimeReportUseCase.js.map +0 -1
  60. package/bin/domain/usecases/TriagerApprovalDispatchUseCase.js +0 -160
  61. package/bin/domain/usecases/TriagerApprovalDispatchUseCase.js.map +0 -1
  62. package/bin/domain/usecases/adapter-interfaces/SilentSessionNotifiedStateRepository.js +0 -3
  63. package/bin/domain/usecases/adapter-interfaces/SilentSessionNotifiedStateRepository.js.map +0 -1
  64. package/bin/domain/usecases/awaitingOwnerApprovalMessage.js +0 -7
  65. package/bin/domain/usecases/awaitingOwnerApprovalMessage.js.map +0 -1
  66. package/bin/domain/usecases/findLastAgentDeclaringReport.js +0 -12
  67. package/bin/domain/usecases/findLastAgentDeclaringReport.js.map +0 -1
  68. package/bin/domain/usecases/isPullRequestDeclaredUnnecessary.js +0 -25
  69. package/bin/domain/usecases/isPullRequestDeclaredUnnecessary.js.map +0 -1
  70. package/bin/domain/usecases/isWaitingForOwnerApproval.js +0 -16
  71. package/bin/domain/usecases/isWaitingForOwnerApproval.js.map +0 -1
  72. package/bin/domain/usecases/returnedToAwaitingWorkspaceMessage.js +0 -7
  73. package/bin/domain/usecases/returnedToAwaitingWorkspaceMessage.js.map +0 -1
  74. package/commitlint.config.js +0 -6
  75. package/eslint.config.mjs +0 -76
  76. package/jest.config.js +0 -84
  77. package/jest.setup.js +0 -1
  78. package/lib/buffer-equal-constant-time-compat/index.js +0 -17
  79. package/lib/buffer-equal-constant-time-compat/index.test.js +0 -54
  80. package/lib/buffer-equal-constant-time-compat/package.json +0 -5
  81. package/lib/typescript-compat/bin/tsc +0 -2
  82. package/lib/typescript-compat/bin/tsserver +0 -2
  83. package/lib/typescript-compat/lib/typescript.js +0 -1
  84. package/lib/typescript-compat/package.json +0 -13
  85. package/renovate.json +0 -46
  86. package/scripts/copyConsoleUiDist.mjs +0 -35
  87. package/scripts/defaultBranchTipVerify.sh +0 -23
  88. package/scripts/testWorkflowRunVerify.sh +0 -47
  89. package/scripts/verifyConsoleUiDist.mjs +0 -96
  90. package/src/adapter/ci/consoleUiWorkflowTimeout.test.ts +0 -61
  91. package/src/adapter/ci/publishTestWorkflowGate.test.ts +0 -653
  92. package/src/adapter/ci/workflowRunCancellation.test.ts +0 -72
  93. package/src/adapter/entry-points/cli/fleetConfig.test.ts +0 -553
  94. package/src/adapter/entry-points/cli/fleetConfig.ts +0 -266
  95. package/src/adapter/entry-points/cli/index.test.ts +0 -2837
  96. package/src/adapter/entry-points/cli/index.ts +0 -1488
  97. package/src/adapter/entry-points/cli/projectConfig.test.ts +0 -342
  98. package/src/adapter/entry-points/cli/projectConfig.ts +0 -500
  99. package/src/adapter/entry-points/console/consoleAirplaneSnapshotApi.test.ts +0 -658
  100. package/src/adapter/entry-points/console/consoleAirplaneSnapshotApi.ts +0 -482
  101. package/src/adapter/entry-points/console/consoleDataDelivery.test.ts +0 -222
  102. package/src/adapter/entry-points/console/consoleDataDelivery.ts +0 -134
  103. package/src/adapter/entry-points/console/consoleDoneStore.test.ts +0 -169
  104. package/src/adapter/entry-points/console/consoleDoneStore.ts +0 -139
  105. package/src/adapter/entry-points/console/consoleGithubTokenResolver.test.ts +0 -275
  106. package/src/adapter/entry-points/console/consoleGithubTokenResolver.ts +0 -113
  107. package/src/adapter/entry-points/console/consoleImageProxy.test.ts +0 -140
  108. package/src/adapter/entry-points/console/consoleImageProxy.ts +0 -111
  109. package/src/adapter/entry-points/console/consoleItemUrlLookup.test.ts +0 -63
  110. package/src/adapter/entry-points/console/consoleItemUrlLookup.ts +0 -66
  111. package/src/adapter/entry-points/console/consoleOperationApi.test.ts +0 -2523
  112. package/src/adapter/entry-points/console/consoleOperationApi.ts +0 -936
  113. package/src/adapter/entry-points/console/consoleProjectResolver.test.ts +0 -246
  114. package/src/adapter/entry-points/console/consoleProjectResolver.ts +0 -111
  115. package/src/adapter/entry-points/console/consoleReadApi.test.ts +0 -714
  116. package/src/adapter/entry-points/console/consoleReadApi.ts +0 -361
  117. package/src/adapter/entry-points/console/consoleTabNames.test.ts +0 -52
  118. package/src/adapter/entry-points/console/consoleTabNames.ts +0 -37
  119. package/src/adapter/entry-points/console/consoleUiDistSync.test.ts +0 -66
  120. package/src/adapter/entry-points/console/dashboardComposeService.test.ts +0 -595
  121. package/src/adapter/entry-points/console/dashboardComposeService.ts +0 -256
  122. package/src/adapter/entry-points/console/dashboardEmitterComposerKey.test.ts +0 -180
  123. package/src/adapter/entry-points/console/ensureConsoleRunning.test.ts +0 -115
  124. package/src/adapter/entry-points/console/ensureConsoleRunning.ts +0 -64
  125. package/src/adapter/entry-points/console/ui/.storybook/main.ts +0 -12
  126. package/src/adapter/entry-points/console/ui/.storybook/preview.ts +0 -15
  127. package/src/adapter/entry-points/console/ui/biome.json +0 -53
  128. package/src/adapter/entry-points/console/ui/components.json +0 -20
  129. package/src/adapter/entry-points/console/ui/e2e/consoleScenario.spec.ts +0 -725
  130. package/src/adapter/entry-points/console/ui/e2e/consoleTestHarness.ts +0 -831
  131. package/src/adapter/entry-points/console/ui/e2e/playwright.config.ts +0 -30
  132. package/src/adapter/entry-points/console/ui/e2e/tsconfig.json +0 -18
  133. package/src/adapter/entry-points/console/ui/index.html +0 -12
  134. package/src/adapter/entry-points/console/ui/jest-globals.cjs +0 -26
  135. package/src/adapter/entry-points/console/ui/jest.setup.ts +0 -1
  136. package/src/adapter/entry-points/console/ui/jest.styleMock.js +0 -1
  137. package/src/adapter/entry-points/console/ui/public/sw.js +0 -60
  138. package/src/adapter/entry-points/console/ui/src/components/ui/badge.stories.tsx +0 -35
  139. package/src/adapter/entry-points/console/ui/src/components/ui/badge.tsx +0 -28
  140. package/src/adapter/entry-points/console/ui/src/components/ui/button.stories.tsx +0 -34
  141. package/src/adapter/entry-points/console/ui/src/components/ui/button.tsx +0 -50
  142. package/src/adapter/entry-points/console/ui/src/features/console/components/content/ConsoleCopyCodeButton.stories.tsx +0 -28
  143. package/src/adapter/entry-points/console/ui/src/features/console/components/content/ConsoleCopyCodeButton.test.tsx +0 -65
  144. package/src/adapter/entry-points/console/ui/src/features/console/components/content/ConsoleCopyCodeButton.tsx +0 -19
  145. package/src/adapter/entry-points/console/ui/src/features/console/components/content/ConsoleMarkdownContent.stories.tsx +0 -61
  146. package/src/adapter/entry-points/console/ui/src/features/console/components/content/ConsoleMarkdownContent.test.tsx +0 -199
  147. package/src/adapter/entry-points/console/ui/src/features/console/components/content/ConsoleMarkdownContent.tsx +0 -166
  148. package/src/adapter/entry-points/console/ui/src/features/console/components/content/ConsoleMermaidDiagram.stories.tsx +0 -22
  149. package/src/adapter/entry-points/console/ui/src/features/console/components/content/ConsoleMermaidDiagram.test.tsx +0 -74
  150. package/src/adapter/entry-points/console/ui/src/features/console/components/content/ConsoleMermaidDiagram.tsx +0 -84
  151. package/src/adapter/entry-points/console/ui/src/features/console/components/content/ConsoleMermaidDiagramModalScreen.stories.tsx +0 -27
  152. package/src/adapter/entry-points/console/ui/src/features/console/components/content/ConsoleMermaidDiagramModalScreen.test.tsx +0 -85
  153. package/src/adapter/entry-points/console/ui/src/features/console/components/content/ConsoleMermaidDiagramModalScreen.tsx +0 -97
  154. package/src/adapter/entry-points/console/ui/src/features/console/components/content/ConsoleReferenceLink.stories.tsx +0 -76
  155. package/src/adapter/entry-points/console/ui/src/features/console/components/content/ConsoleReferenceLink.test.tsx +0 -56
  156. package/src/adapter/entry-points/console/ui/src/features/console/components/content/ConsoleReferenceLink.tsx +0 -39
  157. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsoleChangedFileList.stories.tsx +0 -32
  158. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsoleChangedFileList.test.tsx +0 -105
  159. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsoleChangedFileList.tsx +0 -157
  160. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsoleCommentComposer.stories.tsx +0 -68
  161. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsoleCommentComposer.test.tsx +0 -612
  162. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsoleCommentComposer.tsx +0 -276
  163. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsoleCommentList.stories.tsx +0 -33
  164. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsoleCommentList.test.tsx +0 -57
  165. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsoleCommentList.tsx +0 -76
  166. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsoleCommitList.stories.tsx +0 -25
  167. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsoleCommitList.test.tsx +0 -55
  168. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsoleCommitList.tsx +0 -49
  169. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsoleCopyUrlButton.stories.tsx +0 -24
  170. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsoleCopyUrlButton.test.tsx +0 -63
  171. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsoleCopyUrlButton.tsx +0 -19
  172. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsoleFetchFailureAlert.stories.tsx +0 -33
  173. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsoleFetchFailureAlert.test.tsx +0 -62
  174. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsoleFetchFailureAlert.tsx +0 -59
  175. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsoleFileDiff.stories.tsx +0 -38
  176. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsoleFileDiff.test.tsx +0 -151
  177. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsoleFileDiff.tsx +0 -245
  178. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsoleItemDetail.stories.tsx +0 -514
  179. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsoleItemDetail.test.tsx +0 -727
  180. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsoleItemDetail.tsx +0 -387
  181. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsoleItemIcon.stories.tsx +0 -82
  182. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsoleItemIcon.test.tsx +0 -52
  183. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsoleItemIcon.tsx +0 -32
  184. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsolePullRequestDetail.stories.tsx +0 -48
  185. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsolePullRequestDetail.test.tsx +0 -235
  186. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsolePullRequestDetail.tsx +0 -145
  187. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsolePullRequestMergeableChip.stories.tsx +0 -29
  188. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsolePullRequestMergeableChip.test.tsx +0 -30
  189. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsolePullRequestMergeableChip.tsx +0 -50
  190. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsolePullRequestStatusBadges.stories.tsx +0 -38
  191. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsolePullRequestStatusBadges.test.tsx +0 -54
  192. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsolePullRequestStatusBadges.tsx +0 -60
  193. package/src/adapter/entry-points/console/ui/src/features/console/components/layout/ConsoleAirplaneModeButton.stories.tsx +0 -56
  194. package/src/adapter/entry-points/console/ui/src/features/console/components/layout/ConsoleAirplaneModeButton.test.tsx +0 -111
  195. package/src/adapter/entry-points/console/ui/src/features/console/components/layout/ConsoleAirplaneModeButton.tsx +0 -92
  196. package/src/adapter/entry-points/console/ui/src/features/console/components/layout/ConsolePanel.stories.tsx +0 -51
  197. package/src/adapter/entry-points/console/ui/src/features/console/components/layout/ConsolePanel.test.tsx +0 -59
  198. package/src/adapter/entry-points/console/ui/src/features/console/components/layout/ConsolePanel.tsx +0 -39
  199. package/src/adapter/entry-points/console/ui/src/features/console/components/layout/ConsoleTabList.stories.tsx +0 -207
  200. package/src/adapter/entry-points/console/ui/src/features/console/components/layout/ConsoleTabList.test.tsx +0 -332
  201. package/src/adapter/entry-points/console/ui/src/features/console/components/layout/ConsoleTabList.tsx +0 -211
  202. package/src/adapter/entry-points/console/ui/src/features/console/components/layout/ConsoleTimerSettingsModalDialog.stories.tsx +0 -49
  203. package/src/adapter/entry-points/console/ui/src/features/console/components/layout/ConsoleTimerSettingsModalDialog.test.tsx +0 -157
  204. package/src/adapter/entry-points/console/ui/src/features/console/components/layout/ConsoleTimerSettingsModalDialog.tsx +0 -118
  205. package/src/adapter/entry-points/console/ui/src/features/console/components/list/ConsoleCopyStoryNameButton.stories.tsx +0 -23
  206. package/src/adapter/entry-points/console/ui/src/features/console/components/list/ConsoleCopyStoryNameButton.test.tsx +0 -40
  207. package/src/adapter/entry-points/console/ui/src/features/console/components/list/ConsoleCopyStoryNameButton.tsx +0 -17
  208. package/src/adapter/entry-points/console/ui/src/features/console/components/list/ConsoleItemList.stories.tsx +0 -101
  209. package/src/adapter/entry-points/console/ui/src/features/console/components/list/ConsoleItemList.test.tsx +0 -102
  210. package/src/adapter/entry-points/console/ui/src/features/console/components/list/ConsoleItemList.tsx +0 -75
  211. package/src/adapter/entry-points/console/ui/src/features/console/components/list/ConsoleItemSummary.stories.tsx +0 -40
  212. package/src/adapter/entry-points/console/ui/src/features/console/components/list/ConsoleItemSummary.test.tsx +0 -213
  213. package/src/adapter/entry-points/console/ui/src/features/console/components/list/ConsoleItemSummary.tsx +0 -115
  214. package/src/adapter/entry-points/console/ui/src/features/console/components/list/ConsoleQueuedItemRow.stories.tsx +0 -50
  215. package/src/adapter/entry-points/console/ui/src/features/console/components/list/ConsoleQueuedItemRow.test.tsx +0 -98
  216. package/src/adapter/entry-points/console/ui/src/features/console/components/list/ConsoleQueuedItemRow.tsx +0 -66
  217. package/src/adapter/entry-points/console/ui/src/features/console/components/list/ConsoleQueuedList.stories.tsx +0 -69
  218. package/src/adapter/entry-points/console/ui/src/features/console/components/list/ConsoleQueuedList.test.tsx +0 -101
  219. package/src/adapter/entry-points/console/ui/src/features/console/components/list/ConsoleQueuedList.tsx +0 -75
  220. package/src/adapter/entry-points/console/ui/src/features/console/components/list/ConsoleStoryList.stories.tsx +0 -137
  221. package/src/adapter/entry-points/console/ui/src/features/console/components/list/ConsoleStoryList.test.tsx +0 -554
  222. package/src/adapter/entry-points/console/ui/src/features/console/components/list/ConsoleStoryList.tsx +0 -400
  223. package/src/adapter/entry-points/console/ui/src/features/console/components/list/ConsoleStoryReorderPanel.stories.tsx +0 -30
  224. package/src/adapter/entry-points/console/ui/src/features/console/components/list/ConsoleStoryReorderPanel.test.tsx +0 -111
  225. package/src/adapter/entry-points/console/ui/src/features/console/components/list/ConsoleStoryReorderPanel.tsx +0 -91
  226. package/src/adapter/entry-points/console/ui/src/features/console/components/list/ConsoleStorySummary.stories.tsx +0 -27
  227. package/src/adapter/entry-points/console/ui/src/features/console/components/list/ConsoleStorySummary.test.tsx +0 -24
  228. package/src/adapter/entry-points/console/ui/src/features/console/components/list/ConsoleStorySummary.tsx +0 -28
  229. package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsoleCloseActions.stories.tsx +0 -14
  230. package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsoleCloseActions.test.tsx +0 -21
  231. package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsoleCloseActions.tsx +0 -26
  232. package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsoleDangerousActions.stories.tsx +0 -14
  233. package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsoleDangerousActions.test.tsx +0 -40
  234. package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsoleDangerousActions.tsx +0 -37
  235. package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsoleErrorToast.stories.tsx +0 -33
  236. package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsoleNextActionDateActions.stories.tsx +0 -20
  237. package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsoleNextActionDateActions.test.tsx +0 -48
  238. package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsoleNextActionDateActions.tsx +0 -42
  239. package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsoleOfflinePendingActionsPanel.stories.tsx +0 -115
  240. package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsoleOfflinePendingActionsPanel.test.tsx +0 -262
  241. package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsoleOfflinePendingActionsPanel.tsx +0 -123
  242. package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsoleOperationMenu.stories.tsx +0 -65
  243. package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsoleOperationMenu.test.tsx +0 -159
  244. package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsoleOperationMenu.tsx +0 -55
  245. package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsolePullRequestReviewActions.stories.tsx +0 -20
  246. package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsolePullRequestReviewActions.test.tsx +0 -93
  247. package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsolePullRequestReviewActions.tsx +0 -45
  248. package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsoleStatusActions.stories.tsx +0 -17
  249. package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsoleStatusActions.test.tsx +0 -49
  250. package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsoleStatusActions.tsx +0 -66
  251. package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsoleUndoToast.stories.tsx +0 -47
  252. package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsoleUndoToast.test.tsx +0 -95
  253. package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsoleUndoToast.tsx +0 -62
  254. package/src/adapter/entry-points/console/ui/src/features/console/components/shared/ConsoleClipboardCopyButton.stories.tsx +0 -32
  255. package/src/adapter/entry-points/console/ui/src/features/console/components/shared/ConsoleClipboardCopyButton.test.tsx +0 -101
  256. package/src/adapter/entry-points/console/ui/src/features/console/components/shared/ConsoleClipboardCopyButton.tsx +0 -80
  257. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useAirplaneMode.test.ts +0 -304
  258. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useAirplaneMode.ts +0 -167
  259. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleActionQueue.test.ts +0 -498
  260. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleActionQueue.ts +0 -277
  261. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleCaches.test.ts +0 -99
  262. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleCaches.ts +0 -90
  263. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleDetailPrefetch.test.ts +0 -110
  264. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleDetailPrefetch.ts +0 -83
  265. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleFeaturesConfig.test.ts +0 -51
  266. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleFeaturesConfig.ts +0 -39
  267. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleItemDetailData.test.ts +0 -229
  268. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleItemDetailData.ts +0 -194
  269. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleNavigation.test.ts +0 -151
  270. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleNavigation.ts +0 -128
  271. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleOperations.test.ts +0 -629
  272. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleOperations.ts +0 -417
  273. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleOverlay.test.ts +0 -40
  274. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleOverlay.ts +0 -71
  275. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsolePjcode.test.ts +0 -24
  276. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsolePjcode.ts +0 -17
  277. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleProjectList.test.ts +0 -97
  278. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleProjectList.ts +0 -44
  279. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleProjectTimer.test.ts +0 -59
  280. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleProjectTimer.ts +0 -26
  281. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleReferenceLink.test.ts +0 -48
  282. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleReferenceLink.ts +0 -39
  283. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleResource.test.ts +0 -41
  284. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleResource.ts +0 -57
  285. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleSwipeNavigation.test.ts +0 -115
  286. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleSwipeNavigation.ts +0 -115
  287. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleTabData.test.ts +0 -546
  288. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleTabData.ts +0 -278
  289. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleTimerSettings.test.ts +0 -110
  290. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleTimerSettings.ts +0 -70
  291. package/src/adapter/entry-points/console/ui/src/features/console/lib/airplaneSnapshot.test.ts +0 -387
  292. package/src/adapter/entry-points/console/ui/src/features/console/lib/airplaneSnapshot.ts +0 -407
  293. package/src/adapter/entry-points/console/ui/src/features/console/lib/consoleApi.test.ts +0 -446
  294. package/src/adapter/entry-points/console/ui/src/features/console/lib/consoleApi.ts +0 -533
  295. package/src/adapter/entry-points/console/ui/src/features/console/lib/imageProxy.test.ts +0 -78
  296. package/src/adapter/entry-points/console/ui/src/features/console/lib/imageProxy.ts +0 -34
  297. package/src/adapter/entry-points/console/ui/src/features/console/lib/markdown.test.ts +0 -252
  298. package/src/adapter/entry-points/console/ui/src/features/console/lib/markdown.ts +0 -207
  299. package/src/adapter/entry-points/console/ui/src/features/console/lib/mermaidLoader.test.ts +0 -27
  300. package/src/adapter/entry-points/console/ui/src/features/console/lib/mermaidLoader.ts +0 -71
  301. package/src/adapter/entry-points/console/ui/src/features/console/lib/mermaidZoom.test.ts +0 -88
  302. package/src/adapter/entry-points/console/ui/src/features/console/lib/mermaidZoom.ts +0 -34
  303. package/src/adapter/entry-points/console/ui/src/features/console/lib/navigation.ts +0 -7
  304. package/src/adapter/entry-points/console/ui/src/features/console/lib/resourceCache.test.ts +0 -104
  305. package/src/adapter/entry-points/console/ui/src/features/console/lib/resourceCache.ts +0 -79
  306. package/src/adapter/entry-points/console/ui/src/features/console/logic/actionToast.test.ts +0 -200
  307. package/src/adapter/entry-points/console/ui/src/features/console/logic/actionToast.ts +0 -122
  308. package/src/adapter/entry-points/console/ui/src/features/console/logic/clipboard.test.ts +0 -90
  309. package/src/adapter/entry-points/console/ui/src/features/console/logic/clipboard.ts +0 -37
  310. package/src/adapter/entry-points/console/ui/src/features/console/logic/colors.test.ts +0 -34
  311. package/src/adapter/entry-points/console/ui/src/features/console/logic/colors.ts +0 -85
  312. package/src/adapter/entry-points/console/ui/src/features/console/logic/diff.test.ts +0 -81
  313. package/src/adapter/entry-points/console/ui/src/features/console/logic/diff.ts +0 -61
  314. package/src/adapter/entry-points/console/ui/src/features/console/logic/fileStatus.test.ts +0 -35
  315. package/src/adapter/entry-points/console/ui/src/features/console/logic/fileStatus.ts +0 -21
  316. package/src/adapter/entry-points/console/ui/src/features/console/logic/fileTree.test.ts +0 -96
  317. package/src/adapter/entry-points/console/ui/src/features/console/logic/fileTree.ts +0 -93
  318. package/src/adapter/entry-points/console/ui/src/features/console/logic/grouping.test.ts +0 -229
  319. package/src/adapter/entry-points/console/ui/src/features/console/logic/grouping.ts +0 -106
  320. package/src/adapter/entry-points/console/ui/src/features/console/logic/imageFile.test.ts +0 -18
  321. package/src/adapter/entry-points/console/ui/src/features/console/logic/imageFile.ts +0 -16
  322. package/src/adapter/entry-points/console/ui/src/features/console/logic/itemIcons.test.ts +0 -97
  323. package/src/adapter/entry-points/console/ui/src/features/console/logic/itemIcons.ts +0 -95
  324. package/src/adapter/entry-points/console/ui/src/features/console/logic/navigation.test.ts +0 -53
  325. package/src/adapter/entry-points/console/ui/src/features/console/logic/navigation.ts +0 -33
  326. package/src/adapter/entry-points/console/ui/src/features/console/logic/operations.test.ts +0 -72
  327. package/src/adapter/entry-points/console/ui/src/features/console/logic/operations.ts +0 -61
  328. package/src/adapter/entry-points/console/ui/src/features/console/logic/overlay.test.ts +0 -325
  329. package/src/adapter/entry-points/console/ui/src/features/console/logic/overlay.ts +0 -94
  330. package/src/adapter/entry-points/console/ui/src/features/console/logic/postedComments.test.ts +0 -44
  331. package/src/adapter/entry-points/console/ui/src/features/console/logic/postedComments.ts +0 -17
  332. package/src/adapter/entry-points/console/ui/src/features/console/logic/references.test.ts +0 -103
  333. package/src/adapter/entry-points/console/ui/src/features/console/logic/references.ts +0 -64
  334. package/src/adapter/entry-points/console/ui/src/features/console/logic/relativeTime.test.ts +0 -74
  335. package/src/adapter/entry-points/console/ui/src/features/console/logic/relativeTime.ts +0 -53
  336. package/src/adapter/entry-points/console/ui/src/features/console/logic/swipe.test.ts +0 -34
  337. package/src/adapter/entry-points/console/ui/src/features/console/logic/swipe.ts +0 -28
  338. package/src/adapter/entry-points/console/ui/src/features/console/logic/tabAdvance.test.ts +0 -89
  339. package/src/adapter/entry-points/console/ui/src/features/console/logic/tabAdvance.ts +0 -30
  340. package/src/adapter/entry-points/console/ui/src/features/console/logic/timerSettings.test.ts +0 -61
  341. package/src/adapter/entry-points/console/ui/src/features/console/logic/timerSettings.ts +0 -77
  342. package/src/adapter/entry-points/console/ui/src/features/console/logic/types.ts +0 -173
  343. package/src/adapter/entry-points/console/ui/src/features/console/pages/ConsoleItemDetailContainer.test.tsx +0 -629
  344. package/src/adapter/entry-points/console/ui/src/features/console/pages/ConsoleItemDetailContainer.tsx +0 -351
  345. package/src/adapter/entry-points/console/ui/src/features/console/pages/ConsolePage.test.tsx +0 -1469
  346. package/src/adapter/entry-points/console/ui/src/features/console/pages/ConsolePage.tsx +0 -736
  347. package/src/adapter/entry-points/console/ui/src/features/console/pages/ConsoleReferenceLinkContainer.tsx +0 -25
  348. package/src/adapter/entry-points/console/ui/src/features/console/testing/fixtures.ts +0 -418
  349. package/src/adapter/entry-points/console/ui/src/index.css +0 -1592
  350. package/src/adapter/entry-points/console/ui/src/lib/utils.ts +0 -4
  351. package/src/adapter/entry-points/console/ui/src/main.tsx +0 -21
  352. package/src/adapter/entry-points/console/ui/src/vite-env.d.ts +0 -1
  353. package/src/adapter/entry-points/console/ui/tsconfig.json +0 -26
  354. package/src/adapter/entry-points/console/ui/vite.config.ts +0 -24
  355. package/src/adapter/entry-points/console/ui-dist/assets/index-BYDbK1Fj.js +0 -88
  356. package/src/adapter/entry-points/console/ui-dist/assets/index-KyQISRuQ.css +0 -2
  357. package/src/adapter/entry-points/console/ui-dist/index.html +0 -13
  358. package/src/adapter/entry-points/console/ui-dist/sw.js +0 -60
  359. package/src/adapter/entry-points/console/webServer.test.ts +0 -2945
  360. package/src/adapter/entry-points/console/webServer.ts +0 -940
  361. package/src/adapter/entry-points/function/getStoryObjectMap.ts +0 -3
  362. package/src/adapter/entry-points/handlers/FileSystemConsoleTabsRepository.test.ts +0 -218
  363. package/src/adapter/entry-points/handlers/FileSystemConsoleTabsRepository.ts +0 -113
  364. package/src/adapter/entry-points/handlers/GetStoryObjectMapUseCaseHandler.test.ts +0 -110
  365. package/src/adapter/entry-points/handlers/GetStoryObjectMapUseCaseHandler.ts +0 -116
  366. package/src/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.test.ts +0 -859
  367. package/src/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.ts +0 -984
  368. package/src/adapter/entry-points/handlers/InTmuxByHumanSessionTokenCountHandler.test.ts +0 -126
  369. package/src/adapter/entry-points/handlers/InTmuxByHumanSessionTokenCountHandler.ts +0 -80
  370. package/src/adapter/entry-points/handlers/LiveSessionOauthTokenSelectHandler.test.ts +0 -491
  371. package/src/adapter/entry-points/handlers/LiveSessionOauthTokenSelectHandler.ts +0 -137
  372. package/src/adapter/entry-points/handlers/OauthTokenSelectHandler.test.ts +0 -508
  373. package/src/adapter/entry-points/handlers/OauthTokenSelectHandler.ts +0 -156
  374. package/src/adapter/entry-points/handlers/consoleListsWriter.test.ts +0 -332
  375. package/src/adapter/entry-points/handlers/consoleListsWriter.ts +0 -60
  376. package/src/adapter/entry-points/handlers/dashboardRowWriter.test.ts +0 -112
  377. package/src/adapter/entry-points/handlers/dashboardRowWriter.ts +0 -51
  378. package/src/adapter/entry-points/handlers/inTmuxByHumanDataWriter.test.ts +0 -285
  379. package/src/adapter/entry-points/handlers/inTmuxByHumanDataWriter.ts +0 -109
  380. package/src/adapter/entry-points/handlers/inTmuxByHumanSessionReconciler.test.ts +0 -170
  381. package/src/adapter/entry-points/handlers/inTmuxByHumanSessionReconciler.ts +0 -40
  382. package/src/adapter/entry-points/handlers/machineStatusWriter.test.ts +0 -191
  383. package/src/adapter/entry-points/handlers/machineStatusWriter.ts +0 -110
  384. package/src/adapter/entry-points/handlers/notifySilentTmuxSessions.test.ts +0 -548
  385. package/src/adapter/entry-points/handlers/notifySilentTmuxSessions.ts +0 -192
  386. package/src/adapter/entry-points/handlers/ownerCallFileCleaner.test.ts +0 -111
  387. package/src/adapter/entry-points/handlers/ownerCallFileCleaner.ts +0 -25
  388. package/src/adapter/entry-points/handlers/ownerCallFileStore.test.ts +0 -286
  389. package/src/adapter/entry-points/handlers/ownerCallFileStore.ts +0 -145
  390. package/src/adapter/entry-points/handlers/ownerReplyMarkerDirectoryResolve.test.ts +0 -55
  391. package/src/adapter/entry-points/handlers/ownerReplyMarkerDirectoryResolve.ts +0 -36
  392. package/src/adapter/entry-points/handlers/resetDegeneratedTmuxSessions.test.ts +0 -72
  393. package/src/adapter/entry-points/handlers/resetDegeneratedTmuxSessions.ts +0 -74
  394. package/src/adapter/entry-points/handlers/rotationOrderFileWriter.test.ts +0 -181
  395. package/src/adapter/entry-points/handlers/rotationOrderFileWriter.ts +0 -18
  396. package/src/adapter/entry-points/handlers/situationFileWriter.test.ts +0 -489
  397. package/src/adapter/entry-points/handlers/situationFileWriter.ts +0 -176
  398. package/src/adapter/entry-points/handlers/staleTmuxSessionCleaner.test.ts +0 -169
  399. package/src/adapter/entry-points/handlers/staleTmuxSessionCleaner.ts +0 -32
  400. package/src/adapter/entry-points/handlers/subscriptionDisabledTokenHandler.ts +0 -41
  401. package/src/adapter/entry-points/handlers/tokenExhaustionHandover.ts +0 -81
  402. package/src/adapter/entry-points/handlers/tokenStatusWriter.test.ts +0 -266
  403. package/src/adapter/entry-points/handlers/tokenStatusWriter.ts +0 -262
  404. package/src/adapter/proxy/ClaudeMessageResponseParser.test.ts +0 -211
  405. package/src/adapter/proxy/ClaudeMessageResponseParser.ts +0 -181
  406. package/src/adapter/proxy/RateLimitCache.test.ts +0 -1077
  407. package/src/adapter/proxy/RateLimitCache.ts +0 -385
  408. package/src/adapter/proxy/TokenListLoader.test.ts +0 -183
  409. package/src/adapter/proxy/TokenListLoader.ts +0 -75
  410. package/src/adapter/proxy/ensureProxyRunning.test.ts +0 -85
  411. package/src/adapter/proxy/ensureProxyRunning.ts +0 -41
  412. package/src/adapter/proxy/proxyEntry.test.ts +0 -552
  413. package/src/adapter/proxy/proxyEntry.ts +0 -214
  414. package/src/adapter/repositories/BaseGitHubRepository.test.ts +0 -26
  415. package/src/adapter/repositories/BaseGitHubRepository.ts +0 -26
  416. package/src/adapter/repositories/BrowserGitHubProjectRepository.test.ts +0 -108
  417. package/src/adapter/repositories/BrowserGitHubProjectRepository.ts +0 -118
  418. package/src/adapter/repositories/CliGitHubGraphqlRateLimitRepository.test.ts +0 -71
  419. package/src/adapter/repositories/CliGitHubGraphqlRateLimitRepository.ts +0 -21
  420. package/src/adapter/repositories/ConfigurableSilentSessionMessageComposer.test.ts +0 -324
  421. package/src/adapter/repositories/ConfigurableSilentSessionMessageComposer.ts +0 -148
  422. package/src/adapter/repositories/FetchWebhookRepository.ts +0 -8
  423. package/src/adapter/repositories/FileHandoverStateRepository.test.ts +0 -114
  424. package/src/adapter/repositories/FileHandoverStateRepository.ts +0 -73
  425. package/src/adapter/repositories/FileSystemInteractiveLiveSessionTranscriptResolver.test.ts +0 -514
  426. package/src/adapter/repositories/FileSystemInteractiveLiveSessionTranscriptResolver.ts +0 -109
  427. package/src/adapter/repositories/FileSystemKevReportWatermarkRepository.test.ts +0 -284
  428. package/src/adapter/repositories/FileSystemKevReportWatermarkRepository.ts +0 -128
  429. package/src/adapter/repositories/FileSystemSessionAssistantTurnsRepository.test.ts +0 -138
  430. package/src/adapter/repositories/FileSystemSessionAssistantTurnsRepository.ts +0 -113
  431. package/src/adapter/repositories/FileSystemSessionDegenerationCooldownStateRepository.test.ts +0 -121
  432. package/src/adapter/repositories/FileSystemSessionDegenerationCooldownStateRepository.ts +0 -103
  433. package/src/adapter/repositories/FileSystemSessionOutputActivityRepository.test.ts +0 -360
  434. package/src/adapter/repositories/FileSystemSessionOutputActivityRepository.ts +0 -77
  435. package/src/adapter/repositories/FileSystemSessionRecordReader.test.ts +0 -59
  436. package/src/adapter/repositories/FileSystemSessionRecordReader.ts +0 -31
  437. package/src/adapter/repositories/FileSystemSilentSessionCandidateStateRepository.test.ts +0 -287
  438. package/src/adapter/repositories/FileSystemSilentSessionCandidateStateRepository.ts +0 -125
  439. package/src/adapter/repositories/FileSystemSilentSessionHubTaskStatusCacheRepository.test.ts +0 -285
  440. package/src/adapter/repositories/FileSystemSilentSessionHubTaskStatusCacheRepository.ts +0 -119
  441. package/src/adapter/repositories/FileSystemSubAgentLivenessResolver.test.ts +0 -237
  442. package/src/adapter/repositories/FileSystemSubAgentLivenessResolver.ts +0 -57
  443. package/src/adapter/repositories/FileSystemSubAgentSilentSecondsResolver.test.ts +0 -56
  444. package/src/adapter/repositories/FileSystemSubAgentSilentSecondsResolver.ts +0 -32
  445. package/src/adapter/repositories/FileSystemSubAgentTranscriptDirectoryResolver.test.ts +0 -68
  446. package/src/adapter/repositories/FileSystemSubAgentTranscriptDirectoryResolver.ts +0 -23
  447. package/src/adapter/repositories/GitHubIssueCheckpointRepository.test.ts +0 -51
  448. package/src/adapter/repositories/GitHubIssueCheckpointRepository.ts +0 -47
  449. package/src/adapter/repositories/GitHubIssueCommentRepository.test.ts +0 -278
  450. package/src/adapter/repositories/GitHubIssueCommentRepository.ts +0 -109
  451. package/src/adapter/repositories/GoogleSpreadsheetRepository.integration.test.ts +0 -265
  452. package/src/adapter/repositories/GoogleSpreadsheetRepository.test.ts +0 -431
  453. package/src/adapter/repositories/GoogleSpreadsheetRepository.ts +0 -268
  454. package/src/adapter/repositories/GraphqlProjectRepository.diskCache.test.ts +0 -272
  455. package/src/adapter/repositories/GraphqlProjectRepository.errorHandling.test.ts +0 -111
  456. package/src/adapter/repositories/GraphqlProjectRepository.fetchProjectId.test.ts +0 -254
  457. package/src/adapter/repositories/GraphqlProjectRepository.test.ts +0 -209
  458. package/src/adapter/repositories/GraphqlProjectRepository.ts +0 -707
  459. package/src/adapter/repositories/GraphqlProjectRepositoryProjectLocation.test.ts +0 -297
  460. package/src/adapter/repositories/KyHttpRepository.ts +0 -8
  461. package/src/adapter/repositories/KySlackRepository.test.ts +0 -172
  462. package/src/adapter/repositories/KySlackRepository.ts +0 -298
  463. package/src/adapter/repositories/LocalCommandIssueAttachmentRepository.test.ts +0 -193
  464. package/src/adapter/repositories/LocalCommandIssueAttachmentRepository.ts +0 -106
  465. package/src/adapter/repositories/LocalProcessLiveSessionProcessSnapshotProvider.test.ts +0 -190
  466. package/src/adapter/repositories/LocalProcessLiveSessionProcessSnapshotProvider.ts +0 -102
  467. package/src/adapter/repositories/LocalStorageCacheRepository.test.ts +0 -265
  468. package/src/adapter/repositories/LocalStorageCacheRepository.ts +0 -79
  469. package/src/adapter/repositories/LocalStorageRepository.integration.test.ts +0 -142
  470. package/src/adapter/repositories/LocalStorageRepository.test.ts +0 -173
  471. package/src/adapter/repositories/LocalStorageRepository.ts +0 -30
  472. package/src/adapter/repositories/NoUnansweredOwnerCallStatusProvider.test.ts +0 -15
  473. package/src/adapter/repositories/NoUnansweredOwnerCallStatusProvider.ts +0 -9
  474. package/src/adapter/repositories/NodeLocalCommandRunner.largeOutput.test.ts +0 -16
  475. package/src/adapter/repositories/NodeLocalCommandRunner.test.ts +0 -118
  476. package/src/adapter/repositories/NodeLocalCommandRunner.ts +0 -66
  477. package/src/adapter/repositories/NodeProcessSignalRepository.test.ts +0 -82
  478. package/src/adapter/repositories/NodeProcessSignalRepository.ts +0 -47
  479. package/src/adapter/repositories/NodeSubAgentProcessLister.test.ts +0 -44
  480. package/src/adapter/repositories/NodeSubAgentProcessLister.ts +0 -40
  481. package/src/adapter/repositories/NodeTmuxSessionRepository.test.ts +0 -546
  482. package/src/adapter/repositories/NodeTmuxSessionRepository.ts +0 -245
  483. package/src/adapter/repositories/OauthAPIClaudeRepository.ts +0 -279
  484. package/src/adapter/repositories/OauthAPIProxyClaudeRepository.test.ts +0 -166
  485. package/src/adapter/repositories/OauthAPIProxyClaudeRepository.ts +0 -32
  486. package/src/adapter/repositories/OauthProxyClaudeRepository.test.ts +0 -428
  487. package/src/adapter/repositories/OauthProxyClaudeRepository.ts +0 -124
  488. package/src/adapter/repositories/ProcClaudeHandoverSessionRepository.test.ts +0 -242
  489. package/src/adapter/repositories/ProcClaudeHandoverSessionRepository.ts +0 -261
  490. package/src/adapter/repositories/ProcClaudeInteractiveSessionRepository.test.ts +0 -184
  491. package/src/adapter/repositories/ProcClaudeInteractiveSessionRepository.ts +0 -138
  492. package/src/adapter/repositories/ProcClaudeLiveSessionRepository.test.ts +0 -208
  493. package/src/adapter/repositories/ProcClaudeLiveSessionRepository.ts +0 -130
  494. package/src/adapter/repositories/ProcFsProcessEnvironReader.test.ts +0 -60
  495. package/src/adapter/repositories/ProcFsProcessEnvironReader.ts +0 -38
  496. package/src/adapter/repositories/ProcHostMetricsRepository.test.ts +0 -207
  497. package/src/adapter/repositories/ProcHostMetricsRepository.ts +0 -181
  498. package/src/adapter/repositories/ProcTakeOwnershipSpawnRepository.test.ts +0 -231
  499. package/src/adapter/repositories/ProcTakeOwnershipSpawnRepository.ts +0 -134
  500. package/src/adapter/repositories/ProcessListSessionSubAgentActivityRepository.test.ts +0 -121
  501. package/src/adapter/repositories/ProcessListSessionSubAgentActivityRepository.ts +0 -58
  502. package/src/adapter/repositories/ProjectIssuesCacheRepository.test.ts +0 -218
  503. package/src/adapter/repositories/ProjectIssuesCacheRepository.ts +0 -141
  504. package/src/adapter/repositories/ProxyClaudeTokenUsageRepository.test.ts +0 -1195
  505. package/src/adapter/repositories/ProxyClaudeTokenUsageRepository.ts +0 -185
  506. package/src/adapter/repositories/ProxyRateLimitCacheRepository.test.ts +0 -116
  507. package/src/adapter/repositories/ProxyRateLimitCacheRepository.ts +0 -67
  508. package/src/adapter/repositories/RateLimitSnapshotRepository.ts +0 -50
  509. package/src/adapter/repositories/RealSleeper.test.ts +0 -19
  510. package/src/adapter/repositories/RealSleeper.ts +0 -12
  511. package/src/adapter/repositories/RestProjectRepository.test.ts +0 -277
  512. package/src/adapter/repositories/RestProjectRepository.ts +0 -129
  513. package/src/adapter/repositories/SqliteClaudeMessageResponseRepository.test.ts +0 -313
  514. package/src/adapter/repositories/SqliteClaudeMessageResponseRepository.ts +0 -164
  515. package/src/adapter/repositories/SystemDateRepository.test.ts +0 -60
  516. package/src/adapter/repositories/SystemDateRepository.ts +0 -34
  517. package/src/adapter/repositories/TmuxSilentSessionNotificationRepository.test.ts +0 -253
  518. package/src/adapter/repositories/TmuxSilentSessionNotificationRepository.ts +0 -158
  519. package/src/adapter/repositories/TranscriptOwnerCallStatusProvider.queuedReply.test.ts +0 -171
  520. package/src/adapter/repositories/TranscriptOwnerCallStatusProvider.singleScan.test.ts +0 -86
  521. package/src/adapter/repositories/TranscriptOwnerCallStatusProvider.test.ts +0 -996
  522. package/src/adapter/repositories/TranscriptOwnerCallStatusProvider.ts +0 -396
  523. package/src/adapter/repositories/TranscriptRefusalTailStatusProvider.test.ts +0 -208
  524. package/src/adapter/repositories/TranscriptRefusalTailStatusProvider.ts +0 -80
  525. package/src/adapter/repositories/TranscriptSessionSubAgentActivityRepository.test.ts +0 -1674
  526. package/src/adapter/repositories/TranscriptSessionSubAgentActivityRepository.ts +0 -459
  527. package/src/adapter/repositories/clSessionScopeUnitName.test.ts +0 -76
  528. package/src/adapter/repositories/clSessionScopeUnitName.ts +0 -5
  529. package/src/adapter/repositories/clSessionScopeUnitNameFromCgroupContent.test.ts +0 -34
  530. package/src/adapter/repositories/clSessionScopeUnitNameFromCgroupContent.ts +0 -8
  531. package/src/adapter/repositories/githubGraphqlClient.test.ts +0 -479
  532. package/src/adapter/repositories/githubGraphqlClient.ts +0 -243
  533. package/src/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.test.ts +0 -5182
  534. package/src/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.ts +0 -3303
  535. package/src/adapter/repositories/issue/ApiV3IssueRepository.test.ts +0 -46
  536. package/src/adapter/repositories/issue/ApiV3IssueRepository.ts +0 -88
  537. package/src/adapter/repositories/issue/GraphqlProjectItemRepository.test.ts +0 -1776
  538. package/src/adapter/repositories/issue/GraphqlProjectItemRepository.ts +0 -1552
  539. package/src/adapter/repositories/issue/RestIssueRepository.test.ts +0 -393
  540. package/src/adapter/repositories/issue/RestIssueRepository.ts +0 -252
  541. package/src/adapter/repositories/issue/gitHubRawUrl.test.ts +0 -29
  542. package/src/adapter/repositories/issue/gitHubRawUrl.ts +0 -30
  543. package/src/adapter/repositories/issue/githubRateLimitRetry.test.ts +0 -167
  544. package/src/adapter/repositories/issue/githubRateLimitRetry.ts +0 -109
  545. package/src/adapter/repositories/localStorageCacheDirectory.test.ts +0 -81
  546. package/src/adapter/repositories/localStorageCacheDirectory.ts +0 -13
  547. package/src/adapter/repositories/projectFieldDefinition.test.ts +0 -191
  548. package/src/adapter/repositories/projectFieldDefinition.ts +0 -144
  549. package/src/adapter/repositories/utils.test.ts +0 -55
  550. package/src/adapter/repositories/utils.ts +0 -45
  551. package/src/domain/entities/ClaudeHandoverSession.ts +0 -12
  552. package/src/domain/entities/ClaudeMessageResponse.ts +0 -31
  553. package/src/domain/entities/ClaudeTokenUsage.ts +0 -17
  554. package/src/domain/entities/ClaudeWindowUsage.ts +0 -5
  555. package/src/domain/entities/Comment.ts +0 -5
  556. package/src/domain/entities/InteractiveLiveSession.ts +0 -6
  557. package/src/domain/entities/Issue.ts +0 -31
  558. package/src/domain/entities/KevReportWatermark.ts +0 -4
  559. package/src/domain/entities/LiveSessionActivitySnapshot.ts +0 -14
  560. package/src/domain/entities/LiveSessionOutputActivity.ts +0 -4
  561. package/src/domain/entities/LiveSessionProcessSnapshot.ts +0 -18
  562. package/src/domain/entities/LiveTmuxSession.ts +0 -4
  563. package/src/domain/entities/Member.ts +0 -3
  564. package/src/domain/entities/OutputDegeneration.ts +0 -10
  565. package/src/domain/entities/Project.ts +0 -88
  566. package/src/domain/entities/ProjectField.ts +0 -3
  567. package/src/domain/entities/ProjectFieldName.ts +0 -2
  568. package/src/domain/entities/ProjectFieldSingleSelect.ts +0 -8
  569. package/src/domain/entities/ProjectFieldSingleSelectOption.ts +0 -8
  570. package/src/domain/entities/RequiredProjectField.ts +0 -68
  571. package/src/domain/entities/SearchedIssue.ts +0 -11
  572. package/src/domain/entities/StoryObjectMap.ts +0 -12
  573. package/src/domain/entities/TokenExhaustionHandoverState.ts +0 -8
  574. package/src/domain/entities/WorkflowStatus.ts +0 -66
  575. package/src/domain/usecases/ActionAnnouncementUseCase.test.ts +0 -91
  576. package/src/domain/usecases/ActionAnnouncementUseCase.ts +0 -78
  577. package/src/domain/usecases/AgentDesignationLabelAdoptUseCase.test.ts +0 -222
  578. package/src/domain/usecases/AgentDesignationLabelAdoptUseCase.ts +0 -76
  579. package/src/domain/usecases/AnalyzeProblemByIssueUseCase.test.ts +0 -118
  580. package/src/domain/usecases/AnalyzeProblemByIssueUseCase.ts +0 -112
  581. package/src/domain/usecases/AnalyzeStoriesUseCase.test.ts +0 -82
  582. package/src/domain/usecases/AnalyzeStoriesUseCase.ts +0 -296
  583. package/src/domain/usecases/AssignNoAssigneeIssueToManagerUseCase.test.ts +0 -578
  584. package/src/domain/usecases/AssignNoAssigneeIssueToManagerUseCase.ts +0 -137
  585. package/src/domain/usecases/CONTRIBUTING_FOR_TEST.md +0 -259
  586. package/src/domain/usecases/ChangeStatusByStoryColorUseCase.test.ts +0 -437
  587. package/src/domain/usecases/ChangeStatusByStoryColorUseCase.ts +0 -80
  588. package/src/domain/usecases/ChangeTargetPullRequestApprover.test.ts +0 -248
  589. package/src/domain/usecases/ChangeTargetPullRequestApprover.ts +0 -69
  590. package/src/domain/usecases/CheckIssueReviewReadinessUseCase.test.ts +0 -411
  591. package/src/domain/usecases/CheckIssueReviewReadinessUseCase.ts +0 -142
  592. package/src/domain/usecases/ClearDependedIssueURLUseCase.test.ts +0 -1120
  593. package/src/domain/usecases/ClearDependedIssueURLUseCase.ts +0 -161
  594. package/src/domain/usecases/ClearPastNextActionDateHourUseCase.test.ts +0 -345
  595. package/src/domain/usecases/ClearPastNextActionDateHourUseCase.ts +0 -81
  596. package/src/domain/usecases/CliErrorReportUseCase.test.ts +0 -162
  597. package/src/domain/usecases/CliErrorReportUseCase.ts +0 -72
  598. package/src/domain/usecases/ConflictedIssueRevertUseCase.test.ts +0 -886
  599. package/src/domain/usecases/ConflictedIssueRevertUseCase.ts +0 -146
  600. package/src/domain/usecases/CreateEstimationIssueUseCase.test.ts +0 -227
  601. package/src/domain/usecases/CreateEstimationIssueUseCase.ts +0 -205
  602. package/src/domain/usecases/CreateNewStoryByLabelUseCase.test.ts +0 -1084
  603. package/src/domain/usecases/CreateNewStoryByLabelUseCase.ts +0 -146
  604. package/src/domain/usecases/DailySecurityScanUseCase.test.ts +0 -1709
  605. package/src/domain/usecases/DailySecurityScanUseCase.ts +0 -476
  606. package/src/domain/usecases/DefaultSilentSessionMessageComposer.test.ts +0 -533
  607. package/src/domain/usecases/DefaultSilentSessionMessageComposer.ts +0 -122
  608. package/src/domain/usecases/GetStoryObjectMapUseCase.test.ts +0 -330
  609. package/src/domain/usecases/GetStoryObjectMapUseCase.ts +0 -79
  610. package/src/domain/usecases/HandleScheduledEventUseCase.test.ts +0 -1913
  611. package/src/domain/usecases/HandleScheduledEventUseCase.ts +0 -846
  612. package/src/domain/usecases/InTmuxByHumanSessionTokenCountUseCase.test.ts +0 -175
  613. package/src/domain/usecases/InTmuxByHumanSessionTokenCountUseCase.ts +0 -63
  614. package/src/domain/usecases/IssueNoStatusUpdateUseCase.test.ts +0 -165
  615. package/src/domain/usecases/IssueNoStatusUpdateUseCase.ts +0 -44
  616. package/src/domain/usecases/IssueRejectionEvaluator.test.ts +0 -1137
  617. package/src/domain/usecases/IssueRejectionEvaluator.ts +0 -340
  618. package/src/domain/usecases/LiveSessionOauthTokenSelectUseCase.test.ts +0 -679
  619. package/src/domain/usecases/LiveSessionOauthTokenSelectUseCase.ts +0 -178
  620. package/src/domain/usecases/NotifyFinishedIssuePreparationUseCase.test.ts +0 -5441
  621. package/src/domain/usecases/NotifyFinishedIssuePreparationUseCase.ts +0 -891
  622. package/src/domain/usecases/NotifySilentLiveSessionsUseCase.test.ts +0 -2069
  623. package/src/domain/usecases/NotifySilentLiveSessionsUseCase.ts +0 -489
  624. package/src/domain/usecases/OauthTokenSelectUseCase.test.ts +0 -662
  625. package/src/domain/usecases/OauthTokenSelectUseCase.ts +0 -274
  626. package/src/domain/usecases/OutputDegenerationDetector.test.ts +0 -167
  627. package/src/domain/usecases/OutputDegenerationDetector.ts +0 -169
  628. package/src/domain/usecases/ProjectRequiredFieldCreateUseCase.test.ts +0 -711
  629. package/src/domain/usecases/ProjectRequiredFieldCreateUseCase.ts +0 -146
  630. package/src/domain/usecases/QualityCheckAdvanceUseCase.test.ts +0 -421
  631. package/src/domain/usecases/QualityCheckAdvanceUseCase.ts +0 -76
  632. package/src/domain/usecases/ReopenedDoneIssueRevertUseCase.test.ts +0 -188
  633. package/src/domain/usecases/ReopenedDoneIssueRevertUseCase.ts +0 -57
  634. package/src/domain/usecases/ResolveInteractiveLiveSessionsUseCase.test.ts +0 -303
  635. package/src/domain/usecases/ResolveInteractiveLiveSessionsUseCase.ts +0 -155
  636. package/src/domain/usecases/RevertNotReadyReviewQueueIssueUseCase.test.ts +0 -1838
  637. package/src/domain/usecases/RevertNotReadyReviewQueueIssueUseCase.ts +0 -221
  638. package/src/domain/usecases/RevertOrphanedPreparationUseCase.test.ts +0 -2392
  639. package/src/domain/usecases/RevertOrphanedPreparationUseCase.ts +0 -499
  640. package/src/domain/usecases/SessionOutputDegenerationRecoveryUseCase.test.ts +0 -224
  641. package/src/domain/usecases/SessionOutputDegenerationRecoveryUseCase.ts +0 -142
  642. package/src/domain/usecases/SetDependedIssueUrlForOpenTaskPRsUseCase.test.ts +0 -360
  643. package/src/domain/usecases/SetDependedIssueUrlForOpenTaskPRsUseCase.ts +0 -70
  644. package/src/domain/usecases/SetNoStoryIssueToStoryUseCase.test.ts +0 -400
  645. package/src/domain/usecases/SetNoStoryIssueToStoryUseCase.ts +0 -48
  646. package/src/domain/usecases/SetWorkflowManagementIssueToStoryUseCase.test.ts +0 -696
  647. package/src/domain/usecases/SetWorkflowManagementIssueToStoryUseCase.ts +0 -201
  648. package/src/domain/usecases/SetupTowerDefenceProjectUseCase.test.ts +0 -1363
  649. package/src/domain/usecases/SetupTowerDefenceProjectUseCase.ts +0 -215
  650. package/src/domain/usecases/StaleTaskPullRequestCloseUseCase.test.ts +0 -170
  651. package/src/domain/usecases/StaleTaskPullRequestCloseUseCase.ts +0 -38
  652. package/src/domain/usecases/StaleTmuxSessionKillUseCase.test.ts +0 -283
  653. package/src/domain/usecases/StaleTmuxSessionKillUseCase.ts +0 -98
  654. package/src/domain/usecases/StartPreparationUseCase.test.ts +0 -7822
  655. package/src/domain/usecases/StartPreparationUseCase.ts +0 -876
  656. package/src/domain/usecases/SubscriptionDisabledIssueUseCase.test.ts +0 -200
  657. package/src/domain/usecases/SubscriptionDisabledIssueUseCase.ts +0 -74
  658. package/src/domain/usecases/TokenExhaustionHandoverUseCase.test.ts +0 -838
  659. package/src/domain/usecases/TokenExhaustionHandoverUseCase.ts +0 -439
  660. package/src/domain/usecases/UpdateIssueStatusByLabelUseCase.test.ts +0 -306
  661. package/src/domain/usecases/UpdateIssueStatusByLabelUseCase.ts +0 -64
  662. package/src/domain/usecases/UpdateRateLimitCacheUseCase.test.ts +0 -178
  663. package/src/domain/usecases/UpdateRateLimitCacheUseCase.ts +0 -22
  664. package/src/domain/usecases/adapter-interfaces/ClaudeHandoverSessionRepository.ts +0 -5
  665. package/src/domain/usecases/adapter-interfaces/ClaudeInteractiveSessionRepository.ts +0 -9
  666. package/src/domain/usecases/adapter-interfaces/ClaudeLiveSessionRepository.ts +0 -8
  667. package/src/domain/usecases/adapter-interfaces/ClaudeMessageResponseRepository.ts +0 -5
  668. package/src/domain/usecases/adapter-interfaces/ClaudeRepository.ts +0 -6
  669. package/src/domain/usecases/adapter-interfaces/ClaudeTokenUsageRepository.ts +0 -8
  670. package/src/domain/usecases/adapter-interfaces/ConsoleTabsRepository.ts +0 -12
  671. package/src/domain/usecases/adapter-interfaces/CopilotRepository.ts +0 -3
  672. package/src/domain/usecases/adapter-interfaces/DateRepository.ts +0 -7
  673. package/src/domain/usecases/adapter-interfaces/GitHubGraphqlRateLimitRepository.ts +0 -3
  674. package/src/domain/usecases/adapter-interfaces/HttpRepository.ts +0 -3
  675. package/src/domain/usecases/adapter-interfaces/InteractiveLiveSessionTranscriptResolver.ts +0 -7
  676. package/src/domain/usecases/adapter-interfaces/IssueAttachmentRepository.ts +0 -9
  677. package/src/domain/usecases/adapter-interfaces/IssueCheckpointRepository.ts +0 -3
  678. package/src/domain/usecases/adapter-interfaces/IssueCommentRepository.ts +0 -7
  679. package/src/domain/usecases/adapter-interfaces/IssueRepository.ts +0 -229
  680. package/src/domain/usecases/adapter-interfaces/KevReportWatermarkRepository.ts +0 -11
  681. package/src/domain/usecases/adapter-interfaces/LiveSessionProcessSnapshotProvider.ts +0 -5
  682. package/src/domain/usecases/adapter-interfaces/LocalCommandRunner.ts +0 -16
  683. package/src/domain/usecases/adapter-interfaces/OwnerCallStatusProvider.ts +0 -5
  684. package/src/domain/usecases/adapter-interfaces/ProcessEnvironReader.ts +0 -3
  685. package/src/domain/usecases/adapter-interfaces/ProcessSignalRepository.ts +0 -5
  686. package/src/domain/usecases/adapter-interfaces/ProjectRepository.ts +0 -29
  687. package/src/domain/usecases/adapter-interfaces/RateLimitCacheRepository.ts +0 -10
  688. package/src/domain/usecases/adapter-interfaces/RefusalTailStatusProvider.ts +0 -5
  689. package/src/domain/usecases/adapter-interfaces/SessionAssistantTurnsRepository.ts +0 -6
  690. package/src/domain/usecases/adapter-interfaces/SessionDegenerationCooldownStateRepository.ts +0 -4
  691. package/src/domain/usecases/adapter-interfaces/SessionOutputActivityRepository.ts +0 -7
  692. package/src/domain/usecases/adapter-interfaces/SessionRecordReader.ts +0 -3
  693. package/src/domain/usecases/adapter-interfaces/SessionSubAgentActivityRepository.ts +0 -8
  694. package/src/domain/usecases/adapter-interfaces/SilentSessionCandidateStateRepository.ts +0 -10
  695. package/src/domain/usecases/adapter-interfaces/SilentSessionHubTaskStatusCacheRepository.ts +0 -20
  696. package/src/domain/usecases/adapter-interfaces/SilentSessionMessageComposer.ts +0 -18
  697. package/src/domain/usecases/adapter-interfaces/SilentSessionNotificationRepository.ts +0 -6
  698. package/src/domain/usecases/adapter-interfaces/SlackRepository.ts +0 -20
  699. package/src/domain/usecases/adapter-interfaces/Sleeper.ts +0 -3
  700. package/src/domain/usecases/adapter-interfaces/SpreadsheetRepository.ts +0 -18
  701. package/src/domain/usecases/adapter-interfaces/StatusDefaultRepository.ts +0 -5
  702. package/src/domain/usecases/adapter-interfaces/SubAgentLivenessResolver.ts +0 -6
  703. package/src/domain/usecases/adapter-interfaces/SubAgentProcessLister.ts +0 -8
  704. package/src/domain/usecases/adapter-interfaces/SubAgentSilentSecondsResolver.ts +0 -3
  705. package/src/domain/usecases/adapter-interfaces/SubAgentTranscriptDirectoryResolver.ts +0 -6
  706. package/src/domain/usecases/adapter-interfaces/TakeOwnershipSpawnRepository.ts +0 -9
  707. package/src/domain/usecases/adapter-interfaces/TmuxSessionRepository.ts +0 -20
  708. package/src/domain/usecases/adapter-interfaces/TokenExhaustionHandoverStateRepository.ts +0 -6
  709. package/src/domain/usecases/adapter-interfaces/TokenRateLimitSnapshotRepository.ts +0 -22
  710. package/src/domain/usecases/adapter-interfaces/WebhookRepository.ts +0 -3
  711. package/src/domain/usecases/agentReportPrefix.ts +0 -1
  712. package/src/domain/usecases/autoStatusCheckComments.ts +0 -1
  713. package/src/domain/usecases/console/.gitkeep +0 -0
  714. package/src/domain/usecases/console/GenerateConsoleListsUseCase.test.ts +0 -887
  715. package/src/domain/usecases/console/GenerateConsoleListsUseCase.ts +0 -368
  716. package/src/domain/usecases/dashboard/ComposeDashboardUseCase.test.ts +0 -654
  717. package/src/domain/usecases/dashboard/ComposeDashboardUseCase.ts +0 -318
  718. package/src/domain/usecases/dashboard/DashboardProjectCode.test.ts +0 -34
  719. package/src/domain/usecases/dashboard/DashboardProjectCode.ts +0 -27
  720. package/src/domain/usecases/dashboard/GenerateDashboardRowUseCase.test.ts +0 -160
  721. package/src/domain/usecases/dashboard/GenerateDashboardRowUseCase.ts +0 -69
  722. package/src/domain/usecases/dashboard/GenerateTokenStatusUseCase.test.ts +0 -362
  723. package/src/domain/usecases/dashboard/GenerateTokenStatusUseCase.ts +0 -234
  724. package/src/domain/usecases/ensureAgentOptionAndGetId.ts +0 -47
  725. package/src/domain/usecases/extractFencedJsonBlocks.test.ts +0 -40
  726. package/src/domain/usecases/extractFencedJsonBlocks.ts +0 -21
  727. package/src/domain/usecases/extractNextStepAgent.test.ts +0 -58
  728. package/src/domain/usecases/extractNextStepAgent.ts +0 -18
  729. package/src/domain/usecases/extractNextStepAgentFromComments.ts +0 -13
  730. package/src/domain/usecases/findLastAgentReport.test.ts +0 -121
  731. package/src/domain/usecases/findLastAgentReport.ts +0 -14
  732. package/src/domain/usecases/intmux/GenerateInTmuxByHumanDataUseCase.test.ts +0 -339
  733. package/src/domain/usecases/intmux/GenerateInTmuxByHumanDataUseCase.ts +0 -188
  734. package/src/domain/usecases/intmux/InTmuxByHumanSessionReconcileUseCase.test.ts +0 -389
  735. package/src/domain/usecases/intmux/InTmuxByHumanSessionReconcileUseCase.ts +0 -103
  736. package/src/domain/usecases/intmux/OwnerCallFile.test.ts +0 -184
  737. package/src/domain/usecases/intmux/OwnerCallFile.ts +0 -80
  738. package/src/domain/usecases/isAgentReportBody.test.ts +0 -108
  739. package/src/domain/usecases/isAgentReportBody.ts +0 -52
  740. package/src/domain/usecases/isAuthorAuthorizedForAutoStatusCheck.ts +0 -12
  741. package/src/domain/usecases/isHumanComment.test.ts +0 -77
  742. package/src/domain/usecases/isHumanComment.ts +0 -23
  743. package/src/domain/usecases/isRecord.ts +0 -2
  744. package/src/domain/usecases/issueReactivationTriggerIsPending.test.ts +0 -541
  745. package/src/domain/usecases/issueReactivationTriggerIsPending.ts +0 -25
  746. package/src/domain/usecases/nextStepAgentDispatchRepeatedMessage.ts +0 -2
  747. package/src/domain/usecases/normalizeReportBody.test.ts +0 -24
  748. package/src/domain/usecases/normalizeReportBody.ts +0 -2
  749. package/src/domain/usecases/resolveAllowedIssueAuthors.test.ts +0 -51
  750. package/src/domain/usecases/resolveAllowedIssueAuthors.ts +0 -6
  751. package/src/domain/usecases/resolveLabelsAsLlmAgentName.test.ts +0 -42
  752. package/src/domain/usecases/resolveLabelsAsLlmAgentName.ts +0 -6
  753. package/src/domain/usecases/resolveLabelsNotRequiringPullRequest.test.ts +0 -33
  754. package/src/domain/usecases/resolveLabelsNotRequiringPullRequest.ts +0 -7
  755. package/src/domain/usecases/resolveNextStepAgentDispatchRepetition.test.ts +0 -337
  756. package/src/domain/usecases/resolveNextStepAgentDispatchRepetition.ts +0 -133
  757. package/src/domain/usecases/silentSessionReminderSentinel.ts +0 -9
  758. package/src/domain/usecases/triagerAgentName.ts +0 -4
  759. package/src/domain/usecases/utils.test.ts +0 -35
  760. package/src/domain/usecases/utils.ts +0 -6
  761. package/src/index.test.ts +0 -8
  762. package/src/index.ts +0 -10
  763. package/src/releaseConfig.test.ts +0 -40
  764. package/tsconfig.build.json +0 -18
  765. package/tsconfig.json +0 -25
  766. package/types/adapter/entry-points/handlers/resolveUnansweredOwnerCalls.d.ts +0 -13
  767. package/types/adapter/entry-points/handlers/resolveUnansweredOwnerCalls.d.ts.map +0 -1
  768. package/types/adapter/repositories/FileSystemSilentSessionNotifiedStateRepository.d.ts +0 -16
  769. package/types/adapter/repositories/FileSystemSilentSessionNotifiedStateRepository.d.ts.map +0 -1
  770. package/types/adapter/repositories/issue/issueTimelineUtils.d.ts +0 -12
  771. package/types/adapter/repositories/issue/issueTimelineUtils.d.ts.map +0 -1
  772. package/types/domain/entities/UnansweredOwnerCall.d.ts +0 -5
  773. package/types/domain/entities/UnansweredOwnerCall.d.ts.map +0 -1
  774. package/types/domain/entities/WorkingTime.d.ts +0 -8
  775. package/types/domain/entities/WorkingTime.d.ts.map +0 -1
  776. package/types/domain/usecases/ChangeStatusLongInReviewIssueUseCase.d.ts +0 -17
  777. package/types/domain/usecases/ChangeStatusLongInReviewIssueUseCase.d.ts.map +0 -1
  778. package/types/domain/usecases/ConvertCheckboxToIssueInStoryIssueUseCase.d.ts +0 -23
  779. package/types/domain/usecases/ConvertCheckboxToIssueInStoryIssueUseCase.d.ts.map +0 -1
  780. package/types/domain/usecases/GenerateWorkingTimeReportUseCase.d.ts +0 -50
  781. package/types/domain/usecases/GenerateWorkingTimeReportUseCase.d.ts.map +0 -1
  782. package/types/domain/usecases/TriagerApprovalDispatchUseCase.d.ts +0 -15
  783. package/types/domain/usecases/TriagerApprovalDispatchUseCase.d.ts.map +0 -1
  784. package/types/domain/usecases/adapter-interfaces/SilentSessionNotifiedStateRepository.d.ts +0 -11
  785. package/types/domain/usecases/adapter-interfaces/SilentSessionNotifiedStateRepository.d.ts.map +0 -1
  786. package/types/domain/usecases/awaitingOwnerApprovalMessage.d.ts +0 -3
  787. package/types/domain/usecases/awaitingOwnerApprovalMessage.d.ts.map +0 -1
  788. package/types/domain/usecases/findLastAgentDeclaringReport.d.ts +0 -5
  789. package/types/domain/usecases/findLastAgentDeclaringReport.d.ts.map +0 -1
  790. package/types/domain/usecases/isPullRequestDeclaredUnnecessary.d.ts +0 -5
  791. package/types/domain/usecases/isPullRequestDeclaredUnnecessary.d.ts.map +0 -1
  792. package/types/domain/usecases/isWaitingForOwnerApproval.d.ts +0 -2
  793. package/types/domain/usecases/isWaitingForOwnerApproval.d.ts.map +0 -1
  794. package/types/domain/usecases/returnedToAwaitingWorkspaceMessage.d.ts +0 -3
  795. package/types/domain/usecases/returnedToAwaitingWorkspaceMessage.d.ts.map +0 -1
@@ -1,1084 +0,0 @@
1
- import { mock } from 'jest-mock-extended';
2
- import { CreateNewStoryByLabelUseCase } from './CreateNewStoryByLabelUseCase';
3
- import { ProjectRepository } from './adapter-interfaces/ProjectRepository';
4
- import { IssueRepository } from './adapter-interfaces/IssueRepository';
5
- import { Issue } from '../entities/Issue';
6
- import { FieldOption, Project, StoryOption } from '../entities/Project';
7
- import { StoryObject } from '../entities/StoryObjectMap';
8
-
9
- describe('CreateNewStoryByLabelUseCase', () => {
10
- const mockProjectRepository = mock<ProjectRepository>();
11
- const mockIssueRepository = mock<IssueRepository>();
12
-
13
- const basicProject: Project = {
14
- ...mock<Project>(),
15
- id: 'project1',
16
- story: {
17
- name: 'Story Field',
18
- fieldId: 'storyFieldId',
19
- databaseId: 123,
20
- stories: [
21
- { id: 'story1', name: 'First Story', color: 'BLUE', description: '' },
22
- { id: 'story2', name: 'Middle Story', color: 'GREEN', description: '' },
23
- { id: 'story3', name: 'Last Story', color: 'YELLOW', description: '' },
24
- ],
25
- workflowManagementStory: { id: 'workflow1', name: 'Workflow Story' },
26
- },
27
- };
28
-
29
- const issueWithNewStoryLabel: Issue = {
30
- ...mock<Issue>(),
31
- url: 'https://github.com/org/repo/issues/999',
32
- title: 'New Feature Request',
33
- number: 999,
34
- story: 'Existing Story',
35
- labels: ['bug', 'new-story', 'priority-high'],
36
- };
37
-
38
- const issueWithNewStoryLabelVariant: Issue = {
39
- ...mock<Issue>(),
40
- url: 'https://github.com/org/repo/issues/1000',
41
- title: 'Another New Story',
42
- number: 1000,
43
- story: 'Existing Story',
44
- labels: ['newstory', 'enhancement'],
45
- };
46
-
47
- const regularIssue: Issue = {
48
- ...mock<Issue>(),
49
- url: 'https://github.com/org/repo/issues/888',
50
- title: 'Regular Issue',
51
- number: 888,
52
- story: 'Existing Story',
53
- labels: ['bug', 'priority-low'],
54
- };
55
-
56
- const unassignedIssueWithNewStoryLabel: Issue = {
57
- ...mock<Issue>(),
58
- url: 'https://github.com/org/repo/issues/1383',
59
- title: 'Unassigned Story Issue',
60
- number: 1383,
61
- story: null,
62
- labels: ['new-story'],
63
- };
64
-
65
- const unassignedRegularIssue: Issue = {
66
- ...mock<Issue>(),
67
- url: 'https://github.com/org/repo/issues/1384',
68
- title: 'Unassigned Regular Issue',
69
- number: 1384,
70
- story: null,
71
- labels: ['bug'],
72
- };
73
-
74
- const storyObjectWithNewStoryIssues: StoryObject = {
75
- story: {
76
- ...mock<StoryOption>(),
77
- id: 'story1',
78
- name: 'Existing Story',
79
- color: 'BLUE',
80
- },
81
- storyIssue: mock<Issue>(),
82
- issues: [
83
- issueWithNewStoryLabel,
84
- issueWithNewStoryLabelVariant,
85
- regularIssue,
86
- ],
87
- };
88
-
89
- let useCase: CreateNewStoryByLabelUseCase;
90
-
91
- beforeEach(() => {
92
- jest.clearAllMocks();
93
- useCase = new CreateNewStoryByLabelUseCase(
94
- mockProjectRepository,
95
- mockIssueRepository,
96
- );
97
- });
98
-
99
- describe('logging', () => {
100
- let logSpy: jest.SpyInstance;
101
- const lines: string[] = [];
102
-
103
- beforeEach(() => {
104
- lines.length = 0;
105
- logSpy = jest
106
- .spyOn(console, 'log')
107
- .mockImplementation((...args: unknown[]) => {
108
- lines.push(args.map((arg) => String(arg)).join(' '));
109
- });
110
- });
111
-
112
- afterEach(() => {
113
- logSpy.mockRestore();
114
- });
115
-
116
- const loggedLines = (): string[] => lines;
117
-
118
- it('should record that the option list was left unchanged because every labelled issue title already names a story option', async () => {
119
- const projectWithExistingOption: Project = {
120
- ...basicProject,
121
- story: {
122
- name: 'Story Field',
123
- fieldId: 'storyFieldId',
124
- databaseId: 123,
125
- stories: [
126
- {
127
- id: 'existingNewStoryId',
128
- name: 'New Feature Request',
129
- color: 'RED',
130
- description: '',
131
- },
132
- ],
133
- workflowManagementStory: { id: 'workflow1', name: 'Workflow Story' },
134
- },
135
- };
136
-
137
- await useCase.run({
138
- project: projectWithExistingOption,
139
- cacheUsed: false,
140
- org: 'testOrg',
141
- repo: 'testRepo',
142
- storyObjectMap: new Map([
143
- [
144
- 'Story 1',
145
- {
146
- story: mock<StoryOption>(),
147
- storyIssue: mock<Issue>(),
148
- issues: [issueWithNewStoryLabel],
149
- },
150
- ],
151
- ]),
152
- issues: [],
153
- });
154
-
155
- expect(mockProjectRepository.updateStoryList).not.toHaveBeenCalled();
156
- expect(
157
- loggedLines().some((line) =>
158
- line.includes(
159
- 'every labelled issue title already names a story option',
160
- ),
161
- ),
162
- ).toBe(true);
163
- });
164
-
165
- it('should record that the run found no labelled issue so that the absence of work is distinguishable from the step never running', async () => {
166
- const storyObjectWithoutNewStoryIssues: StoryObject = {
167
- story: mock<StoryOption>(),
168
- storyIssue: mock<Issue>(),
169
- issues: [regularIssue],
170
- };
171
-
172
- await useCase.run({
173
- project: basicProject,
174
- cacheUsed: false,
175
- org: 'testOrg',
176
- repo: 'testRepo',
177
- storyObjectMap: new Map([
178
- ['Story 1', storyObjectWithoutNewStoryIssues],
179
- ]),
180
- issues: [regularIssue],
181
- });
182
-
183
- expect(
184
- loggedLines().some((line) =>
185
- line.includes('found 0 issues carrying the new story label'),
186
- ),
187
- ).toBe(true);
188
- });
189
-
190
- it('should record the project having no story field', async () => {
191
- await useCase.run({
192
- project: { ...basicProject, story: null },
193
- cacheUsed: false,
194
- org: 'testOrg',
195
- repo: 'testRepo',
196
- storyObjectMap: new Map([['Story 1', storyObjectWithNewStoryIssues]]),
197
- issues: [],
198
- });
199
-
200
- expect(
201
- loggedLines().some((line) =>
202
- line.includes('the project has no story field'),
203
- ),
204
- ).toBe(true);
205
- });
206
-
207
- it('should record the labelled issues, the submitted options, the story link and the label removal', async () => {
208
- mockProjectRepository.updateStoryList.mockResolvedValue([
209
- { id: 'story1', name: 'First Story', color: 'BLUE', description: '' },
210
- {
211
- id: 'newStoryId1',
212
- name: 'New Feature Request',
213
- color: 'RED',
214
- description: '',
215
- },
216
- ]);
217
- const storyObject: StoryObject = {
218
- story: {
219
- ...mock<StoryOption>(),
220
- id: 'story1',
221
- name: 'Existing Story',
222
- color: 'BLUE',
223
- },
224
- storyIssue: mock<Issue>(),
225
- issues: [issueWithNewStoryLabel],
226
- };
227
-
228
- await useCase.run({
229
- project: basicProject,
230
- cacheUsed: false,
231
- org: 'testOrg',
232
- repo: 'testRepo',
233
- storyObjectMap: new Map([['Story 1', storyObject]]),
234
- issues: [],
235
- });
236
-
237
- const lines = loggedLines();
238
- expect(
239
- lines.some((line) =>
240
- line.includes('found 1 issues carrying the new story label'),
241
- ),
242
- ).toBe(true);
243
- expect(
244
- lines.some(
245
- (line) =>
246
- line.includes('labelled issues') &&
247
- line.includes(issueWithNewStoryLabel.url),
248
- ),
249
- ).toBe(true);
250
- expect(
251
- lines.some(
252
- (line) =>
253
- line.includes('submitting 1 new story options') &&
254
- line.includes('New Feature Request'),
255
- ),
256
- ).toBe(true);
257
- expect(
258
- lines.some(
259
- (line) =>
260
- line.includes('linked') &&
261
- line.includes(issueWithNewStoryLabel.url) &&
262
- line.includes('newStoryId1'),
263
- ),
264
- ).toBe(true);
265
- expect(
266
- lines.some(
267
- (line) =>
268
- line.includes('removed the new story label') &&
269
- line.includes(issueWithNewStoryLabel.url),
270
- ),
271
- ).toBe(true);
272
- });
273
-
274
- it('should record that an issue kept its label because no story option matches its title', async () => {
275
- const issueWithUnmatchedTitle: Issue = {
276
- ...mock<Issue>(),
277
- url: 'https://github.com/org/repo/issues/1401',
278
- title: 'Unmatched Title',
279
- number: 1401,
280
- story: 'Existing Story',
281
- labels: ['new-story'],
282
- };
283
- mockProjectRepository.updateStoryList.mockResolvedValue([
284
- { id: 'story1', name: 'First Story', color: 'BLUE', description: '' },
285
- ]);
286
-
287
- await useCase.run({
288
- project: basicProject,
289
- cacheUsed: false,
290
- org: 'testOrg',
291
- repo: 'testRepo',
292
- storyObjectMap: new Map([
293
- [
294
- 'Story 1',
295
- {
296
- story: mock<StoryOption>(),
297
- storyIssue: mock<Issue>(),
298
- issues: [issueWithUnmatchedTitle],
299
- },
300
- ],
301
- ]),
302
- issues: [],
303
- });
304
-
305
- expect(
306
- loggedLines().some(
307
- (line) =>
308
- line.includes('no story option matches the title') &&
309
- line.includes(issueWithUnmatchedTitle.url),
310
- ),
311
- ).toBe(true);
312
- });
313
- });
314
-
315
- describe('run', () => {
316
- it('should not process anything when project has no story field', async () => {
317
- const projectWithoutStory: Project = {
318
- ...basicProject,
319
- story: null,
320
- };
321
-
322
- await useCase.run({
323
- project: projectWithoutStory,
324
- cacheUsed: false,
325
- org: 'testOrg',
326
- repo: 'testRepo',
327
- storyObjectMap: new Map([['Story 1', storyObjectWithNewStoryIssues]]),
328
- issues: [],
329
- });
330
-
331
- expect(mockProjectRepository.updateStoryList).not.toHaveBeenCalled();
332
- expect(mockIssueRepository.updateStory).not.toHaveBeenCalled();
333
- expect(mockIssueRepository.updateLabels).not.toHaveBeenCalled();
334
- });
335
-
336
- it('should not process anything when no issues have new-story labels', async () => {
337
- const storyObjectWithoutNewStoryIssues: StoryObject = {
338
- story: mock<StoryOption>(),
339
- storyIssue: mock<Issue>(),
340
- issues: [regularIssue],
341
- };
342
-
343
- await useCase.run({
344
- project: basicProject,
345
- cacheUsed: false,
346
- org: 'testOrg',
347
- repo: 'testRepo',
348
- storyObjectMap: new Map([
349
- ['Story 1', storyObjectWithoutNewStoryIssues],
350
- ]),
351
- issues: [regularIssue, unassignedRegularIssue],
352
- });
353
-
354
- expect(mockProjectRepository.updateStoryList).not.toHaveBeenCalled();
355
- expect(mockIssueRepository.updateStory).not.toHaveBeenCalled();
356
- expect(mockIssueRepository.updateLabels).not.toHaveBeenCalled();
357
- });
358
-
359
- it('should create new stories for issues with new-story labels', async () => {
360
- const savedStories: FieldOption[] = [
361
- { id: 'story1', name: 'First Story', color: 'BLUE', description: '' },
362
- {
363
- id: 'newStoryId1',
364
- name: 'New Feature Request',
365
- description: '',
366
- color: 'RED',
367
- },
368
- {
369
- id: 'newStoryId2',
370
- name: 'Another New Story',
371
- description: '',
372
- color: 'RED',
373
- },
374
- { id: 'story2', name: 'Middle Story', color: 'GREEN', description: '' },
375
- { id: 'story3', name: 'Last Story', color: 'YELLOW', description: '' },
376
- ];
377
-
378
- mockProjectRepository.updateStoryList.mockResolvedValue(savedStories);
379
-
380
- await useCase.run({
381
- project: basicProject,
382
- cacheUsed: false,
383
- org: 'testOrg',
384
- repo: 'testRepo',
385
- storyObjectMap: new Map([['Story 1', storyObjectWithNewStoryIssues]]),
386
- issues: [],
387
- });
388
-
389
- expect(mockProjectRepository.updateStoryList).toHaveBeenCalledTimes(1);
390
- expect(mockProjectRepository.updateStoryList).toHaveBeenCalledWith(
391
- basicProject,
392
- [
393
- {
394
- id: 'story1',
395
- name: 'First Story',
396
- color: 'BLUE',
397
- description: '',
398
- },
399
- {
400
- id: null,
401
- name: 'New Feature Request',
402
- description: '',
403
- color: 'RED',
404
- },
405
- {
406
- id: null,
407
- name: 'Another New Story',
408
- description: '',
409
- color: 'RED',
410
- },
411
- {
412
- id: 'story2',
413
- name: 'Middle Story',
414
- color: 'GREEN',
415
- description: '',
416
- },
417
- {
418
- id: 'story3',
419
- name: 'Last Story',
420
- color: 'YELLOW',
421
- description: '',
422
- },
423
- ],
424
- );
425
-
426
- expect(mockIssueRepository.updateStory).toHaveBeenCalledTimes(2);
427
- expect(mockIssueRepository.updateStory).toHaveBeenNthCalledWith(
428
- 1,
429
- { ...basicProject, story: basicProject.story },
430
- issueWithNewStoryLabel,
431
- 'newStoryId1',
432
- );
433
- expect(mockIssueRepository.updateStory).toHaveBeenNthCalledWith(
434
- 2,
435
- { ...basicProject, story: basicProject.story },
436
- issueWithNewStoryLabelVariant,
437
- 'newStoryId2',
438
- );
439
-
440
- expect(mockIssueRepository.updateLabels).toHaveBeenCalledTimes(2);
441
- expect(mockIssueRepository.updateLabels).toHaveBeenNthCalledWith(
442
- 1,
443
- issueWithNewStoryLabel,
444
- ['bug', 'priority-high'],
445
- );
446
- expect(mockIssueRepository.updateLabels).toHaveBeenNthCalledWith(
447
- 2,
448
- issueWithNewStoryLabelVariant,
449
- ['enhancement'],
450
- );
451
- });
452
-
453
- it('should create new story for an unassigned issue with new-story label', async () => {
454
- const savedStories: FieldOption[] = [
455
- { id: 'story1', name: 'First Story', color: 'BLUE', description: '' },
456
- {
457
- id: 'newStoryId1',
458
- name: 'Unassigned Story Issue',
459
- description: '',
460
- color: 'RED',
461
- },
462
- { id: 'story2', name: 'Middle Story', color: 'GREEN', description: '' },
463
- { id: 'story3', name: 'Last Story', color: 'YELLOW', description: '' },
464
- ];
465
-
466
- mockProjectRepository.updateStoryList.mockResolvedValue(savedStories);
467
-
468
- const emptyStoryObjectMap = new Map<string, StoryObject>();
469
-
470
- await useCase.run({
471
- project: basicProject,
472
- cacheUsed: false,
473
- org: 'testOrg',
474
- repo: 'testRepo',
475
- storyObjectMap: emptyStoryObjectMap,
476
- issues: [unassignedIssueWithNewStoryLabel, unassignedRegularIssue],
477
- });
478
-
479
- expect(mockProjectRepository.updateStoryList).toHaveBeenCalledTimes(1);
480
- expect(mockProjectRepository.updateStoryList).toHaveBeenCalledWith(
481
- basicProject,
482
- [
483
- {
484
- id: 'story1',
485
- name: 'First Story',
486
- color: 'BLUE',
487
- description: '',
488
- },
489
- {
490
- id: null,
491
- name: 'Unassigned Story Issue',
492
- description: '',
493
- color: 'RED',
494
- },
495
- {
496
- id: 'story2',
497
- name: 'Middle Story',
498
- color: 'GREEN',
499
- description: '',
500
- },
501
- {
502
- id: 'story3',
503
- name: 'Last Story',
504
- color: 'YELLOW',
505
- description: '',
506
- },
507
- ],
508
- );
509
-
510
- expect(mockIssueRepository.updateStory).toHaveBeenCalledTimes(1);
511
- expect(mockIssueRepository.updateStory).toHaveBeenCalledWith(
512
- { ...basicProject, story: basicProject.story },
513
- unassignedIssueWithNewStoryLabel,
514
- 'newStoryId1',
515
- );
516
-
517
- expect(mockIssueRepository.updateLabels).toHaveBeenCalledTimes(1);
518
- expect(mockIssueRepository.updateLabels).toHaveBeenCalledWith(
519
- unassignedIssueWithNewStoryLabel,
520
- [],
521
- );
522
- });
523
-
524
- it('should skip issues when no matching story is found in saved list', async () => {
525
- const issueWithUnmatchedTitle: Issue = {
526
- ...mock<Issue>(),
527
- url: 'https://github.com/org/repo/issues/1001',
528
- title: 'Unmatched Title',
529
- number: 1001,
530
- story: 'Existing Story',
531
- labels: ['new-story'],
532
- };
533
-
534
- const storyObject: StoryObject = {
535
- story: mock<StoryOption>(),
536
- storyIssue: mock<Issue>(),
537
- issues: [issueWithUnmatchedTitle],
538
- };
539
-
540
- mockProjectRepository.updateStoryList.mockResolvedValue([
541
- { id: 'story1', name: 'First Story', color: 'BLUE', description: '' },
542
- {
543
- id: 'differentId',
544
- name: 'Different Name',
545
- color: 'RED',
546
- description: '',
547
- },
548
- ]);
549
-
550
- await useCase.run({
551
- project: basicProject,
552
- cacheUsed: false,
553
- org: 'testOrg',
554
- repo: 'testRepo',
555
- storyObjectMap: new Map([['Story 1', storyObject]]),
556
- issues: [],
557
- });
558
-
559
- expect(mockProjectRepository.updateStoryList).toHaveBeenCalledTimes(1);
560
- expect(mockIssueRepository.updateStory).not.toHaveBeenCalled();
561
- expect(mockIssueRepository.updateLabels).not.toHaveBeenCalled();
562
- });
563
-
564
- it('should link the issue to the existing option and remove the label without rewriting the option list when an option already carries the issue title', async () => {
565
- const projectWithExistingOption: Project = {
566
- ...basicProject,
567
- story: {
568
- name: 'Story Field',
569
- fieldId: 'storyFieldId',
570
- databaseId: 123,
571
- stories: [
572
- {
573
- id: 'story1',
574
- name: 'First Story',
575
- color: 'BLUE',
576
- description: '',
577
- },
578
- {
579
- id: 'existingNewStoryId',
580
- name: 'New Feature Request',
581
- color: 'RED',
582
- description: '',
583
- },
584
- ],
585
- workflowManagementStory: { id: 'workflow1', name: 'Workflow Story' },
586
- },
587
- };
588
-
589
- const storyObject: StoryObject = {
590
- story: {
591
- ...mock<StoryOption>(),
592
- id: 'story1',
593
- name: 'Existing Story',
594
- color: 'BLUE',
595
- },
596
- storyIssue: mock<Issue>(),
597
- issues: [issueWithNewStoryLabel],
598
- };
599
-
600
- await useCase.run({
601
- project: projectWithExistingOption,
602
- cacheUsed: false,
603
- org: 'testOrg',
604
- repo: 'testRepo',
605
- storyObjectMap: new Map([['Story 1', storyObject]]),
606
- issues: [],
607
- });
608
-
609
- expect(mockProjectRepository.updateStoryList).not.toHaveBeenCalled();
610
- expect(mockIssueRepository.updateStory).toHaveBeenCalledTimes(1);
611
- expect(mockIssueRepository.updateStory).toHaveBeenCalledWith(
612
- {
613
- ...projectWithExistingOption,
614
- story: projectWithExistingOption.story,
615
- },
616
- issueWithNewStoryLabel,
617
- 'existingNewStoryId',
618
- );
619
- expect(mockIssueRepository.updateLabels).toHaveBeenCalledWith(
620
- issueWithNewStoryLabel,
621
- ['bug', 'priority-high'],
622
- );
623
- });
624
- });
625
-
626
- describe('findNewStoryIssues', () => {
627
- const issueWithNoHyphen: Issue = {
628
- ...mock<Issue>(),
629
- url: 'https://github.com/org/repo/issues/1002',
630
- title: 'No Hyphen Issue',
631
- number: 1002,
632
- story: 'Some Story',
633
- labels: ['newstory'],
634
- };
635
-
636
- const issueWithMixedCase: Issue = {
637
- ...mock<Issue>(),
638
- url: 'https://github.com/org/repo/issues/1003',
639
- title: 'Mixed Case Issue',
640
- number: 1003,
641
- story: 'Some Story',
642
- labels: ['NEW-STORY'],
643
- };
644
-
645
- const anotherIssueWithLabel: Issue = {
646
- ...mock<Issue>(),
647
- url: 'https://github.com/org/repo/issues/1004',
648
- title: 'Another Issue',
649
- number: 1004,
650
- story: 'Some Story',
651
- labels: ['newstory'],
652
- };
653
-
654
- const storyObjectWithRegularIssue: StoryObject = {
655
- story: mock<StoryOption>(),
656
- storyIssue: mock<Issue>(),
657
- issues: [regularIssue],
658
- };
659
-
660
- const storyObjectWithNoHyphen: StoryObject = {
661
- story: mock<StoryOption>(),
662
- storyIssue: mock<Issue>(),
663
- issues: [issueWithNoHyphen],
664
- };
665
-
666
- const storyObjectWithMixedCase: StoryObject = {
667
- story: mock<StoryOption>(),
668
- storyIssue: mock<Issue>(),
669
- issues: [issueWithMixedCase],
670
- };
671
-
672
- const storyObjectWithAnotherIssue: StoryObject = {
673
- story: mock<StoryOption>(),
674
- storyIssue: mock<Issue>(),
675
- issues: [anotherIssueWithLabel],
676
- };
677
-
678
- const testCases: Array<{
679
- description: string;
680
- storyObjectMap: Map<string, StoryObject>;
681
- issues: Issue[];
682
- expectedLength: number;
683
- expectedIssues: Issue[];
684
- }> = [
685
- {
686
- description:
687
- 'should return empty array when no issues have new-story label',
688
- storyObjectMap: new Map([['Story 1', storyObjectWithRegularIssue]]),
689
- issues: [unassignedRegularIssue],
690
- expectedLength: 0,
691
- expectedIssues: [],
692
- },
693
- {
694
- description: 'should find issues with "new-story" label (with hyphen)',
695
- storyObjectMap: new Map([['Story 1', storyObjectWithNewStoryIssues]]),
696
- issues: [],
697
- expectedLength: 2,
698
- expectedIssues: [issueWithNewStoryLabel, issueWithNewStoryLabelVariant],
699
- },
700
- {
701
- description: 'should find issues with "newstory" label (no hyphen)',
702
- storyObjectMap: new Map([['Story 1', storyObjectWithNoHyphen]]),
703
- issues: [],
704
- expectedLength: 1,
705
- expectedIssues: [issueWithNoHyphen],
706
- },
707
- {
708
- description: 'should find issues with mixed case "NEW-STORY" label',
709
- storyObjectMap: new Map([['Story 1', storyObjectWithMixedCase]]),
710
- issues: [],
711
- expectedLength: 1,
712
- expectedIssues: [issueWithMixedCase],
713
- },
714
- {
715
- description: 'should find issues across multiple story objects',
716
- storyObjectMap: new Map([
717
- ['Story 1', storyObjectWithNewStoryIssues],
718
- ['Story 2', storyObjectWithAnotherIssue],
719
- ]),
720
- issues: [],
721
- expectedLength: 3,
722
- expectedIssues: [
723
- issueWithNewStoryLabel,
724
- issueWithNewStoryLabelVariant,
725
- anotherIssueWithLabel,
726
- ],
727
- },
728
- {
729
- description:
730
- 'should find unassigned issues with new-story label not present in storyObjectMap',
731
- storyObjectMap: new Map<string, StoryObject>(),
732
- issues: [unassignedIssueWithNewStoryLabel, unassignedRegularIssue],
733
- expectedLength: 1,
734
- expectedIssues: [unassignedIssueWithNewStoryLabel],
735
- },
736
- {
737
- description:
738
- 'should not duplicate issue that appears in both storyObjectMap and issues array',
739
- storyObjectMap: new Map([['Story 1', storyObjectWithNewStoryIssues]]),
740
- issues: [issueWithNewStoryLabel, unassignedIssueWithNewStoryLabel],
741
- expectedLength: 3,
742
- expectedIssues: [
743
- issueWithNewStoryLabel,
744
- issueWithNewStoryLabelVariant,
745
- unassignedIssueWithNewStoryLabel,
746
- ],
747
- },
748
- ];
749
-
750
- test.each(testCases)(
751
- '$description',
752
- ({ storyObjectMap, issues, expectedLength, expectedIssues }) => {
753
- const result = useCase.findNewStoryIssues(storyObjectMap, issues);
754
-
755
- expect(result).toHaveLength(expectedLength);
756
- expectedIssues.forEach((issue) => {
757
- expect(result).toContain(issue);
758
- });
759
- },
760
- );
761
- });
762
-
763
- describe('createNewStoryList', () => {
764
- const storyObjectWithSingleNewStory: StoryObject = {
765
- story: mock<StoryOption>(),
766
- storyIssue: mock<Issue>(),
767
- issues: [issueWithNewStoryLabel],
768
- };
769
-
770
- const storyObjectWithRegularIssueOnly: StoryObject = {
771
- story: mock<StoryOption>(),
772
- storyIssue: mock<Issue>(),
773
- issues: [regularIssue],
774
- };
775
-
776
- const testCases: Array<{
777
- description: string;
778
- projectStory: NonNullable<Project['story']>;
779
- storyObjectMap: Map<string, StoryObject>;
780
- issues: Issue[];
781
- expected: (Omit<FieldOption, 'id'> & { id: FieldOption['id'] | null })[];
782
- }> = [
783
- {
784
- description:
785
- 'should create new story list with single new story at the beginning',
786
- projectStory: {
787
- name: 'Story Field',
788
- fieldId: 'storyFieldId',
789
- databaseId: 123,
790
- stories: [
791
- {
792
- id: 'story1',
793
- name: 'First Story',
794
- color: 'BLUE',
795
- description: '',
796
- },
797
- {
798
- id: 'story2',
799
- name: 'Middle Story',
800
- color: 'GREEN',
801
- description: '',
802
- },
803
- {
804
- id: 'story3',
805
- name: 'Last Story',
806
- color: 'YELLOW',
807
- description: '',
808
- },
809
- ],
810
- workflowManagementStory: { id: 'workflow1', name: 'Workflow Story' },
811
- },
812
- storyObjectMap: new Map([['Story 1', storyObjectWithSingleNewStory]]),
813
- issues: [],
814
- expected: [
815
- { id: 'story1', name: 'First Story', color: 'BLUE', description: '' },
816
- {
817
- id: null,
818
- name: 'New Feature Request',
819
- color: 'RED',
820
- description: '',
821
- },
822
- {
823
- id: 'story2',
824
- name: 'Middle Story',
825
- color: 'GREEN',
826
- description: '',
827
- },
828
- {
829
- id: 'story3',
830
- name: 'Last Story',
831
- color: 'YELLOW',
832
- description: '',
833
- },
834
- ],
835
- },
836
- {
837
- description: 'should create new story list with multiple new stories',
838
- projectStory: {
839
- name: 'Story Field',
840
- fieldId: 'storyFieldId',
841
- databaseId: 123,
842
- stories: [
843
- {
844
- id: 'story1',
845
- name: 'First Story',
846
- color: 'BLUE',
847
- description: '',
848
- },
849
- {
850
- id: 'story2',
851
- name: 'Middle Story',
852
- color: 'GREEN',
853
- description: '',
854
- },
855
- {
856
- id: 'story3',
857
- name: 'Last Story',
858
- color: 'YELLOW',
859
- description: '',
860
- },
861
- ],
862
- workflowManagementStory: { id: 'workflow1', name: 'Workflow Story' },
863
- },
864
- storyObjectMap: new Map([['Story 1', storyObjectWithNewStoryIssues]]),
865
- issues: [],
866
- expected: [
867
- { id: 'story1', name: 'First Story', color: 'BLUE', description: '' },
868
- {
869
- id: null,
870
- name: 'New Feature Request',
871
- color: 'RED',
872
- description: '',
873
- },
874
- {
875
- id: null,
876
- name: 'Another New Story',
877
- color: 'RED',
878
- description: '',
879
- },
880
- {
881
- id: 'story2',
882
- name: 'Middle Story',
883
- color: 'GREEN',
884
- description: '',
885
- },
886
- {
887
- id: 'story3',
888
- name: 'Last Story',
889
- color: 'YELLOW',
890
- description: '',
891
- },
892
- ],
893
- },
894
- {
895
- description: 'should handle empty existing stories list',
896
- projectStory: {
897
- name: 'Story Field',
898
- fieldId: 'storyFieldId',
899
- databaseId: 123,
900
- stories: [],
901
- workflowManagementStory: { id: 'workflow1', name: 'Workflow Story' },
902
- },
903
- storyObjectMap: new Map([['Story 1', storyObjectWithSingleNewStory]]),
904
- issues: [],
905
- expected: [
906
- {
907
- id: null,
908
- name: 'New Feature Request',
909
- color: 'RED',
910
- description: '',
911
- },
912
- ],
913
- },
914
- {
915
- description: 'should handle single existing story',
916
- projectStory: {
917
- name: 'Story Field',
918
- fieldId: 'storyFieldId',
919
- databaseId: 123,
920
- stories: [
921
- {
922
- id: 'story1',
923
- name: 'Only Story',
924
- color: 'BLUE',
925
- description: '',
926
- },
927
- ],
928
- workflowManagementStory: { id: 'workflow1', name: 'Workflow Story' },
929
- },
930
- storyObjectMap: new Map([['Story 1', storyObjectWithSingleNewStory]]),
931
- issues: [],
932
- expected: [
933
- { id: 'story1', name: 'Only Story', color: 'BLUE', description: '' },
934
- {
935
- id: null,
936
- name: 'New Feature Request',
937
- color: 'RED',
938
- description: '',
939
- },
940
- ],
941
- },
942
- {
943
- description: 'should handle two existing stories',
944
- projectStory: {
945
- name: 'Story Field',
946
- fieldId: 'storyFieldId',
947
- databaseId: 123,
948
- stories: [
949
- {
950
- id: 'story1',
951
- name: 'First Story',
952
- color: 'BLUE',
953
- description: '',
954
- },
955
- {
956
- id: 'story2',
957
- name: 'Second Story',
958
- color: 'GREEN',
959
- description: '',
960
- },
961
- ],
962
- workflowManagementStory: { id: 'workflow1', name: 'Workflow Story' },
963
- },
964
- storyObjectMap: new Map([['Story 1', storyObjectWithSingleNewStory]]),
965
- issues: [],
966
- expected: [
967
- { id: 'story1', name: 'First Story', color: 'BLUE', description: '' },
968
- {
969
- id: null,
970
- name: 'New Feature Request',
971
- color: 'RED',
972
- description: '',
973
- },
974
- {
975
- id: 'story2',
976
- name: 'Second Story',
977
- color: 'GREEN',
978
- description: '',
979
- },
980
- ],
981
- },
982
- {
983
- description: 'should handle no new story issues',
984
- projectStory: {
985
- name: 'Story Field',
986
- fieldId: 'storyFieldId',
987
- databaseId: 123,
988
- stories: [
989
- {
990
- id: 'story1',
991
- name: 'First Story',
992
- color: 'BLUE',
993
- description: '',
994
- },
995
- {
996
- id: 'story2',
997
- name: 'Middle Story',
998
- color: 'GREEN',
999
- description: '',
1000
- },
1001
- {
1002
- id: 'story3',
1003
- name: 'Last Story',
1004
- color: 'YELLOW',
1005
- description: '',
1006
- },
1007
- ],
1008
- workflowManagementStory: { id: 'workflow1', name: 'Workflow Story' },
1009
- },
1010
- storyObjectMap: new Map([['Story 1', storyObjectWithRegularIssueOnly]]),
1011
- issues: [unassignedRegularIssue],
1012
- expected: [
1013
- { id: 'story1', name: 'First Story', color: 'BLUE', description: '' },
1014
- {
1015
- id: 'story2',
1016
- name: 'Middle Story',
1017
- color: 'GREEN',
1018
- description: '',
1019
- },
1020
- {
1021
- id: 'story3',
1022
- name: 'Last Story',
1023
- color: 'YELLOW',
1024
- description: '',
1025
- },
1026
- ],
1027
- },
1028
- {
1029
- description:
1030
- 'should include unassigned issue with new-story label in new story list',
1031
- projectStory: {
1032
- name: 'Story Field',
1033
- fieldId: 'storyFieldId',
1034
- databaseId: 123,
1035
- stories: [
1036
- {
1037
- id: 'story1',
1038
- name: 'First Story',
1039
- color: 'BLUE',
1040
- description: '',
1041
- },
1042
- {
1043
- id: 'story2',
1044
- name: 'Middle Story',
1045
- color: 'GREEN',
1046
- description: '',
1047
- },
1048
- ],
1049
- workflowManagementStory: { id: 'workflow1', name: 'Workflow Story' },
1050
- },
1051
- storyObjectMap: new Map<string, StoryObject>(),
1052
- issues: [unassignedIssueWithNewStoryLabel],
1053
- expected: [
1054
- { id: 'story1', name: 'First Story', color: 'BLUE', description: '' },
1055
- {
1056
- id: null,
1057
- name: 'Unassigned Story Issue',
1058
- color: 'RED',
1059
- description: '',
1060
- },
1061
- {
1062
- id: 'story2',
1063
- name: 'Middle Story',
1064
- color: 'GREEN',
1065
- description: '',
1066
- },
1067
- ],
1068
- },
1069
- ];
1070
-
1071
- test.each(testCases)(
1072
- '$description',
1073
- ({ projectStory, storyObjectMap, issues, expected }) => {
1074
- const result = useCase.createNewStoryList(
1075
- projectStory,
1076
- storyObjectMap,
1077
- issues,
1078
- );
1079
-
1080
- expect(result).toEqual(expected);
1081
- },
1082
- );
1083
- });
1084
- });