github-issue-tower-defence-management 1.112.6 → 1.113.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/bin/adapter/entry-points/cli/index.js +1 -0
  3. package/bin/adapter/entry-points/cli/index.js.map +1 -1
  4. package/bin/adapter/entry-points/console/consoleReadApi.js +47 -1
  5. package/bin/adapter/entry-points/console/consoleReadApi.js.map +1 -1
  6. package/bin/adapter/entry-points/console/ui-dist/assets/{index-DKFbU8lr.css → index-CEJmPNRK.css} +1 -1
  7. package/bin/adapter/entry-points/console/ui-dist/assets/{index-DUygHx5u.js → index-DfNrA5uV.js} +36 -36
  8. package/bin/adapter/entry-points/console/ui-dist/index.html +2 -2
  9. package/bin/adapter/entry-points/console/webServer.js +6 -0
  10. package/bin/adapter/entry-points/console/webServer.js.map +1 -1
  11. package/package.json +1 -1
  12. package/src/adapter/entry-points/cli/index.ts +5 -1
  13. package/src/adapter/entry-points/console/consoleReadApi.test.ts +89 -0
  14. package/src/adapter/entry-points/console/consoleReadApi.ts +71 -0
  15. package/src/adapter/entry-points/console/ui/e2e/consoleScenario.spec.ts +44 -0
  16. package/src/adapter/entry-points/console/ui/e2e/consoleTestHarness.ts +31 -8
  17. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsoleItemDetail.stories.tsx +41 -0
  18. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsoleItemDetail.test.tsx +56 -0
  19. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsoleItemDetail.tsx +15 -0
  20. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsolePullRequestDetail.test.tsx +46 -0
  21. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsolePullRequestDetail.tsx +8 -0
  22. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsolePullRequestStatusBadges.stories.tsx +41 -0
  23. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsolePullRequestStatusBadges.test.tsx +72 -0
  24. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsolePullRequestStatusBadges.tsx +71 -0
  25. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleCaches.ts +5 -0
  26. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleItemDetailData.test.ts +20 -0
  27. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleItemDetailData.ts +17 -0
  28. package/src/adapter/entry-points/console/ui/src/features/console/lib/consoleApi.test.ts +41 -0
  29. package/src/adapter/entry-points/console/ui/src/features/console/lib/consoleApi.ts +36 -5
  30. package/src/adapter/entry-points/console/ui/src/features/console/logic/types.ts +9 -0
  31. package/src/adapter/entry-points/console/ui/src/features/console/pages/ConsoleItemDetailContainer.test.tsx +9 -0
  32. package/src/adapter/entry-points/console/ui/src/features/console/pages/ConsoleItemDetailContainer.tsx +1 -0
  33. package/src/adapter/entry-points/console/ui/src/index.css +12 -0
  34. package/src/adapter/entry-points/console/ui-dist/assets/{index-DKFbU8lr.css → index-CEJmPNRK.css} +1 -1
  35. package/src/adapter/entry-points/console/ui-dist/assets/{index-DUygHx5u.js → index-DfNrA5uV.js} +36 -36
  36. package/src/adapter/entry-points/console/ui-dist/index.html +2 -2
  37. package/src/adapter/entry-points/console/webServer.test.ts +52 -1
  38. package/src/adapter/entry-points/console/webServer.ts +13 -0
  39. package/types/adapter/entry-points/cli/index.d.ts.map +1 -1
  40. package/types/adapter/entry-points/console/consoleReadApi.d.ts +20 -0
  41. package/types/adapter/entry-points/console/consoleReadApi.d.ts.map +1 -1
  42. package/types/adapter/entry-points/console/webServer.d.ts +2 -1
  43. package/types/adapter/entry-points/console/webServer.d.ts.map +1 -1
@@ -4,8 +4,8 @@
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <title>TDPM Console</title>
7
- <script type="module" crossorigin src="/assets/index-DUygHx5u.js"></script>
8
- <link rel="stylesheet" crossorigin href="/assets/index-DKFbU8lr.css">
7
+ <script type="module" crossorigin src="/assets/index-DfNrA5uV.js"></script>
8
+ <link rel="stylesheet" crossorigin href="/assets/index-CEJmPNRK.css">
9
9
  </head>
10
10
  <body>
11
11
  <div id="root"></div>
@@ -283,6 +283,7 @@ const handleReadApi = async (options, requestPath, searchParams) => {
283
283
  return null;
284
284
  }
285
285
  const cache = options.issueTitleStateCache ?? null;
286
+ const pullRequestStatusCache = options.pullRequestStatusCache ?? null;
286
287
  const url = searchParams.get('url');
287
288
  switch (requestPath) {
288
289
  case '/api/itembody':
@@ -300,6 +301,11 @@ const handleReadApi = async (options, requestPath, searchParams) => {
300
301
  return null;
301
302
  }
302
303
  return (0, consoleReadApi_1.handleIssueTitle)(issueRepository, cache, url);
304
+ case '/api/pullrequeststatus':
305
+ if (pullRequestStatusCache === null) {
306
+ return null;
307
+ }
308
+ return (0, consoleReadApi_1.handlePullRequestStatus)(issueRepository, pullRequestStatusCache, url);
303
309
  default:
304
310
  return null;
305
311
  }
@@ -1 +1 @@
1
- {"version":3,"file":"webServer.js","sourceRoot":"","sources":["../../../../src/adapter/entry-points/console/webServer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B;AAC7B,uCAAyB;AACzB,2CAA6B;AAE7B,+DAI+B;AAC/B,qDAQ0B;AAC1B,+DAQ+B;AAC/B,2DAAsE;AACtE,uEAGmC;AACnC,kGAAkG;AAErF,QAAA,gBAAgB,GAAG,IAAI,CAAC;AAExB,QAAA,+BAA+B,GAAG,8CAAuB,CAAC;AAE1D,QAAA,oBAAoB,GAAG,YAAY,CAAC;AAEjD,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;CAc9B,CAAC;AAEF,MAAM,UAAU,GAA2B;IACzC,OAAO,EAAE,0BAA0B;IACnC,KAAK,EAAE,gCAAgC;IACvC,MAAM,EAAE,gCAAgC;IACxC,MAAM,EAAE,yBAAyB;IACjC,OAAO,EAAE,iCAAiC;IAC1C,MAAM,EAAE,eAAe;IACvB,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,cAAc;IACtB,MAAM,EAAE,iCAAiC;IACzC,OAAO,EAAE,WAAW;IACpB,QAAQ,EAAE,YAAY;CACvB,CAAC;AAEK,MAAM,aAAa,GAAG,CAAC,WAAmB,EAAW,EAAE,CAC5D,WAAW;KACR,KAAK,CAAC,GAAG,CAAC;KACV,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AAHzD,QAAA,aAAa,iBAG4C;AAE/D,MAAM,aAAa,GAAG,CAAC,WAAmB,EAAW,EAAE,CAC5D,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC;IAC/B,WAAW,KAAK,MAAM;IACtB,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAHnB,QAAA,aAAa,iBAGM;AAEhC,MAAM,WAAW,GAAG,mBAAmB,CAAC;AAEjC,MAAM,iBAAiB,GAAG,CAAC,WAAmB,EAAW,EAAE;IAChE,MAAM,QAAQ,GAAG,WAAW;SACzB,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC3C,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;QACtD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACxB,OAAO,4CAAsB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC9C,CAAC,CAAC;AAnBW,QAAA,iBAAiB,qBAmB5B;AAEK,MAAM,YAAY,GAAG,CAC1B,aAAqB,EACrB,aAA4B,EACnB,EAAE,CAAC,aAAa,KAAK,IAAI,IAAI,aAAa,KAAK,aAAa,CAAC;AAH3D,QAAA,YAAY,gBAG+C;AAEjE,MAAM,oBAAoB,GAAG,CAClC,UAAoC,EACpC,WAA0C,EAC3B,EAAE;IACjB,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5D,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9D,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAXW,QAAA,oBAAoB,wBAW/B;AAEF,MAAM,kBAAkB,GAAG,CAAC,QAAgB,EAAU,EAAE;IACtD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IACvD,OAAO,UAAU,CAAC,SAAS,CAAC,IAAI,0BAA0B,CAAC;AAC7D,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAC5B,SAAiB,EACjB,WAAmB,EACJ,EAAE;IACjB,MAAM,YAAY,GAAG,WAAW,KAAK,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC;IACvE,MAAM,UAAU,GAAG,IAAI;SACpB,SAAS,CAAC,YAAY,CAAC;SACvB,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC7C,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAClD,IACE,iBAAiB,KAAK,YAAY;QAClC,CAAC,iBAAiB,CAAC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,EACtD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,QAAgB,EAAiB,EAAE;IACzD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAiBF,MAAM,mBAAmB,GAAG,oBAAoB,CAAC;AAEjD,MAAM,iBAAiB,GAAG,yBAAyB,CAAC;AAEvC,QAAA,sBAAsB,GAAG,WAAW,CAAC;AAErC,QAAA,wBAAwB,GAAG,UAAU,CAAC;AAEnD,MAAM,mBAAmB,GAAG,UAAU,CAAC;AAEhC,MAAM,wBAAwB,GAAG,CACtC,YAAoB,EACpB,WAAmB,EACJ,EAAE;IACjB,IAAI,WAAW,KAAK,8BAAsB,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;IAC/D,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAChD,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAClD,IAAI,iBAAiB,KAAK,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,mBAAmB,CAAC,EAAE,CAAC;QACvE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAC;AAdW,QAAA,wBAAwB,4BAcnC;AAEK,MAAM,yBAAyB,GAAG,CACvC,aAAqB,EACrB,WAAmB,EACJ,EAAE;IACjB,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC/D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/D,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IACrD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACjD,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAClD,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAC;AAlBW,QAAA,yBAAyB,6BAkBpC;AAEF,MAAM,YAAY,GAAG,CAAC,QAA6B,EAAQ,EAAE;IAC3D,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE;QACtB,cAAc,EAAE,2BAA2B;QAC3C,eAAe,EAAE,UAAU;KAC5B,CAAC,CAAC;IACH,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAC5B,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,QAA6B,EAAQ,EAAE;IAC/D,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE;QACtB,cAAc,EAAE,2BAA2B;QAC3C,eAAe,EAAE,UAAU;KAC5B,CAAC,CAAC;IACH,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AAC/B,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,QAA6B,EAAQ,EAAE;IAClE,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE;QACtB,cAAc,EAAE,0BAA0B;QAC1C,eAAe,EAAE,UAAU;KAC5B,CAAC,CAAC;IACH,QAAQ,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CACrB,OAAyB,EACzB,QAA6B,EACvB,EAAE;IACR,MAAM,aAAa,GAAG,qBAAqB,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAC9E,MAAM,YAAY,GAChB,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IAChE,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC9B,OAAO;IACT,CAAC;IACD,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE;QACtB,cAAc,EAAE,0BAA0B;QAC1C,eAAe,EAAE,UAAU;KAC5B,CAAC,CAAC;IACH,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CACf,QAA6B,EAC7B,UAAkB,EAClB,IAAa,EACP,EAAE;IACR,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE;QAC7B,cAAc,EAAE,iCAAiC;QACjD,eAAe,EAAE,UAAU;KAC5B,CAAC,CAAC;IACH,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAChB,QAA6B,EAC7B,WAAmB,EACnB,IAAY,EACN,EAAE;IACR,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE;QACtB,cAAc,EAAE,WAAW;QAC3B,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QACrC,eAAe,EAAE,sBAAsB;KACxC,CAAC,CAAC;IACH,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,KAAK,EAC5B,OAAyB,EACzB,QAA6B,EAC7B,YAA6B,EACd,EAAE;IACjB,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC;IAChD,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrD,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC,CAAC;QACrE,OAAO;IACT,CAAC;IACD,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAC1C,MAAM,MAAM,GAAG,MAAM,IAAA,qCAAiB,EACpC,GAAG,EACH,WAAW,EACX,OAAO,CAAC,YAAY,IAAI,SAAS,CAClC,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAC/D,OAAO;IACT,CAAC;IACD,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CACvB,QAA6B,EAC7B,UAAkB,EAClB,WAAmB,EACnB,IAAY,EACN,EAAE;IACR,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE;QAC7B,cAAc,EAAE,WAAW;QAC3B,eAAe,EAAE,UAAU;KAC5B,CAAC,CAAC;IACH,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,OAA6B,EAAmB,EAAE,CACzE,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;IAC9B,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAiB,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9D,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1E,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEL,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAoC,EAAE,CACpE,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAEvE,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAkC,EAAE;IACvE,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,KAAK,EACzB,OAAyB,EACzB,WAAmB,EACnB,YAA6B,EAC0B,EAAE;IACzD,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC;IACxD,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,oBAAoB,IAAI,IAAI,CAAC;IACnD,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpC,QAAQ,WAAW,EAAE,CAAC;QACpB,KAAK,eAAe;YAClB,OAAO,IAAA,+BAAc,EAAC,eAAe,EAAE,GAAG,CAAC,CAAC;QAC9C,KAAK,eAAe;YAClB,OAAO,IAAA,+BAAc,EAAC,eAAe,EAAE,GAAG,CAAC,CAAC;QAC9C,KAAK,cAAc;YACjB,OAAO,IAAA,8BAAa,EAAC,eAAe,EAAE,GAAG,CAAC,CAAC;QAC7C,KAAK,gBAAgB;YACnB,OAAO,IAAA,gCAAe,EAAC,eAAe,EAAE,GAAG,CAAC,CAAC;QAC/C,KAAK,iBAAiB;YACpB,OAAO,IAAA,iCAAgB,EAAC,eAAe,EAAE,GAAG,CAAC,CAAC;QAChD,KAAK,iBAAiB;YACpB,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,IAAA,iCAAgB,EAAC,eAAe,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QACvD;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,KAAc,EAAU,EAAE;IACvD,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvD,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CACxB,OAAgC,EAChC,WAAmB,EACnB,IAA6B,EAC0B,EAAE;IACzD,QAAQ,WAAW,EAAE,CAAC;QACpB,KAAK,aAAa;YAChB,OAAO,IAAA,kCAAY,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACrC,KAAK,aAAa;YAChB,OAAO,IAAA,kCAAY,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACrC,KAAK,aAAa;YAChB,OAAO,IAAA,kCAAY,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACrC,KAAK,cAAc;YACjB,OAAO,IAAA,mCAAa,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACtC,KAAK,oBAAoB;YACvB,OAAO,IAAA,yCAAmB,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC5C;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,KAAK,EAC9B,OAAyB,EACzB,WAAmB,EACnB,IAA6B,EAC0B,EAAE;IACzD,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC;IACxD,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC;IACtD,IAAI,eAAe,KAAK,IAAI,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,OAAO,GAA4B;QACvC,eAAe;QACf,cAAc;QACd,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;KACnD,CAAC;IACF,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;IACjE,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,OAAO,MAAM,UAAU,CAAC;IAC1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;QACjD,OAAO;YACL,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,EAAE,KAAK,EAAE,qBAAqB,CAAC,KAAK,CAAC,EAAE;SAC9C,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,KAAK,EAChC,OAAyB,EACzB,OAA6B,EAC7B,QAA6B,EAC7B,WAAmB,EACnB,YAA6B,EACd,EAAE;IACjB,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IAEvD,IAAI,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACpC,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACrB,IAAI,WAAW,KAAK,gCAAwB,EAAE,CAAC;gBAC7C,MAAM,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;gBACxD,OAAO;YACT,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,aAAa,CACpC,OAAO,EACP,WAAW,EACX,YAAY,CACb,CAAC;YACF,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;gBACxB,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACvB,OAAO;YACT,CAAC;YACD,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;YAC3D,OAAO;QACT,CAAC;QACD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;YAC3C,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;gBACxB,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;gBACxD,OAAO;YACT,CAAC;YACD,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAC9C,OAAO,EACP,WAAW,EACX,UAAU,CACX,CAAC;YACF,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;gBAC7B,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACvB,OAAO;YACT,CAAC;YACD,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC,UAAU,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QACD,YAAY,CAAC,QAAQ,CAAC,CAAC;QACvB,OAAO;IACT,CAAC;IAED,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrB,IAAI,WAAW,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAChD,IAAI,OAAO,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;gBACnC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACvB,OAAO;YACT,CAAC;YACD,MAAM,YAAY,GAAG,IAAA,iCAAyB,EAC5C,OAAO,CAAC,aAAa,EACrB,WAAW,CACZ,CAAC;YACF,MAAM,WAAW,GACf,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YAC9D,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;gBACzB,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACvB,OAAO;YACT,CAAC;YACD,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE;gBACtB,cAAc,EAAE,iCAAiC;gBACjD,eAAe,EAAE,UAAU;gBAC3B,gBAAgB,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC;aAC7C,CAAC,CAAC;YACH,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,IAAA,2CAAqB,EAAC,WAAW,CAAC,CAAC;QACrD,IAAI,SAAS,KAAK,IAAI,IAAI,OAAO,CAAC,oBAAoB,KAAK,IAAI,EAAE,CAAC;YAChE,MAAM,YAAY,GAAG,IAAA,8CAAwB,EAC3C,OAAO,CAAC,oBAAoB,EAC5B,SAAS,CACV,CAAC;YACF,gBAAgB,CACd,QAAQ,EACR,YAAY,CAAC,UAAU,EACvB,YAAY,CAAC,WAAW,EACxB,YAAY,CAAC,IAAI,CAClB,CAAC;YACF,OAAO;QACT,CAAC;IACH,CAAC;IAED,YAAY,CAAC,QAAQ,CAAC,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,CACjC,YAA2B,EAC3B,WAAmB,EACJ,EAAE;IACjB,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,iBAAiB,GAAG,IAAA,gCAAwB,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAC9E,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,cAAc,CAAC,iBAAiB,CAAC,CAAC;AAC3C,CAAC,CAAC;AAEK,MAAM,uBAAuB,GAAG,CACrC,OAAyB,EACzB,WAAmB,EACJ,EAAE;IACjB,IACE,OAAO,CAAC,gBAAgB,KAAK,IAAI;QACjC,IAAA,sDAA4B,EAAC;YAC3B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,YAAY,EAAE,OAAO,CAAC,qBAAqB;SAC5C,CAAC,EACF,CAAC;QACD,MAAM,aAAa,GAAG,IAAA,8CAAoB,EAAC;YACzC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,YAAY,EAAE,OAAO,CAAC,qBAAqB;SAC5C,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,0BAA0B,CAAC,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AACvE,CAAC,CAAC;AAlBW,QAAA,uBAAuB,2BAkBlC;AAEK,MAAM,gBAAgB,GAAG,KAAK,EACnC,OAAyB,EACzB,OAA6B,EAC7B,QAA6B,EACd,EAAE;IACjB,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,EAAE,kBAAkB,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC;IAExC,IAAI,IAAA,qBAAa,EAAC,WAAW,CAAC,EAAE,CAAC;QAC/B,YAAY,CAAC,QAAQ,CAAC,CAAC;QACvB,OAAO;IACT,CAAC;IAED,IAAI,WAAW,KAAK,8BAAsB,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QACvD,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACrB,YAAY,CAAC,QAAQ,CAAC,CAAC;YACvB,OAAO;QACT,CAAC;QACD,MAAM,gBAAgB,GAAG,IAAA,+BAAuB,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACvE,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;YAC9B,YAAY,CAAC,QAAQ,CAAC,CAAC;YACvB,OAAO;QACT,CAAC;QACD,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE;YACtB,cAAc,EAAE,0BAA0B;YAC1C,eAAe,EAAE,UAAU;YAC3B,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC;SAClD,CAAC,CAAC;QACH,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC/B,OAAO;IACT,CAAC;IAED,IAAI,IAAA,qBAAa,EAAC,WAAW,CAAC,EAAE,CAAC;QAC/B,MAAM,aAAa,GAAG,IAAA,4BAAoB,EACxC,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAChC,OAAO,CAAC,OAAO,CAAC,4BAAoB,CAAC,CACtC,CAAC;QACF,IAAI,CAAC,IAAA,oBAAY,EAAC,OAAO,CAAC,WAAW,EAAE,aAAa,CAAC,EAAE,CAAC;YACtD,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAC3B,OAAO;QACT,CAAC;QACD,MAAM,oBAAoB,CACxB,OAAO,EACP,OAAO,EACP,QAAQ,EACR,WAAW,EACX,UAAU,CAAC,YAAY,CACxB,CAAC;QACF,OAAO;IACT,CAAC;IAED,IACE,WAAW,KAAK,GAAG;QACnB,WAAW,KAAK,aAAa;QAC7B,IAAA,yBAAiB,EAAC,WAAW,CAAC,EAC9B,CAAC;QACD,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAClC,OAAO;IACT,CAAC;IAED,MAAM,cAAc,GAAG,qBAAqB,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC7E,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;QAC5B,YAAY,CAAC,QAAQ,CAAC,CAAC;QACvB,OAAO;IACT,CAAC;IACD,MAAM,aAAa,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;IACrD,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;QAC3B,YAAY,CAAC,QAAQ,CAAC,CAAC;QACvB,OAAO;IACT,CAAC;IACD,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE;QACtB,cAAc,EAAE,kBAAkB,CAAC,cAAc,CAAC;QAClD,eAAe,EAAE,UAAU;KAC5B,CAAC,CAAC;IACH,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC9B,CAAC,CAAC;AA5EW,QAAA,gBAAgB,oBA4E3B;AAEF,MAAM,uBAAuB,GAAG,CAAC,QAA6B,EAAQ,EAAE;IACtE,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;QACzB,QAAQ,CAAC,GAAG,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IACD,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE;QACtB,cAAc,EAAE,2BAA2B;QAC3C,eAAe,EAAE,UAAU;KAC5B,CAAC,CAAC;IACH,QAAQ,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;AACxC,CAAC,CAAC;AAEK,MAAM,eAAe,GAAG,CAAC,OAAyB,EAAe,EAAE,CACxE,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE;IACtC,IAAA,wBAAgB,EAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3D,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QAC/C,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AANQ,QAAA,eAAe,mBAMvB;AAME,MAAM,cAAc,GAAG,CAC5B,OAA8B,EACR,EAAE,CACxB,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;IAC9B,MAAM,MAAM,GAAG,IAAA,uBAAe,EAAC,OAAO,CAAC,CAAC;IACxC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC7B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE;QAC/B,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACvC,OAAO,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAVQ,QAAA,cAAc,kBAUtB"}
1
+ {"version":3,"file":"webServer.js","sourceRoot":"","sources":["../../../../src/adapter/entry-points/console/webServer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "github-issue-tower-defence-management",
3
- "version": "1.112.6",
3
+ "version": "1.113.0",
4
4
  "description": "",
5
5
  "main": "bin/index.js",
6
6
  "scripts": {
@@ -37,7 +37,10 @@ import {
37
37
  DEFAULT_WEB_PORT,
38
38
  startWebServer,
39
39
  } from '../console/webServer';
40
- import { IssueTitleStateCache } from '../console/consoleReadApi';
40
+ import {
41
+ IssueTitleStateCache,
42
+ PullRequestStatusCache,
43
+ } from '../console/consoleReadApi';
41
44
  import {
42
45
  buildPjcodeToProjectUrl,
43
46
  createConsoleProjectResolver,
@@ -735,6 +738,7 @@ const runServeWeb = async (options: ServeWebOptions): Promise<void> => {
735
738
  issueRepository,
736
739
  resolveProject,
737
740
  issueTitleStateCache: new IssueTitleStateCache(),
741
+ pullRequestStatusCache: new PullRequestStatusCache(),
738
742
  port,
739
743
  });
740
744
  console.log(`TDPM web server listening on port ${port}`);
@@ -3,11 +3,14 @@ import { IssueRepository } from '../../../domain/usecases/adapter-interfaces/Iss
3
3
  import {
4
4
  ISSUE_TITLE_CACHE_TTL_MS,
5
5
  IssueTitleStateCache,
6
+ PULL_REQUEST_STATUS_CACHE_TTL_MS,
7
+ PullRequestStatusCache,
6
8
  handleComments,
7
9
  handleIssueTitle,
8
10
  handleItemBody,
9
11
  handlePrCommits,
10
12
  handlePrFiles,
13
+ handlePullRequestStatus,
11
14
  handleRelatedPrs,
12
15
  } from './consoleReadApi';
13
16
 
@@ -294,4 +297,90 @@ describe('consoleReadApi', () => {
294
297
  );
295
298
  });
296
299
  });
300
+
301
+ describe('handlePullRequestStatus with the TTL cache', () => {
302
+ const openPullRequest = {
303
+ url: 'https://github.com/o/r/pull/1',
304
+ branchName: 'feature',
305
+ createdAt: new Date('2026-01-02T03:04:05Z'),
306
+ isDraft: false,
307
+ isConflicted: true,
308
+ isPassedAllCiJob: false,
309
+ isCiStateSuccess: false,
310
+ isResolvedAllReviewComments: false,
311
+ isBranchOutOfDate: true,
312
+ missingRequiredCheckNames: ['build', 'test'],
313
+ };
314
+
315
+ it('returns 400 when url is missing', async () => {
316
+ const issueRepository = mock<IssueRepository>();
317
+ const cache = new PullRequestStatusCache();
318
+ const response = await handlePullRequestStatus(
319
+ issueRepository,
320
+ cache,
321
+ null,
322
+ );
323
+ expect(response.statusCode).toBe(400);
324
+ });
325
+
326
+ it('serializes the open pull request status fields', async () => {
327
+ const issueRepository = mock<IssueRepository>();
328
+ issueRepository.getOpenPullRequest.mockResolvedValue(openPullRequest);
329
+ const cache = new PullRequestStatusCache(() => 0);
330
+ const response = await handlePullRequestStatus(
331
+ issueRepository,
332
+ cache,
333
+ openPullRequest.url,
334
+ );
335
+ expect(response.statusCode).toBe(200);
336
+ expect(response.body).toEqual({
337
+ found: true,
338
+ status: {
339
+ isConflicted: true,
340
+ isPassedAllCiJob: false,
341
+ isCiStateSuccess: false,
342
+ isBranchOutOfDate: true,
343
+ missingRequiredCheckNames: ['build', 'test'],
344
+ },
345
+ });
346
+ });
347
+
348
+ it('reports not found when the repository returns no open pull request', async () => {
349
+ const issueRepository = mock<IssueRepository>();
350
+ issueRepository.getOpenPullRequest.mockResolvedValue(null);
351
+ const cache = new PullRequestStatusCache(() => 0);
352
+ const response = await handlePullRequestStatus(
353
+ issueRepository,
354
+ cache,
355
+ 'https://github.com/o/r/pull/9',
356
+ );
357
+ expect(response.body).toEqual({ found: false, status: null });
358
+ });
359
+
360
+ it('caches within the TTL and re-fetches after the TTL elapses', async () => {
361
+ const issueRepository = mock<IssueRepository>();
362
+ issueRepository.getOpenPullRequest.mockResolvedValue(openPullRequest);
363
+ let now = 0;
364
+ const cache = new PullRequestStatusCache(() => now);
365
+ await handlePullRequestStatus(
366
+ issueRepository,
367
+ cache,
368
+ openPullRequest.url,
369
+ );
370
+ now = PULL_REQUEST_STATUS_CACHE_TTL_MS - 1;
371
+ await handlePullRequestStatus(
372
+ issueRepository,
373
+ cache,
374
+ openPullRequest.url,
375
+ );
376
+ expect(issueRepository.getOpenPullRequest).toHaveBeenCalledTimes(1);
377
+ now = PULL_REQUEST_STATUS_CACHE_TTL_MS;
378
+ await handlePullRequestStatus(
379
+ issueRepository,
380
+ cache,
381
+ openPullRequest.url,
382
+ );
383
+ expect(issueRepository.getOpenPullRequest).toHaveBeenCalledTimes(2);
384
+ });
385
+ });
297
386
  });
@@ -6,17 +6,37 @@ import {
6
6
 
7
7
  export const ISSUE_TITLE_CACHE_TTL_MS = 300 * 1000;
8
8
 
9
+ export const PULL_REQUEST_STATUS_CACHE_TTL_MS = 30 * 1000;
10
+
9
11
  export type IssueOrPullRequestState = {
10
12
  state: string;
11
13
  merged: boolean;
12
14
  isPullRequest: boolean;
13
15
  };
14
16
 
17
+ export type PullRequestStatus = {
18
+ isConflicted: boolean;
19
+ isPassedAllCiJob: boolean;
20
+ isCiStateSuccess: boolean;
21
+ isBranchOutOfDate: boolean;
22
+ missingRequiredCheckNames: string[];
23
+ };
24
+
25
+ export type PullRequestStatusResponse = {
26
+ found: boolean;
27
+ status: PullRequestStatus | null;
28
+ };
29
+
15
30
  type IssueTitleCacheEntry = {
16
31
  state: IssueOrPullRequestState;
17
32
  fetchedAtMs: number;
18
33
  };
19
34
 
35
+ type PullRequestStatusCacheEntry = {
36
+ status: PullRequestStatusResponse;
37
+ fetchedAtMs: number;
38
+ };
39
+
20
40
  export class IssueTitleStateCache {
21
41
  private readonly entries = new Map<string, IssueTitleCacheEntry>();
22
42
 
@@ -41,6 +61,27 @@ export class IssueTitleStateCache {
41
61
  };
42
62
  }
43
63
 
64
+ export class PullRequestStatusCache {
65
+ private readonly entries = new Map<string, PullRequestStatusCacheEntry>();
66
+
67
+ constructor(private readonly nowMs: () => number = () => Date.now()) {}
68
+
69
+ get = (url: string): PullRequestStatusResponse | null => {
70
+ const entry = this.entries.get(url);
71
+ if (!entry) {
72
+ return null;
73
+ }
74
+ if (this.nowMs() - entry.fetchedAtMs >= PULL_REQUEST_STATUS_CACHE_TTL_MS) {
75
+ return null;
76
+ }
77
+ return entry.status;
78
+ };
79
+
80
+ set = (url: string, status: PullRequestStatusResponse): void => {
81
+ this.entries.set(url, { status, fetchedAtMs: this.nowMs() });
82
+ };
83
+ }
84
+
44
85
  export type ConsoleReadApiResponse = {
45
86
  statusCode: number;
46
87
  body: unknown;
@@ -190,3 +231,33 @@ export const handleIssueTitle = async (
190
231
  cache.set(url, state);
191
232
  return ok(state);
192
233
  };
234
+
235
+ export const handlePullRequestStatus = async (
236
+ issueRepository: IssueRepository,
237
+ cache: PullRequestStatusCache,
238
+ url: string | null,
239
+ ): Promise<ConsoleReadApiResponse> => {
240
+ if (!url) {
241
+ return badRequest('url query parameter is required');
242
+ }
243
+ const cached = cache.get(url);
244
+ if (cached !== null) {
245
+ return ok(cached);
246
+ }
247
+ const pullRequest = await issueRepository.getOpenPullRequest(url);
248
+ const response: PullRequestStatusResponse =
249
+ pullRequest === null
250
+ ? { found: false, status: null }
251
+ : {
252
+ found: true,
253
+ status: {
254
+ isConflicted: pullRequest.isConflicted,
255
+ isPassedAllCiJob: pullRequest.isPassedAllCiJob,
256
+ isCiStateSuccess: pullRequest.isCiStateSuccess,
257
+ isBranchOutOfDate: pullRequest.isBranchOutOfDate,
258
+ missingRequiredCheckNames: pullRequest.missingRequiredCheckNames,
259
+ },
260
+ };
261
+ cache.set(url, response);
262
+ return ok(response);
263
+ };
@@ -36,6 +36,28 @@ const processSelectedItemViaStatus = async (page: Page): Promise<void> => {
36
36
  await statusButton.click();
37
37
  };
38
38
 
39
+ test('shows CI and conflict badges in the directly opened PR detail header', async ({
40
+ page,
41
+ }) => {
42
+ await page.goto(harness.appRootUrl);
43
+
44
+ await tabByLabel(page, 'Awaiting Quality Check').click();
45
+ await itemRowByText(
46
+ page,
47
+ 'Serve the committed console UI bundle from serveConsole',
48
+ ).click();
49
+
50
+ const title = page.locator('.console-detail-title');
51
+ await expect(title.getByText('CI failing')).toBeVisible();
52
+ await expect(title.getByText(/missing: build, test/)).toBeVisible();
53
+ await expect(title.getByText('Conflict')).toBeVisible();
54
+ await expect(title.getByText('Out of date')).toBeVisible();
55
+
56
+ await title.screenshot({
57
+ path: '/tmp/after-pr-detail-header.png',
58
+ });
59
+ });
60
+
39
61
  test('processing tabs drives auto-advance and keeps emptied badges at zero', async ({
40
62
  page,
41
63
  }) => {
@@ -174,3 +196,25 @@ test('adds an inline review comment on a related pull request diff without hover
174
196
 
175
197
  await touchContext.close();
176
198
  });
199
+
200
+ test('shows CI, conflict and out-of-date badges in the related PR header', async ({
201
+ page,
202
+ }) => {
203
+ await page.goto(harness.appRootUrl);
204
+
205
+ await tabByLabel(page, 'Failed Preparation').click();
206
+ await itemRowByText(
207
+ page,
208
+ 'Add inline review comments on the related pull request diff',
209
+ ).click();
210
+
211
+ const prHeader = page.locator('.console-pr-header').first();
212
+ await expect(prHeader.getByText('CI failing')).toBeVisible();
213
+ await expect(prHeader.getByText(/missing: build, test/)).toBeVisible();
214
+ await expect(prHeader.getByText('Conflict')).toBeVisible();
215
+ await expect(prHeader.getByText('Out of date')).toBeVisible();
216
+
217
+ await prHeader.screenshot({
218
+ path: '/tmp/after-related-pr-header.png',
219
+ });
220
+ });
@@ -13,7 +13,10 @@ import type {
13
13
  RelatedPullRequest,
14
14
  } from '../../../../../domain/usecases/adapter-interfaces/IssueRepository';
15
15
  import type { ConsoleProjectBinding } from '../../consoleOperationApi';
16
- import { IssueTitleStateCache } from '../../consoleReadApi';
16
+ import {
17
+ IssueTitleStateCache,
18
+ PullRequestStatusCache,
19
+ } from '../../consoleReadApi';
17
20
  import { startWebServer } from '../../webServer';
18
21
 
19
22
  export const CONSOLE_E2E_PJCODE = 'umino';
@@ -63,6 +66,7 @@ type ConsoleFixtureSnapshot = {
63
66
  const REPO_NAME_WITH_OWNER =
64
67
  'HiromiShikata/npm-cli-github-issue-tower-defence-management';
65
68
 
69
+ export const CONSOLE_E2E_AWAITING_QUALITY_CHECK_PR_URL = `https://github.com/${REPO_NAME_WITH_OWNER}/pull/867`;
66
70
  export const CONSOLE_E2E_INLINE_COMMENT_ISSUE_URL = `https://github.com/${REPO_NAME_WITH_OWNER}/issues/911`;
67
71
  export const CONSOLE_E2E_INLINE_COMMENT_PR_URL = `https://github.com/${REPO_NAME_WITH_OWNER}/pull/912`;
68
72
 
@@ -327,12 +331,25 @@ const inlineCommentRelatedPullRequest: RelatedPullRequest = {
327
331
  branchName: 'feature/911-related-pr-inline-comments',
328
332
  createdAt: new Date('2026-06-18T03:30:00.000Z'),
329
333
  isDraft: false,
330
- isConflicted: false,
331
- isPassedAllCiJob: true,
332
- isCiStateSuccess: true,
333
- isResolvedAllReviewComments: true,
334
- isBranchOutOfDate: false,
335
- missingRequiredCheckNames: [],
334
+ isConflicted: true,
335
+ isPassedAllCiJob: false,
336
+ isCiStateSuccess: false,
337
+ isResolvedAllReviewComments: false,
338
+ isBranchOutOfDate: true,
339
+ missingRequiredCheckNames: ['build', 'test'],
340
+ };
341
+
342
+ const awaitingQualityCheckPullRequest: RelatedPullRequest = {
343
+ url: CONSOLE_E2E_AWAITING_QUALITY_CHECK_PR_URL,
344
+ branchName: 'i867-serve-committed-console-ui-bundle',
345
+ createdAt: new Date('2026-06-17T23:41:08.000Z'),
346
+ isDraft: false,
347
+ isConflicted: true,
348
+ isPassedAllCiJob: false,
349
+ isCiStateSuccess: false,
350
+ isResolvedAllReviewComments: false,
351
+ isBranchOutOfDate: true,
352
+ missingRequiredCheckNames: ['build', 'test'],
336
353
  };
337
354
 
338
355
  const inlineCommentPullRequestDetail: PullRequestDetail = {
@@ -375,7 +392,12 @@ const createStubIssueRepository = (
375
392
  url === CONSOLE_E2E_INLINE_COMMENT_ISSUE_URL
376
393
  ? [inlineCommentRelatedPullRequest]
377
394
  : [],
378
- getOpenPullRequest: async (): Promise<RelatedPullRequest | null> => null,
395
+ getOpenPullRequest: async (
396
+ url: string,
397
+ ): Promise<RelatedPullRequest | null> =>
398
+ url === CONSOLE_E2E_AWAITING_QUALITY_CHECK_PR_URL
399
+ ? awaitingQualityCheckPullRequest
400
+ : null,
379
401
  getPullRequestChangedFilePaths: async (): Promise<string[]> => [],
380
402
  approvePullRequest: async (): Promise<void> => undefined,
381
403
  requestChangesWithInlineComment: async (): Promise<void> => undefined,
@@ -470,6 +492,7 @@ export const startConsoleE2eHarness = async (): Promise<ConsoleE2eHarness> => {
470
492
  issueRepository: createStubIssueRepository(reviewCommentCalls),
471
493
  resolveProject,
472
494
  issueTitleStateCache: new IssueTitleStateCache(),
495
+ pullRequestStatusCache: new PullRequestStatusCache(),
473
496
  inTmuxDataDir: null,
474
497
  dashboardDir: null,
475
498
  dashboardDataDir: null,
@@ -81,6 +81,45 @@ export const PullRequestItem: Story = {
81
81
  commits: consoleCommitsFixture,
82
82
  commitsAreLoading: false,
83
83
  commitsError: null,
84
+ pullRequestStatus: {
85
+ found: true,
86
+ isConflicted: false,
87
+ isPassedAllCiJob: true,
88
+ isCiStateSuccess: true,
89
+ isBranchOutOfDate: false,
90
+ missingRequiredCheckNames: [],
91
+ },
92
+ relatedPullRequests: [],
93
+ },
94
+ };
95
+
96
+ export const PullRequestItemFailingCiWithConflict: Story = {
97
+ args: {
98
+ item: consoleListItemsFixture[0],
99
+ storyName: 'TDPM Console port',
100
+ storyColorEnum: 'BLUE',
101
+ overlayStatus: { name: 'Awaiting Quality Check', color: 'YELLOW' },
102
+ state: { state: 'open', merged: false, isPullRequest: true },
103
+ body: consoleMermaidBodyFixture,
104
+ bodyIsLoading: false,
105
+ bodyError: null,
106
+ comments: consoleCommentsFixture,
107
+ commentsAreLoading: false,
108
+ commentsError: null,
109
+ files: consoleChangedFilesFixture,
110
+ filesAreLoading: false,
111
+ filesError: null,
112
+ commits: consoleCommitsFixture,
113
+ commitsAreLoading: false,
114
+ commitsError: null,
115
+ pullRequestStatus: {
116
+ found: true,
117
+ isConflicted: true,
118
+ isPassedAllCiJob: false,
119
+ isCiStateSuccess: false,
120
+ isBranchOutOfDate: true,
121
+ missingRequiredCheckNames: ['build', 'test'],
122
+ },
84
123
  relatedPullRequests: [],
85
124
  },
86
125
  };
@@ -104,6 +143,7 @@ export const IssueWithRichMarkdownBody: Story = {
104
143
  commits: [],
105
144
  commitsAreLoading: false,
106
145
  commitsError: null,
146
+ pullRequestStatus: null,
107
147
  relatedPullRequests: [],
108
148
  operationBar: (
109
149
  <ConsoleOperationMenu
@@ -137,6 +177,7 @@ export const IssueWithLinkedPullRequest: Story = {
137
177
  commits: [],
138
178
  commitsAreLoading: false,
139
179
  commitsError: null,
180
+ pullRequestStatus: null,
140
181
  relatedPullRequests: [
141
182
  {
142
183
  pullRequest: consoleRelatedPullRequestsFixture[0],
@@ -32,6 +32,7 @@ const baseProps = {
32
32
  commits: consoleCommitsFixture,
33
33
  commitsAreLoading: false,
34
34
  commitsError: null,
35
+ pullRequestStatus: null,
35
36
  relatedPullRequests: [],
36
37
  now,
37
38
  commentComposer: <div>comment-composer</div>,
@@ -115,4 +116,59 @@ describe('ConsoleItemDetail', () => {
115
116
  expect(title).not.toBeNull();
116
117
  expect(title?.contains(getByText('Awaiting Workspace'))).toBe(true);
117
118
  });
119
+
120
+ it('renders failing CI, missing checks, and conflict badges in the PR header', () => {
121
+ const { getByText, container } = render(
122
+ <ConsoleItemDetail
123
+ item={prItem}
124
+ {...baseProps}
125
+ pullRequestStatus={{
126
+ found: true,
127
+ isConflicted: true,
128
+ isPassedAllCiJob: false,
129
+ isCiStateSuccess: false,
130
+ isBranchOutOfDate: true,
131
+ missingRequiredCheckNames: ['build', 'test'],
132
+ }}
133
+ />,
134
+ );
135
+ const title = container.querySelector('.console-detail-title');
136
+ expect(title?.contains(getByText('CI failing'))).toBe(true);
137
+ expect(getByText(/missing: build, test/)).toBeInTheDocument();
138
+ expect(getByText('Conflict')).toBeInTheDocument();
139
+ expect(getByText('Out of date')).toBeInTheDocument();
140
+ });
141
+
142
+ it('renders a passing CI badge and no conflict badge when the PR is healthy', () => {
143
+ const { getByText, queryByText } = render(
144
+ <ConsoleItemDetail
145
+ item={prItem}
146
+ {...baseProps}
147
+ pullRequestStatus={{
148
+ found: true,
149
+ isConflicted: false,
150
+ isPassedAllCiJob: true,
151
+ isCiStateSuccess: true,
152
+ isBranchOutOfDate: false,
153
+ missingRequiredCheckNames: [],
154
+ }}
155
+ />,
156
+ );
157
+ expect(getByText('CI passing')).toBeInTheDocument();
158
+ expect(queryByText('Conflict')).toBeNull();
159
+ expect(queryByText('Out of date')).toBeNull();
160
+ });
161
+
162
+ it('does not render PR status badges for an issue item', () => {
163
+ const { queryByText } = render(
164
+ <ConsoleItemDetail
165
+ item={issueItem}
166
+ {...baseProps}
167
+ state={{ state: 'open', merged: false, isPullRequest: false }}
168
+ pullRequestStatus={null}
169
+ />,
170
+ );
171
+ expect(queryByText('CI passing')).toBeNull();
172
+ expect(queryByText('CI failing')).toBeNull();
173
+ });
118
174
  });
@@ -13,6 +13,7 @@ import type {
13
13
  ConsoleIssueState,
14
14
  ConsoleListItem,
15
15
  ConsoleOverlayStatus,
16
+ ConsolePullRequestStatus,
16
17
  ConsoleRelatedPullRequest,
17
18
  } from '../../logic/types';
18
19
  import { ConsoleMarkdownContent } from '../content/ConsoleMarkdownContent';
@@ -24,6 +25,7 @@ import { ConsoleCopyUrlButton } from './ConsoleCopyUrlButton';
24
25
  import type { ConsoleAddInlineComment } from './ConsoleFileDiff';
25
26
  import { ConsoleItemIcon } from './ConsoleItemIcon';
26
27
  import { ConsolePullRequestDetail } from './ConsolePullRequestDetail';
28
+ import { ConsolePullRequestStatusBadges } from './ConsolePullRequestStatusBadges';
27
29
 
28
30
  export type ConsoleRelatedPullRequestView = {
29
31
  pullRequest: ConsoleRelatedPullRequest;
@@ -53,6 +55,7 @@ export type ConsoleItemDetailProps = {
53
55
  commits: ConsoleCommit[];
54
56
  commitsAreLoading: boolean;
55
57
  commitsError: string | null;
58
+ pullRequestStatus: ConsolePullRequestStatus | null;
56
59
  relatedPullRequests: ConsoleRelatedPullRequestView[];
57
60
  now: number;
58
61
  commentComposer: ReactNode;
@@ -80,6 +83,7 @@ export const ConsoleItemDetail = ({
80
83
  commits,
81
84
  commitsAreLoading,
82
85
  commitsError,
86
+ pullRequestStatus,
83
87
  relatedPullRequests,
84
88
  now,
85
89
  commentComposer,
@@ -130,6 +134,17 @@ export const ConsoleItemDetail = ({
130
134
  {overlayStatus.name}
131
135
  </span>
132
136
  )}
137
+ {item.isPr && pullRequestStatus?.found && (
138
+ <ConsolePullRequestStatusBadges
139
+ isConflicted={pullRequestStatus.isConflicted}
140
+ isPassedAllCiJob={pullRequestStatus.isPassedAllCiJob}
141
+ isCiStateSuccess={pullRequestStatus.isCiStateSuccess}
142
+ isBranchOutOfDate={pullRequestStatus.isBranchOutOfDate}
143
+ missingRequiredCheckNames={
144
+ pullRequestStatus.missingRequiredCheckNames
145
+ }
146
+ />
147
+ )}
133
148
  <ConsoleItemIcon
134
149
  isPr={item.isPr}
135
150
  state={resolvedState}