github-issue-tower-defence-management 2.154.7 → 2.154.8

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.
@@ -8,7 +8,7 @@ const cleanStaleTmuxSessions = async (params) => {
8
8
  const useCase = new StaleTmuxSessionKillUseCase_1.StaleTmuxSessionKillUseCase(issueRepository, new NodeTmuxSessionRepository_1.NodeTmuxSessionRepository(localCommandRunner));
9
9
  await useCase.run({
10
10
  project,
11
- excludedStatus: StaleTmuxSessionKillUseCase_1.DEFAULT_EXCLUDED_STATUS,
11
+ excludedStatusNames: StaleTmuxSessionKillUseCase_1.DEFAULT_EXCLUDED_STATUS_NAMES,
12
12
  idleThresholdSeconds: StaleTmuxSessionKillUseCase_1.DEFAULT_IDLE_THRESHOLD_SECONDS,
13
13
  now,
14
14
  });
@@ -1 +1 @@
1
- {"version":3,"file":"staleTmuxSessionCleaner.js","sourceRoot":"","sources":["../../../../src/adapter/entry-points/handlers/staleTmuxSessionCleaner.ts"],"names":[],"mappings":";;;AAGA,sGAI8D;AAC9D,4FAAyF;AASlF,MAAM,sBAAsB,GAAG,KAAK,EACzC,MAAoC,EACrB,EAAE;IACjB,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IACrE,MAAM,OAAO,GAAG,IAAI,yDAA2B,CAC7C,eAAe,EACf,IAAI,qDAAyB,CAAC,kBAAkB,CAAC,CAClD,CAAC;IACF,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,OAAO;QACP,cAAc,EAAE,qDAAuB;QACvC,oBAAoB,EAAE,4DAA8B;QACpD,GAAG;KACJ,CAAC,CAAC;AACL,CAAC,CAAC;AAdW,QAAA,sBAAsB,0BAcjC"}
1
+ {"version":3,"file":"staleTmuxSessionCleaner.js","sourceRoot":"","sources":["../../../../src/adapter/entry-points/handlers/staleTmuxSessionCleaner.ts"],"names":[],"mappings":";;;AAGA,sGAI8D;AAC9D,4FAAyF;AASlF,MAAM,sBAAsB,GAAG,KAAK,EACzC,MAAoC,EACrB,EAAE;IACjB,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IACrE,MAAM,OAAO,GAAG,IAAI,yDAA2B,CAC7C,eAAe,EACf,IAAI,qDAAyB,CAAC,kBAAkB,CAAC,CAClD,CAAC;IACF,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,OAAO;QACP,mBAAmB,EAAE,2DAA6B;QAClD,oBAAoB,EAAE,4DAA8B;QACpD,GAAG;KACJ,CAAC,CAAC;AACL,CAAC,CAAC;AAdW,QAAA,sBAAsB,0BAcjC"}
@@ -1,9 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StaleTmuxSessionKillUseCase = exports.DEFAULT_IDLE_THRESHOLD_SECONDS = exports.DEFAULT_EXCLUDED_STATUS = void 0;
3
+ exports.StaleTmuxSessionKillUseCase = exports.DEFAULT_IDLE_THRESHOLD_SECONDS = exports.DEFAULT_EXCLUDED_STATUS_NAMES = void 0;
4
4
  const WorkflowStatus_1 = require("../entities/WorkflowStatus");
5
5
  const InTmuxByHumanSessionReconcileUseCase_1 = require("./intmux/InTmuxByHumanSessionReconcileUseCase");
6
- exports.DEFAULT_EXCLUDED_STATUS = WorkflowStatus_1.IN_TMUX_STATUS_NAME;
6
+ exports.DEFAULT_EXCLUDED_STATUS_NAMES = [
7
+ WorkflowStatus_1.IN_TMUX_STATUS_NAME,
8
+ WorkflowStatus_1.IN_TMUX_BY_AGENT_STATUS_NAME,
9
+ ];
7
10
  exports.DEFAULT_IDLE_THRESHOLD_SECONDS = 24 * 60 * 60;
8
11
  class StaleTmuxSessionKillUseCase {
9
12
  constructor(issueRepository, tmuxSessionRepository) {
@@ -19,7 +22,7 @@ class StaleTmuxSessionKillUseCase {
19
22
  const nowEpochSeconds = Math.floor(params.now.getTime() / 1000);
20
23
  const killCandidates = [];
21
24
  for (const session of liveSessions) {
22
- const reason = this.evaluateKillReason(session, issueBySessionName.get(session.sessionName) ?? null, nowEpochSeconds, params.excludedStatus, params.idleThresholdSeconds);
25
+ const reason = this.evaluateKillReason(session, issueBySessionName.get(session.sessionName) ?? null, nowEpochSeconds, params.excludedStatusNames, params.idleThresholdSeconds);
23
26
  if (reason !== null) {
24
27
  killCandidates.push({ sessionName: session.sessionName, reason });
25
28
  }
@@ -33,16 +36,15 @@ class StaleTmuxSessionKillUseCase {
33
36
  console.log(`Killed tmux session: ${candidate.sessionName} (${candidate.reason})`);
34
37
  }
35
38
  };
36
- this.evaluateKillReason = (session, issue, nowEpochSeconds, excludedStatus, idleThresholdSeconds) => {
39
+ this.evaluateKillReason = (session, issue, nowEpochSeconds, excludedStatusNames, idleThresholdSeconds) => {
37
40
  if (issue !== null) {
38
- if (issue.status !== excludedStatus) {
39
- return `mapped to open issue ${issue.url} with status "${issue.status ?? 'null'}" which is not the excluded status "${excludedStatus}"`;
41
+ const isExcludedStatus = issue.status !== null && excludedStatusNames.includes(issue.status);
42
+ if (isExcludedStatus) {
43
+ return null;
40
44
  }
41
- if (issue.nextActionDate !== null) {
42
- return `mapped to open issue ${issue.url} which has a next action date set`;
43
- }
44
- if (issue.nextActionHour !== null) {
45
- return `mapped to open issue ${issue.url} which has a next action hour set`;
45
+ const idleSeconds = nowEpochSeconds - session.activityEpochSeconds;
46
+ if (idleSeconds >= idleThresholdSeconds) {
47
+ return `mapped to open issue ${issue.url} with status "${issue.status ?? 'null'}" which is not an excluded status and has been idle for ${idleSeconds} seconds (threshold ${idleThresholdSeconds} seconds)`;
46
48
  }
47
49
  return null;
48
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"StaleTmuxSessionKillUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/StaleTmuxSessionKillUseCase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StaleTmuxSessionKillUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/StaleTmuxSessionKillUseCase.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": "2.154.7",
3
+ "version": "2.154.8",
4
4
  "description": "",
5
5
  "main": "bin/index.js",
6
6
  "scripts": {
@@ -1,7 +1,7 @@
1
1
  import { Project } from '../entities/Project';
2
2
  import { IssueRepository } from './adapter-interfaces/IssueRepository';
3
3
  import { TmuxSessionRepository } from './adapter-interfaces/TmuxSessionRepository';
4
- export declare const DEFAULT_EXCLUDED_STATUS = "In Tmux by human";
4
+ export declare const DEFAULT_EXCLUDED_STATUS_NAMES: readonly string[];
5
5
  export declare const DEFAULT_IDLE_THRESHOLD_SECONDS: number;
6
6
  export declare class StaleTmuxSessionKillUseCase {
7
7
  private readonly issueRepository;
@@ -9,7 +9,7 @@ export declare class StaleTmuxSessionKillUseCase {
9
9
  constructor(issueRepository: Pick<IssueRepository, 'getAllOpened'>, tmuxSessionRepository: Pick<TmuxSessionRepository, 'listLiveSessionsWithActivity' | 'killSession'>);
10
10
  run: (params: {
11
11
  project: Project;
12
- excludedStatus: string;
12
+ excludedStatusNames: readonly string[];
13
13
  idleThresholdSeconds: number;
14
14
  now: Date;
15
15
  }) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"StaleTmuxSessionKillUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/StaleTmuxSessionKillUseCase.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AAGnF,eAAO,MAAM,uBAAuB,qBAAsB,CAAC;AAC3D,eAAO,MAAM,8BAA8B,QAAe,CAAC;AAO3D,qBAAa,2BAA2B;IAEpC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,qBAAqB;gBADrB,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,cAAc,CAAC,EACtD,qBAAqB,EAAE,IAAI,CAC1C,qBAAqB,EACrB,8BAA8B,GAAG,aAAa,CAC/C;IAGH,GAAG,GAAU,QAAQ;QACnB,OAAO,EAAE,OAAO,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,GAAG,EAAE,IAAI,CAAC;KACX,KAAG,OAAO,CAAC,IAAI,CAAC,CAuCf;IAEF,OAAO,CAAC,kBAAkB,CAyBxB;CACH"}
1
+ {"version":3,"file":"StaleTmuxSessionKillUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/StaleTmuxSessionKillUseCase.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAK9C,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AAGnF,eAAO,MAAM,6BAA6B,EAAE,SAAS,MAAM,EAG1D,CAAC;AACF,eAAO,MAAM,8BAA8B,QAAe,CAAC;AAO3D,qBAAa,2BAA2B;IAEpC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,qBAAqB;gBADrB,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,cAAc,CAAC,EACtD,qBAAqB,EAAE,IAAI,CAC1C,qBAAqB,EACrB,8BAA8B,GAAG,aAAa,CAC/C;IAGH,GAAG,GAAU,QAAQ;QACnB,OAAO,EAAE,OAAO,CAAC;QACjB,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;QACvC,oBAAoB,EAAE,MAAM,CAAC;QAC7B,GAAG,EAAE,IAAI,CAAC;KACX,KAAG,OAAO,CAAC,IAAI,CAAC,CAuCf;IAEF,OAAO,CAAC,kBAAkB,CA0BxB;CACH"}