github-issue-tower-defence-management 1.148.24 → 1.148.25

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.
@@ -268,6 +268,114 @@ describe('ApiV3CheerioRestIssueRepository', () => {
268
268
  });
269
269
  });
270
270
 
271
+ describe('get', () => {
272
+ it('reads the single project item scoped to the given project without consulting the getAllIssues memo', async () => {
273
+ const {
274
+ repository,
275
+ graphqlProjectItemRepository,
276
+ localStorageCacheRepository,
277
+ projectRepository,
278
+ dateRepository,
279
+ } = createApiV3CheerioRestIssueRepository();
280
+ const project = buildTestProject('test-project-id');
281
+ dateRepository.now.mockResolvedValue(new Date('2026-07-07T00:00:00Z'));
282
+ localStorageCacheRepository.getSingle.mockResolvedValue(null);
283
+ projectRepository.getProject.mockResolvedValue(project);
284
+ graphqlProjectItemRepository.fetchProjectItems.mockResolvedValue([]);
285
+ localStorageCacheRepository.setSingle.mockResolvedValue();
286
+ graphqlProjectItemRepository.fetchProjectItemByUrl.mockResolvedValue(
287
+ buildProjectItem('https://github.com/o/r/issues/1', 'live title'),
288
+ );
289
+
290
+ await repository.getAllIssues('test-project-id');
291
+ const issue = await repository.get(
292
+ 'https://github.com/o/r/issues/1',
293
+ project,
294
+ );
295
+
296
+ expect(issue?.title).toBe('live title');
297
+ expect(
298
+ graphqlProjectItemRepository.fetchProjectItemByUrl.mock.calls,
299
+ ).toEqual([['https://github.com/o/r/issues/1', 'test-project-id']]);
300
+ });
301
+
302
+ const issueUrlOnTwoProjects = 'https://github.com/o/r/issues/1';
303
+
304
+ const buildProjectScopedItem = (
305
+ itemId: string,
306
+ status: string,
307
+ story: string,
308
+ nextActionHour: string,
309
+ ): ProjectItem => ({
310
+ ...buildProjectItem(issueUrlOnTwoProjects, itemId),
311
+ id: itemId,
312
+ customFields: [
313
+ { name: 'Status', value: status },
314
+ { name: 'story', value: story },
315
+ { name: 'nextActionHour', value: nextActionHour },
316
+ ],
317
+ });
318
+
319
+ const itemOnOtherProject = buildProjectScopedItem(
320
+ 'item-on-other-project',
321
+ 'Awaiting Workspace',
322
+ 'other story',
323
+ '9',
324
+ );
325
+ const itemOnRequestedProject = buildProjectScopedItem(
326
+ 'item-on-requested-project',
327
+ 'Preparation',
328
+ 'requested story',
329
+ '17',
330
+ );
331
+
332
+ const arrangeItemsOnTwoProjects = (
333
+ graphqlProjectItemRepository: ReturnType<
334
+ typeof createApiV3CheerioRestIssueRepository
335
+ >['graphqlProjectItemRepository'],
336
+ ): void => {
337
+ const itemsByProjectId = new Map<string, ProjectItem>([
338
+ ['other-project-id', itemOnOtherProject],
339
+ ['requested-project-id', itemOnRequestedProject],
340
+ ]);
341
+ graphqlProjectItemRepository.fetchProjectItemByUrl.mockImplementation(
342
+ async (_issueUrl: string, projectId?: string) =>
343
+ projectId === undefined
344
+ ? Array.from(itemsByProjectId.values())[0]
345
+ : (itemsByProjectId.get(projectId) ?? null),
346
+ );
347
+ };
348
+
349
+ it('returns the project item of the requested project when the issue is on two projects', async () => {
350
+ const { repository, graphqlProjectItemRepository } =
351
+ createApiV3CheerioRestIssueRepository();
352
+ arrangeItemsOnTwoProjects(graphqlProjectItemRepository);
353
+
354
+ const issue = await repository.get(
355
+ issueUrlOnTwoProjects,
356
+ buildTestProject('requested-project-id'),
357
+ );
358
+
359
+ expect(issue?.itemId).toBe('item-on-requested-project');
360
+ expect(issue?.status).toBe('Preparation');
361
+ expect(issue?.story).toBe('requested story');
362
+ expect(issue?.nextActionHour).toBe(17);
363
+ });
364
+
365
+ it('returns null when the issue has project items only on other projects', async () => {
366
+ const { repository, graphqlProjectItemRepository } =
367
+ createApiV3CheerioRestIssueRepository();
368
+ arrangeItemsOnTwoProjects(graphqlProjectItemRepository);
369
+
370
+ const issue = await repository.get(
371
+ issueUrlOnTwoProjects,
372
+ buildTestProject('project-without-any-item'),
373
+ );
374
+
375
+ expect(issue).toBeNull();
376
+ });
377
+ });
378
+
271
379
  describe('getAllIssues incremental fetch', () => {
272
380
  it('light-scans the lastFetchedAt UTC day with no previous-day overlap, detail-fetches changed items by id, and upserts by url', async () => {
273
381
  const {
@@ -911,8 +911,16 @@ export class ApiV3CheerioRestIssueRepository
911
911
  searchIssues = (query: string): Promise<SearchedIssue[]> => {
912
912
  return this.restIssueRepository.searchIssues(query);
913
913
  };
914
- get = async (_issueUrl: string, _project: Project): Promise<Issue | null> => {
915
- return this.getIssueByUrl(_issueUrl);
914
+ get = async (issueUrl: string, project: Project): Promise<Issue | null> => {
915
+ const projectItem =
916
+ await this.graphqlProjectItemRepository.fetchProjectItemByUrl(
917
+ issueUrl,
918
+ project.id,
919
+ );
920
+ if (!projectItem) {
921
+ return null;
922
+ }
923
+ return this.convertProjectItemToIssue(projectItem);
916
924
  };
917
925
  update = async (issue: Issue, _project: Project): Promise<void> => {
918
926
  await this.updateIssue(issue);
@@ -281,6 +281,34 @@ describe('NotifyFinishedIssuePreparationUseCase', () => {
281
281
  expect(mockIssueRepository.updateStatus).not.toHaveBeenCalled();
282
282
  });
283
283
 
284
+ it('should read the issue scoped to the project it was given and throw IssueNotFoundError when the issue has no item on that project', async () => {
285
+ const issueUrlOnAnotherProjectOnly =
286
+ 'https://github.com/user/repo/issues/7';
287
+ mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
288
+ mockIssueRepository.get.mockImplementation(
289
+ async (issueUrl: string, project: Project) =>
290
+ project.id === mockProject.id
291
+ ? null
292
+ : createMockIssue({ url: issueUrl, status: 'Preparation' }),
293
+ );
294
+
295
+ await expect(
296
+ useCase.run({
297
+ projectUrl: 'https://github.com/users/user/projects/1',
298
+ issueUrl: issueUrlOnAnotherProjectOnly,
299
+ thresholdForAutoReject: 3,
300
+ workflowBlockerResolvedWebhookUrl: null,
301
+ allowedIssueAuthors: null,
302
+ }),
303
+ ).rejects.toThrow(`Issue not found: ${issueUrlOnAnotherProjectOnly}`);
304
+ expect(mockIssueRepository.get.mock.calls).toEqual([
305
+ [issueUrlOnAnotherProjectOnly, mockProject],
306
+ ]);
307
+ expect(mockIssueRepository.update).not.toHaveBeenCalled();
308
+ expect(mockIssueRepository.updateStatus).not.toHaveBeenCalled();
309
+ expect(mockIssueCommentRepository.createComment).not.toHaveBeenCalled();
310
+ });
311
+
284
312
  it('should process a pull request URL the same as an issue URL when the project item resolves', async () => {
285
313
  const prIssue = createMockIssue({
286
314
  url: 'https://github.com/user/repo/pull/77',
@@ -112,6 +112,7 @@ describe('RevertOrphanedPreparationUseCase', () => {
112
112
  | 'updateStatus'
113
113
  | 'findRelatedOpenPRs'
114
114
  | 'getOpenPullRequest'
115
+ | 'get'
115
116
  >
116
117
  >;
117
118
  let mockIssueCommentRepository: Mocked<
@@ -136,6 +137,11 @@ describe('RevertOrphanedPreparationUseCase', () => {
136
137
  updateStatus: jest.fn().mockResolvedValue(undefined),
137
138
  findRelatedOpenPRs: jest.fn().mockResolvedValue([]),
138
139
  getOpenPullRequest: jest.fn().mockResolvedValue(null),
140
+ get: jest
141
+ .fn()
142
+ .mockImplementation(async (issueUrl: string) =>
143
+ createMockIssue({ url: issueUrl, status: 'Preparation' }),
144
+ ),
139
145
  };
140
146
  mockIssueCommentRepository = {
141
147
  getCommentsFromIssue: jest.fn().mockResolvedValue([]),
@@ -1424,4 +1430,210 @@ describe('RevertOrphanedPreparationUseCase', () => {
1424
1430
  'Auto Status Check: REJECTED\n- ORPHANED_PREPARATION',
1425
1431
  );
1426
1432
  });
1433
+
1434
+ describe('live status re-read before writing', () => {
1435
+ const arrangeSnapshotSaysPreparation = (
1436
+ liveStatus: string | null,
1437
+ comments: { author: string; content: string; createdAt: Date }[],
1438
+ ): Issue => {
1439
+ const snapshotIssue = createMockIssue({
1440
+ url: 'https://github.com/user/repo/issues/10',
1441
+ status: 'Preparation',
1442
+ });
1443
+ mockIssueRepository.getAllIssues.mockResolvedValue({
1444
+ project: mockProject,
1445
+ issues: [snapshotIssue],
1446
+ cacheUsed: false,
1447
+ });
1448
+ mockIssueRepository.get.mockResolvedValue(
1449
+ liveStatus === null
1450
+ ? null
1451
+ : createMockIssue({
1452
+ url: snapshotIssue.url,
1453
+ status: liveStatus,
1454
+ }),
1455
+ );
1456
+ mockLocalCommandRunner.runCommand.mockResolvedValue({
1457
+ stdout: '',
1458
+ stderr: '',
1459
+ exitCode: 1,
1460
+ });
1461
+ mockIssueCommentRepository.getCommentsFromIssue.mockResolvedValue(
1462
+ comments,
1463
+ );
1464
+ return snapshotIssue;
1465
+ };
1466
+
1467
+ it('does not write Failed Preparation when the live status has already moved to Awaiting Workspace', async () => {
1468
+ arrangeSnapshotSaysPreparation('Awaiting Workspace', [
1469
+ {
1470
+ author: 'bot',
1471
+ content: 'Auto Status Check: REJECTED\n- ORPHANED_PREPARATION',
1472
+ createdAt: new Date(),
1473
+ },
1474
+ {
1475
+ author: 'bot',
1476
+ content: 'Auto Status Check: REJECTED\n- ORPHANED_PREPARATION',
1477
+ createdAt: new Date(),
1478
+ },
1479
+ {
1480
+ author: 'bot',
1481
+ content:
1482
+ 'Issue has next action date or hour set: nextActionDate=null, nextActionHour=null',
1483
+ createdAt: new Date(),
1484
+ },
1485
+ ]);
1486
+
1487
+ await useCase.run({
1488
+ projectUrl: 'https://github.com/user/repo',
1489
+ preparationProcessCheckCommand: 'pgrep -fa "claude-agent.*{URL}"',
1490
+ thresholdForAutoReject: 3,
1491
+ });
1492
+
1493
+ expect(
1494
+ mockIssueRepository.updateStatus.mock.calls.map((call) => call[2]),
1495
+ ).toEqual([]);
1496
+ expect(mockIssueCommentRepository.createComment.mock.calls).toHaveLength(
1497
+ 0,
1498
+ );
1499
+ expect(mockIssueRepository.get.mock.calls).toHaveLength(1);
1500
+ expect(mockIssueRepository.get.mock.calls[0][0]).toBe(
1501
+ 'https://github.com/user/repo/issues/10',
1502
+ );
1503
+ expect(mockIssueRepository.get.mock.calls[0][1]).toBe(mockProject);
1504
+ });
1505
+
1506
+ it('does not write Awaiting Quality Check when the live status has already moved to Awaiting Workspace', async () => {
1507
+ arrangeSnapshotSaysPreparation('Awaiting Workspace', [
1508
+ {
1509
+ author: 'bot',
1510
+ content: 'From: :robot: agent',
1511
+ createdAt: new Date(),
1512
+ },
1513
+ ]);
1514
+ mockIssueRepository.findRelatedOpenPRs.mockResolvedValue([
1515
+ createPassingPr(),
1516
+ ]);
1517
+
1518
+ await useCase.run({
1519
+ projectUrl: 'https://github.com/user/repo',
1520
+ preparationProcessCheckCommand: 'pgrep -fa "claude-agent.*{URL}"',
1521
+ thresholdForAutoReject: 3,
1522
+ });
1523
+
1524
+ expect(mockIssueRepository.updateStatus.mock.calls).toHaveLength(0);
1525
+ expect(mockIssueCommentRepository.createComment.mock.calls).toHaveLength(
1526
+ 0,
1527
+ );
1528
+ });
1529
+
1530
+ it('does not write any status when the live read finds no issue', async () => {
1531
+ arrangeSnapshotSaysPreparation(null, []);
1532
+
1533
+ await useCase.run({
1534
+ projectUrl: 'https://github.com/user/repo',
1535
+ preparationProcessCheckCommand: 'pgrep -fa "claude-agent.*{URL}"',
1536
+ thresholdForAutoReject: 3,
1537
+ });
1538
+
1539
+ expect(mockIssueRepository.updateStatus.mock.calls).toHaveLength(0);
1540
+ expect(mockIssueCommentRepository.createComment.mock.calls).toHaveLength(
1541
+ 0,
1542
+ );
1543
+ });
1544
+
1545
+ it('still writes Failed Preparation when the live status is confirmed as Preparation', async () => {
1546
+ const snapshotIssue = arrangeSnapshotSaysPreparation('Preparation', [
1547
+ {
1548
+ author: 'bot',
1549
+ content: 'Auto Status Check: REJECTED\n- ORPHANED_PREPARATION',
1550
+ createdAt: new Date(),
1551
+ },
1552
+ {
1553
+ author: 'bot',
1554
+ content: 'Auto Status Check: REJECTED\n- ORPHANED_PREPARATION',
1555
+ createdAt: new Date(),
1556
+ },
1557
+ ]);
1558
+
1559
+ await useCase.run({
1560
+ projectUrl: 'https://github.com/user/repo',
1561
+ preparationProcessCheckCommand: 'pgrep -fa "claude-agent.*{URL}"',
1562
+ thresholdForAutoReject: 3,
1563
+ });
1564
+
1565
+ expect(mockIssueRepository.updateStatus.mock.calls).toHaveLength(1);
1566
+ expect(mockIssueRepository.updateStatus.mock.calls[0][1]).toBe(
1567
+ snapshotIssue,
1568
+ );
1569
+ expect(mockIssueRepository.updateStatus.mock.calls[0][2]).toBe('5');
1570
+ });
1571
+
1572
+ it('logs the error, skips the candidate and keeps processing the next candidate when the live read rejects', async () => {
1573
+ const failingIssue = createMockIssue({
1574
+ url: 'https://github.com/user/repo/issues/10',
1575
+ status: 'Preparation',
1576
+ });
1577
+ const followingIssue = createMockIssue({
1578
+ url: 'https://github.com/user/repo/issues/11',
1579
+ number: 11,
1580
+ itemId: 'item-11',
1581
+ status: 'Preparation',
1582
+ });
1583
+ mockIssueRepository.getAllIssues.mockResolvedValue({
1584
+ project: mockProject,
1585
+ issues: [failingIssue, followingIssue],
1586
+ cacheUsed: false,
1587
+ });
1588
+ const liveReadError = new Error(
1589
+ 'GitHub GraphQL API returned no data for a single project item read',
1590
+ );
1591
+ mockIssueRepository.get.mockImplementation(async (issueUrl: string) => {
1592
+ if (issueUrl === failingIssue.url) {
1593
+ throw liveReadError;
1594
+ }
1595
+ return createMockIssue({ url: issueUrl, status: 'Preparation' });
1596
+ });
1597
+ mockLocalCommandRunner.runCommand.mockResolvedValue({
1598
+ stdout: '',
1599
+ stderr: '',
1600
+ exitCode: 1,
1601
+ });
1602
+ mockIssueCommentRepository.getCommentsFromIssue.mockResolvedValue([]);
1603
+ const consoleErrorSpy = jest
1604
+ .spyOn(console, 'error')
1605
+ .mockImplementation(() => undefined);
1606
+
1607
+ try {
1608
+ await useCase.run({
1609
+ projectUrl: 'https://github.com/user/repo',
1610
+ preparationProcessCheckCommand: 'pgrep -fa "claude-agent.*{URL}"',
1611
+ thresholdForAutoReject: 3,
1612
+ });
1613
+
1614
+ expect(
1615
+ consoleErrorSpy.mock.calls.filter(
1616
+ (call) =>
1617
+ typeof call[0] === 'string' &&
1618
+ call[0].includes(failingIssue.url) &&
1619
+ call[1] === liveReadError,
1620
+ ),
1621
+ ).toHaveLength(1);
1622
+ } finally {
1623
+ consoleErrorSpy.mockRestore();
1624
+ }
1625
+
1626
+ expect(
1627
+ mockIssueRepository.updateStatus.mock.calls.map((call) => [
1628
+ call[1].url,
1629
+ call[2],
1630
+ ]),
1631
+ ).toEqual([[followingIssue.url, '1']]);
1632
+ expect(
1633
+ mockIssueCommentRepository.createComment.mock.calls.map(
1634
+ (call) => call[0].url,
1635
+ ),
1636
+ ).toEqual([followingIssue.url]);
1637
+ });
1638
+ });
1427
1639
  });
@@ -6,6 +6,7 @@ import { IssueCommentRepository } from './adapter-interfaces/IssueCommentReposit
6
6
  import { ProjectRepository } from './adapter-interfaces/ProjectRepository';
7
7
  import { LocalCommandRunner } from './adapter-interfaces/LocalCommandRunner';
8
8
  import { Issue } from '../entities/Issue';
9
+ import { Project } from '../entities/Project';
9
10
  import { Comment } from '../entities/Comment';
10
11
  import {
11
12
  AWAITING_QUALITY_CHECK_STATUS_NAME,
@@ -39,6 +40,7 @@ export class RevertOrphanedPreparationUseCase {
39
40
  | 'updateStatus'
40
41
  | 'findRelatedOpenPRs'
41
42
  | 'getOpenPullRequest'
43
+ | 'get'
42
44
  >,
43
45
  readonly issueCommentRepository: Pick<
44
46
  IssueCommentRepository,
@@ -103,6 +105,13 @@ export class RevertOrphanedPreparationUseCase {
103
105
  resolveLabelsNotRequiringPullRequest(params),
104
106
  params.allowedIssueAuthors,
105
107
  );
108
+ const isStillInPreparation = await this.isStillInPreparation(
109
+ issue,
110
+ project,
111
+ );
112
+ if (!isStillInPreparation) {
113
+ continue;
114
+ }
106
115
  if (outcome === 'returnToLabelSelectedAgent') {
107
116
  await this.issueRepository.updateStatus(
108
117
  project,
@@ -174,6 +183,29 @@ export class RevertOrphanedPreparationUseCase {
174
183
  }
175
184
  };
176
185
 
186
+ private isStillInPreparation = async (
187
+ issue: Issue,
188
+ project: Project,
189
+ ): Promise<boolean> => {
190
+ let liveIssue: Issue | null;
191
+ try {
192
+ liveIssue = await this.issueRepository.get(issue.url, project);
193
+ } catch (error) {
194
+ console.error(
195
+ `Failed to re-read the live status before reverting orphaned preparation. issueUrl: ${issue.url}`,
196
+ error,
197
+ );
198
+ return false;
199
+ }
200
+ if (liveIssue === null) {
201
+ console.error(
202
+ `Issue not found while re-reading its live status before reverting orphaned preparation. issueUrl: ${issue.url}`,
203
+ );
204
+ return false;
205
+ }
206
+ return liveIssue.status === PREPARATION_STATUS_NAME;
207
+ };
208
+
177
209
  private evaluateOutcome = async (
178
210
  issue: Issue,
179
211
  labelsNotRequiringPullRequest: string[],
@@ -76,7 +76,7 @@ export declare class ApiV3CheerioRestIssueRepository extends BaseGitHubRepositor
76
76
  removeLabel: (issue: Issue, label: string) => Promise<void>;
77
77
  updateAssigneeList: (issue: Pick<Issue, "org" | "repo" | "number">, assigneeList: Member["name"][]) => Promise<void>;
78
78
  searchIssues: (query: string) => Promise<SearchedIssue[]>;
79
- get: (_issueUrl: string, _project: Project) => Promise<Issue | null>;
79
+ get: (issueUrl: string, project: Project) => Promise<Issue | null>;
80
80
  update: (issue: Issue, _project: Project) => Promise<void>;
81
81
  private parseIssueUrl;
82
82
  private computePrStatus;
@@ -1 +1 @@
1
- {"version":3,"file":"ApiV3CheerioRestIssueRepository.d.ts","sourceRoot":"","sources":["../../../../src/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ApiV3CheerioRestIssueRepository.d.ts","sourceRoot":"","sources":["../../../../src/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.ts"],"names":[],"mappings":"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"}
@@ -4,10 +4,10 @@ import { ProjectRepository } from './adapter-interfaces/ProjectRepository';
4
4
  import { LocalCommandRunner } from './adapter-interfaces/LocalCommandRunner';
5
5
  export declare class RevertOrphanedPreparationUseCase {
6
6
  readonly projectRepository: Pick<ProjectRepository, 'findProjectIdByUrl' | 'getProject'>;
7
- readonly issueRepository: Pick<IssueRepository, 'getAllIssues' | 'updateStatus' | 'findRelatedOpenPRs' | 'getOpenPullRequest'>;
7
+ readonly issueRepository: Pick<IssueRepository, 'getAllIssues' | 'updateStatus' | 'findRelatedOpenPRs' | 'getOpenPullRequest' | 'get'>;
8
8
  readonly issueCommentRepository: Pick<IssueCommentRepository, 'getCommentsFromIssue' | 'createComment'>;
9
9
  readonly localCommandRunner: LocalCommandRunner;
10
- constructor(projectRepository: Pick<ProjectRepository, 'findProjectIdByUrl' | 'getProject'>, issueRepository: Pick<IssueRepository, 'getAllIssues' | 'updateStatus' | 'findRelatedOpenPRs' | 'getOpenPullRequest'>, issueCommentRepository: Pick<IssueCommentRepository, 'getCommentsFromIssue' | 'createComment'>, localCommandRunner: LocalCommandRunner);
10
+ constructor(projectRepository: Pick<ProjectRepository, 'findProjectIdByUrl' | 'getProject'>, issueRepository: Pick<IssueRepository, 'getAllIssues' | 'updateStatus' | 'findRelatedOpenPRs' | 'getOpenPullRequest' | 'get'>, issueCommentRepository: Pick<IssueCommentRepository, 'getCommentsFromIssue' | 'createComment'>, localCommandRunner: LocalCommandRunner);
11
11
  run: (params: {
12
12
  projectUrl: string;
13
13
  preparationProcessCheckCommand: string;
@@ -19,6 +19,7 @@ export declare class RevertOrphanedPreparationUseCase {
19
19
  labelsNotRequiringPullRequest?: string[] | null;
20
20
  allowedIssueAuthors?: string[] | null;
21
21
  }) => Promise<void>;
22
+ private isStillInPreparation;
22
23
  private evaluateOutcome;
23
24
  private resolveOpenPrsForPrItem;
24
25
  private reportBodyHasNextStep;
@@ -1 +1 @@
1
- {"version":3,"file":"RevertOrphanedPreparationUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/RevertOrphanedPreparationUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAEhB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAuB7E,qBAAa,gCAAgC;IAEzC,QAAQ,CAAC,iBAAiB,EAAE,IAAI,CAC9B,iBAAiB,EACjB,oBAAoB,GAAG,YAAY,CACpC;IACD,QAAQ,CAAC,eAAe,EAAE,IAAI,CAC5B,eAAe,EACb,cAAc,GACd,cAAc,GACd,oBAAoB,GACpB,oBAAoB,CACvB;IACD,QAAQ,CAAC,sBAAsB,EAAE,IAAI,CACnC,sBAAsB,EACtB,sBAAsB,GAAG,eAAe,CACzC;IACD,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB;gBAftC,iBAAiB,EAAE,IAAI,CAC9B,iBAAiB,EACjB,oBAAoB,GAAG,YAAY,CACpC,EACQ,eAAe,EAAE,IAAI,CAC5B,eAAe,EACb,cAAc,GACd,cAAc,GACd,oBAAoB,GACpB,oBAAoB,CACvB,EACQ,sBAAsB,EAAE,IAAI,CACnC,sBAAsB,EACtB,sBAAsB,GAAG,eAAe,CACzC,EACQ,kBAAkB,EAAE,kBAAkB;IAGjD,GAAG,GAAU,QAAQ;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,8BAA8B,EAAE,MAAM,CAAC;QACvC,sBAAsB,EAAE,MAAM,CAAC;QAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,0BAA0B,CAAC,EAAE,MAAM,CAAC;QACpC,0BAA0B,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3C,oBAAoB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACvC,6BAA6B,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAChD,mBAAmB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;KACvC,KAAG,OAAO,CAAC,IAAI,CAAC,CAmHf;IAEF,OAAO,CAAC,eAAe,CAwFrB;IAEF,OAAO,CAAC,uBAAuB,CAQ7B;IAEF,OAAO,CAAC,qBAAqB,CAuB3B;IAEF,OAAO,CAAC,eAAe,CA6BrB;IAEF,OAAO,CAAC,YAAY,CA+BlB;CACH"}
1
+ {"version":3,"file":"RevertOrphanedPreparationUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/RevertOrphanedPreparationUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAEhB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAwB7E,qBAAa,gCAAgC;IAEzC,QAAQ,CAAC,iBAAiB,EAAE,IAAI,CAC9B,iBAAiB,EACjB,oBAAoB,GAAG,YAAY,CACpC;IACD,QAAQ,CAAC,eAAe,EAAE,IAAI,CAC5B,eAAe,EACb,cAAc,GACd,cAAc,GACd,oBAAoB,GACpB,oBAAoB,GACpB,KAAK,CACR;IACD,QAAQ,CAAC,sBAAsB,EAAE,IAAI,CACnC,sBAAsB,EACtB,sBAAsB,GAAG,eAAe,CACzC;IACD,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB;gBAhBtC,iBAAiB,EAAE,IAAI,CAC9B,iBAAiB,EACjB,oBAAoB,GAAG,YAAY,CACpC,EACQ,eAAe,EAAE,IAAI,CAC5B,eAAe,EACb,cAAc,GACd,cAAc,GACd,oBAAoB,GACpB,oBAAoB,GACpB,KAAK,CACR,EACQ,sBAAsB,EAAE,IAAI,CACnC,sBAAsB,EACtB,sBAAsB,GAAG,eAAe,CACzC,EACQ,kBAAkB,EAAE,kBAAkB;IAGjD,GAAG,GAAU,QAAQ;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,8BAA8B,EAAE,MAAM,CAAC;QACvC,sBAAsB,EAAE,MAAM,CAAC;QAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,0BAA0B,CAAC,EAAE,MAAM,CAAC;QACpC,0BAA0B,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3C,oBAAoB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACvC,6BAA6B,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAChD,mBAAmB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;KACvC,KAAG,OAAO,CAAC,IAAI,CAAC,CA0Hf;IAEF,OAAO,CAAC,oBAAoB,CAqB1B;IAEF,OAAO,CAAC,eAAe,CAwFrB;IAEF,OAAO,CAAC,uBAAuB,CAQ7B;IAEF,OAAO,CAAC,qBAAqB,CAuB3B;IAEF,OAAO,CAAC,eAAe,CA6BrB;IAEF,OAAO,CAAC,YAAY,CA+BlB;CACH"}