github-issue-tower-defence-management 1.125.5 → 1.126.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 (31) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/bin/adapter/entry-points/handlers/situationFileWriter.js +2 -1
  3. package/bin/adapter/entry-points/handlers/situationFileWriter.js.map +1 -1
  4. package/bin/adapter/repositories/ConfigurableSilentSessionMessageComposer.js +1 -1
  5. package/bin/adapter/repositories/ConfigurableSilentSessionMessageComposer.js.map +1 -1
  6. package/bin/adapter/repositories/githubGraphqlClient.js +3 -1
  7. package/bin/adapter/repositories/githubGraphqlClient.js.map +1 -1
  8. package/bin/domain/usecases/DefaultSilentSessionMessageComposer.js +10 -1
  9. package/bin/domain/usecases/DefaultSilentSessionMessageComposer.js.map +1 -1
  10. package/bin/domain/usecases/StartPreparationUseCase.js +20 -0
  11. package/bin/domain/usecases/StartPreparationUseCase.js.map +1 -1
  12. package/package.json +1 -1
  13. package/src/adapter/entry-points/handlers/situationFileWriter.test.ts +36 -0
  14. package/src/adapter/entry-points/handlers/situationFileWriter.ts +1 -0
  15. package/src/adapter/repositories/ConfigurableSilentSessionMessageComposer.test.ts +36 -0
  16. package/src/adapter/repositories/ConfigurableSilentSessionMessageComposer.ts +5 -2
  17. package/src/adapter/repositories/githubGraphqlClient.test.ts +55 -0
  18. package/src/adapter/repositories/githubGraphqlClient.ts +6 -0
  19. package/src/domain/usecases/DefaultSilentSessionMessageComposer.test.ts +54 -0
  20. package/src/domain/usecases/DefaultSilentSessionMessageComposer.ts +9 -0
  21. package/src/domain/usecases/HandleScheduledEventUseCase.test.ts +18 -0
  22. package/src/domain/usecases/StartPreparationUseCase.test.ts +244 -0
  23. package/src/domain/usecases/StartPreparationUseCase.ts +29 -0
  24. package/types/adapter/entry-points/handlers/situationFileWriter.d.ts.map +1 -1
  25. package/types/adapter/repositories/ConfigurableSilentSessionMessageComposer.d.ts.map +1 -1
  26. package/types/adapter/repositories/githubGraphqlClient.d.ts +2 -0
  27. package/types/adapter/repositories/githubGraphqlClient.d.ts.map +1 -1
  28. package/types/domain/usecases/DefaultSilentSessionMessageComposer.d.ts +1 -0
  29. package/types/domain/usecases/DefaultSilentSessionMessageComposer.d.ts.map +1 -1
  30. package/types/domain/usecases/StartPreparationUseCase.d.ts +1 -1
  31. package/types/domain/usecases/StartPreparationUseCase.d.ts.map +1 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ # [1.126.0](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.125.5...v1.126.0) (2026-07-20)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **githubGraphqlClient:** add bounded 120s request timeout to fetchGithubGraphql ([#1226](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/issues/1226)) ([647c328](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/commit/647c328d71d4f22b7ce636362c92ef7df884ad2b))
7
+ * **situation:** exclude closed items from immediately-actionable counts ([#1225](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/issues/1225)) ([a47b7d4](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/commit/a47b7d45bb6feafe55ab5b66d2c828ee69679fb6))
8
+
9
+
10
+ ### Features
11
+
12
+ * **preparation:** log spawn-candidate exclusion reasons and story-unset warning ([#1227](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/issues/1227)) ([38ccf35](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/commit/38ccf35edbfd78ddac10f1ee2d2495d6ba8e830d))
13
+ * **silent-monitor:** add self-diagnosis guidance to the main-stalled reminder ([#1221](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/issues/1221)) ([c619ff2](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/commit/c619ff23c2d67e97ede008a131cabcc9f02884d5))
14
+
1
15
  ## [1.125.5](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.125.4...v1.125.5) (2026-07-19)
2
16
 
3
17
 
@@ -20,7 +20,8 @@ const parseMeminfo = (meminfo) => {
20
20
  exports.parseMeminfo = parseMeminfo;
21
21
  const kbToGib = (kb) => Math.round((kb / 1024 / 1024) * 100) / 100;
22
22
  const toPercent = (used, total) => total > 0 ? Math.round((used / total) * 1000) / 10 : 0;
23
- const isImmediatelyActionable = (issue) => issue.dependedIssueUrls.length === 0 &&
23
+ const isImmediatelyActionable = (issue) => !issue.isClosed &&
24
+ issue.dependedIssueUrls.length === 0 &&
24
25
  issue.nextActionDate === null &&
25
26
  issue.nextActionHour === null;
26
27
  const countRunningProcesses = async (preparationIssues, commandTemplate, localCommandRunner) => {
@@ -1 +1 @@
1
- {"version":3,"file":"situationFileWriter.js","sourceRoot":"","sources":["../../../../src/adapter/entry-points/handlers/situationFileWriter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"situationFileWriter.js","sourceRoot":"","sources":["../../../../src/adapter/entry-points/handlers/situationFileWriter.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ class ConfigurableSilentSessionMessageComposer {
18
18
  if (this.templates.mainStalledMessage === null) {
19
19
  return this.fallback.composeMainStalledSection(mainSilentSeconds);
20
20
  }
21
- return withReminderSentinel(`${this.templates.mainStalledMessage} ${(0, DefaultSilentSessionMessageComposer_1.composeOwnerCallFormatGuidance)()}`);
21
+ return withReminderSentinel(`${this.templates.mainStalledMessage} ${(0, DefaultSilentSessionMessageComposer_1.composeOwnerCallFormatGuidance)()} ${(0, DefaultSilentSessionMessageComposer_1.composeMainStalledSelfDiagnosisGuidance)()}`);
22
22
  };
23
23
  this.composeMainStalledWithStaleOwnerCallSection = (mainSilentSeconds, unansweredOwnerCallAgeSeconds) => {
24
24
  if (this.templates.mainStalledStaleOwnerCallMessage === null) {
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigurableSilentSessionMessageComposer.js","sourceRoot":"","sources":["../../../src/adapter/repositories/ConfigurableSilentSessionMessageComposer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConfigurableSilentSessionMessageComposer.js","sourceRoot":"","sources":["../../../src/adapter/repositories/ConfigurableSilentSessionMessageComposer.ts"],"names":[],"mappings":"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"}
@@ -3,9 +3,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.fetchGithubGraphql = exports.postGithubGraphqlJson = exports.logGithubGraphqlCost = exports.injectRateLimitSelection = exports.extractGraphqlOperationName = exports.isMutationOperation = exports.RATE_LIMIT_SELECTION = exports.GITHUB_GRAPHQL_ENDPOINT = void 0;
6
+ exports.fetchGithubGraphql = exports.postGithubGraphqlJson = exports.logGithubGraphqlCost = exports.injectRateLimitSelection = exports.extractGraphqlOperationName = exports.isMutationOperation = exports.RATE_LIMIT_SELECTION = exports.GITHUB_GRAPHQL_REQUEST_TIMEOUT_MS = exports.GITHUB_GRAPHQL_ENDPOINT = void 0;
7
7
  const ky_1 = __importDefault(require("ky"));
8
8
  exports.GITHUB_GRAPHQL_ENDPOINT = 'https://api.github.com/graphql';
9
+ exports.GITHUB_GRAPHQL_REQUEST_TIMEOUT_MS = 120000;
9
10
  exports.RATE_LIMIT_SELECTION = 'rateLimit { cost remaining }';
10
11
  const isMutationOperation = (query) => query.trimStart().startsWith('mutation');
11
12
  exports.isMutationOperation = isMutationOperation;
@@ -85,6 +86,7 @@ const fetchGithubGraphql = async (params) => {
85
86
  query: (0, exports.injectRateLimitSelection)(params.query),
86
87
  variables: params.variables,
87
88
  }),
89
+ signal: AbortSignal.timeout(params.timeoutMs ?? exports.GITHUB_GRAPHQL_REQUEST_TIMEOUT_MS),
88
90
  });
89
91
  if (response.ok) {
90
92
  const responseBody = await response
@@ -1 +1 @@
1
- {"version":3,"file":"githubGraphqlClient.js","sourceRoot":"","sources":["../../../src/adapter/repositories/githubGraphqlClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"githubGraphqlClient.js","sourceRoot":"","sources":["../../../src/adapter/repositories/githubGraphqlClient.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DefaultSilentSessionMessageComposer = exports.composeOwnerCallFormatGuidance = void 0;
3
+ exports.DefaultSilentSessionMessageComposer = exports.composeMainStalledSelfDiagnosisGuidance = exports.composeOwnerCallFormatGuidance = void 0;
4
4
  const silentSessionReminderSentinel_1 = require("./silentSessionReminderSentinel");
5
5
  const formatMinutes = (seconds) => {
6
6
  const minutes = Math.floor(seconds / 60);
@@ -26,6 +26,14 @@ const composeOwnerCallFormatGuidance = () => {
26
26
  return 'Please share it through a new owner-call in the format documented for this session, written to be self-contained so the owner can understand the situation from that single message.';
27
27
  };
28
28
  exports.composeOwnerCallFormatGuidance = composeOwnerCallFormatGuidance;
29
+ const composeMainStalledSelfDiagnosisGuidance = () => {
30
+ return [
31
+ 'This reminder is delivered only to sessions that have no registered unanswered owner-call.',
32
+ "If you believe you have already raised an owner-call and are waiting for the owner's reply, receiving this reminder means that call was not registered — its format or delivery method was incorrect — and the owner has not been notified.",
33
+ 'In that case, please review the documented owner-call format for this session and re-raise the pending request as a new owner-call in that format.',
34
+ ].join(' ');
35
+ };
36
+ exports.composeMainStalledSelfDiagnosisGuidance = composeMainStalledSelfDiagnosisGuidance;
29
37
  const composeMainStalledMessage = (mainSilentSeconds) => {
30
38
  const minutes = Math.floor(mainSilentSeconds / 60);
31
39
  return [
@@ -34,6 +42,7 @@ const composeMainStalledMessage = (mainSilentSeconds) => {
34
42
  `2. Run independent pieces of work in parallel across sub-agents.`,
35
43
  `3. Keep a monitor in place that notices when a sub-agent has produced no output for about 5 minutes.`,
36
44
  `4. When an owner decision is needed, or when work the owner asked for has been completed or answered, please share it through a new owner-call — a completion still awaits the owner's acknowledgment, so it is not a no-action case. The owner is notified only when an owner-call is raised. ${(0, exports.composeOwnerCallFormatGuidance)()}`,
45
+ (0, exports.composeMainStalledSelfDiagnosisGuidance)(),
37
46
  `Please also include in your next output an estimate of the remaining minutes to finish all tasks.`,
38
47
  ].join('\n');
39
48
  };
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultSilentSessionMessageComposer.js","sourceRoot":"","sources":["../../../src/domain/usecases/DefaultSilentSessionMessageComposer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DefaultSilentSessionMessageComposer.js","sourceRoot":"","sources":["../../../src/domain/usecases/DefaultSilentSessionMessageComposer.ts"],"names":[],"mappings":"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"}
@@ -184,10 +184,25 @@ class StartPreparationUseCase {
184
184
  const awaitingWorkspaceIssues = allOpenedIssues
185
185
  .filter((issue) => issue.status === WorkflowStatus_1.AWAITING_WORKSPACE_STATUS_NAME && !issue.isClosed)
186
186
  .map((issue) => ({ ...issue }));
187
+ const allProjectOpenIssues = await this.issueRepository.getAllOpened(project);
188
+ const storyUnsetAwaitingWorkspaceIssueUrls = allProjectOpenIssues
189
+ .filter((issue) => issue.status === WorkflowStatus_1.AWAITING_WORKSPACE_STATUS_NAME &&
190
+ !issue.isClosed &&
191
+ issue.story === null)
192
+ .map((issue) => issue.url);
193
+ if (storyUnsetAwaitingWorkspaceIssueUrls.length > 0) {
194
+ console.warn(`Awaiting Workspace issue(s) invisible to spawn candidate selection because Story is unset: ${storyUnsetAwaitingWorkspaceIssueUrls.join(', ')}`);
195
+ }
187
196
  const currentPreparationIssueCount = allOpenedIssues.filter((issue) => issue.status === WorkflowStatus_1.PREPARATION_STATUS_NAME).length;
188
197
  let updatedCurrentPreparationIssueCount = currentPreparationIssueCount;
189
198
  let startedInThisRunCount = 0;
190
199
  const spawnedInThisRunByToken = {};
200
+ const exclusionCounts = {
201
+ dependedIssueUrls: 0,
202
+ futureNextActionDate: 0,
203
+ nextActionHourNotReached: 0,
204
+ authorNotAllowed: 0,
205
+ };
191
206
  const now = new Date();
192
207
  const currentHour = now.getHours();
193
208
  const todayStart = new Date(now.getFullYear(), now.getMonth(), now.getDate());
@@ -196,18 +211,22 @@ class StartPreparationUseCase {
196
211
  updatedCurrentPreparationIssueCount < effectiveMaxPreparingIssuesCount; i++) {
197
212
  const issue = awaitingWorkspaceIssues[i];
198
213
  if (issue.dependedIssueUrls.length > 0) {
214
+ exclusionCounts.dependedIssueUrls++;
199
215
  continue;
200
216
  }
201
217
  if (issue.nextActionDate !== null &&
202
218
  issue.nextActionDate >= tomorrowStart) {
219
+ exclusionCounts.futureNextActionDate++;
203
220
  continue;
204
221
  }
205
222
  if (issue.nextActionHour !== null && currentHour < issue.nextActionHour) {
223
+ exclusionCounts.nextActionHourNotReached++;
206
224
  continue;
207
225
  }
208
226
  if (params.allowedIssueAuthors === null ||
209
227
  params.allowedIssueAuthors.length === 0 ||
210
228
  !params.allowedIssueAuthors.includes(issue.author)) {
229
+ exclusionCounts.authorNotAllowed++;
211
230
  continue;
212
231
  }
213
232
  const mappedAgentFromLabel = params.labelsAsLlmAgentName !== null
@@ -342,6 +361,7 @@ class StartPreparationUseCase {
342
361
  startedInThisRunCount++;
343
362
  updatedCurrentPreparationIssueCount++;
344
363
  }
364
+ console.log(`Spawn candidate exclusion summary for ${params.projectUrl}: dependedIssueUrls=${exclusionCounts.dependedIssueUrls}, futureNextActionDate=${exclusionCounts.futureNextActionDate}, nextActionHourNotReached=${exclusionCounts.nextActionHourNotReached}, authorNotAllowed=${exclusionCounts.authorNotAllowed}`);
345
365
  return { rotationOrder };
346
366
  };
347
367
  }
@@ -1 +1 @@
1
- {"version":3,"file":"StartPreparationUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/StartPreparationUseCase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StartPreparationUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/StartPreparationUseCase.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.125.5",
3
+ "version": "1.126.0",
4
4
  "description": "",
5
5
  "main": "bin/index.js",
6
6
  "scripts": {
@@ -121,6 +121,42 @@ describe('writeSituationFile', () => {
121
121
  );
122
122
  });
123
123
 
124
+ it('excludes closed items without reactivation triggers from immediately actionable counts', async () => {
125
+ const issues = [
126
+ createIssue({
127
+ status: 'Awaiting quality check',
128
+ state: 'CLOSED',
129
+ isClosed: true,
130
+ }),
131
+ createIssue({
132
+ status: 'Awaiting quality check',
133
+ state: 'MERGED',
134
+ isClosed: true,
135
+ isPr: true,
136
+ }),
137
+ createIssue({ status: 'Awaiting quality check' }),
138
+ createIssue({
139
+ status: 'Awaiting workspace',
140
+ state: 'CLOSED',
141
+ isClosed: true,
142
+ }),
143
+ createIssue({ status: 'Awaiting workspace' }),
144
+ ];
145
+
146
+ await writeSituationFile({ ...baseParams, issues });
147
+
148
+ expect(jest.mocked(fs.writeFileSync)).toHaveBeenCalledWith(
149
+ expect.any(String),
150
+ expect.stringContaining(
151
+ '"awaitingQualityCheckImmediatelyActionable":1',
152
+ ),
153
+ );
154
+ expect(jest.mocked(fs.writeFileSync)).toHaveBeenCalledWith(
155
+ expect.any(String),
156
+ expect.stringContaining('"awaitingWorkspaceImmediatelyActionable":1'),
157
+ );
158
+ });
159
+
124
160
  it('counts preparation total correctly', async () => {
125
161
  const issues = [
126
162
  createIssue({ status: 'Preparation' }),
@@ -48,6 +48,7 @@ const toPercent = (used: number, total: number): number =>
48
48
  total > 0 ? Math.round((used / total) * 1000) / 10 : 0;
49
49
 
50
50
  const isImmediatelyActionable = (issue: Issue): boolean =>
51
+ !issue.isClosed &&
51
52
  issue.dependedIssueUrls.length === 0 &&
52
53
  issue.nextActionDate === null &&
53
54
  issue.nextActionHour === null;
@@ -71,6 +71,42 @@ describe('ConfigurableSilentSessionMessageComposer', () => {
71
71
  expect(section).not.toContain('\u{FE0F}');
72
72
  });
73
73
 
74
+ it('appends the self-diagnosis guidance to the configured main template', () => {
75
+ const fallback = createFallback();
76
+ const composer = new ConfigurableSilentSessionMessageComposer(
77
+ {
78
+ ...noTemplates,
79
+ mainStalledMessage: 'CUSTOM_MAIN',
80
+ },
81
+ fallback,
82
+ );
83
+ const section = composer.composeMainStalledSection(600);
84
+ expect(section).toContain(
85
+ 'This reminder is delivered only to sessions that have no registered unanswered owner-call.',
86
+ );
87
+ expect(section).toContain(
88
+ 're-raise the pending request as a new owner-call in that format',
89
+ );
90
+ });
91
+
92
+ it('omits the self-diagnosis guidance from the configured stale-owner-call template section', () => {
93
+ const fallback = createFallback();
94
+ const composer = new ConfigurableSilentSessionMessageComposer(
95
+ {
96
+ ...noTemplates,
97
+ mainStalledStaleOwnerCallMessage: 'CUSTOM_STALE',
98
+ },
99
+ fallback,
100
+ );
101
+ const section = composer.composeMainStalledWithStaleOwnerCallSection(
102
+ 600,
103
+ 3600,
104
+ );
105
+ expect(section).not.toContain(
106
+ 'This reminder is delivered only to sessions that have no registered unanswered owner-call.',
107
+ );
108
+ });
109
+
74
110
  it('uses the fallback stale-owner-call section when no stale-owner-call template is configured', () => {
75
111
  const fallback = createFallback();
76
112
  const composer = new ConfigurableSilentSessionMessageComposer(
@@ -1,5 +1,8 @@
1
1
  import { SubAgentActivity } from '../../domain/entities/LiveSessionActivitySnapshot';
2
- import { composeOwnerCallFormatGuidance } from '../../domain/usecases/DefaultSilentSessionMessageComposer';
2
+ import {
3
+ composeMainStalledSelfDiagnosisGuidance,
4
+ composeOwnerCallFormatGuidance,
5
+ } from '../../domain/usecases/DefaultSilentSessionMessageComposer';
3
6
  import {
4
7
  SilentSessionMessageComposer,
5
8
  SubAgentStallSections,
@@ -36,7 +39,7 @@ export class ConfigurableSilentSessionMessageComposer implements SilentSessionMe
36
39
  return this.fallback.composeMainStalledSection(mainSilentSeconds);
37
40
  }
38
41
  return withReminderSentinel(
39
- `${this.templates.mainStalledMessage} ${composeOwnerCallFormatGuidance()}`,
42
+ `${this.templates.mainStalledMessage} ${composeOwnerCallFormatGuidance()} ${composeMainStalledSelfDiagnosisGuidance()}`,
40
43
  );
41
44
  };
42
45
 
@@ -14,8 +14,10 @@ jest.mock('ky', () => ({
14
14
  __esModule: true,
15
15
  }));
16
16
 
17
+ import net from 'node:net';
17
18
  import {
18
19
  GITHUB_GRAPHQL_ENDPOINT,
20
+ GITHUB_GRAPHQL_REQUEST_TIMEOUT_MS,
19
21
  RATE_LIMIT_SELECTION,
20
22
  extractGraphqlOperationName,
21
23
  fetchGithubGraphql,
@@ -247,5 +249,58 @@ describe('githubGraphqlClient', () => {
247
249
  expect(response.status).toBe(403);
248
250
  expect(consoleLogSpy).not.toHaveBeenCalled();
249
251
  });
252
+
253
+ it('has a default request timeout bound of 120 seconds', () => {
254
+ expect(GITHUB_GRAPHQL_REQUEST_TIMEOUT_MS).toBe(120_000);
255
+ });
256
+
257
+ it('passes an abort signal to fetch by default', async () => {
258
+ const fetchMock = jest
259
+ .fn()
260
+ .mockResolvedValue(new Response('{}', { status: 200 }));
261
+ global.fetch = fetchMock;
262
+ await fetchGithubGraphql({
263
+ ghToken: 'token-b',
264
+ query: 'query PullRequestStatus($a: Int!) { x }',
265
+ });
266
+ const call = getMockCallArguments(fetchMock, 0);
267
+ const init = expectRecord(call[1]);
268
+ expect(init.signal).toBeInstanceOf(AbortSignal);
269
+ });
270
+
271
+ it('rejects with a TimeoutError within the bound when the server never responds', async () => {
272
+ const realFetch = originalFetch;
273
+ const openSockets = new Set<net.Socket>();
274
+ const server = net.createServer((socket) => {
275
+ openSockets.add(socket);
276
+ socket.on('close', () => openSockets.delete(socket));
277
+ });
278
+ await new Promise<void>((resolve) =>
279
+ server.listen(0, '127.0.0.1', resolve),
280
+ );
281
+ const address = server.address();
282
+ if (address === null || typeof address === 'string') {
283
+ throw new Error('Expected the server to listen on a TCP port');
284
+ }
285
+ const localEndpoint = `http://127.0.0.1:${address.port}/`;
286
+ global.fetch = (_input: RequestInfo | URL, init?: RequestInit) =>
287
+ realFetch(localEndpoint, init);
288
+ try {
289
+ const startedAt = Date.now();
290
+ await expect(
291
+ fetchGithubGraphql({
292
+ ghToken: 'token-b',
293
+ query: 'query PullRequestStatus($a: Int!) { x }',
294
+ timeoutMs: 300,
295
+ }),
296
+ ).rejects.toMatchObject({ name: 'TimeoutError' });
297
+ expect(Date.now() - startedAt).toBeLessThan(4000);
298
+ } finally {
299
+ for (const socket of openSockets) {
300
+ socket.destroy();
301
+ }
302
+ await new Promise<void>((resolve) => server.close(() => resolve()));
303
+ }
304
+ });
250
305
  });
251
306
  });
@@ -2,6 +2,8 @@ import ky from 'ky';
2
2
 
3
3
  export const GITHUB_GRAPHQL_ENDPOINT = 'https://api.github.com/graphql';
4
4
 
5
+ export const GITHUB_GRAPHQL_REQUEST_TIMEOUT_MS = 120_000;
6
+
5
7
  export const RATE_LIMIT_SELECTION = 'rateLimit { cost remaining }';
6
8
 
7
9
  export type GithubGraphqlRateLimit = {
@@ -99,6 +101,7 @@ export const fetchGithubGraphql = async (params: {
99
101
  ghToken: string;
100
102
  query: string;
101
103
  variables?: Record<string, unknown>;
104
+ timeoutMs?: number;
102
105
  }): Promise<Response> => {
103
106
  const response = await fetch(GITHUB_GRAPHQL_ENDPOINT, {
104
107
  method: 'POST',
@@ -110,6 +113,9 @@ export const fetchGithubGraphql = async (params: {
110
113
  query: injectRateLimitSelection(params.query),
111
114
  variables: params.variables,
112
115
  }),
116
+ signal: AbortSignal.timeout(
117
+ params.timeoutMs ?? GITHUB_GRAPHQL_REQUEST_TIMEOUT_MS,
118
+ ),
113
119
  });
114
120
  if (response.ok) {
115
121
  const responseBody: unknown = await response
@@ -99,6 +99,60 @@ describe('DefaultSilentSessionMessageComposer', () => {
99
99
  expect(section).not.toContain('>');
100
100
  });
101
101
 
102
+ it('explains in the main-stalled section that the reminder reaches only sessions without a registered unanswered owner-call', () => {
103
+ const section = composer.composeMainStalledSection(600);
104
+ expect(section).toContain(
105
+ 'This reminder is delivered only to sessions that have no registered unanswered owner-call.',
106
+ );
107
+ });
108
+
109
+ it('explains in the main-stalled section that receiving the reminder while believing an owner-call is pending means the call was not registered and the owner was not notified', () => {
110
+ const section = composer.composeMainStalledSection(600);
111
+ expect(section).toContain(
112
+ 'If you believe you have already raised an owner-call and are waiting for the owner',
113
+ );
114
+ expect(section).toContain(
115
+ 'receiving this reminder means that call was not registered',
116
+ );
117
+ expect(section).toContain('the owner has not been notified');
118
+ });
119
+
120
+ it('instructs in the main-stalled section to review the documented owner-call format and re-raise the pending request', () => {
121
+ const section = composer.composeMainStalledSection(600);
122
+ expect(section).toContain(
123
+ 'please review the documented owner-call format for this session',
124
+ );
125
+ expect(section).toContain(
126
+ 're-raise the pending request as a new owner-call in that format',
127
+ );
128
+ });
129
+
130
+ it('omits the self-diagnosis guidance from the stale-owner-call section', () => {
131
+ const section = composer.composeMainStalledWithStaleOwnerCallSection(
132
+ 600,
133
+ 3600,
134
+ );
135
+ expect(section).not.toContain(
136
+ 'This reminder is delivered only to sessions that have no registered unanswered owner-call.',
137
+ );
138
+ });
139
+
140
+ it('omits the self-diagnosis guidance from the sub-agent sections', () => {
141
+ const subAgent = {
142
+ label: 'sub-process-1',
143
+ silentSeconds: 360,
144
+ runningSeconds: 1200,
145
+ waitingOnExternalProcess: false,
146
+ };
147
+ const section = composer.composeSubAgentSection({
148
+ idleSubAgents: [subAgent],
149
+ longRunningSubAgents: [subAgent],
150
+ });
151
+ expect(section).not.toContain(
152
+ 'This reminder is delivered only to sessions that have no registered unanswered owner-call.',
153
+ );
154
+ });
155
+
102
156
  it('embeds the reminder sentinel in the stale-owner-call main-stalled section', () => {
103
157
  const section = composer.composeMainStalledWithStaleOwnerCallSection(
104
158
  600,
@@ -46,6 +46,14 @@ export const composeOwnerCallFormatGuidance = (): string => {
46
46
  return 'Please share it through a new owner-call in the format documented for this session, written to be self-contained so the owner can understand the situation from that single message.';
47
47
  };
48
48
 
49
+ export const composeMainStalledSelfDiagnosisGuidance = (): string => {
50
+ return [
51
+ 'This reminder is delivered only to sessions that have no registered unanswered owner-call.',
52
+ "If you believe you have already raised an owner-call and are waiting for the owner's reply, receiving this reminder means that call was not registered — its format or delivery method was incorrect — and the owner has not been notified.",
53
+ 'In that case, please review the documented owner-call format for this session and re-raise the pending request as a new owner-call in that format.',
54
+ ].join(' ');
55
+ };
56
+
49
57
  const composeMainStalledMessage = (mainSilentSeconds: number): string => {
50
58
  const minutes = Math.floor(mainSilentSeconds / 60);
51
59
  return [
@@ -54,6 +62,7 @@ const composeMainStalledMessage = (mainSilentSeconds: number): string => {
54
62
  `2. Run independent pieces of work in parallel across sub-agents.`,
55
63
  `3. Keep a monitor in place that notices when a sub-agent has produced no output for about 5 minutes.`,
56
64
  `4. When an owner decision is needed, or when work the owner asked for has been completed or answered, please share it through a new owner-call — a completion still awaits the owner's acknowledgment, so it is not a no-action case. The owner is notified only when an owner-call is raised. ${composeOwnerCallFormatGuidance()}`,
65
+ composeMainStalledSelfDiagnosisGuidance(),
57
66
  `Please also include in your next output an estimate of the remaining minutes to finish all tasks.`,
58
67
  ].join('\n');
59
68
  };
@@ -1056,6 +1056,24 @@ describe('HandleScheduledEventUseCase', () => {
1056
1056
  expect(mockIssueRepository.createCommentByUrl).not.toHaveBeenCalled();
1057
1057
  });
1058
1058
 
1059
+ it('should not create or comment an incident issue for a fetch AbortSignal timeout DOMException', async () => {
1060
+ const timeoutError = new DOMException(
1061
+ 'The operation was aborted due to timeout',
1062
+ 'TimeoutError',
1063
+ );
1064
+ mockRevertNotReadyReviewQueueIssueUseCase.run.mockRejectedValueOnce(
1065
+ timeoutError,
1066
+ );
1067
+
1068
+ await expect(useCase.run(errorInput)).rejects.toThrow(
1069
+ 'The operation was aborted due to timeout',
1070
+ );
1071
+
1072
+ expect(mockIssueRepository.searchIssue).not.toHaveBeenCalled();
1073
+ expect(mockIssueRepository.createNewIssue).not.toHaveBeenCalled();
1074
+ expect(mockIssueRepository.createCommentByUrl).not.toHaveBeenCalled();
1075
+ });
1076
+
1059
1077
  it('should not create or comment an incident issue for a ky TimeoutError (matched by error name)', async () => {
1060
1078
  const timeoutError = new Error(
1061
1079
  'Request timed out: POST https://api.github.com/graphql',
@@ -84,6 +84,7 @@ describe('StartPreparationUseCase', () => {
84
84
  Pick<
85
85
  IssueRepository,
86
86
  | 'getStoryObjectMap'
87
+ | 'getAllOpened'
87
88
  | 'updateStatus'
88
89
  | 'findRelatedOpenPRs'
89
90
  | 'getOpenPullRequest'
@@ -103,6 +104,7 @@ describe('StartPreparationUseCase', () => {
103
104
  };
104
105
  mockIssueRepository = {
105
106
  getStoryObjectMap: jest.fn().mockResolvedValue(new Map()),
107
+ getAllOpened: jest.fn().mockResolvedValue([]),
106
108
  updateStatus: jest.fn(),
107
109
  findRelatedOpenPRs: jest.fn().mockResolvedValue([]),
108
110
  getOpenPullRequest: jest.fn().mockResolvedValue(null),
@@ -5676,6 +5678,245 @@ describe('StartPreparationUseCase', () => {
5676
5678
  });
5677
5679
  });
5678
5680
  });
5681
+
5682
+ it('should log one aggregate spawn candidate exclusion summary per run with counts by reason', async () => {
5683
+ const currentHour = new Date().getHours();
5684
+ const dayAfterTomorrow = new Date();
5685
+ dayAfterTomorrow.setDate(dayAfterTomorrow.getDate() + 2);
5686
+ const awaitingIssues: Issue[] = [
5687
+ createMockIssue({
5688
+ url: 'https://github.com/user/repo/issues/11',
5689
+ title: 'Depended Issue',
5690
+ status: 'Awaiting Workspace',
5691
+ number: 11,
5692
+ dependedIssueUrls: ['https://github.com/user/repo/issues/99'],
5693
+ }),
5694
+ createMockIssue({
5695
+ url: 'https://github.com/user/repo/issues/12',
5696
+ title: 'Future Next Action Date Issue',
5697
+ status: 'Awaiting Workspace',
5698
+ number: 12,
5699
+ nextActionDate: dayAfterTomorrow,
5700
+ }),
5701
+ createMockIssue({
5702
+ url: 'https://github.com/user/repo/issues/13',
5703
+ title: 'Future Next Action Hour Issue',
5704
+ status: 'Awaiting Workspace',
5705
+ number: 13,
5706
+ nextActionHour: currentHour + 1,
5707
+ }),
5708
+ createMockIssue({
5709
+ url: 'https://github.com/user/repo/issues/14',
5710
+ title: 'Disallowed Author Issue',
5711
+ status: 'Awaiting Workspace',
5712
+ number: 14,
5713
+ author: 'not-allowed-user',
5714
+ }),
5715
+ createMockIssue({
5716
+ url: 'https://github.com/user/repo/issues/15',
5717
+ title: 'Spawnable Issue',
5718
+ labels: ['category:impl'],
5719
+ status: 'Awaiting Workspace',
5720
+ number: 15,
5721
+ }),
5722
+ ];
5723
+ mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
5724
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
5725
+ createMockStoryObjectMap(awaitingIssues),
5726
+ );
5727
+ mockLocalCommandRunner.runCommand.mockResolvedValue({
5728
+ stdout: '',
5729
+ stderr: '',
5730
+ exitCode: 0,
5731
+ });
5732
+ const consoleLogSpy = jest
5733
+ .spyOn(console, 'log')
5734
+ .mockImplementation(() => {});
5735
+ await useCase.run({
5736
+ projectUrl: 'https://github.com/user/repo',
5737
+ defaultAgentName: 'agent1',
5738
+ defaultLlmModelName: 'claude-opus',
5739
+ fallbackLlmModelName: null,
5740
+ defaultLlmAgentName: null,
5741
+ configFilePath: '/path/to/config.yml',
5742
+ maximumPreparingIssuesCount: null,
5743
+ utilizationPercentageThreshold: 90,
5744
+ allowedIssueAuthors: ['testuser'],
5745
+ codexHomeCandidates: null,
5746
+ labelsAsLlmAgentName: null,
5747
+ });
5748
+ const summaryCalls = consoleLogSpy.mock.calls.filter((call) =>
5749
+ String(call[0]).includes('Spawn candidate exclusion summary'),
5750
+ );
5751
+ expect(summaryCalls).toHaveLength(1);
5752
+ expect(summaryCalls[0][0]).toBe(
5753
+ 'Spawn candidate exclusion summary for https://github.com/user/repo: dependedIssueUrls=1, futureNextActionDate=1, nextActionHourNotReached=1, authorNotAllowed=1',
5754
+ );
5755
+ expect(mockLocalCommandRunner.runCommand.mock.calls).toHaveLength(1);
5756
+ expect(mockLocalCommandRunner.runCommand.mock.calls[0][1][0]).toBe(
5757
+ 'https://github.com/user/repo/issues/15',
5758
+ );
5759
+ consoleLogSpy.mockRestore();
5760
+ });
5761
+
5762
+ it('should log the aggregate exclusion summary with zero counts when nothing is excluded', async () => {
5763
+ const awaitingIssues: Issue[] = [
5764
+ createMockIssue({
5765
+ url: 'https://github.com/user/repo/issues/21',
5766
+ title: 'Spawnable Issue',
5767
+ labels: ['category:impl'],
5768
+ status: 'Awaiting Workspace',
5769
+ number: 21,
5770
+ }),
5771
+ ];
5772
+ mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
5773
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
5774
+ createMockStoryObjectMap(awaitingIssues),
5775
+ );
5776
+ mockLocalCommandRunner.runCommand.mockResolvedValue({
5777
+ stdout: '',
5778
+ stderr: '',
5779
+ exitCode: 0,
5780
+ });
5781
+ const consoleLogSpy = jest
5782
+ .spyOn(console, 'log')
5783
+ .mockImplementation(() => {});
5784
+ await useCase.run({
5785
+ projectUrl: 'https://github.com/user/repo',
5786
+ defaultAgentName: 'agent1',
5787
+ defaultLlmModelName: 'claude-opus',
5788
+ fallbackLlmModelName: null,
5789
+ defaultLlmAgentName: null,
5790
+ configFilePath: '/path/to/config.yml',
5791
+ maximumPreparingIssuesCount: null,
5792
+ utilizationPercentageThreshold: 90,
5793
+ allowedIssueAuthors: ['testuser'],
5794
+ codexHomeCandidates: null,
5795
+ labelsAsLlmAgentName: null,
5796
+ });
5797
+ const summaryCalls = consoleLogSpy.mock.calls.filter((call) =>
5798
+ String(call[0]).includes('Spawn candidate exclusion summary'),
5799
+ );
5800
+ expect(summaryCalls).toHaveLength(1);
5801
+ expect(summaryCalls[0][0]).toBe(
5802
+ 'Spawn candidate exclusion summary for https://github.com/user/repo: dependedIssueUrls=0, futureNextActionDate=0, nextActionHourNotReached=0, authorNotAllowed=0',
5803
+ );
5804
+ consoleLogSpy.mockRestore();
5805
+ });
5806
+
5807
+ it('should warn with URLs of Awaiting Workspace issues invisible to selection because Story is unset', async () => {
5808
+ const issueWithStory = createMockIssue({
5809
+ url: 'https://github.com/user/repo/issues/31',
5810
+ title: 'Issue With Story',
5811
+ labels: ['category:impl'],
5812
+ status: 'Awaiting Workspace',
5813
+ number: 31,
5814
+ story: 'Default Story',
5815
+ });
5816
+ const storyUnsetAwaitingWorkspaceIssueOne = createMockIssue({
5817
+ url: 'https://github.com/user/repo/issues/32',
5818
+ title: 'Story Unset Issue One',
5819
+ status: 'Awaiting Workspace',
5820
+ number: 32,
5821
+ story: null,
5822
+ });
5823
+ const storyUnsetAwaitingWorkspaceIssueTwo = createMockIssue({
5824
+ url: 'https://github.com/user/repo/issues/33',
5825
+ title: 'Story Unset Issue Two',
5826
+ status: 'Awaiting Workspace',
5827
+ number: 33,
5828
+ story: null,
5829
+ });
5830
+ const storyUnsetOtherStatusIssue = createMockIssue({
5831
+ url: 'https://github.com/user/repo/issues/34',
5832
+ title: 'Story Unset Other Status Issue',
5833
+ status: 'Todo',
5834
+ number: 34,
5835
+ story: null,
5836
+ });
5837
+ mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
5838
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
5839
+ createMockStoryObjectMap([issueWithStory]),
5840
+ );
5841
+ mockIssueRepository.getAllOpened.mockResolvedValue([
5842
+ issueWithStory,
5843
+ storyUnsetAwaitingWorkspaceIssueOne,
5844
+ storyUnsetAwaitingWorkspaceIssueTwo,
5845
+ storyUnsetOtherStatusIssue,
5846
+ ]);
5847
+ mockLocalCommandRunner.runCommand.mockResolvedValue({
5848
+ stdout: '',
5849
+ stderr: '',
5850
+ exitCode: 0,
5851
+ });
5852
+ const consoleWarnSpy = jest
5853
+ .spyOn(console, 'warn')
5854
+ .mockImplementation(() => {});
5855
+ await useCase.run({
5856
+ projectUrl: 'https://github.com/user/repo',
5857
+ defaultAgentName: 'agent1',
5858
+ defaultLlmModelName: 'claude-opus',
5859
+ fallbackLlmModelName: null,
5860
+ defaultLlmAgentName: null,
5861
+ configFilePath: '/path/to/config.yml',
5862
+ maximumPreparingIssuesCount: null,
5863
+ utilizationPercentageThreshold: 90,
5864
+ allowedIssueAuthors: ['testuser'],
5865
+ codexHomeCandidates: null,
5866
+ labelsAsLlmAgentName: null,
5867
+ });
5868
+ const storyUnsetWarningCalls = consoleWarnSpy.mock.calls.filter((call) =>
5869
+ String(call[0]).includes('Story is unset'),
5870
+ );
5871
+ expect(storyUnsetWarningCalls).toHaveLength(1);
5872
+ expect(storyUnsetWarningCalls[0][0]).toBe(
5873
+ 'Awaiting Workspace issue(s) invisible to spawn candidate selection because Story is unset: https://github.com/user/repo/issues/32, https://github.com/user/repo/issues/33',
5874
+ );
5875
+ expect(mockLocalCommandRunner.runCommand.mock.calls).toHaveLength(1);
5876
+ consoleWarnSpy.mockRestore();
5877
+ });
5878
+
5879
+ it('should not warn about Story-unset issues when every Awaiting Workspace issue has a Story', async () => {
5880
+ const issueWithStory = createMockIssue({
5881
+ url: 'https://github.com/user/repo/issues/41',
5882
+ title: 'Issue With Story',
5883
+ labels: ['category:impl'],
5884
+ status: 'Awaiting Workspace',
5885
+ number: 41,
5886
+ story: 'Default Story',
5887
+ });
5888
+ mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
5889
+ mockIssueRepository.getStoryObjectMap.mockResolvedValue(
5890
+ createMockStoryObjectMap([issueWithStory]),
5891
+ );
5892
+ mockIssueRepository.getAllOpened.mockResolvedValue([issueWithStory]);
5893
+ mockLocalCommandRunner.runCommand.mockResolvedValue({
5894
+ stdout: '',
5895
+ stderr: '',
5896
+ exitCode: 0,
5897
+ });
5898
+ const consoleWarnSpy = jest
5899
+ .spyOn(console, 'warn')
5900
+ .mockImplementation(() => {});
5901
+ await useCase.run({
5902
+ projectUrl: 'https://github.com/user/repo',
5903
+ defaultAgentName: 'agent1',
5904
+ defaultLlmModelName: 'claude-opus',
5905
+ fallbackLlmModelName: null,
5906
+ defaultLlmAgentName: null,
5907
+ configFilePath: '/path/to/config.yml',
5908
+ maximumPreparingIssuesCount: null,
5909
+ utilizationPercentageThreshold: 90,
5910
+ allowedIssueAuthors: ['testuser'],
5911
+ codexHomeCandidates: null,
5912
+ labelsAsLlmAgentName: null,
5913
+ });
5914
+ const storyUnsetWarningCalls = consoleWarnSpy.mock.calls.filter((call) =>
5915
+ String(call[0]).includes('Story is unset'),
5916
+ );
5917
+ expect(storyUnsetWarningCalls).toHaveLength(0);
5918
+ consoleWarnSpy.mockRestore();
5919
+ });
5679
5920
  });
5680
5921
 
5681
5922
  describe('StartPreparationUseCase.buildRotationOrder', () => {
@@ -5688,6 +5929,7 @@ describe('StartPreparationUseCase.buildRotationOrder', () => {
5688
5929
  Pick<
5689
5930
  IssueRepository,
5690
5931
  | 'getStoryObjectMap'
5932
+ | 'getAllOpened'
5691
5933
  | 'updateStatus'
5692
5934
  | 'findRelatedOpenPRs'
5693
5935
  | 'getOpenPullRequest'
@@ -5697,6 +5939,7 @@ describe('StartPreparationUseCase.buildRotationOrder', () => {
5697
5939
  >
5698
5940
  > = {
5699
5941
  getStoryObjectMap: jest.fn(),
5942
+ getAllOpened: jest.fn(),
5700
5943
  updateStatus: jest.fn(),
5701
5944
  findRelatedOpenPRs: jest.fn(),
5702
5945
  getOpenPullRequest: jest.fn(),
@@ -5994,6 +6237,7 @@ describe('StartPreparationUseCase.getTokenConcurrentLimit', () => {
5994
6237
  { getByUrl: jest.fn() },
5995
6238
  {
5996
6239
  getStoryObjectMap: jest.fn(),
6240
+ getAllOpened: jest.fn(),
5997
6241
  updateStatus: jest.fn(),
5998
6242
  findRelatedOpenPRs: jest.fn(),
5999
6243
  getOpenPullRequest: jest.fn(),
@@ -28,6 +28,7 @@ export class StartPreparationUseCase {
28
28
  private readonly issueRepository: Pick<
29
29
  IssueRepository,
30
30
  | 'getStoryObjectMap'
31
+ | 'getAllOpened'
31
32
  | 'updateStatus'
32
33
  | 'findRelatedOpenPRs'
33
34
  | 'getOpenPullRequest'
@@ -373,12 +374,33 @@ export class StartPreparationUseCase {
373
374
  issue.status === AWAITING_WORKSPACE_STATUS_NAME && !issue.isClosed,
374
375
  )
375
376
  .map((issue) => ({ ...issue }));
377
+ const allProjectOpenIssues =
378
+ await this.issueRepository.getAllOpened(project);
379
+ const storyUnsetAwaitingWorkspaceIssueUrls = allProjectOpenIssues
380
+ .filter(
381
+ (issue) =>
382
+ issue.status === AWAITING_WORKSPACE_STATUS_NAME &&
383
+ !issue.isClosed &&
384
+ issue.story === null,
385
+ )
386
+ .map((issue) => issue.url);
387
+ if (storyUnsetAwaitingWorkspaceIssueUrls.length > 0) {
388
+ console.warn(
389
+ `Awaiting Workspace issue(s) invisible to spawn candidate selection because Story is unset: ${storyUnsetAwaitingWorkspaceIssueUrls.join(', ')}`,
390
+ );
391
+ }
376
392
  const currentPreparationIssueCount = allOpenedIssues.filter(
377
393
  (issue) => issue.status === PREPARATION_STATUS_NAME,
378
394
  ).length;
379
395
  let updatedCurrentPreparationIssueCount = currentPreparationIssueCount;
380
396
  let startedInThisRunCount = 0;
381
397
  const spawnedInThisRunByToken: Record<string, number> = {};
398
+ const exclusionCounts = {
399
+ dependedIssueUrls: 0,
400
+ futureNextActionDate: 0,
401
+ nextActionHourNotReached: 0,
402
+ authorNotAllowed: 0,
403
+ };
382
404
 
383
405
  const now = new Date();
384
406
  const currentHour = now.getHours();
@@ -401,15 +423,18 @@ export class StartPreparationUseCase {
401
423
  ) {
402
424
  const issue = awaitingWorkspaceIssues[i];
403
425
  if (issue.dependedIssueUrls.length > 0) {
426
+ exclusionCounts.dependedIssueUrls++;
404
427
  continue;
405
428
  }
406
429
  if (
407
430
  issue.nextActionDate !== null &&
408
431
  issue.nextActionDate >= tomorrowStart
409
432
  ) {
433
+ exclusionCounts.futureNextActionDate++;
410
434
  continue;
411
435
  }
412
436
  if (issue.nextActionHour !== null && currentHour < issue.nextActionHour) {
437
+ exclusionCounts.nextActionHourNotReached++;
413
438
  continue;
414
439
  }
415
440
  if (
@@ -417,6 +442,7 @@ export class StartPreparationUseCase {
417
442
  params.allowedIssueAuthors.length === 0 ||
418
443
  !params.allowedIssueAuthors.includes(issue.author)
419
444
  ) {
445
+ exclusionCounts.authorNotAllowed++;
420
446
  continue;
421
447
  }
422
448
  const mappedAgentFromLabel =
@@ -597,6 +623,9 @@ export class StartPreparationUseCase {
597
623
  startedInThisRunCount++;
598
624
  updatedCurrentPreparationIssueCount++;
599
625
  }
626
+ console.log(
627
+ `Spawn candidate exclusion summary for ${params.projectUrl}: dependedIssueUrls=${exclusionCounts.dependedIssueUrls}, futureNextActionDate=${exclusionCounts.futureNextActionDate}, nextActionHourNotReached=${exclusionCounts.nextActionHourNotReached}, authorNotAllowed=${exclusionCounts.authorNotAllowed}`,
628
+ );
600
629
  return { rotationOrder };
601
630
  };
602
631
  }
@@ -1 +1 @@
1
- {"version":3,"file":"situationFileWriter.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/handlers/situationFileWriter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gEAAgE,CAAC;AAEzG,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,WAAW,EAAE;QACX,0BAA0B,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1C,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;QACjC,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;QACvC,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;KACxC,CAAC;IACF,MAAM,EAAE;QACN,2BAA2B,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3C,8BAA8B,EAAE,MAAM,CAAC;QACvC,sBAAsB,EAAE,MAAM,CAAC;KAChC,CAAC;IACF,8BAA8B,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/C,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACzC,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,SAAS,MAAM,KAAG,aAW9C,CAAC;AAiCF,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,mBAAmB,KAC1B,OAAO,CAAC,IAAI,CAkGd,CAAC"}
1
+ {"version":3,"file":"situationFileWriter.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/handlers/situationFileWriter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gEAAgE,CAAC;AAEzG,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,WAAW,EAAE;QACX,0BAA0B,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1C,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;QACjC,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;QACvC,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;KACxC,CAAC;IACF,MAAM,EAAE;QACN,2BAA2B,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3C,8BAA8B,EAAE,MAAM,CAAC;QACvC,sBAAsB,EAAE,MAAM,CAAC;KAChC,CAAC;IACF,8BAA8B,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/C,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACzC,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,SAAS,MAAM,KAAG,aAW9C,CAAC;AAkCF,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,mBAAmB,KAC1B,OAAO,CAAC,IAAI,CAkGd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigurableSilentSessionMessageComposer.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/ConfigurableSilentSessionMessageComposer.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,4BAA4B,EAC5B,qBAAqB,EACtB,MAAM,uEAAuE,CAAC;AAQ/E,MAAM,MAAM,6BAA6B,GAAG;IAC1C,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,gCAAgC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChD,yBAAyB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,yBAAyB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,gCAAgC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChD,gCAAgC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjD,CAAC;AAOF,qBAAa,wCAAyC,YAAW,4BAA4B;IAEzF,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBADR,SAAS,EAAE,6BAA6B,EACxC,QAAQ,EAAE,4BAA4B;IAGzD,yBAAyB,GAAI,mBAAmB,MAAM,KAAG,MAAM,CAO7D;IAEF,2CAA2C,GACzC,mBAAmB,MAAM,EACzB,+BAA+B,MAAM,KACpC,MAAM,CAUP;IAEF,sBAAsB,GAAI,eAAe,qBAAqB,KAAG,MAAM,CA4CrE;IAEF,OAAO,CAAC,kBAAkB,CAkBxB;IAEF,OAAO,CAAC,yBAAyB,CAkB/B;CACH"}
1
+ {"version":3,"file":"ConfigurableSilentSessionMessageComposer.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/ConfigurableSilentSessionMessageComposer.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,4BAA4B,EAC5B,qBAAqB,EACtB,MAAM,uEAAuE,CAAC;AAQ/E,MAAM,MAAM,6BAA6B,GAAG;IAC1C,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,gCAAgC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChD,yBAAyB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,yBAAyB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,gCAAgC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChD,gCAAgC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjD,CAAC;AAOF,qBAAa,wCAAyC,YAAW,4BAA4B;IAEzF,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBADR,SAAS,EAAE,6BAA6B,EACxC,QAAQ,EAAE,4BAA4B;IAGzD,yBAAyB,GAAI,mBAAmB,MAAM,KAAG,MAAM,CAO7D;IAEF,2CAA2C,GACzC,mBAAmB,MAAM,EACzB,+BAA+B,MAAM,KACpC,MAAM,CAUP;IAEF,sBAAsB,GAAI,eAAe,qBAAqB,KAAG,MAAM,CA4CrE;IAEF,OAAO,CAAC,kBAAkB,CAkBxB;IAEF,OAAO,CAAC,yBAAyB,CAkB/B;CACH"}
@@ -1,4 +1,5 @@
1
1
  export declare const GITHUB_GRAPHQL_ENDPOINT = "https://api.github.com/graphql";
2
+ export declare const GITHUB_GRAPHQL_REQUEST_TIMEOUT_MS = 120000;
2
3
  export declare const RATE_LIMIT_SELECTION = "rateLimit { cost remaining }";
3
4
  export type GithubGraphqlRateLimit = {
4
5
  cost: number;
@@ -17,5 +18,6 @@ export declare const fetchGithubGraphql: (params: {
17
18
  ghToken: string;
18
19
  query: string;
19
20
  variables?: Record<string, unknown>;
21
+ timeoutMs?: number;
20
22
  }) => Promise<Response>;
21
23
  //# sourceMappingURL=githubGraphqlClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"githubGraphqlClient.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/githubGraphqlClient.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,uBAAuB,mCAAmC,CAAC;AAExE,eAAO,MAAM,oBAAoB,iCAAiC,CAAC;AAEnE,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,OAAO,MAAM,KAAG,OACV,CAAC;AAE3C,eAAO,MAAM,2BAA2B,GAAI,OAAO,MAAM,KAAG,MAK3D,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,OAAO,MAAM,KAAG,MASxD,CAAC;AAgCF,eAAO,MAAM,oBAAoB,GAC/B,OAAO,MAAM,EACb,cAAc,OAAO,KACpB,IAQF,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAU,CAAC,EAAE,QAAQ;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC,KAAG,OAAO,CAAC,CAAC,CAgBZ,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAU,QAAQ;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC,KAAG,OAAO,CAAC,QAAQ,CAoBnB,CAAC"}
1
+ {"version":3,"file":"githubGraphqlClient.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/githubGraphqlClient.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,uBAAuB,mCAAmC,CAAC;AAExE,eAAO,MAAM,iCAAiC,SAAU,CAAC;AAEzD,eAAO,MAAM,oBAAoB,iCAAiC,CAAC;AAEnE,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,OAAO,MAAM,KAAG,OACV,CAAC;AAE3C,eAAO,MAAM,2BAA2B,GAAI,OAAO,MAAM,KAAG,MAK3D,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,OAAO,MAAM,KAAG,MASxD,CAAC;AAgCF,eAAO,MAAM,oBAAoB,GAC/B,OAAO,MAAM,EACb,cAAc,OAAO,KACpB,IAQF,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAU,CAAC,EAAE,QAAQ;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC,KAAG,OAAO,CAAC,CAAC,CAgBZ,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAU,QAAQ;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,KAAG,OAAO,CAAC,QAAQ,CAuBnB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { SilentSessionMessageComposer, SubAgentStallSections } from './adapter-interfaces/SilentSessionMessageComposer';
2
2
  export declare const composeOwnerCallFormatGuidance: () => string;
3
+ export declare const composeMainStalledSelfDiagnosisGuidance: () => string;
3
4
  export declare class DefaultSilentSessionMessageComposer implements SilentSessionMessageComposer {
4
5
  composeMainStalledSection: (mainSilentSeconds: number) => string;
5
6
  composeMainStalledWithStaleOwnerCallSection: (mainSilentSeconds: number, unansweredOwnerCallAgeSeconds: number) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultSilentSessionMessageComposer.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/DefaultSilentSessionMessageComposer.ts"],"names":[],"mappings":"AACA,OAAO,EACL,4BAA4B,EAC5B,qBAAqB,EACtB,MAAM,mDAAmD,CAAC;AAwC3D,eAAO,MAAM,8BAA8B,QAAO,MAEjD,CAAC;AA2BF,qBAAa,mCAAoC,YAAW,4BAA4B;IACtF,yBAAyB,GAAI,mBAAmB,MAAM,KAAG,MAAM,CAE7D;IAEF,2CAA2C,GACzC,mBAAmB,MAAM,EACzB,+BAA+B,MAAM,KACpC,MAAM,CAKP;IAEF,sBAAsB,GAAI,eAAe,qBAAqB,KAAG,MAAM,CAWrE;CACH"}
1
+ {"version":3,"file":"DefaultSilentSessionMessageComposer.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/DefaultSilentSessionMessageComposer.ts"],"names":[],"mappings":"AACA,OAAO,EACL,4BAA4B,EAC5B,qBAAqB,EACtB,MAAM,mDAAmD,CAAC;AAwC3D,eAAO,MAAM,8BAA8B,QAAO,MAEjD,CAAC;AAEF,eAAO,MAAM,uCAAuC,QAAO,MAM1D,CAAC;AA4BF,qBAAa,mCAAoC,YAAW,4BAA4B;IACtF,yBAAyB,GAAI,mBAAmB,MAAM,KAAG,MAAM,CAE7D;IAEF,2CAA2C,GACzC,mBAAmB,MAAM,EACzB,+BAA+B,MAAM,KACpC,MAAM,CAKP;IAEF,sBAAsB,GAAI,eAAe,qBAAqB,KAAG,MAAM,CAWrE;CACH"}
@@ -17,7 +17,7 @@ export declare class StartPreparationUseCase {
17
17
  private readonly issueRepository;
18
18
  private readonly localCommandRunner;
19
19
  private readonly claudeTokenUsageRepository;
20
- constructor(projectRepository: Pick<ProjectRepository, 'getByUrl'>, issueRepository: Pick<IssueRepository, 'getStoryObjectMap' | 'updateStatus' | 'findRelatedOpenPRs' | 'getOpenPullRequest' | 'closePullRequest' | 'deletePullRequestBranch' | 'createCommentByUrl'>, localCommandRunner: LocalCommandRunner, claudeTokenUsageRepository: ClaudeTokenUsageRepository);
20
+ constructor(projectRepository: Pick<ProjectRepository, 'getByUrl'>, issueRepository: Pick<IssueRepository, 'getStoryObjectMap' | 'getAllOpened' | 'updateStatus' | 'findRelatedOpenPRs' | 'getOpenPullRequest' | 'closePullRequest' | 'deletePullRequestBranch' | 'createCommentByUrl'>, localCommandRunner: LocalCommandRunner, claudeTokenUsageRepository: ClaudeTokenUsageRepository);
21
21
  private weeklyLimitTypeForModel;
22
22
  private isWithinCooldown;
23
23
  private isModelWeeklyLimitRejected;
@@ -1 +1 @@
1
- {"version":3,"file":"StartPreparationUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/StartPreparationUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAShE,eAAO,MAAM,+BAA+B,oBAAoB,CAAC;AAEjE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,gBAAgB,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,qBAAa,uBAAuB;IAEhC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAUhC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,0BAA0B;gBAZ1B,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,EACtD,eAAe,EAAE,IAAI,CACpC,eAAe,EACb,mBAAmB,GACnB,cAAc,GACd,oBAAoB,GACpB,oBAAoB,GACpB,kBAAkB,GAClB,yBAAyB,GACzB,oBAAoB,CACvB,EACgB,kBAAkB,EAAE,kBAAkB,EACtC,0BAA0B,EAAE,0BAA0B;IAGzE,OAAO,CAAC,uBAAuB,CAK7B;IAEF,OAAO,CAAC,gBAAgB,CAGgC;IAExD,OAAO,CAAC,0BAA0B,CAQhC;IAEF,OAAO,CAAC,mBAAmB,CAqBzB;IAEF,OAAO,CAAC,yBAAyB,CAc/B;IAEF,OAAO,CAAC,wCAAwC,CAqB9C;IAEF,OAAO,CAAC,sBAAsB,CAS5B;IAEF,uBAAuB,GACrB,qBAAqB,MAAM,EAC3B,qBAAqB,MAAM,KAC1B,MAAM,CAUP;IAEF,OAAO,CAAC,oBAAoB,CA4E1B;IAEF,kBAAkB,GAChB,aAAa,gBAAgB,EAAE,EAC/B,gCAAgC,MAAM,EACtC,WAAW,MAAM,GAAG,IAAI,KACvB,kBAAkB,EAAE,CAqDrB;IAEF,GAAG,GAAU,QAAQ;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,gBAAgB,EAAE,MAAM,CAAC;QACzB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;QACnC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;QACpC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;QACnC,cAAc,EAAE,MAAM,CAAC;QACvB,2BAA2B,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3C,8BAA8B,EAAE,MAAM,CAAC;QACvC,mBAAmB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACrC,mBAAmB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACrC,oBAAoB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;KACvC,KAAG,OAAO,CAAC;QAAE,aAAa,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAA;KAAE,CAAC,CA4SzD;CACH"}
1
+ {"version":3,"file":"StartPreparationUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/StartPreparationUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAShE,eAAO,MAAM,+BAA+B,oBAAoB,CAAC;AAEjE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,gBAAgB,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,qBAAa,uBAAuB;IAEhC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAWhC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,0BAA0B;gBAb1B,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,EACtD,eAAe,EAAE,IAAI,CACpC,eAAe,EACb,mBAAmB,GACnB,cAAc,GACd,cAAc,GACd,oBAAoB,GACpB,oBAAoB,GACpB,kBAAkB,GAClB,yBAAyB,GACzB,oBAAoB,CACvB,EACgB,kBAAkB,EAAE,kBAAkB,EACtC,0BAA0B,EAAE,0BAA0B;IAGzE,OAAO,CAAC,uBAAuB,CAK7B;IAEF,OAAO,CAAC,gBAAgB,CAGgC;IAExD,OAAO,CAAC,0BAA0B,CAQhC;IAEF,OAAO,CAAC,mBAAmB,CAqBzB;IAEF,OAAO,CAAC,yBAAyB,CAc/B;IAEF,OAAO,CAAC,wCAAwC,CAqB9C;IAEF,OAAO,CAAC,sBAAsB,CAS5B;IAEF,uBAAuB,GACrB,qBAAqB,MAAM,EAC3B,qBAAqB,MAAM,KAC1B,MAAM,CAUP;IAEF,OAAO,CAAC,oBAAoB,CA4E1B;IAEF,kBAAkB,GAChB,aAAa,gBAAgB,EAAE,EAC/B,gCAAgC,MAAM,EACtC,WAAW,MAAM,GAAG,IAAI,KACvB,kBAAkB,EAAE,CAqDrB;IAEF,GAAG,GAAU,QAAQ;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,gBAAgB,EAAE,MAAM,CAAC;QACzB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;QACnC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;QACpC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;QACnC,cAAc,EAAE,MAAM,CAAC;QACvB,2BAA2B,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3C,8BAA8B,EAAE,MAAM,CAAC;QACvC,mBAAmB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACrC,mBAAmB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACrC,oBAAoB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;KACvC,KAAG,OAAO,CAAC;QAAE,aAAa,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAA;KAAE,CAAC,CAwUzD;CACH"}