github-issue-tower-defence-management 1.117.1 → 1.117.2

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 (49) hide show
  1. package/.github/workflows/create-pr.yml +17 -2
  2. package/CHANGELOG.md +7 -0
  3. package/README.md +3 -2
  4. package/bin/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.js +7 -2
  5. package/bin/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.js.map +1 -1
  6. package/bin/adapter/entry-points/handlers/notifySilentTmuxSessions.js +5 -4
  7. package/bin/adapter/entry-points/handlers/notifySilentTmuxSessions.js.map +1 -1
  8. package/bin/adapter/proxy/ClaudeMessageResponseParser.js +5 -1
  9. package/bin/adapter/proxy/ClaudeMessageResponseParser.js.map +1 -1
  10. package/bin/adapter/repositories/GraphqlProjectRepository.js +3 -3
  11. package/bin/adapter/repositories/GraphqlProjectRepository.js.map +1 -1
  12. package/bin/adapter/repositories/LocalStorageCacheRepository.js +1 -1
  13. package/bin/adapter/repositories/LocalStorageCacheRepository.js.map +1 -1
  14. package/bin/adapter/repositories/TranscriptSessionSubAgentActivityRepository.js +5 -1
  15. package/bin/adapter/repositories/TranscriptSessionSubAgentActivityRepository.js.map +1 -1
  16. package/bin/domain/usecases/HandleScheduledEventUseCase.js +1 -1
  17. package/bin/domain/usecases/HandleScheduledEventUseCase.js.map +1 -1
  18. package/bin/domain/usecases/NotifySilentLiveSessionsUseCase.js +2 -1
  19. package/bin/domain/usecases/NotifySilentLiveSessionsUseCase.js.map +1 -1
  20. package/bin/domain/usecases/UpdateIssueStatusByLabelUseCase.js +1 -1
  21. package/bin/domain/usecases/UpdateIssueStatusByLabelUseCase.js.map +1 -1
  22. package/eslint.config.mjs +67 -0
  23. package/package.json +8 -7
  24. package/src/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.ts +6 -0
  25. package/src/adapter/entry-points/handlers/dashboardRowWriter.test.ts +1 -1
  26. package/src/adapter/entry-points/handlers/machineStatusWriter.test.ts +1 -1
  27. package/src/adapter/entry-points/handlers/notifySilentTmuxSessions.ts +7 -0
  28. package/src/adapter/entry-points/handlers/tokenStatusWriter.test.ts +1 -1
  29. package/src/adapter/proxy/ClaudeMessageResponseParser.ts +3 -2
  30. package/src/adapter/repositories/GraphqlProjectRepository.ts +3 -2
  31. package/src/adapter/repositories/LocalStorageCacheRepository.ts +1 -1
  32. package/src/adapter/repositories/TranscriptSessionSubAgentActivityRepository.test.ts +118 -0
  33. package/src/adapter/repositories/TranscriptSessionSubAgentActivityRepository.ts +4 -0
  34. package/src/domain/usecases/AssignNoAssigneeIssueToManagerUseCase.test.ts +2 -1
  35. package/src/domain/usecases/HandleScheduledEventUseCase.ts +1 -1
  36. package/src/domain/usecases/NotifySilentLiveSessionsUseCase.ts +1 -0
  37. package/src/domain/usecases/UpdateIssueStatusByLabelUseCase.ts +1 -0
  38. package/tsconfig.json +1 -0
  39. package/types/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.d.ts.map +1 -1
  40. package/types/adapter/entry-points/handlers/notifySilentTmuxSessions.d.ts +2 -0
  41. package/types/adapter/entry-points/handlers/notifySilentTmuxSessions.d.ts.map +1 -1
  42. package/types/adapter/proxy/ClaudeMessageResponseParser.d.ts.map +1 -1
  43. package/types/adapter/repositories/GraphqlProjectRepository.d.ts.map +1 -1
  44. package/types/adapter/repositories/TranscriptSessionSubAgentActivityRepository.d.ts +2 -1
  45. package/types/adapter/repositories/TranscriptSessionSubAgentActivityRepository.d.ts.map +1 -1
  46. package/types/domain/usecases/NotifySilentLiveSessionsUseCase.d.ts +1 -0
  47. package/types/domain/usecases/NotifySilentLiveSessionsUseCase.d.ts.map +1 -1
  48. package/types/domain/usecases/UpdateIssueStatusByLabelUseCase.d.ts.map +1 -1
  49. package/.eslintrc.cjs +0 -59
@@ -1 +1 @@
1
- {"version":3,"file":"NotifySilentLiveSessionsUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/NotifySilentLiveSessionsUseCase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NotifySilentLiveSessionsUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/NotifySilentLiveSessionsUseCase.ts"],"names":[],"mappings":";;;AAWA,mGAAgG;AAEnF,QAAA,qCAAqC,GAAG,EAAE,GAAG,EAAE,CAAC;AAChD,QAAA,yCAAyC,GAAG,CAAC,GAAG,EAAE,CAAC;AACnD,QAAA,0CAA0C,GAAG,EAAE,GAAG,EAAE,CAAC;AACrD,QAAA,uCAAuC,GAAG,EAAE,GAAG,EAAE,CAAC;AAClD,QAAA,oCAAoC,GAAG,EAAE,CAAC;AAEvD,MAAM,gCAAgC,GACpC,mEAAmE,CAAC;AAEtE,MAAM,gCAAgC,GACpC,kEAAkE,CAAC;AAE9D,MAAM,mCAAmC,GAAG,CACjD,WAAmB,EACJ,EAAE;IACjB,IAAI,gCAAgC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACvD,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,MAAM,SAAS,GAAG,gCAAgC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACrE,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IAC1C,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;IAClE,OAAO,sBAAsB,KAAK,IAAI,IAAI,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;AACnE,CAAC,CAAC;AAbW,QAAA,mCAAmC,uCAa9C;AAEF,MAAM,iDAAiD,GACrD,0EAA0E,CAAC;AAEtE,MAAM,qCAAqC,GAAG,CACnD,WAAmB,EACV,EAAE,CACX,iDAAiD,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAHzD,QAAA,qCAAqC,yCAGoB;AAStE,MAAa,+BAA+B;IAI1C,YACmB,kCAAsE,EACtE,wCAAkF,EAClF,+BAAgE,EAChE,0BAA6D,EAC7D,uBAAgD,EAChD,sBAA2D,EAC3D,eAA6C,EAC7C,OAAgB,EAChB,wBAAsD,IAAI;QAR1D,uCAAkC,GAAlC,kCAAkC,CAAoC;QACtE,6CAAwC,GAAxC,wCAAwC,CAA0C;QAClF,oCAA+B,GAA/B,+BAA+B,CAAiC;QAChE,+BAA0B,GAA1B,0BAA0B,CAAmC;QAC7D,4BAAuB,GAAvB,uBAAuB,CAAyB;QAChD,2BAAsB,GAAtB,sBAAsB,CAAqC;QAC3D,oBAAe,GAAf,eAAe,CAA8B;QAC7C,YAAO,GAAP,OAAO,CAAS;QAChB,0BAAqB,GAArB,qBAAqB,CAAqC;QAZ5D,mCAA8B,GAC7C,IAAI,6EAAqC,EAAE,CAAC;QAc9C,QAAG,GAAG,KAAK,EAAE,MAOZ,EAAiB,EAAE;YAClB,MAAM,QAAQ,GACZ,MAAM,IAAI,CAAC,kCAAkC,CAAC,WAAW,EAAE,CAAC;YAC9D,MAAM,sBAAsB,GAC1B,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACxD,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CACpE,IAAA,6CAAqC,EAAC,OAAO,CAAC,WAAW,CAAC,CAC3D,CAAC;YACF,MAAM,4BAA4B,GAChC,sBAAsB,CAAC,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC;YAC7D,IAAI,4BAA4B,GAAG,CAAC,EAAE,CAAC;gBACrC,OAAO,CAAC,GAAG,CACT,8CAA8C,4BAA4B,2HAA2H,CACtM,CAAC;YACJ,CAAC;YACD,MAAM,2BAA2B,GAC/B,IAAI,CAAC,wCAAwC,CAAC,sBAAsB,CAClE,mBAAmB,CACpB,CAAC;YAEJ,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAC3C,mBAAmB,EACnB,2BAA2B,EAC3B,MAAM,CAAC,GAAG,CACX,CAAC;YAEF,MAAM,UAAU,GAAsB,EAAE,CAAC;YACzC,KAAK,MAAM,eAAe,IAAI,SAAS,EAAE,CAAC;gBACxC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;gBAC7D,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;oBACrB,UAAU,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,eAAe,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;gBACzE,CAAC;YACH,CAAC;YACD,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAC9B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW;gBAClC,CAAC,CAAC,CAAC,CAAC;gBACJ,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW;oBACpC,CAAC,CAAC,CAAC;oBACH,CAAC,CAAC,CAAC,CACR,CAAC;YAEF,OAAO,CAAC,GAAG,CACT,qCAAqC,UAAU,CAAC,MAAM,oBAAoB,mBAAmB,CAAC,MAAM,0BAA0B,CAC/H,CAAC;YAEF,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACnC,IACE,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,CAC1B,SAAS,CAAC,WAAW,EACrB,MAAM,CAAC,mBAAmB,CAC3B,CAAC,EACF,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;oBAClB,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;gBACzD,CAAC;gBACD,MAAM,IAAI,CAAC,sBAAsB,CAAC,yBAAyB,CACzD,SAAS,CAAC,WAAW,EACrB,SAAS,CAAC,OAAO,CAClB,CAAC;gBACF,SAAS,IAAI,CAAC,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,YAAY,SAAS,CAAC,WAAW,GAAG,CAAC,CAAC;YACpD,CAAC;QACH,CAAC,CAAC;QAEM,oBAAe,GAAG,KAAK,EAC7B,WAAmB,EACnB,mBAAkC,EAChB,EAAE;YACpB,IAAI,mBAAmB,KAAK,IAAI,IAAI,IAAI,CAAC,qBAAqB,KAAK,IAAI,EAAE,CAAC;gBACxE,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,eAAe,GAAG,IAAA,2CAAmC,EAAC,WAAW,CAAC,CAAC;YACzE,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;gBAC7B,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,KAAK,GACT,MAAM,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;gBAClE,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBACnB,OAAO,CAAC,IAAI,CACV,YAAY,eAAe,gBAAgB,WAAW,2DAA2D,CAClH,CAAC;oBACF,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,mBAAmB,EAAE,CAAC;oBACnE,OAAO,CAAC,GAAG,CACT,YAAY,WAAW,cAAc,eAAe,gCAAgC,KAAK,CAAC,KAAK,cAAc,KAAK,CAAC,MAAM,IAAI,MAAM,qBAAqB,mBAAmB,KAAK,CACjL,CAAC;oBACF,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CACV,iDAAiD,WAAW,KAAK,eAAe,wCAC9E,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE,CACH,CAAC;gBACF,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC,CAAC;QAEM,qBAAgB,GAAG,KAAK,EAC9B,mBAA6C,EAC7C,2BAAgD,EAChD,GAAS,EAC+B,EAAE;YAC1C,MAAM,YAAY,GAAG,mBAAmB,CAAC,GAAG,CAC1C,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CACjC,CAAC;YAEF,MAAM,UAAU,GACd,MAAM,IAAI,CAAC,+BAA+B,CAAC,2BAA2B,CACpE,2BAA2B,CAC5B,CAAC;YACJ,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAkB,CAAC;YAC1D,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;gBAClC,uBAAuB,CAAC,GAAG,CACzB,QAAQ,CAAC,WAAW,EACpB,QAAQ,CAAC,sBAAsB,CAChC,CAAC;YACJ,CAAC;YAED,MAAM,sBAAsB,GAC1B,MAAM,IAAI,CAAC,0BAA0B,CAAC,mCAAmC,CACvE,YAAY,EACZ,2BAA2B,CAC5B,CAAC;YAEJ,MAAM,mCAAmC,GACvC,MAAM,IAAI,CAAC,uBAAuB,CAAC,uCAAuC,CACxE,2BAA2B,CAC5B,CAAC;YAEJ,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;YACzD,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;gBACtC,MAAM,sBAAsB,GAAG,uBAAuB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACxE,MAAM,iBAAiB,GACrB,sBAAsB,KAAK,SAAS;oBAClC,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,eAAe,GAAG,sBAAsB,CAAC;gBAC/C,OAAO;oBACL,WAAW;oBACX,iBAAiB;oBACjB,SAAS,EAAE,sBAAsB,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE;oBACxD,sBAAsB,EACpB,mCAAmC,CAAC,GAAG,CAAC,WAAW,CAAC;iBACvD,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEM,mBAAc,GAAG,CACvB,QAAqC,EACrC,UAIC,EACc,EAAE;YACjB,MAAM,QAAQ,GAAa,EAAE,CAAC;YAE9B,IACE,QAAQ,CAAC,iBAAiB,KAAK,IAAI;gBACnC,QAAQ,CAAC,iBAAiB,IAAI,UAAU,CAAC,0BAA0B;gBACnE,CAAC,QAAQ,CAAC,sBAAsB,EAChC,CAAC;gBACD,QAAQ,CAAC,IAAI,CACX,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAC5C,QAAQ,CAAC,iBAAiB,CAC3B,CACF,CAAC;YACJ,CAAC;YAED,MAAM,gBAAgB,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,CAChD,CAAC,QAAQ,EAAE,EAAE,CACX,QAAQ,CAAC,aAAa,IAAI,UAAU,CAAC,8BAA8B;gBACnE,QAAQ,CAAC,cAAc,IAAI,UAAU,CAAC,+BAA+B,CACxE,CAAC;YACF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,QAAQ,CAAC,IAAI,CACX,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAC9D,CAAC;YACJ,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC,CAAC;IAvMC,CAAC;CAwML;AAtND,0EAsNC"}
@@ -32,7 +32,7 @@ class UpdateIssueStatusByLabelUseCase {
32
32
  if (!(e instanceof Error)) {
33
33
  throw e;
34
34
  }
35
- throw new Error(`Failed to remove label ${statusLabel} from issue ${issue.url}: ${e.message}`);
35
+ throw new Error(`Failed to remove label ${statusLabel} from issue ${issue.url}: ${e.message}`, { cause: e });
36
36
  }
37
37
  }
38
38
  };
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateIssueStatusByLabelUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/UpdateIssueStatusByLabelUseCase.ts"],"names":[],"mappings":";;;AAIA,MAAa,+BAA+B;IAC1C,YACW,eAGR;QAHQ,oBAAe,GAAf,eAAe,CAGvB;QAQH,QAAG,GAAG,KAAK,EAAE,KAA4C,EAAiB,EAAE;YAC1E,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjC,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAC9C,KAAK;qBACF,WAAW,EAAE;qBACb,UAAU,CAAC,+BAA+B,CAAC,mBAAmB,CAAC,CACnE,CAAC;gBACF,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,SAAS;gBACX,CAAC;gBACD,MAAM,gBAAgB,GAAG,WAAW,CAAC,KAAK,CACxC,+BAA+B,CAAC,mBAAmB,CAAC,MAAM,CAC3D,CAAC;gBACF,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CACrD,CAAC,CAAC,EAAE,EAAE,CACJ,+BAA+B,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC;oBACvD,+BAA+B,CAAC,eAAe,CAAC,gBAAgB,CAAC,CACpE,CAAC;gBACF,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,SAAS;gBACX,CAAC;gBACD,MAAM,uBAAuB,GAAG,KAAK,CAAC,MAAM;oBAC1C,CAAC,CAAC,+BAA+B,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC;oBAC/D,CAAC,CAAC,IAAI,CAAC;gBACT,MAAM,sBAAsB,GAC1B,+BAA+B,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBACrE,IAAI,uBAAuB,KAAK,sBAAsB,EAAE,CAAC;oBACvD,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CACrC,KAAK,CAAC,OAAO,EACb,KAAK,EACL,YAAY,CAAC,EAAE,CAChB,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;gBAC7D,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;wBAC1B,MAAM,CAAC,CAAC;oBACV,CAAC;oBACD,MAAM,IAAI,KAAK,CACb,0BAA0B,WAAW,eAAe,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,EAAE,CAC9E,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC,CAAC;IAnDC,CAAC;;AANN,0EA0DC;AAlDiB,mDAAmB,GAAG,SAAS,AAAZ,CAAa;AAEzC,+CAAe,GAAG,CAAC,MAAc,EAAU,EAAE,CAClD,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,AADxB,CACyB"}
1
+ {"version":3,"file":"UpdateIssueStatusByLabelUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/UpdateIssueStatusByLabelUseCase.ts"],"names":[],"mappings":";;;AAIA,MAAa,+BAA+B;IAC1C,YACW,eAGR;QAHQ,oBAAe,GAAf,eAAe,CAGvB;QAQH,QAAG,GAAG,KAAK,EAAE,KAA4C,EAAiB,EAAE;YAC1E,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjC,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAC9C,KAAK;qBACF,WAAW,EAAE;qBACb,UAAU,CAAC,+BAA+B,CAAC,mBAAmB,CAAC,CACnE,CAAC;gBACF,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,SAAS;gBACX,CAAC;gBACD,MAAM,gBAAgB,GAAG,WAAW,CAAC,KAAK,CACxC,+BAA+B,CAAC,mBAAmB,CAAC,MAAM,CAC3D,CAAC;gBACF,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CACrD,CAAC,CAAC,EAAE,EAAE,CACJ,+BAA+B,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC;oBACvD,+BAA+B,CAAC,eAAe,CAAC,gBAAgB,CAAC,CACpE,CAAC;gBACF,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,SAAS;gBACX,CAAC;gBACD,MAAM,uBAAuB,GAAG,KAAK,CAAC,MAAM;oBAC1C,CAAC,CAAC,+BAA+B,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC;oBAC/D,CAAC,CAAC,IAAI,CAAC;gBACT,MAAM,sBAAsB,GAC1B,+BAA+B,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBACrE,IAAI,uBAAuB,KAAK,sBAAsB,EAAE,CAAC;oBACvD,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CACrC,KAAK,CAAC,OAAO,EACb,KAAK,EACL,YAAY,CAAC,EAAE,CAChB,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;gBAC7D,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;wBAC1B,MAAM,CAAC,CAAC;oBACV,CAAC;oBACD,MAAM,IAAI,KAAK,CACb,0BAA0B,WAAW,eAAe,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,EAAE,EAC7E,EAAE,KAAK,EAAE,CAAC,EAAE,CACb,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC,CAAC;IApDC,CAAC;;AANN,0EA2DC;AAnDiB,mDAAmB,GAAG,SAAS,AAAZ,CAAa;AAEzC,+CAAe,GAAG,CAAC,MAAc,EAAU,EAAE,CAClD,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,AADxB,CACyB"}
@@ -0,0 +1,67 @@
1
+ import { readFileSync } from 'fs';
2
+ import tseslint from 'typescript-eslint';
3
+ import eslintJs from '@eslint/js';
4
+ import { importX } from 'eslint-plugin-import-x';
5
+ import unusedImports from 'eslint-plugin-unused-imports';
6
+
7
+ const gitignoreLines = readFileSync('.gitignore', 'utf8')
8
+ .split('\n')
9
+ .filter((line) => line.trim() && !line.trim().startsWith('#'));
10
+
11
+ export default tseslint.config(
12
+ {
13
+ ignores: [
14
+ ...gitignoreLines,
15
+ 'src/adapter/entry-points/console/ui/**',
16
+ 'src/adapter/entry-points/console/ui-dist/**',
17
+ ],
18
+ },
19
+ eslintJs.configs.recommended,
20
+ tseslint.configs.recommended,
21
+ tseslint.configs.recommendedTypeChecked,
22
+ {
23
+ plugins: {
24
+ 'import-x': importX,
25
+ 'unused-imports': unusedImports,
26
+ },
27
+ languageOptions: {
28
+ parserOptions: {
29
+ project: ['tsconfig.json'],
30
+ },
31
+ },
32
+ rules: {
33
+ '@typescript-eslint/require-await': 'off',
34
+ '@typescript-eslint/no-non-null-assertion': 'error',
35
+ '@typescript-eslint/consistent-type-assertions': [
36
+ 'error',
37
+ { assertionStyle: 'never' },
38
+ ],
39
+ '@typescript-eslint/no-unused-vars': [
40
+ 'error',
41
+ {
42
+ argsIgnorePattern: '^_',
43
+ },
44
+ ],
45
+ 'import-x/no-restricted-paths': [
46
+ 'error',
47
+ {
48
+ zones: [
49
+ {
50
+ target: './src/domain',
51
+ from: './src/adapter',
52
+ },
53
+ {
54
+ target: './src/domain/entities',
55
+ from: './src/domain/usecases',
56
+ },
57
+ {
58
+ target: './src/adapter/repositories',
59
+ from: './src/adapter/entry-points',
60
+ },
61
+ ],
62
+ },
63
+ ],
64
+ 'unused-imports/no-unused-imports': 'error',
65
+ },
66
+ },
67
+ );
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "github-issue-tower-defence-management",
3
- "version": "1.117.1",
3
+ "version": "1.117.2",
4
4
  "description": "",
5
5
  "main": "bin/index.js",
6
6
  "scripts": {
@@ -67,18 +67,19 @@
67
67
  "@types/jest": "^29.5.12",
68
68
  "@types/react": "^19.1.0",
69
69
  "@types/react-dom": "^19.1.0",
70
- "@typescript-eslint/eslint-plugin": "^7.2.0",
71
- "@typescript-eslint/parser": "^7.2.0",
70
+ "@eslint/js": "^10.0.0",
71
+ "@typescript-eslint/eslint-plugin": "^8.0.0",
72
+ "@typescript-eslint/parser": "^8.0.0",
73
+ "typescript-eslint": "^8.0.0",
72
74
  "@vitejs/plugin-react": "^4.3.0",
73
75
  "check-node-version": "^4.2.1",
74
76
  "class-variance-authority": "^0.7.1",
75
77
  "clsx": "^2.1.1",
76
78
  "commitlint": "^21.0.0",
77
79
  "conventional-changelog-conventionalcommits": "^9.0.0",
78
- "eslint": "^8.57.0",
79
- "eslint-plugin-import": "^2.29.1",
80
- "eslint-plugin-no-type-assertion": "^1.3.0",
81
- "eslint-plugin-unused-imports": "^3.1.0",
80
+ "eslint": "^10.5.0",
81
+ "eslint-plugin-import-x": "^4.0.0",
82
+ "eslint-plugin-unused-imports": "^4.0.0",
82
83
  "jest": "^29.7.0",
83
84
  "jest-environment-jsdom": "29.7.0",
84
85
  "jest-html-reporter": "^4.4.0",
@@ -116,6 +116,7 @@ export class HandleScheduledEventUseCaseHandler {
116
116
  mainSilentThresholdSeconds?: number;
117
117
  subAgentSilentThresholdSeconds?: number;
118
118
  subAgentRunningThresholdSeconds?: number;
119
+ subAgentSilentCeilingSeconds?: number;
119
120
  silentNotificationStaggerSeconds?: number;
120
121
  activeHubTaskStatus?: string;
121
122
  silentMainStalledMessage?: string;
@@ -603,6 +604,11 @@ export class HandleScheduledEventUseCaseHandler {
603
604
  process.env.TDPM_SUBAGENT_RUNNING_THRESHOLD_SECONDS,
604
605
  DEFAULT_NOTIFY_SILENT_TMUX_SESSIONS_PARAMS.subAgentRunningThresholdSeconds,
605
606
  ),
607
+ subAgentSilentCeilingSeconds: readSilentSeconds(
608
+ mergedInput.subAgentSilentCeilingSeconds,
609
+ process.env.TDPM_SUBAGENT_SILENT_CEILING_SECONDS,
610
+ DEFAULT_NOTIFY_SILENT_TMUX_SESSIONS_PARAMS.subAgentSilentCeilingSeconds,
611
+ ),
606
612
  staggerSeconds: readSilentSeconds(
607
613
  mergedInput.silentNotificationStaggerSeconds,
608
614
  process.env.TDPM_SILENT_NOTIFICATION_STAGGER_SECONDS,
@@ -5,7 +5,7 @@ import { Issue } from '../../../domain/entities/Issue';
5
5
  import { DashboardRowFile, writeDashboardRow } from './dashboardRowWriter';
6
6
 
7
7
  const readJson = (filePath: string): unknown =>
8
- JSON.parse(fs.readFileSync(filePath, 'utf8')) as unknown;
8
+ JSON.parse(fs.readFileSync(filePath, 'utf8'));
9
9
 
10
10
  const ASSIGNEE = 'HiromiShikata';
11
11
 
@@ -5,7 +5,7 @@ import { ProcHostMetricsRepository } from '../../repositories/ProcHostMetricsRep
5
5
  import { MachineStatusFile, writeMachineStatus } from './machineStatusWriter';
6
6
 
7
7
  const readJson = (filePath: string): unknown =>
8
- JSON.parse(fs.readFileSync(filePath, 'utf8')) as unknown;
8
+ JSON.parse(fs.readFileSync(filePath, 'utf8'));
9
9
 
10
10
  const buildHostMetricsRepository = (
11
11
  procDirectory: string,
@@ -8,6 +8,7 @@ import {
8
8
  DEFAULT_MAIN_SILENT_THRESHOLD_SECONDS,
9
9
  DEFAULT_SUBAGENT_SILENT_THRESHOLD_SECONDS,
10
10
  DEFAULT_SUBAGENT_RUNNING_THRESHOLD_SECONDS,
11
+ DEFAULT_SUBAGENT_SILENT_CEILING_SECONDS,
11
12
  DEFAULT_NOTIFICATION_STAGGER_SECONDS,
12
13
  } from '../../../domain/usecases/NotifySilentLiveSessionsUseCase';
13
14
  import { DefaultSilentSessionMessageComposer } from '../../../domain/usecases/DefaultSilentSessionMessageComposer';
@@ -40,6 +41,7 @@ export type NotifySilentTmuxSessionsParams = {
40
41
  mainSilentThresholdSeconds: number;
41
42
  subAgentSilentThresholdSeconds: number;
42
43
  subAgentRunningThresholdSeconds: number;
44
+ subAgentSilentCeilingSeconds: number;
43
45
  staggerSeconds: number;
44
46
  activeHubTaskStatus: string | null;
45
47
  hubTaskStatusResolver: HubTaskStatusResolver | null;
@@ -60,6 +62,7 @@ const createSubAgentActivityRepository = (
60
62
  subAgentTranscriptRootDirectory: string | null,
61
63
  subAgentProcessMatchPattern: string | null,
62
64
  subAgentOutputRootDirectory: string | null,
65
+ subAgentSilentCeilingSeconds: number,
63
66
  localCommandRunner: LocalCommandRunner,
64
67
  now: Date,
65
68
  ): SessionSubAgentActivityRepository => {
@@ -69,6 +72,7 @@ const createSubAgentActivityRepository = (
69
72
  subAgentTranscriptRootDirectory,
70
73
  ),
71
74
  now,
75
+ subAgentSilentCeilingSeconds,
72
76
  );
73
77
  }
74
78
  return new ProcessListSessionSubAgentActivityRepository(
@@ -95,6 +99,7 @@ export const notifySilentTmuxSessions = async (
95
99
  mainSilentThresholdSeconds,
96
100
  subAgentSilentThresholdSeconds,
97
101
  subAgentRunningThresholdSeconds,
102
+ subAgentSilentCeilingSeconds,
98
103
  staggerSeconds,
99
104
  activeHubTaskStatus,
100
105
  hubTaskStatusResolver,
@@ -122,6 +127,7 @@ export const notifySilentTmuxSessions = async (
122
127
  subAgentTranscriptRootDirectory,
123
128
  subAgentProcessMatchPattern,
124
129
  subAgentOutputRootDirectory,
130
+ subAgentSilentCeilingSeconds,
125
131
  localCommandRunner,
126
132
  now,
127
133
  ),
@@ -145,5 +151,6 @@ export const DEFAULT_NOTIFY_SILENT_TMUX_SESSIONS_PARAMS = {
145
151
  mainSilentThresholdSeconds: DEFAULT_MAIN_SILENT_THRESHOLD_SECONDS,
146
152
  subAgentSilentThresholdSeconds: DEFAULT_SUBAGENT_SILENT_THRESHOLD_SECONDS,
147
153
  subAgentRunningThresholdSeconds: DEFAULT_SUBAGENT_RUNNING_THRESHOLD_SECONDS,
154
+ subAgentSilentCeilingSeconds: DEFAULT_SUBAGENT_SILENT_CEILING_SECONDS,
148
155
  staggerSeconds: DEFAULT_NOTIFICATION_STAGGER_SECONDS,
149
156
  } as const;
@@ -8,7 +8,7 @@ import { RateLimitSnapshot } from '../../proxy/RateLimitCache';
8
8
  import { TokenStatusFile, writeTokenStatus } from './tokenStatusWriter';
9
9
 
10
10
  const readJson = (filePath: string): unknown =>
11
- JSON.parse(fs.readFileSync(filePath, 'utf8')) as unknown;
11
+ JSON.parse(fs.readFileSync(filePath, 'utf8'));
12
12
 
13
13
  const ASSIGNEE = 'HiromiShikata';
14
14
 
@@ -19,8 +19,9 @@ const parseNullableFloat = (value: string | null): number | null => {
19
19
 
20
20
  const parseNullableInt = (value: unknown): number | null => {
21
21
  if (value === null || value === undefined) return null;
22
- const parsed =
23
- typeof value === 'number' ? value : parseInt(String(value), 10);
22
+ if (typeof value === 'number') return Number.isFinite(value) ? value : null;
23
+ if (typeof value !== 'string') return null;
24
+ const parsed = parseInt(value, 10);
24
25
  return Number.isFinite(parsed) ? parsed : null;
25
26
  };
26
27
 
@@ -67,7 +67,7 @@ export class GraphqlProjectRepository
67
67
  cache = await this.projectCache.getLatest(
68
68
  `${PROJECT_ID_DISK_CACHE_KEY_PREFIX}-${cacheKey}`,
69
69
  );
70
- } catch (error) {
70
+ } catch {
71
71
  return null;
72
72
  }
73
73
  if (!cache) {
@@ -94,7 +94,7 @@ export class GraphqlProjectRepository
94
94
  `${PROJECT_ID_DISK_CACHE_KEY_PREFIX}-${cacheKey}`,
95
95
  { projectId },
96
96
  );
97
- } catch (error) {
97
+ } catch {
98
98
  return;
99
99
  }
100
100
  };
@@ -182,6 +182,7 @@ export class GraphqlProjectRepository
182
182
  this.fetchProjectIdFailedAt.set(cacheKey, Date.now());
183
183
  throw new Error(
184
184
  `fetchProjectId network error for ${login}/${projectNumber}: ${String(error)}`,
185
+ { cause: error },
185
186
  );
186
187
  }
187
188
 
@@ -30,7 +30,7 @@ export class LocalStorageCacheRepository {
30
30
  let value: unknown;
31
31
  try {
32
32
  value = JSON.parse(valueStr);
33
- } catch (e) {
33
+ } catch {
34
34
  return null;
35
35
  }
36
36
  if (typeof value !== 'object' || value === null) {
@@ -9,6 +9,7 @@ describe('TranscriptSessionSubAgentActivityRepository', () => {
9
9
  let rootDirectory: string;
10
10
  const now = new Date('2026-06-27T12:00:00.000Z');
11
11
  const nowEpochSeconds = Math.floor(now.getTime() / 1000);
12
+ const noOpCeilingSeconds = 365 * 24 * 60 * 60;
12
13
 
13
14
  beforeEach(() => {
14
15
  rootDirectory = fs.mkdtempSync(path.join(os.tmpdir(), 'subagent-tx-'));
@@ -109,6 +110,7 @@ describe('TranscriptSessionSubAgentActivityRepository', () => {
109
110
  const repository = new TranscriptSessionSubAgentActivityRepository(
110
111
  createResolver(),
111
112
  now,
113
+ noOpCeilingSeconds,
112
114
  );
113
115
 
114
116
  const result = await repository.listSubAgentActivitiesBySessionName(
@@ -132,6 +134,7 @@ describe('TranscriptSessionSubAgentActivityRepository', () => {
132
134
  const repository = new TranscriptSessionSubAgentActivityRepository(
133
135
  createResolver(),
134
136
  now,
137
+ noOpCeilingSeconds,
135
138
  );
136
139
 
137
140
  const result = await repository.listSubAgentActivitiesBySessionName(
@@ -153,6 +156,7 @@ describe('TranscriptSessionSubAgentActivityRepository', () => {
153
156
  const repository = new TranscriptSessionSubAgentActivityRepository(
154
157
  createResolver(),
155
158
  now,
159
+ noOpCeilingSeconds,
156
160
  );
157
161
 
158
162
  const result = await repository.listSubAgentActivitiesBySessionName(
@@ -182,6 +186,7 @@ describe('TranscriptSessionSubAgentActivityRepository', () => {
182
186
  const repository = new TranscriptSessionSubAgentActivityRepository(
183
187
  createResolver(),
184
188
  now,
189
+ noOpCeilingSeconds,
185
190
  );
186
191
 
187
192
  const result = await repository.listSubAgentActivitiesBySessionName(
@@ -199,6 +204,7 @@ describe('TranscriptSessionSubAgentActivityRepository', () => {
199
204
  const repository = new TranscriptSessionSubAgentActivityRepository(
200
205
  { resolveSubAgentsDirectory: () => null },
201
206
  now,
207
+ noOpCeilingSeconds,
202
208
  );
203
209
 
204
210
  const result = await repository.listSubAgentActivitiesBySessionName(
@@ -213,6 +219,7 @@ describe('TranscriptSessionSubAgentActivityRepository', () => {
213
219
  const repository = new TranscriptSessionSubAgentActivityRepository(
214
220
  createResolver(),
215
221
  now,
222
+ noOpCeilingSeconds,
216
223
  );
217
224
 
218
225
  const result = await repository.listSubAgentActivitiesBySessionName(
@@ -240,6 +247,7 @@ describe('TranscriptSessionSubAgentActivityRepository', () => {
240
247
  const repository = new TranscriptSessionSubAgentActivityRepository(
241
248
  createResolver(),
242
249
  now,
250
+ noOpCeilingSeconds,
243
251
  );
244
252
 
245
253
  const result = await repository.listSubAgentActivitiesBySessionName(
@@ -261,6 +269,7 @@ describe('TranscriptSessionSubAgentActivityRepository', () => {
261
269
  const repository = new TranscriptSessionSubAgentActivityRepository(
262
270
  createResolver(),
263
271
  now,
272
+ noOpCeilingSeconds,
264
273
  );
265
274
 
266
275
  const result = await repository.listSubAgentActivitiesBySessionName(
@@ -306,6 +315,7 @@ describe('TranscriptSessionSubAgentActivityRepository', () => {
306
315
  const repository = new TranscriptSessionSubAgentActivityRepository(
307
316
  new FileSystemSubAgentTranscriptDirectoryResolver(projectsRoot),
308
317
  now,
318
+ noOpCeilingSeconds,
309
319
  );
310
320
 
311
321
  const result = await repository.listSubAgentActivitiesBySessionName(
@@ -321,4 +331,112 @@ describe('TranscriptSessionSubAgentActivityRepository', () => {
321
331
  },
322
332
  ]);
323
333
  });
334
+
335
+ it('excludes a long-dead sub-agent whose transcript has been silent beyond the ceiling', async () => {
336
+ const sessionName = 'https_//github_com/owner/repo/issues/9';
337
+ const twoDaysSeconds = 2 * 24 * 60 * 60;
338
+ writeAgentTranscript(
339
+ sessionName,
340
+ 'deadone',
341
+ runningEntries('2026-06-25T11:45:00.000Z'),
342
+ nowEpochSeconds - twoDaysSeconds,
343
+ );
344
+ const repository = new TranscriptSessionSubAgentActivityRepository(
345
+ createResolver(),
346
+ now,
347
+ 60 * 60,
348
+ );
349
+
350
+ const result = await repository.listSubAgentActivitiesBySessionName(
351
+ [sessionName],
352
+ transcriptMapFor([sessionName]),
353
+ );
354
+
355
+ expect(result.size).toBe(0);
356
+ });
357
+
358
+ it('keeps a recently-silent sub-agent whose transcript is within the ceiling', async () => {
359
+ const sessionName = 'https_//github_com/owner/repo/issues/9';
360
+ writeAgentTranscript(
361
+ sessionName,
362
+ 'aliveone',
363
+ runningEntries('2026-06-27T11:45:00.000Z'),
364
+ nowEpochSeconds - 360,
365
+ );
366
+ const repository = new TranscriptSessionSubAgentActivityRepository(
367
+ createResolver(),
368
+ now,
369
+ 60 * 60,
370
+ );
371
+
372
+ const result = await repository.listSubAgentActivitiesBySessionName(
373
+ [sessionName],
374
+ transcriptMapFor([sessionName]),
375
+ );
376
+
377
+ expect(result.get(sessionName)).toEqual([
378
+ { label: 'agent-aliveone', silentSeconds: 360, runningSeconds: 900 },
379
+ ]);
380
+ });
381
+
382
+ it('keeps a sub-agent silent exactly at the ceiling and excludes one past it', async () => {
383
+ const sessionName = 'https_//github_com/owner/repo/issues/9';
384
+ writeAgentTranscript(
385
+ sessionName,
386
+ 'atceiling',
387
+ runningEntries('2026-06-27T11:00:00.000Z'),
388
+ nowEpochSeconds - 3600,
389
+ );
390
+ writeAgentTranscript(
391
+ sessionName,
392
+ 'pastceiling',
393
+ runningEntries('2026-06-27T11:00:00.000Z'),
394
+ nowEpochSeconds - 3601,
395
+ );
396
+ const repository = new TranscriptSessionSubAgentActivityRepository(
397
+ createResolver(),
398
+ now,
399
+ 3600,
400
+ );
401
+
402
+ const result = await repository.listSubAgentActivitiesBySessionName(
403
+ [sessionName],
404
+ transcriptMapFor([sessionName]),
405
+ );
406
+
407
+ expect(result.get(sessionName)).toEqual([
408
+ { label: 'agent-atceiling', silentSeconds: 3600, runningSeconds: 3600 },
409
+ ]);
410
+ });
411
+
412
+ it('flags only the recently-silent sub-agent when a session holds both a dead and an alive transcript', async () => {
413
+ const sessionName = 'https_//github_com/owner/repo/issues/9';
414
+ const twoDaysSeconds = 2 * 24 * 60 * 60;
415
+ writeAgentTranscript(
416
+ sessionName,
417
+ 'deadtwo',
418
+ runningEntries('2026-06-25T11:00:00.000Z'),
419
+ nowEpochSeconds - twoDaysSeconds,
420
+ );
421
+ writeAgentTranscript(
422
+ sessionName,
423
+ 'alivetwo',
424
+ runningEntries('2026-06-27T11:45:00.000Z'),
425
+ nowEpochSeconds - 400,
426
+ );
427
+ const repository = new TranscriptSessionSubAgentActivityRepository(
428
+ createResolver(),
429
+ now,
430
+ 60 * 60,
431
+ );
432
+
433
+ const result = await repository.listSubAgentActivitiesBySessionName(
434
+ [sessionName],
435
+ transcriptMapFor([sessionName]),
436
+ );
437
+
438
+ expect(result.get(sessionName)).toEqual([
439
+ { label: 'agent-alivetwo', silentSeconds: 400, runningSeconds: 900 },
440
+ ]);
441
+ });
324
442
  });
@@ -66,6 +66,7 @@ export class TranscriptSessionSubAgentActivityRepository implements SessionSubAg
66
66
  constructor(
67
67
  private readonly directoryResolver: SubAgentTranscriptDirectoryResolver,
68
68
  private readonly now: Date,
69
+ private readonly silentCeilingSeconds: number,
69
70
  ) {}
70
71
 
71
72
  listSubAgentActivitiesBySessionName = async (
@@ -140,6 +141,9 @@ export class TranscriptSessionSubAgentActivityRepository implements SessionSubAg
140
141
  const silentSeconds = clampToZero(
141
142
  nowEpochSeconds - Math.floor(stats.mtimeMs / 1000),
142
143
  );
144
+ if (silentSeconds > this.silentCeilingSeconds) {
145
+ return null;
146
+ }
143
147
  const runningSeconds =
144
148
  transcript.firstEntryEpochSeconds === null
145
149
  ? 0
@@ -186,7 +186,8 @@ describe('AssignNoAssigneeIssueToManagerUseCase', () => {
186
186
  url: 'https://github.com/testOrg/testRepo/issues/44',
187
187
  };
188
188
  mockIssueRepository.updateAssigneeList.mockImplementationOnce(() => {
189
- throw 'string-failure';
189
+ const nonError: unknown = 'string-failure';
190
+ throw nonError;
190
191
  });
191
192
 
192
193
  await expect(
@@ -228,7 +228,7 @@ export class HandleScheduledEventUseCase {
228
228
  input.manager,
229
229
  );
230
230
 
231
- let rotationOrder: RotationOrderEntry[] | null = null;
231
+ let rotationOrder: RotationOrderEntry[] | null;
232
232
  try {
233
233
  const useCaseResult = await this.runEachUseCases(
234
234
  input,
@@ -14,6 +14,7 @@ import { ResolveInteractiveLiveSessionsUseCase } from './ResolveInteractiveLiveS
14
14
  export const DEFAULT_MAIN_SILENT_THRESHOLD_SECONDS = 10 * 60;
15
15
  export const DEFAULT_SUBAGENT_SILENT_THRESHOLD_SECONDS = 5 * 60;
16
16
  export const DEFAULT_SUBAGENT_RUNNING_THRESHOLD_SECONDS = 15 * 60;
17
+ export const DEFAULT_SUBAGENT_SILENT_CEILING_SECONDS = 60 * 60;
17
18
  export const DEFAULT_NOTIFICATION_STAGGER_SECONDS = 25;
18
19
 
19
20
  const GITHUB_ISSUE_OR_PULL_URL_PATTERN =
@@ -56,6 +56,7 @@ export class UpdateIssueStatusByLabelUseCase {
56
56
  }
57
57
  throw new Error(
58
58
  `Failed to remove label ${statusLabel} from issue ${issue.url}: ${e.message}`,
59
+ { cause: e },
59
60
  );
60
61
  }
61
62
  }
package/tsconfig.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "compilerOptions": {
3
3
  "target": "es2020",
4
+ "lib": ["es2022", "dom", "dom.iterable"],
4
5
  "module": "CommonJS",
5
6
  "moduleResolution": "Node",
6
7
  "esModuleInterop": true,
@@ -1 +1 @@
1
- {"version":3,"file":"HandleScheduledEventUseCaseHandler.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.ts"],"names":[],"mappings":"AAkCA,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAiD3D,qBAAa,kCAAkC;IAC7C,MAAM,GACJ,gBAAgB,MAAM,EACtB,UAAU,OAAO,KAChB,OAAO,CAAC;QACT,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,KAAK,EAAE,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;QACnB,eAAe,EAAE,IAAI,EAAE,CAAC;KACzB,GAAG,IAAI,CAAC,CAmiBP;CACH"}
1
+ {"version":3,"file":"HandleScheduledEventUseCaseHandler.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.ts"],"names":[],"mappings":"AAkCA,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAiD3D,qBAAa,kCAAkC;IAC7C,MAAM,GACJ,gBAAgB,MAAM,EACtB,UAAU,OAAO,KAChB,OAAO,CAAC;QACT,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,KAAK,EAAE,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;QACnB,eAAe,EAAE,IAAI,EAAE,CAAC;KACzB,GAAG,IAAI,CAAC,CAyiBP;CACH"}
@@ -13,6 +13,7 @@ export type NotifySilentTmuxSessionsParams = {
13
13
  mainSilentThresholdSeconds: number;
14
14
  subAgentSilentThresholdSeconds: number;
15
15
  subAgentRunningThresholdSeconds: number;
16
+ subAgentSilentCeilingSeconds: number;
16
17
  staggerSeconds: number;
17
18
  activeHubTaskStatus: string | null;
18
19
  hubTaskStatusResolver: HubTaskStatusResolver | null;
@@ -24,6 +25,7 @@ export declare const DEFAULT_NOTIFY_SILENT_TMUX_SESSIONS_PARAMS: {
24
25
  readonly mainSilentThresholdSeconds: number;
25
26
  readonly subAgentSilentThresholdSeconds: number;
26
27
  readonly subAgentRunningThresholdSeconds: number;
28
+ readonly subAgentSilentCeilingSeconds: number;
27
29
  readonly staggerSeconds: 25;
28
30
  };
29
31
  //# sourceMappingURL=notifySilentTmuxSessions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"notifySilentTmuxSessions.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/handlers/notifySilentTmuxSessions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gEAAgE,CAAC;AAGpG,OAAO,EAAE,oBAAoB,EAAE,MAAM,kEAAkE,CAAC;AACxG,OAAO,EAEL,qBAAqB,EAKtB,MAAM,0DAA0D,CAAC;AAclE,OAAO,EAEL,6BAA6B,EAC9B,MAAM,6DAA6D,CAAC;AAGrE,MAAM,MAAM,8BAA8B,GAAG;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,2BAA2B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,2BAA2B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,+BAA+B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/C,0BAA0B,EAAE,MAAM,CAAC;IACnC,8BAA8B,EAAE,MAAM,CAAC;IACvC,+BAA+B,EAAE,MAAM,CAAC;IACxC,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,qBAAqB,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACpD,gBAAgB,EAAE,6BAA6B,CAAC;IAChD,GAAG,EAAE,IAAI,CAAC;CACX,CAAC;AAoCF,eAAO,MAAM,wBAAwB,GACnC,QAAQ,8BAA8B,KACrC,OAAO,CAAC,IAAI,CAwDd,CAAC;AAEF,eAAO,MAAM,0CAA0C;;;;;CAK7C,CAAC"}
1
+ {"version":3,"file":"notifySilentTmuxSessions.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/handlers/notifySilentTmuxSessions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gEAAgE,CAAC;AAGpG,OAAO,EAAE,oBAAoB,EAAE,MAAM,kEAAkE,CAAC;AACxG,OAAO,EAEL,qBAAqB,EAMtB,MAAM,0DAA0D,CAAC;AAclE,OAAO,EAEL,6BAA6B,EAC9B,MAAM,6DAA6D,CAAC;AAGrE,MAAM,MAAM,8BAA8B,GAAG;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,2BAA2B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,2BAA2B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,+BAA+B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/C,0BAA0B,EAAE,MAAM,CAAC;IACnC,8BAA8B,EAAE,MAAM,CAAC;IACvC,+BAA+B,EAAE,MAAM,CAAC;IACxC,4BAA4B,EAAE,MAAM,CAAC;IACrC,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,qBAAqB,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACpD,gBAAgB,EAAE,6BAA6B,CAAC;IAChD,GAAG,EAAE,IAAI,CAAC;CACX,CAAC;AAsCF,eAAO,MAAM,wBAAwB,GACnC,QAAQ,8BAA8B,KACrC,OAAO,CAAC,IAAI,CA0Dd,CAAC;AAEF,eAAO,MAAM,0CAA0C;;;;;;CAM7C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ClaudeMessageResponseParser.d.ts","sourceRoot":"","sources":["../../../src/adapter/proxy/ClaudeMessageResponseParser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AAiFpF,eAAO,MAAM,0BAA0B,GACrC,WAAW,MAAM,EACjB,YAAY,MAAM,EAClB,SAAS,IAAI,CAAC,mBAAmB,EACjC,MAAM,MAAM,KACX,qBA4FF,CAAC"}
1
+ {"version":3,"file":"ClaudeMessageResponseParser.d.ts","sourceRoot":"","sources":["../../../src/adapter/proxy/ClaudeMessageResponseParser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AAkFpF,eAAO,MAAM,0BAA0B,GACrC,WAAW,MAAM,EACjB,YAAY,MAAM,EAClB,SAAS,IAAI,CAAC,mBAAmB,EACjC,MAAM,MAAM,KACX,qBA4FF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"GraphqlProjectRepository.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/GraphqlProjectRepository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4DAA4D,CAAC;AAC/F,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAOrE,eAAO,MAAM,yBAAyB,GACpC,OAAO,MAAM,KACZ,WAAW,CAAC,OAAO,CAcrB,CAAC;AAEF,qBAAa,wBACX,SAAQ,oBACR,YACE,IAAI,CACF,iBAAiB,EACf,YAAY,GACZ,oBAAoB,GACpB,UAAU,GACV,iBAAiB,GACjB,kBAAkB,CACrB;IAEH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6B;IAC5D,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA6B;IACpE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAG5B;gBAGA,sBAAsB,EAAE,sBAAsB,EAC9C,OAAO,GAAE,MAAwC,EACjD,YAAY,CAAC,EAAE,IAAI,CAAC,2BAA2B,EAAE,WAAW,GAAG,KAAK,CAAC;IAMvE,OAAO,CAAC,0BAA0B,CAwBhC;IAEF,OAAO,CAAC,yBAAyB,CAe/B;IAEF,qBAAqB,GACnB,YAAY,MAAM,KACjB;QACD,KAAK,EAAE,MAAM,CAAC;QACd,aAAa,EAAE,MAAM,CAAC;KACvB,CAMC;IACF,cAAc,GACZ,OAAO,MAAM,EACb,eAAe,MAAM,KACpB,OAAO,CAAC,MAAM,CAAC,CA4FhB;IACF,kBAAkB,GAChB,YAAY,MAAM,KACjB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAG9B;IACF,UAAU,GAAU,WAAW,OAAO,CAAC,IAAI,CAAC,KAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CA8MpE;IACF,QAAQ,GAAU,KAAK,MAAM,KAAG,OAAO,CAAC,OAAO,CAAC,CAU9C;IACF,eAAe,GACb,SAAS,OAAO,EAChB,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG;QACvC,EAAE,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;KAC9B,CAAC,EAAE,KACH,OAAO,CAAC,WAAW,EAAE,CAAC,CA+CvB;IACF,gBAAgB,GACd,SAAS,OAAO,EAChB,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG;QACxC,EAAE,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;KAC9B,CAAC,EAAE,KACH,OAAO,CAAC,WAAW,EAAE,CAAC,CA4CvB;CACH"}
1
+ {"version":3,"file":"GraphqlProjectRepository.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/GraphqlProjectRepository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4DAA4D,CAAC;AAC/F,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAOrE,eAAO,MAAM,yBAAyB,GACpC,OAAO,MAAM,KACZ,WAAW,CAAC,OAAO,CAcrB,CAAC;AAEF,qBAAa,wBACX,SAAQ,oBACR,YACE,IAAI,CACF,iBAAiB,EACf,YAAY,GACZ,oBAAoB,GACpB,UAAU,GACV,iBAAiB,GACjB,kBAAkB,CACrB;IAEH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6B;IAC5D,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA6B;IACpE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAG5B;gBAGA,sBAAsB,EAAE,sBAAsB,EAC9C,OAAO,GAAE,MAAwC,EACjD,YAAY,CAAC,EAAE,IAAI,CAAC,2BAA2B,EAAE,WAAW,GAAG,KAAK,CAAC;IAMvE,OAAO,CAAC,0BAA0B,CAwBhC;IAEF,OAAO,CAAC,yBAAyB,CAe/B;IAEF,qBAAqB,GACnB,YAAY,MAAM,KACjB;QACD,KAAK,EAAE,MAAM,CAAC;QACd,aAAa,EAAE,MAAM,CAAC;KACvB,CAMC;IACF,cAAc,GACZ,OAAO,MAAM,EACb,eAAe,MAAM,KACpB,OAAO,CAAC,MAAM,CAAC,CA6FhB;IACF,kBAAkB,GAChB,YAAY,MAAM,KACjB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAG9B;IACF,UAAU,GAAU,WAAW,OAAO,CAAC,IAAI,CAAC,KAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CA8MpE;IACF,QAAQ,GAAU,KAAK,MAAM,KAAG,OAAO,CAAC,OAAO,CAAC,CAU9C;IACF,eAAe,GACb,SAAS,OAAO,EAChB,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG;QACvC,EAAE,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;KAC9B,CAAC,EAAE,KACH,OAAO,CAAC,WAAW,EAAE,CAAC,CA+CvB;IACF,gBAAgB,GACd,SAAS,OAAO,EAChB,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG;QACxC,EAAE,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;KAC9B,CAAC,EAAE,KACH,OAAO,CAAC,WAAW,EAAE,CAAC,CA4CvB;CACH"}
@@ -4,7 +4,8 @@ import { SubAgentTranscriptDirectoryResolver } from '../../domain/usecases/adapt
4
4
  export declare class TranscriptSessionSubAgentActivityRepository implements SessionSubAgentActivityRepository {
5
5
  private readonly directoryResolver;
6
6
  private readonly now;
7
- constructor(directoryResolver: SubAgentTranscriptDirectoryResolver, now: Date);
7
+ private readonly silentCeilingSeconds;
8
+ constructor(directoryResolver: SubAgentTranscriptDirectoryResolver, now: Date, silentCeilingSeconds: number);
8
9
  listSubAgentActivitiesBySessionName: (sessionNames: string[], transcriptPathBySessionName: Map<string, string>) => Promise<Map<string, SubAgentActivity[]>>;
9
10
  private collectActivities;
10
11
  private toActivity;
@@ -1 +1 @@
1
- {"version":3,"file":"TranscriptSessionSubAgentActivityRepository.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/TranscriptSessionSubAgentActivityRepository.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mDAAmD,CAAC;AACrF,OAAO,EAAE,iCAAiC,EAAE,MAAM,4EAA4E,CAAC;AAC/H,OAAO,EAAE,mCAAmC,EAAE,MAAM,8EAA8E,CAAC;AA4DnI,qBAAa,2CAA4C,YAAW,iCAAiC;IAEjG,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,GAAG;gBADH,iBAAiB,EAAE,mCAAmC,EACtD,GAAG,EAAE,IAAI;IAG5B,mCAAmC,GACjC,cAAc,MAAM,EAAE,EACtB,6BAA6B,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAC/C,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAmBzC;IAEF,OAAO,CAAC,iBAAiB,CAuBvB;IAEF,OAAO,CAAC,UAAU,CAgChB;CACH"}
1
+ {"version":3,"file":"TranscriptSessionSubAgentActivityRepository.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/TranscriptSessionSubAgentActivityRepository.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mDAAmD,CAAC;AACrF,OAAO,EAAE,iCAAiC,EAAE,MAAM,4EAA4E,CAAC;AAC/H,OAAO,EAAE,mCAAmC,EAAE,MAAM,8EAA8E,CAAC;AA4DnI,qBAAa,2CAA4C,YAAW,iCAAiC;IAEjG,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,oBAAoB;gBAFpB,iBAAiB,EAAE,mCAAmC,EACtD,GAAG,EAAE,IAAI,EACT,oBAAoB,EAAE,MAAM;IAG/C,mCAAmC,GACjC,cAAc,MAAM,EAAE,EACtB,6BAA6B,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAC/C,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAmBzC;IAEF,OAAO,CAAC,iBAAiB,CAuBvB;IAEF,OAAO,CAAC,UAAU,CAmChB;CACH"}
@@ -10,6 +10,7 @@ import { IssueRepository } from './adapter-interfaces/IssueRepository';
10
10
  export declare const DEFAULT_MAIN_SILENT_THRESHOLD_SECONDS: number;
11
11
  export declare const DEFAULT_SUBAGENT_SILENT_THRESHOLD_SECONDS: number;
12
12
  export declare const DEFAULT_SUBAGENT_RUNNING_THRESHOLD_SECONDS: number;
13
+ export declare const DEFAULT_SUBAGENT_SILENT_CEILING_SECONDS: number;
13
14
  export declare const DEFAULT_NOTIFICATION_STAGGER_SECONDS = 25;
14
15
  export declare const parseHubTaskIssueUrlFromSessionName: (sessionName: string) => string | null;
15
16
  export declare const isGitHubIssueOrPullRequestSessionName: (sessionName: string) => boolean;