github-issue-tower-defence-management 1.185.0 → 1.185.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## [1.185.1](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.185.0...v1.185.1) (2026-08-28)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * skip token exhaustion handover for workspace preparation script sessions ([#1806](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/issues/1806)) ([b752892](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/commit/b75289212e3382c355b551d54b903ef3e1357710))
7
+
1
8
  # [1.185.0](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.184.1...v1.185.0) (2026-08-27)
2
9
 
3
10
 
@@ -43,6 +43,7 @@ const NAME_ARGUMENT_PREFIX = '--name=';
43
43
  const PRINT_ARGUMENTS = ['-p', '--print'];
44
44
  const PRINT_ARGUMENT_PREFIXES = ['-p=', '--print='];
45
45
  const CLAUDE_COMM_PATTERN = /^claude(-agent)?$/;
46
+ const WORKSPACE_PREPARATION_SCOPE_PATTERN = /\/aw-[^/]*\.scope(\/|$)/;
46
47
  const ISSUE_OR_PR_URL_PATTERN = /https:\/\/github\.com\/[^\s\0]+?\/(?:issues|pull)\/\d+/;
47
48
  const normalizeName = (value) => value.replace(/[.:]/g, '_');
48
49
  const isIssueUrl = (value) => value.startsWith('http://') || value.startsWith('https://');
@@ -85,7 +86,7 @@ const parseIssueUrlFromPrint = (commandArguments) => {
85
86
  }
86
87
  return extractIssueUrlFromText(commandArguments.join(' '));
87
88
  };
88
- const classifySession = (pid, commandArguments, token) => {
89
+ const classifySession = (pid, commandArguments, token, runsUnderWorkspacePreparationScript) => {
89
90
  if (token === null || token.length === 0) {
90
91
  return null;
91
92
  }
@@ -101,10 +102,19 @@ const classifySession = (pid, commandArguments, token) => {
101
102
  sessionName,
102
103
  name,
103
104
  issueUrl: extractIssueUrlFromText(name),
105
+ runsUnderWorkspacePreparationScript,
104
106
  };
105
107
  }
106
108
  const kind = 'bareNameLeader';
107
- return { kind, pid, token, sessionName, name, issueUrl: null };
109
+ return {
110
+ kind,
111
+ pid,
112
+ token,
113
+ sessionName,
114
+ name,
115
+ issueUrl: null,
116
+ runsUnderWorkspacePreparationScript,
117
+ };
108
118
  }
109
119
  const issueUrl = parseIssueUrlFromPrint(commandArguments);
110
120
  if (issueUrl === null) {
@@ -117,6 +127,7 @@ const classifySession = (pid, commandArguments, token) => {
117
127
  sessionName: null,
118
128
  name: null,
119
129
  issueUrl,
130
+ runsUnderWorkspacePreparationScript,
120
131
  };
121
132
  };
122
133
  class ProcClaudeHandoverSessionRepository {
@@ -156,7 +167,33 @@ class ProcClaudeHandoverSessionRepository {
156
167
  return null;
157
168
  }
158
169
  const token = environ.get(OAUTH_TOKEN_ENVIRON_KEY) ?? null;
159
- return classifySession(Number(processIdDirectory), commandArguments, token);
170
+ return classifySession(Number(processIdDirectory), commandArguments, token, this.readRunsUnderWorkspacePreparationScript(processIdDirectory));
171
+ };
172
+ this.readRunsUnderWorkspacePreparationScript = (processIdDirectory) => {
173
+ const cgroupPath = path.join(this.procDirectory, processIdDirectory, 'cgroup');
174
+ let raw;
175
+ try {
176
+ raw = fs.readFileSync(cgroupPath, 'utf8');
177
+ }
178
+ catch (error) {
179
+ console.error(`ProcClaudeHandoverSessionRepository: could not read ${cgroupPath}: ${error instanceof Error ? error.message : String(error)}`);
180
+ return false;
181
+ }
182
+ for (const line of raw.split('\n')) {
183
+ const firstSeparatorIndex = line.indexOf(':');
184
+ if (firstSeparatorIndex < 0) {
185
+ continue;
186
+ }
187
+ const secondSeparatorIndex = line.indexOf(':', firstSeparatorIndex + 1);
188
+ if (secondSeparatorIndex < 0) {
189
+ continue;
190
+ }
191
+ const cgroupHierarchyPath = line.slice(secondSeparatorIndex + 1);
192
+ if (WORKSPACE_PREPARATION_SCOPE_PATTERN.test(cgroupHierarchyPath)) {
193
+ return true;
194
+ }
195
+ }
196
+ return false;
160
197
  };
161
198
  this.readComm = (processIdDirectory) => {
162
199
  const commPath = path.join(this.procDirectory, processIdDirectory, 'comm');
@@ -1 +1 @@
1
- {"version":3,"file":"ProcClaudeHandoverSessionRepository.js","sourceRoot":"","sources":["../../../src/adapter/repositories/ProcClaudeHandoverSessionRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProcClaudeHandoverSessionRepository.js","sourceRoot":"","sources":["../../../src/adapter/repositories/ProcClaudeHandoverSessionRepository.ts"],"names":[],"mappings":"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"}
@@ -30,8 +30,15 @@ class TokenExhaustionHandoverUseCase {
30
30
  const terminatedPids = [];
31
31
  const relaunchedLeaderNames = [];
32
32
  const leftAliveSessionNames = [];
33
+ const skippedWorkspacePreparationSessionNames = [];
33
34
  for (const session of sessions) {
34
35
  try {
36
+ if (session.runsUnderWorkspacePreparationScript) {
37
+ console.log(`Token exhaustion handover: skipping ${this.displayName(session)} kind=${session.kind} (launched by the workspace preparation script, which owns its own lifecycle)`);
38
+ skippedWorkspacePreparationSessionNames.push(this.displayName(session));
39
+ delete nextEntries[this.stateKeyFor(session)];
40
+ continue;
41
+ }
35
42
  const snapshot = snapshotByToken.get(session.token);
36
43
  if (snapshot === undefined) {
37
44
  continue;
@@ -102,13 +109,14 @@ class TokenExhaustionHandoverUseCase {
102
109
  console.error(`Token exhaustion handover: error processing ${this.displayName(session)}: ${error instanceof Error ? error.message : String(error)}`);
103
110
  }
104
111
  }
105
- console.log(`Token exhaustion handover: cycle summary evaluated=${sessions.length} enabled=${input.enabled} signaled=${newlyHandoverSentSessionNames.length} killed=${killedSessionNames.length} terminatedPids=${terminatedPids.length} relaunched=${relaunchedLeaderNames.length} leftAlive=${leftAliveSessionNames.length}`);
112
+ console.log(`Token exhaustion handover: cycle summary evaluated=${sessions.length} enabled=${input.enabled} signaled=${newlyHandoverSentSessionNames.length} killed=${killedSessionNames.length} terminatedPids=${terminatedPids.length} relaunched=${relaunchedLeaderNames.length} leftAlive=${leftAliveSessionNames.length} skippedWorkspacePreparation=${skippedWorkspacePreparationSessionNames.length}`);
106
113
  return {
107
114
  newlyHandoverSentSessionNames,
108
115
  killedSessionNames,
109
116
  terminatedPids,
110
117
  relaunchedLeaderNames,
111
118
  leftAliveSessionNames,
119
+ skippedWorkspacePreparationSessionNames,
112
120
  state: { entries: nextEntries },
113
121
  };
114
122
  };
@@ -1 +1 @@
1
- {"version":3,"file":"TokenExhaustionHandoverUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/TokenExhaustionHandoverUseCase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TokenExhaustionHandoverUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/TokenExhaustionHandoverUseCase.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.185.0",
3
+ "version": "1.185.1",
4
4
  "description": "",
5
5
  "main": "bin/index.js",
6
6
  "scripts": {
@@ -8,6 +8,7 @@ type FakeProcess = {
8
8
  comm: string;
9
9
  cmdline: string;
10
10
  environ: Record<string, string>;
11
+ cgroup?: string;
11
12
  };
12
13
 
13
14
  const issueUrl = 'https://github.com/HiromiShikata/example/issues/1';
@@ -41,6 +42,12 @@ describe('ProcClaudeHandoverSessionRepository', () => {
41
42
  .map(([key, value]) => `${key}=${value}\0`)
42
43
  .join('');
43
44
  fs.writeFileSync(path.join(processDirectory, 'environ'), environBuffer);
45
+ if (fakeProcess.cgroup !== undefined) {
46
+ fs.writeFileSync(
47
+ path.join(processDirectory, 'cgroup'),
48
+ `0::${fakeProcess.cgroup}\n`,
49
+ );
50
+ }
44
51
  };
45
52
 
46
53
  it('classifies an issue-URL leader from a cl --name url launch', () => {
@@ -61,6 +68,7 @@ describe('ProcClaudeHandoverSessionRepository', () => {
61
68
  sessionName: issueUrl.replace(/[.:]/g, '_'),
62
69
  name: issueUrl,
63
70
  issueUrl,
71
+ runsUnderWorkspacePreparationScript: false,
64
72
  },
65
73
  ]);
66
74
  });
@@ -83,6 +91,7 @@ describe('ProcClaudeHandoverSessionRepository', () => {
83
91
  sessionName: 'app',
84
92
  name: 'app',
85
93
  issueUrl: null,
94
+ runsUnderWorkspacePreparationScript: false,
86
95
  },
87
96
  ]);
88
97
  });
@@ -110,6 +119,7 @@ describe('ProcClaudeHandoverSessionRepository', () => {
110
119
  sessionName: null,
111
120
  name: null,
112
121
  issueUrl,
122
+ runsUnderWorkspacePreparationScript: false,
113
123
  },
114
124
  ]);
115
125
  });
@@ -184,6 +194,44 @@ describe('ProcClaudeHandoverSessionRepository', () => {
184
194
  });
185
195
  });
186
196
 
197
+ it('marks a session whose cgroup scope is an aw scope as launched by the workspace preparation script', () => {
198
+ writeProcess({
199
+ pid: 209,
200
+ comm: 'claude',
201
+ cmdline: argv(
202
+ 'claude',
203
+ '-p',
204
+ `Take ownership of ${issueUrl} and finish it`,
205
+ ),
206
+ environ: { CLAUDE_CODE_OAUTH_TOKEN: 'token-h' },
207
+ cgroup:
208
+ '/user.slice/user-1000.slice/user@1000.service/aiagents.slice/aw-HiromiShikata-example-1-4005530.scope',
209
+ });
210
+
211
+ const repository = new ProcClaudeHandoverSessionRepository(procDirectory);
212
+
213
+ expect(
214
+ repository.listHandoverSessions()[0].runsUnderWorkspacePreparationScript,
215
+ ).toBe(true);
216
+ });
217
+
218
+ it('does not mark a leader session whose cgroup scope is a cl scope as launched by the workspace preparation script', () => {
219
+ writeProcess({
220
+ pid: 210,
221
+ comm: 'claude',
222
+ cmdline: argv('claude', '--name', 'uminopm'),
223
+ environ: { CLAUDE_CODE_OAUTH_TOKEN: 'token-i' },
224
+ cgroup:
225
+ '/user.slice/user-1000.slice/user@1000.service/aiagents.slice/cl-uminopm.scope',
226
+ });
227
+
228
+ const repository = new ProcClaudeHandoverSessionRepository(procDirectory);
229
+
230
+ expect(
231
+ repository.listHandoverSessions()[0].runsUnderWorkspacePreparationScript,
232
+ ).toBe(false);
233
+ });
234
+
187
235
  it('returns an empty list when the proc directory cannot be read', () => {
188
236
  const repository = new ProcClaudeHandoverSessionRepository(
189
237
  path.join(procDirectory, 'does-not-exist'),
@@ -13,6 +13,7 @@ const NAME_ARGUMENT_PREFIX = '--name=';
13
13
  const PRINT_ARGUMENTS = ['-p', '--print'];
14
14
  const PRINT_ARGUMENT_PREFIXES = ['-p=', '--print='];
15
15
  const CLAUDE_COMM_PATTERN = /^claude(-agent)?$/;
16
+ const WORKSPACE_PREPARATION_SCOPE_PATTERN = /\/aw-[^/]*\.scope(\/|$)/;
16
17
  const ISSUE_OR_PR_URL_PATTERN =
17
18
  /https:\/\/github\.com\/[^\s\0]+?\/(?:issues|pull)\/\d+/;
18
19
 
@@ -69,6 +70,7 @@ const classifySession = (
69
70
  pid: number,
70
71
  commandArguments: string[],
71
72
  token: string | null,
73
+ runsUnderWorkspacePreparationScript: boolean,
72
74
  ): ClaudeHandoverSession | null => {
73
75
  if (token === null || token.length === 0) {
74
76
  return null;
@@ -85,10 +87,19 @@ const classifySession = (
85
87
  sessionName,
86
88
  name,
87
89
  issueUrl: extractIssueUrlFromText(name),
90
+ runsUnderWorkspacePreparationScript,
88
91
  };
89
92
  }
90
93
  const kind: ClaudeHandoverSessionKind = 'bareNameLeader';
91
- return { kind, pid, token, sessionName, name, issueUrl: null };
94
+ return {
95
+ kind,
96
+ pid,
97
+ token,
98
+ sessionName,
99
+ name,
100
+ issueUrl: null,
101
+ runsUnderWorkspacePreparationScript,
102
+ };
92
103
  }
93
104
  const issueUrl = parseIssueUrlFromPrint(commandArguments);
94
105
  if (issueUrl === null) {
@@ -101,6 +112,7 @@ const classifySession = (
101
112
  sessionName: null,
102
113
  name: null,
103
114
  issueUrl,
115
+ runsUnderWorkspacePreparationScript,
104
116
  };
105
117
  };
106
118
 
@@ -146,7 +158,48 @@ export class ProcClaudeHandoverSessionRepository implements ClaudeHandoverSessio
146
158
  return null;
147
159
  }
148
160
  const token = environ.get(OAUTH_TOKEN_ENVIRON_KEY) ?? null;
149
- return classifySession(Number(processIdDirectory), commandArguments, token);
161
+ return classifySession(
162
+ Number(processIdDirectory),
163
+ commandArguments,
164
+ token,
165
+ this.readRunsUnderWorkspacePreparationScript(processIdDirectory),
166
+ );
167
+ };
168
+
169
+ private readRunsUnderWorkspacePreparationScript = (
170
+ processIdDirectory: string,
171
+ ): boolean => {
172
+ const cgroupPath = path.join(
173
+ this.procDirectory,
174
+ processIdDirectory,
175
+ 'cgroup',
176
+ );
177
+ let raw: string;
178
+ try {
179
+ raw = fs.readFileSync(cgroupPath, 'utf8');
180
+ } catch (error) {
181
+ console.error(
182
+ `ProcClaudeHandoverSessionRepository: could not read ${cgroupPath}: ${
183
+ error instanceof Error ? error.message : String(error)
184
+ }`,
185
+ );
186
+ return false;
187
+ }
188
+ for (const line of raw.split('\n')) {
189
+ const firstSeparatorIndex = line.indexOf(':');
190
+ if (firstSeparatorIndex < 0) {
191
+ continue;
192
+ }
193
+ const secondSeparatorIndex = line.indexOf(':', firstSeparatorIndex + 1);
194
+ if (secondSeparatorIndex < 0) {
195
+ continue;
196
+ }
197
+ const cgroupHierarchyPath = line.slice(secondSeparatorIndex + 1);
198
+ if (WORKSPACE_PREPARATION_SCOPE_PATTERN.test(cgroupHierarchyPath)) {
199
+ return true;
200
+ }
201
+ }
202
+ return false;
150
203
  };
151
204
 
152
205
  private readComm = (processIdDirectory: string): string | null => {
@@ -8,4 +8,5 @@ export type ClaudeHandoverSession = {
8
8
  sessionName: string | null;
9
9
  name: string | null;
10
10
  issueUrl: string | null;
11
+ runsUnderWorkspacePreparationScript: boolean;
11
12
  };
@@ -55,6 +55,7 @@ const issueUrlLeaderSession = (): ClaudeHandoverSession => ({
55
55
  sessionName: ISSUE_URL_SESSION,
56
56
  name: ISSUE_URL,
57
57
  issueUrl: ISSUE_URL,
58
+ runsUnderWorkspacePreparationScript: false,
58
59
  });
59
60
 
60
61
  const bareNameLeaderSession = (): ClaudeHandoverSession => ({
@@ -64,6 +65,7 @@ const bareNameLeaderSession = (): ClaudeHandoverSession => ({
64
65
  sessionName: BARE_NAME,
65
66
  name: BARE_NAME,
66
67
  issueUrl: null,
68
+ runsUnderWorkspacePreparationScript: false,
67
69
  });
68
70
 
69
71
  const implSubagentSession = (): ClaudeHandoverSession => ({
@@ -73,6 +75,12 @@ const implSubagentSession = (): ClaudeHandoverSession => ({
73
75
  sessionName: null,
74
76
  name: null,
75
77
  issueUrl: ISSUE_URL,
78
+ runsUnderWorkspacePreparationScript: false,
79
+ });
80
+
81
+ const workspacePreparationSession = (): ClaudeHandoverSession => ({
82
+ ...implSubagentSession(),
83
+ runsUnderWorkspacePreparationScript: true,
76
84
  });
77
85
 
78
86
  const defaultInput = (
@@ -161,7 +169,7 @@ describe('TokenExhaustionHandoverUseCase', () => {
161
169
  await useCase.run(defaultInput({ enabled: false }));
162
170
 
163
171
  expect(logSpy).toHaveBeenCalledWith(
164
- 'Token exhaustion handover: cycle summary evaluated=0 enabled=false signaled=0 killed=0 terminatedPids=0 relaunched=0 leftAlive=0',
172
+ 'Token exhaustion handover: cycle summary evaluated=0 enabled=false signaled=0 killed=0 terminatedPids=0 relaunched=0 leftAlive=0 skippedWorkspacePreparation=0',
165
173
  );
166
174
  });
167
175
 
@@ -343,6 +351,56 @@ describe('TokenExhaustionHandoverUseCase', () => {
343
351
  });
344
352
  });
345
353
 
354
+ it('leaves a session launched by the workspace preparation script untouched instead of terminating it', async () => {
355
+ handoverSessionRepository.listHandoverSessions.mockReturnValue([
356
+ workspacePreparationSession(),
357
+ ]);
358
+ snapshotRepository.listSnapshots.mockReturnValue([
359
+ snapshot(TOKEN_EXHAUSTED, { fiveHourUtilization: 0.95 }),
360
+ snapshot(TOKEN_FRESH),
361
+ ]);
362
+
363
+ const result = await useCase.run(defaultInput());
364
+
365
+ expect(processSignalRepository.terminateProcess).not.toHaveBeenCalled();
366
+ expect(processSignalRepository.killProcess).not.toHaveBeenCalled();
367
+ expect(result.newlyHandoverSentSessionNames).toEqual([]);
368
+ expect(result.skippedWorkspacePreparationSessionNames).toEqual([
369
+ `pid:${IMPL_PID}`,
370
+ ]);
371
+ expect(result.state.entries).toEqual({});
372
+ });
373
+
374
+ it('does not force-kill a workspace preparation session whose grace period has elapsed', async () => {
375
+ handoverSessionRepository.listHandoverSessions.mockReturnValue([
376
+ workspacePreparationSession(),
377
+ ]);
378
+ snapshotRepository.listSnapshots.mockReturnValue([
379
+ snapshot(TOKEN_EXHAUSTED, { fiveHourUtilization: 0.95 }),
380
+ snapshot(TOKEN_FRESH),
381
+ ]);
382
+ processSignalRepository.isProcessAlive.mockReturnValue(true);
383
+
384
+ const result = await useCase.run(
385
+ defaultInput({
386
+ state: {
387
+ entries: {
388
+ [`pid:${IMPL_PID}`]: {
389
+ signaledAtEpoch:
390
+ nowEpochSeconds -
391
+ DEFAULT_TOKEN_EXHAUSTION_GRACE_PERIOD_SECONDS -
392
+ 1,
393
+ pid: IMPL_PID,
394
+ },
395
+ },
396
+ },
397
+ }),
398
+ );
399
+
400
+ expect(processSignalRepository.killProcess).not.toHaveBeenCalled();
401
+ expect(result.terminatedPids).toEqual([]);
402
+ });
403
+
346
404
  it('does not treat an impl subagent as exhausted on seven-day utilization alone', async () => {
347
405
  handoverSessionRepository.listHandoverSessions.mockReturnValue([
348
406
  implSubagentSession(),
@@ -51,6 +51,7 @@ export type TokenExhaustionHandoverResult = {
51
51
  terminatedPids: number[];
52
52
  relaunchedLeaderNames: string[];
53
53
  leftAliveSessionNames: string[];
54
+ skippedWorkspacePreparationSessionNames: string[];
54
55
  state: TokenExhaustionHandoverState;
55
56
  };
56
57
 
@@ -95,9 +96,20 @@ export class TokenExhaustionHandoverUseCase {
95
96
  const terminatedPids: number[] = [];
96
97
  const relaunchedLeaderNames: string[] = [];
97
98
  const leftAliveSessionNames: string[] = [];
99
+ const skippedWorkspacePreparationSessionNames: string[] = [];
98
100
 
99
101
  for (const session of sessions) {
100
102
  try {
103
+ if (session.runsUnderWorkspacePreparationScript) {
104
+ console.log(
105
+ `Token exhaustion handover: skipping ${this.displayName(session)} kind=${session.kind} (launched by the workspace preparation script, which owns its own lifecycle)`,
106
+ );
107
+ skippedWorkspacePreparationSessionNames.push(
108
+ this.displayName(session),
109
+ );
110
+ delete nextEntries[this.stateKeyFor(session)];
111
+ continue;
112
+ }
101
113
  const snapshot = snapshotByToken.get(session.token);
102
114
  if (snapshot === undefined) {
103
115
  continue;
@@ -200,7 +212,7 @@ export class TokenExhaustionHandoverUseCase {
200
212
  }
201
213
 
202
214
  console.log(
203
- `Token exhaustion handover: cycle summary evaluated=${sessions.length} enabled=${input.enabled} signaled=${newlyHandoverSentSessionNames.length} killed=${killedSessionNames.length} terminatedPids=${terminatedPids.length} relaunched=${relaunchedLeaderNames.length} leftAlive=${leftAliveSessionNames.length}`,
215
+ `Token exhaustion handover: cycle summary evaluated=${sessions.length} enabled=${input.enabled} signaled=${newlyHandoverSentSessionNames.length} killed=${killedSessionNames.length} terminatedPids=${terminatedPids.length} relaunched=${relaunchedLeaderNames.length} leftAlive=${leftAliveSessionNames.length} skippedWorkspacePreparation=${skippedWorkspacePreparationSessionNames.length}`,
204
216
  );
205
217
 
206
218
  return {
@@ -209,6 +221,7 @@ export class TokenExhaustionHandoverUseCase {
209
221
  terminatedPids,
210
222
  relaunchedLeaderNames,
211
223
  leftAliveSessionNames,
224
+ skippedWorkspacePreparationSessionNames,
212
225
  state: { entries: nextEntries },
213
226
  };
214
227
  };
@@ -6,6 +6,7 @@ export declare class ProcClaudeHandoverSessionRepository implements ClaudeHandov
6
6
  listHandoverSessions: () => ClaudeHandoverSession[];
7
7
  private listProcessIdDirectories;
8
8
  private readHandoverSession;
9
+ private readRunsUnderWorkspacePreparationScript;
9
10
  private readComm;
10
11
  private readCommandArguments;
11
12
  private readEnviron;
@@ -1 +1 @@
1
- {"version":3,"file":"ProcClaudeHandoverSessionRepository.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/ProcClaudeHandoverSessionRepository.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,qBAAqB,EAEtB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,+BAA+B,EAAE,MAAM,0EAA0E,CAAC;AAoG3H,qBAAa,mCAAoC,YAAW,+BAA+B;IAEvF,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,GAAE,MAA+B;IAGjE,oBAAoB,QAAO,qBAAqB,EAAE,CAShD;IAEF,OAAO,CAAC,wBAAwB,CAQ9B;IAEF,OAAO,CAAC,mBAAmB,CAiBzB;IAEF,OAAO,CAAC,QAAQ,CAOd;IAEF,OAAO,CAAC,oBAAoB,CAe1B;IAEF,OAAO,CAAC,WAAW,CA6BjB;CACH"}
1
+ {"version":3,"file":"ProcClaudeHandoverSessionRepository.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/ProcClaudeHandoverSessionRepository.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,qBAAqB,EAEtB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,+BAA+B,EAAE,MAAM,0EAA0E,CAAC;AAgH3H,qBAAa,mCAAoC,YAAW,+BAA+B;IAEvF,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,GAAE,MAA+B;IAGjE,oBAAoB,QAAO,qBAAqB,EAAE,CAShD;IAEF,OAAO,CAAC,wBAAwB,CAQ9B;IAEF,OAAO,CAAC,mBAAmB,CAsBzB;IAEF,OAAO,CAAC,uCAAuC,CAkC7C;IAEF,OAAO,CAAC,QAAQ,CAOd;IAEF,OAAO,CAAC,oBAAoB,CAe1B;IAEF,OAAO,CAAC,WAAW,CA6BjB;CACH"}
@@ -6,5 +6,6 @@ export type ClaudeHandoverSession = {
6
6
  sessionName: string | null;
7
7
  name: string | null;
8
8
  issueUrl: string | null;
9
+ runsUnderWorkspacePreparationScript: boolean;
9
10
  };
10
11
  //# sourceMappingURL=ClaudeHandoverSession.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClaudeHandoverSession.d.ts","sourceRoot":"","sources":["../../../src/domain/entities/ClaudeHandoverSession.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,yBAAyB,GACnC,gBAAgB,GAAG,gBAAgB,GAAG,cAAc,CAAC;AAEvD,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,yBAAyB,CAAC;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,CAAC"}
1
+ {"version":3,"file":"ClaudeHandoverSession.d.ts","sourceRoot":"","sources":["../../../src/domain/entities/ClaudeHandoverSession.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,yBAAyB,GACnC,gBAAgB,GAAG,gBAAgB,GAAG,cAAc,CAAC;AAEvD,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,yBAAyB,CAAC;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,mCAAmC,EAAE,OAAO,CAAC;CAC9C,CAAC"}
@@ -26,6 +26,7 @@ export type TokenExhaustionHandoverResult = {
26
26
  terminatedPids: number[];
27
27
  relaunchedLeaderNames: string[];
28
28
  leftAliveSessionNames: string[];
29
+ skippedWorkspacePreparationSessionNames: string[];
29
30
  state: TokenExhaustionHandoverState;
30
31
  };
31
32
  export declare class TokenExhaustionHandoverUseCase {
@@ -1 +1 @@
1
- {"version":3,"file":"TokenExhaustionHandoverUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/TokenExhaustionHandoverUseCase.ts"],"names":[],"mappings":"AACA,OAAO,EACL,4BAA4B,EAE7B,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,+BAA+B,EAAE,MAAM,sDAAsD,CAAC;AACvG,OAAO,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,EAGL,gCAAgC,EACjC,MAAM,uDAAuD,CAAC;AAE/D,eAAO,MAAM,yCAAyC,ubACgY,CAAC;AAEvb,eAAO,MAAM,0DAA0D,yjBACif,CAAC;AAEzjB,eAAO,MAAM,6CAA6C,MAAM,CAAC;AACjE,eAAO,MAAM,iDAAiD,MAAM,CAAC;AACrE,eAAO,MAAM,sDAAsD,OAAO,CAAC;AAC3E,eAAO,MAAM,yCAAyC,MAAM,CAAC;AAC7D,eAAO,MAAM,yCAAyC,OAAO,CAAC;AAC9D,eAAO,MAAM,iDAAiD,OAAO,CAAC;AACtE,eAAO,MAAM,iDAAiD,OAAO,CAAC;AAYtE,MAAM,MAAM,4BAA4B,GAAG;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,4BAA4B,CAAC;IACpC,GAAG,EAAE,IAAI,CAAC;CACX,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,6BAA6B,EAAE,MAAM,EAAE,CAAC;IACxC,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,KAAK,EAAE,4BAA4B,CAAC;CACrC,CAAC;AAEF,qBAAa,8BAA8B;IAEvC,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAI1C,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAInC,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IAOtC,OAAO,CAAC,QAAQ,CAAC,uBAAuB;gBAfvB,yBAAyB,EAAE,IAAI,CAC9C,+BAA+B,EAC/B,sBAAsB,CACvB,EACgB,kBAAkB,EAAE,IAAI,CACvC,gCAAgC,EAChC,eAAe,CAChB,EACgB,qBAAqB,EAAE,IAAI,CAC1C,qBAAqB,EACnB,UAAU,GACV,aAAa,GACb,sBAAsB,GACtB,6BAA6B,CAChC,EACgB,uBAAuB,EAAE,uBAAuB;IAGnE,GAAG,GACD,OAAO,4BAA4B,KAClC,OAAO,CAAC,6BAA6B,CAAC,CAuIvC;IAEF,OAAO,CAAC,aAAa,CACwC;IAE7D,OAAO,CAAC,sBAAsB,CAS5B;IAEF,OAAO,CAAC,YAAY,CAgBlB;IAEF,OAAO,CAAC,SAAS,CAoBf;IAEF,OAAO,CAAC,WAAW,CAGiC;IAEpD,OAAO,CAAC,WAAW,CAC2B;IAE9C,OAAO,CAAC,uBAAuB,CAe7B;IAEF,OAAO,CAAC,gBAAgB,CAgFtB;IAEF,OAAO,CAAC,SAAS,CASf;IAEF,OAAO,CAAC,OAAO,CAQb;IAEF,OAAO,CAAC,cAAc,CAcpB;CACH"}
1
+ {"version":3,"file":"TokenExhaustionHandoverUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/TokenExhaustionHandoverUseCase.ts"],"names":[],"mappings":"AACA,OAAO,EACL,4BAA4B,EAE7B,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,+BAA+B,EAAE,MAAM,sDAAsD,CAAC;AACvG,OAAO,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,EAGL,gCAAgC,EACjC,MAAM,uDAAuD,CAAC;AAE/D,eAAO,MAAM,yCAAyC,ubACgY,CAAC;AAEvb,eAAO,MAAM,0DAA0D,yjBACif,CAAC;AAEzjB,eAAO,MAAM,6CAA6C,MAAM,CAAC;AACjE,eAAO,MAAM,iDAAiD,MAAM,CAAC;AACrE,eAAO,MAAM,sDAAsD,OAAO,CAAC;AAC3E,eAAO,MAAM,yCAAyC,MAAM,CAAC;AAC7D,eAAO,MAAM,yCAAyC,OAAO,CAAC;AAC9D,eAAO,MAAM,iDAAiD,OAAO,CAAC;AACtE,eAAO,MAAM,iDAAiD,OAAO,CAAC;AAYtE,MAAM,MAAM,4BAA4B,GAAG;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,4BAA4B,CAAC;IACpC,GAAG,EAAE,IAAI,CAAC;CACX,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,6BAA6B,EAAE,MAAM,EAAE,CAAC;IACxC,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,uCAAuC,EAAE,MAAM,EAAE,CAAC;IAClD,KAAK,EAAE,4BAA4B,CAAC;CACrC,CAAC;AAEF,qBAAa,8BAA8B;IAEvC,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAI1C,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAInC,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IAOtC,OAAO,CAAC,QAAQ,CAAC,uBAAuB;gBAfvB,yBAAyB,EAAE,IAAI,CAC9C,+BAA+B,EAC/B,sBAAsB,CACvB,EACgB,kBAAkB,EAAE,IAAI,CACvC,gCAAgC,EAChC,eAAe,CAChB,EACgB,qBAAqB,EAAE,IAAI,CAC1C,qBAAqB,EACnB,UAAU,GACV,aAAa,GACb,sBAAsB,GACtB,6BAA6B,CAChC,EACgB,uBAAuB,EAAE,uBAAuB;IAGnE,GAAG,GACD,OAAO,4BAA4B,KAClC,OAAO,CAAC,6BAA6B,CAAC,CAmJvC;IAEF,OAAO,CAAC,aAAa,CACwC;IAE7D,OAAO,CAAC,sBAAsB,CAS5B;IAEF,OAAO,CAAC,YAAY,CAgBlB;IAEF,OAAO,CAAC,SAAS,CAoBf;IAEF,OAAO,CAAC,WAAW,CAGiC;IAEpD,OAAO,CAAC,WAAW,CAC2B;IAE9C,OAAO,CAAC,uBAAuB,CAe7B;IAEF,OAAO,CAAC,gBAAgB,CAgFtB;IAEF,OAAO,CAAC,SAAS,CASf;IAEF,OAAO,CAAC,OAAO,CAQb;IAEF,OAAO,CAAC,cAAc,CAcpB;CACH"}