github-issue-tower-defence-management 1.188.0 → 1.188.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.
Files changed (54) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +3 -0
  3. package/bin/adapter/entry-points/cli/index.js +20 -12
  4. package/bin/adapter/entry-points/cli/index.js.map +1 -1
  5. package/bin/adapter/entry-points/cli/projectConfig.js.map +1 -1
  6. package/bin/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.js +1 -0
  7. package/bin/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.js.map +1 -1
  8. package/bin/domain/usecases/HandleScheduledEventUseCase.js +1 -0
  9. package/bin/domain/usecases/HandleScheduledEventUseCase.js.map +1 -1
  10. package/bin/domain/usecases/NotifyFinishedIssuePreparationUseCase.js +3 -4
  11. package/bin/domain/usecases/NotifyFinishedIssuePreparationUseCase.js.map +1 -1
  12. package/bin/domain/usecases/RevertOrphanedPreparationUseCase.js +3 -3
  13. package/bin/domain/usecases/RevertOrphanedPreparationUseCase.js.map +1 -1
  14. package/bin/domain/usecases/TriagerApprovalDispatchUseCase.js +13 -1
  15. package/bin/domain/usecases/TriagerApprovalDispatchUseCase.js.map +1 -1
  16. package/bin/domain/usecases/isHumanComment.js +21 -0
  17. package/bin/domain/usecases/isHumanComment.js.map +1 -0
  18. package/bin/domain/usecases/nextStepAgentDispatchRepeatedMessage.js +5 -0
  19. package/bin/domain/usecases/nextStepAgentDispatchRepeatedMessage.js.map +1 -0
  20. package/bin/domain/usecases/resolveNextStepAgentDispatchRepetition.js +62 -12
  21. package/bin/domain/usecases/resolveNextStepAgentDispatchRepetition.js.map +1 -1
  22. package/package.json +1 -1
  23. package/src/adapter/entry-points/cli/index.test.ts +2 -0
  24. package/src/adapter/entry-points/cli/index.ts +39 -16
  25. package/src/adapter/entry-points/cli/projectConfig.ts +1 -0
  26. package/src/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.ts +2 -0
  27. package/src/domain/usecases/HandleScheduledEventUseCase.ts +2 -0
  28. package/src/domain/usecases/NotifyFinishedIssuePreparationUseCase.test.ts +98 -0
  29. package/src/domain/usecases/NotifyFinishedIssuePreparationUseCase.ts +9 -5
  30. package/src/domain/usecases/RevertOrphanedPreparationUseCase.ts +9 -4
  31. package/src/domain/usecases/TriagerApprovalDispatchUseCase.test.ts +88 -0
  32. package/src/domain/usecases/TriagerApprovalDispatchUseCase.ts +17 -2
  33. package/src/domain/usecases/isHumanComment.test.ts +90 -0
  34. package/src/domain/usecases/isHumanComment.ts +23 -0
  35. package/src/domain/usecases/nextStepAgentDispatchRepeatedMessage.ts +2 -0
  36. package/src/domain/usecases/resolveNextStepAgentDispatchRepetition.test.ts +312 -72
  37. package/src/domain/usecases/resolveNextStepAgentDispatchRepetition.ts +103 -19
  38. package/types/adapter/entry-points/cli/index.d.ts.map +1 -1
  39. package/types/adapter/entry-points/cli/projectConfig.d.ts +1 -0
  40. package/types/adapter/entry-points/cli/projectConfig.d.ts.map +1 -1
  41. package/types/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.d.ts.map +1 -1
  42. package/types/domain/usecases/HandleScheduledEventUseCase.d.ts +1 -0
  43. package/types/domain/usecases/HandleScheduledEventUseCase.d.ts.map +1 -1
  44. package/types/domain/usecases/NotifyFinishedIssuePreparationUseCase.d.ts +1 -0
  45. package/types/domain/usecases/NotifyFinishedIssuePreparationUseCase.d.ts.map +1 -1
  46. package/types/domain/usecases/RevertOrphanedPreparationUseCase.d.ts +1 -0
  47. package/types/domain/usecases/RevertOrphanedPreparationUseCase.d.ts.map +1 -1
  48. package/types/domain/usecases/TriagerApprovalDispatchUseCase.d.ts.map +1 -1
  49. package/types/domain/usecases/isHumanComment.d.ts +5 -0
  50. package/types/domain/usecases/isHumanComment.d.ts.map +1 -0
  51. package/types/domain/usecases/nextStepAgentDispatchRepeatedMessage.d.ts +2 -0
  52. package/types/domain/usecases/nextStepAgentDispatchRepeatedMessage.d.ts.map +1 -0
  53. package/types/domain/usecases/resolveNextStepAgentDispatchRepetition.d.ts +5 -2
  54. package/types/domain/usecases/resolveNextStepAgentDispatchRepetition.d.ts.map +1 -1
@@ -1,97 +1,337 @@
1
- import {
2
- NEXT_STEP_AGENT_DISPATCH_REPEATED_MESSAGE_HEAD,
3
- resolveNextStepAgentDispatchRepetition,
4
- } from './resolveNextStepAgentDispatchRepetition';
1
+ import { AUTO_STATUS_CHECK_MESSAGE_HEAD } from './autoStatusCheckComments';
2
+ import { NEXT_STEP_AGENT_DISPATCH_REPEATED_MESSAGE_HEAD } from './nextStepAgentDispatchRepeatedMessage';
3
+ import { resolveNextStepAgentDispatchRepetition } from './resolveNextStepAgentDispatchRepetition';
5
4
 
6
5
  const trustAll = (): boolean => true;
7
6
 
7
+ type TestComment = { author: string; content: string };
8
+
9
+ const report = (nextStepAgent: string, author = 'bot'): TestComment => ({
10
+ author,
11
+ content: `From: :robot: agent (model)
12
+
13
+ \`\`\`json
14
+ { "nextStepAgent": "${nextStepAgent}" }
15
+ \`\`\`
16
+
17
+ Report body.`,
18
+ });
19
+
20
+ const reportWithoutRouting = (author = 'bot'): TestComment => ({
21
+ author,
22
+ content: 'From: :robot: agent (model)\n\nReport body with no routing block.',
23
+ });
24
+
25
+ const repetitionComment = (
26
+ nextStepAgent: string,
27
+ author = 'bot',
28
+ ): TestComment => ({
29
+ author,
30
+ content: `${NEXT_STEP_AGENT_DISPATCH_REPEATED_MESSAGE_HEAD} ${nextStepAgent}
31
+
32
+ Dispatching it again.`,
33
+ });
34
+
35
+ const humanComment = (author = 'bot'): TestComment => ({
36
+ author,
37
+ content: 'Please carry on with the second option.',
38
+ });
39
+
8
40
  describe('resolveNextStepAgentDispatchRepetition', () => {
9
- it('returns notRepeated when the agent field holds no value', () => {
10
- expect(
11
- resolveNextStepAgentDispatchRepetition({
12
- agentFieldValue: null,
41
+ describe('silent agent bound', () => {
42
+ it('returns notRepeated when the agent field holds no value', () => {
43
+ expect(
44
+ resolveNextStepAgentDispatchRepetition({
45
+ agentFieldValue: null,
46
+ nextStepAgent: 'accounting',
47
+ comments: [report('accounting')],
48
+ isTrustedAuthor: trustAll,
49
+ thresholdForAutoReject: 3,
50
+ thresholdForDispatchLoop: 6,
51
+ }),
52
+ ).toEqual({ type: 'notRepeated' });
53
+ });
54
+
55
+ it('returns notRepeated when the agent field holds another agent', () => {
56
+ expect(
57
+ resolveNextStepAgentDispatchRepetition({
58
+ agentFieldValue: 'triager',
59
+ nextStepAgent: 'accounting',
60
+ comments: [report('accounting')],
61
+ isTrustedAuthor: trustAll,
62
+ thresholdForAutoReject: 3,
63
+ thresholdForDispatchLoop: 6,
64
+ }),
65
+ ).toEqual({ type: 'notRepeated' });
66
+ });
67
+
68
+ it('returns dispatchAgain with the attempt count when the declared agent is already assigned', () => {
69
+ const result = resolveNextStepAgentDispatchRepetition({
70
+ agentFieldValue: 'accounting',
13
71
  nextStepAgent: 'accounting',
14
- commentsAfterLastAgentReport: [],
72
+ comments: [report('accounting')],
15
73
  isTrustedAuthor: trustAll,
16
74
  thresholdForAutoReject: 3,
17
- }),
18
- ).toEqual({ type: 'notRepeated' });
19
- });
75
+ thresholdForDispatchLoop: 6,
76
+ });
77
+
78
+ expect(result.type).toBe('dispatchAgain');
79
+ expect(result.type === 'dispatchAgain' ? result.comment : '').toContain(
80
+ '(1/3)',
81
+ );
82
+ });
83
+
84
+ it('matches the agent field and the declared agent ignoring case, spaces and hyphens', () => {
85
+ expect(
86
+ resolveNextStepAgentDispatchRepetition({
87
+ agentFieldValue: 'PR Reviewer',
88
+ nextStepAgent: 'pr-reviewer',
89
+ comments: [report('pr-reviewer')],
90
+ isTrustedAuthor: trustAll,
91
+ thresholdForAutoReject: 3,
92
+ thresholdForDispatchLoop: 6,
93
+ }).type,
94
+ ).toBe('dispatchAgain');
95
+ });
20
96
 
21
- it('returns notRepeated when the agent field holds another agent', () => {
22
- expect(
23
- resolveNextStepAgentDispatchRepetition({
24
- agentFieldValue: 'triager',
97
+ it('counts only repetition comments written by a trusted author', () => {
98
+ const result = resolveNextStepAgentDispatchRepetition({
99
+ agentFieldValue: 'accounting',
25
100
  nextStepAgent: 'accounting',
26
- commentsAfterLastAgentReport: [],
101
+ comments: [
102
+ report('accounting', 'bot'),
103
+ repetitionComment('accounting', 'stranger'),
104
+ repetitionComment('accounting', 'stranger'),
105
+ ],
106
+ isTrustedAuthor: (author: string): boolean => author === 'bot',
107
+ thresholdForAutoReject: 3,
108
+ thresholdForDispatchLoop: 6,
109
+ });
110
+
111
+ expect(result.type).toBe('dispatchAgain');
112
+ });
113
+
114
+ it('reports against the dispatch loop threshold, not the silent agent one, when the agent did report', () => {
115
+ const result = resolveNextStepAgentDispatchRepetition({
116
+ agentFieldValue: 'chore',
117
+ nextStepAgent: 'chore',
118
+ comments: [report('chore'), report('chore')],
27
119
  isTrustedAuthor: trustAll,
28
120
  thresholdForAutoReject: 3,
29
- }),
30
- ).toEqual({ type: 'notRepeated' });
31
- });
121
+ thresholdForDispatchLoop: 6,
122
+ });
32
123
 
33
- it('returns dispatchAgain with the attempt count when the declared agent is already assigned', () => {
34
- const result = resolveNextStepAgentDispatchRepetition({
35
- agentFieldValue: 'accounting',
36
- nextStepAgent: 'accounting',
37
- commentsAfterLastAgentReport: [],
38
- isTrustedAuthor: trustAll,
39
- thresholdForAutoReject: 3,
124
+ expect(result.type).toBe('dispatchAgain');
125
+ const comment = result.type === 'dispatchAgain' ? result.comment : '';
126
+ expect(comment).toContain('(2/6)');
127
+ expect(comment).not.toContain('ended without a report');
40
128
  });
41
129
 
42
- expect(result.type).toBe('dispatchAgain');
43
- expect(result.type === 'dispatchAgain' ? result.comment : '').toContain(
44
- '(1/3)',
45
- );
130
+ it('escalates once the repetition count reaches the auto reject threshold', () => {
131
+ const result = resolveNextStepAgentDispatchRepetition({
132
+ agentFieldValue: 'accounting',
133
+ nextStepAgent: 'accounting',
134
+ comments: [
135
+ report('accounting'),
136
+ repetitionComment('accounting'),
137
+ repetitionComment('accounting'),
138
+ ],
139
+ isTrustedAuthor: trustAll,
140
+ thresholdForAutoReject: 3,
141
+ thresholdForDispatchLoop: 6,
142
+ });
143
+
144
+ expect(result.type).toBe('escalateToFailedPreparation');
145
+ });
46
146
  });
47
147
 
48
- it('matches the agent field and the declared agent ignoring case, spaces and hyphens', () => {
49
- expect(
50
- resolveNextStepAgentDispatchRepetition({
51
- agentFieldValue: 'PR Reviewer',
52
- nextStepAgent: 'pr-reviewer',
53
- commentsAfterLastAgentReport: [],
148
+ describe('dispatch loop bound', () => {
149
+ it('escalates when two agents alternate until one reaches the dispatch loop threshold', () => {
150
+ const result = resolveNextStepAgentDispatchRepetition({
151
+ agentFieldValue: 'analyst',
152
+ nextStepAgent: 'reviewer',
153
+ comments: [
154
+ report('reviewer'),
155
+ report('analyst'),
156
+ report('reviewer'),
157
+ report('analyst'),
158
+ report('reviewer'),
159
+ ],
54
160
  isTrustedAuthor: trustAll,
55
161
  thresholdForAutoReject: 3,
56
- }).type,
57
- ).toBe('dispatchAgain');
58
- });
162
+ thresholdForDispatchLoop: 3,
163
+ });
59
164
 
60
- it('counts only repetition comments written by a trusted author', () => {
61
- const result = resolveNextStepAgentDispatchRepetition({
62
- agentFieldValue: 'accounting',
63
- nextStepAgent: 'accounting',
64
- commentsAfterLastAgentReport: [
65
- {
66
- author: 'stranger',
67
- content: `${NEXT_STEP_AGENT_DISPATCH_REPEATED_MESSAGE_HEAD} accounting`,
68
- },
69
- {
70
- author: 'stranger',
71
- content: `${NEXT_STEP_AGENT_DISPATCH_REPEATED_MESSAGE_HEAD} accounting`,
72
- },
73
- ],
74
- isTrustedAuthor: (author: string): boolean => author === 'bot',
75
- thresholdForAutoReject: 3,
76
- });
77
-
78
- expect(result.type).toBe('dispatchAgain');
79
- });
165
+ expect(result.type).toBe('escalateToFailedPreparation');
166
+ expect(
167
+ result.type === 'escalateToFailedPreparation' ? result.comment : '',
168
+ ).toContain('reviewer');
169
+ });
170
+
171
+ it('escalates when the same agent is named every round while a fresh report arrives each time', () => {
172
+ const result = resolveNextStepAgentDispatchRepetition({
173
+ agentFieldValue: 'chore',
174
+ nextStepAgent: 'chore',
175
+ comments: [report('chore'), report('chore'), report('chore')],
176
+ isTrustedAuthor: trustAll,
177
+ thresholdForAutoReject: 99,
178
+ thresholdForDispatchLoop: 3,
179
+ });
180
+
181
+ expect(result.type).toBe('escalateToFailedPreparation');
182
+ });
183
+
184
+ it('reports the dispatch count against the dispatch loop threshold before escalating', () => {
185
+ const result = resolveNextStepAgentDispatchRepetition({
186
+ agentFieldValue: 'analyst',
187
+ nextStepAgent: 'reviewer',
188
+ comments: [report('reviewer'), report('analyst'), report('reviewer')],
189
+ isTrustedAuthor: trustAll,
190
+ thresholdForAutoReject: 99,
191
+ thresholdForDispatchLoop: 3,
192
+ });
193
+
194
+ expect(result.type).toBe('dispatchAgain');
195
+ expect(result.type === 'dispatchAgain' ? result.comment : '').toContain(
196
+ '(2/3)',
197
+ );
198
+ });
199
+
200
+ it('returns notRepeated for a chain of distinct agents', () => {
201
+ expect(
202
+ resolveNextStepAgentDispatchRepetition({
203
+ agentFieldValue: 'analyst',
204
+ nextStepAgent: 'developer',
205
+ comments: [
206
+ report('analyst'),
207
+ report('reviewer'),
208
+ report('developer'),
209
+ ],
210
+ isTrustedAuthor: trustAll,
211
+ thresholdForAutoReject: 3,
212
+ thresholdForDispatchLoop: 3,
213
+ }),
214
+ ).toEqual({ type: 'notRepeated' });
215
+ });
80
216
 
81
- it('escalates once the repetition count reaches the auto reject threshold', () => {
82
- const repeated = {
83
- author: 'bot',
84
- content: `${NEXT_STEP_AGENT_DISPATCH_REPEATED_MESSAGE_HEAD} accounting`,
85
- };
217
+ it('restarts counting after a human comment', () => {
218
+ const result = resolveNextStepAgentDispatchRepetition({
219
+ agentFieldValue: 'analyst',
220
+ nextStepAgent: 'reviewer',
221
+ comments: [
222
+ report('reviewer'),
223
+ report('analyst'),
224
+ humanComment(),
225
+ report('reviewer'),
226
+ report('analyst'),
227
+ report('reviewer'),
228
+ ],
229
+ isTrustedAuthor: trustAll,
230
+ thresholdForAutoReject: 99,
231
+ thresholdForDispatchLoop: 3,
232
+ });
86
233
 
87
- const result = resolveNextStepAgentDispatchRepetition({
88
- agentFieldValue: 'accounting',
89
- nextStepAgent: 'accounting',
90
- commentsAfterLastAgentReport: [repeated, repeated],
91
- isTrustedAuthor: trustAll,
92
- thresholdForAutoReject: 3,
234
+ expect(result.type).toBe('dispatchAgain');
235
+ expect(result.type === 'dispatchAgain' ? result.comment : '').toContain(
236
+ '(2/3)',
237
+ );
93
238
  });
94
239
 
95
- expect(result.type).toBe('escalateToFailedPreparation');
240
+ it('treats a comment from an untrusted author as human input that restarts counting', () => {
241
+ const result = resolveNextStepAgentDispatchRepetition({
242
+ agentFieldValue: 'analyst',
243
+ nextStepAgent: 'reviewer',
244
+ comments: [
245
+ report('reviewer', 'bot'),
246
+ report('analyst', 'bot'),
247
+ { author: 'stranger', content: 'A drive-by remark.' },
248
+ report('reviewer', 'bot'),
249
+ report('analyst', 'bot'),
250
+ report('reviewer', 'bot'),
251
+ ],
252
+ isTrustedAuthor: (author: string): boolean => author === 'bot',
253
+ thresholdForAutoReject: 99,
254
+ thresholdForDispatchLoop: 3,
255
+ });
256
+
257
+ expect(result.type).toBe('dispatchAgain');
258
+ });
259
+
260
+ it('does not restart counting on its own repetition comment', () => {
261
+ const result = resolveNextStepAgentDispatchRepetition({
262
+ agentFieldValue: 'analyst',
263
+ nextStepAgent: 'reviewer',
264
+ comments: [
265
+ report('reviewer'),
266
+ report('analyst'),
267
+ report('reviewer'),
268
+ repetitionComment('reviewer'),
269
+ report('analyst'),
270
+ report('reviewer'),
271
+ ],
272
+ isTrustedAuthor: trustAll,
273
+ thresholdForAutoReject: 99,
274
+ thresholdForDispatchLoop: 3,
275
+ });
276
+
277
+ expect(result.type).toBe('escalateToFailedPreparation');
278
+ });
279
+
280
+ it('does not restart counting on an auto status check comment', () => {
281
+ const result = resolveNextStepAgentDispatchRepetition({
282
+ agentFieldValue: 'analyst',
283
+ nextStepAgent: 'reviewer',
284
+ comments: [
285
+ report('reviewer'),
286
+ report('analyst'),
287
+ {
288
+ author: 'bot',
289
+ content: `${AUTO_STATUS_CHECK_MESSAGE_HEAD} PULL_REQUEST_NOT_FOUND`,
290
+ },
291
+ report('reviewer'),
292
+ report('analyst'),
293
+ report('reviewer'),
294
+ ],
295
+ isTrustedAuthor: trustAll,
296
+ thresholdForAutoReject: 99,
297
+ thresholdForDispatchLoop: 3,
298
+ });
299
+
300
+ expect(result.type).toBe('escalateToFailedPreparation');
301
+ });
302
+
303
+ it('matches the declared agent across reports ignoring case, spaces and hyphens', () => {
304
+ const result = resolveNextStepAgentDispatchRepetition({
305
+ agentFieldValue: 'developer',
306
+ nextStepAgent: 'pr-reviewer',
307
+ comments: [
308
+ report('PR Reviewer'),
309
+ report('developer'),
310
+ report('pr-reviewer'),
311
+ ],
312
+ isTrustedAuthor: trustAll,
313
+ thresholdForAutoReject: 99,
314
+ thresholdForDispatchLoop: 2,
315
+ });
316
+
317
+ expect(result.type).toBe('escalateToFailedPreparation');
318
+ });
319
+
320
+ it('ignores reports that declare no next step agent', () => {
321
+ expect(
322
+ resolveNextStepAgentDispatchRepetition({
323
+ agentFieldValue: 'analyst',
324
+ nextStepAgent: 'reviewer',
325
+ comments: [
326
+ reportWithoutRouting(),
327
+ reportWithoutRouting(),
328
+ report('reviewer'),
329
+ ],
330
+ isTrustedAuthor: trustAll,
331
+ thresholdForAutoReject: 99,
332
+ thresholdForDispatchLoop: 3,
333
+ }),
334
+ ).toEqual({ type: 'notRepeated' });
335
+ });
96
336
  });
97
337
  });
@@ -1,38 +1,98 @@
1
1
  import { normalizeProjectFieldName } from '../entities/ProjectFieldName';
2
+ import { extractNextStepAgent } from './extractNextStepAgent';
3
+ import { findLastAgentReport } from './findLastAgentReport';
4
+ import { isAgentReportBody } from './isAgentReportBody';
5
+ import { isHumanComment } from './isHumanComment';
6
+ import { NEXT_STEP_AGENT_DISPATCH_REPEATED_MESSAGE_HEAD } from './nextStepAgentDispatchRepeatedMessage';
2
7
 
3
- export const NEXT_STEP_AGENT_DISPATCH_REPEATED_MESSAGE_HEAD =
4
- 'Next step agent dispatch repeated:';
8
+ export { NEXT_STEP_AGENT_DISPATCH_REPEATED_MESSAGE_HEAD };
9
+
10
+ export const DEFAULT_THRESHOLD_FOR_DISPATCH_LOOP = 6;
5
11
 
6
12
  export type NextStepAgentDispatchRepetition =
7
13
  | { type: 'notRepeated' }
8
14
  | { type: 'dispatchAgain'; comment: string }
9
15
  | { type: 'escalateToFailedPreparation'; comment: string };
10
16
 
11
- export const resolveNextStepAgentDispatchRepetition = <
17
+ const countSilentRedispatches = <
12
18
  CommentLike extends { author: string; content: string },
13
19
  >(params: {
14
20
  agentFieldValue: string | null;
15
21
  nextStepAgent: string;
16
- commentsAfterLastAgentReport: CommentLike[];
22
+ comments: CommentLike[];
17
23
  isTrustedAuthor: (author: string) => boolean;
18
- thresholdForAutoReject: number;
19
- }): NextStepAgentDispatchRepetition => {
24
+ }): number | null => {
20
25
  if (
21
26
  params.agentFieldValue === null ||
22
27
  normalizeProjectFieldName(params.agentFieldValue) !==
23
28
  normalizeProjectFieldName(params.nextStepAgent)
24
29
  ) {
25
- return { type: 'notRepeated' };
30
+ return null;
26
31
  }
27
- const previousRepetitions = params.commentsAfterLastAgentReport.filter(
28
- (comment) =>
29
- params.isTrustedAuthor(comment.author) &&
30
- comment.content.startsWith(
31
- NEXT_STEP_AGENT_DISPATCH_REPEATED_MESSAGE_HEAD,
32
- ),
33
- ).length;
34
- const repetition = previousRepetitions + 1;
35
- if (repetition >= params.thresholdForAutoReject) {
32
+ const lastAgentReport = findLastAgentReport(
33
+ params.comments,
34
+ params.isTrustedAuthor,
35
+ );
36
+ const commentsAfterLastAgentReport = lastAgentReport
37
+ ? params.comments.slice(params.comments.indexOf(lastAgentReport) + 1)
38
+ : [];
39
+ return (
40
+ commentsAfterLastAgentReport.filter(
41
+ (comment) =>
42
+ params.isTrustedAuthor(comment.author) &&
43
+ comment.content.startsWith(
44
+ NEXT_STEP_AGENT_DISPATCH_REPEATED_MESSAGE_HEAD,
45
+ ),
46
+ ).length + 1
47
+ );
48
+ };
49
+
50
+ const countDispatchesInCurrentCycle = <
51
+ CommentLike extends { author: string; content: string },
52
+ >(params: {
53
+ nextStepAgent: string;
54
+ comments: CommentLike[];
55
+ isTrustedAuthor: (author: string) => boolean;
56
+ }): number => {
57
+ const lastHumanCommentIndex = params.comments.reduce(
58
+ (found, comment, index) =>
59
+ isHumanComment(comment, params.isTrustedAuthor) ? index : found,
60
+ -1,
61
+ );
62
+ const reportsInCurrentCycle = params.comments
63
+ .slice(lastHumanCommentIndex + 1)
64
+ .filter(
65
+ (comment) =>
66
+ params.isTrustedAuthor(comment.author) &&
67
+ isAgentReportBody(comment.content),
68
+ );
69
+ return (
70
+ reportsInCurrentCycle.slice(0, -1).filter((comment) => {
71
+ const declared = extractNextStepAgent(comment.content);
72
+ return (
73
+ declared !== null &&
74
+ normalizeProjectFieldName(declared) ===
75
+ normalizeProjectFieldName(params.nextStepAgent)
76
+ );
77
+ }).length + 1
78
+ );
79
+ };
80
+
81
+ export const resolveNextStepAgentDispatchRepetition = <
82
+ CommentLike extends { author: string; content: string },
83
+ >(params: {
84
+ agentFieldValue: string | null;
85
+ nextStepAgent: string;
86
+ comments: CommentLike[];
87
+ isTrustedAuthor: (author: string) => boolean;
88
+ thresholdForAutoReject: number;
89
+ thresholdForDispatchLoop: number;
90
+ }): NextStepAgentDispatchRepetition => {
91
+ const silentRedispatches = countSilentRedispatches(params);
92
+ if (
93
+ silentRedispatches !== null &&
94
+ silentRedispatches >= params.thresholdForAutoReject
95
+ ) {
36
96
  return {
37
97
  type: 'escalateToFailedPreparation',
38
98
  comment: `${NEXT_STEP_AGENT_DISPATCH_REPEATED_MESSAGE_HEAD} ${params.nextStepAgent}
@@ -40,10 +100,34 @@ export const resolveNextStepAgentDispatchRepetition = <
40
100
  Failed to receive a report from the dispatched agent for ${params.thresholdForAutoReject} times`,
41
101
  };
42
102
  }
43
- return {
44
- type: 'dispatchAgain',
103
+ const dispatchesInCycle = countDispatchesInCurrentCycle(params);
104
+ if (dispatchesInCycle >= params.thresholdForDispatchLoop) {
105
+ return {
106
+ type: 'escalateToFailedPreparation',
107
+ comment: `${NEXT_STEP_AGENT_DISPATCH_REPEATED_MESSAGE_HEAD} ${params.nextStepAgent}
108
+
109
+ This agent has been dispatched ${params.thresholdForDispatchLoop} times since the last human comment on this issue and the task has not moved past it, so the issue is escalated for a decision instead of being dispatched again.`,
110
+ };
111
+ }
112
+ const silentRedispatchMessage = {
113
+ type: 'dispatchAgain' as const,
45
114
  comment: `${NEXT_STEP_AGENT_DISPATCH_REPEATED_MESSAGE_HEAD} ${params.nextStepAgent}
46
115
 
47
- The latest agent report names this agent as the next step and the agent field already holds it, so the previous dispatch to it ended without a report. Dispatching it again (${repetition}/${params.thresholdForAutoReject}).`,
116
+ The latest agent report names this agent as the next step and the agent field already holds it, so the previous dispatch to it ended without a report. Dispatching it again (${silentRedispatches}/${params.thresholdForAutoReject}).`,
48
117
  };
118
+ if (silentRedispatches !== null && silentRedispatches > 1) {
119
+ return silentRedispatchMessage;
120
+ }
121
+ if (dispatchesInCycle > 1) {
122
+ return {
123
+ type: 'dispatchAgain',
124
+ comment: `${NEXT_STEP_AGENT_DISPATCH_REPEATED_MESSAGE_HEAD} ${params.nextStepAgent}
125
+
126
+ The latest agent report names this agent as the next step and it has already been dispatched on this issue since the last human comment. Dispatching it again (${dispatchesInCycle}/${params.thresholdForDispatchLoop}).`,
127
+ };
128
+ }
129
+ if (silentRedispatches !== null) {
130
+ return silentRedispatchMessage;
131
+ }
132
+ return { type: 'notRepeated' };
49
133
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/cli/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,wBAAwB,GACzB,MAAM,iBAAiB,CAAC;AAmMzB,eAAO,MAAM,OAAO,SAAgB,CAAC;AA2iCrC,eAAO,MAAM,uBAAuB,GAAI,OAAO,OAAO,KAAG,IAGxD,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,MAAM,MAAM,EAAE,EACd,kBAAkB,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,KACzC,OAAO,CAAC,IAAI,CAMd,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/cli/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,wBAAwB,GACzB,MAAM,iBAAiB,CAAC;AAuNzB,eAAO,MAAM,OAAO,SAAgB,CAAC;AA8iCrC,eAAO,MAAM,uBAAuB,GAAI,OAAO,OAAO,KAAG,IAGxD,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,MAAM,MAAM,EAAE,EACd,kBAAkB,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,KACzC,OAAO,CAAC,IAAI,CAMd,CAAC"}
@@ -11,6 +11,7 @@ export type ConfigFile = {
11
11
  allowedIssueAuthors?: string;
12
12
  autoAssignManagerAuthors?: string;
13
13
  thresholdForAutoReject?: number;
14
+ thresholdForDispatchLoop?: number;
14
15
  workflowBlockerResolvedWebhookUrl?: string;
15
16
  projectName?: string;
16
17
  preparationProcessCheckCommand?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"projectConfig.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/cli/projectConfig.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,UAAU,GAAG;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,iCAAiC,CAAC,EAAE,MAAM,CAAC;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,gCAAgC,CAAC,EAAE,MAAM,CAAC;IAC1C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,6BAA6B,CAAC,EAAE,MAAM,EAAE,CAAC;IACzC,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAsDF,eAAO,MAAM,QAAQ,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CACH,CAAC;AAgDvE,eAAO,MAAM,cAAc,GAAI,gBAAgB,MAAM,KAAG,UA0EvD,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,QAAQ,MAAM,EACd,aAAa,MAAM,KAClB,UA8EF,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,YAAY,UAAU,EACtB,cAAc,UAAU,EACxB,iBAAiB,UAAU,KAC1B,UA4FD,CAAC;AAkBH,eAAO,MAAM,kBAAkB,GAC7B,YAAY,MAAM,EAClB,OAAO,MAAM,KACZ,OAAO,CAAC,MAAM,GAAG,IAAI,CAoDvB,CAAC"}
1
+ {"version":3,"file":"projectConfig.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/cli/projectConfig.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,UAAU,GAAG;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,iCAAiC,CAAC,EAAE,MAAM,CAAC;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,gCAAgC,CAAC,EAAE,MAAM,CAAC;IAC1C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,6BAA6B,CAAC,EAAE,MAAM,EAAE,CAAC;IACzC,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAsDF,eAAO,MAAM,QAAQ,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CACH,CAAC;AAgDvE,eAAO,MAAM,cAAc,GAAI,gBAAgB,MAAM,KAAG,UA0EvD,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,QAAQ,MAAM,EACd,aAAa,MAAM,KAClB,UA8EF,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,YAAY,UAAU,EACtB,cAAc,UAAU,EACxB,iBAAiB,UAAU,KAC1B,UA4FD,CAAC;AAkBH,eAAO,MAAM,kBAAkB,GAC7B,YAAY,MAAM,EAClB,OAAO,MAAM,KACZ,OAAO,CAAC,MAAM,GAAG,IAAI,CAoDvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"HandleScheduledEventUseCaseHandler.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.ts"],"names":[],"mappings":"AAiDA,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AA0D3D,qBAAa,kCAAkC;IAC7C,MAAM,GACJ,gBAAgB,MAAM,EACtB,UAAU,OAAO,EACjB,6BAA4B,MAAM,EAAE,GAAG,IAAW,KACjD,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,CAuzBP;CACH"}
1
+ {"version":3,"file":"HandleScheduledEventUseCaseHandler.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.ts"],"names":[],"mappings":"AAiDA,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AA0D3D,qBAAa,kCAAkC;IAC7C,MAAM,GACJ,gBAAgB,MAAM,EACtB,UAAU,OAAO,EACjB,6BAA4B,MAAM,EAAE,GAAG,IAAW,KACjD,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,CAyzBP;CACH"}
@@ -106,6 +106,7 @@ export declare class HandleScheduledEventUseCase {
106
106
  labelsAsLlmAgentName?: string[] | null;
107
107
  } | null;
108
108
  thresholdForAutoReject?: number;
109
+ thresholdForDispatchLoop?: number;
109
110
  createTaskFromStoryBodyCheckboxEnabled?: boolean;
110
111
  queryToAddProjectEnabled?: boolean;
111
112
  queryToAddProject?: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"HandleScheduledEventUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/HandleScheduledEventUseCase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HandleScheduledEventUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/HandleScheduledEventUseCase.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,7 @@ export declare class NotifyFinishedIssuePreparationUseCase {
22
22
  projectUrl: string;
23
23
  issueUrl: string;
24
24
  thresholdForAutoReject: number;
25
+ thresholdForDispatchLoop?: number;
25
26
  workflowBlockerResolvedWebhookUrl: string | null;
26
27
  allowedIssueAuthors?: string[] | null;
27
28
  labelsAsLlmAgentName?: string[] | null;
@@ -1 +1 @@
1
- {"version":3,"file":"NotifyFinishedIssuePreparationUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/NotifyFinishedIssuePreparationUseCase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NotifyFinishedIssuePreparationUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/NotifyFinishedIssuePreparationUseCase.ts"],"names":[],"mappings":"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"}